{"version":3,"file":"FormToSheet.DJGDCaw9.mjs","names":["React.useRef","React.useState","React.useReducer","React.useMemo","React.useCallback","p","_Fragment","React.useLayoutEffect","React.useEffect"],"sources":["https:/framerusercontent.com/modules/g7dfyXbOYSsKupNCliGv/W4qKT84NGIOyW94KsVGM/FormToSheet.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{createPortal}from\"react-dom\";/* ============================================================================\n   FORM TO SHEET\n\n   1. Paste your Google Apps Script web-app URL into ENDPOINT below.\n   2. Apply the override \"withFormToSheet\" to the Message Me form.\n   3. Drop the \"FileUpload\" component inside the form where the upload\n      button should sit.\n\n   Every input in the form is sent under its own name, so a field you add in\n   Framer later (Name, Email, Location, anything) becomes a new column in the\n   sheet with no change here. The field name in Framer is the column title.\n============================================================================ */const ENDPOINT=\"https://script.google.com/macros/s/AKfycbyRMnIszMOxt32nNxK7xPHeyjPjQ5K6K3gkWUtFvePJqxN9kLzxEZyIOulQ4umHA8YYOA/exec\";// Total size of all files in one message (used when no FileUpload sets\n// its own limit).\nconst MAX_TOTAL_BYTES=10*1024*1024;// The most the Google script can take in one message. Files travel as text\n// (about a third bigger), and Apps Script stops at about 50 MB per request.\nconst MAX_UPLOAD_MB=30;function readFile(file){return new Promise((resolve,reject)=>{const reader=new FileReader;reader.onload=()=>{const result=String(reader.result);resolve({name:file.name,type:file.type,data:result.slice(result.indexOf(\",\")+1)});};reader.onerror=()=>reject(reader.error);reader.readAsDataURL(file);});}async function sendForm(form,onProgress){const fields={};const files=[];// The FileUpload in this form sets the size limit\nlet limitBytes=MAX_TOTAL_BYTES;Array.from(form.elements).forEach(element=>{const input=element;if(!input.name||input.disabled)return;// Framer adds hidden spam-trap inputs to its forms. Leave them out.\nif(input.getAttribute(\"aria-hidden\")===\"true\"||input.tabIndex<0)return;if(input.type===\"file\"){const own=Number(input.getAttribute(\"data-max-bytes\"));if(own>0)limitBytes=Math.max(limitBytes,own);Array.from(input.files||[]).forEach(file=>files.push(file));return;}if(input.type===\"submit\"||input.type===\"button\")return;if(input.type===\"checkbox\"){fields[input.name]=input.checked;return;}if(input.type===\"radio\"){if(input.checked)fields[input.name]=input.value;else if(!(input.name in fields))fields[input.name]=\"\";return;}fields[input.name]=input.value;});const total=files.reduce((sum,file)=>sum+file.size,0);limitBytes=Math.min(limitBytes,MAX_UPLOAD_MB*1024*1024);const accepted=total<=limitBytes?files:[];if(files.length&&!accepted.length){fields[\"Upload note\"]=\"Files were over \"+Math.round(limitBytes/1048576)+\" MB and were not sent.\";}fields[\"Page\"]=window.location.href;// Progress, 0-100. Reading the files is measured exactly. The browser\n// cannot report upload progress to Apps Script (that needs a check\n// Google does not answer), so the sending part runs on a timer sized\n// to the message and the connection, and only reaches 100 when Google\n// has really received everything.\nconst report=n=>{if(onProgress)onProgress(Math.max(0,Math.min(100,Math.round(n))));};const readShare=accepted.length?35:5;const loaded=accepted.map(()=>0);const totalSize=Math.max(1,total);report(1);const packed=await Promise.all(accepted.map((file,i)=>readFileProgress(file,percent=>{loaded[i]=file.size*percent/100;const sum=loaded.reduce((a,b)=>a+b,0);report(sum/totalSize*readShare);}).then(result=>{loaded[i]=file.size;const sum=loaded.reduce((a,b)=>a+b,0);report(sum/totalSize*readShare);return result;})));report(readShare);const body=JSON.stringify({fields,files:packed});const conn=typeof navigator!==\"undefined\"?navigator.connection:null;const mbps=conn&&conn.downlink?Number(conn.downlink):0;// Upload is usually far slower than download; stay on the careful side\nconst bytesPerSecond=mbps?Math.max(6e4,mbps*125e3*.35):35e4;const expected=900+body.length/bytesPerSecond*1e3;const began=Date.now();const timer=typeof window!==\"undefined\"?window.setInterval(()=>{const t=(Date.now()-began)/expected;const part=1-Math.exp(-2.2*t);report(readShare+(97-readShare)*part);},80):0;try{// text/plain keeps this a simple request, which Apps Script accepts\n// from any site without extra setup.\nawait fetch(ENDPOINT,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"text/plain;charset=utf-8\"},body});}finally{window.clearInterval(timer);}report(100);}// The form's phone layout: the variant's name and the widest phone screen\nconst PHONE_VARIANT=\"Phone\";const PHONE_MAX=809.98;export function withFormToSheet(Component){return /*#__PURE__*/React.forwardRef((props,ref)=>{const holder=React.useRef(null);// On phones the form always uses its \"Phone\" variant. Framer only sets\n// it in the page's first HTML; when the page wakes up on the first tap\n// it fell back to the desktop layout. The screen width decides here.\nconst phoneQuery=\"(max-width: \"+PHONE_MAX+\"px)\";const[isPhone,setIsPhone]=React.useState(()=>typeof window!==\"undefined\"&&window.matchMedia?window.matchMedia(phoneQuery).matches:null);React.useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(phoneQuery);const on=()=>setIsPhone(mq.matches);on();if(mq.addEventListener)mq.addEventListener(\"change\",on);else mq.addListener(on);return()=>{if(mq.removeEventListener)mq.removeEventListener(\"change\",on);else mq.removeListener(on);};},[]);const variant=isPhone===true?PHONE_VARIANT:props.variant;React.useEffect(()=>{const root=holder.current;if(!root)return;ensureGlobalStyle();// Enter never sends the form. It still makes a new line in the\n// message box and still presses a focused button, such as Send.\nlet enterAt=0;const blockEnter=event=>{if(event.key!==\"Enter\"||event.isComposing)return;const target=event.target;if(!target||!target.tagName)return;const tag=target.tagName;if(tag===\"TEXTAREA\"||tag===\"BUTTON\"||tag===\"A\")return;if(tag===\"INPUT\"&&/submit|button/.test(target.type))return;if(tag===\"INPUT\"||tag===\"SELECT\"){// Stopped before Framer or the browser can act on it.\nenterAt=Date.now();event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();}};root.addEventListener(\"keydown\",blockEnter,true);// Plain thin divider frames inside the form are kept on whole\n// screen pixels (so all look equally thin) and, when a FormLine\n// \"Sets All Lines\", take its exact colour and thickness.\nconst unify=()=>{const scope=root.querySelector(\"form\")||root;const fw=scope.getBoundingClientRect().width;if(!fw)return;const look=LINE_STORE.main;const darkPage=look?isDarkColor(pageBackground(scope)):false;const nodes=scope.querySelectorAll(\"div\");for(let i=0;i<nodes.length;i++){const el=nodes[i];if(el.childElementCount||el.closest(\"[data-fts]\"))continue;const r=el.getBoundingClientRect();if(r.height<=0||r.height>2.5||r.width<fw*.25)continue;if((el.textContent||\"\").trim())continue;if(look){el.style.setProperty(\"background\",darkPage?look.dark:look.light,\"important\");el.style.setProperty(\"height\",crispWidth(look.width)+\"px\",\"important\");}snapToPixels(el);}};unify();const unifyTimer=window.setInterval(unify,500);window.addEventListener(\"resize\",unify);const onSubmit=event=>{// A send that comes straight from an Enter key press is dropped.\nif(Date.now()-enterAt<600){event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();return;}const form=event.target;if(!(form instanceof HTMLFormElement))return;if(!form.checkValidity())return;// When the thank-you overlay is on the page, this form is sent\n// here only: the page stays where it is (no redirect, no\n// reload) and the overlay shows instead.\nconst w=window;if((w.__ftsOverlays||0)+(w.__ftsButtons||0)>0){event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();}// The attachment cards and the thank-you overlay follow these\n// three moments: sending, sent, or failed.\nconst say=(name,percent)=>window.dispatchEvent(new CustomEvent(name,{detail:{form,percent}}));say(\"fts:sending\",0);sendForm(form,percent=>say(\"fts:progress\",percent)).then(()=>say(\"fts:sent\",100)).catch(()=>say(\"fts:error\"));};// Capture phase: runs before Framer's own submit handling, which\n// still goes on to show the form's success state.\nroot.addEventListener(\"submit\",onSubmit,true);return()=>{root.removeEventListener(\"submit\",onSubmit,true);window.clearInterval(unifyTimer);window.removeEventListener(\"resize\",unify);};},[]);return /*#__PURE__*/_jsx(\"div\",{ref:holder,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props,variant:variant,ref:ref})});});}/* ============================================================================\n   FORM FIELDS  (File Upload, Country Select, Phone Field, Select Field)\n   Every colour, border, padding, radius and font is a control in the right\n   panel. Leave a colour empty and it follows the page: light text on a dark\n   page, dark text on a light page.\n   ============================================================================ */const COUNTRY_DATA=\"AF,Afghanistan,93|AX,\\xc5land Islands,358|AL,Albania,355|DZ,Algeria,213|AS,American Samoa,1684|AD,Andorra,376|AO,Angola,244|AI,Anguilla,1264|AG,Antigua and Barbuda,1268|AR,Argentina,54|AM,Armenia,374|AW,Aruba,297|AU,Australia,61|AT,Austria,43|AZ,Azerbaijan,994|BS,Bahamas,1242|BH,Bahrain,973|BD,Bangladesh,880|BB,Barbados,1246|BY,Belarus,375|BE,Belgium,32|BZ,Belize,501|BJ,Benin,229|BM,Bermuda,1441|BT,Bhutan,975|BO,Bolivia,591|BA,Bosnia and Herzegovina,387|BW,Botswana,267|BR,Brazil,55|VG,British Virgin Islands,1284|BN,Brunei,673|BG,Bulgaria,359|BF,Burkina Faso,226|BI,Burundi,257|KH,Cambodia,855|CM,Cameroon,237|CA,Canada,1|CV,Cape Verde,238|KY,Cayman Islands,1345|CF,Central African Republic,236|TD,Chad,235|CL,Chile,56|CN,China,86|CO,Colombia,57|KM,Comoros,269|CG,Congo,242|CD,DR Congo,243|CK,Cook Islands,682|CR,Costa Rica,506|CI,C\\xf4te d'Ivoire,225|HR,Croatia,385|CU,Cuba,53|CW,Cura\\xe7ao,599|CY,Cyprus,357|CZ,Czechia,420|DK,Denmark,45|DJ,Djibouti,253|DM,Dominica,1767|DO,Dominican Republic,1809|EC,Ecuador,593|EG,Egypt,20|SV,El Salvador,503|GQ,Equatorial Guinea,240|ER,Eritrea,291|EE,Estonia,372|SZ,Eswatini,268|ET,Ethiopia,251|FK,Falkland Islands,500|FO,Faroe Islands,298|FJ,Fiji,679|FI,Finland,358|FR,France,33|GF,French Guiana,594|PF,French Polynesia,689|GA,Gabon,241|GM,Gambia,220|GE,Georgia,995|DE,Germany,49|GH,Ghana,233|GI,Gibraltar,350|GR,Greece,30|GL,Greenland,299|GD,Grenada,1473|GP,Guadeloupe,590|GU,Guam,1671|GT,Guatemala,502|GG,Guernsey,44|GN,Guinea,224|GW,Guinea-Bissau,245|GY,Guyana,592|HT,Haiti,509|HN,Honduras,504|HK,Hong Kong,852|HU,Hungary,36|IS,Iceland,354|IN,India,91|ID,Indonesia,62|IR,Iran,98|IQ,Iraq,964|IE,Ireland,353|IM,Isle of Man,44|IL,Israel,972|IT,Italy,39|JM,Jamaica,1876|JP,Japan,81|JE,Jersey,44|JO,Jordan,962|KZ,Kazakhstan,7|KE,Kenya,254|KI,Kiribati,686|XK,Kosovo,383|KW,Kuwait,965|KG,Kyrgyzstan,996|LA,Laos,856|LV,Latvia,371|LB,Lebanon,961|LS,Lesotho,266|LR,Liberia,231|LY,Libya,218|LI,Liechtenstein,423|LT,Lithuania,370|LU,Luxembourg,352|MO,Macao,853|MG,Madagascar,261|MW,Malawi,265|MY,Malaysia,60|MV,Maldives,960|ML,Mali,223|MT,Malta,356|MH,Marshall Islands,692|MQ,Martinique,596|MR,Mauritania,222|MU,Mauritius,230|YT,Mayotte,262|MX,Mexico,52|FM,Micronesia,691|MD,Moldova,373|MC,Monaco,377|MN,Mongolia,976|ME,Montenegro,382|MS,Montserrat,1664|MA,Morocco,212|MZ,Mozambique,258|MM,Myanmar,95|NA,Namibia,264|NR,Nauru,674|NP,Nepal,977|NL,Netherlands,31|NC,New Caledonia,687|NZ,New Zealand,64|NI,Nicaragua,505|NE,Niger,227|NG,Nigeria,234|NU,Niue,683|KP,North Korea,850|MK,North Macedonia,389|MP,Northern Mariana Islands,1670|NO,Norway,47|OM,Oman,968|PK,Pakistan,92|PW,Palau,680|PS,Palestine,970|PA,Panama,507|PG,Papua New Guinea,675|PY,Paraguay,595|PE,Peru,51|PH,Philippines,63|PL,Poland,48|PT,Portugal,351|PR,Puerto Rico,1787|QA,Qatar,974|RE,R\\xe9union,262|RO,Romania,40|RU,Russia,7|RW,Rwanda,250|KN,Saint Kitts and Nevis,1869|LC,Saint Lucia,1758|VC,Saint Vincent and the Grenadines,1784|WS,Samoa,685|SM,San Marino,378|ST,S\\xe3o Tom\\xe9 and Pr\\xedncipe,239|SA,Saudi Arabia,966|SN,Senegal,221|RS,Serbia,381|SC,Seychelles,248|SL,Sierra Leone,232|SG,Singapore,65|SX,Sint Maarten,1721|SK,Slovakia,421|SI,Slovenia,386|SB,Solomon Islands,677|SO,Somalia,252|ZA,South Africa,27|KR,South Korea,82|SS,South Sudan,211|ES,Spain,34|LK,Sri Lanka,94|SD,Sudan,249|SR,Suriname,597|SE,Sweden,46|CH,Switzerland,41|SY,Syria,963|TW,Taiwan,886|TJ,Tajikistan,992|TZ,Tanzania,255|TH,Thailand,66|TL,Timor-Leste,670|TG,Togo,228|TO,Tonga,676|TT,Trinidad and Tobago,1868|TN,Tunisia,216|TR,T\\xfcrkiye,90|TM,Turkmenistan,993|TC,Turks and Caicos Islands,1649|TV,Tuvalu,688|UG,Uganda,256|UA,Ukraine,380|AE,United Arab Emirates,971|GB,United Kingdom,44|US,United States,1|UY,Uruguay,598|VI,US Virgin Islands,1340|UZ,Uzbekistan,998|VU,Vanuatu,678|VA,Vatican City,39|VE,Venezuela,58|VN,Vietnam,84|WF,Wallis and Futuna,681|YE,Yemen,967|ZM,Zambia,260|ZW,Zimbabwe,263\";const COUNTRIES=COUNTRY_DATA.split(\"|\").map(row=>{const part=row.split(\",\");return{code:part[0],name:part[1],dial:part[2]};}).sort((a,b)=>a.name.localeCompare(b.name));function dialLabel(dial){return dial.length===4&&dial[0]===\"1\"?\"+1 \"+dial.slice(1):\"+\"+dial;}function countryItems(pinned){const all=COUNTRIES.map(c=>({key:c.code,country:c,search:(c.name+\" \"+c.code+\" +\"+c.dial).toLowerCase()}));const codes=String(pinned||\"\").toUpperCase().split(/[\\s,]+/).filter(Boolean);if(!codes.length)return all;const top=codes.map(code=>all.find(item=>item.key===code)).filter(Boolean);return top.concat(all.filter(item=>codes.indexOf(item.key)===-1));}/* One stylesheet for the whole site: removes Chrome's white / yellow fill on\n   saved-info fields, and holds the dropdown animation and scrollbar. */function ensureGlobalStyle(){if(typeof document===\"undefined\")return;if(document.getElementById(\"fts-style-3\"))return;const hold=\"{transition:background-color 600000s 0s,color 600000s 0s !important;-webkit-background-clip:text !important;background-clip:text !important;}\";const el=document.createElement(\"style\");el.id=\"fts-style-3\";el.textContent=\"input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill\"+hold+\"input:autofill,textarea:autofill,select:autofill\"+hold+\"@keyframes ftsMenuIn{from{opacity:0;transform:translateY(var(--fts-shift,-6px))}to{opacity:1;transform:none}}\"+\".fts-list{-webkit-overflow-scrolling:touch}\"+\".fts-input::placeholder{color:var(--fts-ph);opacity:1}\"+\"[data-fts],[data-fts] *{-webkit-text-size-adjust:100% !important;text-size-adjust:100% !important}\"+\".fts-input:-webkit-autofill,.fts-input:-webkit-autofill:hover,.fts-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--fts-fill-ink,currentColor) !important;caret-color:var(--fts-fill-ink,currentColor) !important}\"+\"@keyframes ftsSpin{to{transform:rotate(360deg)}}\"+\"@keyframes ftsShimmer{from{background-position:150% 0}to{background-position:-50% 0}}\"+\"@keyframes ftsCardIn{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}\"+\".fts-x{transition:background-color .15s ease,opacity .15s ease}.fts-x:hover{background:var(--fts-x-hover) !important}\"+\".fts-row{scrollbar-width:none}.fts-row::-webkit-scrollbar{display:none}\"+\"@media (prefers-reduced-motion:reduce){.fts-anim{animation:none !important;transition:none !important}}\";document.head.appendChild(el);}/* Reads any CSS colour (rgb, hex, display-p3, oklch, tokens) as r, g, b, a. */const colorCache={};let colorProbe=null;function rgbOf(color){const key=String(color);if(key in colorCache)return colorCache[key];if(typeof document===\"undefined\")return null;if(!colorProbe){const canvas=document.createElement(\"canvas\");canvas.width=1;canvas.height=1;colorProbe=canvas.getContext(\"2d\",{willReadFrequently:true});}if(!colorProbe)return null;colorProbe.clearRect(0,0,1,1);colorProbe.fillStyle=\"rgba(0,0,0,0)\";colorProbe.fillStyle=key;colorProbe.fillRect(0,0,1,1);const d=colorProbe.getImageData(0,0,1,1).data;const a=d[3]/255;const out=a?[d[0]/a,d[1]/a,d[2]/a,a].map((v,i)=>i<3?Math.min(255,v):v):[0,0,0,0];colorCache[key]=out;return out;}function pageBackground(start){let node=start;while(node){const bg=window.getComputedStyle(node).backgroundColor;const parts=rgbOf(bg);if(parts&&(parts.length<4||parts[3]>.5))return bg;node=node.parentElement;}return\"rgb(255, 255, 255)\";}function isDarkColor(color){const p=rgbOf(color);if(!p)return false;return .299*p[0]+.587*p[1]+.114*p[2]<140;}function merge(...sources){const out={};sources.forEach(source=>{Object.keys(source||{}).forEach(key=>{if(source[key]!==undefined&&source[key]!==null)out[key]=source[key];});});return out;}const FIELD_DEFAULTS={theme:\"auto\",borderMode:\"underline\",borderWidth:1,borderStyle:\"solid\",radius:0,padding:\"10px 0px\",minHeight:44,gap:10,chevron:true,chevronSize:14,flagMode:\"image\",flagSize:14,flagRadius:2};const MENU_DEFAULTS={mode:\"inline\",look:\"minimal\",scrollbar:\"thin\",scrollPlace:\"outside\",scrollGap:8,autoScroll:true,autoSpeed:18,autoDelay:0,autoPhase:true,duration:340,easing:\"smooth\",inlineShadow:false,borderWidth:1,radius:12,shadow:\"0px 16px 48px rgba(0,0,0,0.22)\",blur:0,maxHeight:320,minWidth:260,offset:8,padding:6,optionPadding:\"10px 12px\",optionRadius:8,optionGap:10,check:true,searchPlaceholder:\"Search\",emptyText:\"No results\"};/* Reads the page behind the field, so light / dark follows the site. */const MATCH_KEYS=[\"font\",\"textColor\",\"placeholderColor\",\"fieldBackground\",\"borderMode\",\"borderColor\",\"focusColor\",\"borderWidth\",\"borderStyle\",\"radius\",\"padding\",\"minHeight\"];/* Copies the look of the form's own Framer inputs: font, text and\n   placeholder colour, fill, padding, radius, height and line. Style the\n   normal inputs once in Framer and every field here follows. *//* The look of the form's TextFields (Name, Email, Your project). The\n   dropdowns set to \"Like Inputs\" copy it, so every field matches. */const FIELD_STORE={look:null,key:\"\"};function publishFieldLook(look){const key=JSON.stringify(look);if(key===FIELD_STORE.key)return;FIELD_STORE.key=key;FIELD_STORE.look=look;LAST_AUTO=null;}function readFormStyle(el){let field=null;let scope=el.parentElement;for(let depth=0;scope&&depth<14&&!field;depth++){const fields=scope.querySelectorAll(\"input\");for(let i=0;i<fields.length;i++){const item=fields[i];if(item.closest(\"[data-fts]\"))continue;if(/file|hidden|checkbox|radio|submit|button/.test(item.type))continue;const holder=item.parentElement;if(!holder||String(holder.className).indexOf(\"framer-form-input-wrapper\")===-1)continue;if(item.getAttribute(\"aria-hidden\")===\"true\")continue;// A field Chrome is filling shows Chrome's colours, not the site's\nif(isAutofilled(item))continue;field=item;break;}if(!field){if(scope.tagName===\"FORM\")break;scope=scope.parentElement;}}// No Framer input left in the form: follow the form's own text fields\nif(!field||!scope)return FIELD_STORE.look||null;const num=value=>parseFloat(value)||0;const cs=window.getComputedStyle(field);const wrap=field.parentElement;const ws=window.getComputedStyle(wrap);const label=field.closest(\"label\");const ls=label&&scope.contains(label)?window.getComputedStyle(label):null;// Colours are taken as the site's own colour styles where possible, so\n// they switch with the theme in the same instant as the normal inputs.\nconst out={ink:cs.color,textColor:themed(wrap,\"--framer-input-font-color\",cs.color),font:{fontFamily:cs.fontFamily,fontSize:cs.fontSize,fontWeight:cs.fontWeight,fontStyle:cs.fontStyle,letterSpacing:cs.letterSpacing},borderMode:\"none\"};const ph=window.getComputedStyle(field,\"::placeholder\").color;const phThemed=themed(wrap,\"--framer-input-placeholder-color\",ph&&ph!==cs.color?ph:\"\");if(phThemed)out.placeholderColor=phThemed;// The line: Framer draws it either on the input or on the frame around it.\nconst sources=[[wrap,ws,\"--framer-input-border-\"],[label,ls,\"--border-\"]];for(let i=0;i<sources.length;i++){const node=sources[i][0];const style=sources[i][1];const prefix=sources[i][2];if(!node||!style)continue;const bottom=num(style.getPropertyValue(prefix+\"bottom-width\"));if(bottom<=0)continue;const top=num(style.getPropertyValue(prefix+\"top-width\"));const kind=style.getPropertyValue(prefix+\"style\").trim();const color=themed(node,prefix+\"color\",style.getPropertyValue(prefix+\"color\").trim());out.borderMode=top>0?\"box\":\"underline\";out.borderWidth=bottom;out.borderStyle=kind&&kind!==\"none\"?kind:\"solid\";if(color)out.borderColor=color;break;}const focus=themed(wrap,\"--framer-input-focused-border-color\",ws.getPropertyValue(\"--framer-input-focused-border-color\").trim());if(focus)out.focusColor=focus;if(out.borderMode===\"none\"){// Fallback: a real border drawn on the frame or one of its layers.\nconst host=ls&&label?label:wrap;const nodes=[host];const inner=host.querySelectorAll(\"*\");for(let i=0;i<inner.length&&nodes.length<10;i++)nodes.push(inner[i]);for(let i=0;i<nodes.length&&out.borderMode===\"none\";i++){if(nodes[i]===field)continue;const looks=[window.getComputedStyle(nodes[i]),window.getComputedStyle(nodes[i],\"::after\")];for(let j=0;j<looks.length;j++){const look=looks[j];const bottom=num(look.borderBottomWidth);if(bottom<=0||look.borderBottomStyle===\"none\")continue;out.borderMode=num(look.borderTopWidth)>0?\"box\":\"underline\";out.borderWidth=bottom;out.borderStyle=look.borderBottomStyle;out.borderColor=look.borderBottomColor;break;}}}// The box: fill, padding, radius and height.\nconst labelFill=ls?rgbOf(ls.backgroundColor):null;const labelHasFill=!!(labelFill&&labelFill[3]>.02);if(ls&&label){out.padding=ls.padding;out.minHeight=label.offsetHeight;if(labelHasFill)out.fieldBackground=themed(label,\"background-color\",ls.backgroundColor);out.radius=ls.borderRadius;}else{out.padding=cs.padding;out.minHeight=wrap.offsetHeight;const fill=rgbOf(ws.backgroundColor);const hasFill=!!(fill&&fill[3]>.02);if(hasFill)out.fieldBackground=themed(wrap,\"--framer-input-background\",ws.backgroundColor);out.radius=hasFill||out.borderMode===\"box\"?ws.borderRadius:\"0px\";}return out;}/* The value as written in the site's styles (a colour style keeps its\n   var(--token...) form), falling back to the computed colour. */const declaredCache={};function declared(el,prop){const inline=el.style.getPropertyValue(prop).trim();if(inline)return inline;const key=String(el.className)+\"|\"+prop;if(key in declaredCache)return declaredCache[key];let value=\"\";const walk=rules=>{for(let i=0;i<rules.length;i++){const rule=rules[i];if(rule.selectorText){let hit=false;try{hit=el.matches(rule.selectorText);}catch(error){}if(hit){const found=rule.style.getPropertyValue(prop);if(found)value=found.trim();}}else if(rule.cssRules){if(rule.media&&!window.matchMedia(rule.media.mediaText).matches)continue;walk(rule.cssRules);}}};for(let i=0;i<document.styleSheets.length;i++){try{walk(document.styleSheets[i].cssRules);}catch(error){}}declaredCache[key]=value;return value;}let themeProbe=null;/* A colour style (var(--token)) switches with the theme by itself, so it is\n   used when it is the colour really on screen now. The site's style sheets\n   can hold the light and the dark rule at the same time, and the wrong one\n   was sometimes picked: black text on a black page. Anything that does not\n   match what the browser shows falls back to the colour on screen. */function themed(el,prop,computed){const value=declared(el,prop);if(!computed)return value;if(!value||value.indexOf(\"var(\")===-1)return computed;try{if(!themeProbe){themeProbe=document.createElement(\"span\");themeProbe.setAttribute(\"aria-hidden\",\"true\");themeProbe.style.position=\"absolute\";themeProbe.style.width=\"0\";themeProbe.style.height=\"0\";themeProbe.style.overflow=\"hidden\";themeProbe.style.pointerEvents=\"none\";}el.appendChild(themeProbe);themeProbe.style.color=value;const resolved=window.getComputedStyle(themeProbe).color;el.removeChild(themeProbe);const a=rgbOf(resolved);const b=rgbOf(computed);if(a&&b&&a.every((v,i)=>Math.abs(v-b[i])<(i===3?.03:3)))return value;}catch(error){}return computed;}/* Keeps Chrome's saved-info text in the form's own font and size, so it\n   does not shrink or grow while a suggestion is previewed or filled. */function setAutofillFont(font){if(typeof document===\"undefined\"||!font)return;const css=\"input:-webkit-autofill::first-line,textarea:-webkit-autofill::first-line{font-family:\"+font.fontFamily+\";font-size:\"+font.fontSize+\";font-weight:\"+font.fontWeight+\";letter-spacing:\"+font.letterSpacing+\";}\";let el=document.getElementById(\"fts-autofill-font\");if(!el){el=document.createElement(\"style\");el.id=\"fts-autofill-font\";document.head.appendChild(el);}if(el.textContent!==css)el.textContent=css;}const useIsoEffect=typeof window!==\"undefined\"?React.useLayoutEffect:React.useEffect;/* The site's text colour and font, read from the form's own Framer text\n   (labels such as Location or Position). Text sitting on a filled shape,\n   like the Send button, is skipped. */function formInk(el){let host=el.parentElement;let form=null;for(let d=0;host&&d<16;d++){if(host.tagName===\"FORM\"){form=host;break;}host=host.parentElement;}if(!form){form=el.parentElement;for(let d=0;form&&form.parentElement&&d<6;d++)form=form.parentElement;}if(!form)return null;const nodes=form.querySelectorAll(\".framer-text\");let best=null;let bestScore=-1;for(let i=0;i<nodes.length&&i<80;i++){const node=nodes[i];if(node.closest(\"[data-fts]\"))continue;if(!(node.textContent||\"\").trim())continue;let filled=false;for(let up=node;up&&up!==form;up=up.parentElement){const f=rgbOf(window.getComputedStyle(up).backgroundColor);if(f&&f[3]>.5){filled=true;break;}}if(filled)continue;const cs=window.getComputedStyle(node);const c=rgbOf(cs.color);if(!c||c[3]<.05)continue;const lum=.299*c[0]+.587*c[1]+.114*c[2];const score=Math.abs(lum-128)*c[3];if(score>bestScore){bestScore=score;best={node,color:cs.color,font:cs.fontFamily};}}if(!best)return null;// A colour style (var(--token)) is kept, so it switches with the theme\nlet color=\"\";if(bestScore>90){let up=best.node;for(let d=0;up&&d<5&&!color;d++,up=up.parentElement){const v=themed(up,\"--framer-text-color\",best.color);if(v.indexOf(\"var(\")!==-1)color=v;}if(!color)color=best.color;}return{ink:best.color,color,weak:bestScore<=90,font:best.font};}let LAST_AUTO=null;function useField(p,kind){const root=React.useRef(null);const autoKey=React.useRef(JSON.stringify(LAST_AUTO));const[bg,setBg]=React.useState(\"rgb(255, 255, 255)\");const[auto,setAuto]=React.useState(LAST_AUTO);const[ready,setReady]=React.useState(false);// The colours the form's own fields use (their Color Styles)\nconst[fieldColors,setFieldColors]=React.useState(null);useIsoEffect(()=>{ensureGlobalStyle();const read=()=>{const el=root.current;if(!el)return;setBg(pageBackground(el.parentElement));const fcNow=formColors(el);setFieldColors(old=>JSON.stringify(old)===JSON.stringify(fcNow)?old:fcNow);let next=readFormStyle(el);// A field that sets the look never reads its own look back\nif(p.styleSource===\"custom\"&&next&&next===FIELD_STORE.look)next=null;if(p.styleSource===\"custom\"||!next||!next.ink){const sample=formInk(el);if(sample)next={...next||{},ink:next&&next.ink?next.ink:sample.ink,inkColor:sample.color,inkWeak:sample.weak,siteFont:sample.font};}const key=JSON.stringify(next);if(key!==autoKey.current){autoKey.current=key;if(next){LAST_AUTO=next;setAutofillFont(next.font);}setAuto(next);}};read();// Shown straight away, whatever the read found: a field is never\n// left hidden.\nsetReady(true);const media=window.matchMedia(\"(prefers-color-scheme: dark)\");if(media.addEventListener)media.addEventListener(\"change\",read);const watch=new MutationObserver(read);watch.observe(document.documentElement,{attributes:true});watch.observe(document.body,{attributes:true});watch.observe(document.head,{childList:true});const timer=window.setInterval(read,300);const el=root.current;if(el){el.addEventListener(\"pointerenter\",read);el.addEventListener(\"focusin\",read);}return()=>{if(media.removeEventListener)media.removeEventListener(\"change\",read);watch.disconnect();window.clearInterval(timer);if(el){el.removeEventListener(\"pointerenter\",read);el.removeEventListener(\"focusin\",read);}};},[]);const custom=p.styleSource===\"custom\";const ink=auto?auto.ink:\"\";if(!custom){p.theme=\"auto\";if(kind===\"upload\"){// The upload box keeps its own frame; only the type follows.\np.font={...p.font||{},...auto?auto.font:{}};// The box's own border colour is always the designer's choice\nif(auto)p.textColor=auto.textColor;else delete p.textColor;if(auto&&auto.placeholderColor)p.mutedColor=auto.placeholderColor;else delete p.mutedColor;}else{MATCH_KEYS.forEach(key=>{const value=auto?auto[key]:undefined;if(value!==undefined)p[key]=value;else if(key in FIELD_DEFAULTS)p[key]=FIELD_DEFAULTS[key];else delete p[key];});}}// Upload box, newsletter and Send follow the colour style of the\n// form's own fields, so they are never black on a dark page\nif(kind===\"upload\"&&!custom&&fieldColors){p.textColor=fieldColors.text;if(fieldColors.muted)p.mutedColor=fieldColors.muted;}p.ready=custom||ready;const isAuto=p.theme!==\"dark\"&&p.theme!==\"light\";// The site's theme switch decides first; sampled colours only when the\n// page has no switch\nconst themeNow=siteTheme();const dark=isAuto?themeNow!==null?themeNow:fieldColors&&fieldColors.ink?!isDarkColor(fieldColors.ink):ink?!isDarkColor(ink):isDarkColor(bg):p.theme===\"dark\";const M=merge(MENU_DEFAULTS,p.menu);const text=p.textColor||(isAuto&&auto&&auto.inkColor?auto.inkColor:isAuto&&ink&&!(auto&&auto.inkWeak)?ink:dark?\"#ffffff\":\"#000000\");const mix=(base,amount)=>\"color-mix(in srgb, \"+base+\" \"+amount+\"%, transparent)\";const menuText=M.textColor||text;const pal={dark,text,muted:p.placeholderColor||p.mutedColor||mix(text,50),border:p.borderColor||mix(text,25),focus:p.focusColor||text,fill:p.fieldBackground||\"transparent\",menuBg:M.background||(isAuto&&isDarkColor(bg)===dark?bg:dark?\"#111111\":\"#ffffff\"),menuText,menuMuted:mix(menuText,50),menuBorder:M.borderColor||mix(menuText,14),hover:M.hoverColor||mix(menuText,8),selected:M.selectedColor||mix(menuText,5)};return{root,M,pal,auto};}/* One look for every thin line in the form. A FormLine set to \"Sets All\n   Lines\" publishes its look here; other lines and the fields follow it. */const LINE_STORE={main:null,key:\"\",subs:new Set};function publishLine(look){const key=JSON.stringify(look);if(key===LINE_STORE.key)return;LINE_STORE.key=key;LINE_STORE.main=look;LINE_STORE.subs.forEach(f=>f());}function useSharedLine(){const[,force]=React.useReducer(x=>x+1,0);React.useEffect(()=>{LINE_STORE.subs.add(force);return()=>{LINE_STORE.subs.delete(force);};},[]);return LINE_STORE.main;}/* Thin lines are drawn on whole screen pixels, so every line looks equally\n   thin. A line between two pixels is otherwise smeared over two of them and\n   looks thicker or fainter than the next one. */function snapToPixels(el){if(!el||typeof window===\"undefined\")return;const dpr=window.devicePixelRatio||1;el.style.translate=\"\";const top=el.getBoundingClientRect().top+window.scrollY;const off=Math.round(top*dpr)/dpr-top;if(Math.abs(off)>.01)el.style.translate=\"0 \"+off.toFixed(3)+\"px\";}function crispWidth(width){const dpr=typeof window!==\"undefined\"?window.devicePixelRatio||1:1;return Math.max(1/dpr,Math.round((Number(width)||1)*dpr)/dpr);}function Hairline(props){const ref=React.useRef(null);useIsoEffect(()=>{const el=ref.current;if(!el)return;const snap=()=>snapToPixels(el);snap();const ro=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(snap):null;if(ro){ro.observe(document.body);if(el.parentElement)ro.observe(el.parentElement);}window.addEventListener(\"resize\",snap);const later=window.setTimeout(snap,400);return()=>{if(ro)ro.disconnect();window.removeEventListener(\"resize\",snap);window.clearTimeout(later);};},[]);return /*#__PURE__*/_jsx(\"span\",{ref:ref,\"aria-hidden\":\"true\",style:{display:\"block\",height:0,borderTop:crispWidth(props.width)+\"px \"+(props.lineStyle||\"solid\")+\" \"+props.color,pointerEvents:\"none\",transition:\"border-color .2s ease\",...props.style}});}function lineFor(p,pal,active,shared){const mode=p.line||\"match\";if(mode===\"none\")return null;let color=active?pal.focus:pal.border;let width=p.borderWidth;let lineStyle=p.borderStyle;if(mode===\"shared\"){if(shared){color=active&&p.focusLine!==false?pal.focus:pal.dark?shared.dark:shared.light;width=shared.width;lineStyle=shared.lineStyle;}}else if(p.borderMode!==\"underline\")return null;return /*#__PURE__*/_jsx(Hairline,{color:color,width:width,lineStyle:lineStyle,style:{position:\"absolute\",left:0,right:0,bottom:0}});}function shellStyle(p,pal,active){const line=p.borderWidth+\"px \"+p.borderStyle+\" \"+(active?pal.focus:pal.border);const sides=(top,bottom)=>({borderTop:top,borderRight:top,borderLeft:top,borderBottom:bottom});// Each side is written out, so a button never falls back to its own border.\n// The underline is drawn by a Hairline inside the field (crisp and\n// identical to the other lines); a box keeps its border.\nconst border=p.borderMode===\"box\"&&p.line!==\"shared\"&&p.line!==\"none\"?sides(line,line):sides(\"none\",\"none\");return{position:\"relative\",display:\"flex\",alignItems:\"center\",width:\"100%\",boxSizing:\"border-box\",minHeight:p.minHeight,padding:p.padding,gap:p.gap,margin:0,background:pal.fill,color:pal.text,borderRadius:p.radius,...border,fontSize:15,lineHeight:1.3,opacity:p.ready===false?0:1,// Chrome's saved-info colours and native pickers follow the theme\ncolorScheme:pal.dark?\"dark\":\"light\",[\"--fts-fill-ink\"]:pal.text,transition:\"border-color .2s ease, background-color .2s ease\",...p.font};}function Icon(props){const size=props.size||14;return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 16 16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.4\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",style:{flexShrink:0,display:\"block\",...props.style},children:props.kind===\"check\"?/*#__PURE__*/_jsx(\"path\",{d:\"M3.5 8.5l3 3 6-7\"}):props.kind===\"search\"?/*#__PURE__*/_jsx(\"path\",{d:\"M11.5 7a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zM10.4 10.4l3.1 3.1\"}):props.kind===\"clip\"?/*#__PURE__*/_jsx(\"path\",{d:\"M13.5 7.5l-5.2 5.2a3.2 3.2 0 01-4.5-4.5l5.6-5.6a2.1 2.1 0 013 3L6.9 11.1a1.1 1.1 0 01-1.5-1.5l4.9-4.9\"}):/*#__PURE__*/_jsx(\"path\",{d:\"M4 6l4 4 4-4\"})});}function Flag(props){const{code,mode,size,radius}=props;if(mode===\"none\"||!code)return null;if(mode===\"emoji\")return /*#__PURE__*/_jsx(\"span\",{style:{fontSize:size+2,lineHeight:1,flexShrink:0},children:String.fromCodePoint(127397+code.charCodeAt(0),127397+code.charCodeAt(1))});const width=Math.round(size*1.4);return /*#__PURE__*/_jsx(\"img\",{src:\"https://flagcdn.com/\"+code.toLowerCase()+\".svg\",alt:\"\",loading:\"lazy\",width:width,height:size,style:{width,height:size,objectFit:\"cover\",borderRadius:radius,flexShrink:0,display:\"block\",boxShadow:\"0 0 0 0.5px rgba(128,128,128,0.4)\"}});}/* A slim, rounded scrollbar for the lists on desktop (phones keep their\n   own overlay bar). Firefox gets the thin standard bar in the same colour. */function ensureScrollStyle(){if(typeof document===\"undefined\"||document.getElementById(\"fts-scroll-style-2\"))return;const el=document.createElement(\"style\");el.id=\"fts-scroll-style-2\";el.textContent=\".fts-sb-thin::-webkit-scrollbar{width:12px;height:12px;background:transparent}\"+\".fts-sb-thin::-webkit-scrollbar-corner{background:transparent}\"+\".fts-sb-thin::-webkit-scrollbar-track{background:transparent}\"+\".fts-sb-thin::-webkit-scrollbar-thumb{background-color:var(--fts-thumb);border-radius:12px;border:4px solid transparent;background-clip:content-box;min-height:36px;transition:background-color .2s ease}\"+\".fts-sb-thin::-webkit-scrollbar-thumb:hover{background-color:var(--fts-thumb-hover)}\"+\".fts-sb-thin::-webkit-scrollbar-button{display:none;height:0;width:0}\"+\".fts-sb-hidden{scrollbar-width:none}.fts-sb-hidden::-webkit-scrollbar{display:none}\"+\"@supports not selector(::-webkit-scrollbar){.fts-sb-thin{scrollbar-width:thin;scrollbar-color:var(--fts-thumb) transparent}}\"+// Chrome / Edge / Safari: the designed bar wins over any inherited setting\n\"@supports selector(::-webkit-scrollbar){.fts-sb-thin{scrollbar-width:auto;scrollbar-color:auto}}\";document.head.appendChild(el);}/* The dropdown panel shared by every field. */function Menu(props){const{anchor,items,selectedKey,onPick,onClose,renderItem}=props;const{M,pal,font,allowCustom}=props;const searchable=!!(props.searchable||allowCustom);const box=React.useRef(null);const list=React.useRef(null);const search=React.useRef(null);const[query,setQuery]=React.useState(\"\");const[active,setActive]=React.useState(()=>Math.max(0,items.findIndex(item=>item.key===selectedKey)));const[pos,setPos]=React.useState(null);// \"Push down\" (default): the list opens inside the page and moves what is\n// below it down. \"Overlay\": it floats above the page.\nconst inline=M.mode!==\"overlay\"||!!props.still;const speed=Math.max(0,Number(M.duration)||0);const EASE=M.easing===\"standard\"?\"cubic-bezier(.2,.8,.2,1)\":M.easing===\"gentle\"?\"cubic-bezier(.4,0,.2,1)\":M.easing===\"linear\"?\"linear\":\"cubic-bezier(.22,1,.36,1)\";const wrapRef=React.useRef(null);// \"Minimal\" (default): no borders anywhere; the search lines up with the\n// text of the rows below it. \"Bordered\" keeps the earlier frame.\nconst minimal=M.look!==\"classic\";const rowLeft=(Number(M.padding)||0)+(parseFloat(String(M.optionPadding||\"10px 12px\").trim().split(/\\s+/)[1]||\"12\")||0);React.useEffect(ensureScrollStyle,[]);const innerRef=React.useRef(null);const[expanded,setExpanded]=React.useState(!inline);const closing=React.useRef(false);const finish=done=>{if(!speed)return done();if(closing.current)return;closing.current=true;const wrap=wrapRef.current;if(inline&&wrap){// From its real height down to nothing, never a jump\nwrap.style.height=wrap.offsetHeight+\"px\";void wrap.offsetHeight;wrap.style.height=\"0px\";}setExpanded(false);window.setTimeout(done,speed);};// Pressing the field again closes the list with the same glide\nconst shutSeen=React.useRef(props.shut);React.useEffect(()=>{if(props.shut===shutSeen.current)return;shutSeen.current=props.shut;finish(()=>onClose(false));},[props.shut]);React.useEffect(()=>{if(!inline)return;const frame=window.requestAnimationFrame(()=>setExpanded(true));// Brings the open list into view if it opened near the bottom\nconst later=window.setTimeout(()=>{if(box.current&&box.current.scrollIntoView){if(!props.still)box.current.scrollIntoView({block:\"nearest\",behavior:\"smooth\"});}},speed+20);return()=>{window.cancelAnimationFrame(frame);window.clearTimeout(later);};},[]);const shown=React.useMemo(()=>{const typed=query.trim();const q=typed.toLowerCase();const matches=q?items.filter(item=>item.search.indexOf(q)!==-1):items;// Typing something that is not in the list offers it as its own row.\nif(allowCustom&&typed&&!items.some(item=>item.search===q))return matches.concat([{key:typed,custom:true,search:q}]);return matches;},[items,query,allowCustom]);const place=React.useCallback(()=>{const el=anchor.current;if(!el)return;if(inline){// Set once: a new value on every scroll redrew the whole list\n// (240 countries) and stalled scrolling on phones and tablets\nsetPos(old=>old&&old.inline&&old.maxHeight===M.maxHeight?old:{inline:true,maxHeight:M.maxHeight});return;}const r=el.getBoundingClientRect();const vw=window.innerWidth;const vh=window.innerHeight;const width=Math.min(Math.max(r.width,M.minWidth),vw-16);const left=Math.max(8,Math.min(r.left,vw-width-8));const below=vh-r.bottom-M.offset-8;const above=r.top-M.offset-8;const up=below<220&&above>below;setPos({left,width,up,top:up?undefined:r.bottom+M.offset,bottom:up?vh-r.top+M.offset:undefined,maxHeight:Math.max(140,Math.min(M.maxHeight,up?above:below))});},[anchor,M.minWidth,M.offset,M.maxHeight]);React.useEffect(()=>{place();// A press outside closes the list only once the press is finished.\n// Closing straight away slid the form up under the pointer, so the\n// click landed on another field (pressing Position opened\n// \"Your project\" instead).\nlet afterPress=null;const down=event=>{const target=event.target;if(box.current&&box.current.contains(target))return;if(anchor.current&&anchor.current.contains(target))return;if(afterPress)return;const done=()=>{document.removeEventListener(\"pointerup\",done,true);document.removeEventListener(\"pointercancel\",done,true);afterPress=null;// After the click itself has reached the field pressed\nwindow.setTimeout(()=>finish(()=>onClose(false)),0);};afterPress=done;document.addEventListener(\"pointerup\",done,true);document.addEventListener(\"pointercancel\",done,true);};// Scrolling the list itself never moves the panel\nconst onScroll=event=>{if(inline)return;const t=event.target;if(box.current&&t&&t.nodeType&&box.current.contains(t))return;place();};if(!props.still)document.addEventListener(\"pointerdown\",down,true);window.addEventListener(\"resize\",place);window.addEventListener(\"scroll\",onScroll,true);return()=>{document.removeEventListener(\"pointerdown\",down,true);if(afterPress){document.removeEventListener(\"pointerup\",afterPress,true);document.removeEventListener(\"pointercancel\",afterPress,true);}window.removeEventListener(\"resize\",place);window.removeEventListener(\"scroll\",onScroll,true);};},[place]);const ready=pos!==null;// Scrollbar beside the rows: \"Outside\" puts it past the field's edge,\n// \"Inside\" keeps it in the field with a gap. Never over the text.\nconst[room,setRoom]=React.useState(true);const outsideBar=inline&&M.scrollbar!==\"hidden\"&&M.scrollPlace!==\"inside\"&&room;const barGap=Math.max(0,Number(M.scrollGap==null?8:M.scrollGap)||0);const[barW,setBarW]=React.useState(0);useIsoEffect(()=>{const el=list.current;if(!el)return;const measure=()=>{const w=Math.max(0,el.offsetWidth-el.clientWidth);setBarW(old=>Math.abs(old-w)>.5?w:old);// Outside only when nothing around the field cuts it off;\n// otherwise the bar stays inside, with its gap\nconst wrapEl=wrapRef.current;if(wrapEl){const need=wrapEl.getBoundingClientRect().right+w+barGap;let fits=true;for(let up=wrapEl.parentElement;up&&up!==document.body;up=up.parentElement){const ox=window.getComputedStyle(up).overflowX;if(ox!==\"visible\"&&up.getBoundingClientRect().right+.5<need){fits=false;break;}}setRoom(fits);}};measure();const ro=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(measure):null;if(ro)ro.observe(el);return()=>{if(ro)ro.disconnect();};},[ready,shown.length]);// Slow loop: the open list is already gliding as it opens, round and\n// round, and stops for good the moment it is touched, scrolled, clicked\n// or typed in. The rows are moved with a GPU transform, so the motion is\n// sub-pixel smooth on phones (scrolling moved in whole-pixel steps), and\n// on touch it hands over to normal scrolling at exactly the same spot.\nconst calm=typeof window!==\"undefined\"&&!!window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const[drift,setDrift]=React.useState(()=>M.autoScroll!==false&&!props.still&&!calm);const drifting=React.useRef(drift);const track=React.useRef(null);const loop=drift&&!query.trim();useIsoEffect(()=>{if(!ready||!loop||!drifting.current)return;const el=list.current;const tr=track.current;if(!el||!tr)return;const pace=Math.max(1,Number(M.autoSpeed)||18);const wait=Math.max(0,Number(M.autoDelay)||0);let raf=0;let last=0;let off=-1;let began=0;let pending=null;const round=()=>{const copy=el.querySelector(\"[data-clone]\");const first=el.querySelector(\"[data-i]\");return copy&&first?copy.offsetTop-first.offsetTop:0;};const paint=()=>{tr.style.transform=\"translate3d(0,\"+(-off).toFixed(2)+\"px,0)\";};const freeze=afterPress=>{if(!drifting.current)return;drifting.current=false;window.cancelAnimationFrame(raf);const h=round();const at=off<0?el.scrollTop:off;tr.style.transform=\"\";tr.style.willChange=\"\";el.scrollTop=at;// The copy is taken away only when that changes nothing on\n// screen; otherwise the list simply keeps it (it reads as a loop)\nif(!h||at+el.clientHeight>h-1)return;if(!afterPress)return setDrift(false);const done=()=>{document.removeEventListener(\"pointerup\",done,true);document.removeEventListener(\"pointercancel\",done,true);pending=null;window.setTimeout(()=>setDrift(false),0);};pending=done;document.addEventListener(\"pointerup\",done,true);document.addEventListener(\"pointercancel\",done,true);};const tick=now=>{if(!drifting.current)return;raf=window.requestAnimationFrame(tick);const h=round();if(!h)return;if(off<0){// A short list that already fits has nothing to glide\nif(h<=el.clientHeight+2){drifting.current=false;window.cancelAnimationFrame(raf);setDrift(false);return;}off=el.scrollTop%h;el.scrollTop=0;last=now;began=now+wait;tr.style.willChange=\"transform\";paint();return;}// Anything that set the scroll position (the chosen row being\n// brought into view) is folded into the glide, never a jump\nif(el.scrollTop){off=(off+el.scrollTop)%h;el.scrollTop=0;}const dt=Math.min(64,now-last);last=now;if(now>=began){off+=pace*dt/1e3;if(off>=h)off-=h;}paint();};raf=window.requestAnimationFrame(tick);const stopNow=()=>freeze(false);const stopAfter=()=>freeze(true);const host=box.current;el.addEventListener(\"wheel\",stopNow,{passive:true});el.addEventListener(\"touchstart\",stopAfter,{passive:true});if(host){host.addEventListener(\"pointerdown\",stopAfter,true);host.addEventListener(\"keydown\",stopNow,true);}return()=>{window.cancelAnimationFrame(raf);el.removeEventListener(\"wheel\",stopNow);el.removeEventListener(\"touchstart\",stopAfter);if(host){host.removeEventListener(\"pointerdown\",stopAfter,true);host.removeEventListener(\"keydown\",stopNow,true);}if(pending){document.removeEventListener(\"pointerup\",pending,true);document.removeEventListener(\"pointercancel\",pending,true);}tr.style.transform=\"\";tr.style.willChange=\"\";};},[ready,loop]);// Opens from nothing to the list's real height, then lets it size itself\nuseIsoEffect(()=>{if(!inline||!ready)return;const wrap=wrapRef.current;const inner=innerRef.current;if(!wrap||!inner)return;if(props.still){wrap.style.height=\"auto\";return;}wrap.style.height=\"0px\";void wrap.offsetHeight;const frame=window.requestAnimationFrame(()=>{if(!closing.current)wrap.style.height=inner.offsetHeight+\"px\";});const settle=event=>{if(event.target!==wrap||event.propertyName!==\"height\")return;if(!closing.current)wrap.style.height=\"auto\";};wrap.addEventListener(\"transitionend\",settle);return()=>{window.cancelAnimationFrame(frame);wrap.removeEventListener(\"transitionend\",settle);};},[ready]);React.useEffect(()=>{if(!ready)return;// Phones and tablets: the keyboard is not opened by itself (it\n// covered the list and moved the page); tapping Search opens it\nconst coarse=typeof window!==\"undefined\"&&!!window.matchMedia&&window.matchMedia(\"(pointer: coarse)\").matches;const target=searchable&&!coarse?search.current:box.current;if(target&&!props.still)target.focus({preventScroll:true});},[ready]);React.useEffect(()=>{if(!ready||!list.current)return;const row=list.current.querySelector('[data-i=\"'+active+'\"]');if(!row)return;const top=row.offsetTop;const bottom=top+row.offsetHeight;const view=list.current;if(top<view.scrollTop)view.scrollTop=top-M.padding;else if(bottom>view.scrollTop+view.clientHeight)view.scrollTop=bottom-view.clientHeight+M.padding;},[active,ready]);const onKey=event=>{if(event.key===\"ArrowDown\"){event.preventDefault();setActive(i=>Math.min(i+1,shown.length-1));}else if(event.key===\"ArrowUp\"){event.preventDefault();setActive(i=>Math.max(i-1,0));}else if(event.key===\"Enter\"){// Enter only confirms the highlighted row. It never sends the form.\nevent.preventDefault();event.stopPropagation();if(event.nativeEvent&&event.nativeEvent.isComposing)return;if(shown[active]){const picked=shown[active];finish(()=>onPick(picked));}}else if(event.key===\"Escape\"){event.preventDefault();finish(()=>onClose(true));}else if(event.key===\"Tab\"){finish(()=>onClose(false));}};if(!pos||typeof document===\"undefined\")return null;const panel={position:\"fixed\",zIndex:99999,left:pos.left,top:pos.top,bottom:pos.bottom,width:pos.width,maxHeight:pos.maxHeight,display:\"flex\",flexDirection:\"column\",boxSizing:\"border-box\",overflow:outsideBar&&barW>0?\"visible\":\"hidden\",outline:\"none\",background:minimal&&inline&&!M.background?\"transparent\":pal.menuBg,color:pal.menuText,colorScheme:pal.dark?\"dark\":\"light\",border:minimal?\"none\":M.borderWidth+\"px solid \"+pal.menuBorder,borderRadius:M.radius,boxShadow:M.shadow,backdropFilter:M.blur?\"blur(\"+M.blur+\"px)\":undefined,WebkitBackdropFilter:M.blur?\"blur(\"+M.blur+\"px)\":undefined,animation:\"ftsMenuIn .16s ease-out\",\"--fts-shift\":pos.up?\"4px\":\"-4px\",opacity:expanded?1:0,transition:\"opacity \"+Math.round(speed*.7)+\"ms ease\",fontSize:15,...font,lineHeight:1.35};if(inline)Object.assign(panel,{position:\"relative\",zIndex:\"auto\",left:undefined,top:undefined,bottom:undefined,width:\"100%\",maxHeight:M.maxHeight,boxShadow:M.inlineShadow?M.shadow:\"none\",animation:\"none\",opacity:expanded?1:0,transform:expanded?\"none\":\"translateY(-4px)\",transition:\"opacity \"+speed+\"ms ease, transform \"+speed+\"ms \"+EASE});// 16px or more, so phones do not zoom the page when the search is tapped.\nconst searchInput={flex:1,minWidth:0,border:\"none\",outline:\"none\",background:\"transparent\",color:\"inherit\",font:\"inherit\",fontSize:\"max(16px, 1em)\",lineHeight:1.35,padding:0,margin:0,\"--fts-ph\":pal.menuMuted};const content=/*#__PURE__*/_jsxs(\"div\",{ref:box,tabIndex:-1,onKeyDown:onKey,style:panel,children:[searchable?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,padding:minimal?\"12px \"+rowLeft+\"px 8px\":\"13px 16px\",borderBottom:minimal?\"none\":\"1px solid \"+pal.menuBorder,flexShrink:0},children:[!minimal||M.searchIcon?/*#__PURE__*/_jsx(Icon,{kind:\"search\",style:{opacity:.5}}):null,/*#__PURE__*/_jsx(\"input\",{ref:search,className:\"fts-input\",value:query,placeholder:allowCustom?props.customPlaceholder||\"Search or type your own\":M.searchPlaceholder,autoComplete:\"off\",autoCorrect:\"off\",spellCheck:false,enterKeyHint:\"done\",onChange:event=>{setQuery(event.target.value);setActive(0);},style:searchInput})]}):null,/*#__PURE__*/_jsxs(\"div\",{ref:list,className:\"fts-list fts-sb-\"+(M.scrollbar||\"thin\"),role:\"listbox\",style:{position:\"relative\",overflowY:\"auto\",overscrollBehavior:\"contain\",touchAction:\"pan-y\",WebkitOverflowScrolling:\"touch\",padding:M.padding,paddingRight:(Number(M.padding)||0)+(barW?barGap:0),marginRight:outsideBar&&barW?-(barW+barGap):0,[\"--fts-thumb\"]:M.thumbColor||\"color-mix(in srgb, \"+pal.menuText+\" 22%, transparent)\",[\"--fts-thumb-hover\"]:M.thumbColor||\"color-mix(in srgb, \"+pal.menuText+\" 40%, transparent)\",flex:1,minHeight:0},children:[/*#__PURE__*/_jsx(\"div\",{ref:track,children:(loop?shown.concat(shown):shown).map((item,n)=>{// The second copy makes the loop seamless; it is\n// only there while the list drifts\nconst clone=n>=shown.length;const i=clone?n-shown.length:n;const chosen=item.key===selectedKey;return /*#__PURE__*/_jsxs(\"div\",{\"data-i\":clone?undefined:i,\"data-clone\":clone?\"\":undefined,\"aria-hidden\":clone?true:undefined,role:clone?undefined:\"option\",\"aria-selected\":clone?undefined:chosen,onMouseMove:()=>{if(i!==active)setActive(i);},onClick:()=>finish(()=>onPick(item)),style:{display:\"flex\",alignItems:\"center\",gap:M.optionGap,padding:M.optionPadding,borderRadius:M.optionRadius,cursor:\"pointer\",userSelect:\"none\",background:i===active?pal.hover:chosen?pal.selected:\"transparent\"},children:[item.custom?/*#__PURE__*/_jsxs(\"span\",{style:oneLine,children:[/*#__PURE__*/_jsx(\"span\",{style:{color:pal.menuMuted},children:(props.customText||\"Use\")+\" \"}),item.key]}):renderItem(item),M.check&&chosen&&!item.custom?/*#__PURE__*/_jsx(Icon,{kind:\"check\"}):null]},(clone?\"loop:\":\"\")+(item.custom?\"custom:\":\"\")+item.key);})}),!shown.length?/*#__PURE__*/_jsx(\"div\",{style:{padding:M.optionPadding,color:pal.menuMuted},children:M.emptyText}):null]})]});if(!inline)return /*#__PURE__*/createPortal(content,document.body);// The row grows smoothly to the list's height and pushes the page down\nreturn /*#__PURE__*/_jsx(\"div\",{ref:wrapRef,className:\"fts-anim\",style:{height:0,overflow:outsideBar&&barW>0?\"visible\":\"hidden\",clipPath:outsideBar&&barW>0?\"inset(0 -96px 0 0)\":undefined,transition:\"height \"+speed+\"ms \"+EASE,willChange:\"height\"},children:/*#__PURE__*/_jsx(\"div\",{ref:innerRef,style:{paddingTop:M.offset},children:content})});}/* One line of text. The line is tall enough for letters like g, p and y,\n   so nothing is cut at the bottom; only an over-long value gets \"...\". */const oneLine={flex:1,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",lineHeight:1.35,paddingBlock:\"0.12em\",marginBlock:\"-0.12em\"};const bareButton={appearance:\"none\",WebkitAppearance:\"none\",textAlign:\"left\",outline:\"none\",cursor:\"pointer\"};/* Invisible input that carries the chosen value into the form, so the\n   browser's own \"required\" check and the sheet both see it. */function ValueInput(props){return /*#__PURE__*/_jsx(\"input\",{name:props.name,value:props.value,required:props.required,autoComplete:\"off\",onChange:()=>{},onFocus:()=>{if(props.focusTo.current)props.focusTo.current.focus();},style:{position:\"absolute\",left:0,bottom:0,width:\"100%\",height:1,opacity:0,background:\"transparent\",color:\"transparent\",caretColor:\"transparent\",outline:\"none\",boxShadow:\"none\",appearance:\"none\",WebkitAppearance:\"none\",clipPath:\"inset(50%)\",pointerEvents:\"none\",border:0,padding:0,margin:0}});}/* ------------------------------- controls -------------------------------- */function fieldControls(withFlag){const controls={theme:{title:\"Theme\",type:ControlType.Enum,options:[\"auto\",\"light\",\"dark\"],optionTitles:[\"Auto\",\"Light\",\"Dark\"],defaultValue:\"auto\",displaySegmentedControl:true},font:{title:\"Font\",type:ControlType.Font,controls:\"extended\"},textColor:{title:\"Text\",type:ControlType.Color,optional:true},placeholderColor:{title:\"Placeholder\",type:ControlType.Color,optional:true},fieldBackground:{title:\"Fill\",type:ControlType.Color,optional:true},borderMode:{title:\"Border\",type:ControlType.Enum,options:[\"underline\",\"box\",\"none\"],optionTitles:[\"Underline\",\"Box\",\"None\"],defaultValue:\"underline\"},borderColor:{title:\"Border Color\",type:ControlType.Color,optional:true},focusColor:{title:\"Focus Color\",type:ControlType.Color,optional:true},borderWidth:{title:\"Border Width\",type:ControlType.Number,defaultValue:1,min:0,max:8,step:.5,displayStepper:true},borderStyle:{title:\"Border Style\",type:ControlType.Enum,options:[\"solid\",\"dashed\",\"dotted\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\"],defaultValue:\"solid\"},radius:{title:\"Radius\",type:ControlType.Number,defaultValue:0,min:0,max:60},padding:{title:\"Padding\",type:ControlType.Padding,defaultValue:\"10px 0px 10px 0px\"},minHeight:{title:\"Min Height\",type:ControlType.Number,defaultValue:44,min:0,max:160},gap:{title:\"Gap\",type:ControlType.Number,defaultValue:10,min:0,max:40},chevron:{title:\"Arrow\",type:ControlType.Boolean,defaultValue:true},chevronSize:{title:\"Arrow Size\",type:ControlType.Number,defaultValue:14,min:8,max:32,hidden:props=>!props.chevron}};if(withFlag){controls.flagMode={title:\"Flag\",type:ControlType.Enum,options:[\"image\",\"emoji\",\"none\"],optionTitles:[\"Image\",\"Emoji\",\"None\"],defaultValue:\"image\"};controls.flagSize={title:\"Flag Size\",type:ControlType.Number,defaultValue:14,min:8,max:40};controls.flagRadius={title:\"Flag Radius\",type:ControlType.Number,defaultValue:2,min:0,max:20};}controls.menu={title:\"Dropdown\",type:ControlType.Object,buttonTitle:\"Style\",controls:{background:{title:\"Fill\",type:ControlType.Color,optional:true},textColor:{title:\"Text\",type:ControlType.Color,optional:true},borderColor:{title:\"Border\",type:ControlType.Color,optional:true},hoverColor:{title:\"Hover\",type:ControlType.Color,optional:true},selectedColor:{title:\"Selected\",type:ControlType.Color,optional:true},borderWidth:{title:\"Border Width\",type:ControlType.Number,defaultValue:1,min:0,max:6,step:.5},radius:{title:\"Radius\",type:ControlType.Number,defaultValue:12,min:0,max:40},shadow:{title:\"Shadow\",type:ControlType.BoxShadow,defaultValue:\"0px 16px 48px rgba(0,0,0,0.22)\"},blur:{title:\"Blur\",type:ControlType.Number,defaultValue:0,min:0,max:60},maxHeight:{title:\"Max Height\",type:ControlType.Number,defaultValue:320,min:140,max:800,step:10},minWidth:{title:\"Min Width\",type:ControlType.Number,defaultValue:260,min:120,max:800,step:10},offset:{title:\"Offset\",type:ControlType.Number,defaultValue:8,min:0,max:40},padding:{title:\"Padding\",type:ControlType.Number,defaultValue:6,min:0,max:32},optionPadding:{title:\"Row Padding\",type:ControlType.Padding,defaultValue:\"10px 12px 10px 12px\"},optionRadius:{title:\"Row Radius\",type:ControlType.Number,defaultValue:8,min:0,max:30},optionGap:{title:\"Row Gap\",type:ControlType.Number,defaultValue:10,min:0,max:30},check:{title:\"Checkmark\",type:ControlType.Boolean,defaultValue:true},searchPlaceholder:{title:\"Search Text\",type:ControlType.String,defaultValue:\"Search\"},emptyText:{title:\"Empty Text\",type:ControlType.String,defaultValue:\"No results\"},look:{title:\"Look\",type:ControlType.Enum,options:[\"minimal\",\"classic\"],optionTitles:[\"Minimal\",\"Bordered\"],defaultValue:\"minimal\",displaySegmentedControl:true,description:\"Minimal: no borders, search lined up with the list.\"},searchIcon:{title:\"Search Icon\",type:ControlType.Boolean,defaultValue:false,hidden:props=>props.look===\"classic\"},scrollbar:{title:\"Scrollbar\",type:ControlType.Enum,options:[\"thin\",\"hidden\",\"system\"],optionTitles:[\"Slim\",\"Hidden\",\"System\"],defaultValue:\"thin\"},thumbColor:{title:\"Scrollbar Colour\",type:ControlType.Color,optional:true},scrollPlace:{title:\"Scrollbar Place\",type:ControlType.Enum,options:[\"outside\",\"inside\"],optionTitles:[\"Outside\",\"Inside\"],defaultValue:\"outside\",displaySegmentedControl:true,description:\"Outside: the bar sits past the field's right edge. Inside: in the field, with a gap so it never covers text.\",hidden:props=>props.scrollbar===\"hidden\"},scrollGap:{title:\"Scrollbar Gap\",type:ControlType.Number,defaultValue:8,min:0,max:32,unit:\"px\",hidden:props=>props.scrollbar===\"hidden\"},autoScroll:{title:\"Auto Scroll\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Loop\",disabledTitle:\"Off\",description:\"The open list drifts slowly in a loop and stops for good once it is touched, scrolled or typed in.\"},autoSpeed:{title:\"Loop Speed\",type:ControlType.Number,defaultValue:18,min:4,max:120,step:1,unit:\"px/s\",hidden:props=>props.autoScroll===false},autoDelay:{title:\"Loop Starts\",type:ControlType.Number,defaultValue:0,min:0,max:4e3,step:100,unit:\"ms\",hidden:props=>props.autoScroll===false},mode:{title:\"Opens\",type:ControlType.Enum,options:[\"inline\",\"overlay\"],optionTitles:[\"Push Down\",\"Overlay\"],defaultValue:\"inline\",displaySegmentedControl:true,description:\"Push Down opens the list inside the form and moves the fields below it down.\"},duration:{title:\"Speed\",type:ControlType.Number,defaultValue:340,min:0,max:1200,step:10,unit:\"ms\",description:\"Opening and closing.\"},easing:{title:\"Easing\",type:ControlType.Enum,options:[\"smooth\",\"standard\",\"gentle\",\"linear\"],optionTitles:[\"Smooth\",\"Standard\",\"Gentle\",\"Linear\"],defaultValue:\"smooth\"},inlineShadow:{title:\"Shadow (Push)\",type:ControlType.Boolean,defaultValue:false,hidden:props=>props.mode===\"overlay\"}}};const matched=[\"theme\"].concat(MATCH_KEYS);matched.forEach(key=>{if(controls[key])controls[key].hidden=props=>props.styleSource!==\"custom\";});return{styleSource:styleSourceControl(),line:{title:\"Line\",type:ControlType.Enum,options:[\"match\",\"shared\",\"none\"],optionTitles:[\"Like Inputs\",\"Shared Line\",\"None\"],defaultValue:\"match\",description:\"Shared Line uses the look of the FormLine set to Sets All Lines, so every line is identical.\"},canvasMenu:{title:\"Canvas\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"List Open\",disabledTitle:\"Closed\",description:\"Shows the dropdown open on the canvas so you can style it. The live site is not affected.\"},focusLine:{title:\"Line on Focus\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Highlight\",disabledTitle:\"Same\",hidden:props=>props.line!==\"shared\"},...controls};}function styleSourceControl(){return{title:\"Style\",type:ControlType.Enum,options:[\"match\",\"custom\"],optionTitles:[\"Like Inputs\",\"Custom\"],defaultValue:\"match\",displaySegmentedControl:true,description:\"Like Inputs copies the font, colours, fill, padding and line of the form's normal inputs.\"};}function uploadControls(controls){const matched=[\"theme\",\"font\",\"textColor\",\"mutedColor\"];matched.forEach(key=>{if(controls[key])controls[key].hidden=props=>props.styleSource!==\"custom\";});return{styleSource:styleSourceControl(),...controls};}/* -------------------------------- FORM LINE ------------------------------ *//* A thin divider for the form. Set ONE line to \"Sets All Lines\": every other\n   FormLine, every field set to Line → Shared Line, and the plain 1 px divider\n   frames inside the form then take exactly its look. Lines are drawn on whole\n   screen pixels and switch with light / dark. *//**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 1\n */export function FormLine(props){const p=merge({role:\"follow\",width:1,lineStyle:\"solid\",colorMode:\"auto\",opacity:22,color:\"rgba(0,0,0,0.18)\",colorDark:\"rgba(255,255,255,0.2)\"},props);const root=React.useRef(null);const[dark,setDark]=React.useState(false);const shared=useSharedLine();useIsoEffect(()=>{const read=()=>{const el=root.current;if(!el)return;setDark(isDarkColor(pageBackground(el.parentElement)));};read();const watch=new MutationObserver(read);watch.observe(document.documentElement,{attributes:true});watch.observe(document.body,{attributes:true});const timer=window.setInterval(read,400);const media=window.matchMedia(\"(prefers-color-scheme: dark)\");if(media.addEventListener)media.addEventListener(\"change\",read);return()=>{watch.disconnect();window.clearInterval(timer);if(media.removeEventListener)media.removeEventListener(\"change\",read);};},[]);const mix=(base,amount)=>\"color-mix(in srgb, \"+base+\" \"+amount+\"%, transparent)\";const own={width:p.width,lineStyle:p.lineStyle,light:p.colorMode===\"custom\"?p.color:mix(\"#000000\",p.opacity),dark:p.colorMode===\"custom\"?p.colorDark:mix(\"#ffffff\",p.opacity)};React.useEffect(()=>{if(p.role===\"main\")publishLine(own);});const look=p.role===\"follow\"&&shared?shared:own;return /*#__PURE__*/_jsx(\"div\",{ref:root,style:{width:\"100%\",...props.style},children:/*#__PURE__*/_jsx(Hairline,{color:dark?look.dark:look.light,width:look.width,lineStyle:look.lineStyle})});}addPropertyControls(FormLine,{role:{title:\"Role\",type:ControlType.Enum,options:[\"main\",\"follow\",\"own\"],optionTitles:[\"Sets All Lines\",\"Follows Main\",\"Own Look\"],defaultValue:\"follow\",description:\"Set one line to Sets All Lines. Lines that follow use its look (or their own until a main line exists).\"},width:{title:\"Thickness\",type:ControlType.Number,defaultValue:1,min:.25,max:4,step:.25,unit:\"px\",hidden:props=>props.role===\"follow\"},lineStyle:{title:\"Style\",type:ControlType.Enum,options:[\"solid\",\"dashed\",\"dotted\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\"],defaultValue:\"solid\",hidden:props=>props.role===\"follow\"},colorMode:{title:\"Colour\",type:ControlType.Enum,options:[\"auto\",\"custom\"],optionTitles:[\"Auto\",\"Custom\"],defaultValue:\"auto\",displaySegmentedControl:true,description:\"Auto: black on light pages, white on dark pages.\",hidden:props=>props.role===\"follow\"},opacity:{title:\"Strength\",type:ControlType.Number,defaultValue:22,min:4,max:100,step:1,unit:\"%\",hidden:props=>props.role===\"follow\"||props.colorMode===\"custom\"},color:{title:\"Light Mode\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.18)\",hidden:props=>props.role===\"follow\"||props.colorMode!==\"custom\"},colorDark:{title:\"Dark Mode\",type:ControlType.Color,defaultValue:\"rgba(255,255,255,0.2)\",hidden:props=>props.role===\"follow\"||props.colorMode!==\"custom\"}});/* ----------------------------- COUNTRY SELECT ---------------------------- *//**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export function CountrySelect(props){const p=merge(FIELD_DEFAULTS,{name:\"Location\",placeholder:\"Location\",showDial:false,selected:\"flag\"},props);const{root,M,pal}=useField(p);const sharedLine=useSharedLine();const button=React.useRef(null);const[open,setOpen]=React.useState(false);const[shut,setShut]=React.useState(0);// Canvas only: keep the list open so it can be styled in place\nconst onCanvasF=RenderTarget.current()===RenderTarget.canvas;const showOpen=open||onCanvasF&&!!p.canvasMenu;const[focused,setFocused]=React.useState(false);const[code,setCode]=React.useState(String(p.defaultCountry||\"\").toUpperCase());React.useEffect(()=>{const clear=()=>setCode(String(p.defaultCountry||\"\").toUpperCase());window.addEventListener(\"fts:reset\",clear);return()=>window.removeEventListener(\"fts:reset\",clear);},[p.defaultCountry]);const items=React.useMemo(()=>countryItems(p.pinned),[p.pinned]);const current=COUNTRIES.find(c=>c.code===code);// The list always shows flags; the chosen country follows the setting.\nconst listFlag=p.flagMode===\"none\"?\"image\":p.flagMode;const showFlag=p.selected!==\"name\";return /*#__PURE__*/_jsxs(\"div\",{ref:root,\"data-fts\":\"\",style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"button\",{ref:button,type:\"button\",\"aria-haspopup\":\"listbox\",\"aria-expanded\":open,\"aria-label\":p.placeholder,onClick:()=>open?setShut(n=>n+1):setOpen(true),onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),onKeyDown:event=>{if(event.key===\"ArrowDown\"&&!open){event.preventDefault();setOpen(true);}},style:{...shellStyle(p,pal,focused||open),...bareButton},children:[current&&showFlag?/*#__PURE__*/_jsx(Flag,{code:current.code,mode:listFlag,size:p.flagSize,radius:p.flagRadius}):null,/*#__PURE__*/_jsx(\"span\",{style:{...oneLine,color:current?pal.text:pal.muted},children:current?current.name:p.placeholder}),p.chevron?/*#__PURE__*/_jsx(Icon,{size:p.chevronSize,style:{opacity:.6,transition:\"transform .2s ease\",transform:showOpen?\"rotate(180deg)\":\"none\"}}):null,lineFor(p,pal,focused||open,sharedLine)]}),/*#__PURE__*/_jsx(ValueInput,{name:p.name,value:current?current.name:\"\",required:p.required,focusTo:button}),showOpen?/*#__PURE__*/_jsx(Menu,{still:onCanvasF,shut:shut,anchor:root,items:items,selectedKey:code,searchable:p.searchable!==false,M:M,pal:pal,font:p.font,onClose:refocus=>{setOpen(false);if(refocus&&button.current)button.current.focus();},onPick:item=>{setCode(item.key);setOpen(false);if(button.current)button.current.focus();},renderItem:item=>/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Flag,{code:item.key,mode:listFlag,size:p.flagSize,radius:p.flagRadius}),/*#__PURE__*/_jsx(\"span\",{style:oneLine,children:item.country.name}),p.showDial?/*#__PURE__*/_jsx(\"span\",{style:{color:pal.menuMuted},children:dialLabel(item.country.dial)}):null]})}):null]});}addPropertyControls(CountrySelect,{selected:{title:\"Selected\",type:ControlType.Enum,options:[\"flag\",\"name\"],optionTitles:[\"Flag + Name\",\"Name Only\"],defaultValue:\"flag\",displaySegmentedControl:true,description:\"How the chosen country shows in the field. The list always shows flags.\"},name:{title:\"Field Name\",type:ControlType.String,defaultValue:\"Location\"},placeholder:{title:\"Placeholder\",type:ControlType.String,defaultValue:\"Location\"},required:{title:\"Required\",type:ControlType.Boolean,defaultValue:false},defaultCountry:{title:\"Default\",type:ControlType.String,defaultValue:\"\",placeholder:\"EG (empty = none)\"},pinned:{title:\"Pin On Top\",type:ControlType.String,defaultValue:\"EG, SA, AE\",placeholder:\"EG, SA, AE\"},searchable:{title:\"Search\",type:ControlType.Boolean,defaultValue:true},showDial:{title:\"Show Code\",type:ControlType.Boolean,defaultValue:false},...fieldControls(true)});/* ------------------------------- TEXT FIELD ------------------------------ *//* Name, Email, Your project… One component for every typed field. It sends\n   under its Field Name like the others and sets the look that the dropdowns\n   copy (font, colours, padding, height, line). *//**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export function TextField(props){const p=merge(FIELD_DEFAULTS,{name:\"Name\",placeholder:\"Name\",kind:\"text\",padding:\"0px 0px 0px 0px\",minHeight:26,areaHeight:162,borderMode:\"none\",line:\"none\",resize:\"none\",autoGrow:true,font:{fontFamily:'\"Inter Variable\", \"Inter\", sans-serif',fontSize:\"15px\",fontWeight:400}},props);p.styleSource=\"custom\";const multi=p.kind===\"message\";const{root,pal,auto}=useField(p);// \"Like Site\": the font family of the form's own text, exactly as on\n// the live site (size and weight come from the Text Style control).\nif(p.fontMode!==\"custom\")p.font={...p.font||{},fontFamily:auto&&auto.siteFont||'\"Inter Variable\", \"Inter\", sans-serif'};const sharedLine=useSharedLine();const box=React.useRef(null);const[focused,setFocused]=React.useState(false);const[value,setValue]=React.useState(\"\");React.useEffect(()=>{const clear=()=>setValue(\"\");window.addEventListener(\"fts:reset\",clear);return()=>window.removeEventListener(\"fts:reset\",clear);},[]);// The look the dropdowns follow\nReact.useEffect(()=>{const look={font:p.font,padding:p.padding,minHeight:p.minHeight,borderMode:p.borderMode,borderWidth:p.borderWidth,borderStyle:p.borderStyle,radius:p.radius};if(p.textColor)look.textColor=p.textColor;if(p.placeholderColor)look.placeholderColor=p.placeholderColor;if(p.fieldBackground)look.fieldBackground=p.fieldBackground;if(p.borderColor)look.borderColor=p.borderColor;if(p.focusColor)look.focusColor=p.focusColor;// The colours really on screen, so the dropdowns switch light / dark\n// together with the text fields\nlook.textColor=p.textColor||pal.text;if(box.current&&!isAutofilled(box.current))look.ink=window.getComputedStyle(box.current).color;if(!multi)publishFieldLook(look);});// A message box grows with its text (never smaller than its height)\nconst fit=React.useCallback(()=>{const el=box.current;if(!el||!multi||!p.autoGrow)return;el.style.height=\"auto\";el.style.height=Math.max(el.scrollHeight,Number(p.areaHeight)||0)+\"px\";},[multi,p.autoGrow,p.areaHeight]);useIsoEffect(fit,[value,fit]);const typeOf={text:\"text\",email:\"email\",phone:\"tel\",url:\"url\",number:\"number\"};const autoOf={text:p.name===\"Name\"?\"name\":\"on\",email:\"email\",phone:\"tel\",url:\"url\",number:\"off\"};const inputStyle={flex:1,minWidth:0,width:\"100%\",border:\"none\",outline:\"none\",background:\"transparent\",color:\"inherit\",font:\"inherit\",letterSpacing:\"inherit\",lineHeight:multi?1.35:\"inherit\",padding:0,margin:0,boxShadow:\"none\",appearance:\"none\",WebkitAppearance:\"none\",borderRadius:0,\"--fts-ph\":pal.muted};const shared={ref:box,className:\"fts-input\",name:p.name,placeholder:p.placeholder,required:p.required,value,\"aria-label\":p.placeholder||p.name,onChange:event=>setValue(event.target.value),onFocus:()=>setFocused(true),onBlur:()=>setFocused(false)};return /*#__PURE__*/_jsx(\"div\",{ref:root,\"data-fts\":\"\",style:{position:\"relative\",width:\"100%\"},children:/*#__PURE__*/_jsxs(\"div\",{onClick:()=>box.current&&box.current.focus(),style:{...shellStyle(p,pal,focused),cursor:\"text\",alignItems:multi?\"flex-start\":\"center\"},children:[multi?/*#__PURE__*/_jsx(\"textarea\",{...shared,rows:2,style:{...inputStyle,display:\"block\",minHeight:Number(p.areaHeight)||0,resize:p.autoGrow?\"none\":p.resize,overflow:p.autoGrow?\"hidden\":\"auto\"}}):/*#__PURE__*/_jsx(\"input\",{...shared,type:typeOf[p.kind]||\"text\",inputMode:p.kind===\"phone\"?\"tel\":p.kind===\"email\"?\"email\":undefined,autoComplete:autoOf[p.kind]||\"on\",style:inputStyle}),lineFor(p,pal,focused,sharedLine)]})});}{const c=fieldControls(false);delete c.chevron;delete c.chevronSize;delete c.menu;delete c.canvasMenu;delete c.styleSource;Object.keys(c).forEach(k=>{if(c[k]&&c[k].hidden)delete c[k].hidden;});if(c.focusLine)c.focusLine.hidden=props=>props.line!==\"shared\";c.line={...c.line,defaultValue:\"none\"};c.borderMode={...c.borderMode,defaultValue:\"none\"};c.padding={...c.padding,defaultValue:\"0px 0px 0px 0px\"};c.minHeight={...c.minHeight,defaultValue:26};c.font={...c.font,title:\"Text Style\",defaultValue:{fontSize:15,variant:\"Regular\"}};addPropertyControls(TextField,{kind:{title:\"Type\",type:ControlType.Enum,options:[\"text\",\"email\",\"message\",\"phone\",\"url\",\"number\"],optionTitles:[\"Text\",\"Email\",\"Message\",\"Phone\",\"Link\",\"Number\"],defaultValue:\"text\"},name:{title:\"Field Name\",type:ControlType.String,defaultValue:\"Name\"},placeholder:{title:\"Placeholder\",type:ControlType.String,defaultValue:\"Name\"},required:{title:\"Required\",type:ControlType.Boolean,defaultValue:false},areaHeight:{title:\"Box Height\",type:ControlType.Number,defaultValue:162,min:40,max:600,step:2,hidden:props=>props.kind!==\"message\"},autoGrow:{title:\"Grow\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"With Text\",disabledTitle:\"Fixed\",hidden:props=>props.kind!==\"message\"},resize:{title:\"Resize\",type:ControlType.Enum,options:[\"none\",\"vertical\"],optionTitles:[\"Off\",\"Drag\"],defaultValue:\"none\",displaySegmentedControl:true,hidden:props=>props.kind!==\"message\"||props.autoGrow!==false},fontMode:{title:\"Font\",type:ControlType.Enum,options:[\"site\",\"custom\"],optionTitles:[\"Like Site\",\"Custom\"],defaultValue:\"site\",displaySegmentedControl:true,description:\"Like Site uses your form's own font. Size and weight come from Text Style.\"},...c});}/* ------------------------------ PHONE FIELD ------------------------------ *//**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export function PhoneField(props){const p=merge(FIELD_DEFAULTS,{name:\"Phone\",placeholder:\"Phone number\",defaultCountry:\"EG\",divider:true},props);const{root,M,pal}=useField(p);const sharedLine=useSharedLine();const button=React.useRef(null);const input=React.useRef(null);const row=React.useRef(null);const[open,setOpen]=React.useState(false);const[shut,setShut]=React.useState(0);// Canvas only: keep the list open so it can be styled in place\nconst onCanvasF=RenderTarget.current()===RenderTarget.canvas;const showOpen=open||onCanvasF&&!!p.canvasMenu;const[focused,setFocused]=React.useState(false);const[code,setCode]=React.useState(String(p.defaultCountry||\"EG\").toUpperCase());const[number,setNumber]=React.useState(\"\");// The flag and code appear when the field is used (or a country was\n// picked, or a number typed). Until then only \"Phone number\" shows,\n// in the same place as every other field's text.\nconst[inside,setInside]=React.useState(false);const[picked,setPicked]=React.useState(false);const leave=React.useRef(0);// Picking a country alone no longer keeps it open: with no number\n// typed, leaving the field always goes back to \"Phone number\".\nconst reveal=p.codeDisplay===\"always\"||inside||showOpen||!!number.trim();// Leaving the field by pressing or tabbing anywhere else (another\n// dropdown, the page) closes it. Safari does not focus buttons, so a\n// press elsewhere did not always fire the field's own blur before.\nReact.useEffect(()=>{if(!inside)return;const away=event=>{const el=root.current;const target=event.target;if(el&&target&&el.contains(target))return;window.clearTimeout(leave.current);leave.current=window.setTimeout(()=>{const now=root.current;if(now&&now.contains(document.activeElement))return;setInside(false);},140);};document.addEventListener(\"pointerdown\",away,true);document.addEventListener(\"focusin\",away,true);return()=>{document.removeEventListener(\"pointerdown\",away,true);document.removeEventListener(\"focusin\",away,true);};},[inside]);const codeSpeed=Math.max(0,Number(p.codeSpeed??320));React.useEffect(()=>{const clear=()=>{setNumber(\"\");setPicked(false);setCode(String(p.defaultCountry||\"EG\").toUpperCase());};window.addEventListener(\"fts:reset\",clear);return()=>window.removeEventListener(\"fts:reset\",clear);},[p.defaultCountry]);const items=React.useMemo(()=>countryItems(p.pinned),[p.pinned]);const current=COUNTRIES.find(c=>c.code===code)||COUNTRIES.find(c=>c.code===\"EG\");const full=number.trim()?dialLabel(current.dial)+\" \"+number.trim():\"\";const inputStyle={flex:1,minWidth:0,border:\"none\",outline:\"none\",background:\"transparent\",color:\"inherit\",font:\"inherit\",letterSpacing:\"inherit\",padding:0,margin:0,\"--fts-ph\":pal.muted};return(// The field row, with the country list opening underneath it (like\n// the other dropdowns), not squeezed beside the code.\n/*#__PURE__*/_jsxs(\"div\",{ref:root,\"data-fts\":\"\",style:{position:\"relative\",width:\"100%\"},onFocusCapture:()=>{window.clearTimeout(leave.current);setInside(true);},onPointerDownCapture:()=>{window.clearTimeout(leave.current);setInside(true);},onBlurCapture:()=>{window.clearTimeout(leave.current);// A short wait, so a tap on the code (Safari does not focus\n// buttons) never hides it before the tap lands.\nleave.current=window.setTimeout(()=>{const el=root.current;if(el&&el.contains(document.activeElement))return;setInside(false);},220);},children:[/*#__PURE__*/_jsxs(\"div\",{ref:row,onClick:event=>{if(event.target===row.current&&input.current)input.current.focus();},style:{...shellStyle(p,pal,focused||open),position:\"relative\",cursor:\"text\",gap:0},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":!reveal,style:{display:\"flex\",alignSelf:\"stretch\",flexShrink:0,overflow:\"hidden\",maxWidth:reveal?240:0,marginRight:reveal?p.gap:0,opacity:reveal?1:0,transform:reveal?\"none\":\"translateX(-6px)\",transition:\"max-width \"+codeSpeed+\"ms cubic-bezier(.22,1,.36,1), margin-right \"+codeSpeed+\"ms cubic-bezier(.22,1,.36,1), opacity \"+Math.round(codeSpeed*.8)+\"ms ease, transform \"+codeSpeed+\"ms cubic-bezier(.22,1,.36,1)\"},children:/*#__PURE__*/_jsxs(\"button\",{ref:button,type:\"button\",tabIndex:reveal?0:-1,\"aria-haspopup\":\"listbox\",\"aria-expanded\":open,\"aria-label\":\"Country code\",onClick:()=>open?setShut(n=>n+1):setOpen(true),style:{...bareButton,display:\"flex\",alignItems:\"center\",alignSelf:\"stretch\",gap:6,border:\"none\",borderRight:p.divider?\"1px solid \"+pal.border:\"none\",background:\"transparent\",color:\"inherit\",font:\"inherit\",letterSpacing:\"inherit\",padding:0,paddingRight:p.divider?p.gap:0,margin:0,flexShrink:0},children:[/*#__PURE__*/_jsx(Flag,{code:current.code,mode:p.flagMode,size:p.flagSize,radius:p.flagRadius}),/*#__PURE__*/_jsx(\"span\",{children:dialLabel(current.dial)}),p.chevron?/*#__PURE__*/_jsx(Icon,{size:p.chevronSize,style:{opacity:.6,transition:\"transform .2s ease\",transform:showOpen?\"rotate(180deg)\":\"none\"}}):null]})}),/*#__PURE__*/_jsx(\"input\",{ref:input,className:\"fts-input\",type:\"tel\",inputMode:\"tel\",autoComplete:\"tel-national\",\"aria-label\":p.placeholder,placeholder:p.placeholder,required:p.required,value:number,onChange:event=>setNumber(event.target.value.replace(/[^\\d\\s()+-]/g,\"\")),onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),style:inputStyle}),/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:p.name,value:full}),lineFor(p,pal,focused||open,sharedLine)]}),showOpen?/*#__PURE__*/_jsx(Menu,{still:onCanvasF,shut:shut,anchor:root,items:items,selectedKey:current.code,searchable:p.searchable!==false,M:M,pal:pal,font:p.font,onClose:refocus=>{setOpen(false);if(refocus&&button.current)button.current.focus();},onPick:item=>{setCode(item.key);setPicked(true);setOpen(false);if(input.current)input.current.focus();},renderItem:item=>/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Flag,{code:item.key,mode:p.flagMode,size:p.flagSize,radius:p.flagRadius}),/*#__PURE__*/_jsx(\"span\",{style:oneLine,children:item.country.name}),/*#__PURE__*/_jsx(\"span\",{style:{color:pal.menuMuted},children:dialLabel(item.country.dial)})]})}):null]}));}addPropertyControls(PhoneField,{codeDisplay:{title:\"Flag & Code\",type:ControlType.Enum,options:[\"focus\",\"always\"],optionTitles:[\"When Used\",\"Always\"],defaultValue:\"focus\",displaySegmentedControl:true,description:\"When Used: the field looks like the others until it is tapped, then the flag and code slide in.\"},codeSpeed:{title:\"Slide Speed\",type:ControlType.Number,defaultValue:320,min:0,max:1e3,step:10,unit:\"ms\",hidden:props=>props.codeDisplay===\"always\"},name:{title:\"Field Name\",type:ControlType.String,defaultValue:\"Phone\"},placeholder:{title:\"Placeholder\",type:ControlType.String,defaultValue:\"Phone number\"},required:{title:\"Required\",type:ControlType.Boolean,defaultValue:false},defaultCountry:{title:\"Default\",type:ControlType.String,defaultValue:\"EG\",placeholder:\"EG\"},pinned:{title:\"Pin On Top\",type:ControlType.String,defaultValue:\"EG, SA, AE\",placeholder:\"EG, SA, AE\"},searchable:{title:\"Search\",type:ControlType.Boolean,defaultValue:true},divider:{title:\"Divider\",type:ControlType.Boolean,defaultValue:true},...fieldControls(true)});/* ------------------------------ SELECT FIELD ----------------------------- *//**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export function SelectField(props){const p=merge(FIELD_DEFAULTS,{name:\"Position\",placeholder:\"Position\",allowCustom:true,customPlaceholder:\"Search or type your own\",customText:\"Use\"},props);const{root,M,pal}=useField(p);const sharedLine=useSharedLine();const button=React.useRef(null);const[open,setOpen]=React.useState(false);const[shut,setShut]=React.useState(0);// Canvas only: keep the list open so it can be styled in place\nconst onCanvasF=RenderTarget.current()===RenderTarget.canvas;const showOpen=open||onCanvasF&&!!p.canvasMenu;const[focused,setFocused]=React.useState(false);const[value,setValue]=React.useState(String(p.defaultValue||\"\"));// Cleared again when the thank-you overlay resets the form\nReact.useEffect(()=>{const clear=()=>setValue(String(p.defaultValue||\"\"));window.addEventListener(\"fts:reset\",clear);return()=>window.removeEventListener(\"fts:reset\",clear);},[p.defaultValue]);const options=Array.isArray(p.options)?p.options:[];const items=React.useMemo(()=>options.filter(Boolean).map(option=>({key:option,search:String(option).toLowerCase()})),[options.join(\"|\")]);return /*#__PURE__*/_jsxs(\"div\",{ref:root,\"data-fts\":\"\",style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"button\",{ref:button,type:\"button\",\"aria-haspopup\":\"listbox\",\"aria-expanded\":open,\"aria-label\":p.placeholder,onClick:()=>open?setShut(n=>n+1):setOpen(true),onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),onKeyDown:event=>{if(event.key===\"ArrowDown\"&&!open){event.preventDefault();setOpen(true);}},style:{...shellStyle(p,pal,focused||open),...bareButton},children:[/*#__PURE__*/_jsx(\"span\",{style:{...oneLine,color:value?pal.text:pal.muted},children:value||p.placeholder}),p.chevron?/*#__PURE__*/_jsx(Icon,{size:p.chevronSize,style:{opacity:.6,transition:\"transform .2s ease\",transform:showOpen?\"rotate(180deg)\":\"none\"}}):null,lineFor(p,pal,focused||open,sharedLine)]}),/*#__PURE__*/_jsx(ValueInput,{name:p.name,value:value,required:p.required,focusTo:button}),showOpen?/*#__PURE__*/_jsx(Menu,{still:onCanvasF,shut:shut,anchor:root,items:items,selectedKey:value,searchable:!!p.searchable,allowCustom:p.allowCustom!==false,customPlaceholder:p.customPlaceholder,customText:p.customText,M:M,pal:pal,font:p.font,onClose:refocus=>{setOpen(false);if(refocus&&button.current)button.current.focus();},onPick:item=>{setValue(item.key);setOpen(false);if(button.current)button.current.focus();},renderItem:item=>/*#__PURE__*/_jsx(\"span\",{style:oneLine,children:item.key})}):null]});}addPropertyControls(SelectField,{allowCustom:{title:\"Own Value\",type:ControlType.Boolean,defaultValue:true,description:\"Lets people type and confirm a value that is not in the list.\"},customPlaceholder:{title:\"Type Hint\",type:ControlType.String,defaultValue:\"Search or type your own\",hidden:props=>props.allowCustom===false},customText:{title:\"Use Word\",type:ControlType.String,defaultValue:\"Use\",hidden:props=>props.allowCustom===false},name:{title:\"Field Name\",type:ControlType.String,defaultValue:\"Position\"},placeholder:{title:\"Placeholder\",type:ControlType.String,defaultValue:\"Position\"},required:{title:\"Required\",type:ControlType.Boolean,defaultValue:false},options:{title:\"Options\",type:ControlType.Array,control:{type:ControlType.String},defaultValue:[\"Founder / Owner\",\"CEO / Managing Director\",\"Marketing Director\",\"Brand Manager\",\"Creative Director\",\"Designer\",\"Project Manager\",\"Other\"]},defaultValue:{title:\"Default\",type:ControlType.String,defaultValue:\"\"},searchable:{title:\"Search\",type:ControlType.Boolean,defaultValue:false},...fieldControls(false)});// ------------------------------- FILE UPLOAD -----------------------------\n// Every chosen file shows as an attachment card (image, video, PDF,\n// presentation, document…) in the style of shadcn/ui Attachment, with its\n// loading icon while the file is prepared and while it is sent. Files can\n// also be dropped on the box. Every part is a control in the right panel.\n// Each file is read once, ahead of sending, so pressing Send is quick.\nconst FILE_CACHE=new WeakMap;function readFileProgress(file,onProgress){const known=FILE_CACHE.get(file);if(known)return known;const job=new Promise((resolve,reject)=>{const reader=new FileReader;reader.onprogress=event=>{if(onProgress&&event.lengthComputable&&event.total)onProgress(Math.round(event.loaded/event.total*100));};reader.onload=()=>{const result=String(reader.result);resolve({name:file.name,type:file.type,data:result.slice(result.indexOf(\",\")+1)});};reader.onerror=()=>{FILE_CACHE.delete(file);reject(reader.error);};reader.readAsDataURL(file);});FILE_CACHE.set(file,job);return job;}function fileExtension(file){const name=String(file&&file.name||\"\");const dot=name.lastIndexOf(\".\");if(dot>-1&&dot<name.length-1)return name.slice(dot+1).toLowerCase();return String(file&&file.type||\"\").split(\"/\")[1]||\"\";}function fileKind(file){const type=String(file&&file.type||\"\").toLowerCase();const ext=fileExtension(file);if(type.indexOf(\"image/\")===0||/^(jpe?g|png|gif|webp|avif|heic|svg)$/.test(ext))return\"image\";if(type.indexOf(\"video/\")===0||/^(mp4|mov|webm|m4v|avi|mkv)$/.test(ext))return\"video\";if(type.indexOf(\"audio/\")===0||/^(mp3|wav|m4a|aac|ogg|flac)$/.test(ext))return\"audio\";if(type===\"application/pdf\"||ext===\"pdf\")return\"pdf\";if(/presentation|powerpoint|keynote/.test(type)||/^(ppt|pptx|key|odp)$/.test(ext))return\"slides\";if(/sheet|excel|csv/.test(type)||/^(xls|xlsx|csv|numbers|ods)$/.test(ext))return\"sheet\";if(/zip|compressed|rar|7z|tar/.test(type)||/^(zip|rar|7z|tar|gz)$/.test(ext))return\"archive\";if(/word|text|rtf|document/.test(type)||/^(doc|docx|txt|rtf|pages|odt|md)$/.test(ext))return\"doc\";return\"file\";}function sizeText(bytes){if(bytes>=1048576)return(bytes/1048576).toFixed(1).replace(/\\.0$/,\"\")+\" MB\";return Math.max(1,Math.round(bytes/1024))+\" KB\";}// Lucide icons (the set shadcn/ui uses), drawn on a 24 px grid\nconst SHEET=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\";const FOLD=\"M14 2v4a2 2 0 0 0 2 2h4\";const GLYPHS={file:[SHEET,FOLD],doc:[SHEET,FOLD,\"M10 9H8\",\"M16 13H8\",\"M16 17H8\"],pdf:[SHEET,FOLD,\"M10 9H8\",\"M16 13H8\",\"M16 17H8\"],image:[SHEET,FOLD,\"M10 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22\"],video:[SHEET,FOLD,\"m10 11 5 3-5 3v-6Z\"],audio:[SHEET,FOLD,\"M10 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M12 16v-6l3 1\"],sheet:[SHEET,FOLD,\"M8 13h2\",\"M14 13h2\",\"M8 17h2\",\"M14 17h2\"],archive:[SHEET,FOLD,\"M10 7h1\",\"M10 11h1\",\"M10 15h1\",\"M11 19h-1\"],slides:[\"M2 3h20\",\"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3\",\"m7 21 5-5 5 5\"],x:[\"M18 6 6 18\",\"m6 6 12 12\"],check:[\"M20 6 9 17l-5-5\"],alert:[\"M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20Z\",\"M12 8v4\",\"M12 16h.01\"],play:[\"M6 3v18l15-9Z\"]};function Glyph(props){const size=props.size||20;const paths=GLYPHS[props.kind]||GLYPHS.file;return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:props.fill||\"none\",stroke:\"currentColor\",strokeWidth:props.stroke||2,strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",style:{display:\"block\",flexShrink:0,...props.style},children:paths.map((d,i)=>/*#__PURE__*/_jsx(\"path\",{d:d},i))});}// The loading icon: shadcn/ui Spinner (Lucide loader-circle, spinning), or a\n// thin ring. Size, colour, line and speed are set in the panel.\nfunction Spinner(props){const size=props.size||16;const speed=Math.max(.2,Number(props.speed)||1);const spin=\"ftsSpin \"+speed+\"s linear infinite\";if(props.kind===\"ring\")return /*#__PURE__*/_jsx(\"span\",{role:\"status\",\"aria-label\":\"Loading\",className:\"fts-anim\",style:{width:size,height:size,flexShrink:0,display:\"inline-block\",boxSizing:\"border-box\",borderRadius:\"50%\",border:props.thickness+\"px solid color-mix(in srgb, \"+props.color+\" 22%, transparent)\",borderTopColor:props.color,animation:spin}});return /*#__PURE__*/_jsx(\"svg\",{role:\"status\",\"aria-label\":\"Loading\",className:\"fts-anim\",width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:props.color,strokeWidth:props.thickness,strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{display:\"block\",flexShrink:0,animation:spin},children:/*#__PURE__*/_jsx(\"path\",{d:\"M21 12a9 9 0 1 1-6.219-8.56\"})});}const ATTACH_DEFAULTS={list:{show:true,position:\"below\",layout:\"list\",columnsMode:\"device\",columns:3,columnsTablet:2,columnsMobile:1,tabletFrom:810,desktopFrom:1200,canvasDevice:\"desktop\",gap:8,spacing:12,minWidth:220,imageStyle:\"thumb\",ratio:\"16/10\",previewWidth:200},card:{fill:\"\",fillDark:\"\",border:\"\",borderDark:\"\",borderWidth:1,radius:10,padding:8,gap:12,shadow:\"\"},media:{previews:true,size:40,radius:8,fill:\"\",fillDark:\"\",icon:\"\",iconDark:\"\",iconSize:20},text:{title:\"\",titleDark:\"\",meta:\"\",metaDark:\"\",lines:1,shimmer:true},remove:{show:true,size:24,radius:6,icon:\"\",iconDark:\"\",hover:\"\",hoverDark:\"\"},spinner:{kind:\"loader\",size:14,color:\"\",colorDark:\"\",thickness:2,speed:1},words:{preparing:\"Preparing\",ready:\"{type} \\xb7 {size}\",sending:\"Sending\",sent:\"Sent\",total:\"Over the {max} MB total\",readError:\"Could not read this file\",drop:\"Drop to attach\"}};// The upload box: size, layout and text alignment (the Tablet and Phone\n// versions can change any of these)\nconst BOX_DEFAULTS={width:\"fill\",fixed:360,place:\"left\",layout:\"row\",textAlign:\"left\"};const SAMPLE_PICTURE=\"data:image/svg+xml,\"+encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"320\" height=\"200\"><defs><linearGradient id=\"g\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0\" stop-color=\"#d9c7b0\"/><stop offset=\"1\" stop-color=\"#6d5a4a\"/></linearGradient></defs><rect width=\"320\" height=\"200\" fill=\"url(#g)\"/></svg>');// Shown on the Framer canvas only, so the cards can be styled there\nconst SAMPLE_FILES=[{id:\"s1\",status:\"ready\",progress:100,file:{name:\"brand-moodboard.jpg\",size:1843200,type:\"image/jpeg\"},url:SAMPLE_PICTURE},{id:\"s2\",status:\"reading\",progress:64,file:{name:\"project-brief.pdf\",size:2516582,type:\"application/pdf\"},url:\"\"},{id:\"s3\",status:\"ready\",progress:100,file:{name:\"pitch-deck.pptx\",size:6082150,type:\"\"},url:\"\"},{id:\"s4\",status:\"error\",reason:\"total\",progress:0,file:{name:\"showreel.mov\",size:24117248,type:\"video/quicktime\"},url:\"\"}];/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function FileUpload(props){const p=merge({label:\"Attach a file\",hint:\"Up to {max} MB\",changeLabel:\"Add more\",errorLabel:\"Over {max} MB\",name:\"Files\",accept:\"\",multiple:true,maxMB:10,theme:\"auto\",borderMode:\"box\",borderWidth:1,borderStyle:\"dashed\",radius:10,padding:\"14px 16px\",gap:12,minHeight:0,align:\"space-between\",icon:false,iconSize:16,errorColor:\"#ff453a\",preview:true},props);const{root,pal}=useField(p,\"upload\");const L=merge(ATTACH_DEFAULTS.list,p.list);const C=merge(ATTACH_DEFAULTS.card,p.card);const MD=merge(ATTACH_DEFAULTS.media,p.media);const TX=merge(ATTACH_DEFAULTS.text,p.text);const RM=merge(ATTACH_DEFAULTS.remove,p.remove);const SP=merge(ATTACH_DEFAULTS.spinner,p.spinner);const W=merge(ATTACH_DEFAULTS.words,p.words);const onCanvas=RenderTarget.current()===RenderTarget.canvas;// Columns follow the screen: Desktop, Tablet or Phone (canvas: chosen)\nconst[screenW,setScreenW]=React.useState(typeof window!==\"undefined\"?window.innerWidth:1200);React.useEffect(()=>{if(onCanvas)return;const on=()=>setScreenW(window.innerWidth);window.addEventListener(\"resize\",on);return()=>window.removeEventListener(\"resize\",on);},[onCanvas]);const device=onCanvas?L.canvasDevice||\"desktop\":screenW>=Number(L.desktopFrom||1200)?\"desktop\":screenW>=Number(L.tabletFrom||810)?\"tablet\":\"mobile\";const cols=Math.max(1,Math.round(Number(device===\"desktop\"?L.columns:device===\"tablet\"?L.columnsTablet:L.columnsMobile)||1));const input=React.useRef(null);const[items,setItems]=React.useState([]);const[hovered,setHovered]=React.useState(false);const[focused,setFocused]=React.useState(false);const[dragging,setDragging]=React.useState(false);const latest=React.useRef([]);latest.current=items;const started=React.useRef({});const maxMB=Math.max(1,Math.min(MAX_UPLOAD_MB,Number(p.maxMB)||10));const limit=maxMB*1024*1024;// \"{max}\" becomes the limit; an older \"Up to 10 MB\" follows it too\nconst withMax=text=>String(text||\"\").replace(/\\{max\\}/g,String(maxMB)).replace(/^((?:Up to|Over)\\s+)\\d+(\\s*MB)$/i,\"$1\"+maxMB+\"$2\");// Box size, layout and the Tablet / Phone versions\nconst BX=merge(BOX_DEFAULTS,p.box,device===\"tablet\"&&p.tablet&&p.tablet.on?p.tablet:null,device===\"mobile\"&&p.phone&&p.phone.on?p.phone:null);const DK=merge(p.darkColors);const release=item=>{if(item&&item.url&&item.url.indexOf(\"blob:\")===0){try{URL.revokeObjectURL(item.url);}catch(error){}}};// Files over the total size wait as errors; removing another file lets\n// them in again.\nconst recheck=list=>{let used=0;return list.map(item=>{if(item.reason===\"read\")return item;if(used+item.file.size<=limit){used+=item.file.size;return item.status===\"error\"?{...item,status:\"reading\",reason:\"\"}:item;}return{...item,status:\"error\",reason:\"total\"};});};const fits=file=>{const accept=String(p.accept||\"\").trim();if(!accept)return true;const type=String(file.type||\"\").toLowerCase();const ext=\".\"+fileExtension(file);return accept.toLowerCase().split(\",\").map(rule=>rule.trim()).some(rule=>rule.endsWith(\"/*\")?type.indexOf(rule.slice(0,-1))===0:rule.indexOf(\"/\")>-1?type===rule:ext===rule);};const add=picked=>{const chosen=picked.filter(fits).slice(0,p.multiple?50:1);if(!chosen.length)return;const fresh=chosen.map(file=>{const kind=fileKind(file);return{id:Math.random().toString(36).slice(2),file,kind,url:(kind===\"image\"||kind===\"video\")&&typeof URL!==\"undefined\"?URL.createObjectURL(file):\"\",status:\"reading\",progress:0,reason:\"\"};});if(!p.multiple)latest.current.forEach(release);setItems(current=>{const base=p.multiple?current:[];const same=(a,b)=>a.file.name===b.name&&a.file.size===b.size&&a.file.lastModified===b.lastModified;const kept=fresh.filter(item=>{const dup=base.some(old=>same(old,item.file));if(dup)release(item);return!dup;});return recheck(base.concat(kept));});};const remove=id=>setItems(list=>{release(list.find(item=>item.id===id));return recheck(list.filter(item=>item.id!==id));});const patch=(id,from,change)=>setItems(list=>list.map(item=>item.id===id&&item.status===from?{...item,...change}:item));// Reads new files (with progress) as soon as they are added\nReact.useEffect(()=>{items.forEach(item=>{if(item.status!==\"reading\"||started.current[item.id])return;started.current[item.id]=true;readFileProgress(item.file,percent=>patch(item.id,\"reading\",{progress:percent})).then(()=>patch(item.id,\"reading\",{status:\"ready\",progress:100})).catch(()=>patch(item.id,\"reading\",{status:\"error\",reason:\"read\"}));});// The real file field always holds exactly the files on the cards\nconst el=input.current;if(!el||typeof DataTransfer===\"undefined\")return;try{const pack=new DataTransfer;items.forEach(item=>{if(item.status!==\"error\")pack.items.add(item.file);});el.files=pack.files;}catch(error){}},[items]);// Sending, sent, failed and reset (from the thank-you overlay)\nReact.useEffect(()=>{const move=(from,to)=>()=>setItems(list=>list.map(item=>from.indexOf(item.status)>-1?{...item,status:to}:item));const sending=move([\"ready\",\"reading\"],\"sending\");const sent=move([\"sending\"],\"sent\");const failed=move([\"sending\"],\"ready\");const reset=()=>setItems(list=>{list.forEach(release);started.current={};return[];});window.addEventListener(\"fts:sending\",sending);window.addEventListener(\"fts:sent\",sent);window.addEventListener(\"fts:error\",failed);window.addEventListener(\"fts:reset\",reset);return()=>{window.removeEventListener(\"fts:sending\",sending);window.removeEventListener(\"fts:sent\",sent);window.removeEventListener(\"fts:error\",failed);window.removeEventListener(\"fts:reset\",reset);latest.current.forEach(release);};},[]);const shown=onCanvas&&p.preview&&!items.length?SAMPLE_FILES:items;const tooBig=shown.some(item=>item.status===\"error\");const active=hovered||focused||dragging;const isDarkUI=!!pal.dark;const baseEdge=isDarkUI&&DK.border||pal.border;const edge=active?isDarkUI&&DK.hoverBorder||p.hoverBorderColor||baseEdge:baseEdge;const line=p.borderWidth+\"px \"+p.borderStyle+\" \"+edge;// Light / dark: each colour has its own dark value; empty follows the form\nconst dark=!!pal.dark;const pick=(light,darkValue,fallback)=>(dark?darkValue:light)||fallback;const mix=(base,amount)=>\"color-mix(in srgb, \"+base+\" \"+amount+\"%, transparent)\";const titleColor=pick(TX.title,TX.titleDark,pal.text);const metaColor=pick(TX.meta,TX.metaDark,pal.muted);const spinColor=pick(SP.color,SP.colorDark,metaColor);const baseFont=p.font||{};const titleFont={fontFamily:baseFont.fontFamily,fontSize:14,fontWeight:500,lineHeight:1.35,...TX.titleFont||{}};const metaFont={fontFamily:baseFont.fontFamily,fontSize:12,fontWeight:400,lineHeight:1.35,...TX.metaFont||{}};const spinner=/*#__PURE__*/_jsx(Spinner,{kind:SP.kind,size:SP.size,color:spinColor,thickness:SP.thickness,speed:SP.speed});const status=item=>{const type=fileExtension(item.file).toUpperCase()||\"FILE\";const words=text=>String(text||\"\").replace(\"{type}\",type).replace(\"{size}\",sizeText(item.file.size)).replace(\"{max}\",String(maxMB)).replace(\"{name}\",item.file.name);if(item.status===\"reading\")return[spinner,words(W.preparing)+(item.progress?\" \\xb7 \"+item.progress+\"%\":\"\")];if(item.status===\"sending\")return[spinner,words(W.sending)];if(item.status===\"sent\")return[/*#__PURE__*/_jsx(Glyph,{kind:\"check\",size:SP.size},\"i\"),words(W.sent)];if(item.status===\"error\")return[/*#__PURE__*/_jsx(Glyph,{kind:\"alert\",size:SP.size},\"i\"),words(item.reason===\"read\"?W.readError:W.total)];return[null,words(W.ready)];};const media=(item,big)=>{const kind=item.kind||fileKind(item.file);const box={position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,overflow:\"hidden\",boxSizing:\"border-box\",borderRadius:MD.radius,background:pick(MD.fill,MD.fillDark,mix(pal.text,7)),color:pick(MD.icon,MD.iconDark,metaColor),width:big?\"100%\":MD.size,height:big?\"auto\":MD.size,aspectRatio:big?String(L.ratio).replace(\"/\",\" / \"):undefined};const cover={width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"};if(MD.previews&&item.url&&kind===\"image\")return /*#__PURE__*/_jsx(\"div\",{style:box,children:/*#__PURE__*/_jsx(\"img\",{src:item.url,alt:\"\",draggable:false,style:cover})});if(MD.previews&&item.url&&kind===\"video\")return /*#__PURE__*/_jsxs(\"div\",{style:box,children:[/*#__PURE__*/_jsx(\"video\",{src:item.url+\"#t=0.1\",muted:true,playsInline:true,preload:\"metadata\",style:cover}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:big?36:18,height:big?36:18,borderRadius:\"50%\",background:\"rgba(0,0,0,0.5)\",color:\"#fff\"},children:/*#__PURE__*/_jsx(Glyph,{kind:\"play\",size:big?14:8,fill:\"currentColor\",stroke:0})})]});return /*#__PURE__*/_jsx(\"div\",{style:box,children:/*#__PURE__*/_jsx(Glyph,{kind:item.kind||fileKind(item.file),size:big?MD.iconSize*1.6:MD.iconSize})});};const card=item=>{const kind=item.kind||fileKind(item.file);const big=L.imageStyle===\"large\"&&MD.previews&&!!item.url&&(kind===\"image\"||kind===\"video\");const error=item.status===\"error\";const busy=item.status===\"reading\"||item.status===\"sending\";const lines=Math.max(1,Number(TX.lines)||1);const shimmer=busy&&TX.shimmer?{backgroundImage:\"linear-gradient(90deg, \"+titleColor+\" 0%, \"+titleColor+\" 40%, \"+mix(titleColor,30)+\" 50%, \"+titleColor+\" 60%, \"+titleColor+\" 100%)\",backgroundSize:\"200% 100%\",WebkitBackgroundClip:\"text\",backgroundClip:\"text\",color:\"transparent\",animation:\"ftsShimmer 1.6s linear infinite\"}:{};const parts=status(item);const canRemove=RM.show&&item.status!==\"sending\"&&item.status!==\"sent\";const fixedWidth=L.layout===\"row\"?big?L.previewWidth:L.minWidth:undefined;return /*#__PURE__*/_jsxs(\"div\",{role:\"group\",\"aria-label\":item.file.name,className:\"fts-anim\",style:{position:\"relative\",display:\"flex\",flexDirection:big?\"column\":\"row\",alignItems:big?\"stretch\":\"center\",gap:C.gap,padding:C.padding,boxSizing:\"border-box\",minWidth:0,width:fixedWidth||\"100%\",flexShrink:0,scrollSnapAlign:\"start\",background:pick(C.fill,C.fillDark,\"transparent\"),border:C.borderWidth?C.borderWidth+\"px solid \"+(error?mix(p.errorColor,60):pick(C.border,C.borderDark,pal.border)):\"none\",borderRadius:C.radius,boxShadow:C.shadow||undefined,color:titleColor,animation:\"ftsCardIn .24s cubic-bezier(.2,.8,.2,1)\"},children:[media(item,big),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,display:\"flex\",flexDirection:\"column\",gap:2,paddingRight:big&&canRemove?0:undefined},children:[/*#__PURE__*/_jsx(\"div\",{title:item.file.name,style:{...titleFont,color:titleColor,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:lines===1?\"nowrap\":\"normal\",display:lines===1?\"block\":\"-webkit-box\",WebkitLineClamp:lines===1?undefined:lines,WebkitBoxOrient:lines===1?undefined:\"vertical\",wordBreak:\"break-word\",...shimmer},children:item.file.name}),/*#__PURE__*/_jsxs(\"div\",{\"aria-live\":\"polite\",style:{...metaFont,display:\"flex\",alignItems:\"center\",gap:6,minWidth:0,color:error?p.errorColor:metaColor},children:[parts[0],/*#__PURE__*/_jsx(\"span\",{style:oneLine,children:parts[1]})]})]}),canRemove?/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"fts-x\",\"aria-label\":\"Remove \"+item.file.name,onClick:event=>{event.preventDefault();event.stopPropagation();if(!onCanvas)remove(item.id);},style:{...bareButton,position:big?\"absolute\":\"relative\",top:big?C.padding+6:undefined,right:big?C.padding+6:undefined,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,width:RM.size,height:RM.size,padding:0,margin:0,border:\"none\",borderRadius:RM.radius,background:big?\"rgba(0,0,0,0.5)\":\"transparent\",color:big?\"#ffffff\":pick(RM.icon,RM.iconDark,metaColor),[\"--fts-x-hover\"]:big?\"rgba(0,0,0,0.7)\":pick(RM.hover,RM.hoverDark,mix(pal.text,9))},children:/*#__PURE__*/_jsx(Glyph,{kind:\"x\",size:Math.round(RM.size*.6)})}):null]},item.id);};const listStyle=L.layout===\"grid\"?{display:\"grid\",gridTemplateColumns:L.columnsMode===\"auto\"?\"repeat(auto-fill, minmax(\"+Math.min(L.minWidth,600)+\"px, 1fr))\":\"repeat(\"+cols+\", minmax(0, 1fr))\",gap:L.gap}:L.layout===\"row\"?{display:\"flex\",gap:L.gap,overflowX:\"auto\",scrollSnapType:\"x mandatory\",alignItems:\"stretch\"}:{display:\"flex\",flexDirection:\"column\",gap:L.gap};const list=L.show&&shown.length?/*#__PURE__*/_jsx(\"div\",{className:L.layout===\"row\"?\"fts-row\":undefined,style:listStyle,children:shown.map(card)}):null;return /*#__PURE__*/_jsxs(\"div\",{ref:root,\"data-fts\":\"\",style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",alignItems:BX.width===\"fill\"?\"stretch\":BX.place===\"center\"?\"center\":BX.place===\"right\"?\"flex-end\":\"flex-start\",gap:list?L.spacing:0,width:\"100%\"},children:[L.position===\"above\"?list:null,/*#__PURE__*/_jsxs(\"label\",{onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),onDragOver:event=>{event.preventDefault();if(!dragging)setDragging(true);},onDragLeave:()=>setDragging(false),onDrop:event=>{event.preventDefault();setDragging(false);add(Array.from(event.dataTransfer.files||[]));},style:{position:\"relative\",display:\"flex\",flexDirection:BX.layout===\"stack\"?\"column\":\"row\",alignItems:BX.layout===\"stack\"?BX.textAlign===\"center\"?\"center\":BX.textAlign===\"right\"?\"flex-end\":\"flex-start\":\"center\",justifyContent:BX.layout===\"stack\"?\"center\":BX.align||p.align,textAlign:BX.textAlign,gap:BX.gap!=null?BX.gap:p.gap,width:BX.width===\"fixed\"?Math.max(40,Number(BX.fixed)||360):BX.width===\"fit\"?\"fit-content\":\"100%\",maxWidth:\"100%\",boxSizing:\"border-box\",minHeight:BX.minHeight!=null?BX.minHeight:p.minHeight,padding:BX.padding||p.padding,border:p.borderMode===\"box\"?line:\"none\",borderBottom:p.borderMode===\"none\"?\"none\":line,borderRadius:BX.radius!=null?BX.radius:p.radius,background:active?isDarkUI&&DK.hoverFill||p.hoverBackground||isDarkUI&&DK.fill||p.background||\"transparent\":isDarkUI&&DK.fill||p.background||\"transparent\",color:isDarkUI&&DK.text||pal.text,cursor:\"pointer\",fontSize:15,lineHeight:1.3,transition:\"border-color .2s ease, background-color .2s ease, width .3s ease\",...p.font,...BX.fontSize?{fontSize:BX.fontSize}:null},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",gap:8,minWidth:0,maxWidth:\"100%\"},children:[p.icon?/*#__PURE__*/_jsx(Icon,{kind:\"clip\",size:p.iconSize,style:{color:p.iconColor||\"currentColor\"}}):null,/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:dragging?W.drop:shown.length&&p.multiple?p.changeLabel:p.label})]}),/*#__PURE__*/_jsx(\"span\",{style:{color:tooBig?p.errorColor:isDarkUI&&DK.hint||pal.muted,whiteSpace:BX.layout===\"stack\"?\"normal\":\"nowrap\",...p.hintFont,...BX.hintSize?{fontSize:BX.hintSize}:null},children:withMax(tooBig?p.errorLabel:p.hint)}),/*#__PURE__*/_jsx(\"input\",{ref:input,type:\"file\",name:p.name,\"data-max-bytes\":limit,accept:p.accept||undefined,multiple:p.multiple,onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),onChange:event=>{add(Array.from(event.target.files||[]));},style:{position:\"absolute\",width:1,height:1,opacity:0,pointerEvents:\"none\"}})]}),L.position!==\"above\"?list:null]});}const optional=(title,extra)=>({title,type:ControlType.Color,optional:true,...extra||{}});const num=(title,value,min,max,extra)=>({title,type:ControlType.Number,defaultValue:value,min,max,...extra||{}});// Width & Layout of the upload box. The Tablet and Phone sets start off\n// and, when switched on, replace any of these on that screen size.\nfunction boxControls(device){const off=props=>device&&!props.on;const c={};if(device)c.on={title:\"Use\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Own\",disabledTitle:\"Desktop\",description:\"Own: this screen size uses the values below. Tablet and Phone sizes follow Attachments → Tablet From / Desktop From.\"};c.width={title:\"Width\",type:ControlType.Enum,options:[\"fill\",\"fit\",\"fixed\"],optionTitles:[\"Fill\",\"Fit Content\",\"Fixed\"],defaultValue:\"fill\",displaySegmentedControl:true,hidden:off};c.fixed=num(\"Fixed Width\",360,80,1200,{step:10,unit:\"px\",hidden:props=>off(props)||props.width!==\"fixed\"});c.place={title:\"Place\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true,hidden:props=>off(props)||props.width===\"fill\"};c.layout={title:\"Text\",type:ControlType.Enum,options:[\"row\",\"stack\"],optionTitles:[\"Side by Side\",\"Stacked\"],defaultValue:\"row\",displaySegmentedControl:true,hidden:off};c.textAlign={title:\"Text Align\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true,hidden:off};if(device){c.align={title:\"Spread\",type:ControlType.Enum,options:[\"space-between\",\"flex-start\",\"center\"],optionTitles:[\"Spread\",\"Left\",\"Center\"],defaultValue:\"space-between\",hidden:props=>off(props)||props.layout===\"stack\"};c.padding={title:\"Padding\",type:ControlType.Padding,defaultValue:\"14px 16px 14px 16px\",hidden:off};c.radius=num(\"Radius\",10,0,60,{hidden:off});c.gap=num(\"Gap\",12,0,60,{hidden:off});c.minHeight=num(\"Min Height\",0,0,200,{hidden:off});c.fontSize=num(\"Text Size\",15,8,40,{unit:\"px\",hidden:off});c.hintSize=num(\"Hint Size\",14,8,40,{unit:\"px\",hidden:off});}return c;}addPropertyControls(FileUpload,uploadControls({label:{title:\"Label\",type:ControlType.String,defaultValue:\"Attach a file\"},hint:{title:\"Hint\",type:ControlType.String,defaultValue:\"Up to 10 MB\"},changeLabel:{title:\"Add More Text\",type:ControlType.String,defaultValue:\"Add more\"},errorLabel:{title:\"Error Text\",type:ControlType.String,defaultValue:\"Over 10 MB\"},name:{title:\"Field Name\",type:ControlType.String,defaultValue:\"Files\"},accept:{title:\"Accept\",type:ControlType.String,defaultValue:\"\",placeholder:\".pdf,.jpg,.png\"},multiple:{title:\"Multiple\",type:ControlType.Boolean,defaultValue:true},maxMB:{title:\"Max MB\",type:ControlType.Number,defaultValue:10,min:1,max:MAX_UPLOAD_MB,step:1,unit:\"MB\",displayStepper:true,description:\"Total for all files in one message, up to \"+MAX_UPLOAD_MB+\" MB (the most the Google script can take). Write {max} in Hint or Error Text to show it.\"},box:{title:\"Box Size\",type:ControlType.Object,buttonTitle:\"Width & Layout\",controls:boxControls(false)},tablet:{title:\"Tablet\",type:ControlType.Object,buttonTitle:\"Own Settings\",controls:boxControls(true)},phone:{title:\"Phone\",type:ControlType.Object,buttonTitle:\"Own Settings\",controls:boxControls(true)},darkColors:{title:\"Dark Mode\",type:ControlType.Object,buttonTitle:\"Colours\",controls:{fill:optional(\"Fill\"),hoverFill:optional(\"Hover Fill\"),border:optional(\"Border\"),hoverBorder:optional(\"Hover Border\"),text:optional(\"Text\"),hint:optional(\"Hint\")}},theme:{title:\"Theme\",type:ControlType.Enum,options:[\"auto\",\"light\",\"dark\"],optionTitles:[\"Auto\",\"Light\",\"Dark\"],defaultValue:\"auto\",displaySegmentedControl:true},font:{title:\"Font\",type:ControlType.Font,controls:\"extended\"},hintFont:{title:\"Hint Font\",type:ControlType.Font,controls:\"extended\"},textColor:{title:\"Text\",type:ControlType.Color,optional:true},mutedColor:{title:\"Hint Color\",type:ControlType.Color,optional:true},background:{title:\"Fill\",type:ControlType.Color,optional:true},hoverBackground:{title:\"Hover Fill\",type:ControlType.Color,optional:true},borderMode:{title:\"Border\",type:ControlType.Enum,options:[\"box\",\"underline\",\"none\"],optionTitles:[\"Box\",\"Underline\",\"None\"],defaultValue:\"box\"},borderColor:{title:\"Border Color\",type:ControlType.Color,optional:true},hoverBorderColor:{title:\"Hover Border\",type:ControlType.Color,optional:true},errorColor:{title:\"Error Color\",type:ControlType.Color,defaultValue:\"#ff453a\"},borderWidth:{title:\"Border Width\",type:ControlType.Number,defaultValue:1,min:0,max:8,step:.5,displayStepper:true},borderStyle:{title:\"Border Style\",type:ControlType.Enum,options:[\"dashed\",\"solid\",\"dotted\"],optionTitles:[\"Dashed\",\"Solid\",\"Dotted\"],defaultValue:\"dashed\"},radius:{title:\"Radius\",type:ControlType.Number,defaultValue:10,min:0,max:60},padding:{title:\"Padding\",type:ControlType.Padding,defaultValue:\"14px 16px 14px 16px\"},gap:{title:\"Gap\",type:ControlType.Number,defaultValue:12,min:0,max:60},minHeight:{title:\"Min Height\",type:ControlType.Number,defaultValue:0,min:0,max:200},align:{title:\"Align\",type:ControlType.Enum,options:[\"space-between\",\"flex-start\",\"center\"],optionTitles:[\"Spread\",\"Left\",\"Center\"],defaultValue:\"space-between\"},icon:{title:\"Icon\",type:ControlType.Boolean,defaultValue:false},iconSize:{title:\"Icon Size\",type:ControlType.Number,defaultValue:16,min:8,max:40,hidden:props=>!props.icon},iconColor:{title:\"Icon Color\",type:ControlType.Color,optional:true,hidden:props=>!props.icon},list:{title:\"Attachments\",type:ControlType.Object,buttonTitle:\"Layout\",controls:{show:{title:\"Cards\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},position:{title:\"Position\",type:ControlType.Enum,options:[\"below\",\"above\"],optionTitles:[\"Below Box\",\"Above Box\"],defaultValue:\"below\",displaySegmentedControl:true},layout:{title:\"Layout\",type:ControlType.Enum,options:[\"list\",\"grid\",\"row\"],optionTitles:[\"List\",\"Grid\",\"Row\"],defaultValue:\"list\",displaySegmentedControl:true},columnsMode:{title:\"Columns\",type:ControlType.Enum,options:[\"device\",\"auto\"],optionTitles:[\"Per Device\",\"Auto Fit\"],defaultValue:\"device\",displaySegmentedControl:true,hidden:props=>props.layout!==\"grid\"},columns:num(\"Desktop\",3,1,6,{displayStepper:true,hidden:props=>props.layout!==\"grid\"||props.columnsMode===\"auto\"}),columnsTablet:num(\"Tablet\",2,1,6,{displayStepper:true,hidden:props=>props.layout!==\"grid\"||props.columnsMode===\"auto\"}),columnsMobile:num(\"Phone\",1,1,4,{displayStepper:true,hidden:props=>props.layout!==\"grid\"||props.columnsMode===\"auto\"}),tabletFrom:num(\"Tablet From\",810,400,1400,{step:10,unit:\"px\",hidden:props=>props.layout!==\"grid\"||props.columnsMode===\"auto\"}),desktopFrom:num(\"Desktop From\",1200,600,2e3,{step:10,unit:\"px\",hidden:props=>props.layout!==\"grid\"||props.columnsMode===\"auto\"}),canvasDevice:{title:\"Canvas Shows\",type:ControlType.Enum,options:[\"desktop\",\"tablet\",\"mobile\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\"],defaultValue:\"desktop\",displaySegmentedControl:true,hidden:props=>props.layout!==\"grid\"||props.columnsMode===\"auto\"},gap:num(\"Gap\",8,0,40),spacing:num(\"Space to Box\",12,0,60),minWidth:num(\"Card Width\",220,120,600,{step:10,hidden:props=>props.layout===\"list\"||props.layout===\"grid\"&&props.columnsMode!==\"auto\"}),imageStyle:{title:\"Images\",type:ControlType.Enum,options:[\"thumb\",\"large\"],optionTitles:[\"Thumbnail\",\"Large\"],defaultValue:\"thumb\",displaySegmentedControl:true},ratio:{title:\"Ratio\",type:ControlType.Enum,options:[\"16/10\",\"16/9\",\"4/3\",\"1/1\",\"4/5\"],optionTitles:[\"16:10\",\"16:9\",\"4:3\",\"1:1\",\"4:5\"],defaultValue:\"16/10\",hidden:props=>props.imageStyle!==\"large\"},previewWidth:num(\"Large Width\",200,120,600,{step:10,hidden:props=>props.imageStyle!==\"large\"||props.layout!==\"row\"})}},card:{title:\"Card\",type:ControlType.Object,buttonTitle:\"Style\",controls:{fill:optional(\"Fill\"),fillDark:optional(\"Fill (Dark)\"),border:optional(\"Border\"),borderDark:optional(\"Border (Dark)\"),borderWidth:num(\"Border Width\",1,0,6,{step:.5}),radius:num(\"Radius\",10,0,40),padding:num(\"Padding\",8,0,32),gap:num(\"Gap\",12,0,32),shadow:{title:\"Shadow\",type:ControlType.BoxShadow}}},media:{title:\"Thumbnail\",type:ControlType.Object,buttonTitle:\"Style\",controls:{previews:{title:\"Images\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Preview\",disabledTitle:\"Icon\"},size:num(\"Size\",40,20,120),radius:num(\"Radius\",8,0,60),fill:optional(\"Fill\"),fillDark:optional(\"Fill (Dark)\"),icon:optional(\"Icon\"),iconDark:optional(\"Icon (Dark)\"),iconSize:num(\"Icon Size\",20,10,48)}},text:{title:\"File Text\",type:ControlType.Object,buttonTitle:\"Style\",controls:{titleFont:{title:\"Name Font\",type:ControlType.Font,controls:\"extended\"},title:optional(\"Name\"),titleDark:optional(\"Name (Dark)\"),metaFont:{title:\"Info Font\",type:ControlType.Font,controls:\"extended\"},meta:optional(\"Info\"),metaDark:optional(\"Info (Dark)\"),lines:num(\"Name Lines\",1,1,3,{displayStepper:true}),shimmer:{title:\"Shimmer\",type:ControlType.Boolean,defaultValue:true,description:\"The name shimmers while the file is prepared or sent.\"}}},remove:{title:\"Remove Button\",type:ControlType.Object,buttonTitle:\"Style\",controls:{show:{title:\"Button\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},size:num(\"Size\",24,16,40),radius:num(\"Radius\",6,0,20),icon:optional(\"Icon\"),iconDark:optional(\"Icon (Dark)\"),hover:optional(\"Hover\"),hoverDark:optional(\"Hover (Dark)\")}},spinner:{title:\"Loading Icon\",type:ControlType.Object,buttonTitle:\"Style\",controls:{kind:{title:\"Style\",type:ControlType.Enum,options:[\"loader\",\"ring\"],optionTitles:[\"Shadcn\",\"Ring\"],defaultValue:\"loader\",displaySegmentedControl:true},size:num(\"Size\",14,8,40),color:optional(\"Colour\"),colorDark:optional(\"Colour (Dark)\"),thickness:num(\"Line\",2,1,4,{step:.5}),speed:num(\"Turn Time\",1,.3,3,{step:.1,unit:\"s\"})}},words:{title:\"Status Text\",type:ControlType.Object,buttonTitle:\"Edit\",controls:{preparing:{title:\"Preparing\",type:ControlType.String,defaultValue:\"Preparing\"},ready:{title:\"Ready\",type:ControlType.String,defaultValue:\"{type} \\xb7 {size}\",description:\"{type}, {size} and {name} are filled in.\"},sending:{title:\"Sending\",type:ControlType.String,defaultValue:\"Sending\"},sent:{title:\"Sent\",type:ControlType.String,defaultValue:\"Sent\"},total:{title:\"Too Large\",type:ControlType.String,defaultValue:\"Over the {max} MB total\"},readError:{title:\"Read Error\",type:ControlType.String,defaultValue:\"Could not read this file\"},drop:{title:\"Drop Text\",type:ControlType.String,defaultValue:\"Drop to attach\"}}},preview:{title:\"Canvas\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Samples\",disabledTitle:\"Empty\",description:\"Sample files on the canvas only, to style the cards.\"}}));// ---------------------------- THANK-YOU OVERLAY ---------------------------\n// Appears when someone presses Send. Design the message in Framer (logo,\n// title, text, button…) as its own frame or component and connect it to\n// \"Content\". Until something is connected, a simple built-in card shows.\n// Place this component anywhere on the Contact page; it takes no space on\n// the published site.\nconst OVERLAY_DEFAULTS={trigger:\"sent\",preview:false,delay:0,duration:450,animation:\"scale\",position:\"center\",padding:24,backdrop:\"rgba(0, 0, 0, 0.5)\",backdropDark:\"\",blur:10,autoClose:0,closeOnBackdrop:true,closeOnEsc:true,closeOnContent:false,lockScroll:true,resetForm:true,closeButton:true,closeSize:36,closeOffset:12,closeFill:\"\",closeColor:\"\",zIndex:2147483e3,logo:\"\",logoWidth:56,title:\"Thank you.\",text:\"Your message is on its way. I read every message myself and will reply soon.\",width:420,cardPadding:40,cardRadius:24,gap:14,align:\"center\",fill:\"#ffffff\",fillDark:\"#111111\",titleColor:\"#0a0a0a\",titleColorDark:\"#f5f5f5\",textColor:\"#737373\",textColorDark:\"#8f8f8f\"};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 56\n */export function SuccessOverlay(props){const p=merge(OVERLAY_DEFAULTS,props,props.card);const onCanvas=RenderTarget.current()===RenderTarget.canvas;const anchor=React.useRef(null);const[open,setOpen]=React.useState(false);const[shut,setShut]=React.useState(0);// Canvas only: keep the list open so it can be styled in place\nconst onCanvasF=RenderTarget.current()===RenderTarget.canvas;const showOpen=open||onCanvasF&&!!p.canvasMenu;const[visible,setVisible]=React.useState(false);const[dark,setDark]=React.useState(false);const form=React.useRef(null);const timer=React.useRef(0);const speed=Math.max(0,Number(p.duration)||0);const close=React.useCallback(()=>{setVisible(false);window.clearTimeout(timer.current);timer.current=window.setTimeout(()=>{setOpen(false);if(p.resetForm){try{if(form.current&&form.current.reset)form.current.reset();}catch(error){}window.dispatchEvent(new CustomEvent(\"fts:reset\"));}},speed);},[speed,p.resetForm]);React.useEffect(()=>{if(onCanvas)return;ensureGlobalStyle();// Tells the form that this overlay takes over after Send\nconst w=window;w.__ftsOverlays=(w.__ftsOverlays||0)+1;const show=event=>{form.current=event&&event.detail?event.detail.form:null;const start=anchor.current?anchor.current.parentElement:document.body;setDark(isDarkColor(pageBackground(start)));setOpen(true);window.clearTimeout(timer.current);timer.current=window.setTimeout(()=>setVisible(true),Math.max(20,Number(p.delay)||0));};const name=p.trigger===\"press\"?\"fts:sending\":\"fts:sent\";window.addEventListener(name,show);return()=>{window.removeEventListener(name,show);w.__ftsOverlays=Math.max(0,(w.__ftsOverlays||1)-1);};},[p.trigger,p.delay,onCanvas]);React.useEffect(()=>{if(!visible||!p.autoClose)return;const later=window.setTimeout(close,p.autoClose*1e3);return()=>window.clearTimeout(later);},[visible,p.autoClose,close]);React.useEffect(()=>{if(!open)return;const key=event=>{if(event.key===\"Escape\"&&p.closeOnEsc)close();};document.addEventListener(\"keydown\",key);const root=document.documentElement;const before=root.style.overflow;if(p.lockScroll)root.style.overflow=\"hidden\";return()=>{document.removeEventListener(\"keydown\",key);if(p.lockScroll)root.style.overflow=before;};},[open,p.closeOnEsc,p.lockScroll,close]);const content=Array.isArray(p.content)?p.content[0]:p.content;const isDark=onCanvas?p.previewMode===\"dark\":dark;const titleColor=isDark?p.titleColorDark:p.titleColor;const fallback=/*#__PURE__*/_jsxs(\"div\",{style:{width:p.width,maxWidth:\"100%\",boxSizing:\"border-box\",padding:p.cardPadding,borderRadius:p.cardRadius,background:isDark?p.fillDark:p.fill,display:\"flex\",flexDirection:\"column\",alignItems:p.align===\"left\"?\"flex-start\":p.align===\"right\"?\"flex-end\":\"center\",textAlign:p.align,gap:p.gap,boxShadow:\"0 30px 80px rgba(0,0,0,0.25)\"},children:[p.logo?/*#__PURE__*/_jsx(\"img\",{src:p.logo,alt:\"\",style:{width:p.logoWidth,height:\"auto\",display:\"block\"}}):null,p.title?/*#__PURE__*/_jsx(\"div\",{style:{fontSize:28,fontWeight:600,lineHeight:1.15,letterSpacing:\"-0.03em\",color:titleColor,...p.titleFont||{}},children:p.title}):null,p.text?/*#__PURE__*/_jsx(\"div\",{style:{fontSize:15,lineHeight:1.55,color:isDark?p.textColorDark:p.textColor,...p.textFont||{}},children:p.text}):null]});const from=p.animation===\"fade\"?\"none\":p.animation===\"slide\"?\"translateY(28px)\":\"scale(0.94)\";const ease=\"cubic-bezier(.2,.8,.2,1)\";const layer=inCanvas=>{const on=inCanvas||visible;return /*#__PURE__*/_jsx(\"div\",{role:\"dialog\",\"aria-modal\":\"true\",\"aria-live\":\"polite\",onClick:event=>{if(!inCanvas&&p.closeOnBackdrop&&event.target===event.currentTarget)close();},className:\"fts-anim\",style:{position:inCanvas?\"absolute\":\"fixed\",inset:0,zIndex:inCanvas?1:p.zIndex,display:\"flex\",alignItems:p.position===\"bottom\"?\"flex-end\":p.position===\"top\"?\"flex-start\":\"center\",justifyContent:\"center\",padding:p.padding,boxSizing:\"border-box\",background:isDark&&p.backdropDark||p.backdrop,backdropFilter:p.blur?\"blur(\"+p.blur+\"px)\":undefined,WebkitBackdropFilter:p.blur?\"blur(\"+p.blur+\"px)\":undefined,opacity:on?1:0,transition:\"opacity \"+speed+\"ms ease\",pointerEvents:on?\"auto\":\"none\"},children:/*#__PURE__*/_jsxs(\"div\",{onClick:()=>{if(!inCanvas&&p.closeOnContent)close();},className:\"fts-anim\",style:{position:\"relative\",maxWidth:\"100%\",maxHeight:\"100%\",overflow:\"auto\",transform:on?\"none\":from,opacity:on?1:0,transition:\"transform \"+speed+\"ms \"+ease+\", opacity \"+speed+\"ms ease\"},children:[content||fallback,p.closeButton?/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Close\",className:\"fts-x\",onClick:event=>{event.stopPropagation();if(!inCanvas)close();},style:{...bareButton,position:\"absolute\",top:p.closeOffset,right:p.closeOffset,width:p.closeSize,height:p.closeSize,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,margin:0,border:\"none\",borderRadius:\"50%\",background:p.closeFill||\"color-mix(in srgb, \"+titleColor+\" 8%, transparent)\",color:p.closeColor||titleColor,[\"--fts-x-hover\"]:\"color-mix(in srgb, \"+(p.closeColor||titleColor)+\" 16%, transparent)\"},children:/*#__PURE__*/_jsx(Glyph,{kind:\"x\",size:Math.round(p.closeSize*.45)})}):null]})});};if(onCanvas){if(p.preview)return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",minHeight:520,minWidth:640,overflow:\"hidden\"},children:layer(true)});return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,boxSizing:\"border-box\",border:\"1px dashed rgba(136,136,136,0.6)\",borderRadius:10,color:\"#888\",fontSize:12,fontFamily:\"Inter, sans-serif\",padding:8,textAlign:\"center\"},children:\"Thank-you overlay \\xb7 shows after Send\"});}return /*#__PURE__*/_jsx(\"span\",{ref:anchor,style:{display:\"contents\"},children:open&&typeof document!==\"undefined\"?/*#__PURE__*/createPortal(layer(false),document.body):null});}addPropertyControls(SuccessOverlay,{content:{title:\"Content\",type:ControlType.ComponentInstance,description:\"Connect a frame or component you designed in Framer.\"},preview:{title:\"Canvas\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Preview\",disabledTitle:\"Hidden\"},previewMode:{title:\"Preview Mode\",type:ControlType.Enum,options:[\"light\",\"dark\"],optionTitles:[\"Light\",\"Dark\"],defaultValue:\"light\",displaySegmentedControl:true,hidden:props=>!props.preview},trigger:{title:\"Show\",type:ControlType.Enum,options:[\"sent\",\"press\"],optionTitles:[\"When Sent\",\"On Press\"],defaultValue:\"sent\",displaySegmentedControl:true,description:\"When Sent waits until the message and files have gone.\"},delay:num(\"Delay\",0,0,3e3,{step:50,unit:\"ms\"}),animation:{title:\"Animation\",type:ControlType.Enum,options:[\"scale\",\"fade\",\"slide\"],optionTitles:[\"Scale\",\"Fade\",\"Slide Up\"],defaultValue:\"scale\",displaySegmentedControl:true},duration:num(\"Duration\",450,0,1500,{step:25,unit:\"ms\"}),position:{title:\"Position\",type:ControlType.Enum,options:[\"top\",\"center\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],defaultValue:\"center\",displaySegmentedControl:true},padding:num(\"Padding\",24,0,120),backdrop:{title:\"Backdrop\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.5)\"},backdropDark:optional(\"Backdrop (Dark)\"),blur:num(\"Blur\",10,0,60),autoClose:num(\"Auto Close\",0,0,30,{step:.5,unit:\"s\",description:\"0 keeps it open until closed.\"}),closeOnBackdrop:{title:\"Click Outside\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Closes\",disabledTitle:\"Nothing\"},closeOnContent:{title:\"Click Content\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Closes\",disabledTitle:\"Nothing\"},closeOnEsc:{title:\"Esc Key\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Closes\",disabledTitle:\"Nothing\"},lockScroll:{title:\"Lock Scroll\",type:ControlType.Boolean,defaultValue:true},resetForm:{title:\"On Close\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Clear Form\",disabledTitle:\"Keep\"},closeButton:{title:\"Close Button\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},closeSize:num(\"Button Size\",36,20,64,{hidden:props=>!props.closeButton}),closeOffset:num(\"Button Inset\",12,0,48,{hidden:props=>!props.closeButton}),closeFill:optional(\"Button Fill\",{hidden:props=>!props.closeButton}),closeColor:optional(\"Button Icon\",{hidden:props=>!props.closeButton}),logo:{title:\"Logo\",type:ControlType.Image,description:\"Built-in card, used only when no Content is connected.\",hidden:props=>!!props.content&&(!Array.isArray(props.content)||props.content.length>0)},logoWidth:num(\"Logo Width\",56,16,240,{hidden:props=>!!props.content&&(!Array.isArray(props.content)||props.content.length>0)}),title:{title:\"Title\",type:ControlType.String,defaultValue:\"Thank you.\",hidden:props=>!!props.content&&(!Array.isArray(props.content)||props.content.length>0)},text:{title:\"Text\",type:ControlType.String,displayTextArea:true,defaultValue:\"Your message is on its way. I read every message myself and will reply soon.\",hidden:props=>!!props.content&&(!Array.isArray(props.content)||props.content.length>0)},card:{title:\"Built-in Card\",type:ControlType.Object,buttonTitle:\"Style\",hidden:props=>!!props.content&&(!Array.isArray(props.content)||props.content.length>0),controls:{titleFont:{title:\"Title Font\",type:ControlType.Font,controls:\"extended\"},textFont:{title:\"Text Font\",type:ControlType.Font,controls:\"extended\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#ffffff\"},fillDark:{title:\"Fill (Dark)\",type:ControlType.Color,defaultValue:\"#111111\"},titleColor:{title:\"Title\",type:ControlType.Color,defaultValue:\"#0a0a0a\"},titleColorDark:{title:\"Title (Dark)\",type:ControlType.Color,defaultValue:\"#f5f5f5\"},textColor:{title:\"Text\",type:ControlType.Color,defaultValue:\"#737373\"},textColorDark:{title:\"Text (Dark)\",type:ControlType.Color,defaultValue:\"#8f8f8f\"},width:num(\"Width\",420,240,800,{step:10}),cardPadding:num(\"Padding\",40,0,96),cardRadius:num(\"Radius\",24,0,60),gap:num(\"Gap\",14,0,60),align:{title:\"Align\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\",displaySegmentedControl:true}}}});/* ============================================================================\n   THEME SWITCH (override for the light / dark switch in the Template)\n   Same behaviour as before: remembers the choice (\"theme\" in the browser),\n   switches every colour style at once and shows the Light / Dark variant.\n   It now also works in Framer's Preview, where the old one found no dark\n   colours to switch to.\n============================================================================ */let THEME_NOW=\"\";const THEME_SUBS=new Set;function themeTokens(){// The site's colour styles: the plain set, plus the sets kept for a\n// light or dark screen (either can be the one Framer writes as plain).\nconst base={};const light={};const dark={};const take=(style,into)=>{for(let i=0;i<style.length;i++){const name=style[i];if(name.indexOf(\"--token\")===0)into[name]=style.getPropertyValue(name).trim();}};const walk=(rules,scheme)=>{for(let i=0;i<rules.length;i++){const rule=rules[i];const sel=String(rule.selectorText||\"\");if(rule.style&&sel){if(!/body|:root|html/.test(sel)||/toggle-theme/.test(sel))continue;if(scheme===\"light\"||/data-framer-theme=\"?light/.test(sel))take(rule.style,light);else if(scheme===\"dark\"||/data-framer-theme=\"?dark/.test(sel))take(rule.style,dark);else take(rule.style,base);}else if(rule.cssRules){const text=String(rule.conditionText||rule.media&&rule.media.mediaText||\"\");walk(rule.cssRules,/prefers-color-scheme:\\s*dark/.test(text)?\"dark\":/prefers-color-scheme:\\s*light/.test(text)?\"light\":scheme);}}};for(let i=0;i<document.styleSheets.length;i++){try{walk(document.styleSheets[i].cssRules,\"\");}catch(error){}}return{light:{...base,...light},dark:{...base,...dark}};}// Brightness of the page behind everything, to check the result\nfunction pageLightness(){const nodes=[document.getElementById(\"main\"),document.body,document.documentElement];for(let i=0;i<nodes.length;i++){const el=nodes[i];if(!el)continue;const m=/rgba?\\(([^)]+)\\)/.exec(window.getComputedStyle(el).backgroundColor);if(!m)continue;const p=m[1].split(/[\\s,\\/]+/).map(Number);if(p.length>3&&p[3]===0)continue;return .299*p[0]+.587*p[1]+.114*p[2];}return null;}let THEME_SWAP=false;function writeTheme(theme){let{light,dark}=themeTokens();if(THEME_SWAP){const keep=light;light=dark;dark=keep;}const list=map=>Object.keys(map).map(k=>k+\": \"+map[k]+\" !important;\").join(\" \");let el=document.getElementById(\"toggle-theme-2\");if(!el){el=document.createElement(\"style\");el.id=\"toggle-theme-2\";}// Always last in the page, so it wins over the site's own colour rules\ndocument.head.appendChild(el);el.textContent=\"html[toggle-theme=light], html[toggle-theme=light] body { \"+list(light)+\" color-scheme: light; } \"+\"html[toggle-theme=dark], html[toggle-theme=dark] body { \"+list(dark)+\" color-scheme: dark; }\";}function applyTheme(theme){if(typeof document===\"undefined\")return;THEME_NOW=theme;const html=document.documentElement;const body=document.body;html.setAttribute(\"toggle-theme\",theme);if(body)body.setAttribute(\"toggle-theme\",theme);try{localStorage.setItem(\"theme\",theme);}catch(error){}// The older switch's colours are removed so the two never fight\nconst old=document.getElementById(\"toggle-theme\");if(old&&old.parentNode)old.parentNode.removeChild(old);writeTheme(theme);// Check the page really turned light / dark; if Framer stored the two\n// sets the other way round, swap them once and keep it that way.\nconst l=pageLightness();if(l!==null&&theme===\"light\"!==l>128){THEME_SWAP=!THEME_SWAP;writeTheme(theme);const again=pageLightness();if(again!==null&&theme===\"light\"!==again>128){THEME_SWAP=!THEME_SWAP;writeTheme(theme);}}THEME_SUBS.forEach(f=>f(theme));try{window.dispatchEvent(new Event(\"themeChange\"));}catch(error){}}function startTheme(){try{const saved=localStorage.getItem(\"theme\");if(saved===\"light\"||saved===\"dark\")return saved;}catch(error){}return window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\";}export function withThemeToggle(Component){return /*#__PURE__*/React.forwardRef((props,ref)=>{const[theme,setTheme]=React.useState(()=>typeof window===\"undefined\"?\"dark\":THEME_NOW||startTheme());React.useEffect(()=>{const sync=t=>setTheme(t);THEME_SUBS.add(sync);if(THEME_NOW!==theme)applyTheme(theme);// The page's colours can load after the switch; apply once more\nconst later=window.setTimeout(()=>applyTheme(THEME_NOW||theme),400);return()=>{THEME_SUBS.delete(sync);window.clearTimeout(later);};},[]);const mobile=/mobile/i.test(String(props.variant||\"\"));const name=theme===\"light\"?mobile?\"Ligh Mobile\":\"Light\":mobile?\"Dark Mobile\":\"Dark\";return /*#__PURE__*/_jsx(Component,{...props,ref:ref,variant:name,whileHover:{scale:1},onClick:()=>applyTheme(theme===\"light\"?\"dark\":\"light\")});});}/* ===========================================================================\n   SHARED: screen size, light / dark page, motion styles\n   =========================================================================== */function useScreenDevice(canvasDevice,tabletFrom,desktopFrom){const onCanvas=RenderTarget.current()===RenderTarget.canvas;const[w,setW]=React.useState(typeof window!==\"undefined\"?window.innerWidth:1200);React.useEffect(()=>{if(onCanvas)return;const on=()=>setW(window.innerWidth);on();window.addEventListener(\"resize\",on);return()=>window.removeEventListener(\"resize\",on);},[onCanvas]);if(onCanvas)return canvasDevice||\"desktop\";return w>=(Number(desktopFrom)||1200)?\"desktop\":w>=(Number(tabletFrom)||810)?\"tablet\":\"mobile\";}/* Device overrides: a Tablet / Phone set that is switched on replaces the\n   desktop values on that screen size. */function forDevice(base,device,tablet,phone){return merge(base,device===\"tablet\"&&tablet&&tablet.on?tablet:null,device===\"mobile\"&&phone&&phone.on?phone:null);}function ensureMotionStyle(){if(typeof document===\"undefined\")return;if(document.getElementById(\"fts-motion-1\"))return;const el=document.createElement(\"style\");el.id=\"fts-motion-1\";el.textContent=\"@keyframes ftsTick{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}\"+\".fts-tick:hover .fts-tick-track[data-pause='1']{animation-play-state:paused}\"+\"@keyframes ftsSheen{from{transform:translateX(-100%)}to{transform:translateX(100%)}}\"+\"@keyframes ftsStripes{from{background-position:0 0}to{background-position:28px 0}}\"+\".fts-nl-input:focus-visible+.fts-nl-ctrl{outline:2px solid currentColor;outline-offset:3px}\"+\".fts-send:focus-visible{outline:2px solid currentColor;outline-offset:3px}\"+\"@media (prefers-reduced-motion:reduce){.fts-motion,.fts-motion *{animation:none !important;transition:none !important}}\";document.head.appendChild(el);}const EASINGS={smooth:\"cubic-bezier(.22,1,.36,1)\",spring:\"cubic-bezier(.34,1.56,.64,1)\",standard:\"cubic-bezier(.2,.8,.2,1)\",gentle:\"cubic-bezier(.4,0,.2,1)\",linear:\"linear\"};const easeOf=name=>EASINGS[name]||EASINGS.smooth;const easingControl=(title,extra)=>({title,type:ControlType.Enum,options:[\"smooth\",\"spring\",\"standard\",\"gentle\",\"linear\"],optionTitles:[\"Smooth\",\"Springy\",\"Standard\",\"Gentle\",\"Linear\"],defaultValue:\"smooth\",...extra||{}});const deviceOn=props=>!props.on;/* ===========================================================================\n   NEWSLETTER (checkbox or toggle, rotating words, scrolling ticker)\n   Sends under its Field Name as true / false, like the old checkbox.\n   =========================================================================== */const NL_DEFAULTS={name:\"Newsletter\",required:false,defaultOn:false,motion:true,prefix:\"Subscribe to\",words:[\"Newsletter\",\"Courses\",\"Articles\",\"Blogs\"],suffix:\"\",size:0,sizeTablet:0,sizePhone:13,control:{kind:\"checkbox\",side:\"left\",size:16,radius:4,borderWidth:1,toggleWidth:34,toggleHeight:20,thumbInset:2,duration:260,easing:\"spring\",drawCheck:true},colors:{},rotate:{on:true,interval:2200,duration:520,style:\"slide\",easing:\"smooth\",fitWidth:true,weight:\"\"},ticker:{show:false,place:\"beside\",items:[\"Design notes\",\"New work\",\"Studio news\",\"Early invites\"],separator:\"\\xb7\",speed:40,direction:\"left\",fade:24,gap:16,pauseOnHover:true,width:0,space:16,size:13,sizeTablet:13,sizePhone:11},layout:{gap:10,align:\"left\",padding:\"0px 0px 0px 0px\",textGap:4},screens:{tabletFrom:810,desktopFrom:1200,canvasDevice:\"desktop\"}};/* The site's light / dark choice, read from the theme switch. Used before\n   any colour sampling, so an autofilled field or an open list can never\n   flip the form's colours. null = no switch on the page. */function siteTheme(){if(typeof document===\"undefined\")return null;const html=document.documentElement;const t=html.getAttribute(\"toggle-theme\")||(document.body?document.body.getAttribute(\"toggle-theme\"):\"\")||\"\";if(t===\"dark\")return true;if(t===\"light\")return false;return null;}function isAutofilled(el){if(!el||!el.matches)return false;try{if(el.matches(\":-webkit-autofill\"))return true;}catch(error){}try{if(el.matches(\":autofill\"))return true;}catch(error){}return false;}/* The text style of the form's own inputs (font, size, weight, spacing).\n   These follow the site's Text Styles, so changing a style updates the\n   newsletter line and the Send button too. */function siteFontOf(auto,size){const f=auto&&auto.font||{};const out={fontFamily:f.fontFamily||auto&&auto.siteFont||'\"Inter Variable\", \"Inter\", sans-serif',fontSize:f.fontSize||size};if(f.fontWeight)out.fontWeight=f.fontWeight;if(f.fontStyle)out.fontStyle=f.fontStyle;if(f.letterSpacing&&f.letterSpacing!==\"normal\")out.letterSpacing=f.letterSpacing;return out;}/* Clearing the form after sending makes it shorter (cards and files go).\n   The Send button is kept exactly where it is on screen while that happens,\n   so the page never jumps to another section. */function keepInView(anchor,change){if(typeof window===\"undefined\"||!anchor)return change();const active=document.activeElement;if(active&&active.blur&&anchor.closest(\"form\")?.contains(active))active.blur();const before=anchor.getBoundingClientRect().top;const html=document.documentElement;const keep=html.style.overflowAnchor;html.style.overflowAnchor=\"none\";change();const started=Date.now();const hold=()=>{const now=anchor.getBoundingClientRect().top;const moved=now-before;if(Math.abs(moved)>.5)window.scrollBy(0,moved);if(Date.now()-started<700)window.requestAnimationFrame(hold);else html.style.overflowAnchor=keep;};window.requestAnimationFrame(hold);}/* The colours the form's own fields really use (their Color Styles, as\n   written, e.g. var(--token-…)), so everything here switches with the\n   site's theme in the same instant and follows any change to the style. */function formColors(el){if(!el)return null;const form=el.closest(\"form\")||el.parentElement;if(!form)return null;const inputs=form.querySelectorAll(\"input.fts-input, textarea.fts-input\");for(let i=0;i<inputs.length;i++){const input=inputs[i];let host=input.parentElement;let text=\"\";for(let d=0;host&&d<4&&!text;d++,host=host.parentElement){const c=host.style.color;if(c&&c!==\"inherit\"&&c!==\"currentcolor\")text=c;}if(!text)continue;return{text,muted:input.style.getPropertyValue(\"--fts-ph\")||\"\",ink:window.getComputedStyle(input).color};}return null;}function useFormColors(root){const[colors,setColors]=React.useState(null);React.useEffect(()=>{const read=()=>{const next=formColors(root.current);setColors(old=>JSON.stringify(old)===JSON.stringify(next)?old:next);};read();const t=window.setInterval(read,700);return()=>window.clearInterval(t);},[]);return colors;}/* \"Text Style\" slots: connect any Framer text layer. Its Text Style (font,\n   size per breakpoint, weight, spacing, case) and Color Style are read live\n   from the page, so editing the global style updates this component, and\n   light / dark follow the theme. The layer itself is never shown. */function hasNode(node){return!!node&&(!Array.isArray(node)||node.length>0);}function useStyleSample(node){const ref=React.useRef(null);const[look,setLook]=React.useState(null);const has=hasNode(node);React.useEffect(()=>{if(!has){setLook(null);return;}const read=()=>{const host=ref.current;if(!host)return;const t=host.querySelector(\".framer-text\")||host.querySelector(\"p, span, h1, h2, h3, h4, h5, h6\");if(!t)return;const cs=window.getComputedStyle(t);const next={fontFamily:cs.fontFamily,fontSize:cs.fontSize,fontWeight:cs.fontWeight,fontStyle:cs.fontStyle,letterSpacing:cs.letterSpacing,lineHeight:cs.lineHeight,textTransform:cs.textTransform,color:cs.color};setLook(old=>JSON.stringify(old)===JSON.stringify(next)?old:next);};read();const t=window.setInterval(read,500);window.addEventListener(\"resize\",read);return()=>{window.clearInterval(t);window.removeEventListener(\"resize\",read);};},[has]);const holder=has?/*#__PURE__*/_jsx(\"div\",{ref:ref,\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,top:0,width:400,height:0,overflow:\"hidden\",visibility:\"hidden\",pointerEvents:\"none\"},children:Array.isArray(node)?node[0]:node}):null;return[look,holder];}function fontOfSample(look){if(!look)return null;const out={...look};delete out.color;if(out.letterSpacing===\"normal\")delete out.letterSpacing;if(out.textTransform===\"none\")delete out.textTransform;return out;}function RotatingWord(props){const{words,R,motion,color,font,lock}=props;const list=(words||[]).filter(Boolean);const[turn,setTurn]=React.useState({cur:0,prev:-1});const cur=turn.cur;const prev=turn.prev;const refs=React.useRef([]);const[widths,setWidths]=React.useState([]);const spin=motion&&R.on!==false&&list.length>1;React.useEffect(()=>{if(!spin)return;const every=Math.max(600,Number(R.interval)||2200);const t=window.setInterval(()=>{setTurn(t=>({prev:t.cur,cur:(t.cur+1)%list.length}));},every);return()=>window.clearInterval(t);},[spin,R.interval,list.length]);useIsoEffect(()=>{const measure=()=>{const next=refs.current.map(el=>el?Math.ceil(el.getBoundingClientRect().width):0);setWidths(old=>old.length===next.length&&old.every((v,i)=>v===next[i])?old:next);};measure();const later=window.setTimeout(measure,300);const fonts=document.fonts;if(fonts&&fonts.ready)fonts.ready.then(measure);window.addEventListener(\"resize\",measure);return()=>{window.clearTimeout(later);window.removeEventListener(\"resize\",measure);};},[list.join(\"|\"),JSON.stringify(font)]);if(!list.length)return null;const index=cur%list.length;const speed=Math.max(0,Number(R.duration)||0);const ease=easeOf(R.easing);const style=R.style||\"slide\";const look=state=>{const enter=style===\"fade\"?{opacity:0}:style===\"blur\"?{opacity:0,filter:\"blur(6px)\",transform:\"translateY(0.35em)\"}:style===\"flip\"?{opacity:0,transform:\"rotateX(-90deg)\"}:{opacity:0,transform:\"translateY(100%)\"};const leave=style===\"fade\"?{opacity:0}:style===\"blur\"?{opacity:0,filter:\"blur(6px)\",transform:\"translateY(-0.35em)\"}:style===\"flip\"?{opacity:0,transform:\"rotateX(90deg)\"}:{opacity:0,transform:\"translateY(-100%)\"};const moving=\"opacity \"+speed+\"ms ease, transform \"+speed+\"ms \"+ease+\", filter \"+speed+\"ms ease\";if(state===\"in\")return{opacity:1,filter:\"none\",transform:\"none\",transition:moving};if(state===\"out\")return{...leave,transition:moving};return{...enter,transition:\"none\"};};// Locked (a ticker sits beside it): always the widest word's width, so\n// nothing next to it ever moves. Otherwise the width can follow the word.\nconst widest=widths.length?Math.max.apply(null,widths):0;const follow=!lock&&R.fitWidth!==false;const w=lock?widest:follow?widths[index]:widest;return /*#__PURE__*/_jsx(\"span\",{className:\"fts-motion\",style:{position:\"relative\",display:\"inline-grid\",flexShrink:0,verticalAlign:\"bottom\",overflow:style===\"slide\"||style===\"flip\"?\"hidden\":\"visible\",paddingBlock:\"0.12em\",marginBlock:\"-0.12em\",width:w||undefined,transition:follow?\"width \"+speed+\"ms \"+ease:\"none\",perspective:style===\"flip\"?400:undefined,color,...font},children:list.map((word,i)=>/*#__PURE__*/_jsx(\"span\",{ref:el=>{refs.current[i]=el;},\"aria-hidden\":i!==index,style:{gridArea:\"1 / 1\",justifySelf:\"start\",whiteSpace:\"nowrap\",display:\"inline-block\",transformOrigin:\"50% 50%\",backfaceVisibility:\"hidden\",...spin?look(i===index?\"in\":i===prev?\"out\":\"wait\"):{opacity:i===index?1:0}},children:word},word+i))});}/* The ticker is moved frame by frame from one running position, so it never\n   restarts, jumps or drifts when fonts load, the window resizes or the words\n   next to it change. */function Ticker(props){const{T,motion,color,font,place}=props;const items=(T.items||[]).filter(Boolean);const half=React.useRef(null);const track=React.useRef(null);const hovered=React.useRef(false);const span=React.useRef(0);useIsoEffect(()=>{const el=half.current;if(!el)return;const read=()=>{span.current=el.getBoundingClientRect().width;};read();const ro=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(read):null;if(ro)ro.observe(el);const fonts=document.fonts;if(fonts&&fonts.ready)fonts.ready.then(read);return()=>{if(ro)ro.disconnect();};},[items.join(\"|\"),T.gap,T.separator,JSON.stringify(font)]);useIsoEffect(()=>{const tr=track.current;if(!tr)return;if(!motion){tr.style.transform=\"translate3d(0,0,0)\";return;}const pace=Math.max(4,Number(T.speed)||40);const way=T.direction===\"right\"?-1:1;let off=0;let last=0;let raf=0;const tick=now=>{raf=window.requestAnimationFrame(tick);const dt=last?Math.min(64,now-last):0;last=now;const w=span.current;if(!w)return;if(!(T.pauseOnHover&&hovered.current))off=(off+way*pace*dt/1e3)%w;if(off<0)off+=w;tr.style.transform=\"translate3d(\"+(-off).toFixed(2)+\"px,0,0)\";};raf=window.requestAnimationFrame(tick);return()=>window.cancelAnimationFrame(raf);},[motion,T.speed,T.direction,T.pauseOnHover]);if(!items.length)return null;const fade=Math.max(0,Number(T.fade)||0);const mask=fade?\"linear-gradient(to right, transparent 0, #000 \"+fade+\"px, #000 calc(100% - \"+fade+\"px), transparent 100%)\":undefined;const gap=Math.max(0,Number(T.gap)||0);const row=copy=>/*#__PURE__*/_jsx(\"span\",{ref:copy===0?half:undefined,\"aria-hidden\":copy>0,style:{display:\"inline-flex\",alignItems:\"center\",flexShrink:0},children:[0,1,2].map(r=>items.map((item,i)=>/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap,paddingRight:gap},children:[/*#__PURE__*/_jsx(\"span\",{children:item}),T.separator?/*#__PURE__*/_jsx(\"span\",{style:{opacity:.5},children:T.separator}):null]},r+\"-\"+i)))});const width=Number(T.width)||0;return /*#__PURE__*/_jsx(\"span\",{className:\"fts-tick\",\"aria-hidden\":\"true\",onMouseEnter:()=>{hovered.current=true;},onMouseLeave:()=>{hovered.current=false;},style:{position:\"relative\",display:\"block\",overflow:\"hidden\",minWidth:0,flex:place===\"beside\"&&!width?\"1 1 0\":\"0 0 auto\",width:width?width:place===\"beside\"?undefined:\"100%\",maxWidth:\"100%\",WebkitMaskImage:mask,maskImage:mask,whiteSpace:\"nowrap\",contain:\"layout paint\",lineHeight:1.25,alignSelf:\"center\",color,...font},children:/*#__PURE__*/_jsxs(\"span\",{ref:track,style:{display:\"inline-flex\",willChange:motion?\"transform\":undefined,transform:\"translate3d(0,0,0)\"},children:[row(0),row(1)]})});}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 360\n */export function NewsletterField(props){const p=merge(NL_DEFAULTS,props);const C=merge(NL_DEFAULTS.control,props.control);const R=merge(NL_DEFAULTS.rotate,props.rotate);const T=merge(NL_DEFAULTS.ticker,props.ticker);const LY=merge(NL_DEFAULTS.layout,props.layout);const K=merge(props.colors);const q={...p,styleSource:\"match\"};const{root,pal,auto}=useField(q,\"upload\");// Desktop / tablet / phone: the screen width on the site, the\n// component's own width on the canvas (so each breakpoint shows its size)\nconst device=useDeviceOf(root);React.useEffect(ensureMotionStyle,[]);const onCanvas=RenderTarget.current()===RenderTarget.canvas;const calm=typeof window!==\"undefined\"&&!!window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const motion=p.motion!==false&&!calm;const[checked,setChecked]=React.useState(!!p.defaultOn);React.useEffect(()=>{const reset=()=>setChecked(!!p.defaultOn);window.addEventListener(\"fts:reset\",reset);return()=>window.removeEventListener(\"fts:reset\",reset);},[p.defaultOn]);const on=onCanvas&&p.canvasOn?true:checked;const dark=!!pal.dark;const col=(light,darkValue,fallback)=>(dark?darkValue:light)||fallback;const mix=(base,amount)=>\"color-mix(in srgb, \"+base+\" \"+amount+\"%, transparent)\";const FC=useFormColors(root);const ink=FC&&FC.text||(dark?\"#ffffff\":\"#000000\");const page=dark?\"#000000\":\"#ffffff\";const text=col(K.text,K.textDark,FC&&FC.muted||mix(ink,55));const wordColor=col(K.word,K.wordDark,text);const tickColor=col(K.ticker,K.tickerDark,mix(ink,45));const accent=col(K.on,K.onDark,ink);const border=col(K.border,K.borderDark,mix(ink,45));const markSet=!!(dark?K.markDark:K.mark);const mark=col(K.mark,K.markDark,ink);const thumb=col(K.thumb,K.thumbDark,ink);const thumbOnSet=!!(dark?K.thumbOnDark:K.thumbOn);const thumbOn=col(K.thumbOn,K.thumbOnDark,ink);const trackOff=col(K.trackOff,K.trackOffDark,mix(ink,18));// One size per screen, set right here. 0 = like the form's inputs.\nconst pick=(d,t,m)=>Number(device===\"mobile\"?m:device===\"tablet\"?t:d)||0;const textSize=pick(p.size,p.sizeTablet,p.sizePhone);const tickSize=pick(T.size,T.sizeTablet,T.sizePhone)||(textSize?Math.round(textSize*.9):0);const siteFont=siteFontOf(auto,14);const baseFont={...siteFont,...p.font||{},lineHeight:1.35,...textSize?{fontSize:textSize}:null};const tickFont={fontSize:tickSize||\"0.9em\",fontWeight:baseFont.fontWeight};const speed=motion?Math.max(0,Number(C.duration)||0):0;const ease=easeOf(C.easing);const size=Math.max(10,Number(C.size)||16);const control=C.kind===\"toggle\"?(()=>{const w=Math.max(20,Number(C.toggleWidth)||34);const h=Math.max(12,Number(C.toggleHeight)||20);const inset=2;const t=h-inset*2;return /*#__PURE__*/_jsx(\"span\",{className:\"fts-nl-ctrl fts-motion\",\"aria-hidden\":\"true\",style:{position:\"relative\",display:\"inline-block\",flexShrink:0,width:w,height:h,borderRadius:h,background:on?accent:trackOff,transition:\"background-color \"+speed+\"ms ease\"},children:/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:inset,left:inset,width:t,height:t,borderRadius:\"50%\",background:on?thumbOn:thumb,filter:on&&!thumbOnSet?\"invert(1)\":\"none\",transform:on?\"translateX(\"+(w-t-inset*2)+\"px)\":\"none\",transition:\"transform \"+speed+\"ms \"+ease+\", background-color \"+speed+\"ms ease\"}})});})():/*#__PURE__*/_jsx(\"span\",{className:\"fts-nl-ctrl fts-motion\",\"aria-hidden\":\"true\",style:{position:\"relative\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,width:size,height:size,boxSizing:\"border-box\",borderRadius:Math.min(Number(C.radius)||0,size/2),border:\"1px solid \"+(on?accent:border),background:on?accent:\"transparent\",transition:\"background-color \"+speed+\"ms ease\"},children:/*#__PURE__*/_jsx(\"svg\",{width:size*.72,height:size*.72,viewBox:\"0 0 16 16\",fill:\"none\",stroke:mark,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{display:\"block\",overflow:\"visible\",filter:markSet?\"none\":\"invert(1)\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.5 8.5l3 3 6-7\",pathLength:1,style:{strokeDasharray:1,strokeDashoffset:on?0:1,opacity:on?1:0,transition:\"stroke-dashoffset \"+speed+\"ms \"+ease+\", opacity \"+Math.round(speed*.5)+\"ms ease\"}})})});const label=/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"baseline\",flexShrink:0,columnGap:\"0.28em\",whiteSpace:\"nowrap\"},children:[p.prefix?/*#__PURE__*/_jsx(\"span\",{children:p.prefix}):null,/*#__PURE__*/_jsx(RotatingWord,{words:p.words,R:R,motion:motion,lock:!!T.show,color:wordColor,font:null}),p.suffix?/*#__PURE__*/_jsx(\"span\",{children:p.suffix}):null]});const tickerGap=Math.max(0,Number(T.space)||0);return /*#__PURE__*/_jsx(\"div\",{ref:root,\"data-fts\":\"\",style:{position:\"relative\",width:\"100%\",boxSizing:\"border-box\",padding:LY.padding,color:text,...baseFont},children:/*#__PURE__*/_jsxs(\"label\",{style:{position:\"relative\",display:\"flex\",flexDirection:C.side===\"right\"?\"row-reverse\":\"row\",alignItems:\"center\",justifyContent:LY.align===\"center\"?\"center\":LY.align===\"right\"?\"flex-end\":\"flex-start\",gap:Math.max(0,Number(LY.gap)||0),width:\"100%\",minWidth:0,cursor:\"pointer\",userSelect:\"none\",WebkitTapHighlightColor:\"transparent\"},children:[/*#__PURE__*/_jsx(\"input\",{className:\"fts-nl-input\",type:\"checkbox\",name:p.name,required:p.required,checked:checked,onChange:event=>setChecked(event.target.checked),style:{position:\"absolute\",opacity:0,width:1,height:1,margin:0,pointerEvents:\"none\",clipPath:\"inset(50%)\"}}),control,/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",gap:tickerGap,minWidth:0,flex:T.show?\"1 1 0\":undefined},children:[label,T.show?/*#__PURE__*/_jsx(Ticker,{T:{...T,gap:14,pauseOnHover:true,width:0},motion:motion,color:tickColor,font:tickFont,place:\"beside\"}):null]})]})});}const nlColor=title=>({title,type:ControlType.Color,optional:true});addPropertyControls(NewsletterField,{name:{title:\"Field Name\",type:ControlType.String,defaultValue:\"Newsletter\",description:\"Sent as true / false under this name.\"},defaultOn:{title:\"Starts\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},prefix:{title:\"Text\",type:ControlType.String,defaultValue:\"Subscribe to\"},words:{title:\"Words\",type:ControlType.Array,control:{type:ControlType.String},defaultValue:[\"Newsletter\",\"Courses\",\"Articles\",\"Blogs\"]},font:{title:\"Font\",type:ControlType.Font,controls:\"basic\",description:\"Leave empty to use the form's font.\"},size:num(\"Size Desktop\",0,0,40,{unit:\"px\",description:\"0 = same as the form's inputs.\"}),sizeTablet:num(\"Size Tablet\",0,0,40,{unit:\"px\"}),sizePhone:num(\"Size Phone\",13,0,40,{unit:\"px\"}),motion:{title:\"Animations\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},control:{title:\"Selection\",type:ControlType.Object,buttonTitle:\"Checkbox / Toggle\",controls:{kind:{title:\"Style\",type:ControlType.Enum,options:[\"checkbox\",\"toggle\"],optionTitles:[\"Checkbox\",\"Toggle\"],defaultValue:\"checkbox\",displaySegmentedControl:true},side:{title:\"Side\",type:ControlType.Enum,options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true},size:num(\"Box Size\",16,10,40,{unit:\"px\",hidden:props=>props.kind===\"toggle\"}),radius:num(\"Box Radius\",4,0,20,{hidden:props=>props.kind===\"toggle\"}),toggleWidth:num(\"Toggle Width\",34,20,80,{unit:\"px\",hidden:props=>props.kind!==\"toggle\"}),toggleHeight:num(\"Toggle Height\",20,12,44,{unit:\"px\",hidden:props=>props.kind!==\"toggle\"}),duration:num(\"Speed\",260,0,1e3,{step:10,unit:\"ms\"}),easing:easingControl(\"Easing\",{defaultValue:\"spring\"})}},rotate:{title:\"Word Motion\",type:ControlType.Object,buttonTitle:\"Rotating Words\",controls:{on:{title:\"Rotate\",type:ControlType.Boolean,defaultValue:true},style:{title:\"Animation\",type:ControlType.Enum,options:[\"slide\",\"fade\",\"blur\",\"flip\"],optionTitles:[\"Slide Up\",\"Fade\",\"Blur\",\"Flip\"],defaultValue:\"slide\"},interval:num(\"Every\",2200,600,8e3,{step:100,unit:\"ms\"}),duration:num(\"Speed\",520,100,1500,{step:10,unit:\"ms\"}),easing:easingControl(\"Easing\")}},ticker:{title:\"Ticker\",type:ControlType.Object,buttonTitle:\"Scrolling Text\",controls:{show:{title:\"Ticker\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},items:{title:\"Items\",type:ControlType.Array,control:{type:ControlType.String},defaultValue:[\"Design notes\",\"New work\",\"Studio news\"]},separator:{title:\"Separator\",type:ControlType.String,defaultValue:\"\\xb7\"},space:num(\"Gap to Text\",16,0,120,{unit:\"px\",description:\"Space between “Subscribe to …” and the ticker.\"}),size:num(\"Size Desktop\",13,0,40,{unit:\"px\"}),sizeTablet:num(\"Size Tablet\",13,0,40,{unit:\"px\"}),sizePhone:num(\"Size Phone\",11,0,40,{unit:\"px\"}),speed:num(\"Speed\",40,4,300,{unit:\"px/s\"}),direction:{title:\"Direction\",type:ControlType.Enum,options:[\"left\",\"right\"],optionTitles:[\"← Left\",\"Right →\"],defaultValue:\"left\",displaySegmentedControl:true},fade:num(\"Fade Edges\",24,0,120,{unit:\"px\"})}},colors:{title:\"Colours\",type:ControlType.Object,buttonTitle:\"Light & Dark\",controls:{text:nlColor(\"Text\"),textDark:nlColor(\"Text (Dark)\"),word:nlColor(\"Word\"),wordDark:nlColor(\"Word (Dark)\"),ticker:nlColor(\"Ticker\"),tickerDark:nlColor(\"Ticker (Dark)\"),on:nlColor(\"Selected\"),onDark:nlColor(\"Selected (Dark)\"),border:nlColor(\"Border\"),borderDark:nlColor(\"Border (Dark)\"),trackOff:nlColor(\"Toggle Off\"),trackOffDark:nlColor(\"Toggle Off (Dark)\")}},layout:{title:\"Layout\",type:ControlType.Object,buttonTitle:\"Spacing & Align\",controls:{gap:num(\"Gap\",10,0,40,{description:\"Space between the checkbox and the text.\"}),align:{title:\"Align\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true},padding:{title:\"Padding\",type:ControlType.Padding,defaultValue:\"0px 0px 0px 0px\"}}}});/* Desktop, tablet or phone. On the site: the window width (Framer's own\n   breakpoints, 810 and 1200). On the canvas: the component's own width, so\n   the Phone breakpoint shows the phone size. */function useDeviceOf(root){const onCanvas=RenderTarget.current()===RenderTarget.canvas;// The canvas is zoomed, and the form is about as wide on every\n// breakpoint, so the canvas uses the width of the breakpoint frame the\n// component sits in (its widest parent), in real layout pixels.\nconst read=()=>{if(typeof window===\"undefined\")return\"desktop\";let w=window.innerWidth;if(onCanvas){const el=root&&root.current;w=0;for(let n=el,d=0;n&&d<60;n=n.parentElement,d++){const ow=n.offsetWidth;if(ow>w&&ow<=2400)w=ow;}if(!w)w=1440;}return w>=1200?\"desktop\":w>=810?\"tablet\":\"mobile\";};const[device,setDevice]=React.useState(\"desktop\");useIsoEffect(()=>{const on=()=>setDevice(read());on();window.addEventListener(\"resize\",on);const el=root&&root.current;const ro=onCanvas&&el&&typeof ResizeObserver!==\"undefined\"?new ResizeObserver(on):null;if(ro&&el)ro.observe(el);return()=>{window.removeEventListener(\"resize\",on);if(ro)ro.disconnect();};},[]);return device;}/* ===========================================================================\n   SEND BUTTON\n   Pressing Send grows the button into a progress bar (0-100 %) that follows\n   the real sending, then shows \"Sent\" and your thank-you line inside the\n   button. No overlay, no pop-up. Put it inside the form in place of the\n   form's own Send button (the form needs the withFormToSheet override).\n   =========================================================================== */const SEND_DEFAULTS={label:\"Send\",sentText:\"Sent\",thanksText:\"Thank you, {first_name}.\",errorText:\"Not sent. Please try again\",nameField:\"Name\",canvasState:\"idle\",canvasPercent:64,button:{fill:\"\",fillDark:\"\",hoverFill:\"\",hoverFillDark:\"\",text:\"\",textDark:\"\",borderWidth:0,border:\"\",borderDark:\"\",radius:6,height:40,paddingX:22,width:\"fit\",fixed:160,align:\"left\"},bar:{width:\"fill\",fixed:320,height:40,radius:-1,track:\"\",trackDark:\"\",fill:\"\",fillDark:\"\",percent:\"center\",style:\"fill\",thickness:3,percentColor:\"\",percentColorDark:\"\",sheen:true,expand:520,easing:\"smooth\"},done:{sentHold:1300,backAfter:4,resetForm:true,fill:\"\",fillDark:\"\",text:\"\",textDark:\"\",width:\"bar\"}};/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 360\n */export function SendButton(props){const p=merge(SEND_DEFAULTS,props);const SC=merge(NL_DEFAULTS.screens,props.screens);const device=useScreenDevice(SC.canvasDevice,SC.tabletFrom,SC.desktopFrom);const B=forDevice(merge(SEND_DEFAULTS.button,props.button),device,props.tablet,props.phone);const BAR=forDevice(merge(SEND_DEFAULTS.bar,props.bar),device,props.tablet&&props.tablet.on?{on:true,width:props.tablet.barWidth}:null,props.phone&&props.phone.on?{on:true,width:props.phone.barWidth}:null);const D=merge(SEND_DEFAULTS.done,props.done);const q={...p,styleSource:\"match\"};const{root,pal,auto}=useField(q,\"upload\");const sendDevice=useDeviceOf(root);const sizeNow=Number(sendDevice===\"mobile\"?p.sizePhone:sendDevice===\"tablet\"?p.sizeTablet:p.size)||0;React.useEffect(ensureMotionStyle,[]);const onCanvas=RenderTarget.current()===RenderTarget.canvas;const button=React.useRef(null);const measure=React.useRef(null);// idle → busy → done → thanks → leave (text fades) → shrink → idle\nconst[phase,setPhase]=React.useState(\"idle\");const[pct,setPct]=React.useState(0);const[who,setWho]=React.useState(\"\");const[hover,setHover]=React.useState(false);const[boxW,setBoxW]=React.useState(0);const[labelW,setLabelW]=React.useState(0);// No width animation until the first real measurement, so the button\n// never grows or shrinks when the page loads\nconst[settled,setSettled]=React.useState(false);const timers=React.useRef([]);const clearTimers=()=>{timers.current.forEach(t=>window.clearTimeout(t));timers.current=[];};const later=(fn,ms)=>{timers.current.push(window.setTimeout(fn,ms));};const speed=Math.max(0,Number(BAR.expand)||0);const fadeMs=Math.max(120,Math.round(speed*.5));useIsoEffect(()=>{const el=root.current;if(!el)return;const read=()=>{const w=Math.round(el.getBoundingClientRect().width);setBoxW(old=>Math.abs(old-w)>.5?w:old);if(measure.current){const l=Math.ceil(measure.current.getBoundingClientRect().width);setLabelW(old=>Math.abs(old-l)>.5?l:old);}};read();const ro=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(read):null;if(ro){ro.observe(el);if(measure.current)ro.observe(measure.current);}const fonts=document.fonts;if(fonts&&fonts.ready)fonts.ready.then(read);const t=window.setTimeout(()=>{read();setSettled(true);},350);return()=>{if(ro)ro.disconnect();window.clearTimeout(t);};},[]);React.useEffect(()=>{if(onCanvas)return;const w=window;w.__ftsButtons=(w.__ftsButtons||0)+1;const mine=event=>{const form=event&&event.detail?event.detail.form:null;const el=button.current;return!!(form&&el&&form.contains(el));};const nameOf=form=>{try{const field=form.elements.namedItem(p.nameField);const value=field&&\"value\"in field?String(field.value):\"\";return value.trim();}catch(error){return\"\";}};const clearForm=form=>{if(!D.resetForm)return;keepInView(root.current,()=>{try{if(form&&form.reset)form.reset();}catch(error){}window.dispatchEvent(new CustomEvent(\"fts:reset\"));});};// Text fades out, then the button glides back to its own width\nconst goBack=form=>{setPhase(\"leave\");later(()=>{setPhase(\"shrink\");setPct(0);clearForm(form);},fadeMs);later(()=>setPhase(\"idle\"),fadeMs+speed);};const onSending=event=>{if(!mine(event))return;clearTimers();setWho(nameOf(event.detail.form));setPct(0);setPhase(\"busy\");};const onProgress=event=>{if(!mine(event))return;const n=Number(event.detail.percent)||0;setPct(old=>Math.max(old,Math.min(99,n)));};const onSent=event=>{if(!mine(event))return;const form=event.detail.form;clearTimers();setPct(100);later(()=>setPhase(\"done\"),360);const hold=Math.max(300,Number(D.sentHold)||0);later(()=>setPhase(\"thanks\"),360+hold);const back=Number(D.backAfter)||0;if(back>0)later(()=>goBack(form),360+hold+back*1e3);else later(()=>clearForm(form),360+hold+400);};const onError=event=>{if(!mine(event))return;clearTimers();setPhase(\"error\");later(()=>goBack(null),3600);};window.addEventListener(\"fts:sending\",onSending);window.addEventListener(\"fts:progress\",onProgress);window.addEventListener(\"fts:sent\",onSent);window.addEventListener(\"fts:error\",onError);return()=>{w.__ftsButtons=Math.max(0,(w.__ftsButtons||1)-1);window.removeEventListener(\"fts:sending\",onSending);window.removeEventListener(\"fts:progress\",onProgress);window.removeEventListener(\"fts:sent\",onSent);window.removeEventListener(\"fts:error\",onError);clearTimers();};},[onCanvas,p.nameField,D.sentHold,D.backAfter,D.resetForm,speed]);const shown=onCanvas?p.canvasState||\"idle\":phase;const shownPct=onCanvas?shown===\"busy\"?Math.max(0,Math.min(100,Number(p.canvasPercent)||0)):100:pct;const busy=shown===\"busy\";const message=shown===\"done\"||shown===\"thanks\";const open=busy||message||shown===\"error\"||shown===\"leave\";// Colours: each has a dark value; empty follows the form's own colours.\n// Any colour can be a Framer Color Style, so it follows the site.\nconst dark=!!pal.dark;const col=(light,darkValue,fallback)=>(dark?darkValue:light)||fallback;const mix=(base,amount)=>\"color-mix(in srgb, \"+base+\" \"+amount+\"%, transparent)\";// Defaults follow the form's own fields (their Color Styles); a\n// connected Text Style layer sets the label; colours set here win\nconst FC=useFormColors(root);const[labelLook,labelHolder]=useStyleSample(p.textStyle);const ink=FC&&FC.text||(dark?\"#ffffff\":\"#000000\");const fill=col(B.fill,B.fillDark,mix(ink,12));const hoverFill=col(B.hoverFill,B.hoverFillDark,mix(ink,16));const textColor=col(B.text,B.textDark,labelLook&&labelLook.color||ink);const track=col(BAR.track,BAR.trackDark,fill);const barFill=col(BAR.fill,BAR.fillDark,mix(ink,22));const pctColor=col(BAR.percentColor,BAR.percentColorDark,textColor);const doneFill=col(D.fill,D.fillDark,barFill);const doneText=col(D.text,D.textDark,textColor);const borderColor=col(B.border,B.borderDark,mix(ink,30));// Sizes. The height never changes; only the width grows and shrinks.\nconst room=boxW||320;const padX=Math.max(0,Number(B.paddingX)||0);const height=Math.max(20,Number(B.height)||40);const idleW=B.width===\"fill\"?room:B.width===\"fixed\"?Math.min(room,Math.max(40,Number(B.fixed)||160)):Math.min(room,Math.ceil(labelW+padX*2));const openW=BAR.width===\"same\"?idleW:BAR.width===\"fixed\"?Math.min(room,Math.max(idleW,Number(BAR.fixed)||320)):room;const width=open?openW:idleW;const radius=Math.max(0,Number(B.radius)||0);const ease=easeOf(BAR.easing);const lineH=Math.max(1,Math.min(height,Number(BAR.thickness)||3));const asLine=BAR.style===\"line\";const siteFont=siteFontOf(auto,14);const font={fontWeight:500,lineHeight:1.2,...labelLook?fontOfSample(labelLook):p.fontMode===\"custom\"?{...siteFont,...p.font||{}}:siteFont,...B.fontSize?{fontSize:B.fontSize}:null,...sizeNow?{fontSize:sizeNow}:null};const words=text=>{const first=who.split(/\\s+/)[0]||\"\";let out=String(text||\"\");if(!who)out=out.replace(/,?\\s*\\{first_name\\}/g,\"\").replace(/,?\\s*\\{name\\}/g,\"\");return out.replace(/\\{first_name\\}/g,first).replace(/\\{name\\}/g,who);};const layer=(on,color,content,key,place)=>/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":!on,style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:place===\"right\"?\"flex-end\":place===\"left\"?\"flex-start\":\"center\",padding:\"0 \"+padX+\"px\",boxSizing:\"border-box\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",color,opacity:on?1:0,transition:\"opacity \"+fadeMs+\"ms ease\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",maxWidth:\"100%\"},children:content})},key);const background=busy?track:message||shown===\"leave\"?doneFill:hover&&shown===\"idle\"?hoverFill:fill;const live=shown===\"busy\"?\"Sending, \"+shownPct+\"%\":shown===\"done\"?p.sentText:shown===\"thanks\"?words(p.thanksText):shown===\"error\"?p.errorText:\"\";const animate=settled||onCanvas;return /*#__PURE__*/_jsxs(\"div\",{ref:root,\"data-fts\":\"\",style:{position:\"relative\",width:\"100%\",height,display:\"flex\",alignItems:\"center\",justifyContent:B.align===\"center\"?\"center\":B.align===\"right\"?\"flex-end\":\"flex-start\",...font},children:[/*#__PURE__*/_jsx(\"span\",{ref:measure,\"aria-hidden\":\"true\",style:{position:\"absolute\",visibility:\"hidden\",whiteSpace:\"nowrap\",pointerEvents:\"none\",left:0,top:0},children:p.label}),/*#__PURE__*/_jsxs(\"button\",{ref:button,type:\"submit\",className:\"fts-send fts-motion\",\"aria-busy\":busy,disabled:!onCanvas&&shown!==\"idle\",onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),onClick:event=>{if(onCanvas)event.preventDefault();},style:{...bareButton,position:\"relative\",display:\"block\",flexShrink:0,width,maxWidth:\"100%\",height,margin:0,padding:0,boxSizing:\"border-box\",overflow:\"hidden\",isolation:\"isolate\",border:B.borderWidth?B.borderWidth+\"px solid \"+borderColor:\"none\",borderRadius:radius,background,color:textColor,font:\"inherit\",letterSpacing:\"inherit\",cursor:shown===\"idle\"?\"pointer\":\"default\",opacity:1,WebkitTapHighlightColor:\"transparent\",transform:\"translateZ(0)\",transition:animate?\"width \"+speed+\"ms \"+ease+\", background-color \"+fadeMs+\"ms ease\":\"none\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,bottom:0,top:asLine?undefined:0,height:asLine?lineH:undefined,width:\"100%\",transformOrigin:\"0 50%\",transform:\"scaleX(\"+(busy?shownPct/100:0)+\")\",background:barFill,opacity:busy?1:0,transition:busy?\"transform 260ms linear, opacity \"+fadeMs+\"ms ease\":\"opacity \"+fadeMs+\"ms ease\",overflow:\"hidden\"},children:busy&&BAR.sheen&&!asLine?/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(90deg, transparent, \"+mix(\"#ffffff\",22)+\", transparent)\",animation:\"ftsSheen 1.4s ease-in-out infinite\"}}):null}),layer(shown===\"idle\",textColor,p.label,\"idle\"),layer(busy&&BAR.percent!==\"none\",pctColor,/*#__PURE__*/_jsxs(\"span\",{style:{fontVariantNumeric:\"tabular-nums\"},children:[shownPct,\"%\"]}),\"pct\",BAR.percent===\"right\"?\"right\":\"center\"),layer(shown===\"done\",doneText,p.sentText,\"sent\"),layer(shown===\"thanks\",doneText,words(p.thanksText),\"thanks\"),layer(shown===\"error\",textColor,p.errorText,\"error\")]}),/*#__PURE__*/_jsx(\"span\",{\"aria-live\":\"polite\",style:{position:\"absolute\",width:1,height:1,overflow:\"hidden\",clipPath:\"inset(50%)\"},children:live}),labelHolder]});}function sendDeviceControls(){return{on:{title:\"Use\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Own\",disabledTitle:\"Desktop\"},width:{title:\"Button Width\",type:ControlType.Enum,options:[\"fit\",\"fill\",\"fixed\"],optionTitles:[\"Fit Content\",\"Fill\",\"Fixed\"],defaultValue:\"fit\",hidden:deviceOn},fixed:num(\"Fixed Width\",160,40,800,{step:10,unit:\"px\",hidden:props=>deviceOn(props)||props.width!==\"fixed\"}),height:num(\"Height\",50,20,120,{unit:\"px\",hidden:deviceOn}),paddingX:num(\"Side Space\",40,0,80,{hidden:deviceOn}),fontSize:num(\"Text Size\",14,8,40,{unit:\"px\",hidden:deviceOn}),align:{title:\"Align\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true,hidden:deviceOn},barWidth:{title:\"Grows To\",type:ControlType.Enum,options:[\"same\",\"fill\",\"fixed\"],optionTitles:[\"Stays\",\"Fill\",\"Fixed\"],defaultValue:\"fill\",hidden:deviceOn}};}addPropertyControls(SendButton,{label:{title:\"Label\",type:ControlType.String,defaultValue:\"Send\"},sentText:{title:\"Sent Text\",type:ControlType.String,defaultValue:\"Sent\"},thanksText:{title:\"Thank You\",type:ControlType.String,defaultValue:\"Thank you, {first_name}.\",description:\"{first_name} and {name} come from the form's Name field. Without a name the comma and name are left out.\"},errorText:{title:\"Error Text\",type:ControlType.String,defaultValue:\"Not sent. Please try again\"},nameField:{title:\"Name Field\",type:ControlType.String,defaultValue:\"Name\"},textStyle:{title:\"Text Style\",type:ControlType.ComponentInstance,description:\"Optional: connect a text layer that uses your Framer Text Style and Color Style. Updating that style updates the button.\"},fontMode:{title:\"Font\",type:ControlType.Enum,options:[\"site\",\"custom\"],optionTitles:[\"Like Inputs\",\"Custom\"],defaultValue:\"site\",displaySegmentedControl:true,hidden:props=>hasNode(props.textStyle)},font:{title:\"Custom Font\",type:ControlType.Font,controls:\"extended\",defaultValue:{fontSize:14,variant:\"Medium\"},hidden:props=>hasNode(props.textStyle)||props.fontMode!==\"custom\"},size:num(\"Size Desktop\",0,0,40,{unit:\"px\",description:\"0 = from the font above.\"}),sizeTablet:num(\"Size Tablet\",0,0,40,{unit:\"px\"}),sizePhone:num(\"Size Phone\",0,0,40,{unit:\"px\"}),canvasState:{title:\"Canvas\",type:ControlType.Enum,options:[\"idle\",\"busy\",\"done\",\"thanks\",\"error\"],optionTitles:[\"Button\",\"Progress\",\"Sent\",\"Thank You\",\"Error\"],defaultValue:\"idle\",description:\"Canvas only: shows a state so you can style it.\"},canvasPercent:num(\"Canvas %\",64,0,100,{unit:\"%\",hidden:props=>props.canvasState!==\"busy\"}),button:{title:\"Button\",type:ControlType.Object,buttonTitle:\"Size & Colours\",controls:{width:{title:\"Width\",type:ControlType.Enum,options:[\"fit\",\"fill\",\"fixed\"],optionTitles:[\"Fit Content\",\"Fill\",\"Fixed\"],defaultValue:\"fit\",displaySegmentedControl:true},fixed:num(\"Fixed Width\",160,40,800,{step:10,unit:\"px\",hidden:props=>props.width!==\"fixed\"}),align:{title:\"Align\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true},height:num(\"Height\",40,20,120,{unit:\"px\",description:\"Stays the same the whole time.\"}),paddingX:num(\"Side Space\",22,0,80),radius:num(\"Radius\",6,0,60),fill:optional(\"Fill\"),fillDark:optional(\"Fill (Dark)\"),hoverFill:optional(\"Hover Fill\"),hoverFillDark:optional(\"Hover Fill (Dark)\"),text:optional(\"Text\"),textDark:optional(\"Text (Dark)\"),borderWidth:num(\"Border\",0,0,6,{step:.5}),border:optional(\"Border Colour\"),borderDark:optional(\"Border (Dark)\")}},bar:{title:\"Progress\",type:ControlType.Object,buttonTitle:\"Bar & Motion\",controls:{width:{title:\"Grows To\",type:ControlType.Enum,options:[\"same\",\"fill\",\"fixed\"],optionTitles:[\"Stays\",\"Fill\",\"Fixed\"],defaultValue:\"fill\",description:\"Only the width changes; the height never does.\"},fixed:num(\"Fixed Width\",320,40,1200,{step:10,unit:\"px\",hidden:props=>props.width!==\"fixed\"}),style:{title:\"Bar\",type:ControlType.Enum,options:[\"fill\",\"line\"],optionTitles:[\"Fills Button\",\"Line\"],defaultValue:\"fill\",displaySegmentedControl:true},thickness:num(\"Line\",3,1,20,{unit:\"px\",hidden:props=>props.style!==\"line\"}),percent:{title:\"Percentage\",type:ControlType.Enum,options:[\"center\",\"right\",\"none\"],optionTitles:[\"Center\",\"Right\",\"Hidden\"],defaultValue:\"center\",displaySegmentedControl:true},track:optional(\"Track\"),trackDark:optional(\"Track (Dark)\"),fill:optional(\"Progress\"),fillDark:optional(\"Progress (Dark)\"),percentColor:optional(\"% Colour\"),percentColorDark:optional(\"% Colour (Dark)\"),sheen:{title:\"Shine\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},expand:num(\"Speed\",520,0,1500,{step:10,unit:\"ms\"}),easing:easingControl(\"Easing\")}},done:{title:\"After Sending\",type:ControlType.Object,buttonTitle:\"Sent & Thank You\",controls:{sentHold:num(\"Sent Shows\",1300,300,6e3,{step:100,unit:\"ms\"}),backAfter:num(\"Thank You Shows\",4,0,60,{step:.5,unit:\"s\",description:\"Then the button glides back to its own width. 0 keeps the thank-you line.\"}),resetForm:{title:\"Form\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Clear\",disabledTitle:\"Keep\",description:\"Clearing keeps the page where it is; nothing jumps.\"},fill:optional(\"Fill\"),fillDark:optional(\"Fill (Dark)\"),text:optional(\"Text\"),textDark:optional(\"Text (Dark)\")}},tablet:{title:\"Tablet\",type:ControlType.Object,buttonTitle:\"Own Settings\",controls:sendDeviceControls()},phone:{title:\"Phone\",type:ControlType.Object,buttonTitle:\"Own Settings\",controls:sendDeviceControls()},screens:{title:\"Screens\",type:ControlType.Object,buttonTitle:\"Sizes\",controls:{tabletFrom:num(\"Tablet From\",810,400,1400,{step:10,unit:\"px\"}),desktopFrom:num(\"Desktop From\",1200,600,2e3,{step:10,unit:\"px\"}),canvasDevice:{title:\"Canvas Shows\",type:ControlType.Enum,options:[\"desktop\",\"tablet\",\"mobile\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\"],defaultValue:\"desktop\",displaySegmentedControl:true}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"SendButton\":{\"type\":\"reactComponent\",\"name\":\"SendButton\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"360\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"NewsletterField\":{\"type\":\"reactComponent\",\"name\":\"NewsletterField\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"360\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"TextField\":{\"type\":\"reactComponent\",\"name\":\"TextField\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"SuccessOverlay\":{\"type\":\"reactComponent\",\"name\":\"SuccessOverlay\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"56\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"240\"}},\"withFormToSheet\":{\"type\":\"reactHoc\",\"name\":\"withFormToSheet\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FileUpload\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"SelectField\":{\"type\":\"reactComponent\",\"name\":\"SelectField\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"FormLine\":{\"type\":\"reactComponent\",\"name\":\"FormLine\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"CountrySelect\":{\"type\":\"reactComponent\",\"name\":\"CountrySelect\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"PhoneField\":{\"type\":\"reactComponent\",\"name\":\"PhoneField\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"withThemeToggle\":{\"type\":\"reactHoc\",\"name\":\"withThemeToggle\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormToSheet.map"],"mappings":"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"}