your-ai-workflow-firebase-os 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AccessNotice-BZ5Gt1nP.js +40 -0
- package/dist/AccessNotice-CN7kc70o.cjs +1 -0
- package/dist/{AddressField-B2YBRXcx.js → AddressField-9Sqn8TvC.js} +3 -3
- package/dist/{AddressField-BBv8NGX8.cjs → AddressField-B7wtV8yA.cjs} +1 -1
- package/dist/Assets-DBMwZ3bN.cjs +1 -0
- package/dist/Assets-DT-NU_WO.js +296 -0
- package/dist/Attachments-Bl9_dfsu.js +46 -0
- package/dist/Attachments-UVK9SRXf.cjs +1 -0
- package/dist/Billing-0RIHayHy.cjs +1 -0
- package/dist/Billing-FNE2r3_d.js +379 -0
- package/dist/BookingCalendar-BP5kiv3d.cjs +1 -0
- package/dist/BookingCalendar-DZ2fEFja.js +309 -0
- package/dist/Button-4lzOE31p.js +48 -0
- package/dist/Button-5DlB2MCi.cjs +1 -0
- package/dist/CalendarView-BimoXy_k.cjs +1 -0
- package/dist/CalendarView-D-ykjpvI.js +664 -0
- package/dist/ConfirmModal-Di9GR-vV.cjs +1 -0
- package/dist/ConfirmModal-gKQEpd4d.js +113 -0
- package/dist/ContactPopup-BXnHrRwl.js +1114 -0
- package/dist/ContactPopup-lxmRMoIa.cjs +1 -0
- package/dist/CopyLink-BpEQWmfI.cjs +1 -0
- package/dist/CopyLink-CBAVfcm1.js +43 -0
- package/dist/DashboardNav-CXa_ci-_.cjs +1 -0
- package/dist/DashboardNav-Dmn7PVSp.js +886 -0
- package/dist/EmailAdmin-CjN_rvxT.js +318 -0
- package/dist/EmailAdmin-lAEBdY1s.cjs +1 -0
- package/dist/EventCard-46EquygT.cjs +1 -0
- package/dist/EventCard-B6xD-mk3.js +97 -0
- package/dist/FileViewerPopup-CX-J75TM.js +1283 -0
- package/dist/FileViewerPopup-D8-MmIoS.cjs +3 -0
- package/dist/FormNote-BivRNA3J.js +50 -0
- package/dist/FormNote-BtdTGpml.cjs +1 -0
- package/dist/FormsAdmin-B5PBCG2W.js +812 -0
- package/dist/FormsAdmin-BQCULvi5.cjs +1 -0
- package/dist/Inbox-BPk2ZkE5.js +779 -0
- package/dist/Inbox-DNrcBx0o.cjs +3 -0
- package/dist/Loader-Bu89fsbB.cjs +1 -0
- package/dist/Loader-D4gwgBOq.js +32 -0
- package/dist/ManagePlanButton-B0dwqZBd.cjs +1 -0
- package/dist/ManagePlanButton-BSrOHYze.js +29 -0
- package/dist/MyBookings-6qr0GgzO.cjs +1 -0
- package/dist/MyBookings-BQjGM2LQ.js +113 -0
- package/dist/PageTitle-CZhgmmDT.cjs +3 -0
- package/dist/PageTitle-D93YCiN8.js +1606 -0
- package/dist/PagesAdmin-BcHIcqM5.cjs +34 -0
- package/dist/PagesAdmin-D69P9nRb.js +5802 -0
- package/dist/PagesAdmin-DNwZOKjA.cjs +1 -0
- package/dist/PagesAdmin-HUITEcHx.js +3 -0
- package/dist/PaymentsAdmin-C2iCI9qC.js +1291 -0
- package/dist/PaymentsAdmin-CoXi2vCm.cjs +2 -0
- package/dist/{PhoneInputField-B3P_vUDW.cjs → PhoneInputField-BEwYZMB7.cjs} +1 -1
- package/dist/{PhoneInputField-D3wWs-M8.js → PhoneInputField-BG0L2djE.js} +2 -2
- package/dist/PhoneInputField-DfOtCIH_.js +2 -0
- package/dist/{PhoneInputField-CdNTvWXQ.cjs → PhoneInputField-jhWvto8C.cjs} +1 -1
- package/dist/Popup-DHYGFl2-.cjs +1 -0
- package/dist/Popup-xROLytgr.js +142 -0
- package/dist/ProviderMark-BBfaM5Yl.js +52 -0
- package/dist/ProviderMark-xLkUN3Fx.cjs +1 -0
- package/dist/PublishApp-Bm-6r3Td.js +595 -0
- package/dist/PublishApp-D4XJUkJa.cjs +2 -0
- package/dist/Said-CoC15awL.js +94 -0
- package/dist/Said-IqCNofdh.cjs +1 -0
- package/dist/ScheduleAdmin-BKfQkrR8.js +1853 -0
- package/dist/ScheduleAdmin-DwK36GAZ.cjs +1 -0
- package/dist/SchedulePicker--urIH2Eb.js +112 -0
- package/dist/SchedulePicker-nmqzUnUH.cjs +1 -0
- package/dist/Setup-CHLgd-ag.js +849 -0
- package/dist/Setup-CaDranTm.cjs +1374 -0
- package/dist/SetupPayments-CVIwh1eQ.js +411 -0
- package/dist/SetupPayments-HNXWA25X.cjs +1 -0
- package/dist/SignInAdmin-C94-A-0w.cjs +4 -0
- package/dist/SignInAdmin-Yxgv_8U4.js +766 -0
- package/dist/SupportBar-CDT0HwdP.cjs +1 -0
- package/dist/SupportBar-CN_JGC-9.js +117 -0
- package/dist/SystemTabContent-L3vGGF3P.cjs +1 -0
- package/dist/SystemTabContent-QdxxLILE.js +35 -0
- package/dist/TemplateDrive-DV8zNjYe.cjs +1 -0
- package/dist/TemplateDrive-NJY_AAvV.js +1197 -0
- package/dist/ThemeAdmin-BzFjJkLg.js +269 -0
- package/dist/ThemeAdmin-DVnPNxe7.cjs +1 -0
- package/dist/ThemeAdmin-DY7Vc4Sj.cjs +3 -0
- package/dist/ThemeAdmin-DnC-D2N3.js +2 -0
- package/dist/{ContactPopup-Dsg2ntq3.js → TimeZoneField-DkI1Bkcz.js} +3191 -5322
- package/dist/TimeZoneField-qs7NPR30.cjs +12 -0
- package/dist/TransactionsAdmin-BsZ-oQWi.js +582 -0
- package/dist/TransactionsAdmin-CTSTiPld.cjs +1 -0
- package/dist/Trouble-9es_AI4F.cjs +1 -0
- package/dist/Trouble-oWt9fMsm.js +164 -0
- package/dist/Users-CTitWXyd.cjs +1 -0
- package/dist/Users-DJjQTWJF.js +1207 -0
- package/dist/aiModels-DIP9fn8T.cjs +1 -0
- package/dist/{aiModels-BHlEfuRJ.js → aiModels-DnDhNGup.js} +29 -61
- package/dist/arrivalRoads-BJ-35vkk.js +228 -0
- package/dist/arrivalRoads-qoU-B4jt.cjs +4 -0
- package/dist/{bake-BWG3y-15.cjs → bake-n2wyFw0B.cjs} +1 -1
- package/dist/{bake-BtYOG1Du.js → bake-naZeMu98.js} +1 -1
- package/dist/bookingPages-C7a3srPG.js +102 -0
- package/dist/bookingPages-DvbFbD9X.cjs +1 -0
- package/dist/components/CustomSelect.d.ts +7 -1
- package/dist/components/RegistrationFields.d.ts +6 -1
- package/dist/components/Reveal.d.ts +12 -0
- package/dist/components/ScrollToTop.d.ts +4 -0
- package/dist/contentFallback-C9MZjdq7.cjs +1 -0
- package/dist/contentFallback-CEDY0Pwp.js +96 -0
- package/dist/contentKey-Bwry4lDa.js +13 -0
- package/dist/contentKey-DJGYYnAE.cjs +1 -0
- package/dist/email-BfnZnMwD.cjs +1 -0
- package/dist/email-Ddj8Dlu6.js +58 -0
- package/dist/{fileBytes-BdwaFKRy.cjs → fileBytes-BJPaiX9Y.cjs} +1 -1
- package/dist/{fileBytes-DuW2K-H_.js → fileBytes-bjgvCfWu.js} +2 -2
- package/dist/forms-Bvx9HTM6.js +75 -0
- package/dist/forms-CmNeTETW.cjs +1 -0
- package/dist/lib/ThemeContext.d.ts +0 -14
- package/dist/lib/bareImgWatch.d.ts +6 -1
- package/dist/lib/localEdits.d.ts +2 -0
- package/dist/lib/paymentProducts.d.ts +8 -0
- package/dist/lib/payments.d.ts +11 -1
- package/dist/notices-B7iIrIEg.js +29 -0
- package/dist/notices-upMg8UVh.cjs +1 -0
- package/dist/openOnArrival-Buwqb86D.cjs +1 -0
- package/dist/openOnArrival-S2K6v-lB.js +35 -0
- package/dist/pageFiles--Ih60ITP.js +45 -0
- package/dist/pageFiles-UtBmlOcD.cjs +1 -0
- package/dist/pages/PagesAdmin.d.ts +69 -0
- package/dist/people-2jZE_pdI.js +102 -0
- package/dist/people-BpVvIr9-.cjs +1 -0
- package/dist/personName-CFw3pxuu.js +18 -0
- package/dist/personName-CbzN_i57.cjs +1 -0
- package/dist/publishSteps-C1cDFzzB.js +88 -0
- package/dist/publishSteps-SSm8afDw.cjs +1 -0
- package/dist/recordLock-DHVvI9bP.js +61 -0
- package/dist/recordLock-DWeIxiwh.cjs +1 -0
- package/dist/recordsKey-B7QrxdeU.cjs +1 -0
- package/dist/recordsKey-D5-wC0Aw.js +141 -0
- package/dist/registrationFields-CLeR2lQJ.js +181 -0
- package/dist/registrationFields-v4pOoRdn.cjs +1 -0
- package/dist/renderer.cjs.js +1 -1
- package/dist/renderer.es.js +1 -1
- package/dist/roles-D6VaHWfV.js +147 -0
- package/dist/roles-DQUFFBQe.cjs +1 -0
- package/dist/scheduleData-ATN8w5hI.js +727 -0
- package/dist/scheduleData-Cltj0ABZ.cjs +1 -0
- package/dist/server.cjs.js +6 -6
- package/dist/server.es.js +716 -715
- package/dist/serviceStatus-TQyZO_Y_.cjs +1 -0
- package/dist/serviceStatus-vS8AI7SZ.js +125 -0
- package/dist/tabAudience-BqpN6dsR.cjs +1 -0
- package/dist/tabAudience-CRyMvv0v.js +34 -0
- package/dist/transactions-BqMQDRx3.js +343 -0
- package/dist/transactions-CufFrdAM.cjs +1 -0
- package/dist/useIsPhone-BVGx_X3e.js +13 -0
- package/dist/useIsPhone-o63tNneA.cjs +1 -0
- package/dist/{validate-DzSJWuyL.js → validate-CmC_tLK-.js} +433 -351
- package/dist/validate-DZMwqSrb.cjs +103 -0
- package/dist/vite/validate.d.ts +14 -0
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.es.js +1 -1
- package/dist/your-ai-workflow-firebase-os.cjs.js +15 -1431
- package/dist/your-ai-workflow-firebase-os.css +1 -1
- package/dist/your-ai-workflow-firebase-os.es.js +8200 -32421
- package/package.json +1 -1
- package/src/index.css +122 -2
- package/dist/ContactPopup-IwBm-eqz.cjs +0 -12
- package/dist/PhoneInputField-CVamkTJg.js +0 -2
- package/dist/aiModels-BIhoTNH0.cjs +0 -1
- package/dist/validate-e48WXJdP.cjs +0 -103
- /package/dist/{address-DI1YaCI4.cjs → address-Bsb8COq2.cjs} +0 -0
- /package/dist/{address-Ca1h_UZX.js → address-C2bHNxJU.js} +0 -0
- /package/dist/{dist-BkUiTtIb.js → dist-DUPvBnOA.js} +0 -0
- /package/dist/{dist-BLGlDv1e.cjs → dist-E4jTFPs7.cjs} +0 -0
- /package/dist/{lucide-react-BYniZ3lQ.cjs → lucide-react-BwV6L6Is.cjs} +0 -0
- /package/dist/{lucide-react-ehRy1vqS.js → lucide-react-CA7GD7Nv.js} +0 -0
- /package/dist/{mediaKind-dk396a03.cjs → mediaKind-D0MWyv6b.cjs} +0 -0
- /package/dist/{mediaKind-De2Cx_kB.js → mediaKind-DmKMsjeY.js} +0 -0
- /package/dist/{pdf-u73U7-6s.js → pdf-DRXcPGkr.js} +0 -0
- /package/dist/{pdf-B24jYmSf.cjs → pdf-jLjjhvjp.cjs} +0 -0
- /package/dist/{pdf.worker.min-BPOWx2_9.js → pdf.worker.min-CfKZezeM.js} +0 -0
- /package/dist/{pdf.worker.min-BvhEiZFe.cjs → pdf.worker.min-bLgNWd7w.cjs} +0 -0
- /package/dist/{verifiedAccount-C1iCxopN.js → verifiedAccount-DRbRFJ6H.js} +0 -0
- /package/dist/{verifiedAccount-D3OeaOBo.cjs → verifiedAccount-DScyKk96.cjs} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
require(`./chunk-CiTBaPhY.cjs`);const e=require(`./PageTitle-CZhgmmDT.cjs`),t=require(`./TimeZoneField-qs7NPR30.cjs`),n=require(`./DashboardNav-CXa_ci-_.cjs`),r=require(`./verifiedAccount-DScyKk96.cjs`),i=require(`./lucide-react-BwV6L6Is.cjs`),a=require(`./Loader-Bu89fsbB.cjs`),o=require(`./address-Bsb8COq2.cjs`),s=require(`./transactions-CufFrdAM.cjs`),c=require(`./tabAudience-BqpN6dsR.cjs`),l=require(`./FileViewerPopup-D8-MmIoS.cjs`),u=require(`./FormNote-BtdTGpml.cjs`),ee=require(`./ConfirmModal-Di9GR-vV.cjs`),te=require(`./SystemTabContent-L3vGGF3P.cjs`),ne=require(`./useIsPhone-o63tNneA.cjs`),d=require(`./contentKey-DJGYYnAE.cjs`),f=require(`./Attachments-UVK9SRXf.cjs`);let p=require(`react`),m=require(`react/jsx-runtime`),h=require(`firebase/firestore`),g=require(`react-router-dom`);var _={anyone:{collectionName:`user_submissions`,chip:`Anyone`,said:`Not signed in`,filterLabel:`From anyone`},signedIn:{collectionName:`user_requests`,chip:`Signed-in user`,said:`Signed-in user`,filterLabel:`From signed-in users`}},v=[`id`,`source`,`uid`,`submittedAt`,`avatarUrl`,`isArchived`,`name`,`full_name`,`email`,`contactEmail`,`topic`],y=e=>e==null?``:typeof e==`boolean`?e?`Yes`:`No`:Array.isArray(e)?e.map(y).filter(Boolean).join(`
|
|
2
|
+
`):typeof e==`object`?typeof e.toDate==`function`?x(e):Object.entries(e).filter(([e])=>!s.i(e)).map(([e,t])=>`${e}: ${y(t)}`).join(` · `):String(e),b=e=>{let t=e.submittedAt;if(!t)return 0;if(typeof t.toMillis==`function`)return t.toMillis();if(typeof t.toDate==`function`)return t.toDate().getTime();let n=new Date(t).getTime();return Number.isNaN(n)?0:n},x=e=>{if(!e)return`Just now`;let t=e.toDate?e.toDate():new Date(e);return new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,hour:`numeric`,minute:`numeric`}).format(t)},S=e=>{if(!e)return`now`;let t=e.toDate?e.toDate():new Date(e),n=new Date;return t.toDateString()===n.toDateString()?new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,minute:`numeric`}).format(t):new Intl.DateTimeFormat(`en-US`,t.getFullYear()===n.getFullYear()?{month:`short`,day:`numeric`}:{month:`short`,year:`numeric`}).format(t)},C=e=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()},re=e=>{let t=b(e);if(!t)return`Older`;let n=Math.round((C(Date.now())-C(t))/864e5);return n<=0?`Today`:n===1?`Yesterday`:n<7?`This week`:n<30?`This month`:`Older`},ie=e=>e.reduce((e,t)=>{let n=re(t),r=e[e.length-1];return r&&r.label===n?r.items.push(t):e.push({label:n,items:[t]}),e},[]),w=e=>e.submitterName||e.name||e.full_name||`Anonymous`,T=e=>e.contactEmail||e.email||``,E=e=>`${e.source}:${e.id}`,D=e=>{let t=Object.entries(e).filter(([t])=>!v.includes(t)&&!t.toLowerCase().startsWith(`submitter`)&&t.toLowerCase()!==`formid`&&!o.l(t,e));return e.topic?[[`topic`,e.topic],...t]:t},O=e=>e.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),ae=e=>{let n=D(e).filter(([e])=>e!==`topic`),r=n.find(([,e])=>!t.Vn(e)&&y(e).trim()),i=n.filter(([,e])=>t.Vn(e)).reduce((e,[,n])=>e+t.zn(n).length,0),a=(r?y(r[1]):i>0?`${i} ${i===1?`file`:`files`} attached`:T(e)).replace(/\s*\n+\s*/g,` · `).replace(/\s+/g,` `).trim();return[e.topic?String(e.topic).trim():``,a].filter(Boolean).join(` — `).slice(0,200)},k=e=>e.replace(/_/g,` `).replace(/^\w/,e=>e.toUpperCase()),oe=(e,t)=>{let n={};for(let[r,i]of t)n[r]={...i?.config||{},...e[r]||{}};for(let[t,r]of Object.entries(e)){let i=String(r?.fileId||``);i&&i!==t&&!e[i]?(n[t]={...n[i]||{},...r},delete n[i]):n[t]||(n[t]=r)}return Object.entries(n)};function A(e,t={},r=n.S()){let a=d.n(e);if(!a)return{name:`Contact`,Icon:i.lt};let o=typeof window<`u`&&window.__FBOS_FORMS__||{},s=o[a]||o[String(e)],c=null;for(let[e,n]of oe(t,r)){let t=new Set([e,n?.contentKey,n?.pageId,n?.tabName,n?.pageName,n?.title].map(d.n).filter(e=>e.length>=3));for(let e of t)(a===e||a.startsWith(e))&&(!c||e.length>c.key.length)&&(c={key:e,page:n})}let l=c?.page;return{name:String(l?.tabName||l?.pageName||l?.title||s?.title||``).trim()||k(a),Icon:n.y(l?.iconName)||i.lt}}var j=()=>{try{let e=localStorage.getItem(`fbos_nav_tabs`),t=e?JSON.parse(e):null;return t&&typeof t==`object`?t:{}}catch{return{}}};function M(){let[e,n]=(0,p.useState)(j);return(0,p.useEffect)(()=>t.ya(`sys_tabs`,()=>(0,h.collection)(t.ka,`sys_tabs`),e=>{let t={};for(let n of e.docs||[])t[n.id]=n.data();n(t)},()=>{}),[]),(0,p.useCallback)(t=>A(t,e),[e])}var N=`fbos_inbox_seen_at`,P=`fbos_inbox_opened`,F=500,se=()=>{try{let e=Number(localStorage.getItem(N));if(e>0||localStorage.getItem(N)===`0`)return e;let t=Date.now();return localStorage.setItem(N,String(t)),t}catch{return Date.now()}},I=()=>{try{let e=JSON.parse(localStorage.getItem(P)||`[]`);return new Set(Array.isArray(e)?e.map(String):[])}catch{return new Set}};function ce(){let[e,t]=(0,p.useState)(I);return[e,(0,p.useCallback)(e=>{t(t=>{if(t.has(e))return t;let n=new Set(t);n.add(e);try{localStorage.setItem(P,JSON.stringify([...n].slice(-F)))}catch{}return n})},[])]}var L=new Map,R=e=>{let n=L.get(e);return n||(n=(0,h.getDoc)((0,h.doc)(t.ka,`user_profiles`,e)).then(e=>e.exists()?e.data():null).catch(t=>(console.error(`Failed to fetch profile`,t),L.delete(e),null)),L.set(e,n)),n};function z(e,n){let[r,i]=(0,p.useState)([]),[a,o]=(0,p.useState)(!0),[c,l]=(0,p.useState)(null);return(0,p.useEffect)(()=>{let r=!1,a=_[e].collectionName,c=(0,h.onSnapshot)((0,h.query)((0,h.collection)(t.ka,a),(0,h.orderBy)(`submittedAt`,`desc`)),async a=>{let c=a.docs.filter(e=>{let n=e.data();return!(n.formId===`booking`||t.kt(n)||s.a(n))}),u=await Promise.all(c.map(async t=>{let r={...t.data()},i=``;if(n&&r.uid&&r.uid!==`guest`){let e=await R(r.uid);e&&((e.avatar||e.photoURL)&&(i=e.avatar||e.photoURL),r.name||=e.name||e.displayName,r.email||=e.email,r.contactEmail||=e.email)}return{...r,id:t.id,source:e,avatarUrl:i}}));r||(i(u),l(null),o(!1))},e=>{console.error(`Error loading ${a}:`,e),r||(l(e),o(!1))});return()=>{r=!0,c()}},[e,n]),{items:r,loading:a,refused:c}}var le=[.16,1,.3,1];function B({on:e,onClick:t,label:n,short:r,count:i}){return(0,m.jsxs)(`button`,{type:`button`,onClick:t,"aria-pressed":e,"aria-label":n,className:`h-7 px-2.5 inline-flex items-center gap-1.5 rounded-full text-[12.5px] font-medium border whitespace-nowrap transition-colors cursor-pointer active:scale-[0.98] ${e?`bg-accent/10 border-accent/30 text-accent`:`border-[var(--panel-border)] text-foreground/60 hover:text-foreground hover:bg-foreground/[0.03]`}`,children:[r?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`sm:hidden`,children:r}),(0,m.jsx)(`span`,{className:`max-sm:hidden`,children:n})]}):n,i?(0,m.jsx)(`span`,{className:`tabular-nums text-[11.5px] opacity-70`,children:i}):null]})}var V=`w-8 h-8 inline-flex items-center justify-center rounded-lg text-foreground/50 hover:text-foreground hover:bg-foreground/[0.06] transition-colors cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-accent/50`;function ue({item:e,look:t,selected:n,unread:r,onSelect:a,onArchive:o,onDelete:s}){let c=w(e),l=t.Icon,u=!!(o||s);return(0,m.jsxs)(`div`,{className:`group relative px-2 md:px-3`,children:[(0,m.jsxs)(`button`,{type:`button`,onClick:a,"aria-current":n?`true`:void 0,"aria-label":`Show details from ${c}`,"data-unread":r?`true`:void 0,className:`w-full flex items-center gap-3 px-3 py-2.5 rounded-xl text-left transition-colors cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-accent/40 ${n?`bg-accent/[0.1]`:r?`bg-accent/[0.05] hover:bg-accent/[0.08]`:`hover:bg-foreground/[0.03]`}`,children:[(0,m.jsx)(`span`,{"aria-hidden":`true`,className:`w-1.5 h-1.5 rounded-full shrink-0 ${r?`bg-accent`:`bg-transparent`}`}),(0,m.jsx)(l,{"aria-hidden":`true`,className:`w-4 h-4 shrink-0 ${n?`text-accent`:`text-foreground/45`}`}),(0,m.jsx)(`span`,{className:`shrink-0 max-w-[42%] truncate text-[13.5px] ${r?`font-semibold text-foreground`:`font-medium text-foreground/85`}`,children:c}),(0,m.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-[13px] ${r?`text-foreground/65`:`text-foreground/50`}`,children:ae(e)}),(0,m.jsx)(`span`,{className:`shrink-0 text-[11.5px] tabular-nums text-foreground/40 transition-opacity ${u?`group-hover:opacity-0`:``}`,children:S(e.submittedAt)})]}),u&&(0,m.jsxs)(`div`,{className:`absolute right-4 md:right-5 top-1/2 -translate-y-1/2 flex items-center gap-0.5 rounded-lg bg-background/90 backdrop-blur-sm opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity`,children:[o&&(0,m.jsx)(`button`,{type:`button`,onClick:o,"aria-label":e.isArchived?`Restore`:`Archive`,title:e.isArchived?`Restore`:`Archive`,className:V,children:e.isArchived?(0,m.jsx)(i.vn,{className:`w-4 h-4`}):(0,m.jsx)(i.Sn,{className:`w-4 h-4`})}),s&&(0,m.jsx)(`button`,{type:`button`,onClick:s,"aria-label":`Delete`,title:`Delete`,className:V,children:(0,m.jsx)(i.C,{className:`w-4 h-4`})})]})]})}function de({item:e,look:n,canOpenProfile:r,actions:a,onOpenFile:o}){let s=w(e),c=T(e),l=D(e),u=!!e.uid&&e.uid!==`guest`;return(0,m.jsxs)(`article`,{"aria-label":`Message from ${s}`,className:`px-5 py-6 sm:px-8 sm:py-8 lg:px-10 flex flex-col gap-6 max-w-3xl`,children:[(0,m.jsxs)(`header`,{className:`flex flex-col gap-4`,children:[(0,m.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,m.jsxs)(`div`,{className:`min-w-0 flex flex-col gap-1`,children:[(0,m.jsx)(`p`,{className:`text-[12.5px] font-medium text-foreground/50`,children:n.name}),(0,m.jsx)(`h2`,{className:`text-[22px] sm:text-2xl font-semibold tracking-tight text-foreground leading-tight [overflow-wrap:anywhere]`,children:s}),(0,m.jsx)(`p`,{className:`text-[13px] text-foreground/60 flex flex-wrap items-center gap-x-2 gap-y-0.5`,children:[c?(0,m.jsx)(`span`,{className:`[overflow-wrap:anywhere]`,children:c},`email`):null,(0,m.jsx)(`span`,{children:_[e.source].said},`who`),(0,m.jsx)(`span`,{className:`tabular-nums`,children:x(e.submittedAt)},`when`)].filter(Boolean).map((e,t)=>(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-x-2`,children:[t>0&&(0,m.jsx)(`span`,{"aria-hidden":`true`,className:`text-foreground/30`,children:`·`}),e]},e.key))})]}),a&&(0,m.jsx)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:a})]}),u&&r&&(0,m.jsxs)(g.Link,{to:`/users/${e.uid}`,className:`self-start inline-flex items-center gap-1.5 text-[13px] font-medium text-accent hover:underline`,children:[(0,m.jsx)(i._,{className:`w-3.5 h-3.5`,"aria-hidden":`true`}),`Open this person’s profile`]})]}),l.length>0?(0,m.jsx)(`dl`,{className:`border-t border-[var(--panel-border)]/70 divide-y divide-[var(--panel-border)]/50`,children:l.map(([e,n])=>(0,m.jsxs)(`div`,{className:`py-3.5 sm:grid sm:grid-cols-[minmax(7rem,11rem)_minmax(0,1fr)] sm:gap-6`,children:[(0,m.jsx)(`dt`,{className:`text-[13px] text-foreground/60 mb-1 sm:mb-0 sm:pt-px`,children:O(e)}),(0,m.jsx)(`dd`,{className:`min-w-0`,children:t.Vn(n)?(0,m.jsx)(f.t,{value:n,onOpen:o}):(0,m.jsx)(`p`,{className:`text-[14.5px] text-foreground leading-relaxed whitespace-pre-wrap break-words [overflow-wrap:anywhere]`,children:y(n)||`No data provided`})})]},e))}):(0,m.jsx)(`p`,{className:`border-t border-[var(--panel-border)]/70 pt-4 text-[13.5px] text-foreground/50`,children:`This form only asked for a name and email.`})]})}function H({items:r,loading:o,refused:s,onArchive:c,onDelete:d,opensUsers:f,formLook:h,initialOpen:v=null}){let x=ne.n(),S=t.or(),[C,re]=(0,p.useState)(`all`),[O,ae]=(0,p.useState)(`all`),[k,oe]=(0,p.useState)(!1),[A,j]=(0,p.useState)(!1),[M,N]=(0,p.useState)(``),P=(0,p.useDeferredValue)(M.trim().toLowerCase()),[F,I]=(0,p.useState)(v),[L,R]=(0,p.useState)(null),[z,V]=(0,p.useState)(``),[H,U]=(0,p.useState)(null),[fe,pe]=(0,p.useState)(!1),[W,G]=(0,p.useState)(null),[me]=(0,p.useState)(se),[he,K]=ce(),q=(0,p.useCallback)(e=>b(e)>me&&!he.has(E(e)),[me,he]),ge=(0,p.useCallback)(e=>{let t=E(e);I(t),V(``),K(t)},[K]),[_e,ve]=(0,g.useSearchParams)(),J=_e.get(`open`);(0,p.useEffect)(()=>{if(!J||o)return;let e=r.find(e=>E(e)===J);e&&(e.isArchived&&j(!0),ge(e),ve({},{replace:!0}))},[J,o,r]),(0,p.useEffect)(()=>{v&&r.find(e=>E(e)===v)?.isArchived&&j(!0)},[v]);let Y=x&&!!F;(0,p.useEffect)(()=>{if(!Y||typeof document>`u`)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[Y]);let X=(0,p.useMemo)(()=>{let e=new Map;for(let t of r){let n=String(t.formId||``);e.has(n)||e.set(n,h(t.formId))}return e},[r,h]),ye=[...X.entries()],Z=(0,p.useCallback)(e=>X.get(String(e.formId||``))||h(e.formId),[X,h]),Q=r.filter(e=>e.isArchived).length,be=r.filter(e=>!e.isArchived&&q(e)).length,xe=(0,p.useMemo)(()=>r.filter(e=>!(!!e.isArchived!==A||C!==`all`&&e.source!==C||O!==`all`&&String(e.formId||``)!==O||k&&!q(e)||P&&![w(e),T(e),Z(e).name,...D(e).map(([,e])=>t.Vn(e)?t.zn(e).map(t.Rn).join(` `):y(e))].join(`
|
|
3
|
+
`).toLowerCase().includes(P))),[r,A,C,O,k,P,q,Z]),$=F&&r.find(e=>E(e)===F)||null,Se=async e=>{if(!c)return;let n=E(e);R(n),V(``);try{await c(e),K(n),F===n&&I(null)}catch(e){V(t.Ta(e,`The message could not be moved.`))}R(null)},Ce=async()=>{if(!(!H||!d)){pe(!0),V(``);try{await d(H),F===E(H)&&I(null),U(null)}catch(e){V(t.Ta(e,`The message could not be deleted.`)),U(null)}pe(!1)}},we=[{key:`all`,label:`Everything`,short:`All`},{key:`anyone`,label:_.anyone.filterLabel,short:`Anyone`},{key:`signedIn`,label:_.signedIn.filterLabel,short:`Signed in`}],Te=(e,n=!1)=>{let r=T(e);return r?(0,m.jsxs)(`a`,{href:`mailto:${r}`,title:`Reply by email`,"aria-label":`Reply by email`,className:`${t.a} ${n?`max-sm:w-8 max-sm:px-0 max-sm:gap-0 max-sm:border-transparent max-sm:hover:border-transparent max-sm:hover:bg-foreground/[0.06]`:``}`,children:[(0,m.jsx)(i.z,{className:`w-3.5 h-3.5 shrink-0`,"aria-hidden":`true`}),n?(0,m.jsx)(`span`,{className:`max-sm:hidden`,children:`Reply`}):`Reply`]}):null},Ee=(e,n=!1)=>(0,m.jsxs)(m.Fragment,{children:[Te(e,n),c&&(0,m.jsx)(t.o,{icon:e.isArchived?i.vn:i.Sn,onClick:()=>Se(e),busy:L===E(e),compact:n,title:e.isArchived?`Restore`:`Archive`,children:e.isArchived?`Restore`:`Archive`}),d&&(0,m.jsx)(t.o,{icon:i.C,tone:`danger`,onClick:()=>U(e),compact:n,title:`Delete`,children:`Delete`})]}),De=xe.length===0?(0,m.jsx)(`p`,{className:`px-6 py-14 text-center text-[13.5px] text-foreground/50`,children:A?`Nothing archived matches.`:Q>0&&r.length===Q?`Everything here is archived.`:`Nothing matches.`}):(0,m.jsx)(t.D,{className:`flex flex-col pb-3`,children:ie(xe).flatMap(e=>[(0,m.jsx)(`p`,{className:`px-5 md:px-6 pt-4 pb-1.5 text-[11.5px] font-medium uppercase tracking-[0.14em] text-foreground/40 select-none`,children:e.label},`h:${e.label}`),...e.items.map(e=>(0,m.jsx)(ue,{item:e,look:Z(e),selected:F===E(e),unread:q(e),onSelect:()=>ge(e),onArchive:!x&&c?()=>Se(e):void 0,onDelete:!x&&d?()=>U(e):void 0},E(e)))])}),Oe=(0,m.jsxs)(`div`,{className:`p-4 md:p-5 flex flex-col gap-3 border-b border-[var(--panel-border)]/60`,children:[(0,m.jsxs)(`div`,{className:t.l,children:[(0,m.jsx)(i.F,{className:`w-4 h-4 mr-2.5 text-foreground/30 shrink-0`,"aria-hidden":`true`}),(0,m.jsx)(`input`,{type:`text`,value:M,onChange:e=>N(e.target.value),placeholder:`Search messages`,"aria-label":`Search messages`,className:`${t.p} no-glow`}),M&&(0,m.jsx)(`button`,{type:`button`,onClick:()=>N(``),"aria-label":`Clear search`,className:`ml-2 -mr-1 w-7 h-7 inline-flex items-center justify-center rounded-lg text-foreground/40 hover:text-foreground hover:bg-foreground/[0.06] transition-colors cursor-pointer`,children:(0,m.jsx)(i.o,{className:`w-3.5 h-3.5`})})]}),(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[we.map(e=>(0,m.jsx)(B,{on:C===e.key,onClick:()=>re(e.key),label:e.label,short:e.short},e.key)),(0,m.jsx)(`span`,{"aria-hidden":`true`,className:`w-px h-3.5 mx-0.5 bg-[var(--panel-border)]`}),(0,m.jsx)(B,{on:k,onClick:()=>oe(e=>!e),label:`Unread`,count:be}),ye.length>1&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{"aria-hidden":`true`,className:`w-px h-3.5 mx-0.5 bg-[var(--panel-border)]`}),ye.map(([e,t])=>(0,m.jsx)(B,{on:O===e,onClick:()=>ae(t=>t===e?`all`:e),label:t.name},e||`_`))]}),Q>0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{"aria-hidden":`true`,className:`w-px h-3.5 mx-0.5 bg-[var(--panel-border)]`}),(0,m.jsx)(B,{on:A,onClick:()=>j(e=>!e),label:`Archived`,count:Q})]})]})]}),ke=o?(0,m.jsx)(`div`,{className:`flex-1 min-h-0 md:grid md:grid-cols-[minmax(340px,430px)_minmax(0,1fr)]`,children:(0,m.jsxs)(`div`,{className:`p-4 md:p-5 flex flex-col gap-3 md:border-r md:border-[var(--panel-border)]/70`,"aria-busy":`true`,children:[(0,m.jsx)(a.n,{className:`h-10 rounded-xl`}),(0,m.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,m.jsx)(a.n,{className:`h-8 w-24 rounded-full`}),(0,m.jsx)(a.n,{className:`h-8 w-28 rounded-full`}),(0,m.jsx)(a.n,{className:`h-8 w-20 rounded-full`})]}),(0,m.jsx)(`div`,{className:`flex flex-col gap-1.5 pt-2`,children:[0,1,2,3,4,5].map(e=>(0,m.jsx)(a.n,{className:`h-10 rounded-xl`,style:{opacity:1-e*.12}},e))})]})}):s&&r.length===0?(0,m.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-8`,children:(0,m.jsx)(u.t,{tone:`error`,children:t.Ta(s,`The messages could not be read.`)})}):r.length===0?(0,m.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center text-center gap-1 px-8 py-20`,children:[(0,m.jsx)(`p`,{className:`text-[14px] font-medium text-foreground/70`,children:`Nothing here yet`}),(0,m.jsx)(`p`,{className:`text-[13px] text-foreground/45`,children:`Everything people send you through a form on your site lands here.`})]}):x?(0,m.jsxs)(`div`,{className:`flex flex-col`,children:[Oe,De]}):(0,m.jsxs)(`div`,{className:`flex-1 min-h-0 grid grid-cols-[minmax(340px,430px)_minmax(0,1fr)]`,children:[(0,m.jsxs)(`div`,{className:`flex flex-col min-h-0 border-r border-[var(--panel-border)]/70`,children:[Oe,(0,m.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:De})]}),(0,m.jsx)(`div`,{className:`min-h-0 overflow-y-auto`,children:(0,m.jsx)(t.sr.div,{initial:S?!1:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.25,ease:le},className:`min-h-full flex flex-col`,children:$?(0,m.jsxs)(m.Fragment,{children:[z&&(0,m.jsx)(`div`,{className:`px-8 pt-6 lg:px-10`,children:(0,m.jsx)(u.t,{tone:`error`,children:z})}),(0,m.jsx)(de,{item:$,look:Z($),canOpenProfile:f,actions:Ee($),onOpenFile:G})]}):(0,m.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-8`,children:(0,m.jsx)(`p`,{className:`text-[13.5px] text-foreground/40`,children:`Select a message to read it.`})})},$?E($):`none`)})]});return(0,m.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,m.jsxs)(t.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6`,children:[(0,m.jsx)(e.t,{children:`Inbox`}),(0,m.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,m.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),`/inbox`]})]}),(0,m.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,m.jsx)(`div`,{className:`flex justify-start`,children:(0,m.jsx)(n.t,{})}),(0,m.jsx)(te.n,{tab:`inbox`}),(0,m.jsx)(t.E,{as:`section`,className:`glass-panel border border-[var(--panel-border)] rounded-2xl md:rounded-3xl shadow-2xl bg-[var(--panel-bg)] overflow-hidden flex flex-col fbos-tab-fill min-h-[420px] md:h-[clamp(560px,calc(100dvh-14rem),960px)]`,children:ke})]}),(0,m.jsx)(t.cr,{children:Y&&$&&(0,m.jsxs)(t.sr.div,{role:`dialog`,"aria-label":`Message from ${w($)}`,initial:S?{opacity:0}:{x:`100%`},animate:S?{opacity:1}:{x:0},exit:S?{opacity:0}:{x:`100%`},transition:{duration:.28,ease:le},className:`fixed inset-0 z-[70] bg-background overflow-y-auto`,children:[(0,m.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center justify-between gap-2 px-3 h-14 bg-background/85 backdrop-blur-xl border-b border-[var(--panel-border)]/60`,children:[(0,m.jsxs)(`button`,{type:`button`,onClick:()=>I(null),"aria-label":`Back to the list`,className:`inline-flex items-center gap-1.5 h-9 pl-2 pr-3 rounded-xl text-[13px] font-medium text-foreground/70 hover:text-foreground hover:bg-foreground/[0.05] transition-colors cursor-pointer`,children:[(0,m.jsx)(i.bn,{className:`w-4 h-4`,"aria-hidden":`true`}),`Inbox`]}),(0,m.jsx)(`div`,{className:`flex items-center gap-1`,children:Ee($,!0)})]}),z&&(0,m.jsx)(`div`,{className:`px-5 pt-4`,children:(0,m.jsx)(u.t,{tone:`error`,children:z})}),(0,m.jsx)(de,{item:$,look:Z($),canOpenProfile:f,onOpenFile:G})]},`phone-sheet`)}),(0,m.jsx)(ee.t,{isOpen:!!H,title:`Delete this message?`,message:`This removes it for good. There is no undo — archive it instead if you only want it out of the way.`,onConfirm:Ce,onCancel:()=>U(null),isProcessing:fe,confirmText:`Yes, delete`}),(0,m.jsx)(l.t,{open:!!W,onClose:()=>G(null),src:W?.src||``,name:W?.name})]})}function U(){let{userRole:e}=t.dr(),{access:i}=n.a(),a=r.h(e),o=c.i(e,c.o(i,`users`)),s=a||r.p(e)||o,l=z(`anyone`,s),u=z(`signedIn`,s),ee=M(),te=l.loading||u.loading,ne=l.refused||u.refused,d=(0,p.useMemo)(()=>[...l.items,...u.items].sort((e,t)=>b(t)-b(e)),[l.items,u.items]),f=(0,p.useCallback)(async e=>{await(0,h.updateDoc)((0,h.doc)(t.ka,_[e.source].collectionName,e.id),{isArchived:!e.isArchived})},[]),g=(0,p.useCallback)(async e=>{await(0,h.deleteDoc)((0,h.doc)(t.ka,_[e.source].collectionName,e.id))},[]);return(0,m.jsx)(H,{items:d,loading:te,refused:ne,onArchive:a?f:void 0,onDelete:a?g:void 0,opensUsers:o,formLook:ee})}exports.Inbox=U;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk-CiTBaPhY.cjs`);const e=require(`./TimeZoneField-qs7NPR30.cjs`);let t=require(`react/jsx-runtime`);var n={sm:`w-4 h-4 border-2`,md:`w-6 h-6 border-2`,lg:`w-9 h-9 border-[3px]`},r=({label:r,size:i=`md`,block:a=!1,className:o,...s})=>(0,t.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:e.ir(`inline-flex items-center gap-3 text-foreground/60`,a&&`flex w-full flex-col justify-center py-20 text-center`,o),...s,children:[(0,t.jsx)(`span`,{"aria-hidden":`true`,className:e.ir(`rounded-full border-accent border-t-transparent animate-spin motion-reduce:animate-none motion-reduce:border-t-accent/30`,n[i])}),r?(0,t.jsx)(`span`,{className:`text-[13px] font-medium`,children:r}):(0,t.jsx)(`span`,{className:`sr-only`,children:`Loading`})]});r.displayName=`Loader`;var i=({className:n,...r})=>(0,t.jsx)(`div`,{"aria-hidden":`true`,className:e.ir(`rounded-2xl bg-foreground/[0.06] animate-pulse motion-reduce:animate-none`,n),...r});i.displayName=`Skeleton`,Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ir as e } from "./TimeZoneField-DkI1Bkcz.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/Loader.tsx
|
|
4
|
+
var r = {
|
|
5
|
+
sm: "w-4 h-4 border-2",
|
|
6
|
+
md: "w-6 h-6 border-2",
|
|
7
|
+
lg: "w-9 h-9 border-[3px]"
|
|
8
|
+
}, i = ({ label: i, size: a = "md", block: o = !1, className: s, ...c }) => /* @__PURE__ */ n("div", {
|
|
9
|
+
role: "status",
|
|
10
|
+
"aria-live": "polite",
|
|
11
|
+
className: e("inline-flex items-center gap-3 text-foreground/60", o && "flex w-full flex-col justify-center py-20 text-center", s),
|
|
12
|
+
...c,
|
|
13
|
+
children: [/* @__PURE__ */ t("span", {
|
|
14
|
+
"aria-hidden": "true",
|
|
15
|
+
className: e("rounded-full border-accent border-t-transparent animate-spin motion-reduce:animate-none motion-reduce:border-t-accent/30", r[a])
|
|
16
|
+
}), i ? /* @__PURE__ */ t("span", {
|
|
17
|
+
className: "text-[13px] font-medium",
|
|
18
|
+
children: i
|
|
19
|
+
}) : /* @__PURE__ */ t("span", {
|
|
20
|
+
className: "sr-only",
|
|
21
|
+
children: "Loading"
|
|
22
|
+
})]
|
|
23
|
+
});
|
|
24
|
+
i.displayName = "Loader";
|
|
25
|
+
var a = ({ className: n, ...r }) => /* @__PURE__ */ t("div", {
|
|
26
|
+
"aria-hidden": "true",
|
|
27
|
+
className: e("rounded-2xl bg-foreground/[0.06] animate-pulse motion-reduce:animate-none", n),
|
|
28
|
+
...r
|
|
29
|
+
});
|
|
30
|
+
a.displayName = "Skeleton";
|
|
31
|
+
//#endregion
|
|
32
|
+
export { a as n, i as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./chunk-CiTBaPhY.cjs`),t=require(`./TimeZoneField-qs7NPR30.cjs`),n=require(`./Button-5DlB2MCi.cjs`);let r=require(`react`);r=e.a(r,1);let i=require(`react/jsx-runtime`);function a({children:e,className:a,variant:o=`secondary`}){let{loading:s,configured:c}=t.pi(),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(null);return s||!c?null:(0,i.jsxs)(`span`,{className:`inline-flex flex-col items-stretch gap-2`,children:[(0,i.jsx)(n.t,{variant:o,className:a,onClick:async()=>{if(l)return;u(!0),f(null);let e=await t.ci();e&&(f(e),u(!1))},disabled:l,children:l?`Opening…`:e??`Manage plan`}),d&&(0,i.jsx)(`span`,{role:`alert`,className:`text-[13px] font-semibold text-red-400 leading-snug`,children:d})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ci as e, pi as t } from "./TimeZoneField-DkI1Bkcz.js";
|
|
2
|
+
import { t as n } from "./Button-4lzOE31p.js";
|
|
3
|
+
import { useState as r } from "react";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/ManagePlanButton.tsx
|
|
6
|
+
function o({ children: o, className: s, variant: c = "secondary" }) {
|
|
7
|
+
let { loading: l, configured: u } = t(), [d, f] = r(!1), [p, m] = r(null);
|
|
8
|
+
return l || !u ? null : /* @__PURE__ */ a("span", {
|
|
9
|
+
className: "inline-flex flex-col items-stretch gap-2",
|
|
10
|
+
children: [/* @__PURE__ */ i(n, {
|
|
11
|
+
variant: c,
|
|
12
|
+
className: s,
|
|
13
|
+
onClick: async () => {
|
|
14
|
+
if (d) return;
|
|
15
|
+
f(!0), m(null);
|
|
16
|
+
let t = await e();
|
|
17
|
+
t && (m(t), f(!1));
|
|
18
|
+
},
|
|
19
|
+
disabled: d,
|
|
20
|
+
children: d ? "Opening…" : o ?? "Manage plan"
|
|
21
|
+
}), p && /* @__PURE__ */ i("span", {
|
|
22
|
+
role: "alert",
|
|
23
|
+
className: "text-[13px] font-semibold text-red-400 leading-snug",
|
|
24
|
+
children: p
|
|
25
|
+
})]
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { o as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk-CiTBaPhY.cjs`);const e=require(`./PageTitle-CZhgmmDT.cjs`),t=require(`./TimeZoneField-qs7NPR30.cjs`),n=require(`./DashboardNav-CXa_ci-_.cjs`),r=require(`./lucide-react-BwV6L6Is.cjs`),i=require(`./scheduleData-Cltj0ABZ.cjs`),a=require(`./email-BfnZnMwD.cjs`),o=require(`./SystemTabContent-L3vGGF3P.cjs`),s=require(`./CalendarView-BimoXy_k.cjs`);let c=require(`react`),l=require(`react/jsx-runtime`);function u(){let{user:u}=t.dr(),d=t.Dt(),{loading:f,bookings:p,error:m}=i.v(u?.uid||``,u?.email||``),{docs:h}=i.b(),g=(0,c.useMemo)(()=>i.E(h),[h]),_=(0,c.useMemo)(()=>i.D(p,g),[p,g]);return(0,l.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,l.jsxs)(t.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6`,children:[(0,l.jsx)(e.t,{children:`My bookings`}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,l.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),`/my-bookings`]})]}),(0,l.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,l.jsx)(n.t,{}),(0,l.jsx)(o.n,{tab:`mybookings`}),(0,l.jsx)(`div`,{className:`glass-panel border border-[var(--panel-border)] rounded-3xl p-4 sm:p-5 md:p-8 shadow-2xl relative bg-background flex flex-col fbos-tab-fill min-h-[600px]`,children:(0,l.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,l.jsxs)(`p`,{className:`text-[13px] font-medium text-foreground/60 leading-relaxed px-1`,children:[`Every meeting booked with your email address — including any you booked before you had an account. Shown in your time, `,t.Tn(d),`.`]}),f?(0,l.jsx)(`p`,{className:`${t.s} px-1`,children:`Loading your bookings…`}):m?(0,l.jsx)(`p`,{className:`text-[12px] font-semibold text-red-500 px-1`,children:m}):_.length===0?(0,l.jsx)(t.h,{icon:r.fn,title:`Nothing booked yet`,description:`Meetings you book appear here.`,children:(0,l.jsxs)(`p`,{className:`${t.s} px-1`,children:[`When you book a time through one of `,u?.displayName?`their`:`our`,` booking links, it lands here — and stays here afterwards, so you always have the record.`]})}):(0,l.jsx)(t.h,{icon:r.fn,title:`Your calendar`,description:`Press a day to see what is on it. Everything you have booked is here, including the meetings that have been and the ones called off.`,children:(0,l.jsx)(s.t,{bookings:_,zone:d,side:`booker`,onCancel:async(e,n)=>{let r=await i.r(e.id,{ids:e.copyIds,reason:n,side:`booker`,by:e.name.trim()||String(u?.displayName||``)});if(!r){let r=t.xn(e,d);a.n(`heads_up`,{title:`Booking cancelled`,summary:`${e.name.trim()||`Someone`} cancelled ${t.mt(e)} — ${r.day}, ${r.time}`,details:{Who:e.name.trim(),Email:e.email,When:`${r.day}, ${r.time}`,Reason:n}}).catch(()=>{})}return r}})}),!f&&!m&&_.length>0&&(0,l.jsxs)(`p`,{className:`text-[11px] sm:text-[11.5px] text-foreground/40 font-medium leading-snug px-1 flex items-start gap-1.5`,children:[(0,l.jsx)(r._,{className:`w-3.5 h-3.5 shrink-0 mt-[1px]`,"aria-hidden":!0}),(0,l.jsx)(`span`,{children:`Cancelling gives the time back straight away. To MOVE a meeting, cancel it and book another — or reply to its confirmation email.`})]})]})})]})]})}exports.MyBookings=u;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { t as e } from "./PageTitle-D93YCiN8.js";
|
|
2
|
+
import { Dt as t, Tn as n, dr as r, h as i, mt as a, s as o, sr as s, xn as c } from "./TimeZoneField-DkI1Bkcz.js";
|
|
3
|
+
import { t as l } from "./DashboardNav-Dmn7PVSp.js";
|
|
4
|
+
import { _ as u, fn as d } from "./lucide-react-CA7GD7Nv.js";
|
|
5
|
+
import { D as f, E as p, b as m, r as h, v as g } from "./scheduleData-ATN8w5hI.js";
|
|
6
|
+
import { n as _ } from "./email-Ddj8Dlu6.js";
|
|
7
|
+
import { n as v } from "./SystemTabContent-QdxxLILE.js";
|
|
8
|
+
import { t as y } from "./CalendarView-D-ykjpvI.js";
|
|
9
|
+
import { useMemo as b } from "react";
|
|
10
|
+
import { jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
11
|
+
//#region src/pages/MyBookings.tsx
|
|
12
|
+
function C() {
|
|
13
|
+
let { user: C } = r(), w = t(), { loading: T, bookings: E, error: D } = g(C?.uid || "", C?.email || ""), { docs: O } = m(), k = b(() => p(O), [O]), A = b(() => f(E, k), [E, k]);
|
|
14
|
+
return /* @__PURE__ */ S("main", {
|
|
15
|
+
className: "flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen",
|
|
16
|
+
children: [/* @__PURE__ */ S(s.div, {
|
|
17
|
+
initial: {
|
|
18
|
+
opacity: 0,
|
|
19
|
+
y: 20
|
|
20
|
+
},
|
|
21
|
+
animate: {
|
|
22
|
+
opacity: 1,
|
|
23
|
+
y: 0
|
|
24
|
+
},
|
|
25
|
+
className: "mb-6",
|
|
26
|
+
children: [/* @__PURE__ */ x(e, { children: "My bookings" }), /* @__PURE__ */ S("div", {
|
|
27
|
+
className: "flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]",
|
|
28
|
+
children: [/* @__PURE__ */ x("span", { className: "w-8 h-[1px] bg-foreground/10" }), "/my-bookings"]
|
|
29
|
+
})]
|
|
30
|
+
}), /* @__PURE__ */ S("div", {
|
|
31
|
+
className: "flex flex-col gap-6 flex-1 pb-16",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ x(l, {}),
|
|
34
|
+
/* @__PURE__ */ x(v, { tab: "mybookings" }),
|
|
35
|
+
/* @__PURE__ */ x("div", {
|
|
36
|
+
className: "glass-panel border border-[var(--panel-border)] rounded-3xl p-4 sm:p-5 md:p-8 shadow-2xl relative bg-background flex flex-col fbos-tab-fill min-h-[600px]",
|
|
37
|
+
children: /* @__PURE__ */ S("div", {
|
|
38
|
+
className: "flex flex-col gap-4",
|
|
39
|
+
children: [
|
|
40
|
+
/* @__PURE__ */ S("p", {
|
|
41
|
+
className: "text-[13px] font-medium text-foreground/60 leading-relaxed px-1",
|
|
42
|
+
children: [
|
|
43
|
+
"Every meeting booked with your email address — including any you booked before you had an account. Shown in your time, ",
|
|
44
|
+
n(w),
|
|
45
|
+
"."
|
|
46
|
+
]
|
|
47
|
+
}),
|
|
48
|
+
T ? /* @__PURE__ */ x("p", {
|
|
49
|
+
className: `${o} px-1`,
|
|
50
|
+
children: "Loading your bookings…"
|
|
51
|
+
}) : D ? /* @__PURE__ */ x("p", {
|
|
52
|
+
className: "text-[12px] font-semibold text-red-500 px-1",
|
|
53
|
+
children: D
|
|
54
|
+
}) : A.length === 0 ? /* @__PURE__ */ x(i, {
|
|
55
|
+
icon: d,
|
|
56
|
+
title: "Nothing booked yet",
|
|
57
|
+
description: "Meetings you book appear here.",
|
|
58
|
+
children: /* @__PURE__ */ S("p", {
|
|
59
|
+
className: `${o} px-1`,
|
|
60
|
+
children: [
|
|
61
|
+
"When you book a time through one of ",
|
|
62
|
+
C?.displayName ? "their" : "our",
|
|
63
|
+
" booking links, it lands here — and stays here afterwards, so you always have the record."
|
|
64
|
+
]
|
|
65
|
+
})
|
|
66
|
+
}) : /* @__PURE__ */ x(i, {
|
|
67
|
+
icon: d,
|
|
68
|
+
title: "Your calendar",
|
|
69
|
+
description: "Press a day to see what is on it. Everything you have booked is here, including the meetings that have been and the ones called off.",
|
|
70
|
+
children: /* @__PURE__ */ x(y, {
|
|
71
|
+
bookings: A,
|
|
72
|
+
zone: w,
|
|
73
|
+
side: "booker",
|
|
74
|
+
onCancel: async (e, t) => {
|
|
75
|
+
let n = await h(e.id, {
|
|
76
|
+
ids: e.copyIds,
|
|
77
|
+
reason: t,
|
|
78
|
+
side: "booker",
|
|
79
|
+
by: e.name.trim() || String(C?.displayName || "")
|
|
80
|
+
});
|
|
81
|
+
if (!n) {
|
|
82
|
+
let n = c(e, w);
|
|
83
|
+
_("heads_up", {
|
|
84
|
+
title: "Booking cancelled",
|
|
85
|
+
summary: `${e.name.trim() || "Someone"} cancelled ${a(e)} — ${n.day}, ${n.time}`,
|
|
86
|
+
details: {
|
|
87
|
+
Who: e.name.trim(),
|
|
88
|
+
Email: e.email,
|
|
89
|
+
When: `${n.day}, ${n.time}`,
|
|
90
|
+
Reason: t
|
|
91
|
+
}
|
|
92
|
+
}).catch(() => {});
|
|
93
|
+
}
|
|
94
|
+
return n;
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
}),
|
|
98
|
+
!T && !D && A.length > 0 && /* @__PURE__ */ S("p", {
|
|
99
|
+
className: "text-[11px] sm:text-[11.5px] text-foreground/40 font-medium leading-snug px-1 flex items-start gap-1.5",
|
|
100
|
+
children: [/* @__PURE__ */ x(u, {
|
|
101
|
+
className: "w-3.5 h-3.5 shrink-0 mt-[1px]",
|
|
102
|
+
"aria-hidden": !0
|
|
103
|
+
}), /* @__PURE__ */ x("span", { children: "Cancelling gives the time back straight away. To MOVE a meeting, cancel it and book another — or reply to its confirmation email." })]
|
|
104
|
+
})
|
|
105
|
+
]
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
})]
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
export { C as MyBookings };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const e=require(`./chunk-CiTBaPhY.cjs`),t=require(`./TimeZoneField-qs7NPR30.cjs`),n=require(`./lucide-react-BwV6L6Is.cjs`),r=require(`./mediaKind-D0MWyv6b.cjs`);let i=require(`react`);i=e.a(i,1);let a=require(`react/jsx-runtime`);var o={appName:`Your AI Firebase`,defaultTheme:`light`,showThemeToggle:!0,logoUrl:`https://firebasestorage.googleapis.com/v0/b/fir-os-47863.firebasestorage.app/o/pub_files%2F1776321238933_favicon_smaller.png?alt=media&token=efecb55c-2456-4cbe-a20a-b86db54a1e55`,faviconUrl:`https://firebasestorage.googleapis.com/v0/b/fir-os-47863.firebasestorage.app/o/pub_files%2F1776321238933_favicon_smaller.png?alt=media&token=efecb55c-2456-4cbe-a20a-b86db54a1e55`,fonts:{},colors:{dark:{background:`#07070f`,backgroundSecondary:`#0a0a18`,foreground:`#f0eeff`,accent:`#a78bfa`,buttonText:`#ffffff`},light:{background:`#fcfaff`,backgroundSecondary:`#f7f3ff`,foreground:`#1e1b4b`,accent:`#7c3aed`,buttonText:`#ffffff`}},cornerRounding:`default`,cornerRadii:{buttonRadius:.75,inputRadius:.75,cardRadius:1.5,modalRadius:2.5}},s=`2.0.3`,c=e=>e.trim().split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``),l=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Z])([A-Z][a-z])/g,`$1-$2`).toLowerCase(),u=e=>{let t=e.replace(/-/g,` `);return t.charAt(0).toUpperCase()+t.slice(1)},d=(()=>{let e=n.n,t=e?Object.keys(e):[];return t.length===0&&(t=Object.keys(n.t).filter(e=>/^[A-Z]/.test(e)&&!/Icon$/.test(e)&&!/^Lucide/.test(e)&&e!==`IconNode`)),Array.from(new Set(t.map(l))).sort()})(),f=`layers.house.layout-dashboard.list.table.kanban.calendar.clock.file-text.files.folder.hard-drive.upload.download.paperclip.book-open.notebook-pen.users.user.user-plus.contact.building.briefcase.handshake.mail.message-square.message-circle.send.inbox.bell.megaphone.phone.shopping-cart.package.truck.receipt.credit-card.banknote.wallet.tag.percent.chart-bar.chart-line.chart-pie.trending-up.target.gauge.activity.settings.sliders-horizontal.wrench.shield.lock.key.eye.search.star.heart.bookmark.flag.pin.map-pin.globe.circle-check.circle-alert.info.circle-question-mark.life-buoy.sparkles.zap.rocket.camera.image.video.music.mic.palette.pen-tool.scissors.stethoscope.graduation-cap.utensils.plane.car.dumbbell.leaf.sun.moon`.split(`.`),p={money:[`banknote`,`wallet`,`credit-card`,`coins`,`dollar-sign`,`receipt`],cash:[`banknote`,`coins`,`wallet`],payment:[`credit-card`,`banknote`,`receipt`],invoice:[`receipt`,`file-text`],price:[`tag`,`dollar-sign`,`receipt`],people:[`users`,`user`,`contact`],customer:[`users`,`contact`,`user-round`],client:[`users`,`contact`,`briefcase`],team:[`users`,`users-round`],staff:[`users`,`id-card`],chat:[`message-circle`,`message-square`,`messages-square`],message:[`message-circle`,`mail`,`send`],email:[`mail`,`send`,`inbox`],task:[`list-checks`,`square-check`,`clipboard-check`],todo:[`list-checks`,`square-check`],project:[`kanban`,`folder-kanban`,`briefcase`],board:[`kanban`,`layout-dashboard`],photo:[`image`,`camera`,`images`],picture:[`image`,`images`],document:[`file-text`,`files`,`file`],doc:[`file-text`,`file`],shop:[`shopping-cart`,`store`,`shopping-bag`],store:[`store`,`shopping-bag`,`shopping-cart`],order:[`shopping-cart`,`package`,`receipt`],delivery:[`truck`,`package`],home:[`house`,`house-heart`],booking:[`calendar-check`,`calendar`,`clock`],appointment:[`calendar-clock`,`calendar`,`clock`],schedule:[`calendar-days`,`calendar`,`clock`],event:[`calendar`,`party-popper`,`ticket`],report:[`chart-bar`,`chart-line`,`file-chart-column`],stats:[`chart-bar`,`chart-line`,`chart-pie`],analytics:[`chart-line`,`chart-bar`,`activity`],help:[`circle-question-mark`,`life-buoy`,`info`],support:[`life-buoy`,`headset`,`circle-question-mark`],idea:[`lightbulb`,`sparkles`],health:[`heart-pulse`,`stethoscope`,`activity`],food:[`utensils`,`chef-hat`,`pizza`],travel:[`plane`,`map`,`luggage`],location:[`map-pin`,`map`,`globe`],address:[`map-pin`,`house`],security:[`shield`,`lock`,`key`],password:[`key`,`lock`],settings:[`settings`,`sliders-horizontal`,`wrench`],file:[`file`,`file-text`,`files`,`folder`],upload:[`upload`,`cloud-upload`],video:[`video`,`film`,`clapperboard`],school:[`graduation-cap`,`book-open`,`school`],course:[`graduation-cap`,`book-open`],gym:[`dumbbell`,`activity`],garden:[`leaf`,`flower`,`sprout`],car:[`car`,`car-front`],pet:[`paw-print`,`dog`,`cat`],note:[`notebook-pen`,`sticky-note`,`pencil`],write:[`pencil`,`pen-tool`,`notebook-pen`],time:[`clock`,`timer`,`hourglass`],star:[`star`,`sparkles`],favourite:[`star`,`heart`,`bookmark`],favorite:[`star`,`heart`,`bookmark`],album:[`images`,`image`,`camera`],gallery:[`images`,`image`,`camera`],profile:[`circle-user`,`user-round`,`id-card`],account:[`circle-user`,`user-round`,`id-card`],member:[`users`,`user-round`,`id-card`],membership:[`id-card`,`users`,`award`],subscription:[`credit-card`,`repeat`,`wallet`],plan:[`clipboard-list`,`layout-list`,`credit-card`],ticket:[`ticket`,`tickets`,`inbox`],request:[`inbox`,`send`,`file-text`],progress:[`trending-up`,`gauge`,`activity`],result:[`chart-bar`,`clipboard-check`,`trophy`],score:[`trophy`,`target`,`star`],library:[`library`,`book-open`,`folder`],lesson:[`graduation-cap`,`book-open`],session:[`calendar-clock`,`clock`,`video`],service:[`wrench`,`handshake`,`briefcase`],statement:[`file-text`,`receipt`,`banknote`],saved:[`bookmark`,`heart`,`star`],list:[`list`,`list-checks`,`layout-list`],detail:[`file-text`,`info`],referral:[`user-plus`,`share`,`gift`],reward:[`gift`,`trophy`,`award`],badge:[`award`,`badge`,`medal`],certificate:[`award`,`file-badge`,`scroll`],download:[`download`,`cloud-download`],history:[`rotate-ccw-clock`,`clock`,`rotate-ccw`],feedback:[`message-square`,`star`,`thumbs-up`],review:[`star`,`message-square`],wishlist:[`heart`,`bookmark`,`star`],cart:[`shopping-cart`,`shopping-bag`],credit:[`coins`,`wallet`,`credit-card`],dashboard:[`layout-dashboard`,`gauge`],welcome:[`hand`,`house`,`sparkles`],onboarding:[`rocket`,`list-checks`,`user-plus`],benefit:[`gift`,`sparkles`,`award`],perk:[`gift`,`sparkles`],resource:[`folder`,`book-open`,`files`],guide:[`book-open`,`compass`,`map`],faq:[`circle-question-mark`,`message-circle`],contract:[`file-pen`,`file-text`,`scroll`],agreement:[`handshake`,`file-pen`],quote:[`file-text`,`receipt`,`tag`],enquiry:[`message-square`,`mail`],inquiry:[`message-square`,`mail`],application:[`file-text`,`clipboard-list`,`send`],form:[`clipboard-list`,`file-text`],submission:[`inbox`,`send`,`file-text`],record:[`folder`,`file-text`,`database`],log:[`rotate-ccw-clock`,`list`,`file-text`],product:[`package`,`tag`,`shopping-bag`],inventory:[`package`,`boxes`,`warehouse`],stock:[`package`,`boxes`,`warehouse`],catalogue:[`book-open`,`package`,`layout-grid`],catalog:[`book-open`,`package`,`layout-grid`],item:[`package`,`tag`,`list`],supplier:[`truck`,`factory`,`handshake`],vendor:[`store`,`truck`,`handshake`],checkout:[`shopping-cart`,`credit-card`,`receipt`],shipping:[`truck`,`package`,`map-pin`],sale:[`trending-up`,`tag`,`banknote`],pricing:[`tag`,`banknote`,`receipt`],deal:[`handshake`,`tag`,`trending-up`],lead:[`user-plus`,`target`,`trending-up`],discount:[`percent`,`badge-percent`,`tag`],coupon:[`ticket-percent`,`tag`,`percent`],return:[`rotate-ccw`,`package`,`receipt`],refund:[`rotate-ccw`,`banknote`,`receipt`],warranty:[`shield-check`,`file-badge`,`wrench`],licence:[`file-badge`,`award`,`key`],license:[`file-badge`,`award`,`key`],insurance:[`shield`,`umbrella`,`file-text`],job:[`briefcase`,`hammer`,`clipboard-list`],shift:[`clock`,`calendar-clock`,`users`],rota:[`calendar-days`,`clock`,`users`],timesheet:[`clock`,`calendar-check`,`table`],expense:[`receipt`,`banknote`,`wallet`],budget:[`wallet`,`chart-pie`,`banknote`],policy:[`file-text`,`shield`,`book-open`],handbook:[`book-open`,`file-text`,`scroll`],training:[`graduation-cap`,`book-open`,`dumbbell`],candidate:[`user-search`,`user-plus`,`file-text`],applicant:[`user-search`,`user-plus`,`file-text`],volunteer:[`hand-heart`,`users`,`heart`],partner:[`handshake`,`users`,`building`],sponsor:[`handshake`,`badge-dollar-sign`,`award`],donation:[`heart-handshake`,`gift`,`banknote`],listing:[`list`,`house`,`tag`],property:[`house`,`building`,`key`],room:[`door-open`,`bed`,`layout-grid`],venue:[`building`,`map-pin`,`house`],vehicle:[`car`,`truck`,`car-front`],equipment:[`wrench`,`hard-hat`,`package`],tool:[`wrench`,`hammer`,`settings`],maintenance:[`wrench`,`hard-hat`,`settings`],asset:[`package`,`hard-drive`,`boxes`],issue:[`circle-alert`,`bug`,`triangle-alert`],complaint:[`message-square-warning`,`triangle-alert`,`face-slightly-frowning`],case:[`folder`,`briefcase`,`file-text`],testimonial:[`quote`,`star`,`message-square`],patient:[`stethoscope`,`user-round`,`heart-pulse`],student:[`graduation-cap`,`users`,`backpack`],class:[`graduation-cap`,`users`,`presentation`],prescription:[`pill`,`file-text`,`stethoscope`],measurement:[`ruler`,`scale`,`activity`],habit:[`repeat`,`circle-check`,`calendar-check`],workout:[`dumbbell`,`activity`,`heart-pulse`],meal:[`utensils`,`salad`,`chef-hat`],recipe:[`chef-hat`,`utensils`,`book-open`],announcement:[`megaphone`,`bell`,`newspaper`],newsletter:[`mail`,`newspaper`,`send`],campaign:[`megaphone`,`target`,`chart-line`],advert:[`megaphone`,`monitor-play`,`target`],ads:[`megaphone`,`monitor-play`,`target`],blog:[`rss`,`newspaper`,`pen-line`],editor:[`pen-line`,`file-pen`,`pencil`],writer:[`pen-line`,`notebook-pen`,`feather`],author:[`pen-line`,`book-open`,`feather`],manager:[`clipboard-list`,`briefcase`,`user-cog`],owner:[`crown`,`key`,`house`],founder:[`crown`,`rocket`,`star`],director:[`crown`,`briefcase`,`presentation`],moderator:[`shield-check`,`gavel`,`flag`],reviewer:[`star`,`clipboard-check`,`message-square`],approver:[`clipboard-check`,`stamp`,`circle-check`],agent:[`headset`,`briefcase`,`handshake`],broker:[`handshake`,`briefcase`,`chart-line`],consultant:[`briefcase`,`lightbulb`,`handshake`],contractor:[`hard-hat`,`hammer`,`wrench`],freelancer:[`laptop`,`pen-tool`,`briefcase`],driver:[`truck`,`car-front`,`map-pin`],courier:[`package`,`truck`,`bike`],seller:[`store`,`tag`,`handshake`],buyer:[`shopping-bag`,`shopping-cart`,`wallet`],subscriber:[`bell`,`repeat`,`credit-card`],affiliate:[`share`,`link`,`percent`],guest:[`door-open`,`bed`,`hand`],host:[`door-open`,`hand`,`calendar-check`],visitor:[`door-open`,`footprints`,`eye`],coach:[`megaphone`,`dumbbell`,`clipboard-check`],trainer:[`dumbbell`,`graduation-cap`,`activity`],tutor:[`graduation-cap`,`book-open`,`presentation`],teacher:[`presentation`,`graduation-cap`,`book-open`],mentor:[`graduation-cap`,`handshake`,`lightbulb`],parent:[`baby`,`house`,`heart`],nurse:[`stethoscope`,`heart-pulse`,`syringe`],doctor:[`stethoscope`,`heart-pulse`,`pill`],therapist:[`brain`,`heart-pulse`,`stethoscope`],artist:[`palette`,`paintbrush`,`pen-tool`],designer:[`palette`,`pen-tool`,`ruler`],developer:[`code`,`terminal`,`laptop`],photographer:[`camera`,`image`,`aperture`],investor:[`trending-up`,`banknote`,`chart-line`],donor:[`heart-handshake`,`gift`,`banknote`],vip:[`crown`,`gem`,`star`],guard:[`shield`,`lock`,`eye`],cleaner:[`sparkles`,`spray-can`,`brush`],chef:[`chef-hat`,`utensils`,`salad`],waiter:[`utensils`,`concierge-bell`,`coffee`],stylist:[`scissors`,`palette`,`sparkles`],therapy:[`heart-pulse`,`brain`,`hand-heart`],premium:[`crown`,`gem`,`star`],gold:[`crown`,`medal`,`star`],silver:[`medal`,`award`,`star`],bronze:[`medal`,`award`],platinum:[`gem`,`crown`,`award`],elite:[`crown`,`gem`,`trophy`],lifetime:[`infinity`,`crown`,`calendar-heart`],starter:[`rocket`,`sprout`,`flag`],basic:[`circle`,`square`,`layers`]},m=new Set([`my`,`our`,`your`,`their`,`the`,`a`,`an`,`all`,`new`,`page`,`pages`,`of`,`and`,`for`,`to`,`in`,`on`,`at`,`is`,`it`,`this`,`that`]),h=new Set([`item`,`items`,`list`,`lists`,`record`,`records`,`thing`,`things`]),g=e=>{let t=[e];return e.endsWith(`ies`)&&e.length>4&&t.push(`${e.slice(0,-3)}y`),e.endsWith(`es`)&&e.length>3&&t.push(e.slice(0,-2)),e.endsWith(`s`)&&t.push(e.slice(0,-1)),t},_=(e,t)=>{if(Math.abs(e.length-t.length)>2)return 3;let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=n[0];n[0]=r;for(let a=1;a<=t.length;a++){let o=n[a];n[a]=Math.min(n[a]+1,n[a-1]+1,i+(e[r-1]===t[a-1]?0:1)),i=o}}return n[t.length]},v=(e,t)=>{let n=0;for(let r of t)r===e[n]&&n++;return n===e.length};function y(e,t=96,n=d,r=!0){let i=e.trim().toLowerCase().replace(/\s+/g,`-`).replace(/[^a-z0-9-]/g,``);if(!i)return[];let a=i.split(`-`).filter(Boolean),o=new Set(n),s=new Map,c=(e,t)=>{o.has(e)&&s.set(e,Math.max(s.get(e)||0,t))};for(let e of n){let t=e.split(`-`);if(e===i){c(e,100);continue}if(e.startsWith(i)){c(e,90);continue}if(t.some(e=>e===i)){c(e,85);continue}if(t.some(e=>e.startsWith(i))){c(e,75);continue}if(e.includes(i)){c(e,65);continue}if(a.length>1&&a.every(e=>t.some(t=>t.startsWith(e)))){c(e,60);continue}}let l=e=>{let t=h.has(e)?80:95;for(let n of g(e))(p[n]||[]).forEach((e,n)=>c(e,t-n))};for(let e of a)l(e);if(s.size===0&&a.length>1){let e=[...a].reverse().filter(e=>!m.has(e)&&e.length>=3);for(let i of[...e.filter(e=>!h.has(e)),...e.filter(e=>h.has(e))]){let e=y(i,t,n,r);if(e.length)return e}}if(r&&s.size===0&&i.length>=3)for(let e of n)e.split(`-`).some(e=>_(i,e)<=(i.length>5?2:1))?c(e,40):i.length>=4&&v(i,e.replace(/-/g,``))&&c(e,20);let u=e=>{let t=f.indexOf(e);return t===-1?f.length:t};return Array.from(s.entries()).sort((e,t)=>t[1]-e[1]||u(e[0])-u(t[0])||e[0].length-t[0].length||e[0].localeCompare(t[0])).slice(0,t).map(([e])=>e)}function b(e){if(!e)return n.Ct;let t=e.trim(),r=n.t;return r[c(t)]||r[t]||n.Ct}function x({name:e,className:t}){return(0,i.createElement)(b(e),{className:t})}function S({label:e=`Icon`,hint:r=`Shown next to the name in the menu.`,value:o,onChange:s}){let[c,d]=(0,i.useState)(``),f=(o||``).trim(),p=(0,i.useMemo)(()=>y(c),[c]),m=c.trim().length>0;return(0,a.jsx)(t.i,{label:e,hint:r,children:(0,a.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,a.jsxs)(`div`,{className:t.l,children:[f&&!m?(0,a.jsxs)(`span`,{className:`inline-flex items-center gap-2 mr-2.5 shrink-0 min-w-0 text-accent`,children:[(0,a.jsx)(`span`,{className:`w-7 h-7 -ml-1 rounded-lg bg-accent/[0.08] border border-accent/25 flex items-center justify-center shrink-0`,children:(0,a.jsx)(x,{name:f,className:`w-4 h-4`})}),(0,a.jsx)(`span`,{className:`text-[13px] font-semibold truncate`,children:u(l(f))}),(0,a.jsx)(n.sn,{className:`w-3.5 h-3.5 shrink-0`})]}):(0,a.jsx)(n.F,{className:`w-4 h-4 mr-2.5 text-foreground/30 shrink-0`}),(0,a.jsx)(`input`,{type:`text`,value:c,onChange:e=>d(e.target.value),placeholder:f?`Type a word to change it`:`Type a word, e.g. calendar`,"aria-label":`Search icons`,className:`${t.p} no-glow`})]}),m&&(0,a.jsx)(`div`,{className:`rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] p-2 max-h-56 overflow-y-auto`,children:p.length>0?(0,a.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:p.map(e=>{let t=l(f).toLowerCase()===e;return(0,a.jsx)(`button`,{type:`button`,title:u(e),"aria-label":u(e),"aria-pressed":t,onClick:()=>{s(e),d(``)},className:`w-9 h-9 rounded-lg flex items-center justify-center transition-all cursor-pointer ${t?`bg-accent text-[var(--button-fg,#fff)] ring-2 ring-accent/40`:`text-foreground/60 hover:text-foreground hover:bg-foreground/[0.06]`}`,children:(0,a.jsx)(x,{name:e,className:`w-4 h-4`})},e)})}):(0,a.jsx)(`span`,{className:`block px-2 py-2 text-[12px] font-medium text-foreground/45`,children:`Nothing close to that. Try a simpler word, like calendar or people.`})})]})})}function C({name:e,glyph:t,label:n,open:r=!1,onClick:o,tone:s=`quiet`}){let c=e||!t?(0,a.jsx)(x,{name:e,className:`w-4 h-4`}):(0,i.createElement)(t,{className:`w-4 h-4`}),l=s===`accent`?`text-accent`:`text-foreground/60`;return o?(0,a.jsx)(`button`,{type:`button`,title:n,"aria-label":n,"aria-expanded":r,onClick:o,className:`w-8 h-8 shrink-0 rounded-xl border flex items-center justify-center transition-all cursor-pointer ${r?`border-accent/50 bg-accent/[0.08] text-accent`:`border-[var(--panel-border)] bg-foreground/[0.03] ${l} hover:border-accent/40 hover:text-accent`}`,children:c}):(0,a.jsx)(`span`,{"aria-hidden":`true`,className:`w-8 h-8 shrink-0 rounded-xl border border-transparent flex items-center justify-center ${s===`accent`?`text-accent/70`:`text-foreground/45`}`,children:c})}function w({label:e,hint:r,value:i,onPick:o,resetLabel:s,resetTitle:c,onReset:l}){return(0,a.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,a.jsx)(S,{label:e,hint:r,value:i,onChange:o}),l&&s&&(0,a.jsx)(t.o,{icon:n.o,compact:!0,title:c||s,onClick:l,children:s})]})}var T=/(<[A-Z][A-Za-z0-9]*(?:\s[^<>]*)?\/?>|src\/[A-Za-z0-9_./-]*[A-Za-z0-9_-]|'[A-Za-z0-9_@./-]+')/g,E=/(https?:\/\/[^\s]+)/g,D=e=>e.split(E).flatMap((e,t)=>t%2==1?[{text:e,kind:`value`}]:e.split(T).map((e,t)=>({text:e,kind:t%2==1?`code`:void 0}))).filter(e=>e.text),O=/exactly: |Here is (?:what|how) [^:]*: |It should ask for: |Where the form belongs on the page: |a button that says /,k=e=>{let t=O.exec(e);if(!t)return D(e);let n=t.index+t[0].length,r=e.slice(0,n),i=e.slice(n),a=i.indexOf(` — `);return[...D(r),{text:a===-1?i:i.slice(0,a),kind:`value`},...D(a===-1?``:i.slice(a))]},A=`text-accent font-semibold bg-accent/[0.08] rounded-[4px] px-1 -mx-[1px] [overflow-wrap:anywhere]`,j=`font-mono text-[0.92em] text-foreground/75 bg-foreground/[0.055] border border-[var(--panel-border)]/60 rounded-[4px] px-1 py-[1px] [overflow-wrap:anywhere]`;function M({text:e}){return(0,a.jsx)(a.Fragment,{children:k(e).map((e,t)=>e.kind?(0,a.jsx)(`span`,{className:e.kind===`value`?A:j,children:e.text},t):(0,a.jsx)(i.default.Fragment,{children:e.text},t))})}function N({title:e=`Ask your assistant`,description:t,prompt:r,compact:o=!1,locked:s=!1,busy:c=!1,onCopied:l}){let[u,d]=(0,i.useState)(!1),f=r.includes(`
|
|
2
|
+
`);return s?(0,a.jsx)(`div`,{className:`prompt-card`,hidden:!0}):(0,a.jsxs)(`div`,{className:`prompt-card flex flex-col gap-2 min-w-0 max-w-full rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] ${o?`px-4 py-3.5`:`px-5 py-4`}`,children:[(0,a.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,a.jsx)(`span`,{className:`text-[12px] font-extrabold tracking-tight text-gradient`,children:e}),(0,a.jsxs)(`button`,{type:`button`,onClick:()=>{c||(navigator.clipboard?.writeText(r),d(!0),setTimeout(()=>d(!1),2e3),l&&setTimeout(l,550))},disabled:c,"aria-busy":c||void 0,"aria-label":c?`Uploading`:u?`Copied`:`Copy`,title:c?`Wait for the picture to finish uploading`:void 0,className:`inline-flex items-center justify-center gap-1.5 h-8 w-8 px-0 sm:w-auto sm:px-3 rounded-[var(--btn-radius,0.75rem)] text-[12px] font-semibold shrink-0 border ${c?`border-[var(--panel-border)] text-foreground/45 cursor-wait`:u?`copy-btn-done border-emerald-500/30 bg-emerald-500/10 text-emerald-500 cursor-pointer`:`copy-btn cursor-pointer`}`,children:[c?(0,a.jsx)(n.ht,{className:`w-3.5 h-3.5 animate-spin`}):u?(0,a.jsx)(n.sn,{className:`copy-icon w-3.5 h-3.5`}):(0,a.jsx)(n.Jt,{className:`copy-icon w-3.5 h-3.5`}),(0,a.jsx)(`span`,{className:`max-sm:hidden`,children:c?`Uploading…`:u?`Copied`:`Copy`})]})]}),t&&(0,a.jsx)(`p`,{className:`text-[12.5px] text-foreground/50 font-medium leading-relaxed break-words`,children:t}),(0,a.jsx)(`div`,{className:`text-[13.5px] font-medium leading-relaxed break-words [overflow-wrap:anywhere]`,children:f?(0,a.jsx)(`div`,{className:`flex flex-col gap-2 text-foreground/80`,children:r.split(`
|
|
3
|
+
`).filter(e=>e.trim()).map((e,t)=>(0,a.jsx)(`p`,{className:`min-w-0`,children:(0,a.jsx)(M,{text:e})},t))}):(0,a.jsxs)(`p`,{className:`text-foreground/80`,children:[`“`,(0,a.jsx)(M,{text:r}),`”`]})})]})}var P=10,F=14,I=1024,L=.06,R=2,z=/^image\/(jpe?g|png|webp|avif)$/i,B=4e3;function V(e,t,n){if(!e||t<1||n<1||e.length<t*n*4)return null;let r=(e,n)=>(n*t+e)*4,i=[r(0,0),r(t-1,0),r(0,n-1),r(t-1,n-1)],a;if(i.some(t=>e[t+3]<=P))a=t=>e[t+3]<=P;else{let[t,n,r]=[0,1,2].map(t=>i.reduce((n,r)=>n+e[r+t],0)/i.length),o=i=>Math.abs(e[i]-t)<=F&&Math.abs(e[i+1]-n)<=F&&Math.abs(e[i+2]-r)<=F;if(!i.every(o))return null;a=e=>o(e)}let o=t,s=n,c=-1,l=-1;for(let e=0;e<n;e++)for(let n=0;n<t;n++)a(r(n,e))||(n<o&&(o=n),n>c&&(c=n),e<s&&(s=e),e>l&&(l=e));return c<0?null:{left:o,top:s,right:c+1,bottom:l+1}}function H(e,t,n,r=1){if(!e)return null;let i=Math.floor(e.left/r),a=Math.floor(e.top/r),o=Math.ceil(e.right/r),s=Math.ceil(e.bottom/r),c=Math.max(R,Math.round(L*Math.min(o-i,s-a))),l={left:Math.max(0,i-c),top:Math.max(0,a-c),right:Math.min(t,o+c),bottom:Math.min(n,s+c)};return(l.right-l.left)*(l.bottom-l.top)>=t*n*.97?null:l}var U=(e,t,n)=>new Promise(r=>{if(typeof e.toBlob!=`function`){r(null);return}e.toBlob(e=>r(e),t,n)}),W=(e,t)=>e.replace(/\.[a-z0-9]+$/i,``)+(t===`image/jpeg`?`.jpg`:`.png`);async function G(e){return!e||!z.test(e.type||``)||typeof document>`u`||typeof createImageBitmap!=`function`?e:new Promise(t=>{let n=setTimeout(()=>t(e),B);K(e).then(e=>{clearTimeout(n),t(e)},()=>{clearTimeout(n),t(e)})})}var K=async e=>{try{let t=await createImageBitmap(e),{width:n,height:r}=t,i=()=>t.close?.();try{if(!n||!r)return e;let i=Math.min(1,I/Math.max(n,r)),a=document.createElement(`canvas`);a.width=Math.max(1,Math.round(n*i)),a.height=Math.max(1,Math.round(r*i));let o=a.getContext(`2d`,{willReadFrequently:!0});if(!o||typeof o.getImageData!=`function`)return e;o.drawImage(t,0,0,a.width,a.height);let s=o.getImageData(0,0,a.width,a.height).data,c=H(V(s,a.width,a.height),n,r,a.width/n);if(!c)return e;let l=document.createElement(`canvas`);l.width=c.right-c.left,l.height=c.bottom-c.top;let u=l.getContext(`2d`);if(!u)return e;u.drawImage(t,c.left,c.top,l.width,l.height,0,0,l.width,l.height);let d=/jpe?g$/i.test(e.type)?`image/jpeg`:`image/png`,f=await U(l,d,d===`image/jpeg`?.92:void 0);return f?new File([f],W(e.name,d),{type:d,lastModified:Date.now()}):e}finally{i()}}catch{return e}},q=`w-11 h-11 shrink-0 rounded-[var(--input-radius,0.75rem)] overflow-hidden border border-[var(--panel-border)]`,J=`h-11 min-w-11 max-w-[9rem] shrink-0 rounded-[var(--input-radius,0.75rem)] overflow-hidden border border-[var(--panel-border)] bg-[var(--panel-bg)]`,Y=e=>{try{return r.b(decodeURIComponent(new URL(e).pathname).split(`/`).pop()||``).replace(/^\d{10,}_/,``)||`Your picture`}catch{return`Your picture`}};function X({label:e,hint:r,value:o,onChange:s,accept:c=`image/*`,action:l,clearable:u=!0,tips:d,onBusyChange:f,whole:p=!1,trim:m=!1}){let{user:h}=t.dr(),[g,_]=(0,i.useState)(!1),[v,y]=(0,i.useState)(``),[b,x]=(0,i.useState)(!1),[S,C]=(0,i.useState)(!1),w=async e=>{if(!g){_(!0),f?.(!0),y(``);try{s(await t.Kn(m?await G(e):e,h))}catch(e){y(t.Wn(e))}_(!1),f?.(!1),C(!1)}},T=e=>{let t=e.target.files?.[0];e.target.value=``,t&&w(t)},{over:E,dropProps:D}=t.Fn({accept:c,disabled:g,onFiles:([e])=>w(e),onReject:()=>y(c.startsWith(`image`)?`That is not a picture — drop a JPG or a PNG.`:`That kind of file does not go here.`)}),O=(0,a.jsx)(`input`,{type:`file`,accept:c,"aria-label":o?`Replace ${e}`:`Upload ${e}`,disabled:g,onChange:T,className:`sr-only`});return(0,a.jsxs)(t.i,{label:e,hint:r,error:v,action:l,children:[(0,a.jsx)(`div`,{...D,className:`min-w-0`,children:o&&!g?(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`div`,{className:`${t.l} min-w-0 ${E?`border-accent bg-accent/[0.04]`:``}`,children:(0,a.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-[14px] select-none ${E?`text-accent`:`text-foreground/60`}`,children:E?`Drop it to replace this one`:Y(o)})}),(0,a.jsxs)(`div`,{className:`${p?J:q} relative group/pic`,children:[(0,a.jsx)(`button`,{type:`button`,onClick:()=>C(e=>!e),"aria-label":`Change ${e}`,"aria-expanded":S,className:`block w-full h-full cursor-pointer`,children:p?(0,a.jsx)(t.Nn,{src:o,alt:e,fit:`contain`,className:`h-11 w-auto max-w-[9rem] mx-auto`}):(0,a.jsx)(t.Nn,{src:o,alt:e,className:`w-full h-full`})}),(0,a.jsxs)(`div`,{className:`absolute inset-0 flex items-center justify-center gap-1 bg-background/85 transition-opacity duration-200 ${S?`opacity-100`:`opacity-0 pointer-events-none group-hover/pic:opacity-100 group-hover/pic:pointer-events-auto focus-within:opacity-100 focus-within:pointer-events-auto`}`,children:[(0,a.jsxs)(`label`,{title:`Replace ${e}`,className:`w-6 h-6 rounded-md flex items-center justify-center text-foreground/60 hover:text-accent hover:bg-foreground/10 transition-colors cursor-pointer`,children:[(0,a.jsx)(n.Xt,{className:`w-3.5 h-3.5`}),O]}),u&&(0,a.jsx)(`button`,{type:`button`,onClick:()=>{y(``),C(!1),s(``)},"aria-label":`Remove ${e}`,title:`Remove ${e}`,className:`w-6 h-6 rounded-md flex items-center justify-center text-foreground/60 hover:text-red-500 hover:bg-red-500/10 transition-colors cursor-pointer`,children:(0,a.jsx)(n.o,{className:`w-3.5 h-3.5`})})]})]})]}):(0,a.jsxs)(`label`,{title:`Upload ${e}`,className:`group/up flex items-center gap-2 ${g?`pointer-events-none`:`cursor-pointer`}`,children:[(0,a.jsx)(`span`,{className:`${t.l} select-none text-[14px] truncate ${E?`border-accent bg-accent/[0.04] text-accent`:g?`text-foreground/50`:`text-foreground/35`} group-hover/up:border-accent/40 group-focus-within/up:border-accent`,children:E?`Drop it here`:g?`Uploading your picture…`:`Upload a picture, or drop one here`}),(0,a.jsx)(`span`,{"aria-hidden":!0,className:`${q} flex items-center justify-center bg-[var(--panel-bg)] ${E?`text-accent border-accent`:`text-foreground/40`} group-hover/up:text-accent group-hover/up:border-accent/40 transition-colors`,children:g?(0,a.jsx)(n.ht,{className:`w-4 h-4 animate-spin text-accent`}):(0,a.jsx)(n.Xt,{className:`w-4 h-4`})}),O]})}),!!d?.length&&(0,a.jsxs)(`div`,{className:`mt-2 px-1`,children:[(0,a.jsxs)(`button`,{type:`button`,onClick:()=>x(e=>!e),"aria-expanded":b,className:`inline-flex items-center gap-1 text-[11.5px] font-semibold text-foreground/40 hover:text-foreground/70 transition-colors cursor-pointer`,children:[(0,a.jsx)(n.in,{className:`w-3 h-3 shrink-0 transition-transform duration-200 ${b?`rotate-90`:``}`}),`Which picture should I upload?`]}),b&&(0,a.jsx)(`ul`,{className:`flex flex-col gap-1 mt-1.5 ml-4`,children:d.map(e=>(0,a.jsxs)(`li`,{className:`text-[11.5px] text-foreground/40 font-medium leading-snug flex gap-1.5`,children:[(0,a.jsx)(`span`,{"aria-hidden":!0,className:`text-accent/60`,children:`•`}),e]},e))})]})]})}var Z=[`A wide picture, not a square one — it sits in a short bar about 40px tall.`,`PNG with a see-through background looks right on both the light and the dark theme.`,`Empty space round the edges is cut off for you as it uploads; the logo itself is never cut.`],ee=[`A square picture — 64 by 64 is plenty.`,`One shape or one letter. A whole logo turns to mush at this size.`],te=.72;function Q(e){let t=(0,i.useRef)(null);return(0,i.useLayoutEffect)(()=>{let e=t.current,n=e?.parentElement;if(!e||!n)return;let r=()=>{e.style.removeProperty(`font-size`),e.removeAttribute(`data-fold`);let t=n.clientWidth,r=e.scrollWidth;if(!t||r<=t)return;let i=parseFloat(window.getComputedStyle(e).fontSize)||24,a=t/r;e.style.setProperty(`font-size`,`${(i*Math.max(a,te)).toFixed(2)}px`,`important`),a<.72&&e.setAttribute(`data-fold`,``)};if(r(),document.fonts?.ready.then(r).catch(()=>{}),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(r);return i.observe(n),()=>i.disconnect()},e),t}var $=({className:e,children:n,...r})=>(0,a.jsx)(`h1`,{ref:Q([n]),className:t.ir(`page-title w-fit inline-block tracking-tight mb-3 mt-1 text-gradient`,e),...r,children:n});$.displayName=`PageTitle`,Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return y}});
|