{"version":3,"file":"LumaButton.D4TLzWsF.mjs","names":["useState","useRef","useId","useMemo","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/6BqWzSS8cmwSoHTDsGhX/kInl2QlNKVB1MufusLD0/LumaButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{startTransition,useCallback,useEffect,useId,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const LUMA_SCRIPT_ID=\"luma-checkout\";const LUMA_SCRIPT_SRC=\"https://embed.lu.ma/checkout-button.js\";const LUMA_LOADER_KEY=\"__lumaCheckoutLoaderState__\";const LUMA_COORDINATOR_KEY=\"__lumaCheckoutCoordinatorState__\";const ACTIVATION_TIMEOUT_MS=2200;const SCRIPT_TIMEOUT_MS=3e3;const RESCAN_TIMEOUT_MS=1800;const LOADING_LABEL=\"Loading…\";const READY_AGAIN_LABEL=\"Ready — click again\";function getSharedLoaderState(){const target=globalThis;if(!target[LUMA_LOADER_KEY]){target[LUMA_LOADER_KEY]={status:\"idle\",promise:null};}return target[LUMA_LOADER_KEY];}function ensureLumaScriptReady(){if(typeof document===\"undefined\"){return Promise.reject(new Error(\"Luma script requires a browser document\"));}const shared=getSharedLoaderState();if(shared.status===\"ready\")return Promise.resolve();if(shared.status===\"loading\"&&shared.promise)return shared.promise;let script=document.getElementById(LUMA_SCRIPT_ID);if(script&&script.getAttribute(\"data-luma-ready\")===\"true\"){shared.status=\"ready\";shared.promise=Promise.resolve();return shared.promise;}if(script&&script.readyState===\"complete\"){script.setAttribute(\"data-luma-ready\",\"true\");shared.status=\"ready\";shared.promise=Promise.resolve();return shared.promise;}shared.status=\"loading\";shared.promise=new Promise((resolve,reject)=>{let timeoutId=null;const cleanup=()=>{if(timeoutId!==null&&typeof window!==\"undefined\"){window.clearTimeout(timeoutId);}};const handleLoad=()=>{cleanup();if(script){script.setAttribute(\"data-luma-ready\",\"true\");script.setAttribute(\"data-luma-error\",\"false\");}shared.status=\"ready\";resolve();};const handleError=()=>{cleanup();if(script)script.setAttribute(\"data-luma-error\",\"true\");shared.status=\"error\";shared.promise=null;reject(new Error(\"Failed to load Luma checkout script\"));};if(!script){script=document.createElement(\"script\");script.id=LUMA_SCRIPT_ID;script.src=LUMA_SCRIPT_SRC;script.async=true;script.setAttribute(\"data-luma-ready\",\"false\");script.setAttribute(\"data-luma-error\",\"false\");document.body.appendChild(script);}else if(script.getAttribute(\"data-luma-error\")===\"true\"){const retryScript=document.createElement(\"script\");retryScript.src=LUMA_SCRIPT_SRC;retryScript.async=true;retryScript.setAttribute(\"data-luma-ready\",\"false\");retryScript.setAttribute(\"data-luma-error\",\"false\");document.body.appendChild(retryScript);script=retryScript;}script.addEventListener(\"load\",handleLoad,{once:true});script.addEventListener(\"error\",handleError,{once:true});if(typeof window!==\"undefined\"){timeoutId=window.setTimeout(()=>{handleError();},SCRIPT_TIMEOUT_MS);}});return shared.promise;}function invokeLumaInitIfAvailable(anchor){if(typeof window===\"undefined\")return false;const host=window;const candidates=[host.Luma?.initialize,host.Luma?.init,host.Luma?.bind,host.Luma?.refresh,host.LumaCheckout?.initialize,host.LumaCheckout?.init,host.LumaCheckout?.bind,host.LumaCheckout?.refresh];for(const candidate of candidates){if(typeof candidate===\"function\"){try{candidate();return true;}catch(_error){// Keep scanning for a callable candidate.\n}}}if(anchor){const anchorCandidates=[host.Luma?.initElement,host.LumaCheckout?.initElement];for(const candidate of anchorCandidates){if(typeof candidate===\"function\"){try{candidate(anchor);return true;}catch(_error){// Continue fallback cascade.\n}}}}return false;}function getCoordinatorState(){const host=globalThis;if(!host[LUMA_COORDINATOR_KEY]){host[LUMA_COORDINATOR_KEY]={anchors:new Set,registrations:new WeakMap,generation:0,lastInitializedGeneration:0,lastRescanGeneration:0,queue:Promise.resolve(),flushScheduled:false};}return host[LUMA_COORDINATOR_KEY];}function appendRescanScript(){if(typeof document===\"undefined\"){return Promise.reject(new Error(\"Rescan requires a browser document\"));}return new Promise((resolve,reject)=>{const script=document.createElement(\"script\");script.src=LUMA_SCRIPT_SRC;script.async=true;script.setAttribute(\"data-luma-rescan\",\"true\");let timeoutId=null;const cleanup=()=>{if(timeoutId!==null&&typeof window!==\"undefined\"){window.clearTimeout(timeoutId);}};const handleLoad=()=>{cleanup();resolve();};const handleError=()=>{cleanup();reject(new Error(\"Failed bounded Luma rescan\"));};script.addEventListener(\"load\",handleLoad,{once:true});script.addEventListener(\"error\",handleError,{once:true});if(typeof window!==\"undefined\"){timeoutId=window.setTimeout(()=>{handleError();},RESCAN_TIMEOUT_MS);}document.body.appendChild(script);});}function markRegistrationsReadyThroughGeneration(coordinator,generation){coordinator.anchors.forEach(anchor=>{const registration=coordinator.registrations.get(anchor);if(!registration)return;if(registration.status===\"pending\"&&registration.generation<=generation){registration.status=\"ready\";registration.resolveReady();anchor.setAttribute(\"data-luma-anchor-ready\",\"true\");}});}function markRegistrationsErrorThroughGeneration(coordinator,generation,error){coordinator.anchors.forEach(anchor=>{const registration=coordinator.registrations.get(anchor);if(!registration)return;if(registration.status===\"pending\"&&registration.generation<=generation){registration.status=\"error\";registration.rejectReady(error);anchor.setAttribute(\"data-luma-anchor-ready\",\"false\");}});}async function initializeAnchorsForLatestGeneration(){const coordinator=getCoordinatorState();const targetGeneration=coordinator.generation;if(targetGeneration<=coordinator.lastInitializedGeneration){return;}try{await ensureLumaScriptReady();let invoked=false;coordinator.anchors.forEach(anchor=>{if(invokeLumaInitIfAvailable(anchor)){invoked=true;}});if(!invoked){if(coordinator.lastRescanGeneration<targetGeneration){coordinator.lastRescanGeneration=targetGeneration;await appendRescanScript();}coordinator.anchors.forEach(anchor=>{invokeLumaInitIfAvailable(anchor);});}coordinator.lastInitializedGeneration=targetGeneration;markRegistrationsReadyThroughGeneration(coordinator,targetGeneration);}catch(error){const normalizedError=error instanceof Error?error:new Error(\"Luma initialization failed\");markRegistrationsErrorThroughGeneration(coordinator,targetGeneration,normalizedError);throw normalizedError;}if(coordinator.generation>coordinator.lastInitializedGeneration){await initializeAnchorsForLatestGeneration();}}function scheduleCoordinatorInitialization(){const coordinator=getCoordinatorState();if(coordinator.flushScheduled)return;coordinator.flushScheduled=true;Promise.resolve().then(()=>{coordinator.flushScheduled=false;coordinator.queue=coordinator.queue.then(async()=>{await initializeAnchorsForLatestGeneration();}).catch(()=>{// Individual buttons handle fallback navigation on click-time timeout/error.\n});});}function registerLumaAnchor(anchor,eventId){const coordinator=getCoordinatorState();const generation=coordinator.generation+1;coordinator.generation=generation;let resolveReady=()=>{};let rejectReady=_error=>{};const readyPromise=new Promise((resolve,reject)=>{resolveReady=resolve;rejectReady=reject;});const registration={eventId,generation,status:\"pending\",readyPromise,resolveReady,rejectReady};coordinator.anchors.add(anchor);coordinator.registrations.set(anchor,registration);anchor.setAttribute(\"data-luma-anchor-ready\",\"false\");scheduleCoordinatorInitialization();return readyPromise;}function unregisterLumaAnchor(anchor){const coordinator=getCoordinatorState();coordinator.anchors.delete(anchor);coordinator.registrations.delete(anchor);}function tryOpenViaDirectApi(eventId,href,anchor){if(typeof window===\"undefined\")return false;const host=window;const payload={eventId,event_id:eventId,href,url:href,anchor};const callCandidate=candidate=>{if(typeof candidate!==\"function\")return false;const callable=candidate;const attempts=[[payload],[eventId],[{eventId}],[href],[]];for(const args of attempts){try{callable(...args);return true;}catch(_error){// Continue trying candidate signatures safely.\n}}return false;};const containers=[host.Luma,host.LumaCheckout];for(const container of containers){if(!container)continue;const checkoutValue=container[\"checkout\"];const modalValue=container[\"modal\"];const openCandidates=[container.open,container.show,container.checkout,container.openCheckout,container.openModal,container.present,checkoutValue?.open,modalValue?.open];for(const candidate of openCandidates){if(callCandidate(candidate))return true;}}return false;}function getAnchorRegistrationPromise(anchor){if(!anchor)return Promise.reject(new Error(\"Luma anchor unavailable\"));const coordinator=getCoordinatorState();const registration=coordinator.registrations.get(anchor);if(!registration)return Promise.reject(new Error(\"Luma anchor missing\"));return registration.readyPromise;}function raceWithTimeout(promise,timeoutMs,setTimerId){if(typeof document===\"undefined\"){return Promise.reject(new Error(\"Luma bindings require a browser document\"));}return new Promise((resolve,reject)=>{if(typeof window===\"undefined\"){reject(new Error(\"Window unavailable\"));return;}const timeoutId=window.setTimeout(()=>{setTimerId(null);reject(new Error(\"Activation timeout\"));},timeoutMs);setTimerId(timeoutId);promise.then(()=>{window.clearTimeout(timeoutId);setTimerId(null);resolve();}).catch(error=>{window.clearTimeout(timeoutId);setTimerId(null);reject(error instanceof Error?error:new Error(\"Activation failed\"));});});}function extractEventId(input){// Handle full embed code — pull out the href or data-luma-event-id\nconst eventIdMatch=input.match(/data-luma-event-id=\"([^\"]+)\"/);if(eventIdMatch)return eventIdMatch[1];// Handle full URL: https://lu.ma/event/evt-xxxx or https://luma.com/event/evt-xxxx\nconst urlMatch=input.match(/(?:lu\\.ma|luma\\.com)\\/event\\/(evt-[a-zA-Z0-9]+)/);if(urlMatch)return urlMatch[1];// Assume raw event ID was pasted directly\nreturn input.trim();}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function LumaButton({lumaUrl,label,borderColor,textColor,navbarHoverColor,fontFamily,fontSize,fontWeight,variant}){const[activationLabel,setActivationLabel]=useState(\"idle\");const[isAnchorReady,setIsAnchorReady]=useState(false);const anchorRef=useRef(null);const isMountedRef=useRef(true);const registrationPromiseRef=useRef(null);const activationInProgressRef=useRef(false);const activationTimeoutRef=useRef(null);const readyAgainTimeoutRef=useRef(null);const eventId=extractEventId(lumaUrl);const href=`https://lu.ma/event/${eventId}`;const normalizedVariant=String(variant).toLowerCase();const isFilled=normalizedVariant===\"filled\";const isOutline=normalizedVariant===\"outline\";const isNavbar=normalizedVariant===\"navbar\";const instanceId=useId();const scopedClassName=useMemo(()=>{return`luma-button-${instanceId.replace(/[^a-zA-Z0-9_-]/g,\"\")}`;},[instanceId]);const setActivationLabelSafely=useCallback(value=>{if(!isMountedRef.current)return;startTransition(()=>{setActivationLabel(value);});},[]);const setAnchorReadySafely=useCallback(value=>{if(!isMountedRef.current)return;startTransition(()=>{setIsAnchorReady(value);});},[]);const clearActivationTimeout=useCallback(()=>{if(activationTimeoutRef.current!==null&&typeof window!==\"undefined\"){window.clearTimeout(activationTimeoutRef.current);activationTimeoutRef.current=null;}},[]);const clearReadyAgainTimeout=useCallback(()=>{if(readyAgainTimeoutRef.current!==null&&typeof window!==\"undefined\"){window.clearTimeout(readyAgainTimeoutRef.current);readyAgainTimeoutRef.current=null;}},[]);const intentionallyNavigate=useCallback(()=>{if(typeof window!==\"undefined\"){window.location.assign(href);}},[href]);const ensureAnchorRegistration=useCallback(async()=>{const anchor=anchorRef.current;if(!anchor||typeof document===\"undefined\"){throw new Error(\"Luma anchor unavailable\");}if(!registrationPromiseRef.current){registrationPromiseRef.current=registerLumaAnchor(anchor,eventId);}return registrationPromiseRef.current;},[eventId]);const handleActivate=useCallback(async event=>{if(isAnchorReady){return;}event.preventDefault();if(activationInProgressRef.current)return;activationInProgressRef.current=true;setActivationLabelSafely(\"loading\");clearReadyAgainTimeout();let didSetReadyAgain=false;try{const anchor=anchorRef.current;const readyPromise=registrationPromiseRef.current??ensureAnchorRegistration().then(()=>getAnchorRegistrationPromise(anchor));await raceWithTimeout(readyPromise,ACTIVATION_TIMEOUT_MS,id=>{activationTimeoutRef.current=id;});setAnchorReadySafely(true);if(anchorRef.current&&tryOpenViaDirectApi(eventId,href,anchorRef.current)){setActivationLabelSafely(\"idle\");return;}setActivationLabelSafely(\"readyAgain\");didSetReadyAgain=true;if(typeof window!==\"undefined\"){readyAgainTimeoutRef.current=window.setTimeout(()=>{setActivationLabelSafely(\"idle\");},1800);}}catch(_error){intentionallyNavigate();}finally{clearActivationTimeout();activationInProgressRef.current=false;if(!didSetReadyAgain){setActivationLabelSafely(\"idle\");}}},[clearActivationTimeout,clearReadyAgainTimeout,eventId,ensureAnchorRegistration,href,isAnchorReady,intentionallyNavigate,setActivationLabelSafely,setAnchorReadySafely]);useEffect(()=>{isMountedRef.current=true;setAnchorReadySafely(false);setActivationLabelSafely(\"idle\");clearReadyAgainTimeout();const anchor=anchorRef.current;if(anchor){registrationPromiseRef.current=registerLumaAnchor(anchor,eventId);void registrationPromiseRef.current.then(()=>{setAnchorReadySafely(true);}).catch(()=>{setAnchorReadySafely(false);});}return()=>{isMountedRef.current=false;clearActivationTimeout();clearReadyAgainTimeout();if(anchor){unregisterLumaAnchor(anchor);}registrationPromiseRef.current=null;};},[clearActivationTimeout,clearReadyAgainTimeout,eventId,setActivationLabelSafely,setAnchorReadySafely]);const labelText=activationLabel===\"loading\"?LOADING_LABEL:activationLabel===\"readyAgain\"?READY_AGAIN_LABEL:String(label);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .${scopedClassName}.${scopedClassName}-outline {\n                    background-color: #ffffff;\n                    transition: background-color 180ms ease, color 180ms ease;\n                }\n\n                .${scopedClassName}.${scopedClassName}-outline:hover {\n                    background-color: color-mix(in srgb, ${borderColor} 12%, white);\n                    color: ${textColor};\n                }\n\n                .${scopedClassName}.${scopedClassName}-filled {\n                    background-color: ${borderColor};\n                    transition: background-color 180ms ease;\n                }\n\n                .${scopedClassName}.${scopedClassName}-filled:hover {\n                    background-color: color-mix(in srgb, ${borderColor} 86%, black);\n                }\n\n                .${scopedClassName}.${scopedClassName}-navbar {\n                    background-color: ${borderColor};\n                    transition: background-color 180ms ease;\n                }\n\n                .${scopedClassName}.${scopedClassName}-navbar:hover {\n                    background-color: ${navbarHoverColor};\n                }\n\n                @media (prefers-reduced-motion: reduce) {\n                    .${scopedClassName}.${scopedClassName}-outline,\n                    .${scopedClassName}.${scopedClassName}-filled,\n                    .${scopedClassName}.${scopedClassName}-navbar {\n                        transition: none;\n                    }\n                }\n            `}),/*#__PURE__*/_jsx(\"a\",{ref:anchorRef,href:href,className:`luma-checkout--button ${scopedClassName} ${isOutline?`${scopedClassName}-outline`:\"\"} ${isFilled?`${scopedClassName}-filled`:\"\"} ${isNavbar?`${scopedClassName}-navbar`:\"\"}`,\"data-luma-action\":\"checkout\",\"data-luma-event-id\":eventId,onClick:handleActivate,\"aria-busy\":activationLabel===\"loading\",\"aria-live\":\"polite\",\"aria-disabled\":activationLabel===\"loading\",style:{color:isFilled||isNavbar?\"#ffffff\":textColor,border:isNavbar?\"none\":`2px solid ${borderColor}`,padding:isNavbar?\"0 20px\":isFilled?\"8px 20px\":\"14px 32px\",height:isNavbar?\"56px\":undefined,borderRadius:isNavbar?\"0px\":\"999px\",boxShadow:isNavbar?\"none\":undefined,textDecoration:\"none\",fontFamily:fontFamily,fontSize:isFilled?`${fontSize-2}px`:`${fontSize}px`,fontWeight:fontWeight,display:isNavbar?\"inline-flex\":\"inline-block\",alignItems:isNavbar?\"center\":undefined,justifyContent:isNavbar?\"center\":undefined,cursor:activationLabel===\"loading\"?\"progress\":\"pointer\",whiteSpace:\"nowrap\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"span\",{\"aria-live\":\"polite\",style:{display:\"inline-block\",textAlign:\"center\"},children:labelText})})]});}LumaButton.defaultProps={lumaUrl:\"evt-JlqoC75PnCyV2cu\",label:\"Get tickets\",borderColor:\"#6B47ED\",textColor:\"#6B47ED\",navbarHoverColor:\"#A000FF\",fontFamily:\"Space Grotesk, sans-serif\",fontSize:16,fontWeight:600,variant:\"outline\"};addPropertyControls(LumaButton,{lumaUrl:{type:ControlType.String,title:\"Luma Event\",displayTextArea:true,placeholder:\"Paste event ID, URL, or full embed code\"},label:{type:ControlType.String,title:\"Label\"},variant:{type:ControlType.Enum,title:\"Variant\",options:[\"outline\",\"filled\",\"navbar\"],optionTitles:[\"Outline\",\"Filled\",\"Navbar\"]},borderColor:{type:ControlType.Color,title:\"Color\"},textColor:{type:ControlType.Color,title:\"Text Color\",hidden(props){const currentVariant=String(props.variant).toLowerCase();return currentVariant===\"filled\"||currentVariant===\"navbar\";}},navbarHoverColor:{type:ControlType.Color,title:\"Navbar Hover\",hidden(props){const currentVariant=String(props.variant).toLowerCase();return currentVariant!==\"navbar\";}},fontFamily:{type:ControlType.String,title:\"Font Family\"},fontSize:{type:ControlType.Number,title:\"Font Size\",min:10,max:48,step:1,displayStepper:true},fontWeight:{type:ControlType.Number,title:\"Font Weight\",min:100,max:900,step:100,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LumaButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LumaButton.map"],"mappings":"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"}