{"version":3,"file":"WithFreeGuideSuccessToast.BO8U0rJd.mjs","names":["useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/eAvTmAPkOT8RhPxv0iQ5/3OIgVRheVOUm9nWw44Bb/WithFreeGuideSuccessToast.js"],"sourcesContent":["// User request: Create a Framer code override export named `withFreeGuideSuccessToast` for the existing canvas form on the Ledgility Academy page, preserving Framer form submission logic and showing an accessible success toast only on confirmed success.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useCallback,useEffect,useRef}from\"react\";function isElementVisible(element){const htmlElement=element;if(!htmlElement.isConnected)return false;if(htmlElement.getAttribute(\"aria-hidden\")===\"true\")return false;const style=window.getComputedStyle(htmlElement);if(style.display===\"none\"||style.visibility===\"hidden\"||style.opacity===\"0\"){return false;}return true;}function setNativeFieldValue(field,value){const prototype=Object.getPrototypeOf(field);const descriptor=Object.getOwnPropertyDescriptor(prototype,\"value\");if(descriptor?.set){descriptor.set.call(field,value);}else{field.value=value;}field.dispatchEvent(new Event(\"input\",{bubbles:true}));field.dispatchEvent(new Event(\"change\",{bubbles:true}));}function findFieldByHints(form,hints){const controls=Array.from(form.querySelectorAll(\"input, textarea\")).filter(field=>!field.disabled);const normalizedHints=hints.map(hint=>hint.toLowerCase());for(const field of controls){const id=field.id?.toLowerCase()??\"\";const name=field.name?.toLowerCase()??\"\";const placeholder=field.placeholder?.toLowerCase()??\"\";const ariaLabel=field.getAttribute(\"aria-label\")?.toLowerCase()??\"\";const type=field.type?.toLowerCase()??\"\";const labelText=field.id?(form.querySelector(`label[for=\"${field.id}\"]`)?.textContent??\"\").toLowerCase():\"\";const haystack=`${id} ${name} ${placeholder} ${ariaLabel} ${labelText} ${type}`;if(normalizedHints.some(hint=>haystack.includes(hint)))return field;}return null;}function hasConfirmedSuccessSignal(form){const datasetValues=Object.values(form.dataset).map(value=>String(value).toLowerCase());if(datasetValues.some(value=>[\"success\",\"submitted\",\"done\",\"complete\"].includes(value))){return true;}const attributeCandidates=[\"data-framer-form-status\",\"data-form-status\",\"data-state\",\"data-status\",\"aria-busy\"];for(const attributeName of attributeCandidates){const raw=form.getAttribute(attributeName)?.toLowerCase();if(raw&&[\"success\",\"submitted\",\"done\",\"complete\"].includes(raw))return true;}const successSelectors=[`[data-framer-name=\"Success\"]`,`[data-framer-component-type=\"FormSuccessMessage\"]`,`[data-framer-form-state=\"success\"]`,`[data-form-state=\"success\"]`,`[data-framer-form-status=\"success\"]`,`[data-framer-success=\"true\"]`];for(const selector of successSelectors){const nodes=form.querySelectorAll(selector);for(const node of nodes){if(isElementVisible(node))return true;}}return false;}function withMergedRef(outerRef,node){if(typeof outerRef===\"function\"){outerRef(node);}else if(outerRef&&\"current\"in outerRef){outerRef.current=node;}}function clearInlineSuccessMessage(form){const existing=form.querySelector(\"[data-free-guide-inline-success]\");if(existing)existing.remove();}function renderInlineSuccessMessage(form){clearInlineSuccessMessage(form);const message=document.createElement(\"div\");message.setAttribute(\"data-free-guide-inline-success\",\"true\");message.setAttribute(\"role\",\"status\");message.setAttribute(\"aria-live\",\"polite\");message.style.width=\"100%\";message.style.boxSizing=\"border-box\";message.style.marginTop=\"10px\";message.style.background=\"#151922\";message.style.border=\"1px solid #2B313D\";message.style.borderRadius=\"12px\";message.style.padding=\"12px\";message.style.color=\"#D6DCE8\";message.style.fontFamily='\"IBM Plex Sans\", \"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif';message.style.display=\"flex\";message.style.alignItems=\"flex-start\";message.style.gap=\"10px\";message.style.overflowWrap=\"anywhere\";const check=document.createElement(\"div\");check.setAttribute(\"aria-hidden\",\"true\");check.textContent=\"✓\";check.style.width=\"18px\";check.style.height=\"18px\";check.style.minWidth=\"18px\";check.style.borderRadius=\"999px\";check.style.background=\"rgba(36, 87, 255, 0.16)\";check.style.color=\"#2457FF\";check.style.display=\"flex\";check.style.alignItems=\"center\";check.style.justifyContent=\"center\";check.style.fontSize=\"11px\";check.style.fontWeight=\"700\";check.style.marginTop=\"2px\";const textWrapper=document.createElement(\"div\");textWrapper.style.flex=\"1\";textWrapper.style.minWidth=\"0\";const primary=document.createElement(\"div\");primary.textContent=\"You’re in! Check your inbox for The AI Accounting Workflow Guide.\";primary.style.color=\"#FFFFFF\";primary.style.fontSize=\"14px\";primary.style.lineHeight=\"1.35em\";primary.style.letterSpacing=\"-0.01em\";primary.style.fontWeight=\"600\";const secondary=document.createElement(\"div\");secondary.textContent=\"It should arrive within a few minutes.\";secondary.style.color=\"#A6B0C2\";secondary.style.fontSize=\"12px\";secondary.style.lineHeight=\"1.35em\";secondary.style.marginTop=\"4px\";textWrapper.append(primary,secondary);message.append(check,textWrapper);form.appendChild(message);}function createSuccessToastRedirectOverride(redirectPath){return function withSuccessToastRedirect(Component){return /*#__PURE__*/forwardRef(function WithSuccessToastRedirect(props,ref){const rootRef=useRef(null);const observerRef=useRef(null);const pendingSubmitRef=useRef(false);const handledSubmissionCountRef=useRef(0);const activeSubmissionCountRef=useRef(0);const labelRestoreRef=useRef(null);const restoreSubmitLabel=useCallback(()=>{const state=labelRestoreRef.current;if(!state)return;if(state.kind===\"button\"){state.element.innerHTML=state.originalHTML;}else{state.element.value=state.originalValue;}labelRestoreRef.current=null;},[]);const applySubmitButtonSuccessLabel=useCallback(form=>{const submitElement=form.querySelector(`button[type=\"submit\"], input[type=\"submit\"]`);if(!submitElement)return;if(submitElement instanceof HTMLButtonElement){if(!labelRestoreRef.current){labelRestoreRef.current={kind:\"button\",element:submitElement,originalHTML:submitElement.innerHTML};}submitElement.textContent=\"Guide Sent ✓\";}else{if(!labelRestoreRef.current){labelRestoreRef.current={kind:\"input\",element:submitElement,originalValue:submitElement.value};}submitElement.value=\"Guide Sent ✓\";}},[]);const clearFormFields=useCallback(form=>{const firstNameField=findFieldByHints(form,[\"first name\",\"firstname\",\"first_name\",\"given-name\",\"given name\"]);const emailField=findFieldByHints(form,[\"email address\",\"email\",\"e-mail\"])??form.querySelector(`input[type=\"email\"]`);if(firstNameField)setNativeFieldValue(firstNameField,\"\");if(emailField)setNativeFieldValue(emailField,\"\");},[]);const handleConfirmedSuccess=useCallback(form=>{applySubmitButtonSuccessLabel(form);clearFormFields(form);renderInlineSuccessMessage(form);if(typeof window!==\"undefined\"){window.location.assign(redirectPath);}},[applySubmitButtonSuccessLabel,clearFormFields,redirectPath]);useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const rootElement=rootRef.current;if(!rootElement)return;const form=rootElement instanceof HTMLFormElement?rootElement:rootElement.querySelector(\"form\");if(!form)return;const onSubmit=()=>{pendingSubmitRef.current=true;activeSubmissionCountRef.current+=1;clearInlineSuccessMessage(form);startTransition(()=>{restoreSubmitLabel();});};const tryHandleSuccess=()=>{if(!pendingSubmitRef.current)return;if(!hasConfirmedSuccessSignal(form))return;if(handledSubmissionCountRef.current>=activeSubmissionCountRef.current)return;handledSubmissionCountRef.current+=1;pendingSubmitRef.current=false;handleConfirmedSuccess(form);};const onCustomSuccess=()=>{if(handledSubmissionCountRef.current>=activeSubmissionCountRef.current)return;handledSubmissionCountRef.current+=1;pendingSubmitRef.current=false;handleConfirmedSuccess(form);};const captureSubmitListener=true;form.addEventListener(\"submit\",onSubmit,captureSubmitListener);form.addEventListener(\"framerformsuccess\",onCustomSuccess);form.addEventListener(\"framer-form-success\",onCustomSuccess);observerRef.current?.disconnect();observerRef.current=new MutationObserver(()=>{tryHandleSuccess();});observerRef.current.observe(form,{subtree:true,childList:true,attributes:true,characterData:true});return()=>{observerRef.current?.disconnect();observerRef.current=null;form.removeEventListener(\"submit\",onSubmit,captureSubmitListener);form.removeEventListener(\"framerformsuccess\",onCustomSuccess);form.removeEventListener(\"framer-form-success\",onCustomSuccess);};},[handleConfirmedSuccess,restoreSubmitLabel]);useEffect(()=>{return()=>{if(typeof document!==\"undefined\"){const rootElement=rootRef.current;const form=rootElement instanceof HTMLFormElement?rootElement:rootElement?.querySelector(\"form\")??null;if(form)clearInlineSuccessMessage(form);}restoreSubmitLabel();};},[restoreSubmitLabel]);return /*#__PURE__*/_jsx(Component,{...props,ref:node=>{rootRef.current=node;withMergedRef(ref,node);}});});};}export function withFreeGuideSuccessToast(Component){return createSuccessToastRedirectOverride(\"/guide-confirmation\")(Component);}export function withLeadMagnetConfirmationRedirect(Component){return createSuccessToastRedirectOverride(\"/lead-magnet-confirmation\")(Component);}\nexport const __FramerMetadata__ = {\"exports\":{\"withFreeGuideSuccessToast\":{\"type\":\"reactHoc\",\"name\":\"withFreeGuideSuccessToast\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLeadMagnetConfirmationRedirect\":{\"type\":\"reactHoc\",\"name\":\"withLeadMagnetConfirmationRedirect\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WithFreeGuideSuccessToast.map"],"mappings":"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"}