{"version":3,"file":"GiveButton.BTYFqkm1.mjs","names":["useState","startTransition","useMemo","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/OOqtR5e49pTzalk1DFoH/3Ayd1UpTLQffnH5XFHh6/GiveButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{startTransition,useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{AnimatePresence,motion,useReducedMotion}from\"framer-motion\";import{CampusPicker,campusPickerCSS,useCampusPicker}from\"https://framerusercontent.com/modules/8rX8dWBglCeVwNTAgYaM/ATteGf4LivMmSqZ2mZPO/CampusPicker.js\";import{isListed,slugify,useRecords}from\"https://framerusercontent.com/modules/4bF8A6ZMq4ppWk8VkkUZ/8uueOpADMa0fbFDA75FL/Registry.js\";import{cascade,Sheet,scrollPageTo,stepVariants}from\"https://framerusercontent.com/modules/pj019cgVWxFC1vpvh4dO/fqw9dhNFYTYLLHhon3NY/Sheet.js\";import{BORDER,COLOR,EASE_CSS,Icon,ICON,loadFonts,OPACITY,PAD,px,RADIUS,SPACE,TEXT,textStyleCSS,TIME}from\"https://framerusercontent.com/modules/bDvMqzh3tDWq2tuDG5lK/FDZRdl4OdNRpb81QsF9f/Tokens.js\";import{useCopy}from\"https://framerusercontent.com/modules/Iv0MMy2ACWxJ6H3uqlZJ/71SkvbPzEshaPHCCQQd4/Locale.js\";import{SheetTrigger}from\"https://framerusercontent.com/modules/OOWU1DSP0QRUmxTeQhen/72zi0kyXLGAGIXBZGtiY/Trigger.js\";const COPY={en:{kicker:\"Give\",selectTitle:\"Give to a Campus\",selectDescription:\"Choose the campus you call home. Your gift goes directly to that church.\",empty:\"Giving options will appear here shortly.\",backToList:\"All Campuses\",backToMethods:\"Ways to give\",giveTo:\"Give to\",waysToGive:\"Ways to give:\",online:\"Give Online\",or:\"OR\",bank:\"Bank Transfer\",bankTitle:\"Bank Transfer\",bankLede:name=>`Use the details below to give to ${name} from your bank.`,bankName:\"Bank\",accountHolder:\"Account Holder\",reference:\"Payment Reference\",transferTime:\"Transfers usually arrive in 1–3 business days\",copy:\"Copy\",copied:\"Copied\",copyLabel:label=>`Copy ${label}`,copiedLabel:label=>`${label} copied`,onlineWith:platform=>`Give Online with ${platform}`,dialogBank:name=>`Bank transfer to ${name}`,dialogGiveTo:name=>`Give to ${name}`,opensIn:(name,platform)=>`${name}, opens ${platform} in a new tab`},de:{kicker:\"Geben\",selectTitle:\"An einen Campus spenden\",selectDescription:\"W\\xe4hle den Campus, der dein Zuhause ist. Deine Spende geht direkt an diese Gemeinde.\",empty:\"Spendenm\\xf6glichkeiten erscheinen hier in K\\xfcrze.\",backToList:\"Alle Campusse\",backToMethods:\"Spendenm\\xf6glichkeiten\",giveTo:\"Spenden an\",waysToGive:\"So kannst du spenden:\",online:\"Online spenden\",or:\"ODER\",bank:\"\\xdcberweisung\",bankTitle:\"\\xdcberweisung\",bankLede:name=>`Mit diesen Angaben kannst du per \\xdcberweisung an ${name} spenden.`,bankName:\"Bank\",accountHolder:\"Kontoinhaber\",reference:\"Verwendungszweck\",transferTime:\"\\xdcberweisungen kommen meist innerhalb von 1–3 Werktagen an\",copy:\"Kopieren\",copied:\"Kopiert\",copyLabel:label=>`${label} kopieren`,copiedLabel:label=>`${label} kopiert`,onlineWith:platform=>`Online spenden mit ${platform}`,dialogBank:name=>`\\xdcberweisung an ${name}`,dialogGiveTo:name=>`Spenden an ${name}`,opensIn:(name,platform)=>`${name}, \\xf6ffnet ${platform} in einem neuen Tab`},es:{kicker:\"Dar\",selectTitle:\"Donar a un campus\",selectDescription:\"Elige el campus al que llamas hogar. Tu donativo va directamente a esa iglesia.\",empty:\"Las opciones para donar aparecer\\xe1n aqu\\xed pronto.\",backToList:\"Todos los campus\",backToMethods:\"Formas de donar\",giveTo:\"Donar a\",waysToGive:\"Formas de donar:\",online:\"Donar en l\\xednea\",or:\"O\",bank:\"Transferencia bancaria\",bankTitle:\"Transferencia bancaria\",bankLede:name=>`Usa estos datos para donar a ${name} desde tu banco.`,bankName:\"Banco\",accountHolder:\"Titular de la cuenta\",reference:\"Concepto\",transferTime:\"Las transferencias suelen llegar en 1–3 d\\xedas h\\xe1biles\",copy:\"Copiar\",copied:\"Copiado\",copyLabel:label=>`Copiar ${label}`,copiedLabel:label=>`${label} copiado`,onlineWith:platform=>`Donar en l\\xednea con ${platform}`,dialogBank:name=>`Transferencia bancaria a ${name}`,dialogGiveTo:name=>`Donar a ${name}`,opensIn:(name,platform)=>`${name}, abre ${platform} en una pesta\\xf1a nueva`},it:{kicker:\"Dona\",selectTitle:\"Dona a un campus\",selectDescription:\"Scegli il campus che chiami casa. La tua donazione va direttamente a quella chiesa.\",empty:\"Le opzioni per donare appariranno qui a breve.\",backToList:\"Tutti i campus\",backToMethods:\"Modi per donare\",giveTo:\"Dona a\",waysToGive:\"Modi per donare:\",online:\"Dona online\",or:\"OPPURE\",bank:\"Bonifico bancario\",bankTitle:\"Bonifico bancario\",bankLede:name=>`Usa i dati qui sotto per donare a ${name} dalla tua banca.`,bankName:\"Banca\",accountHolder:\"Intestatario del conto\",reference:\"Causale\",transferTime:\"I bonifici arrivano di solito in 1–3 giorni lavorativi\",copy:\"Copia\",copied:\"Copiato\",copyLabel:label=>`Copia ${label}`,copiedLabel:label=>`${label} copiato`,onlineWith:platform=>`Dona online con ${platform}`,dialogBank:name=>`Bonifico bancario a ${name}`,dialogGiveTo:name=>`Dona a ${name}`,opensIn:(name,platform)=>`${name}, apre ${platform} in una nuova scheda`}};// Two type treatments that exist only in the Give designs, not as Framer text styles: the serif \"Give to\" lead-in\n// (set inline in the design) and the slashed-zero mono used for account numbers.\nconst GIVE_TEXT={giveTo:{...TEXT.quoteLBold,sizes:[{min:0,fontSize:\"calc(var(--framer-root-font-size, 1rem) * 1.25)\",lineHeight:\"1.2em\",letterSpacing:\"-0.01em\"}]},mono:{fontFamily:`\"VIVE IBM Plex Mono\", \"IBM Plex Mono\", ui-monospace, monospace`,fontWeight:400,fontStyle:\"normal\",sizes:[{min:0,fontSize:\"calc(var(--framer-root-font-size, 1rem) * 1)\",lineHeight:\"1.3em\",letterSpacing:\"0.02em\"}]}};// The complete IBM Plex Mono file keeps the slashed-zero feature (Google's subset drops it). Hosted on Framer (SIL OFL,\n// @ibm/plex-mono 1.1.0, uploaded 2026-10-11), so the Give sheet never contacts a third-party font CDN.\n// The most lines any Give screen cascades in on open (header + campus heading + buttons/details).\nconst ENTRANCE_LINES=8;const MONO_FACE=`@font-face { font-family:\"VIVE IBM Plex Mono\"; src:url(\"https://framerusercontent.com/assets/z7EAXFnCiy406JymjzhOPaKPVqg.woff2\") format(\"woff2\"); font-style:normal; font-weight:400; font-display:swap; }`;const GIVE_TO_LINE=`calc(${GIVE_TEXT.giveTo.sizes[0].fontSize} * ${parseFloat(GIVE_TEXT.giveTo.sizes[0].lineHeight)})`;const WIDTH={options:350,bank:500,bankTitle:300};const URL_KEYS=[\"give\",\"campus\",\"method\"];// sessionStorage list of deep-link params already handled in this tab. Framer's \"Preserve query params\" setting carries\n// ?campus=… onto every internal link, and the URL sync leaves it in history; neither should re-open the sheet.\nconst HANDLED_KEY=\"vive-give-handled\";// ─── Helpers ────────────────────────────────────────────────────────────────────────────────────\nfunction canGive(campus){return Boolean(campus&&(campus.giveLink||campus.bank));}/** First screen for a campus: \"methods\" when it has both options, otherwise straight to bank details. */function entryStep(campus){return campus.giveLink&&campus.bank?\"methods\":\"bank\";}function platformName(url){try{const host=new URL(url).hostname.replace(/^www\\./,\"\");if(host.includes(\"pushpay\"))return\"Pushpay\";if(host.includes(\"donorbox\"))return\"Donorbox\";return host;}catch{return\"their giving page\";}}function linkSignature(params){return URL_KEYS.map(key=>params.has(key)?`${key}=${params.get(key)}`:\"\").join(\"&\");}function readHandled(){try{return JSON.parse(window.sessionStorage.getItem(HANDLED_KEY)||\"[]\");}catch{return[];}}function markHandled(signature){try{const list=readHandled().filter(entry=>entry!==signature);list.push(signature);window.sessionStorage.setItem(HANDLED_KEY,JSON.stringify(list.slice(-20)));}catch{}}/** True only when this exact URL was just loaded fresh (a real visit from a shared link), not reloaded, restored or SPA-navigated. */function isFreshVisit(){try{const nav=performance.getEntriesByType(\"navigation\")[0];if(!nav||nav.type!==\"navigate\")return false;const loaded=new URL(nav.name);return loaded.pathname===window.location.pathname&&loaded.search===window.location.search;}catch{return false;}}/** Mirror the open screen in the address bar so every screen has a shareable URL. */function writeUrl(view){if(typeof window===\"undefined\")return;const params=new URLSearchParams(window.location.search);URL_KEYS.forEach(key=>params.delete(key));let extra=\"\";if(view?.step===\"select\")extra=\"give\";else if(view?.step===\"methods\")extra=`campus=${encodeURIComponent(view.slug)}`;else if(view?.step===\"bank\")extra=`campus=${encodeURIComponent(view.slug)}&method=bank`;const query=[params.toString(),extra].filter(Boolean).join(\"&\");const next=`${window.location.pathname}${query?`?${query}`:\"\"}${window.location.hash}`;if(next!==`${window.location.pathname}${window.location.search}${window.location.hash}`){try{window.history.replaceState(window.history.state,\"\",next);}catch{}}}async function copyText(value){try{if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(value);return true;}}catch{}try{const area=document.createElement(\"textarea\");area.value=value;area.setAttribute(\"readonly\",\"\");area.style.position=\"fixed\";area.style.opacity=\"0\";document.body.appendChild(area);area.select();const ok=document.execCommand(\"copy\");area.remove();return ok;}catch{return false;}}function CopyButton({value,label}){const copy=useCopy(COPY);const[copied,setCopied]=useState(false);useEffect(()=>{if(!copied)return;const timer=window.setTimeout(()=>startTransition(()=>setCopied(false)),1800);return()=>window.clearTimeout(timer);},[copied]);return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:`vgv-copy vui-tap${copied?\" is-copied\":\"\"}`,\"aria-label\":copied?copy.copiedLabel(label):copy.copyLabel(label),onClick:async()=>{if(await copyText(value))startTransition(()=>setCopied(true));},children:[/*#__PURE__*/_jsx(\"span\",{className:\"vui-t-textXSMed\",\"aria-live\":\"polite\",children:copied?copy.copied:copy.copy}),/*#__PURE__*/_jsx(\"span\",{className:\"vgv-copy-icon\",children:/*#__PURE__*/_jsx(Icon,{name:copied?\"check\":\"copy\",size:ICON.copy})})]});}/**\n * Give Button\n *\n * @framerIntrinsicWidth 120\n * @framerIntrinsicHeight 48\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerSupportedLayoutHeight any-prefer-auto\n */export default function GiveButton(props){const{selectLocation=true,campusSlug=\"\",label=\"\",button,newTab=true,deepLink=true,dataKey=\"campuses\",trigger,triggerClassName,unavailable,style}=props;const isStatic=useIsStaticRenderer();const reduced=Boolean(useReducedMotion());const copy=useCopy(COPY);const campuses=useRecords(dataKey,!isStatic);const bySlug=useMemo(()=>{const map={};for(const campus of campuses)if(campus?.slug)map[slugify(campus.slug)]=campus;return map;},[campuses]);const pickable=useMemo(()=>campuses.filter(campus=>canGive(campus)&&isListed(campus)),[campuses]);const picker=useCampusPicker();const[open,setOpen]=useState(false);const[instant,setInstant]=useState(false);// True once the opening cascade has finished. Content that mounts after that (e.g. data arriving late) just shows,\n// instead of replaying the staggered entrance after the screen has settled.\nconst[entered,setEntered]=useState(false);const[pendingLink,setPendingLink]=useState(null);const openRef=useRef(false);openRef.current=open;const ownsSessionRef=useRef(false);const sessionWasOpenRef=useRef(false);const mountedRef=useRef(false);const[view,setView]=useState({step:\"select\",slug:\"\",dir:0,fromList:false});const dialogRef=useRef(null);const ownsUrlRef=useRef(false);// Page scroll position to hold while open and return to on close: where the visitor was when they clicked, or the top for a shared link.\nconst savedScrollRef=useRef(0);const wasOpenRef=useRef(false);const target=bySlug[slugify(campusSlug)];const current=view.step!==\"select\"?bySlug[slugify(view.slug)]:undefined;function go(url){if(typeof window===\"undefined\"||!url)return;if(newTab)window.open(url,\"_blank\",\"noopener,noreferrer\");else window.location.assign(url);}function show(next,source=\"click\"){if(typeof window!==\"undefined\")savedScrollRef.current=source===\"link\"?0:window.scrollY;if(deepLink)ownsUrlRef.current=true;if(typeof window!==\"undefined\"){window.__viveGiveSession={state:\"open\",view:next,scroll:savedScrollRef.current,ownsUrl:ownsUrlRef.current,orphanedAt:0};ownsSessionRef.current=true;}startTransition(()=>{setInstant(false);setEntered(false);setView(next);picker.reset();setOpen(true);});}function close(){scrollPageTo(savedScrollRef.current);startTransition(()=>{setOpen(false);picker.setMenuOpen(false);});}function navigate(next,dir,inner=false){startTransition(()=>{setView({...next,dir,inner});picker.setMenuOpen(false);});dialogRef.current?.querySelector(\".vui-scroll\")?.scrollTo({top:0});}function openGive(){if(!selectLocation&&canGive(target)){if(target.giveLink&&!target.bank)return go(target.giveLink);return show({step:entryStep(target),slug:target.slug,dir:0,fromList:false});}// Select Location = Yes, or the preset campus isn't available on this page: show the campus list.\nshow({step:\"select\",slug:\"\",dir:0,fromList:false});}function selectCampus(campus){if(campus.giveLink&&!campus.bank){go(campus.giveLink);close();return;}navigate({step:entryStep(campus),slug:campus.slug,fromList:true},1);}// Back link for the current screen, if any; otherwise the header shows the \"Give\" kicker.\nconst back=(()=>{const toList={label:copy.backToList,run:()=>navigate({step:\"select\",slug:\"\",fromList:false},-1)};if(view.step===\"methods\")return view.fromList?toList:null;if(view.step===\"bank\"&&current){if(current.giveLink)return{label:copy.backToMethods,run:()=>navigate({step:\"methods\",slug:current.slug,fromList:view.fromList},-1,true)};return view.fromList?toList:null;}return null;})();// One shared session per page (window.__viveGiveSession) so the entrance plays exactly once per open, whatever Framer\n// does underneath: it can briefly render a Give button per breakpoint on load and then remove the extras, or rebuild\n// components when the window crosses a breakpoint. If the instance holding the session goes away, a surviving one\n// takes over: an open sheet continues instantly (no slide, no re-fade); a pending deep link opens normally.\nfunction adopt(){if(typeof window===\"undefined\")return;const session=window.__viveGiveSession;if(!session?.orphanedAt||Date.now()-session.orphanedAt>5e3)return;session.orphanedAt=0;ownsSessionRef.current=true;if(session.state===\"open\"){savedScrollRef.current=session.scroll;ownsUrlRef.current=session.ownsUrl;startTransition(()=>{setInstant(true);setView({...session.view,dir:0});setOpen(true);});}else{setPendingLink(session.view);}}// Keep the session's screen current; the owner clears it on close.\nuseEffect(()=>{if(isStatic||typeof window===\"undefined\"||!ownsSessionRef.current)return;const w=window;if(open){if(w.__viveGiveSession)w.__viveGiveSession.view=view;sessionWasOpenRef.current=true;}else if(sessionWasOpenRef.current){// A real open → closed transition (not the moment between show() and its render).\ndelete w.__viveGiveSession;ownsSessionRef.current=false;sessionWasOpenRef.current=false;}},[open,view,isStatic]);useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const w=window;mountedRef.current=true;adopt();const onOrphan=()=>{if(!openRef.current)adopt();};window.addEventListener(\"vive-give-orphaned\",onOrphan);return()=>{mountedRef.current=false;window.removeEventListener(\"vive-give-orphaned\",onOrphan);if(ownsSessionRef.current&&w.__viveGiveSession){w.__viveGiveSession.orphanedAt=Date.now();window.dispatchEvent(new CustomEvent(\"vive-give-orphaned\"));}};},[isStatic]);// Deep links: the first Give button on the page claims ?campus= / ?give= / &method=bank.\nuseEffect(()=>{if(isStatic||!deepLink||typeof window===\"undefined\")return;const w=window;// Another instance already holds a session (pending or open), or this one is open: nothing to claim.\nif(openRef.current||w.__viveGiveSession&&!w.__viveGiveSession.orphanedAt)return;const params=new URLSearchParams(window.location.search);if(!params.has(\"campus\")&&!params.has(\"give\"))return;const signature=linkSignature(params);// Already handled in this tab (preserved params, history, reload): clean the address bar and stay closed.\nif(!isFreshVisit()&&readHandled().includes(signature)){writeUrl(null);return;}markHandled(signature);const linked=slugify(params.get(\"campus\")||params.get(\"give\")||\"\");// On a campus page (Select Location = No), ?give alone opens that campus.\nconst slug=linked||(!selectLocation?slugify(campusSlug):\"\");const step=slug?params.get(\"method\")===\"bank\"?\"bank\":\"methods\":\"select\";const pending={step,slug,dir:0,fromList:Boolean(linked)||selectLocation};w.__viveGiveSession={state:\"pending\",view:pending,orphanedAt:0};ownsSessionRef.current=true;setPendingLink(pending);},[isStatic,deepLink,selectLocation,campusSlug]);// Open a claimed deep link once its campus data and the sheet's fonts are ready (fonts capped at 0.7s), so the sheet\n// rises once with its content in place. If the campus never appears, fall back to the campus list.\nuseEffect(()=>{if(!pendingLink)return;let cancelled=false;const ready=next=>{loadFonts(700).then(()=>{if(cancelled||!mountedRef.current)return;startTransition(()=>setPendingLink(null));show(next,\"link\");});};if(pendingLink.step===\"select\"||bySlug[pendingLink.slug]){ready(pendingLink);return()=>{cancelled=true;};}const timer=window.setTimeout(()=>ready({step:\"select\",slug:\"\",dir:0,fromList:false}),campuses.length?800:2500);return()=>{cancelled=true;window.clearTimeout(timer);};},[pendingLink,bySlug,campuses.length]);// Keep deep-linked screens valid once campus data arrives (e.g. a bank-only campus can't show \"methods\").\nuseEffect(()=>{if(!open||view.step===\"select\")return;if(!current){// Campus not found once data has loaded (e.g. it was unpublished): show the campus list.\nif(!campuses.length)return;const timer=window.setTimeout(()=>startTransition(()=>setView({step:\"select\",slug:\"\",dir:0,fromList:false})),800);return()=>window.clearTimeout(timer);}const fix=step=>startTransition(()=>setView(v=>({...v,step,dir:0})));if(!canGive(current))startTransition(()=>setView({step:\"select\",slug:\"\",dir:0,fromList:false}));else if(view.step===\"methods\"&&!current.giveLink)fix(\"bank\");else if(view.step===\"bank\"&&!current.bank)fix(\"methods\");},[open,view.step,current,campuses.length]);// Mirror the screen in the URL while this instance's sheet is open; clean up on close.\nuseEffect(()=>{if(isStatic||!ownsUrlRef.current)return;if(open){writeUrl(view);markHandled(linkSignature(new URLSearchParams(window.location.search)));}else if(wasOpenRef.current){writeUrl(null);ownsUrlRef.current=false;}wasOpenRef.current=open;},[open,view.step,view.slug,isStatic]);// ─── Trigger ────────────────────────────────────────────────────────────────────────────────\nconst isUnavailable=!selectLocation&&unavailable!==undefined&&campuses.length>0&&!canGive(target);const isAutoWidth=!style||style.width!==\"100%\";const triggerNode=isUnavailable?unavailable:trigger?/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:triggerClassName,onClick:openGive,style:triggerClassName?triggerBare:triggerReset,children:trigger}):// The connected button keeps its own text (edit it on the button); `label` only fills the fallback button.\n/*#__PURE__*/_jsx(SheetTrigger,{button:button,label:label||copy.kicker,labelProperty:\"\",fill:!isAutoWidth,enabled:!isStatic,onOpen:openGive,expanded:open});useEffect(()=>{if(!open||entered)return;const ms=(TIME.lineStartOnOpen+ENTRANCE_LINES*TIME.lineStagger+TIME.lineIn)*1e3;const timer=window.setTimeout(()=>startTransition(()=>setEntered(true)),ms);return()=>window.clearTimeout(timer);},[open,entered]);// ─── Screens ────────────────────────────────────────────────────────────────────────────────\nconst steps=stepVariants(reduced);// Sweep direction for the content under the campus heading; 0 when the whole screen is sweeping instead.\nconst contentDir=view.inner?view.dir:0;const lineIn=cascade(view.dir===0&&!reduced&&!instant&&!entered);const bankRows=current?.bank?[...current.bank.name?[{label:copy.bankName,value:current.bank.name}]:[],...current.bank.accountHolder?[{label:copy.accountHolder,value:current.bank.accountHolder}]:[],...current.bank.details,...current.bank.reference?[{label:copy.reference,value:current.bank.reference}]:[]]:[];const dialogLabel=view.step===\"bank\"&&current?copy.dialogBank(current.name):view.step!==\"select\"&&current?copy.dialogGiveTo(current.name):copy.kicker;const campusTitle=startIndex=>current&&/*#__PURE__*/_jsxs(\"div\",{className:\"vgv-campus\",children:[/*#__PURE__*/_jsx(motion.p,{className:\"vgv-t-giveTo vui-c-text80\",...lineIn(startIndex),children:copy.giveTo}),/*#__PURE__*/_jsxs(motion.div,{className:\"vgv-campus-name\",...lineIn(startIndex+1),children:[/*#__PURE__*/_jsx(\"h2\",{className:\"vui-t-h3Big vui-c-text\",children:current.name}),current.country&&/*#__PURE__*/_jsx(\"p\",{className:\"vui-t-textMMed vui-c-text30\",children:current.country})]})]});return /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",display:\"inline-flex\",...isAutoWidth?{minWidth:\"max-content\"}:{}},children:[!isStatic&&/*#__PURE__*/_jsx(\"style\",{children:MONO_FACE}),triggerNode,/*#__PURE__*/_jsx(Sheet,{open:open,instant:instant,label:dialogLabel,kicker:copy.kicker,back:back,scrollY:savedScrollRef.current,holdKey:`${view.step}:${view.slug}`,onClose:close,onEscape:picker.peel,lineIn:lineIn,dialogRef:dialogRef,css:r=>campusPickerCSS(r)+giveCSS(r),children:/*#__PURE__*/_jsxs(AnimatePresence,{mode:\"wait\",custom:view.dir,children:[view.step===\"select\"&&/*#__PURE__*/_jsx(motion.section,{className:\"vui-body\",custom:view.dir,variants:steps,initial:\"enter\",animate:\"center\",exit:\"exit\",children:/*#__PURE__*/_jsx(CampusPicker,{state:picker,campuses:pickable,title:copy.selectTitle,description:copy.selectDescription,empty:copy.empty,lineIn:lineIn,onSelect:selectCampus,rowIcon:campus=>campus.bank?\"arrowRight\":\"externalLink\",rowLabel:campus=>campus.bank?campus.name:copy.opensIn(campus.name,platformName(campus.giveLink))})},\"select\"),view.step!==\"select\"&&/*#__PURE__*/_jsx(motion.section,{className:\"vui-body\",custom:view.dir,variants:steps,initial:\"enter\",animate:\"center\",exit:\"exit\",children:current&&/*#__PURE__*/_jsxs(_Fragment,{children:[campusTitle(1),/*#__PURE__*/_jsx(\"div\",{className:\"vgv-content\",children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",custom:contentDir,children:view.step===\"methods\"?/*#__PURE__*/_jsxs(motion.div,{className:\"vgv-options\",custom:contentDir,variants:steps,initial:\"enter\",animate:\"center\",exit:\"exit\",children:[/*#__PURE__*/_jsx(motion.p,{className:\"vui-t-textM vui-c-text80 vui-center\",...lineIn(3),children:copy.waysToGive}),/*#__PURE__*/_jsxs(\"div\",{className:\"vgv-buttons\",children:[current.giveLink&&/*#__PURE__*/_jsx(motion.div,{className:\"vgv-pill-wrap\",...lineIn(4),children:/*#__PURE__*/_jsxs(\"a\",{className:\"vgv-pill-button is-solid\",href:current.giveLink,target:newTab?\"_blank\":undefined,rel:\"noopener noreferrer\",\"aria-label\":copy.onlineWith(platformName(current.giveLink)),onClick:()=>window.setTimeout(close,150),children:[/*#__PURE__*/_jsx(\"span\",{className:\"vui-t-buttonPrimary\",children:copy.online}),/*#__PURE__*/_jsx(\"span\",{className:\"vgv-pill-icon is-external\",children:/*#__PURE__*/_jsx(Icon,{name:\"externalLink\",size:ICON.button})})]})}),current.giveLink&&current.bank&&/*#__PURE__*/_jsx(motion.div,{className:\"vgv-or\",role:\"separator\",...lineIn(5),children:/*#__PURE__*/_jsx(\"span\",{className:\"vui-t-textXSMed\",children:copy.or})}),current.bank&&/*#__PURE__*/_jsx(motion.div,{className:\"vgv-pill-wrap\",...lineIn(6),children:/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"vgv-pill-button is-outline\",onClick:()=>navigate({step:\"bank\",slug:current.slug,fromList:view.fromList},1,true),children:[/*#__PURE__*/_jsx(\"span\",{className:\"vui-t-buttonPrimary\",children:copy.bank}),/*#__PURE__*/_jsx(\"span\",{className:\"vgv-pill-icon\",children:/*#__PURE__*/_jsx(Icon,{name:\"arrowRight\",size:ICON.button})})]})})]})]},\"methods\"):current.bank?/*#__PURE__*/_jsxs(motion.div,{className:\"vgv-bank\",custom:contentDir,variants:steps,initial:\"enter\",animate:\"center\",exit:\"exit\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"vgv-bank-title\",children:[/*#__PURE__*/_jsx(motion.p,{className:\"vui-t-cardHeadLThin vui-c-text\",...lineIn(3),children:copy.bankTitle}),/*#__PURE__*/_jsx(motion.p,{className:\"vui-t-textM vui-c-text80\",...lineIn(4),children:copy.bankLede(current.name)})]}),/*#__PURE__*/_jsx(motion.dl,{className:\"vgv-card\",...lineIn(5),children:bankRows.map((row,index)=>/*#__PURE__*/_jsxs(\"div\",{className:\"vgv-line\",children:[/*#__PURE__*/_jsx(\"dt\",{className:\"vui-t-textXSMed vui-c-text30\",children:row.label}),/*#__PURE__*/_jsxs(\"dd\",{children:[/*#__PURE__*/_jsx(\"span\",{className:\"vgv-t-mono vui-c-text80 vgv-value\",children:row.value}),/*#__PURE__*/_jsx(CopyButton,{value:row.value,label:row.label})]})]},`${row.label}-${index}`))}),/*#__PURE__*/_jsxs(\"div\",{className:\"vgv-bank-foot\",children:[current.bank.notes&&/*#__PURE__*/_jsx(motion.p,{className:\"vui-t-textS vui-c-text30 vgv-notes\",...lineIn(6),children:current.bank.notes}),/*#__PURE__*/_jsx(motion.p,{className:\"vui-t-textS vui-c-text30\",...lineIn(7),children:copy.transferTime})]})]},\"bank\"):null})})]})},`campus-${view.slug}`)]})})]});}// With a class name, the host component styles the trigger; only strip native button chrome.\nconst triggerBare={appearance:\"none\",background:\"none\",border:0,padding:0,margin:0,cursor:\"pointer\"};const triggerReset={...triggerBare,font:\"inherit\",color:\"inherit\",textAlign:\"inherit\"};// ─── CSS (Give's own screens; the sheet and campus list style themselves) ────────────────────────\nfunction giveCSS(r){const hover=TIME.hover;return`\n${textStyleCSS(`${r} .vgv-t-giveTo`,GIVE_TEXT.giveTo)}\n${textStyleCSS(`${r} .vgv-t-mono`,GIVE_TEXT.mono,`font-feature-settings:\"zero\" 1;`)}\n\n/* Campus heading (screens 2 + 3) */\n${r} .vgv-campus { display:flex; flex-direction:column; align-items:center; gap:${px(SPACE.s8)}; text-align:center; margin-top:calc(-1 * (${GIVE_TO_LINE} + ${px(SPACE.s8)})); }\n${r} .vgv-campus-name { display:flex; flex-direction:column; align-items:center; gap:${px(SPACE.s8)}; }\n${r} .vgv-content { width:100%; display:flex; flex-direction:column; align-items:center; margin-top:${px(SPACE.s72-SPACE.s48)}; }\n\n/* Ways to give */\n${r} .vgv-options { width:100%; max-width:${px(WIDTH.options)}; display:flex; flex-direction:column; gap:${px(SPACE.s24)}; }\n${r} .vgv-buttons { display:flex; flex-direction:column; gap:${px(SPACE.s16)}; }\n${r} .vgv-pill-wrap { width:100%; }\n${r} .vgv-pill-button { width:100%; display:flex; align-items:center; justify-content:space-between; padding:${PAD.pill}; border-radius:${px(RADIUS.pill)}; transition:opacity ${hover} ease; }\n${r} .vgv-pill-button.is-solid { background:${COLOR.dynDark1}; color:${COLOR.textInverse}; }\n${r} .vgv-pill-button.is-outline { box-shadow:inset 0 0 0 ${px(BORDER)} ${COLOR.dynDark1}; color:${COLOR.text}; }\n${r} .vgv-pill-icon { display:grid; place-items:center; opacity:${OPACITY.icon}; transition:opacity ${hover} ease, transform .45s ${EASE_CSS}; }\n${r} .vgv-pill-button.is-solid .vgv-pill-icon { opacity:${OPACITY.iconOnDark}; }\n${r} .vgv-pill-button.is-solid:hover { opacity:${OPACITY.solidHover}; }\n${r} .vgv-pill-button.is-outline:hover { opacity:${OPACITY.outlineHover}; }\n${r} .vgv-pill-button:hover .vgv-pill-icon { opacity:1; transform:translateX(2px); }\n${r} .vgv-pill-button:hover .vgv-pill-icon.is-external { transform:translate(1px, -1px); }\n${r} .vgv-or { display:flex; align-items:center; gap:${px(SPACE.s12)}; color:${COLOR.text30}; }\n${r} .vgv-or::before, ${r} .vgv-or::after { content:\"\"; flex:1; height:${px(BORDER)}; background:${COLOR.text30}; }\n\n/* Bank transfer */\n${r} .vgv-bank { width:100%; max-width:${px(WIDTH.bank)}; display:flex; flex-direction:column; gap:${px(SPACE.s48)}; }\n${r} .vgv-bank-title { width:100%; max-width:${px(WIDTH.bankTitle)}; align-self:flex-start; display:flex; flex-direction:column; align-items:flex-start; gap:${px(SPACE.s12)}; text-align:left; }\n${r} .vgv-card { display:flex; flex-direction:column; }\n${r} .vgv-line { display:flex; flex-direction:column; gap:${px(SPACE.s8)}; padding:${px(SPACE.s16+SPACE.s4)} 0; }\n${r} .vgv-line:first-child { padding-top:0; }\n${r} .vgv-line:last-child { padding-bottom:0; }\n${r} .vgv-line + .vgv-line { border-top:${px(BORDER)} solid ${COLOR.dynLight4}; }\n${r} .vgv-line dd { display:flex; align-items:center; justify-content:space-between; gap:${px(SPACE.s16)}; }\n${r} .vgv-value { min-width:0; text-transform:uppercase; overflow-wrap:anywhere; user-select:all; -webkit-user-select:all; }\n${r} .vgv-copy { position:relative; flex:0 0 auto; display:inline-flex; align-items:center; gap:${px(SPACE.s4)}; padding:${PAD.copy}; border-radius:${px(RADIUS.pill)}; background:${COLOR.dynLight3}; color:${COLOR.text30}; transition:background-color ${hover} ease, color ${hover} ease; }\n${r} .vgv-copy-icon { display:grid; place-items:center; width:${px(ICON.copy+8)}; height:${px(ICON.copy+8)}; color:${COLOR.text}; opacity:${OPACITY.tool}; transition:opacity ${hover} ease, color ${hover} ease; }\n${r} .vgv-copy:hover { background:${COLOR.dynLight5}; color:${COLOR.text80}; }\n${r} .vgv-copy:hover .vgv-copy-icon { opacity:1; }\n${r} .vgv-copy.is-copied, ${r} .vgv-copy:active { background:${COLOR.dynDark1}; color:${COLOR.textInverse}; }\n${r} .vgv-copy.is-copied .vgv-copy-icon, ${r} .vgv-copy:active .vgv-copy-icon { color:${COLOR.textInverse}; opacity:1; }\n${r} .vgv-bank-foot { display:flex; flex-direction:column; gap:${px(SPACE.s8)}; margin-top:-${px(SPACE.s24)}; text-align:left; }\n${r} .vgv-notes { white-space:pre-line; }\n`;}addPropertyControls(GiveButton,{selectLocation:{type:ControlType.Boolean,title:\"Select Location?\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Yes: visitors pick a campus first. No: goes straight to this campus’s ways to give.\"},campusSlug:{type:ControlType.String,title:\"Campus Slug\",defaultValue:\"\",placeholder:\"san-francisco\",description:\"On a campus page, bind this to the Locations Slug.\",hidden:p=>p.selectLocation},button:{type:ControlType.Slot,title:\"Button\",maxCount:1,description:\"Connect your Framer button and set its text on the button itself. Leave its link empty.\"},newTab:{type:ControlType.Boolean,title:\"Links\",defaultValue:true,enabledTitle:\"New Tab\",disabledTitle:\"Same Tab\"},deepLink:{type:ControlType.Boolean,title:\"Deep Link\",defaultValue:true,description:\"Opens on page load for ?give, ?campus=london or ?campus=london&method=bank (on a campus page, ?give and ?give&method=bank open that campus). Keeps the URL in sync while open. Only the first Give button on a page responds.\"},dataKey:{type:ControlType.String,title:\"Data Key\",defaultValue:\"campuses\"}});GiveButton.displayName=\"<give_button>\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GiveButton\",\"slots\":[\"button\",\"trigger\",\"unavailable\"],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"120\",\"framerIntrinsicHeight\":\"48\",\"framerSupportedLayoutWidth\":\"any-prefer-auto\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GiveButton.map"],"mappings":"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"}