{"version":3,"file":"INALpEPNp.CDJusuBb.mjs","names":[],"sources":["https:/framerusercontent.com/modules/BTj1hbjBRY0REvsXyTT7/B21bUbQ4eaG3O3nQah68/RadioWatcher.js","https:/framerusercontent.com/modules/pI6WWfyyfbkycMd94mRt/OLDvfIW2qNgrZKCNTkPO/INALpEPNp.js"],"sourcesContent":["// RadioWatcher.tsx\nimport{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{Frame,addPropertyControls,ControlType}from\"framer\";export default function RadioWatcher(props){React.useEffect(()=>{const radioSelector=`input[type=\"radio\"][name=\"${props.radioName}\"]`;let radios=Array.from(document.querySelectorAll(radioSelector));if(radios.length===0)return;// Prefer the closest form of the first radio\nconst form=radios[0].closest(\"form\")||(props.formSelector?document.querySelector(props.formSelector):null);// Create and keep our OWN hidden input inside the form\nconst ensureHiddenInput=()=>{if(!form)return null;let hidden=form.querySelector(`input[name=\"${props.fieldName}\"]`);if(!hidden){hidden=document.createElement(\"input\");hidden.type=\"hidden\";hidden.name=props.fieldName;form.appendChild(hidden);}else{// If it's a Framer visual input (not hidden) you can still force it to hidden\nhidden.type=\"hidden\";}return hidden;};let hidden=ensureHiddenInput();const push=value=>{window.__selectedConfig=value;hidden=hidden??ensureHiddenInput();if(hidden)hidden.value=value;window.dispatchEvent(new CustomEvent(\"config:change\",{detail:value}));};const handleChange=()=>{// radios can be re-rendered by Framer; refresh the NodeList\nradios=Array.from(document.querySelectorAll(radioSelector));const selected=radios.find(r=>r.checked);if(selected)push(selected.value);};// Initial sync\nhandleChange();// Listen for changes\nradios.forEach(r=>r.addEventListener(\"change\",handleChange));// Watch for DOM changes (Framer can remount inputs)\nconst mo=new MutationObserver(()=>{hidden=ensureHiddenInput();});if(form)mo.observe(form,{childList:true,subtree:true});// Also ensure field is set on submit (last line of defense)\nconst handleSubmit=()=>handleChange();form?.addEventListener(\"submit\",handleSubmit);return()=>{radios.forEach(r=>r.removeEventListener(\"change\",handleChange));form?.removeEventListener(\"submit\",handleSubmit);mo.disconnect();};},[props.radioName,props.fieldName,props.formSelector]);return /*#__PURE__*/_jsx(Frame,{width:0,height:0,style:{display:\"none\"}});}addPropertyControls(RadioWatcher,{radioName:{type:ControlType.String,title:\"Radio Name\",defaultValue:\"configRadio\"},fieldName:{type:ControlType.String,title:\"Hidden Field\",defaultValue:\"configuration\"},formSelector:{type:ControlType.String,title:\"Form Selector\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RadioWatcher\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RadioWatcher.map","// Generated by Framer (e557b56)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=['.framer-ZItiL .framer-styles-preset-u1ile:not(.rich-text-wrapper), .framer-ZItiL .framer-styles-preset-u1ile.rich-text-wrapper a { --framer-link-current-text-color: var(--token-90b2f4d1-61c0-4985-a515-d7765009a37d, rgba(36, 36, 36, 0.5)); --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: var(--token-872efcd9-374c-49d7-a3e5-75738caeec7b, #242424); --framer-link-hover-text-decoration: underline; --framer-link-hover-text-decoration-color: var(--token-872efcd9-374c-49d7-a3e5-75738caeec7b, #242424) /* {\"name\":\"Neutral\"} */; --framer-link-text-color: var(--token-90b2f4d1-61c0-4985-a515-d7765009a37d, rgba(36, 36, 36, 0.5)); --framer-link-text-decoration: underline; --framer-link-text-decoration-color: rgba(36, 36, 36, 0.5); }'];export const className=\"framer-ZItiL\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"iMACiI,SAAwB,EAAa,EAAM,CAQ8G,OAR7G,MAAoB,CAAC,IAAM,EAAc,6BAA6B,EAAM,UAAU,IAAQ,EAAO,MAAM,KAAK,SAAS,iBAAiB,CAAa,CAAC,EAAE,GAAG,EAAO,SAAS,EAAE,OAC5V,IAAM,EAAK,EAAO,EAAE,CAAC,QAAQ,MAAM,IAAI,EAAM,aAAa,SAAS,cAAc,EAAM,YAAY,EAAE,MAC/F,MAAsB,CAAC,GAAG,CAAC,EAAK,OAAO,KAAK,IAAI,EAAO,EAAK,cAAc,eAAe,EAAM,UAAU,GAAG,EAC5F,OADkG,EACxH,EAAO,KAAK,UADoH,EAAO,SAAS,cAAc,OAAO,EAAE,EAAO,KAAK,SAAS,EAAO,KAAK,EAAM,UAAU,EAAK,YAAY,CAAM,GAClN,CAAO,EAAM,EAAO,EAAkB,EAAQ,EAAK,GAAO,CAAC,EAAO,iBAAiB,EAAM,IAAe,EAAkB,EAAK,IAAO,EAAO,MAAM,GAAM,EAAO,cAAc,IAAI,YAAY,gBAAgB,CAAC,OAAO,CAAK,CAAC,CAAC,CAAE,EAAQ,MAAiB,CACrR,EAAO,MAAM,KAAK,SAAS,iBAAiB,CAAa,CAAC,EAAE,IAAM,EAAS,EAAO,KAAK,GAAG,EAAE,OAAO,EAAK,GAAS,EAAK,EAAS,KAAK,CAAE,EACtI,EAAa,EACb,EAAO,QAAQ,GAAG,EAAE,iBAAiB,SAAS,CAAY,CAAC,EAC3D,IAAM,EAAG,IAAI,qBAAqB,CAAC,EAAO,EAAkB,CAAE,CAAC,EAAK,GAAK,EAAG,QAAQ,EAAK,CAAC,UAAU,GAAK,QAAQ,EAAI,CAAC,EACtH,IAAM,MAAiB,EAAa,EAAgD,OAA9C,GAAM,iBAAiB,SAAS,CAAY,MAAY,CAAC,EAAO,QAAQ,GAAG,EAAE,oBAAoB,SAAS,CAAY,CAAC,EAAE,GAAM,oBAAoB,SAAS,CAAY,EAAE,EAAG,WAAW,CAAE,CAAE,EAAE,CAAC,EAAM,UAAU,EAAM,UAAU,EAAM,YAAY,CAAC,EAAsB,EAAK,EAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAE,qBAR1T,IAA4B,IAA0D,EAQqO,EAAoB,EAAa,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,aAAa,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,eAAe,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,CAAC,CAAC,uBCR/lB,EAAC,EAAU,UAAU,CAAC,CAAC,EAAe,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAe,EAAI,CAAC,0vBAA0vB,EAAe,EAAU"}