PageSourceSearch

https://app.cal.com/_next/static/chunks/2gx20l7bbjar1.js

js cal.com collected 2026-09-24 07:15:32 UTC 15,996 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,5436864,111914,5867426,e=>{"use strict";let t;e.s(["updateEmbedBookerState",()=>M,"useEmbedNonStylesConfig",()=>T,"useEmbedStyles",()=>L,"useEmbedType",()=>U,"useEmbedUiConfig",()=>P,"useIsBackgroundTransparent",()=>k,"useIsEmbed",()=>R],5436864),e.s(["useBookerEmbedEvents",()=>E,"useSlotsViewOnSmallScreen",()=>C],5867426);var r,n=e.i(5271645),a=e.i(6247167);function o(e){return!!e.isEmbed&&!!e.getEmbedNamespace&&!!e.getEmbedTheme}function s(e,t){let r=new window.CustomEvent(e,{detail:t});window.dispatchEvent(r)}let i=null;function l(e){return setTimeout(e,50)}function d(){return"slotsDone"===window._embedBookerState}t=function(e){if(o(e))return e;let t=new URL(document.URL),r=t.searchParams.get("embed"),n=t.pathname.endsWith("/embed"),a="string"==typeof r?r:e.name.includes("cal-embed=")?e.name.replace(/cal-embed=(.*)/,"$1").trim():n?"":null;if(e.isEmbed=()=>"string"==typeof a,e.getEmbedTheme=()=>e.CalEmbed.embedStore.theme?e.CalEmbed.embedStore.theme:new URL(document.URL).searchParams.get("theme"),e.getEmbedNamespace=()=>a,e.CalEmbed=e.CalEmbed||{},e.CalEmbed.applyCssVars=e=>{let t=[];if(e)for(let[r,n]of Object.entries(e)){for(let[e,a]of(t.push(`.${r} {`),Object.entries(n)))t.push(`--${e}: ${a} !important;`);t.push("}")}let r=document.head.querySelector("#embed-css-vars");if(r){console.warn("Existing embed CSS Vars are being reset"),r.innerText=t.join("\n");return}let n=document.createElement("style");n.id="embed-css-vars",n.innerText=t.join("\n"),document.head.appendChild(n)},!o(e))throw Error("EmbedInitIframe failed to initialize all required embed functions on window");return e}(window),i=new class{namespace;static parseAction(e){if(!e)return null;let[t,r,n]=e.split(":");return"CAL"!==t?null:{ns:r,type:n}}getFullActionName(e){return this.namespace?`CAL:${this.namespace}:${e}`:`CAL::${e}`}fire(e,t){let r=this.getFullActionName(e),n={type:e,namespace:this.namespace,fullType:r,data:t};s(r,n),s(this.getFullActionName("*"),n)}on(e,t){let r=this.getFullActionName(e);window.addEventListener(r,t)}off(e,t){let r=this.getFullActionName(e);window.removeEventListener(r,t)}constructor(e){e=e||"",this.namespace=e}}(t.getEmbedNamespace()),e.s(["embedWindow",0,t,"sdkActionManager",0,i],111914);let c=()=>"true"===new URL(document.URL).searchParams.get("prerender");function u({embedStore:e}){return!!e.providedCorrectHeightToParent&&(!(window._embedBookerState&&new URL(document.URL).searchParams.get("cal.embed.pageType"))||d())}let m=async e=>{let t=new URL(document.URL),r=null,n=t.searchParams.get("cal.queuedFormResponseId");if(!n)return null;if("00000000-0000-0000-0000-000000000000"===n||"true"===t.searchParams.get("cal.isBookingDryRun"))return 0;let{form:a,...o}=e,s=await fetch("/api/routing-forms/queued-response",{method:"POST",body:JSON.stringify({queuedFormResponseId:n,params:o})});if(!s.ok)return null;let i=(await s.json()).data.formResponseId;return i&&(r=i),r};function f(...e){{let r=t?.getEmbedNamespace()??null,n=new URL(document.URL).searchParams,o=window.CalEmbed.__logQueue=window.CalEmbed.__logQueue||[];e.push({ns:r,url:document.URL}),e.unshift("CAL:"),o.push(e),(n.get("debug")||"true"===a.default.env.INTEGRATION_TEST_MODE)&&console.log("Child:",...e)}}var g=((r={})[r.NOT_INITIALIZED=0]="NOT_INITIALIZED",r[r.INITIALIZED=1]="INITIALIZED",r);let h={connectVersion:0,renderState:null,router:{ensureQueryParamsInUrl({toBeThereParams:e,toRemoveParams:t}){let r=!1,{hasChanged:n}=function n(){if(r)return{hasChanged:!1};let a=new URL(document.URL),o=!1;for(let[t,r]of Object.entries(e))(o=!function({param:e,value:t,container:r}){let n=function(e){let t={};if(null===e)return t;for(let[r,n]of e)if(t.hasOwnProperty(r)){let e=t[r];Array.isArray(e)||(e=[e]),e.push(n),t[r]=e}else t[r]=n;return t}(r.entries());if(!r.has(e))return!1;let a=n[e],o=Array.isArray(t)?t:[t];return o.length===a.length&&o.every(e=>a.includes(e))}({param:t,value:r,container:a.searchParams}))&&function({key:e,value:t,url:r}
1){r.searchParams.delete(e),(Array.isArray(t)?t:[t]).forEach(t=>{r.searchParams.append(e,t)})}({key:t,value:r,url:a});return function({keys:e,url:t}){for(let r of e)t.searchParams.delete(r)}({keys:t,url:a}),(o=o||t.length>0)&&window.history.replaceState({},"",a.toString()),l(n),{hasChanged:o}}();return{stopEnsuringQueryParamsInUrl:()=>{r=!0},hasChanged:n}}},state:0,styles:{},nonStyles:{},namespace:null,embedType:void 0,reactStylesStateSetters:{},reactNonStylesStateSetters:{},providedCorrectHeightToParent:!1,windowLoadEventFired:!1,setTheme:void 0,theme:void 0,uiConfig:void 0,setUiConfig:[],viewId:null,pageData:{eventsState:{bookerViewed:{hasFired:!1},bookerReopened:{hasFired:!1},bookerReloaded:{hasFired:!1},bookerReady:{hasFired:!1}},reloadInitiated:!1}};function p(e){return h.pageData.eventsState[e].hasFired}function b(e,t){h.pageData.eventsState[e].hasFired=t}let y={"cal-radius":"radius","cal-radius-sm":"radius-sm","cal-radius-md":"radius-md","cal-radius-lg":"radius-lg","cal-radius-xl":"radius-xl","cal-radius-2xl":"radius-2xl","cal-radius-3xl":"radius-3xl","cal-radius-full":"radius-full","cal-radius-none":"radius-none","cal-spacing-px":"spacing"},S=[{source:"cal-bg",fallbacks:["cal-bg-muted"],targets:["background","card","popover"]},{source:"cal-bg-subtle",fallbacks:["cal-bg-muted"],targets:["muted","secondary"]},{source:"cal-bg-emphasis",targets:["accent"]},{source:"cal-text",fallbacks:["cal-text-emphasis"],targets:["foreground","card-foreground","popover-foreground","secondary-foreground","accent-foreground"]},{source:"cal-text-subtle",targets:["muted-foreground"]},{source:"cal-border-subtle",targets:["border"]},{source:"cal-border",targets:["input"]},{source:"cal-brand",targets:["primary","ring"]},{source:"cal-brand-text",targets:["primary-foreground"]}];e.i(9478618);var w=e.i(6313069);let E=({eventId:e,eventSlug:t,schedule:r})=>{let n=h.viewId;!c()&&n&&((({eventId:e,eventSlug:t,slotsLoaded:r})=>{var n;let a=1===h.viewId,o=h.pageData.reloadInitiated?"bookerReloaded":a?"bookerViewed":"bookerReopened";p(o)||(b(n=o,!0),r?e&&t?i?.fire(n,{eventId:e,eventSlug:t,slotsLoaded:!0}):console.error("BookerViewed event not fired because slotsLoaded is true but eventId or eventSlug are falsy"):i?.fire(n,{eventId:null,eventSlug:null,slotsLoaded:!1}))})({eventId:e,eventSlug:t,slotsLoaded:r.isSuccess}),e&&t&&(({eventId:e,eventSlug:t,slotsLoaded:r})=>{r&&(p("bookerReady")||(i?.fire("bookerReady",{eventId:e,eventSlug:t}),b("bookerReady",!0)))})({eventId:e,eventSlug:t,slotsLoaded:r.isSuccess}))},C=()=>{let e=R(),t=(0,w.default)("(max-width: 768px)"),r=P();return!!e&&!!t&&(r.useSlotsViewOnSmallScreen??!1)},v=["__iframeReady","__dimensionChanged","__connectInitiated","linkPrerendered"];{window.CalEmbed=window?.CalEmbed||{},window.CalEmbed.embedStore=h,window.CalEmbed.sdkActionManager=i;let e=navigator.userAgent.toLowerCase();e.includes("safari")&&!e.includes("chrome")&&f("Safari Detected: Using setTimeout instead of rAF")}let I=e=>e.styles?(h.reactStylesStateSetters[e.elementName]=e.setState,e.setState(h.styles||{}),()=>{delete h.reactStylesStateSetters[e.elementName]}):(h.reactNonStylesStateSetters[e.elementName]=e.setState,e.setState(h.nonStyles||{}),()=>{delete h.reactNonStylesStateSetters[e.elementName]}),P=()=>{let[e,t]=(0,n.useState)(h.uiConfig||{});return h.setUiConfig.push(t),(0,n.useEffect)(()=>()=>{let e=h.setUiConfig.findIndex(e=>e===t);h.setUiConfig.splice(e,1)}),e},L=e=>{let[,t]=(0,n.useState)({});return(0,n.useEffect)(()=>I({elementName:e,setState:t,styles:!0}),[]),(h.styles||{})[e]||{}},T=e=>{let[,t]=(0,n.useState)({});return(0,n.useEffect)(()=>I({elementName:e,setState:t,styles:!1}),[]),(h.nonStyles||{})[e]||{}},k=()=>{let e=!1;return"transparent"===L("body").background&&(e=!0),e},R=()=>{let e=t?.isEmbed()||!1,[r,a]=(0,n.useState)(e);return(0,n.useEffect)(()=>{let e=null!=function(){if(null!=h.namespace)return h.namespace;{let e=t?.getEmbedNamespace()??null;return h.namespace=e,e}}();parent===window||e||f("Looks like you have iframed cal.com but not using Embed Snippet. Directly using an iframe isn't recommended."),a(t?.isEmbed()||!1)},[]),r},U=()=>
1{let[e,t]=(0,n.useState)(null);return(0,n.useEffect)(()=>{t(h.embedType?h.embedType:h.embedType=new URL(document.URL).searchParams.get("embedType"))},[]),e};function N(){"u">typeof document&&document.body&&("visible"!==document.body.style.visibility&&(document.body.style.visibility="visible"),"1"!==document.body.style.opacity&&(document.body.style.opacity="1"),l(()=>{N()}))}async function A({newlyRecordedResponseId:e,toBeThereParams:t,toRemoveParams:r}){let{stopEnsuringQueryParamsInUrl:n}=h.router.ensureQueryParamsInUrl({toBeThereParams:{...t,"cal.routingFormResponseId":e.toString()},toRemoveParams:r});n()}async function F(){return new Promise(e=>{!function t(){"completed"!==h.renderState?l(t):e()}()})}let _={ui:function(e){let t;f("Method: ui called",e);let r=e.styles;r&&console.warn("Cal.com Embed: `styles` prop is deprecated. Use `cssVarsPerTheme` instead to achieve the same effect. Here is a list of CSS variables that are supported. https://github.com/calcom/cal.com/blob/main/packages/config/tailwind-preset.js#L19"),r?.body?.background&&(document.body.style.background=r.body.background),e.theme&&(h.theme=e.theme,h.setTheme&&h.setTheme(e.theme));let n=h.uiConfig?.cssVarsPerTheme,a=e.cssVarsPerTheme;if(n||a)for(let e of(t={},Array.from(new Set([...n?Object.keys(n):[],...a?Object.keys(a):[]]))))t[e]={...n?.[e],...a?.[e]};let o=e;if((e={...h.uiConfig,...o,...t?{cssVarsPerTheme:t}:{}}).cssVarsPerTheme){let t=function(e){if(!e)return e;let t={};for(let[r,n]of Object.entries(e)){for(let[e,a]of(t[r]={},Object.entries(n))){let n=y[e];if(!n){t[r][e]=a;continue}console.log("Mapped variable:",e,"to",n),t[r][n]=a}for(let e of S){let a=function(e,t){let r=[t.source,...t.fallbacks??[]].find(t=>t in e);return r?e[r]:void 0}(n,e);if(void 0!==a)for(let n of e.targets)n in t[r]||(t[r][n]=a)}}return t}(e.cssVarsPerTheme);window.CalEmbed.applyCssVars(t)}e.colorScheme&&V(e.colorScheme),h.setUiConfig&&(h.uiConfig=s=e,h.setUiConfig.forEach(e=>e(s)));var s,i=r||{};for(let[,e]of(h.styles=i,Object.entries(h.reactStylesStateSetters)))e(e=>({...e,...i}));var l=r||{};for(let[,e]of(h.nonStyles=l,Object.entries(h.reactStylesStateSetters)))e(e=>({...e,...l}))},parentKnowsIframeReady:e=>{f("Method: `parentKnowsIframeReady` called"),l(function e(){u({embedStore:h})?O()?D(window.CalComPageStatus):(N(),f("renderState is 'completed'"),h.renderState="completed",c()?i?.fire("linkPrerendered",{}):i?.fire("linkReady",{})):l(e)})},connect:async function({config:e,params:t}){i?.fire("__connectInitiated",{}),f("Method: connect, requested with params",{config:e,params:t});let{iframeAttrs:r,"cal.embed.noSlotsFetchOnConnect":n,...a}=e;h.providedCorrectHeightToParent=!1,"true"!==n&&(f("Method: connect, noSlotsFetchOnConnect is false. Requesting slots re-fetch"),h.connectVersion=h.connectVersion+1);let o=h.connectVersion,s={...t,...a,"cal.embed.connectVersion":o.toString()},l=["preload","prerender","cal.skipSlotsFetch"];await F(),f("Method: connect, renderState is completed. Connecting"),await x({toBeThereParams:s,toRemoveParams:l});let d=await m(t);"number"==typeof d&&await A({newlyRecordedResponseId:d,toBeThereParams:s,toRemoveParams:l})},__reloadInitiated:function(e){f("Method: __reloadInitiated called"),h.pageData.reloadInitiated=!0}};function O(){let e=window.CalComPageStatus;return!!(e&&"200"!=e)}function D(e){i?.fire("linkFailed",{code:e,msg:"Problem loading the link",data:{url:document.URL}})}function V(e){e&&(document.documentElement.style.colorScheme=e)}async function x({toBeThereParams:e,toRemoveParams:t}){let{hasChanged:r,stopEnsuringQueryParamsInUrl:n}=h.router.ensureQueryParamsInUrl({toBeThereParams:e,toRemoveParams:t}),a=0;return d()&&r&&(a=2),await new Promise(e=>{l(function t(){if(!u({embedStore:h})||a>0){a--,l(t);return}if(O()){D(window.CalComPageStatus),e();return}n(),i?.fire("__connectCompleted",{}),i?.fire("linkReady",{}),e()})}),{stopEnsuringQueryParamsInUrl:n}}function M({bookerState:e,slotsQuery:t}){window._embedBookerState=function({bookerState:e,slotsQuery:t}){return"loading"===e?"initializing":t.isLoading?"slotsLoading":t.isPending||t.isSuccess?"slotsDone":t.isError?"slotsLoadingError":"slotsPending"}({bookerState:e,slotsQuery:t})}!function(){f("Embed SDK loaded",{isEmbed:t?.isEmbed()||!1});let e=new URL(document.URL);h.theme=t?.getEmbedTheme();let r=e.searchParams.get("ui.autoscroll"),n=e.searchParams.get("useSlotsViewOnSmallScreen"),a=e.searchParams.get("showTimezoneWhenEventDetailsHidden");if(h.uiConfig={colorScheme:e.searchParams.get("ui.color-scheme"),layout:e.searchParams.get("layout"),disableAutoScroll:"false"===r,useSlotsViewOnSmallScreen:(n??"false")==="true",showTimezoneWhenEventDetailsHidden:(a??"false")==="true"},V(h.uiConfig.colorScheme),top===window){N(),"transparent"===document.body.style.background&&(document.body.style.background=""),f("Embed SDK Skipped as we are in top");return}let o="true"!==e.searchParams.get("cal.skipSlotsFetch");f(`Slots will ${o?"":"NOT "}be fetched`),window.addEventListener("message",e=>{let t=e.data;if(!t)return;let r=t.method;"CAL"===t.originator&&"string"==typeof r&&_[r]?.(t.arg)}),document.addEventListener("click",e=>{if(!e.target||!(e.target instanceof Node))return;let t=document.getElementsByClassName("main")[0]||document.getElementsByTagName("main")[0]||document.documentElement;e.target.contains(t)&&i?.fire("__closeIframe",{})}),i?.on("linkReady",()=>{!c()&&(f("Resetting page data"),h.pageData={eventsState:{bookerViewed:{hasFired:!1},bookerReopened:{hasFired:!1},bookerReloaded:{hasFired:!1},bookerReady:{hasFired:!1}},reloadInitiated:!1},h.viewId?h.viewId++:h.viewId=1)}),i?.on("*",e=>{if(c()&&!v.includes(e.detail.type))return;let t=e.detail;f(t),parent.postMessage({originator:"CAL",...t},"*")}),"true"!==e.searchParams.get("preload")&&t?.isEmbed()?function(){if(i?.fire("__iframeReady",{isPrerendering:c()}),h.renderState="inProgress",h.state!==g.NOT_INITIALIZED)return f("Embed Iframe already initialized");h.state=g.INITIALIZED,f("Initializing embed-iframe");let e=window.CalComPageStatus;O()?D(e):function({embedStore:e}){let t=null,r=null,n=!0,a=!1;l(function o(){if("u"<typeof document)return;if("complete"!==document.readyState)return void l(o);if(!a)return void setTimeout(()=>{a=!0,o()},100);e.windowLoadEventFired||i?.fire("__windowLoadComplete",{}),e.windowLoadEventFired=!0;let s=document.getElementsByClassName("main")[0]||document.getElementsByTagName("main")[0]||document.documentElement,d=document.documentElement.scrollHeight,c=document.documentElement.scrollWidth;if(!(s instanceof HTMLElement))throw Error("Main element should be an HTMLElement");let u=getComputedStyle(s),m=Math.ceil(parseFloat(u.height)+parseFloat(u.marginTop)+parseFloat(u.marginBottom)),f=Math.ceil(parseFloat(u.width)+parseFloat(u.marginLeft)+parseFloat(u.marginRight)),g=n?d:m,h=n?c:f;g&&h&&(t===g&&r===h&&e.providedCorrectHeightToParent||(t=g,r=h,i?.fire("__dimensionChanged",{iframeHeight:g,iframeWidth:h,isFirstTime:n})),n||(e.providedCorrectHeightToParent=!0),n=!1),l(o)})}({embedStore:h})}
1():f("Preloaded scenario - Skipping initialization and setup as only assets need to be loaded")}()},9478618,e=>{"use strict";var t=e.i(5618566);e.s(["useCompatSearchParams",0,()=>{let e=(0,t.useSearchParams)()??new URLSearchParams,r=(0,t.useParams)()??{},n=new URLSearchParams(e.toString());return Object.getOwnPropertyNames(r).forEach(e=>{n.delete(e);let t=r[e],a="string"==typeof t?t.split("/"):t;a?.forEach(t=>{n.append(e,t)})}),new t.ReadonlyURLSearchParams(n)}])},6313069,e=>{"use strict";var t=e.i(5271645);let r=()=>{};e.s(["default",0,e=>{let n=(0,t.useCallback)(t=>{let r=window.matchMedia(e);return r.addEventListener("change",t),()=>r.removeEventListener("change",t)},[e]),a=(0,t.useCallback)(()=>window.matchMedia(e).matches,[e]);return(0,t.useSyncExternalStore)(n,a,r)??!1}])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.