{"version":3,"file":"Examples_1.CxpGhILZ.mjs","names":["useState","useState","useCallback","useMemo","_Fragment"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js","https:/framer.com/m/framer/utils.js@^0.9.0","https:/framerusercontent.com/modules/7WD4DZFS2VOQqL1uHwoJ/Bk8LuIzzq8M7h0YiPEE7/Examples_1.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","export const centerContent = {\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const autoSizingText = {\n    width: \"max-content\",\n    wordBreak: \"break-word\",\n    overflowWrap: \"break-word\",\n    overflow: \"hidden\",\n    whiteSpace: \"pre-wrap\",\n    flexShrink: 0\n};\nexport const defaultContainerStyles = {\n    ...centerContent,\n    overflow: \"hidden\"\n};\nexport const containerStyles = defaultContainerStyles;\nexport const randomColor = ()=>\"#\" + Math.floor(Math.random() * 16777215).toString(16)\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"centerContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autoSizingText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultContainerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomColor\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils (framer/utils@0.9.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js\"\n","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{cloneElement,forwardRef,isValidElement,startTransition,useCallback,useEffect,useMemo,useState}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{randomColor}from\"https://framer.com/m/framer/utils.js@^0.9.0\";// Learn more: https://www.framer.com/developers/overrides/\nconst useStore=createStore({background:\"#0099FF\"});const endpoint=\"https://api.orahmarketing.co.uk/api/v1/payments/products\";const productByFallbackPounds={79:\"prod_UtwSz80DI60XTp\",299:\"prod_TEHBkNLHwaBAEt\",799:\"prod_TEHBrEWEyKZFBr\"};const productPriceCache=new Map;function firstDefined(...values){return values.find(value=>value!==undefined&&value!==null);}function asObject(value){if(!value||typeof value!==\"object\"||Array.isArray(value))return null;return value;}function findFallbackPounds(value){if(/enterprise/i.test(value))return null;const poundMatch=value.match(/£\\s*([0-9]+(?:\\.[0-9]+)?)/);if(poundMatch)return Number(poundMatch[1]);const bareMatch=value.match(/\\b(79|299|799)\\b/);if(bareMatch)return Number(bareMatch[1]);return null;}function getProductIdFromItem(item){const nestedProduct=asObject(item.product);return firstDefined(item.id,item.product,item.productId,item.product_id,item.stripeProductId,item.stripe_product_id,nestedProduct?.id,nestedProduct?.productId,nestedProduct?.product_id);}function getStripePriceRefFromItem(item){const defaultPrice=asObject(item.default_price);const price=asObject(item.price);const nestedPriceId=firstDefined(defaultPrice?.id,price?.id,defaultPrice?.priceId,defaultPrice?.price_id,defaultPrice?.stripePriceId,defaultPrice?.stripe_price_id,price?.priceId,price?.price_id,price?.stripePriceId,price?.stripe_price_id);return firstDefined(item.priceRef,item.price_ref,item.priceId,item.price_id,item.stripePriceId,item.stripe_price_id,item.defaultPriceId,item.default_price_id,nestedPriceId,typeof item.id===\"string\"&&item.id.startsWith(\"price_\")?item.id:undefined);}function resolvePrice(item){const defaultPrice=asObject(item.default_price);const price=asObject(item.price);const recurring=asObject(firstDefined(defaultPrice?.recurring,price?.recurring));const currencyRaw=firstDefined(item.currency,defaultPrice?.currency,price?.currency);const amountRaw=firstDefined(item.unit_amount,item.unitAmount,item.amount,defaultPrice?.unit_amount,defaultPrice?.unitAmount,defaultPrice?.amount,price?.unit_amount,price?.unitAmount,price?.amount);const intervalRaw=firstDefined(item.interval,recurring?.interval,defaultPrice?.interval,price?.interval);const currency=typeof currencyRaw===\"string\"?currencyRaw.toUpperCase():\"\";const amountMinor=typeof amountRaw===\"number\"?amountRaw:Number(amountRaw);const interval=typeof intervalRaw===\"string\"?intervalRaw.toLowerCase():\"\";const priceRefRaw=getStripePriceRefFromItem(item);const priceRef=typeof priceRefRaw===\"string\"?priceRefRaw:\"\";if(!/^[A-Z]{3}$/.test(currency))return null;if(!Number.isFinite(amountMinor)||amountMinor<0)return null;if(!interval)return null;if(!priceRef)return null;return{currency,amountMinor,interval,priceRef};}function fetchBackendPrice(productId){if(productPriceCache.has(productId)){return Promise.resolve(productPriceCache.get(productId)||null);}return fetch(endpoint).then(response=>response.json()).then(json=>{const root=asObject(json);if(!root||root.success!==true||!Array.isArray(root.data))return null;const item=root.data.find(entry=>{const candidate=asObject(entry);if(!candidate)return false;return getProductIdFromItem(candidate)===productId;});const itemObject=asObject(item);if(!itemObject)return null;const resolved=resolvePrice(itemObject);if(resolved)productPriceCache.set(productId,resolved);return resolved;}).catch(()=>null);}function getCurrencyExponent(currency){try{const formatter=new Intl.NumberFormat(\"en-GB\",{style:\"currency\",currency});return formatter.resolvedOptions().maximumFractionDigits??2;}catch(error){return 2;}}function formatAmount(amountMinor,currency){try{const exponent=getCurrencyExponent(currency);const divisor=Math.pow(10,exponent);const amount=amountMinor/divisor;return new Intl.NumberFormat(\"en-GB\",{style:\"currency\",currency}).format(amount);}catch(error){return null;}}function replacePriceText(node,formatted){if(typeof node===\"string\"){if(/enterprise/i.test(node))return node;return node.replace(/([£$€¥]\\s*[0-9]+(?:,[0-9]{3})*(?:\\.[0-9]+)?|[A-Z]{3}\\s*[0-9]+(?:,[0-9]{3})*(?:\\.[0-9]+)?|[0-9]+(?:,[0-9]{3})*(?:\\.[0-9]+)?)/,formatted);}if(Array.isArray(node))return node.map(child=>replacePriceText(child,formatted));if(/*#__PURE__*/isValidElement(node)){return /*#__PURE__*/cloneElement(node,{...node.props,children:replacePriceText(node.props?.children,formatted)});}return node;}function findFallbackPriceFromNode(node){if(typeof node===\"string\")return findFallbackPounds(node);if(Array.isArray(node)){for(const child of node){const found=findFallbackPriceFromNode(child);if(found!==null)return found;}return null;}if(/*#__PURE__*/isValidElement(node))return findFallbackPriceFromNode(node.props?.children);return null;}function findFallbackPriceFromValue(value){if(typeof value===\"number\"){return productByFallbackPounds[value]?value:null;}if(typeof value===\"string\"){return findFallbackPounds(value);}return null;}function valueIsEnterprise(value){return typeof value===\"string\"&&/enterprise/i.test(value);}function inferProductIdFromPlanName(value){if(typeof value!==\"string\")return null;if(/enterprise/i.test(value))return null;if(/starter/i.test(value))return productByFallbackPounds[79];if(/pro/i.test(value))return productByFallbackPounds[299];if(/business/i.test(value))return productByFallbackPounds[799];return null;}function findProductIdFromProps(props){const fromPrice=findFallbackPriceFromValue(props?.price);if(fromPrice!==null)return productByFallbackPounds[fromPrice]??null;const planCandidates=[props?.plan,props?.planName,props?.name,props?.title,props?.text];for(const candidate of planCandidates){const fromPlan=inferProductIdFromPlanName(candidate);if(fromPlan)return fromPlan;}const fromChildrenPrice=findFallbackPriceFromNode(props?.children);if(fromChildrenPrice!==null){return productByFallbackPounds[fromChildrenPrice]??null;}if(typeof props?.children===\"string\"){const fromPlan=inferProductIdFromPlanName(props.children);if(fromPlan)return fromPlan;}return null;}function replaceCheckoutPriceParam(urlValue,priceRef){if(!urlValue||!priceRef)return urlValue;try{const parsed=new URL(urlValue);if(parsed.searchParams.has(\"priceId\")){parsed.searchParams.set(\"priceId\",priceRef);return parsed.toString();}if(parsed.searchParams.has(\"planId\")){parsed.searchParams.set(\"planId\",priceRef);return parsed.toString();}return urlValue;}catch(error){return urlValue.replace(/([?&](?:priceId|planId)=)[^&#]*/i,`$1${encodeURIComponent(priceRef)}`);}}function extractProductIdFromUrl(urlValue){if(typeof urlValue!==\"string\"||!urlValue)return null;try{const parsed=new URL(urlValue);const value=parsed.searchParams.get(\"productId\");return value||null;}catch(error){const match=urlValue.match(/[?&]productId=([^&#]+)/i);if(!match)return null;try{return decodeURIComponent(match[1]);}catch(decodeError){return match[1];}}}function normalizeFieldKey(value){return value.toLowerCase().replace(/[^a-z0-9]/g,\"\");}function mapFormFieldToPayloadKey(fieldName){const key=normalizeFieldKey(fieldName);if([\"firstname\",\"first\"].includes(key))return\"firstName\";if([\"lastname\",\"last\"].includes(key))return\"lastName\";if([\"workemail\",\"email\",\"businessemail\"].includes(key))return\"email\";if([\"company\",\"companyname\",\"organization\",\"organisation\"].includes(key))return\"company\";if([\"phonenumber\",\"phone\",\"telephone\",\"mobile\"].includes(key))return\"phoneNumber\";if([\"message\",\"whatwouldyouliketoimprove\",\"aineed\",\"enquiry\",\"details\"].includes(key)){return\"message\";}return null;}function formDataToEnquiryPayload(formData,enquiryType){const payload={enquiryType:(enquiryType||\"\").trim()};for(const[rawKey,rawValue]of formData.entries()){if(typeof rawValue!==\"string\")continue;const mapped=mapFormFieldToPayloadKey(rawKey);if(!mapped)continue;const trimmed=rawValue.trim();if(trimmed)payload[mapped]=trimmed;}return payload;}function useSecureEnquirySubmit(endpointUrl,enquiryType,originalOnSubmit){const[errorMessage,setErrorMessage]=useState(\"\");const onSubmit=useCallback(async event=>{if(typeof window===\"undefined\")return;event?.preventDefault?.();startTransition(()=>{setErrorMessage(\"\");});const formEl=event?.currentTarget;if(!(formEl instanceof HTMLFormElement)){startTransition(()=>{setErrorMessage(\"We couldn't submit this enquiry from the current form setup. Please refresh and try again.\");});return;}const payload=formDataToEnquiryPayload(new FormData(formEl),enquiryType);if(!payload.email){startTransition(()=>{setErrorMessage(\"Please enter a valid email address and try again.\");});const emailInput=formEl.querySelector('input[name*=\"email\" i]');emailInput?.focus();return;}try{const response=await fetch(endpointUrl,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(payload)});const json=await response.json().catch(()=>null);if(response.ok&&json?.success===true){formEl.setAttribute(\"data-secure-enquiry\",\"success\");formEl.classList.remove(\"secure-enquiry-error\");formEl.classList.add(\"secure-enquiry-success\");formEl.dispatchEvent(new CustomEvent(\"secureenquirysuccess\",{bubbles:true,cancelable:false,detail:{enquiryType}}));if(typeof originalOnSubmit===\"function\"){originalOnSubmit(event);}return;}formEl.setAttribute(\"data-secure-enquiry\",\"error\");formEl.classList.remove(\"secure-enquiry-success\");formEl.classList.add(\"secure-enquiry-error\");startTransition(()=>{setErrorMessage(\"Submission failed. Please review your details and try again in a moment.\");});}catch(error){formEl.setAttribute(\"data-secure-enquiry\",\"error\");formEl.classList.remove(\"secure-enquiry-success\");formEl.classList.add(\"secure-enquiry-error\");startTransition(()=>{setErrorMessage(\"We couldn't submit your enquiry right now. Please try again shortly.\");});}},[endpointUrl,enquiryType,originalOnSubmit]);return{errorMessage,onSubmit};}export function withRotate(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{rotate:90},transition:{duration:2}});});}export function withHover(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,whileHover:{scale:1.05}});});}export function withRandomColor(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useStore();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{background:store.background},onClick:()=>{setStore({background:randomColor()});}});});}export function withBackendPrice(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[formattedPrice,setFormattedPrice]=useState(null);const productId=useMemo(()=>findProductIdFromProps(props),[props]);const isEnterprise=useMemo(()=>{if(valueIsEnterprise(props?.price))return true;if(valueIsEnterprise(props?.plan))return true;if(valueIsEnterprise(props?.planName))return true;if(valueIsEnterprise(props?.name))return true;if(valueIsEnterprise(props?.title))return true;if(valueIsEnterprise(props?.text))return true;if(typeof props?.children===\"string\"&&/enterprise/i.test(props.children)){return true;}return false;},[props?.price,props?.text,props?.children]);useEffect(()=>{if(typeof window===\"undefined\")return;startTransition(()=>{setFormattedPrice(null);});if(isEnterprise)return;if(!productId)return;let cancelled=false;fetchBackendPrice(productId).then(resolved=>{if(cancelled||!resolved)return;const formatted=formatAmount(resolved.amountMinor,resolved.currency);if(!formatted)return;startTransition(()=>{setFormattedPrice(formatted);});});return()=>{cancelled=true;};},[productId,isEnterprise]);const nextChildren=useMemo(()=>{if(!formattedPrice)return props.children;return replacePriceText(props.children,formattedPrice);},[formattedPrice,props.children]);const nextText=useMemo(()=>{if(!formattedPrice||typeof props?.text!==\"string\")return props?.text;if(/enterprise/i.test(props.text))return props.text;return replacePriceText(props.text,formattedPrice);},[formattedPrice,props?.text]);const nextPrice=useMemo(()=>{if(!formattedPrice)return props?.price;if(isEnterprise)return props?.price;return formattedPrice;},[formattedPrice,isEnterprise,props?.price]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,price:nextPrice,text:nextText,children:nextChildren});});}export function withBackendCheckoutPrice(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[resolvedPriceRef,setResolvedPriceRef]=useState(null);const productId=useMemo(()=>{const fromProps=findProductIdFromProps(props);if(fromProps)return fromProps;return extractProductIdFromUrl(props?.href)||extractProductIdFromUrl(props?.link)||extractProductIdFromUrl(props?.url)||extractProductIdFromUrl(props?.checkoutUrl);},[props]);const isEnterprise=useMemo(()=>{return valueIsEnterprise(props?.plan)||valueIsEnterprise(props?.planName)||valueIsEnterprise(props?.name)||valueIsEnterprise(props?.title)||valueIsEnterprise(props?.price)||valueIsEnterprise(props?.text)||typeof props?.children===\"string\"&&/enterprise/i.test(props.children);},[props?.plan,props?.planName,props?.name,props?.title,props?.price,props?.text,props?.children]);useEffect(()=>{if(typeof window===\"undefined\")return;startTransition(()=>{setResolvedPriceRef(null);});if(isEnterprise||!productId)return;let cancelled=false;fetchBackendPrice(productId).then(resolved=>{if(cancelled||!resolved?.priceRef)return;startTransition(()=>{setResolvedPriceRef(resolved.priceRef);});});return()=>{cancelled=true;};},[isEnterprise,productId]);const nextHref=useMemo(()=>{if(!resolvedPriceRef||typeof props?.href!==\"string\")return props?.href;return replaceCheckoutPriceParam(props.href,resolvedPriceRef);},[props?.href,resolvedPriceRef]);const nextLink=useMemo(()=>{if(!resolvedPriceRef||typeof props?.link!==\"string\")return props?.link;return replaceCheckoutPriceParam(props.link,resolvedPriceRef);},[props?.link,resolvedPriceRef]);const nextUrl=useMemo(()=>{if(!resolvedPriceRef||typeof props?.url!==\"string\")return props?.url;return replaceCheckoutPriceParam(props.url,resolvedPriceRef);},[props?.url,resolvedPriceRef]);const nextCheckoutUrl=useMemo(()=>{if(!resolvedPriceRef||typeof props?.checkoutUrl!==\"string\"){return props?.checkoutUrl;}return replaceCheckoutPriceParam(props.checkoutUrl,resolvedPriceRef);},[props?.checkoutUrl,resolvedPriceRef]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,href:nextHref,link:nextLink,url:nextUrl,checkoutUrl:nextCheckoutUrl});});}export function withContactEnquirySubmission(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const{errorMessage,onSubmit}=useSecureEnquirySubmit(\"https://api.orahmarketing.co.uk/api/v1/contact/enquiry\",\"Contact\",props?.onSubmit);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Component,{ref:ref,...props,onSubmit:onSubmit}),errorMessage?/*#__PURE__*/_jsx(\"div\",{role:\"alert\",\"aria-live\":\"assertive\",style:{marginTop:8},children:errorMessage}):null]});});}export function withDemoRequestSubmission(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const{errorMessage,onSubmit}=useSecureEnquirySubmit(\"https://api.orahmarketing.co.uk/api/v1/contact/demo\",\"Demo Request\",props?.onSubmit);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Component,{ref:ref,...props,onSubmit:onSubmit}),errorMessage?/*#__PURE__*/_jsx(\"div\",{role:\"alert\",\"aria-live\":\"assertive\",style:{marginTop:8},children:errorMessage}):null]});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withBackendPrice\":{\"type\":\"reactHoc\",\"name\":\"withBackendPrice\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDemoRequestSubmission\":{\"type\":\"reactHoc\",\"name\":\"withDemoRequestSubmission\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRandomColor\":{\"type\":\"reactHoc\",\"name\":\"withRandomColor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHover\":{\"type\":\"reactHoc\",\"name\":\"withHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withBackendCheckoutPrice\":{\"type\":\"reactHoc\",\"name\":\"withBackendCheckoutPrice\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withContactEnquirySubmission\":{\"type\":\"reactHoc\",\"name\":\"withContactEnquirySubmission\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples_1.map"],"mappings":"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"}