@donotdev/ui 0.0.9 → 0.0.11
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/crud/components/EntityCardList.d.ts +16 -0
- package/dist/crud/components/EntityCardList.d.ts.map +1 -0
- package/dist/crud/components/EntityCardList.js +175 -0
- package/dist/crud/components/EntityDisplayRenderer.d.ts +13 -21
- package/dist/crud/components/EntityDisplayRenderer.d.ts.map +1 -1
- package/dist/crud/components/EntityDisplayRenderer.js +138 -23
- package/dist/crud/components/EntityFormRenderer.d.ts +18 -0
- package/dist/crud/components/EntityFormRenderer.d.ts.map +1 -0
- package/dist/crud/components/EntityFormRenderer.js +275 -0
- package/dist/crud/components/EntityList.d.ts +14 -0
- package/dist/crud/components/EntityList.d.ts.map +1 -0
- package/dist/crud/components/EntityList.js +201 -0
- package/dist/crud/components/index.d.ts +7 -5
- package/dist/crud/components/index.d.ts.map +1 -1
- package/dist/crud/components/index.js +6 -5
- package/dist/dndev.css +467 -143
- package/dist/index.js +4 -64
- package/dist/internal/common/RouteErrorFallback.d.ts.map +1 -1
- package/dist/internal/common/RouteErrorFallback.js +1 -2
- package/dist/internal/layout/DnDevLayout.d.ts.map +1 -1
- package/dist/internal/layout/DnDevLayout.js +3 -2
- package/dist/internal/layout/components/AutoMetaTags.d.ts.map +1 -1
- package/dist/internal/layout/components/AutoMetaTags.js +36 -6
- package/dist/internal/layout/components/NextJsAutoMetaTags.d.ts.map +1 -1
- package/dist/internal/layout/components/NextJsAutoMetaTags.js +38 -10
- package/dist/internal/layout/components/footer/FooterBranding.d.ts +0 -2
- package/dist/internal/layout/components/footer/FooterBranding.d.ts.map +1 -1
- package/dist/internal/layout/components/footer/FooterBranding.js +4 -8
- package/dist/internal/layout/components/footer/FooterCopyright.d.ts +0 -2
- package/dist/internal/layout/components/footer/FooterCopyright.d.ts.map +1 -1
- package/dist/internal/layout/components/footer/FooterCopyright.js +2 -6
- package/dist/internal/layout/config/presets/moolti.js +2 -2
- package/dist/internal/layout/zones/DnDevFooter.d.ts.map +1 -1
- package/dist/internal/layout/zones/DnDevFooter.js +2 -2
- package/dist/routing/GoTo.d.ts +1 -1
- package/dist/routing/GoTo.d.ts.map +1 -1
- package/dist/routing/GoTo.js +1 -1
- package/dist/routing/hooks/hooks.next.js +1 -1
- package/dist/routing/hooks/hooks.vite.js +1 -1
- package/dist/routing/hooks/useFormNavigationBlocker.d.ts +14 -0
- package/dist/routing/hooks/useFormNavigationBlocker.d.ts.map +1 -0
- package/dist/routing/hooks/useFormNavigationBlocker.js +42 -0
- package/dist/routing/hooks/useNavigate.next.d.ts +1 -1
- package/dist/routing/hooks/useNavigate.next.d.ts.map +1 -1
- package/dist/routing/hooks/useNavigate.next.js +7 -1
- package/dist/routing/hooks/useNavigate.vite.d.ts +1 -1
- package/dist/routing/hooks/useNavigate.vite.d.ts.map +1 -1
- package/dist/routing/hooks/useNavigate.vite.js +7 -1
- package/dist/styles/index.css +467 -143
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/useFormStoreSafe.d.ts +59 -0
- package/dist/utils/useFormStoreSafe.d.ts.map +1 -0
- package/dist/utils/useFormStoreSafe.js +115 -0
- package/package.json +12 -12
- package/dist/crud/components/DisplayFieldRenderer.d.ts +0 -26
- package/dist/crud/components/DisplayFieldRenderer.d.ts.map +0 -1
- package/dist/crud/components/DisplayFieldRenderer.js +0 -107
- package/dist/crud/components/fields/display/AvatarFieldDisplay.d.ts +0 -23
- package/dist/crud/components/fields/display/AvatarFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/AvatarFieldDisplay.js +0 -38
- package/dist/crud/components/fields/display/BadgeFieldDisplay.d.ts +0 -21
- package/dist/crud/components/fields/display/BadgeFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/BadgeFieldDisplay.js +0 -31
- package/dist/crud/components/fields/display/ButtonFieldDisplay.d.ts +0 -29
- package/dist/crud/components/fields/display/ButtonFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/ButtonFieldDisplay.js +0 -12
- package/dist/crud/components/fields/display/CheckboxFieldDisplay.d.ts +0 -21
- package/dist/crud/components/fields/display/CheckboxFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/CheckboxFieldDisplay.js +0 -27
- package/dist/crud/components/fields/display/DateFieldDisplay.d.ts +0 -24
- package/dist/crud/components/fields/display/DateFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/DateFieldDisplay.js +0 -42
- package/dist/crud/components/fields/display/DropdownDisplay.d.ts +0 -21
- package/dist/crud/components/fields/display/DropdownDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/DropdownDisplay.js +0 -25
- package/dist/crud/components/fields/display/FileFieldDisplay.d.ts +0 -21
- package/dist/crud/components/fields/display/FileFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/FileFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.d.ts +0 -25
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/HiddenFieldDisplay.d.ts +0 -30
- package/dist/crud/components/fields/display/HiddenFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/HiddenFieldDisplay.js +0 -12
- package/dist/crud/components/fields/display/ImageFieldDisplay.d.ts +0 -24
- package/dist/crud/components/fields/display/ImageFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/ImageFieldDisplay.js +0 -38
- package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/LinkFieldDisplay.js +0 -47
- package/dist/crud/components/fields/display/MapFieldDisplay.d.ts +0 -25
- package/dist/crud/components/fields/display/MapFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/MapFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/MultiDropdownDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/MultiDropdownDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/MultiDropdownDisplay.js +0 -25
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts +0 -24
- package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/NumberFieldDisplay.js +0 -29
- package/dist/crud/components/fields/display/PasswordFieldDisplay.d.ts +0 -24
- package/dist/crud/components/fields/display/PasswordFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/PasswordFieldDisplay.js +0 -31
- package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/PhoneNumberDisplay.js +0 -26
- package/dist/crud/components/fields/display/RadioFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/RadioFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/RadioFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/RangeFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/RangeFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/RangeFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.js +0 -26
- package/dist/crud/components/fields/display/RichTextDisplay.d.ts +0 -25
- package/dist/crud/components/fields/display/RichTextDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/RichTextDisplay.js +0 -104
- package/dist/crud/components/fields/display/TextAreaDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/TextAreaDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/TextAreaDisplay.js +0 -25
- package/dist/crud/components/fields/display/TextFieldDisplay.d.ts +0 -42
- package/dist/crud/components/fields/display/TextFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/TextFieldDisplay.js +0 -97
- package/dist/crud/components/fields/display/TimestampFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/TimestampFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/TimestampFieldDisplay.js +0 -33
- package/dist/crud/components/fields/display/index.d.ts +0 -32
- package/dist/crud/components/fields/display/index.d.ts.map +0 -1
- package/dist/crud/components/fields/display/index.js +0 -32
package/dist/index.js
CHANGED
|
@@ -1,65 +1,5 @@
|
|
|
1
|
-
"use client";var Ro=Object.defineProperty;var Ar=(t,e,o)=>e in t?Ro(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var pe=(t,e)=>()=>(t&&(e=t(t=0)),e);var Lo=(t,e)=>{for(var o in e)Ro(t,o,{get:e[o],enumerable:!0})};var Ge=(t,e,o)=>Ar(t,typeof e!="symbol"?e+"":e,o);import*as He from"lucide-react";import{isValidElement as Ir}from"react";import{cn as ht}from"@donotdev/components";import{jsx as Se}from"react/jsx-runtime";function Fr(t){if(!t)return He.Palette;let e=t.replace(/['"]/g,"");return He[e]||He.Palette}var L,Rr,re=pe(()=>{"use strict";L=({icon:t,fallback:e,className:o,ariaHidden:n=!1})=>{let r=t||e;if(!r)return null;let a="dndev-size-md";if(typeof r=="function"||typeof r=="object"&&r!==null&&"render"in r)return Se(r,{className:ht(a,o),style:{flexShrink:0},"aria-hidden":n});if(typeof r=="string"){if(!/^[a-zA-Z0-9_-]+$/.test(r))return Se("span",{className:ht(a,o),style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r});let l=Fr(r);return Se(l,{className:ht(a,o),style:{flexShrink:0},"aria-hidden":n})}return Ir(r)?Se("span",{className:o,style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r}):Se("span",{className:o,style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r})},Rr=L});import*as Vr from"@donotdev/auth";import{DEGRADED_AUTH_API as Gr}from"@donotdev/core";function Hr(t){return Gr[t]}function k(t){return vt?vt(t):Hr(t)}var vt,iu,ke=pe(()=>{"use strict";vt=Vr?.useAuth;iu=typeof vt=="function"});var Tt={};Lo(Tt,{default:()=>oa});import{Cookie as bt,Settings as _r,Shield as $r,BarChart3 as Wr,Target as Kr}from"lucide-react";import{useState as xt,useEffect as $e,useRef as Yr}from"react";import{Accordion as qr,Button as we,BUTTON_VARIANT as We,Card as zo,Switch as Zr,Text as Ne,cn as Jr,Stack as J}from"@donotdev/components";import{handleError as Qr,useConsent as ae,getCookieExamples as Ke,hasOptionalCookies as Xr}from"@donotdev/core";import{CONSENT_CATEGORY as ie}from"@donotdev/core";import{useTranslation as jr}from"@donotdev/core";import{isClient as ea}from"@donotdev/core";import{Fragment as na,jsx as P,jsxs as Q}from"react/jsx-runtime";function ta({position:t="bottom",showBranding:e=!0,brandingText:o="Powered by DoNotDev Framework",className:n=""}){let r=ae("hasConsented"),a=ae("categories"),i=ae("acceptAll"),c=ae("declineAll"),l=ae("updateCategory"),p=ae("showBanner"),m=ae("showCookieBanner"),{t:s}=jr("cookies"),[g,d]=xt(!1),[u,f]=xt(!r||p),[y,v]=xt(a),h=Yr(null);$e(()=>{p&&f(!0)},[p]);let S=Object.keys(a),w=[{id:ie.NECESSARY,icon:$r,title:s("essentialCookies"),description:s("essentialDescription"),examples:Ke("necessary")||s("essentialExamples"),locked:!0},{id:ie.FUNCTIONAL,icon:bt,title:s("functionalCookies"),description:s("functionalDescription"),examples:Ke("functional")||s("functionalExamples"),legalNotice:s("functionalLegalNotice"),locked:!1},{id:ie.ANALYTICS,icon:Wr,title:s("analyticsCookies"),description:s("analyticsDescription"),examples:Ke("analytics")||s("analyticsExamples"),locked:!1},{id:ie.MARKETING,icon:Kr,title:s("marketingCookies"),description:s("marketingDescription"),examples:Ke("marketing")||s("marketingExamples"),locked:!1}].filter(b=>S.includes(b.id)),U=Xr();if($e(()=>{!r&&!U&&i()},[r,U,i]),$e(()=>{let b={...a};if(g){let E=b;Object.keys(E).forEach(B=>{B!==ie.NECESSARY&&E[B]===!1&&(E[B]=!0)})}v(b)},[a,g]),$e(()=>{if(!ea()||r||!u)return;let b=B=>{h.current&&!h.current.contains(B.target)&&f(!1)},E=setTimeout(()=>{document.addEventListener("mousedown",b)},100);return()=>{clearTimeout(E),document.removeEventListener("mousedown",b)}},[r,u]),r&&!p)return null;let V=()=>{try{Object.entries(y).forEach(([b,E])=>{if(b!==ie.NECESSARY&&E!==void 0){let B=b;Object.values(ie).includes(B)&&l(B,!!E)}}),d(!1),f(!1)}catch(b){Qr(b,{userMessage:"Error saving preferences",context:{operation:"save_preferences"},severity:"warning",log:!0,reportToSentry:!1,showNotification:!1})}},ne=()=>{i(),f(!1)},Y=()=>{c(),f(!1)},N=Q(J,{gap:"medium",children:[P(Ne,{as:"p",variant:"muted",level:"small",children:s("cookieBannerDescription")}),U&&P(qr,{type:"single",collapsible:!0,value:g?"preferences":"",onValueChange:b=>d(b==="preferences"),items:[{value:"preferences",trigger:Q(J,{direction:"row",align:"center",gap:"tight",children:[P(_r,{className:"dndev-size-md"}),s("customize")]}),content:P(J,{gap:"medium",children:w.map(b=>{let E=b.icon,B=y[b.id]??!1;return P(zo,{content:Q(J,{direction:"row",align:"center",justify:"between",gap:"medium",children:[Q(J,{direction:"row",align:"start",gap:"tight",style:{flex:1},children:[P(E,{className:"dndev-size-md",style:{color:"var(--primary)",marginTop:"0.125rem"}}),Q(J,{gap:"tight",children:[P(Ne,{as:"span",level:"body",style:{fontWeight:600},children:b.title}),P(Ne,{as:"span",variant:"muted",level:"small",children:b.description}),b.examples&&P(Ne,{as:"span",variant:"muted",level:"small",style:{fontStyle:"italic"},children:b.examples})]})]}),b.locked?P(Ne,{as:"span",variant:"muted",level:"small",children:s("alwaysOn")}):P(Zr,{checked:B,onCheckedChange:Ce=>v(Pr=>({...Pr,[b.id]:Ce}))})]})},b.id)})})}]})]}),x=g?Q(J,{direction:"row",gap:"tight",style:{width:"100%"},children:[P(we,{onClick:V,variant:We.DEFAULT,style:{flex:1},children:s("savePreferences","Save Preferences")}),P(we,{onClick:()=>d(!1),variant:We.OUTLINE,style:{flex:1},children:s("form.cancel","Cancel")})]}):Q(J,{direction:"row",gap:"tight",style:{width:"100%"},children:[P(we,{onClick:ne,variant:We.DEFAULT,style:{flex:1},children:s("acceptAll")}),U&&P(we,{onClick:Y,variant:We.OUTLINE,style:{flex:1},children:s("declineOptional")})]});return Q(na,{children:[u&&P(zo,{ref:h,className:Jr("dndev-fixed dndev-z-modal",n),icon:bt,title:s("cookiePreferences"),content:N,footer:x,style:{[t==="top"?"top":"bottom"]:"var(--gap-md)",left:"var(--gap-md)",right:"var(--gap-md)",maxWidth:"100%",width:"calc(100% - var(--gap-md) * 2)"}}),!u&&!r&&P(we,{onClick:()=>f(!0),className:"dndev-fixed dndev-z-toast",style:{bottom:"var(--gap-md)",left:"var(--gap-md)"},icon:bt,title:s("cookiePreferences")})]})}var oa,Ct=pe(()=>{"use strict";oa=ta});import{useMemo as Xa}from"react";import{useNavigationStore as ja}from"@donotdev/core";import{USER_ROLES as ei}from"@donotdev/core";import{useLocation as ti}from"@donotdev/ui/routing/hooks";function _(){let t=ti(),e=k("user"),o=!!e,n=e?.role||ei.GUEST,r=ja(a=>!a||typeof a.getFilteredRoutes!="function"?[]:a.getFilteredRoutes({authenticated:o,role:n}));return Xa(()=>Array.isArray(r)?r.map(a=>({...a,isActive:oi(a.path,t.pathname),hasChildren:!1,children:void 0})).sort((a,i)=>a.label.localeCompare(i.label)):[],[r,t.pathname])}function oi(t,e){return t==="/"?e==="/":e===t?!0:e.startsWith(t+"/")}var ye=pe(()=>{"use strict";ke()});import{useCallback as Je,useMemo as Ko}from"react";import{useNavigationStore as Ae}from"@donotdev/core";import{useNavigate as ni}from"@donotdev/ui/routing/hooks";var Yo,Nt=pe(()=>{"use strict";ye();Yo=()=>{let t=ni(),e=_()??[],o=Ae(d=>d.favorites),n=Ae(d=>d.recent),r=Ae(d=>d.toggleFavorite),a=Ae(d=>d.isFavorite),i=Ae(d=>d.addRecent),c=Ko(()=>e.length?e.filter(d=>o.includes(d.path)):[],[o,e]),l=Ko(()=>e.length?e.filter(u=>n.includes(u.path)).slice(0,5):[],[n,e]),p=Je(d=>{r(d)},[r]),m=Je(d=>a(d),[a]),s=Je(d=>{i(d)},[i]),g=Je(d=>{s(d),t(d)},[t,s]);return{navigationItems:e,favoriteItems:c,recentItems:l,toggleFavorite:p,isFavorite:m,navigateToItem:g}}});var Zo={};Lo(Zo,{default:()=>fi});import{Clock as ri,Link as ai,Star as ii}from"lucide-react";import{useCallback as qo,useEffect as si,useRef as li}from"react";import{Badge as ci,Command as pi,CommandDialog as di}from"@donotdev/components";import{useOverlayStore as Dt,useTranslation as mi}from"@donotdev/core";import{jsx as A,jsxs as he}from"react/jsx-runtime";var ui,gi,fi,Jo=pe(()=>{"use strict";Nt();re();ui=()=>{let{t}=mi("dndev"),e=li(null),o=Dt(u=>u.isCommandDialogOpen),n=Dt(u=>u.closeCommandDialog),{navigationItems:r,favoriteItems:a,recentItems:i,toggleFavorite:c,isFavorite:l,navigateToItem:p}=Yo();si(()=>{o&&requestAnimationFrame(()=>{e.current?.focus()})},[o]);let m=qo(u=>{p(u),n()},[p,n]),s=qo((u,f=!0)=>u.map(y=>({label:y.label,value:y.path,description:y.path!==y.label?y.path:void 0,icon:A(L,{icon:y.icon,fallback:ai}),badge:y.badge?A(ci,{children:y.badge}):void 0,onSelect:()=>m(y.path),rightSlot:f?A("button",{type:"button",onClick:v=>{v.stopPropagation(),c(y.path)},className:"dndev-command-favorite-button","data-favorited":l(y.path),"aria-label":l(y.path)?t("globalGoTo.unfavorite","Remove from favorites"):t("globalGoTo.favorite","Add to favorites"),children:A(L,{icon:ii,className:"dndev-size-sm"})}):void 0})),[m,c,l,t]),g=[];if(a.length>0&&g.push({heading:t("globalGoTo.favorites","Favorites"),items:s(a,!1)}),i.length>0){let u=i.flatMap(f=>s([f],!0)).map(f=>({...f,icon:A(L,{icon:ri,className:"dndev-size-sm"})}));u.length>0&&g.push({heading:t("globalGoTo.recent","Recent"),separator:a.length>0,items:u})}g.push({heading:t("globalGoTo.allPages","All Pages"),separator:a.length>0||i.length>0,items:s(r)});let d=r.length>0;return he(di,{open:o,onOpenChange:u=>u?null:n(),children:[A(pi,{placeholder:t("globalGoTo.placeholder","Search pages..."),emptyMessage:d?t("globalGoTo.noResults","No results found."):t("globalGoTo.empty","No pages available."),groups:g}),A("div",{className:"dndev-command-footer",children:he("div",{className:"dndev-command-footer-shortcuts",children:[he("div",{className:"dndev-command-footer-shortcut",children:[A("kbd",{className:"dndev-command-footer-key",children:"\u2318K"}),A("span",{children:t("globalGoTo.shortcutOpen","Open")})]}),he("div",{className:"dndev-command-footer-shortcut",children:[A("kbd",{className:"dndev-command-footer-key",children:"\u2191"}),A("kbd",{className:"dndev-command-footer-key",children:"\u2193"}),A("span",{children:t("globalGoTo.shortcutNavigate","Navigate")})]}),he("div",{className:"dndev-command-footer-shortcut",children:[A("kbd",{className:"dndev-command-footer-key",children:"\u21B5"}),A("span",{children:t("globalGoTo.shortcutSelect","Select")})]}),he("div",{className:"dndev-command-footer-shortcut",children:[A("kbd",{className:"dndev-command-footer-key",children:"Esc"}),A("span",{children:t("globalGoTo.shortcutClose","Close")})]})]})})]})},gi=()=>Dt(e=>e.isCommandDialogOpen)?A(ui,{}):null,fi=gi});import{User as Is}from"lucide-react";import{Suspense as Ot,lazy as un,useState as Fs}from"react";import{Button as Rs,BUTTON_VARIANT as Ls,DropdownMenu as Es,Dialog as Bs,DISPLAY as Ms}from"@donotdev/components";import{useTranslation as zs}from"@donotdev/core";import{useAuthConfig as Os}from"@donotdev/core";import{getEnabledAuthPartners as Us}from"@donotdev/core";import{User as is,LogOut as ss,Settings as Fe,UserCheck as ls,Trash2 as cs}from"lucide-react";import*as ps from"lucide-react";import tt,{useMemo as ds,lazy as pn,Suspense as cn}from"react";import{Avatar as ms,Button as us,BUTTON_VARIANT as gs,DropdownMenu as fs,Text as ys,DISPLAY as hs}from"@donotdev/components";import{useTranslation as vs}from"@donotdev/core";import{getEnabledAuthPartners as bs,useAuthConfig as xs,isClient as Ts}from"@donotdev/core";import{useBreakpoint as Cs}from"@donotdev/core";import{useNavigate as Ss}from"@donotdev/ui/routing/hooks";re();import{Link as Eo}from"lucide-react";import"react";import"@donotdev/components";import{useConsent as Lr}from"@donotdev/core";import{useNavigate as Er}from"@donotdev/ui/routing/hooks";import{Fragment as Br,jsx as de,jsxs as Bo}from"react/jsx-runtime";var C=({path:t,replace:e,prefetch:o=!0,children:n,icon:r,label:a,onClick:i,className:c,"aria-label":l,"aria-describedby":p,target:m,rel:s,...g})=>{let d=Er();if(t==="#cookie-settings"){let h=Lr("showCookieBanner");return Bo("a",{href:"#cookie-settings",onClick:w=>{w.preventDefault(),w.stopPropagation();try{h()}catch{}i&&i(w)},className:c,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0,...g.style},"aria-label":l||a||"Cookie Settings","aria-describedby":p,...g,children:[r&&de(L,{icon:r,fallback:Eo}),a&&de("span",{children:a}),n]})}let u=t.startsWith("http://")||t.startsWith("https://")||t.startsWith("mailto:")||t.startsWith("tel:"),f=h=>{if(u){i&&i(h);return}h.preventDefault(),i&&i(h);let S=t.startsWith("/")?t:`/${t}`;d(S,{replace:e})},y={"aria-label":l||a,"aria-describedby":p},v=Bo(Br,{children:[r&&de(L,{icon:r,fallback:Eo}),a&&de("span",{children:a}),n]});return u?de("a",{href:t,onClick:f,target:m||"_blank",rel:s||"noopener noreferrer",className:c,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0},...y,...g,children:v}):de("a",{href:t,onClick:f,className:c,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0},...y,...g,children:v})};import{useEffect as Oo,useState as ra,lazy as aa,Suspense as ia}from"react";import{Stack as Uo}from"@donotdev/components";import{FEATURE_STATUS as St,USER_ROLES as Ye,SUBSCRIPTION_TIERS as kt}from"@donotdev/core";import{useRedirectGuard as sa,useNavigate as la}from"@donotdev/ui/routing/hooks";import{RefreshCw as Mo}from"lucide-react";import"react";import{cn as Mr}from"@donotdev/components";import{jsx as me}from"react/jsx-runtime";var zr=({variant:t="fullPage",className:e})=>t==="inline"?me("div",{className:e,style:{display:"flex",alignItems:"center",justifyContent:"center"},children:me(Mo,{className:"dndev-size-md",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}})}):me("div",{className:Mr("dndev-loading-overlay",e),style:{position:"fixed",inset:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"var(--background)",backdropFilter:"blur(4px)",zIndex:50},role:"status","aria-busy":"true","aria-label":"Loading",children:me(Mo,{className:"dndev-size-touch",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}})}),Or=({variant:t="fullPage",className:e,isLoading:o})=>o===!1?null:me(zr,{variant:t,className:e}),Ur=t=>me(Or,{...t}),_e=Ur;ke();import{Fragment as Vo,jsx as F,jsxs as Go}from"react/jsx-runtime";var ca=aa(()=>Promise.resolve().then(()=>(Ct(),Tt)));function pa({auth:t,children:e,fallback:o=_e}){let n=la(),r=k("user"),a=k("can"),i=k("status"),[c,l]=ra(!1),{shouldRedirect:p,redirectTo:m,isChecking:s}=sa({auth:t});return Oo(()=>{let g=setTimeout(()=>{i===St.INITIALIZING&&l(!0)},5e3);return()=>clearTimeout(g)},[i]),Oo(()=>{p&&m&&n(m,{replace:!0})},[p,m,n]),t===!1?F(Vo,{children:e}):p||s?F(_e,{}):i===St.INITIALIZING&&c?F(Uo,{align:"center",justify:"center",style:{padding:"var(--gap-md)",minHeight:"100vh"},children:Go("div",{className:"dndev-w-full",style:{maxWidth:"28rem",textAlign:"center"},children:[F("h2",{style:{marginBottom:"var(--gap-md)"},children:"Loading is taking longer than usual"}),F("p",{style:{marginBottom:"var(--gap-md)",color:"var(--muted-foreground)"},children:"This might be due to a slow connection. Please wait or try refreshing the page."}),F("button",{onClick:()=>window.location.reload(),style:{padding:"var(--gap-sm) var(--gap-md)",backgroundColor:"var(--primary)",color:"var(--primary-foreground)",border:"none",borderRadius:"var(--radius)",cursor:"pointer"},children:"Refresh Page"})]})}):i===St.INITIALIZING?F(o,{}):t&&typeof t=="object"&&t.required&&!r&&a&&!a.navigate(t)?F(Uo,{align:"center",justify:"center",style:{padding:"var(--gap-md)",minHeight:"100vh"},children:Go("div",{className:"dndev-w-full",style:{maxWidth:"28rem"},children:[F("h2",{style:{marginBottom:"var(--gap-md)"},children:"Authentication Required"}),F("p",{style:{marginBottom:"var(--gap-md)"},children:"This page requires authentication. Please accept functional cookies to continue."}),F(ia,{fallback:F("div",{children:"Loading consent..."}),children:F(ca,{})})]})}):F(Vo,{children:e})}function da(t){return k("can")?.navigate(t)??!1}var Su=da;function ku(){return k("user")?.role||Ye.GUEST}function wu(t){return k("user")?.role===t}function Nu(){let t=k("user"),e=k("userSubscription"),o=k("loading");return{authenticated:!!t,role:t?.role,tier:e?.tier||"free",loading:o,userId:t?.id}}function Du(t,e){return n=>F(pa,{auth:e,children:F(t,{...n})})}var Pu={public:()=>!1,required:()=>({required:!0}),user:()=>({required:!0,role:Ye.USER}),admin:()=>({required:!0,role:Ye.ADMIN}),tier:t=>({required:!0,tier:t}),pro:()=>({required:!0,tier:kt.PRO}),premium:()=>({required:!0,tier:kt.PREMIUM}),adminPro:()=>({required:!0,role:Ye.ADMIN,tier:kt.PRO}),custom:t=>({required:!0,validate:t})};import{ArrowLeft as Fa,Lock as Ra}from"lucide-react";import{Suspense as La,lazy as Ea}from"react";import{Card as Ba,Button as Ma,Separator as za,Stack as fe,cn as Oa}from"@donotdev/components";import{useTranslation as Ua}from"@donotdev/core";import"@donotdev/core";import{useLocation as Va,useBack as Ga}from"@donotdev/ui/routing/hooks";import{Suspense as Aa}from"react";import{cn as Ia}from"@donotdev/components";import{Component as ma}from"react";import{handleError as ua}from"@donotdev/core";var wt=class extends ma{constructor(o){super(o);Ge(this,"resetError",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(o){return{hasError:!0,error:o}}componentDidCatch(o,n){ua(o,{userMessage:`A ${this.props.level||"component"} error occurred`,context:{errorInfo:n,component:"DnDevErrorBoundary",level:this.props.level||"component"},showNotification:!1})}render(){return this.state.hasError?this.props.fallback({error:this.state.error,resetError:this.resetError,componentStack:null,eventId:null}):this.props.children}},Ho=wt;import{AlertTriangle as ga,Home as fa,ArrowLeft as ya,RotateCw as ha,Copy as va,Check as ba}from"lucide-react";import{useEffect as xa,useState as Ta}from"react";import{Button as qe,BUTTON_VARIANT as Ze,Card as _o,CARD_VARIANT as $o,Alert as Ca,ALERT_VARIANT as Sa,Stack as ue}from"@donotdev/components";import{handleError as ka,useTranslation as wa}from"@donotdev/core";import{useLocation as Na,useBack as Da}from"@donotdev/ui/routing/hooks";import{jsx as R,jsxs as se}from"react/jsx-runtime";var Pa=({error:t,resetError:e,componentStack:o,eventId:n})=>{let{t:r}=wa("dndev"),[a,i]=Ta(!1),c=Da(),p=Na()?.pathname||(typeof window<"u"?window.location.pathname:"/"),m=t instanceof Error?t.message:"Unknown error",s=t instanceof Error?t.stack:void 0,g=!1;xa(()=>{try{ka(t,{userMessage:"Page encountered an error",context:{component:"RouteErrorFallback",location:p}})}catch{}},[t,p]);let d=async()=>{if(!s)return;let y=[`Error: ${m}`,`Timestamp: ${new Date().toISOString()}`,`User Agent: ${navigator.userAgent}`,n?`Event ID: ${n}`:null,`Path: ${p}`,"","Stack Trace:",s,o?`
|
|
1
|
+
"use client";var Oo=Object.defineProperty;var Nr=(e,t,o)=>t in e?Oo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var Ae=(e,t)=>()=>(e&&(t=e(e=0)),t);var zo=(e,t)=>{for(var o in t)Oo(e,o,{get:t[o],enumerable:!0})};var at=(e,t,o)=>Nr(e,typeof t!="symbol"?t+"":t,o);import*as it from"lucide-react";import{isValidElement as Ar}from"react";import{cn as Vt}from"@donotdev/components";import{jsx as He}from"react/jsx-runtime";function Pr(e){if(!e)return it.Palette;let t=e.replace(/['"]/g,"");return it[t]||it.Palette}var W,Lr,be=Ae(()=>{"use strict";W=({icon:e,fallback:t,className:o,ariaHidden:n=!1})=>{let r=e||t;if(!r)return null;let a="dndev-size-md";if(typeof r=="function"||typeof r=="object"&&r!==null&&"render"in r)return He(r,{className:Vt(a,o),style:{flexShrink:0},"aria-hidden":n});if(typeof r=="string"){if(!/^[a-zA-Z0-9_-]+$/.test(r))return He("span",{className:Vt(a,o),style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r});let l=Pr(r);return He(l,{className:Vt(a,o),style:{flexShrink:0},"aria-hidden":n})}return Ar(r)?He("span",{className:o,style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r}):He("span",{className:o,style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r})},Lr=W});import*as zr from"@donotdev/auth";import{DEGRADED_AUTH_API as Vr}from"@donotdev/core";function Ur(e){return Vr[e]}function R(e){return Ut?Ut(e):Ur(e)}var Ut,Ip,_e=Ae(()=>{"use strict";Ut=zr?.useAuth;Ip=typeof Ut=="function"});var _t={};zo(_t,{default:()=>ea});import{Cookie as Gt,Settings as Gr,Shield as Hr,BarChart3 as _r,Target as $r}from"lucide-react";import{useState as Ht,useEffect as lt,useRef as Wr}from"react";import{Accordion as Kr,Button as $e,BUTTON_VARIANT as ct,Card as Ho,Switch as Yr,Text as We,cn as qr,Stack as pe}from"@donotdev/components";import{handleError as jr,useConsent as Se,getCookieExamples as dt,hasOptionalCookies as Zr}from"@donotdev/core";import{CONSENT_CATEGORY as Ce}from"@donotdev/core";import{useTranslation as Jr}from"@donotdev/core";import{isClient as Qr}from"@donotdev/core";import{Fragment as ta,jsx as z,jsxs as me}from"react/jsx-runtime";function Xr({position:e="bottom",showBranding:t=!0,brandingText:o="Powered by DoNotDev Framework",className:n=""}){let r=Se("hasConsented"),a=Se("categories"),i=Se("acceptAll"),c=Se("declineAll"),l=Se("updateCategory"),d=Se("showBanner"),u=Se("showCookieBanner"),{t:s}=Jr("cookies"),[g,p]=Ht(!1),[m,f]=Ht(!r||d),[h,C]=Ht(a),v=Wr(null);lt(()=>{d&&f(!0)},[d]);let k=Object.keys(a),x=[{id:Ce.NECESSARY,icon:Hr,title:s("essentialCookies"),description:s("essentialDescription"),examples:dt("necessary")||s("essentialExamples"),locked:!0},{id:Ce.FUNCTIONAL,icon:Gt,title:s("functionalCookies"),description:s("functionalDescription"),examples:dt("functional")||s("functionalExamples"),legalNotice:s("functionalLegalNotice"),locked:!1},{id:Ce.ANALYTICS,icon:_r,title:s("analyticsCookies"),description:s("analyticsDescription"),examples:dt("analytics")||s("analyticsExamples"),locked:!1},{id:Ce.MARKETING,icon:$r,title:s("marketingCookies"),description:s("marketingDescription"),examples:dt("marketing")||s("marketingExamples"),locked:!1}].filter(S=>k.includes(S.id)),I=Zr();if(lt(()=>{!r&&!I&&i()},[r,I,i]),lt(()=>{let S={...a};if(g){let y=S;Object.keys(y).forEach(N=>{N!==Ce.NECESSARY&&y[N]===!1&&(y[N]=!0)})}C(S)},[a,g]),lt(()=>{if(!Qr()||r||!m)return;let S=N=>{v.current&&!v.current.contains(N.target)&&f(!1)},y=setTimeout(()=>{document.addEventListener("mousedown",S)},100);return()=>{clearTimeout(y),document.removeEventListener("mousedown",S)}},[r,m]),r&&!d)return null;let T=()=>{try{Object.entries(h).forEach(([S,y])=>{if(S!==Ce.NECESSARY&&y!==void 0){let N=S;Object.values(Ce).includes(N)&&l(N,!!y)}}),p(!1),f(!1)}catch(S){jr(S,{userMessage:"Error saving preferences",context:{operation:"save_preferences"},severity:"warning",log:!0,reportToSentry:!1,showNotification:!1})}},D=()=>{i(),f(!1)},L=()=>{c(),f(!1)},w=me(pe,{gap:"medium",children:[z(We,{as:"p",variant:"muted",level:"small",children:s("cookieBannerDescription")}),I&&z(Kr,{type:"single",collapsible:!0,value:g?"preferences":"",onValueChange:S=>p(S==="preferences"),items:[{value:"preferences",trigger:me(pe,{direction:"row",align:"center",gap:"tight",children:[z(Gr,{className:"dndev-size-md"}),s("customize")]}),content:z(pe,{gap:"medium",children:x.map(S=>{let y=S.icon,N=h[S.id]??!1;return z(Ho,{content:me(pe,{direction:"row",align:"center",justify:"between",gap:"medium",children:[me(pe,{direction:"row",align:"start",gap:"tight",style:{flex:1},children:[z(y,{className:"dndev-size-md",style:{color:"var(--primary)",marginTop:"0.125rem"}}),me(pe,{gap:"tight",children:[z(We,{as:"span",level:"body",style:{fontWeight:600},children:S.title}),z(We,{as:"span",variant:"muted",level:"small",children:S.description}),S.examples&&z(We,{as:"span",variant:"muted",level:"small",style:{fontStyle:"italic"},children:S.examples})]})]}),S.locked?z(We,{as:"span",variant:"muted",level:"small",children:s("alwaysOn")}):z(Yr,{checked:N,onCheckedChange:F=>C(B=>({...B,[S.id]:F}))})]})},S.id)})})}]})]}),b=g?me(pe,{direction:"row",gap:"tight",style:{width:"100%"},children:[z($e,{onClick:T,variant:ct.DEFAULT,style:{flex:1},children:s("savePreferences","Save Preferences")}),z($e,{onClick:()=>p(!1),variant:ct.OUTLINE,style:{flex:1},children:s("form.cancel","Cancel")})]}):me(pe,{direction:"row",gap:"tight",style:{width:"100%"},children:[z($e,{onClick:D,variant:ct.DEFAULT,style:{flex:1},children:s("acceptAll")}),I&&z($e,{onClick:L,variant:ct.OUTLINE,style:{flex:1},children:s("declineOptional")})]});return me(ta,{children:[m&&z(Ho,{ref:v,className:qr("dndev-fixed dndev-z-modal",n),icon:Gt,title:s("cookiePreferences"),content:w,footer:b,style:{[e==="top"?"top":"bottom"]:"var(--gap-md)",left:"var(--gap-md)",right:"var(--gap-md)",maxWidth:"100%",width:"calc(100% - var(--gap-md) * 2)"}}),!m&&!r&&z($e,{onClick:()=>f(!0),className:"dndev-fixed dndev-z-toast",style:{bottom:"var(--gap-md)",left:"var(--gap-md)"},icon:Gt,title:s("cookiePreferences")})]})}var ea,$t=Ae(()=>{"use strict";ea=Xr});import{useMemo as Za}from"react";import{useNavigationStore as Ja}from"@donotdev/core";import{USER_ROLES as Qa}from"@donotdev/core";import{useLocation as Xa}from"@donotdev/ui/routing/hooks";function te(){let e=Xa(),t=R("user"),o=!!t,n=t?.role||Qa.GUEST,r=Ja(a=>!a||typeof a.getFilteredRoutes!="function"?[]:a.getFilteredRoutes({authenticated:o,role:n}));return Za(()=>Array.isArray(r)?r.map(a=>({...a,isActive:ei(a.path,e.pathname),hasChildren:!1,children:void 0})).sort((a,i)=>a.label.localeCompare(i.label)):[],[r,e.pathname])}function ei(e,t){return e==="/"?t==="/":t===e?!0:t.startsWith(e+"/")}var Re=Ae(()=>{"use strict";_e()});import{useCallback as ft,useMemo as Jo}from"react";import{useNavigationStore as qe}from"@donotdev/core";import{useNavigate as ti}from"@donotdev/ui/routing/hooks";var Qo,qt=Ae(()=>{"use strict";Re();Qo=()=>{let e=ti(),t=te()??[],o=qe(p=>p.favorites),n=qe(p=>p.recent),r=qe(p=>p.toggleFavorite),a=qe(p=>p.isFavorite),i=qe(p=>p.addRecent),c=Jo(()=>t.length?t.filter(p=>o.includes(p.path)):[],[o,t]),l=Jo(()=>t.length?t.filter(m=>n.includes(m.path)).slice(0,5):[],[n,t]),d=ft(p=>{r(p)},[r]),u=ft(p=>a(p),[a]),s=ft(p=>{i(p)},[i]),g=ft(p=>{s(p),e(p)},[e,s]);return{navigationItems:t,favoriteItems:c,recentItems:l,toggleFavorite:d,isFavorite:u,navigateToItem:g}}});var en={};zo(en,{default:()=>mi});import{Clock as oi,Link as ni,Star as ri}from"lucide-react";import{useCallback as Xo,useEffect as ai,useRef as ii}from"react";import{Badge as si,Command as li,CommandDialog as ci}from"@donotdev/components";import{useOverlayStore as jt,useTranslation as di}from"@donotdev/core";import{jsx as V,jsxs as Fe}from"react/jsx-runtime";var ui,pi,mi,tn=Ae(()=>{"use strict";qt();be();ui=()=>{let{t:e}=di("dndev"),t=ii(null),o=jt(m=>m.isCommandDialogOpen),n=jt(m=>m.closeCommandDialog),{navigationItems:r,favoriteItems:a,recentItems:i,toggleFavorite:c,isFavorite:l,navigateToItem:d}=Qo();ai(()=>{o&&requestAnimationFrame(()=>{t.current?.focus()})},[o]);let u=Xo(m=>{d(m),n()},[d,n]),s=Xo((m,f=!0)=>m.map(h=>({label:h.label,value:h.path,description:h.path!==h.label?h.path:void 0,icon:V(W,{icon:h.icon,fallback:ni}),badge:h.badge?V(si,{children:h.badge}):void 0,onSelect:()=>u(h.path),rightSlot:f?V("button",{type:"button",onClick:C=>{C.stopPropagation(),c(h.path)},className:"dndev-command-favorite-button","data-favorited":l(h.path),"aria-label":l(h.path)?e("globalGoTo.unfavorite","Remove from favorites"):e("globalGoTo.favorite","Add to favorites"),children:V(W,{icon:ri,className:"dndev-size-sm"})}):void 0})),[u,c,l,e]),g=[];if(a.length>0&&g.push({heading:e("globalGoTo.favorites","Favorites"),items:s(a,!1)}),i.length>0){let m=i.flatMap(f=>s([f],!0)).map(f=>({...f,icon:V(W,{icon:oi,className:"dndev-size-sm"})}));m.length>0&&g.push({heading:e("globalGoTo.recent","Recent"),separator:a.length>0,items:m})}g.push({heading:e("globalGoTo.allPages","All Pages"),separator:a.length>0||i.length>0,items:s(r)});let p=r.length>0;return Fe(ci,{open:o,onOpenChange:m=>m?null:n(),children:[V(li,{placeholder:e("globalGoTo.placeholder","Search pages..."),emptyMessage:p?e("globalGoTo.noResults","No results found."):e("globalGoTo.empty","No pages available."),groups:g}),V("div",{className:"dndev-command-footer",children:Fe("div",{className:"dndev-command-footer-shortcuts",children:[Fe("div",{className:"dndev-command-footer-shortcut",children:[V("kbd",{className:"dndev-command-footer-key",children:"\u2318K"}),V("span",{children:e("globalGoTo.shortcutOpen","Open")})]}),Fe("div",{className:"dndev-command-footer-shortcut",children:[V("kbd",{className:"dndev-command-footer-key",children:"\u2191"}),V("kbd",{className:"dndev-command-footer-key",children:"\u2193"}),V("span",{children:e("globalGoTo.shortcutNavigate","Navigate")})]}),Fe("div",{className:"dndev-command-footer-shortcut",children:[V("kbd",{className:"dndev-command-footer-key",children:"\u21B5"}),V("span",{children:e("globalGoTo.shortcutSelect","Select")})]}),Fe("div",{className:"dndev-command-footer-shortcut",children:[V("kbd",{className:"dndev-command-footer-key",children:"Esc"}),V("span",{children:e("globalGoTo.shortcutClose","Close")})]})]})})]})},pi=()=>jt(t=>t.isCommandDialogOpen)?V(ui,{}):null,mi=pi});import{User as Ps}from"lucide-react";import{Suspense as so,lazy as bn,useState as Ls}from"react";import{Button as Es,BUTTON_VARIANT as Ds,DropdownMenu as Rs,Dialog as Fs,DISPLAY as Bs}from"@donotdev/components";import{useTranslation as Ms}from"@donotdev/core";import{useAuthConfig as Os}from"@donotdev/core";import{getEnabledAuthPartners as zs}from"@donotdev/core";import{User as as,LogOut as is,Settings as Ze,UserCheck as ss,Trash2 as ls}from"lucide-react";import*as cs from"lucide-react";import St,{useMemo as ds,lazy as hn,Suspense as fn}from"react";import{Avatar as us,Button as ps,BUTTON_VARIANT as ms,DropdownMenu as gs,Text as fs,DISPLAY as hs}from"@donotdev/components";import{useTranslation as vs}from"@donotdev/core";import{getEnabledAuthPartners as ys,useAuthConfig as bs,isClient as Ss}from"@donotdev/core";import{useBreakpoint as Cs}from"@donotdev/core";import{useNavigate as xs}from"@donotdev/ui/routing/hooks";be();import{Link as Vo}from"lucide-react";import"react";import"@donotdev/components";import{useConsent as Er}from"@donotdev/core";import{useNavigate as Dr}from"@donotdev/ui/routing/hooks";import{Fragment as Rr,jsx as Pe,jsxs as Uo}from"react/jsx-runtime";var A=({path:e,replace:t,prefetch:o=!0,children:n,icon:r,label:a,onClick:i,className:c,"aria-label":l,"aria-describedby":d,target:u,rel:s,...g})=>{let p=Dr();if(e==="#cookie-settings"){let v=Er("showCookieBanner");return Uo("a",{href:"#cookie-settings",onClick:x=>{x.preventDefault(),x.stopPropagation();try{v()}catch{}i&&i(x)},className:c,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0,...g.style},"aria-label":l||a||"Cookie Settings","aria-describedby":d,...g,children:[r&&Pe(W,{icon:r,fallback:Vo}),a&&Pe("span",{children:a}),n]})}let m=e.startsWith("http://")||e.startsWith("https://")||e.startsWith("mailto:")||e.startsWith("tel:"),f=v=>{if(m){i&&i(v);return}v.preventDefault(),i&&i(v);let k=e.startsWith("/")?e:`/${e}`;p(k,{replace:t})},h={"aria-label":l||a,"aria-describedby":d},C=Uo(Rr,{children:[r&&Pe(W,{icon:r,fallback:Vo}),a&&Pe("span",{children:a}),n]});return m?Pe("a",{href:e,onClick:f,target:u||"_blank",rel:s||"noopener noreferrer",className:c,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0},...h,...g,children:C}):Pe("a",{href:e,onClick:f,className:c,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0},...h,...g,children:C})};import{useEffect as _o,useState as oa,lazy as na,Suspense as ra}from"react";import{Stack as $o}from"@donotdev/components";import{FEATURE_STATUS as Wt,USER_ROLES as ut,SUBSCRIPTION_TIERS as Kt}from"@donotdev/core";import{useRedirectGuard as aa,useNavigate as ia}from"@donotdev/ui/routing/hooks";import{RefreshCw as Go}from"lucide-react";import"react";import{cn as Fr}from"@donotdev/components";import{jsx as Le}from"react/jsx-runtime";var Br=({variant:e="fullPage",className:t})=>e==="inline"?Le("div",{className:t,style:{display:"flex",alignItems:"center",justifyContent:"center"},children:Le(Go,{className:"dndev-size-md",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}})}):Le("div",{className:Fr("dndev-loading-overlay",t),style:{position:"fixed",inset:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"var(--background)",backdropFilter:"blur(4px)",zIndex:50},role:"status","aria-busy":"true","aria-label":"Loading",children:Le(Go,{className:"dndev-size-touch",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}})}),Mr=({variant:e="fullPage",className:t,isLoading:o})=>o===!1?null:Le(Br,{variant:e,className:t}),Or=e=>Le(Mr,{...e}),st=Or;_e();import{Fragment as Wo,jsx as H,jsxs as Ko}from"react/jsx-runtime";var sa=na(()=>Promise.resolve().then(()=>($t(),_t)));function la({auth:e,children:t,fallback:o=st}){let n=ia(),r=R("user"),a=R("can"),i=R("status"),[c,l]=oa(!1),{shouldRedirect:d,redirectTo:u,isChecking:s}=aa({auth:e});return _o(()=>{let g=setTimeout(()=>{i===Wt.INITIALIZING&&l(!0)},5e3);return()=>clearTimeout(g)},[i]),_o(()=>{d&&u&&n(u,{replace:!0})},[d,u,n]),e===!1?H(Wo,{children:t}):d||s?H(st,{}):i===Wt.INITIALIZING&&c?H($o,{align:"center",justify:"center",style:{padding:"var(--gap-md)",minHeight:"100vh"},children:Ko("div",{className:"dndev-w-full",style:{maxWidth:"28rem",textAlign:"center"},children:[H("h2",{style:{marginBottom:"var(--gap-md)"},children:"Loading is taking longer than usual"}),H("p",{style:{marginBottom:"var(--gap-md)",color:"var(--muted-foreground)"},children:"This might be due to a slow connection. Please wait or try refreshing the page."}),H("button",{onClick:()=>window.location.reload(),style:{padding:"var(--gap-sm) var(--gap-md)",backgroundColor:"var(--primary)",color:"var(--primary-foreground)",border:"none",borderRadius:"var(--radius)",cursor:"pointer"},children:"Refresh Page"})]})}):i===Wt.INITIALIZING?H(o,{}):e&&typeof e=="object"&&e.required&&!r&&a&&!a.navigate(e)?H($o,{align:"center",justify:"center",style:{padding:"var(--gap-md)",minHeight:"100vh"},children:Ko("div",{className:"dndev-w-full",style:{maxWidth:"28rem"},children:[H("h2",{style:{marginBottom:"var(--gap-md)"},children:"Authentication Required"}),H("p",{style:{marginBottom:"var(--gap-md)"},children:"This page requires authentication. Please accept functional cookies to continue."}),H(ra,{fallback:H("div",{children:"Loading consent..."}),children:H(sa,{})})]})}):H(Wo,{children:t})}function ca(e){return R("can")?.navigate(e)??!1}var _p=ca;function $p(){return R("user")?.role||ut.GUEST}function Wp(e){return R("user")?.role===e}function Kp(){let e=R("user"),t=R("userSubscription"),o=R("loading");return{authenticated:!!e,role:e?.role,tier:t?.tier||"free",loading:o,userId:e?.id}}function Yp(e,t){return n=>H(la,{auth:t,children:H(e,{...n})})}var qp={public:()=>!1,required:()=>({required:!0}),user:()=>({required:!0,role:ut.USER}),admin:()=>({required:!0,role:ut.ADMIN}),tier:e=>({required:!0,tier:e}),pro:()=>({required:!0,tier:Kt.PRO}),premium:()=>({required:!0,tier:Kt.PREMIUM}),adminPro:()=>({required:!0,role:ut.ADMIN,tier:Kt.PRO}),custom:e=>({required:!0,validate:e})};import{ArrowLeft as Pa,Lock as La}from"lucide-react";import{Suspense as Ea,lazy as Da}from"react";import{Card as Ra,Button as Fa,Separator as Ba,Stack as De,cn as Ma}from"@donotdev/components";import{useTranslation as Oa}from"@donotdev/core";import"@donotdev/core";import{useLocation as za,useBack as Va}from"@donotdev/ui/routing/hooks";import{Suspense as Na}from"react";import{cn as Aa}from"@donotdev/components";import{Component as da}from"react";import{handleError as ua}from"@donotdev/core";var Yt=class extends da{constructor(o){super(o);at(this,"resetError",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(o){return{hasError:!0,error:o}}componentDidCatch(o,n){ua(o,{userMessage:`A ${this.props.level||"component"} error occurred`,context:{errorInfo:n,component:"DnDevErrorBoundary",level:this.props.level||"component"},showNotification:!1})}render(){return this.state.hasError?this.props.fallback({error:this.state.error,resetError:this.resetError,componentStack:null,eventId:null}):this.props.children}},Yo=Yt;import{AlertTriangle as pa,Home as ma,ArrowLeft as ga,RotateCw as fa,Copy as ha,Check as va}from"lucide-react";import{useEffect as ya,useState as ba}from"react";import{Button as pt,BUTTON_VARIANT as mt,Card as qo,CARD_VARIANT as jo,Alert as Sa,ALERT_VARIANT as Ca,Stack as Ee}from"@donotdev/components";import{handleError as xa,useTranslation as Ta}from"@donotdev/core";import{useLocation as ka,useBack as wa}from"@donotdev/ui/routing/hooks";import{jsx as _,jsxs as xe}from"react/jsx-runtime";var Ia=({error:e,resetError:t,componentStack:o,eventId:n})=>{let{t:r}=Ta("dndev"),[a,i]=ba(!1),c=wa(),d=ka()?.pathname||(typeof window<"u"?window.location.pathname:"/"),u=e instanceof Error?e.message:"Unknown error",s=e instanceof Error?e.stack:void 0,g=!1;ya(()=>{try{xa(e,{userMessage:"Page encountered an error",context:{component:"RouteErrorFallback",location:d}})}catch{}},[e,d]);let p=async()=>{if(!s)return;let h=[`Error: ${u}`,`Timestamp: ${new Date().toISOString()}`,`User Agent: ${navigator.userAgent}`,n?`Event ID: ${n}`:null,`Path: ${d}`,"","Stack Trace:",s,o?`
|
|
2
2
|
Component Stack:`:null,o||null].filter(Boolean).join(`
|
|
3
|
-
`);try{await navigator.clipboard.writeText(y),i(!0),setTimeout(()=>i(!1),2e3)}catch{}},u=()=>{try{e()}catch{typeof window<"u"&&window.location.reload()}},f=()=>{try{c()}catch{typeof window<"u"&&window.history.back()}};return R(ge,{children:R(_o,{variant:$o.DEFAULT,elevated:!0,className:"dndev-w-full",style:{maxWidth:"65ch",margin:"0 auto"},children:se(ue,{gap:"large",align:"center",className:"dndev-text-center",children:[R(ue,{align:"center",justify:"center",style:{width:"5rem",height:"5rem",backgroundColor:"rgba(220, 38, 38, 0.1)",borderRadius:"50%",border:"1px solid var(--destructive)"},children:R(ga,{style:{width:"2.5rem",height:"2.5rem",color:"var(--destructive)"},"aria-hidden":"true"})}),se(ue,{gap:"medium",children:[R("h1",{className:"dndev-text-base","data-level":"h1",style:{fontSize:"var(--font-size-2xl)",fontWeight:"var(--font-weight-bold)",margin:0},children:r("routeError.title","Something went wrong")}),R("p",{className:"dndev-text-base",style:{fontSize:"var(--font-size-lg)",color:"var(--muted-foreground)",margin:0},children:r("routeError.description","We encountered an error while loading this page.")}),R(Ca,{variant:Sa.SUCCESS,hideIcon:!0,children:R("div",{style:{fontSize:"var(--font-size-sm)",textAlign:"center"},children:r("routeError.dataSafe","Don't worry, your data is safe.")})})]}),n&&se("code",{style:{padding:"var(--gap-sm) var(--gap-md)",background:"var(--muted)",borderRadius:"var(--radius-full)",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",color:"var(--foreground)"},children:[r("routeError.errorId","Error ID"),": ",n]}),g&&m&&se(_o,{variant:$o.MUTED,className:"dndev-w-full",children:[se(ue,{direction:"row",align:"center",justify:"between",gap:"medium",children:[R("span",{className:"dndev-text-base",style:{fontSize:"var(--font-size-sm)",fontWeight:"var(--font-weight-semibold)",color:"var(--destructive)"},children:"Error Message:"}),R(qe,{variant:Ze.GHOST,icon:a?ba:va,onClick:d,disabled:a,children:a?r("routeError.copied","Copied"):r("routeError.copyDetails","Copy Details")})]}),R("pre",{style:{fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",wordBreak:"break-word",whiteSpace:"pre-wrap",color:"var(--foreground)",margin:0,marginTop:"var(--gap-sm)"},children:m})]}),se(ue,{gap:"medium",className:"dndev-w-full",children:[R(qe,{variant:Ze.DESTRUCTIVE,icon:ha,onClick:u,fullWidth:!0,children:r("routeError.tryAgain","Try Again")}),se(ue,{direction:"row",gap:"medium",justify:"center",children:[R(C,{path:"/",children:R(qe,{variant:Ze.DEFAULT,icon:fa,fullWidth:!0,children:r("routeError.goHome","Go Home")})}),R(qe,{variant:Ze.OUTLINE,icon:ya,onClick:f,fullWidth:!0,children:r("routeError.goBack","Go Back")})]})]}),R("p",{className:"dndev-text-base",style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)",margin:0},children:r("routeError.contactSupport","If the problem persists, please contact support.")})]})})})},Wo=Pa;import{jsx as De}from"react/jsx-runtime";var ge=({variant:t="standard",density:e,className:o,children:n,centered:r=!0,gapFirst:a=!1})=>De(Ho,{level:"route",fallback:i=>De(Aa,{fallback:De("div",{children:"Loading error fallback..."}),children:De(Wo,{...i})}),children:De("div",{className:Ia("dndev-container",o),"data-variant":t,"data-density":e,"data-centered":r?"true":"false","data-gap-first":a?"true":void 0,children:n})});import{Fragment as _a,jsx as D,jsxs as Pe}from"react/jsx-runtime";var Ha=Ea(()=>import("@donotdev/auth").then(t=>({default:t.MultipleAuthProviders})));function s1({title:t,description:e,showBackButton:o=!0,onBack:n,className:r=""}){let{t:a}=Ua(["auth","common"]),i=Va(),c=Ga(),l=()=>{n?n():c()};return D(ge,{variant:"docs",children:D(fe,{align:"center",justify:"center",className:Oa("dndev-min-h-60",r),style:{paddingTop:"var(--gap-lg)",paddingBottom:"var(--gap-lg)"},children:D(Ba,{className:"dndev-w-full",style:{maxWidth:"28rem",border:"none",boxShadow:"var(--shadow-xl)"},title:Pe(fe,{gap:"medium",children:[D(fe,{justify:"center",children:D("div",{style:{borderRadius:"9999px",backgroundColor:"color-mix(in oklab, var(--primary) 10%, transparent)",padding:"var(--gap-md)"},children:D(Ra,{className:"dndev-size-touch",style:{color:"var(--primary)"}})})}),D("div",{style:{fontSize:"var(--font-size-2xl)",fontWeight:700},children:a("auth.fallback.title","Authentication Required")}),D("p",{style:{color:"var(--muted-foreground)"},children:a("auth.fallback.description","Please sign in to access this page")})]}),children:Pe(fe,{gap:"medium",children:[Pe(fe,{gap:"large",children:[D("div",{children:D("p",{style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:a("auth.fallback.chooseProvider")})}),D(La,{fallback:D("div",{children:"Loading providers..."}),children:D(Ha,{layout:"vertical",spacing:"tight",fullWidth:!0,ariaLabel:a("auth.fallback.authOptions")})})]}),o&&Pe(_a,{children:[D(za,{}),D("div",{children:D(Ma,{onClick:l,className:"dndev-gap-sm",icon:Fa,children:a("common.back")})})]}),Pe(fe,{gap:"tight",style:{fontSize:"var(--font-size-xs)",color:"var(--muted-foreground)"},children:[D("p",{children:a("auth.fallback.secure")}),D("p",{children:a("auth.fallback.terms")})]})]})})})})}import{Search as $a}from"lucide-react";import{Button as Wa,BUTTON_VARIANT as Ka,DISPLAY as Ya}from"@donotdev/components";import{useOverlayStore as qa,useTranslation as Za}from"@donotdev/core";import{jsx as Ja,jsxs as Qa}from"react/jsx-runtime";var u1=({display:t=Ya.AUTO,className:e,onOpen:o})=>{let{t:n}=Za("dndev"),r=qa(l=>l.openCommandDialog),i=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform)?"\u2318K":"Ctrl+K",c=()=>{r(),o?.()};return Qa(Wa,{variant:Ka.OUTLINE,display:t,icon:$a,onClick:c,className:e,"aria-label":n("goTo.ariaLabel","Go to page"),children:[n("goTo.label","Go to"),Ja("kbd",{style:{marginInlineStart:"var(--gap-sm)",padding:"0.125rem 0.375rem",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",opacity:.5},children:i})]})};import{Suspense as yi,lazy as hi}from"react";import{useEventListener as vi,useOverlayStore as bi}from"@donotdev/core";import{jsx as Qo}from"react/jsx-runtime";var xi=hi(()=>Promise.resolve().then(()=>(Jo(),Zo))),Ti=()=>{let t=bi(e=>e.openCommandDialog);return vi("keydown",e=>{(e.metaKey||e.ctrlKey)&&e.key==="k"&&(e.preventDefault(),t())},{target:document,options:{passive:!1,capture:!1}}),Qo(yi,{fallback:null,children:Qo(xi,{})})},Ci=Ti;import{Search as Si}from"lucide-react";import{useCallback as Xo,useEffect as ki,useState as wi,useRef as Ni}from"react";import{Stack as Di}from"@donotdev/components";import{useOverlayStore as jo}from"@donotdev/core";import{useTranslation as Pi}from"@donotdev/core";import{jsx as Qe,jsxs as Fi}from"react/jsx-runtime";var Ai=()=>{let{t}=Pi("dndev"),[e,o]=wi(""),n=Ni(null),r=jo(l=>l.openCommandDialog),a=jo(l=>l.isCommandDialogOpen);ki(()=>{a||o("")},[a]);let i=Xo(()=>{r(e)},[r,e]),c=Xo(l=>{l.key==="Enter"&&(l.preventDefault(),r(e))},[r,e]);return Fi(Di,{direction:"row",align:"center",className:"dndev-relative dndev-w-full dndev-max-w-sm",role:"search",children:[Qe(Si,{className:"dndev-absolute dndev-size-md",style:{left:"0.75rem",opacity:.5},"aria-hidden":"true"}),Qe("input",{ref:n,type:"text",value:e,onChange:l=>o(l.target.value),onFocus:i,onKeyDown:c,placeholder:t("globalGoTo.searchPlaceholder","Search pages..."),className:"dndev-input dndev-w-full",style:{paddingLeft:"2.5rem",paddingRight:"5rem"},"aria-label":t("globalGoTo.ariaLabel","Search navigation")}),Qe("div",{className:"dndev-absolute dndev-flex dndev-items-center dndev-text-sm",style:{right:"0.75rem",gap:"0.25rem",opacity:.5},"aria-hidden":"true",children:Qe("kbd",{style:{padding:"0.25rem 0.5rem",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",borderRadius:"var(--radius-sm)"},children:"\u2318K"})})]})},Ii=Ai;import{MoreHorizontal as Ri,Link as en}from"lucide-react";import{useState as Li,useEffect as tn,useRef as Ei,useMemo as Bi}from"react";import{NavigationMenu as on,NavigationMenuListPrimitive as Mi,NavigationMenuItemPrimitive as nn,Button as zi,DropdownMenu as Oi,cn as Xe,DISPLAY as Ui}from"@donotdev/components";import{useTranslation as Vi}from"@donotdev/core";ye();re();import{jsx as H,jsxs as Pt}from"react/jsx-runtime";var rn=({routes:t,vertical:e=!1,display:o=Ui.AUTO,overflowDetection:n=!1,showIcons:r=!0,className:a,style:i})=>{let{t:c}=Vi("dndev"),l=_(),p=t??l,m=Ei(null),[s,g]=Li(p.length),d=Bi(()=>p.map(u=>({label:u.label,path:u.path,icon:H(L,{icon:u.icon,fallback:en}),children:u.children?u.children.map(f=>({label:f.label,path:f.path,icon:H(L,{icon:f.icon,fallback:en})})):void 0})),[p]);if(tn(()=>{if(!n||p.length===0||e)return;let u=()=>{let y=m.current;if(!y)return;let v=y.getBoundingClientRect(),h=y.querySelectorAll("[data-nav-item]"),S=y.querySelector("[data-more-button]"),w=0,U=S?.offsetWidth||0;for(let V=0;V<h.length;V++){let ne=h[V];if(!ne)break;if(ne.getBoundingClientRect().right-v.left+(V===h.length-1&&S?U:0)<=v.width)w=V+1;else break}g(Math.max(0,w))},f=new ResizeObserver(u);return m.current&&f.observe(m.current),setTimeout(u,0),()=>f.disconnect()},[n,p.length,e]),tn(()=>{n&&!e&&g(p.length)},[p.length,n,e]),p.length===0)return null;if(n&&!e){let u=d.slice(0,s),f=d.slice(s);return H(on,{className:Xe(a),style:i||{flex:1},children:Pt(Mi,{ref:m,"data-vertical":"false",style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",flexWrap:"nowrap",overflow:"hidden"},children:[u.filter(y=>y.path).map((y,v)=>H(nn,{"data-nav-item":!0,children:Pt(C,{path:y.path,className:Xe("dndev-interactive"),"data-role":"nav-trigger",children:[r&&y.icon,H("span",{className:"dndev-interactive-label",children:y.label})]})},y.path||v)),f.length>0&&H(nn,{"data-more-button":!0,children:H(Oi,{trigger:H(zi,{className:"dndev-size-touch",style:{flexShrink:0},"aria-label":c("navigation.more","More"),children:H(Ri,{className:"dndev-size-md"})}),items:f.filter(y=>y.path).map(y=>({label:y.label,children:Pt(C,{path:y.path,className:Xe("dndev-interactive"),"data-role":"menu-item",children:[r&&y.icon,H("span",{className:"dndev-interactive-label",children:y.label})]}),asChild:!0})),contentWidth:"14rem",contentAlign:"end"})})]})})}return H(on,{items:d,vertical:e,display:o,className:Xe(a,e&&"dndev-sidebar-nav-menu"),LinkComponent:C})};import{Home as Gi,ArrowLeft as Hi,Link as _i}from"lucide-react";import{useMemo as $i}from"react";import{Button as At,BUTTON_VARIANT as It,Stack as Ie,Text as Ft}from"@donotdev/components";import{useTranslation as Wi}from"@donotdev/core";import{useLocation as Ki,useNavigate as Yi}from"@donotdev/ui/routing/hooks";ye();re();import{jsx as z,jsxs as je}from"react/jsx-runtime";function an(){let{t}=Wi("dndev"),e=Ki(),o=Yi(),n=_(),r=$i(()=>n.filter(i=>!i.path.includes(":")&&i.path!=="/").slice(0,4),[n]),a=()=>{o("back")};return z(ge,{variant:"docs",centered:!0,children:je(Ie,{gap:"large",align:"center",justify:"center",children:[je(Ie,{gap:"medium",align:"center",children:[z(Ft,{level:"h1",style:{fontSize:"clamp(4rem, 12vw, 8rem)",fontWeight:"var(--font-weight-bold)",lineHeight:1,letterSpacing:"-0.02em",background:"linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",margin:0},children:"404"}),z(Ft,{level:"h2",style:{fontSize:"var(--font-size-2xl)",fontWeight:"var(--font-weight-semibold)",margin:0},children:t("errors.notFound.title","Page Not Found")}),z(Ft,{style:{fontSize:"var(--font-size-lg)",color:"var(--muted-foreground)",textAlign:"center",margin:0},children:t("errors.notFound.description","The page you're looking for doesn't exist or has been moved.")}),e.pathname&&z("code",{style:{padding:"var(--gap-sm) var(--gap-md)",background:"var(--muted)",borderRadius:"var(--radius-md)",fontSize:"var(--font-size-sm)",fontFamily:"var(--font-mono)",color:"var(--foreground)",wordBreak:"break-all",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",border:"1px solid var(--border-hairline)"},children:e.pathname})]}),r.length>0&&je(Ie,{gap:"medium",align:"center",children:[z("p",{className:"dndev-text-base",style:{fontSize:"var(--font-size-md)",fontWeight:"var(--font-weight-semibold)",margin:0,color:"var(--muted-foreground)"},children:t("errors.notFound.suggestions","You might be looking for:")}),z(Ie,{direction:"row",wrap:"wrap",justify:"center",gap:"tight",children:r.map(i=>z(C,{path:i.path,replace:!0,children:z(At,{variant:It.OUTLINE,icon:z(L,{icon:i.icon,fallback:_i}),"aria-label":t("errors.notFound.navigateTo",`Navigate to ${i.label}`,{label:i.label}),children:i.label})},i.path))})]}),je(Ie,{direction:"row",wrap:"wrap",justify:"center",gap:"medium",children:[z(C,{path:"/",replace:!0,children:z(At,{variant:It.DEFAULT,icon:Gi,"aria-label":t("errors.notFound.goHome","Go to home page"),children:t("errors.notFound.goHome","Go Home")})}),z(At,{variant:It.OUTLINE,icon:Hi,onClick:a,"aria-label":t("errors.notFound.goBack","Go back to previous page"),children:t("errors.notFound.goBack","Go Back")})]})]})})}ye();Nt();import{useNavigate as Tg,useBack as Cg,useRefresh as Sg,usePrefetch as kg,useLocation as wg,useParams as Ng,useRouteParam as Dg,useSearchParams as Pg,useMatch as Ag,useQueryParams as Ig,useRedirectGuard as Fg}from"@donotdev/ui/routing/hooks";import{getDndevConfig as Rt,isClient as le,isDev as sn}from"@donotdev/core";var M=class{static getBrowserSupport(){if(!le())return{svg:!0,webp:!1,avif:!1};let e=this.cache.get("browser-support");if(e)return e;let o={svg:!0,webp:!1,avif:!1};try{let n=document.createElement("canvas");n.width=1,n.height=1,o.webp=n.toDataURL("image/webp").indexOf("data:image/webp")===0}catch{o.webp=!1}try{let n=document.createElement("canvas");n.width=1,n.height=1,o.avif=n.toDataURL("image/avif").indexOf("data:image/avif")===0}catch{o.avif=!1}return this.cache.set("browser-support",o),o}static extractStringValues(e){let o=[];if(e==null)return o;if(typeof e=="string")o.push(e);else if(Array.isArray(e))for(let n of e)o.push(...this.extractStringValues(n));else if(typeof e=="object")for(let n of Object.values(e))o.push(...this.extractStringValues(n));return o}static assetExists(e){if(!le())return!1;let o=this.getAssetManifest();return o?this.extractStringValues(o).includes(e):!1}static getAssetManifest(){return le()&&Rt()?.assets?.mapping||null}static getLogoSvgContent(){return Rt()?.assets?.logoSvgContent||null}static resolveLogo(e){if(e)return e;let o="logo";if(this.cache.has(o))return this.cache.get(o);let r=this.getAssetManifest()?.logo?.optimal||"/logo.svg";return this.cache.set(o,r),r}static directAssetCheck(e){if(!le())return!1;try{let o=new Image;return o.src=e,!0}catch{return!1}}static resolveFaviconSet(){let e="favicon-set";if(this.cache.has(e))return this.cache.get(e);let o=this.getAssetManifest();if(o?.favicon?.set){let a=o.favicon.set,i=this.assetExists("/icon-512x512.png")?"/icon-512x512.png":this.assetExists("/icon-192x192.png")?"/icon-192x192.png":"/logo.svg",c={svg:a.svg||"/favicon.svg",ico:a.ico||"/favicon.ico",png16:a.png16||i,png32:a.png32||i,apple180:a.apple180||i,android192:a.android192||i,android512:a.android512||i};return this.cache.set(e,c),c}let n=this.assetExists("/icon-512x512.png")?"/icon-512x512.png":this.assetExists("/icon-192x192.png")?"/icon-192x192.png":"/logo.svg",r={svg:this.assetExists("/favicon.svg")?"/favicon.svg":"/logo.svg",ico:this.assetExists("/favicon.ico")?"/favicon.ico":"/favicon.svg",png16:this.assetExists("/favicon-16x16.png")?"/favicon-16x16.png":n,png32:this.assetExists("/favicon-32x32.png")?"/favicon-32x32.png":n,apple180:this.assetExists("/apple-touch-icon.png")?"/apple-touch-icon.png":n,android192:this.assetExists("/icon-192x192.png")?"/icon-192x192.png":n,android512:this.assetExists("/icon-512x512.png")?"/icon-512x512.png":n};return this.cache.set(e,r),r}static resolveFavicon(){let e=this.getAssetManifest();if(e?.favicon?.optimal)return e.favicon.optimal;let o=["/favicon.svg","/favicon.ico","/favicon.png","/logo.svg"];for(let n of o)if(this.assetExists(n))return n;return"/favicon.svg"}static clearCache(){this.cache.clear(),sn()&&le()}static getDebugInfo(){return{browserSupport:this.getBrowserSupport(),detectedAssets:le()?Rt()?.assets?.mapping:null,assetManifest:this.getAssetManifest(),cache:Object.fromEntries(this.cache)}}};Ge(M,"cache",new Map);function Bg(t){return M.resolveLogo(t)}function Mg(){return M.resolveFaviconSet()}sn()&&(M.clearCache(),le()&&window.addEventListener("DOMContentLoaded",()=>{M.clearCache()}));ke();import{useMemo as qi}from"react";function et(){let t=k("status"),e=k("isAvailable"),o=k("user");return qi(()=>({shouldHide:t!=="ready"||!e,isLoading:t==="initializing",isReady:t==="ready"&&e,isAuthenticated:!!o}),[t,e,o])}import*as Zi from"@donotdev/billing";import{DEGRADED_BILLING_API as Ji}from"@donotdev/core";var Lt=Zi?.useStripeBilling;function Qi(t){return Ji[t]}function Et(t,e){return Lt?Lt(t,e):Qi(t)}var _g=typeof Lt=="function";ke();function Yg(){let t=k("user"),e=k("status"),o={user:t,status:e},n=Et("status",o),r=Et("isAvailable",o);return{shouldHide:!r,isLoading:n==="initializing",isReady:r&&n==="ready"}}import{DEGRADED_OAUTH_API as Xi}from"@donotdev/core";import*as ji from"@donotdev/oauth";var Bt=ji?.useOAuth;function es(t){return Xi[t]}function Jg(t){return Bt?Bt(t):es(t)}var Qg=typeof Bt=="function";import{CheckCircle as ts}from"lucide-react";import{List as os}from"@donotdev/components";import{translateArray as ns}from"@donotdev/core";import{jsx as ln}from"react/jsx-runtime";var rs=ts,as=16;function of(t,e,o,n=rs,r=as){let a=n;return ln(os,{icon:a?ln(a,{size:r}):void 0,items:ns(t,e,o),style:{listStyle:"none",paddingInlineStart:0}})}import{Fragment as Ps,jsx as X,jsxs as As}from"react/jsx-runtime";var dn=()=>null,ks=pn(async()=>{try{return{default:(await import("@donotdev/auth")).ReauthDialog}}catch{return{default:dn}}}),ws=pn(async()=>{try{return{default:(await import("@donotdev/auth")).ConfirmDeleteDialog}}catch{return{default:dn}}}),Mt=null;Ts()&&import("@donotdev/auth").then(t=>{Mt=t.useDeleteAccount}).catch(()=>{});function Ns(){let[t]=tt.useState(!1),[e]=tt.useState(!1),[o]=tt.useState(!1),[n]=tt.useState(null);return{showConfirmDialog:t,showPasswordDialog:e,isDeleting:o,error:n,startDeleteFlow:()=>{},confirmDelete:async()=>{},cancel:()=>{}}}function Ds(){return Mt?Mt():Ns()}var ot=t=>{if(!t)return Fe;if(typeof t=="function")return t;let e=t.replace(/['"]/g,"");return ps[e]||Fe},zt=({loginPath:t,display:e=hs.AUTO,"no-tooltip":o=!1,customItems:n=[],className:r,style:a})=>{let{t:i}=vs("dndev"),{shouldHide:c,isReady:l,isAuthenticated:p}=et(),m=xs(),s=k("user"),g=k("signOut"),d=Cs("isLaptop"),u=_(),f=Ss(),y=m.profilePath,v=m.authMenuItems||[],h=Ds(),S=()=>s&&(s.displayName||s.email?.split("@")[0])||"User",w=()=>S().split(" ").map(x=>x.charAt(0)).slice(0,2).join("").toUpperCase(),U=()=>{if(!s)return i("auth.userMenu",{defaultValue:"User menu"});let N=[S()];return s.email&&N.push(s.email),Y&&Y!=="guest"&&N.push(`Role: ${Y}`),N.join(`
|
|
4
|
-
`)},
|
|
5
|
-
${s.email}`:""}`}),disabled:!0}),y&&N.push({label:i("auth.profile",{defaultValue:"Profile"}),icon:is,onClick:()=>f(y)}),v.forEach(x=>{let b=u.find(Ce=>Ce.path===x.path),E=x.label||b?.label||x.path.split("/").pop()||"Menu",B=x.icon?ot(x.icon):b?.icon&&(typeof b.icon=="string"||typeof b.icon=="function")?ot(b.icon):Fe;N.push({label:E,icon:B,onClick:()=>f(x.path)})}),n.forEach(x=>{if(x.path){let b=u.find(Ce=>Ce.path===x.path),E=x.label||b?.label||x.path.split("/").pop()||"Menu",B=x.icon?ot(x.icon):Fe;N.push({label:E,icon:B,onClick:()=>f(x.path),disabled:x.disabled,style:x.style})}else if(x.onClick){let b=x.icon?ot(x.icon):Fe;N.push({label:x.label,icon:b,onClick:x.onClick,disabled:x.disabled,style:x.style})}}),N.push({label:i("auth.deleteAccount.label",{defaultValue:"Delete Account"}),icon:cs,onClick:h.startDeleteFlow,variant:"destructive"}),N.push({label:i("auth.signOut",{defaultValue:"Sign Out"}),icon:ss,onClick:()=>g(),variant:"destructive"}),N},[y,v,n,g,h,i,u,d,s,S,f]);if(bs().length===0||c||!l)return null;let Y=s?.role;return p?As(Ps,{children:[X(cn,{fallback:null,children:X(ks,{open:h.showPasswordDialog,isLoading:h.isDeleting,error:h.error,onReauth:N=>h.confirmDelete(N),onCancel:h.cancel})}),X(cn,{fallback:null,children:X(ws,{open:h.showConfirmDialog,isLoading:h.isDeleting,error:h.error,onConfirm:()=>h.confirmDelete(),onCancel:h.cancel})}),X(fs,{trigger:X(us,{variant:gs.OUTLINE,icon:s?X(ms,{src:s.photoURL??void 0,fallback:w(),alt:S(),style:{margin:"-4px 0"}}):ls,display:e,"aria-label":i("auth.userMenu",{defaultValue:"User menu"}),tooltip:!o&&d&&s?U():o?void 0:i("auth.userMenu",{defaultValue:"User menu"}),className:r,style:a,children:S()}),items:V,contentAlign:"end"})]}):null};import{jsx as I}from"react/jsx-runtime";var gn=()=>null,Vs=un(async()=>{try{return{default:(await import("@donotdev/auth")).AuthPartnerButton}}catch{return{default:gn}}}),mn=un(async()=>{try{return{default:(await import("@donotdev/auth")).MultipleAuthProviders}}catch{return{default:gn}}}),Ut=({display:t=Ms.AUTO,className:e,style:o})=>{let{t:n}=zs("dndev"),{shouldHide:r,isLoading:a,isReady:i,isAuthenticated:c}=et(),l=Os(),p=Us(),[m,s]=Fs(!1),g=l.loginPath,d=n("auth.signIn",{defaultValue:"Sign In"}),u=n("auth.loading",{defaultValue:"Loading..."}),f=p.includes("password")||p.includes("emailLink");if(r||!i)return null;let y=({children:v,...h})=>I(Rs,{variant:Ls.OUTLINE,icon:Is,display:t,tooltip:d,className:e,style:o,...h,children:v??d});if(!c){if(g!==void 0)return I(C,{path:g,prefetch:!0,children:I(y,{})});let v=p[0];return f?I(Bs,{trigger:I(y,{}),title:d,open:m,onOpenChange:s,"data-content-size":"form",children:I(Ot,{fallback:I("div",{style:{padding:"var(--gap-md)",fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:u}),children:I(mn,{spacing:"medium",onSuccess:()=>s(!1)})})}):p.length>1?I(Es,{trigger:I(y,{}),children:I(Ot,{fallback:I("div",{style:{padding:"var(--gap-md)",fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:u}),children:I(mn,{spacing:"tight"})})}):I(Ot,{fallback:I(y,{disabled:a,tooltip:a?u:d,children:a?u:d}),children:I(Vs,{partnerId:v,display:t,className:e,style:o})})}return I(zt,{display:t,loginPath:g,className:e,style:o})};import{RefreshCw as Gs}from"lucide-react";import{cn as Hs}from"@donotdev/components";import{jsx as fn,jsxs as Ws}from"react/jsx-runtime";var _s=({className:t})=>Ws("div",{className:Hs("dndev-loading-overlay",t),style:{position:"fixed",inset:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"var(--background)",opacity:"var(--opacity-muted)",backdropFilter:"blur(4px)",zIndex:50},role:"status","aria-busy":"true","aria-label":"Loading",children:[fn(Gs,{className:"dndev-size-touch",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}}),fn("span",{className:"dndev-sr-only",children:"Loading..."})]}),$s=_s;import{AlertCircle as Ks,RefreshCw as Ys,Mail as qs,Cookie as Zs}from"lucide-react";import{Card as Js,Button as Vt,BUTTON_VARIANT as Gt,Stack as yn}from"@donotdev/components";import{useTranslation as Qs}from"@donotdev/core";import{jsx as Re,jsxs as nt}from"react/jsx-runtime";function Xs({featureName:t,title:e,description:o,showReviewCookies:n=!1,showContactSupport:r=!0,showRetry:a=!1,supportEmail:i="support@example.com",onRetry:c,onReviewCookies:l,customActions:p,className:m=""}){let{t:s}=Qs("ui"),g=o||s("featureDisabled.description","{featureName} is not available. This may be due to missing configuration or disabled features.",{featureName:t}),d=()=>{if(l)l();else{let f=new CustomEvent("openCookieConsent");window.dispatchEvent(f)}},u=()=>{window.location.href=`mailto:${i}?subject=${encodeURIComponent(`Feature Unavailable: ${t}`)}&body=${encodeURIComponent(`I'm experiencing an issue with ${t} not being available.`)}`};return nt(Js,{className:m,title:nt(yn,{direction:"row",align:"center",gap:"tight",children:[Re(Ks,{className:"dndev-size-md",style:{color:"var(--destructive)"}}),e||t]}),subtitle:g,children:[" ",nt("div",{style:{display:"grid",gap:"var(--gap-md)"},children:[(n||r||a||p)&&nt(yn,{direction:"row",wrap:"wrap",gap:"tight",children:[n&&Re(Vt,{variant:Gt.OUTLINE,onClick:d,icon:Zs,children:s("featureDisabled.reviewCookies","Review Cookies")}),r&&Re(Vt,{variant:Gt.OUTLINE,onClick:u,icon:qs,children:s("featureDisabled.contactSupport","Contact Support")}),a&&Re(Vt,{variant:Gt.OUTLINE,onClick:c,icon:Ys,children:s("featureDisabled.retry","Retry")}),p]}),Re("p",{style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:s("featureDisabled.helpText","If you believe this is an error, please contact support or try refreshing the page.")})]})]})}var js=Xs;re();import{cn as el}from"@donotdev/components";import{jsx as $,jsxs as cl}from"react/jsx-runtime";var q=({state:t="loading",message:e,show:o=!0,className:n,showSpinner:r=!1,spinnerSize:a="md"})=>{if(!o)return null;let c=e||(p=>({initial:"Preparing...",loading:"Loading...",processing:"Processing your request...","almost-done":"Almost there...",complete:"Complete!"})[p]||"Loading...")(t),l={sm:{width:"0.75rem",height:"0.75rem"},md:{width:"1rem",height:"1rem"},lg:{width:"1.5rem",height:"1.5rem"}};return cl("div",{className:el(n),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"var(--gap-sm)",color:"var(--muted-foreground)",fontSize:"var(--font-size-sm)",transition:"opacity var(--dur-fast) ease-out"},role:"status","aria-live":"polite","aria-label":c,children:[r&&$("div",{style:{...l[a],animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid currentColor",borderTopColor:"transparent"},role:"status","aria-hidden":"true"}),$("span",{style:{fontWeight:500},children:c})]})},tl=({message:t="Loading...",...e})=>$(q,{state:"loading",message:t,...e}),ol=({message:t="Processing your request...",...e})=>$(q,{state:"processing",message:t,...e}),nl=({message:t="Almost there...",...e})=>$(q,{state:"almost-done",message:t,...e}),rl=({message:t="Complete!",...e})=>$(q,{state:"complete",message:t,...e}),al=({showSpinner:t=!0,...e})=>$(q,{state:"processing",message:"Saving your changes...",showSpinner:t,...e}),il=({showSpinner:t=!0,fileName:e,...o})=>$(q,{state:"processing",message:e?`Uploading ${e}...`:"Uploading file...",showSpinner:t,...o}),sl=({showSpinner:t=!0,query:e,...o})=>$(q,{state:"processing",message:e?`Searching for "${e}"...`:"Searching...",showSpinner:t,...o}),ll=({showSpinner:t=!0,...e})=>$(q,{state:"loading",message:"Connecting to server...",showSpinner:t,...e}),rt=q;import{cn as pl}from"@donotdev/components";import{Fragment as hn,jsx as j,jsxs as vn}from"react/jsx-runtime";var dl=({show:t=!1,backdrop:e=!0,backdropBlur:o=!0,className:n,children:r,message:a,showSpinner:i=!0,spinnerSize:c="lg",preventClicks:l=!0,zIndex:p="var(--z-modal)"})=>{if(!t)return null;let m=p==="var(--z-modal)"||!p?"dndev-z-modal":p==="var(--z-toast)"?"dndev-z-toast":p==="var(--z-tooltip)"?"dndev-z-tooltip":p==="var(--z-overlay)"?"dndev-z-overlay":null;return j("div",{className:pl("dndev-loading-overlay",m,n),style:{position:"fixed",inset:0,display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity var(--dur-fast) ease-out",backgroundColor:e?"var(--background)":"transparent",opacity:e?"var(--opacity-muted)":1,backdropFilter:o?"blur(4px)":"none",pointerEvents:l?"auto":"none",...m?{}:{zIndex:p}},role:"dialog","aria-modal":"true","aria-busy":"true","aria-label":"Loading overlay",children:j("div",{className:"dndev-surface",style:{display:"grid",placeItems:"center",gap:"var(--gap-md)",borderRadius:"var(--radius-lg)",padding:"var(--gap-lg)",backgroundColor:"var(--background)",opacity:"var(--opacity-strong)",border:"1px solid var(--border)",boxShadow:"var(--shadow-xl)",maxWidth:"var(--content-text)",width:"100%",margin:"0 var(--gap-md)"},children:r||vn(hn,{children:[i&&j("div",{style:{animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid var(--primary)",borderTopColor:"transparent",width:c==="sm"?"2rem":c==="md"?"3rem":"4rem",height:c==="sm"?"2rem":c==="md"?"3rem":"4rem"},role:"status","aria-hidden":"true"}),a&&j(rt,{...a})]})})})};var ml=({show:t=!1,backdrop:e=!1,backdropBlur:o=!1,className:n,...r})=>j("div",{className:n,style:{position:"absolute",inset:0,display:t?"flex":"none",alignItems:"center",justifyContent:"center",transition:"opacity var(--dur-fast) ease-out",backgroundColor:e?"var(--background)":"transparent",opacity:e?"var(--opacity-muted)":1,backdropFilter:o?"blur(4px)":"none"},role:"status","aria-busy":"true","aria-label":"Loading content",children:j("div",{style:{display:"grid",placeItems:"center",gap:"var(--gap-sm)"},children:r.children||vn(hn,{children:[j("div",{style:{animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid var(--primary)",borderTopColor:"transparent",width:"1.5rem",height:"1.5rem"},role:"status","aria-hidden":"true"}),r.message&&j(rt,{...r.message})]})})}),ul=dl;import{cn as gl}from"@donotdev/components";import{jsx as bn}from"react/jsx-runtime";var fl=({variant:t="fullPage",className:e,isLoading:o})=>o===!1?null:bn("div",{className:gl(e),style:{display:"flex",alignItems:"center",justifyContent:"center",...t==="fullPage"&&{position:"fixed",inset:0,backgroundColor:"var(--background)",backdropFilter:"blur(4px)",zIndex:50}},role:"status","aria-busy":"true","aria-label":"Loading",children:bn("div",{style:{animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid var(--muted)",borderTopColor:"var(--primary)",...t==="fullPage"?{width:"5rem",height:"5rem"}:{width:"var(--icon-md)",height:"var(--icon-md)"}},role:"status","aria-busy":"true","aria-label":"Loading"})}),yl=fl;import{Lock as at,Shield as xn}from"lucide-react";import{useEffect as Ht,useRef as Tn,useCallback as hl}from"react";import{Portal as vl,Spinner as bl,Stack as xl,Text as Le,Button as Tl}from"@donotdev/components";import{useTranslation as Cl,useOverlay as Z}from"@donotdev/core";import{jsx as W,jsxs as Sn}from"react/jsx-runtime";var Cn={connecting:0,preparing:2e3,redirecting:5e3},Sl=1e4;function kl(t,e){return e==="none"?null:e==="shield"?xn:e==="lock"?at:t?t.startsWith("stripe-")||t.includes("payment")||t.includes("checkout")?at:t.startsWith("oauth-")||t.startsWith("auth-")?xn:at:at}function wl(t){return t||"default"}function Nl(){let{t}=Cl("dndev"),e=Z("isRedirectOverlayOpen"),o=Z("redirectOperation"),n=Z("redirectPhase"),r=Z("showCancelButton"),a=Z("redirectConfig"),i=Z("redirectStartTime"),c=Z("setRedirectPhase"),l=Z("setShowCancelButton"),p=Z("hideRedirectOverlay"),m=Tn([]),s=Tn(null),g=hl(()=>{p()},[p]);if(Ht(()=>{if(!e||!i)return;let w=a?.cancelTimeout??Sl,U=Date.now()-i;m.current.forEach(clearTimeout),m.current=[],s.current&&(clearTimeout(s.current),s.current=null);let V=(Y,N)=>{let x=Math.max(0,N-U);if(x>0){let b=setTimeout(()=>{c(Y)},x);m.current.push(b)}else c(Y)};V("preparing",Cn.preparing),V("redirecting",Cn.redirecting);let ne=Math.max(0,w-U);return s.current=setTimeout(()=>{l(!0),c("timeout")},ne),()=>{m.current.forEach(clearTimeout),m.current=[],s.current&&(clearTimeout(s.current),s.current=null)}},[e,i,a?.cancelTimeout,c,l]),Ht(()=>{if(!e)return;let w=()=>{p()};return window.addEventListener("popstate",w),()=>window.removeEventListener("popstate",w)},[e,p]),Ht(()=>{if(!e)return;let w=()=>{};return document.addEventListener("visibilitychange",w),()=>document.removeEventListener("visibilitychange",w)},[e]),!e)return null;let d=wl(o),u=a?.title??t(`redirectOverlay.${d}.title`,{defaultValue:t("redirectOverlay.default.title")}),f=a?.message??t(`redirectOverlay.${d}.message`,{defaultValue:t("redirectOverlay.default.message")}),y=a?.subtitle??t(`redirectOverlay.${d}.subtitle`,{defaultValue:t("redirectOverlay.default.subtitle")}),v=t(`redirectOverlay.${d}.ariaLabel`,{defaultValue:t("redirectOverlay.default.ariaLabel")}),h=t(`redirectOverlay.phases.${n}`),S=kl(o,a?.icon);return W(vl,{children:W("div",{className:"dndev-spinner-overlay",role:"status","aria-busy":"true","aria-label":v,style:{zIndex:"var(--z-overlay, 9999)"},children:Sn("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"var(--gap-md)",textAlign:"center",maxWidth:"400px",padding:"var(--gap-lg)"},children:[Sn(xl,{direction:"row",gap:"medium",align:"center",children:[S&&W(S,{style:{width:"1.5rem",height:"1.5rem",color:"var(--primary)"},"aria-hidden":"true"}),W(bl,{variant:"primary"})]}),W(Le,{as:"h3",style:{color:"var(--foreground)",margin:0},children:u}),W(Le,{variant:"muted",style:{color:"var(--foreground)",minHeight:"1.5em"},children:h}),W(Le,{variant:"muted",level:"small",style:{opacity:.8},children:f}),W(Le,{variant:"muted",level:"small",style:{opacity:.6},children:y}),W(Le,{variant:"muted",level:"small",style:{opacity:.5,marginTop:"var(--gap-sm)"},children:t("redirectOverlay.doNotRefresh")}),r&&W(Tl,{variant:"ghost",onClick:g,style:{marginTop:"var(--gap-md)"},children:t("redirectOverlay.cancel")})]})})})}import{useEffect as _t,useState as kn}from"react";import{cn as Dl}from"@donotdev/components";import{jsx as wn}from"react/jsx-runtime";var Pl=({isActive:t=!1,progress:e,useFakeProgress:o=!0,duration:n=2e3,className:r,show:a=!0})=>{let[i,c]=kn(0),[l,p]=kn(!1);_t(()=>{if(!t||!o||e!==void 0)return;p(!0),c(0);let s=Date.now(),g=setInterval(()=>{let d=Date.now()-s,u=Math.min(d/n*90,90);c(u)},16);return()=>{clearInterval(g)}},[t,o,e,n]),_t(()=>{e!==void 0&&p(e>0&&e<100)},[e]),_t(()=>{if(!t){let s=setTimeout(()=>{p(!1),c(0)},300);return()=>clearTimeout(s)}},[t]);let m=e??i;return!a||!l?null:wn("div",{className:Dl(r),style:{position:"fixed",left:0,right:0,zIndex:9999,height:"4px",backgroundColor:"transparent",top:"var(--header-height, 0px)"},role:"progressbar","aria-valuenow":Math.round(m),"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Page loading progress",children:wn("div",{style:{height:"100%",width:`${m}%`,background:"linear-gradient(to right, var(--primary), color-mix(in srgb, var(--primary) 80%, transparent), color-mix(in srgb, var(--primary) 60%, transparent))",transition:t?"width 0.3s ease-out":"width 0.2s ease-in",boxShadow:"var(--shadow-sm)"}})})},Al=Pl;import{cn as it,Stack as Il}from"@donotdev/components";import{jsx as Ee,jsxs as p2}from"react/jsx-runtime";var Fl=({variant:t="text",width:e,height:o,lines:n=1,show:r=!0,className:a,animation:i="pulse",style:c})=>{if(!r)return null;let l={backgroundColor:"var(--muted)",opacity:"var(--opacity-muted)",borderRadius:"var(--radius)",animation:i==="pulse"||i==="wave"?"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite":"none",...i==="wave"&&{background:"linear-gradient(to right, color-mix(in srgb, var(--muted) 50%, transparent), color-mix(in srgb, var(--muted) 30%, transparent), color-mix(in srgb, var(--muted) 50%, transparent))"}},p=()=>{let m={};return e&&(m.width=typeof e=="number"?`${e}px`:e),o&&(m.height=typeof o=="number"?`${o}px`:o),m};return t==="text"?Ee(Il,{gap:"tight",children:Array.from({length:n}).map((m,s)=>Ee("div",{className:it("dndev-skeleton",a),style:{...l,height:"var(--gap-md)",width:s===n-1?"75%":"100%",...p(),...c}},s))}):t==="circular"?Ee("div",{className:it("dndev-skeleton",a),style:{...l,borderRadius:"var(--radius-full)",width:e||o||"40px",height:o||e||"40px",...p(),...c}}):t==="rectangular"?Ee("div",{className:it("dndev-skeleton",a),style:{...l,width:e||"100%",height:o||"200px",...p(),...c}}):Ee("div",{className:it("dndev-skeleton",a),style:{...l,borderRadius:"var(--radius-lg)",width:e||"100%",height:o||"20px",...p(),...c}})};var Rl=Fl;import{Card as Ll,IconBox as El,Stack as Bl,Text as $t,renderCardContent as Ml}from"@donotdev/components";import{jsx as K,jsxs as Nn}from"react/jsx-runtime";var zl=({icon:t,title:e,subtitle:o,content:n,href:r,variant:a,elevated:i,onClick:c,className:l,footer:p,style:m,...s})=>{let g=Ml(n),f=`calc(var(--font-size-lg) * var(--line-height) * 2 + var(--gap-md)) calc(var(--font-size-base) * var(--line-height) * 2 + var(--gap-md)) 1fr${p?" auto":""}`,y={display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word",lineHeight:"var(--line-height)"},v={...y,fontSize:"var(--font-size-lg)",fontWeight:600,color:"inherit",margin:0,textAlign:"start",flex:1,minWidth:0},h={...y,fontSize:"var(--font-size-base)",fontWeight:600,color:"var(--muted-foreground)",margin:0},S=t?Nn(Bl,{direction:"row",align:"center",gap:"medium",style:{width:"100%"},children:[K(El,{icon:t}),K($t,{as:"div",level:"h3",style:v,children:e})]}):K($t,{as:"div",level:"h3",style:v,children:e}),w=K(Ll,{variant:a,elevated:i,onClick:c,className:l,"data-clickable":r||c?"true":void 0,style:{paddingInlineStart:"var(--gap-md)",paddingInlineEnd:"var(--gap-md)",gap:"var(--gap-md)",height:"100%",textAlign:"start",...m},...s,children:Nn("div",{style:{display:"grid",gridTemplateRows:f,gap:"var(--gap-md)",width:"100%"},children:[K("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:S}),K("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start"},children:K($t,{as:"div",level:"body",style:h,children:o})}),K("div",{children:g}),p&&K("div",{children:p})]})});return r&&!c?K(C,{path:r,style:{display:"block",textDecoration:"none",height:"100%"},"aria-label":e?`Learn more about ${e}`:void 0,children:w}):w},Ol=zl;import{useState as Zl}from"react";import{Bento as Jl,Card as Ql,Section as Xl,Stack as jl,Text as ec,cn as tc}from"@donotdev/components";var Ul='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#3178C6" d="M1.125 0C.502 0 0 .502 0 1.125v21.75C0 23.498.502 24 1.125 24h21.75c.623 0 1.125-.502 1.125-1.125V1.125C24 .502 23.498 0 22.875 0zm17.363 9.75c.612 0 1.154.037 1.627.111a6.38 6.38 0 0 1 1.306.34v2.458a3.95 3.95 0 0 0-.643-.361 5.093 5.093 0 0 0-.717-.26 5.453 5.453 0 0 0-1.426-.2c-.3 0-.573.028-.819.086a2.1 2.1 0 0 0-.623.242c-.17.104-.3.229-.393.374a.888.888 0 0 0-.14.49c0 .196.053.373.156.529.104.156.252.304.443.444s.423.276.696.41c.273.135.582.274.926.416.47.197.892.407 1.266.628.374.222.695.473.963.753.268.279.472.598.614.957.142.359.214.776.214 1.253 0 .657-.125 1.21-.373 1.656a3.033 3.033 0 0 1-1.012 1.085 4.38 4.38 0 0 1-1.487.596c-.566.12-1.163.18-1.79.18a9.916 9.916 0 0 1-1.84-.164 5.544 5.544 0 0 1-1.512-.493v-2.63a5.033 5.033 0 0 0 3.237 1.2c.333 0 .624-.03.872-.09.249-.06.456-.144.623-.25.166-.108.29-.234.373-.38a1.023 1.023 0 0 0-.074-1.089 2.12 2.12 0 0 0-.537-.5 5.597 5.597 0 0 0-.807-.444 27.72 27.72 0 0 0-1.007-.436c-.918-.383-1.602-.852-2.053-1.405-.45-.553-.676-1.222-.676-2.005 0-.614.123-1.141.369-1.582.246-.441.58-.804 1.004-1.089a4.494 4.494 0 0 1 1.47-.629 7.536 7.536 0 0 1 1.77-.201zm-15.113.188h9.563v2.166H9.506v9.646H6.789v-9.646H3.375z"/></svg>',Vl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#61DAFB" d="M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z"/></svg>',Gl='<svg role="img" viewBox="0 0 410 404" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="vite-a" x1="6" y1="33" x2="235" y2="344" gradientUnits="userSpaceOnUse"><stop stop-color="#41D1FF"/><stop offset="1" stop-color="#BD34FE"/></linearGradient><linearGradient id="vite-b" x1="195" y1="9" x2="236" y2="293" gradientUnits="userSpaceOnUse"><stop stop-color="#FFEA83"/><stop offset=".08" stop-color="#FFDD35"/><stop offset="1" stop-color="#FFA800"/></linearGradient></defs><path fill="url(#vite-a)" d="M399.641 59.525 215.643 388.545c-3.799 6.793-13.559 6.833-17.415.073L10.582 59.556c-4.201-7.366 2.098-16.29 10.446-14.797l184.195 32.923c1.175.21 2.378.208 3.553-.006l180.343-32.87c8.32-1.517 14.649 7.337 10.522 14.72z"/><path fill="url(#vite-b)" d="M292.965 1.574 156.801 28.255c-2.238.439-3.895 2.335-4.03 4.611l-8.376 141.465c-.197 3.332 2.863 5.918 6.115 5.168l37.91-8.749c3.547-.818 6.752 2.306 6.023 5.873l-11.263 55.153c-.758 3.712 2.727 6.886 6.352 5.785l23.415-7.114c3.63-1.102 7.118 2.081 6.35 5.796l-17.899 86.633c-1.12 5.42 6.088 8.374 9.094 3.728l2.008-3.103 110.954-221.428c1.858-3.707-1.346-7.935-5.418-7.15l-39.022 7.532c-3.667.707-6.787-2.708-5.752-6.296l25.469-88.291c1.036-3.594-2.095-6.612-5.764-5.891z"/></svg>',Hl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M18.665 21.978C16.758 23.255 14.465 24 12 24 5.377 24 0 18.623 0 12S5.377 0 12 0s12 5.377 12 12c0 3.583-1.574 6.801-4.067 9.001L9.219 7.2H7.2v9.596h1.615V9.251l9.85 12.727Zm-3.332-8.533 1.6 2.061V7.2h-1.6v6.245Z"/></svg>',_l='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#339933" d="M11.998,24c-0.321,0-0.641-0.084-0.922-0.247l-2.936-1.737c-0.438-0.245-0.224-0.332-0.08-0.383 c0.585-0.203,0.703-0.25,1.328-0.604c0.065-0.037,0.151-0.023,0.218,0.017l2.256,1.339c0.082,0.045,0.197,0.045,0.272,0l8.795-5.076 c0.082-0.047,0.134-0.141,0.134-0.238V6.921c0-0.099-0.053-0.192-0.137-0.242l-8.791-5.072c-0.081-0.047-0.189-0.047-0.271,0 L3.075,6.68C2.99,6.729,2.936,6.825,2.936,6.921v10.15c0,0.097,0.054,0.189,0.139,0.235l2.409,1.392 c1.307,0.654,2.108-0.116,2.108-0.89V7.787c0-0.142,0.114-0.253,0.256-0.253h1.115c0.139,0,0.255,0.112,0.255,0.253v10.021 c0,1.745-0.95,2.745-2.604,2.745c-0.508,0-0.909,0-2.026-0.551L2.28,18.675c-0.57-0.329-0.922-0.945-0.922-1.604V6.921 c0-0.659,0.353-1.275,0.922-1.603l8.795-5.082c0.557-0.315,1.296-0.315,1.848,0l8.794,5.082c0.57,0.329,0.924,0.944,0.924,1.603 v10.15c0,0.659-0.354,1.273-0.924,1.604l-8.794,5.078C12.643,23.916,12.324,24,11.998,24z M19.099,13.993 c0-1.9-1.284-2.406-3.987-2.763c-2.731-0.361-3.009-0.548-3.009-1.187c0-0.528,0.235-1.233,2.258-1.233 c1.807,0,2.473,0.389,2.747,1.607c0.024,0.115,0.129,0.199,0.247,0.199h1.141c0.071,0,0.138-0.031,0.186-0.081 c0.048-0.054,0.074-0.123,0.067-0.196c-0.177-2.098-1.571-3.076-4.388-3.076c-2.508,0-4.004,1.058-4.004,2.833 c0,1.925,1.488,2.457,3.895,2.695c2.88,0.282,3.103,0.703,3.103,1.269c0,0.983-0.789,1.402-2.642,1.402 c-2.327,0-2.839-0.584-3.011-1.742c-0.02-0.124-0.126-0.215-0.253-0.215h-1.137c-0.141,0-0.254,0.112-0.254,0.253 c0,1.482,0.806,3.248,4.655,3.248C17.501,17.007,19.099,15.91,19.099,13.993z"/></svg>',$l='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#DD2C00" d="M19.455 8.369c-.538-.748-1.778-2.285-3.681-4.569-.826-.991-1.535-1.832-1.884-2.245a146 146 0 0 0-.488-.576l-.207-.245-.113-.133-.022-.032-.01-.005L12.57 0l-.609.488c-1.555 1.246-2.828 2.851-3.681 4.64-.523 1.064-.864 2.105-1.043 3.176-.047.241-.088.489-.121.738-.209-.017-.421-.028-.632-.033-.018-.001-.035-.002-.059-.003a7.46 7.46 0 0 0-2.28.274l-.317.089-.163.286c-.765 1.342-1.198 2.869-1.252 4.416-.07 2.01.477 3.954 1.583 5.625 1.082 1.633 2.61 2.882 4.42 3.611l.236.095.071.025.003-.001a9.59 9.59 0 0 0 2.941.568q.171.006.342.006c1.273 0 2.513-.249 3.69-.742l.008.004.313-.145a9.63 9.63 0 0 0 3.927-3.335c1.01-1.49 1.577-3.234 1.641-5.042.075-2.161-.643-4.304-2.133-6.371m-7.083 6.695c.328 1.244.264 2.44-.191 3.558-1.135-1.12-1.967-2.352-2.475-3.665-.543-1.404-.87-2.74-.974-3.975.48.157.922.366 1.315.622 1.132.737 1.914 1.902 2.325 3.461zm.207 6.022c.482.368.99.712 1.513 1.028-.771.21-1.565.302-2.369.273a8 8 0 0 1-.373-.022c.458-.394.869-.823 1.228-1.279zm1.347-6.431c-.516-1.957-1.527-3.437-3.002-4.398-.647-.421-1.385-.741-2.194-.95.011-.134.026-.268.043-.4.014-.113.03-.216.046-.313.133-.689.332-1.37.589-2.025.099-.25.206-.499.321-.74l.004-.008c.177-.358.376-.719.61-1.105l.092-.152-.003-.001c.544-.851 1.197-1.627 1.942-2.311l.288.341c.672.796 1.304 1.548 1.878 2.237 1.291 1.549 2.966 3.583 3.612 4.48 1.277 1.771 1.893 3.579 1.83 5.375-.049 1.395-.461 2.755-1.195 3.933-.694 1.116-1.661 2.05-2.8 2.708-.636-.318-1.559-.839-2.539-1.599.79-1.575.952-3.28.479-5.072zm-2.575 5.397c-.725.939-1.587 1.55-2.09 1.856-.081-.029-.163-.06-.243-.093l-.065-.026c-1.49-.616-2.747-1.656-3.635-3.01-.907-1.384-1.356-2.993-1.298-4.653.041-1.19.338-2.327.882-3.379.316-.07.638-.114.96-.131l.084-.002c.162-.003.324-.003.478 0 .227.011.454.035.677.07.073 1.513.445 3.145 1.105 4.852.637 1.644 1.694 3.162 3.144 4.515z"/></svg>',Wl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m12 1.608 12 20.784H0Z"/></svg>',Kl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#635BFF" d="M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z"/></svg>',Yl='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><linearGradient id="vb-a" x1="0.414" y1="0.255" x2="0" y2="0.932" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#eab308"/><stop offset="1" stop-color="#ca8a04"/></linearGradient><linearGradient id="vb-b" x1="0.338" y1="0.02" x2="0.664" y2="0.966" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#fde68a"/><stop offset="1" stop-color="#fbbf24"/></linearGradient><linearGradient id="vb-c" y1="0.5" x2="1" y2="0.5" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#7dd3fc"/><stop offset="1" stop-color="#0ea5e9"/></linearGradient></defs><g transform="translate(-2056 -1899)"><path d="M742.271,987.024c-66.706,0-119.121,54.673-121.874,126.408l-2.551,95.471c-3.967,78.653,71.961,105.52,126.936,105.52Z" transform="translate(1463.458 1004.277)" fill="url(#vb-a)"/><path d="M92.616.01H319.894c54.53-.8,95.624,40.1,98.381,93.335l6.144,135.76c.732,67.368-48.116,94.95-104.525,95.335L92.616,327.374C34.061,327.8-1.063,283.663.022,229.105l3.8-135.76C7.41,33.54,33.3,1.093,92.616.01Z" transform="translate(2118.42 1991.302)" fill="url(#vb-b)"/><path d="M86.844.009H299.958c51.132-.746,89.665,37.307,92.25,86.824l5.761,126.29c.686,62.669-45.117,88.326-98.011,88.685L86.844,304.537C31.938,304.933-1,263.875.02,213.123L3.58,86.834C6.948,31.2,31.222,1.016,86.844.009Z" transform="translate(2136.977 2001.737)" fill="#111827"/><circle cx="27.626" cy="27.626" r="27.626" transform="translate(2421.148 2104.357)" fill="url(#vb-c)"/><circle cx="27.626" cy="27.626" r="27.626" transform="translate(2208.034 2104.357)" fill="url(#vb-c)"/></g></svg>',ql='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#FBF0DF" d="M12 22.596c6.628 0 12-4.338 12-9.688 0-3.318-2.057-6.248-5.219-7.986-1.286-.715-2.297-1.357-3.139-1.89C14.058 2.025 13.08 1.404 12 1.404c-1.097 0-2.334.785-3.966 1.821a49.92 49.92 0 0 1-2.816 1.697C2.057 6.66 0 9.59 0 12.908c0 5.35 5.372 9.687 12 9.687v.001ZM10.599 4.715c.334-.759.503-1.58.498-2.409 0-.145.202-.187.23-.029.658 2.783-.902 4.162-2.057 4.624-.124.048-.199-.121-.103-.209a5.763 5.763 0 0 0 1.432-1.977Zm2.058-.102a5.82 5.82 0 0 0-.782-2.306v-.016c-.069-.123.086-.263.185-.172 1.962 2.111 1.307 4.067.556 5.051-.082.103-.23-.003-.189-.126a5.85 5.85 0 0 0 .23-2.431Zm1.776-.561a5.727 5.727 0 0 0-1.612-1.806v-.014c-.112-.085-.024-.274.114-.218 2.595 1.087 2.774 3.18 2.459 4.407a.116.116 0 0 1-.049.071.11.11 0 0 1-.153-.026.122.122 0 0 1-.022-.083a5.891 5.891 0 0 0-.737-2.331Zm-5.087.561c-.617.546-1.282.76-2.063 1-.117 0-.195-.078-.156-.181 1.752-.909 2.376-1.649 2.999-2.778 0 0 .155-.118.188.085 0 .304-.349 1.329-.968 1.874Zm4.945 11.237a2.957 2.957 0 0 1-.937 1.553c-.346.346-.8.565-1.286.62a2.178 2.178 0 0 1-1.327-.62 2.955 2.955 0 0 1-.925-1.553.244.244 0 0 1 .064-.198.234.234 0 0 1 .193-.069h3.965a.226.226 0 0 1 .19.07c.05.053.073.125.063.197Zm-5.458-2.176a1.862 1.862 0 0 1-2.384-.245 1.98 1.98 0 0 1-.233-2.447c.207-.319.503-.566.848-.713a1.84 1.84 0 0 1 1.092-.11c.366.075.703.261.967.531a1.98 1.98 0 0 1 .408 2.114 1.931 1.931 0 0 1-.698.869v.001Zm8.495.005a1.86 1.86 0 0 1-2.381-.253 1.964 1.964 0 0 1-.547-1.366c0-.384.11-.76.32-1.079.207-.319.503-.567.849-.713a1.844 1.844 0 0 1 1.093-.108c.367.076.704.262.968.534a1.98 1.98 0 0 1 .4 2.117 1.932 1.932 0 0 1-.702.868Z"/></svg>',Wt={bun:{svg:`data:image/svg+xml,${encodeURIComponent(ql)}`,color:"#FBF0DF",name:"Bun"},typescript:{svg:`data:image/svg+xml,${encodeURIComponent(Ul)}`,color:"#3178C6",name:"TypeScript"},react:{svg:`data:image/svg+xml,${encodeURIComponent(Vl)}`,color:"#61DAFB",name:"React"},vite:{svg:`data:image/svg+xml,${encodeURIComponent(Gl)}`,color:"#BD34FE",name:"Vite"},nextjs:{svg:`data:image/svg+xml,${encodeURIComponent(Hl)}`,color:"var(--foreground, #000000)",name:"Next.js"},nodejs:{svg:`data:image/svg+xml,${encodeURIComponent(_l)}`,color:"#339933",name:"Node.js"},firebase:{svg:`data:image/svg+xml,${encodeURIComponent($l)}`,color:"#DD2C00",name:"Firebase"},vercel:{svg:`data:image/svg+xml,${encodeURIComponent(Wl)}`,color:"var(--foreground, #000000)",name:"Vercel"},stripe:{svg:`data:image/svg+xml,${encodeURIComponent(Kl)}`,color:"#635BFF",name:"Stripe"},valibot:{svg:`data:image/svg+xml,${encodeURIComponent(Yl)}`,color:"#FBBF24",name:"Valibot"}};import{jsx as ee,jsxs as ac}from"react/jsx-runtime";function oc({techKey:t,variant:e}){let o=Wt[t],[n,r]=Zl(!1);if(!o)return null;let a=o.svg.replace("data:image/svg+xml,",""),i=decodeURIComponent(a);return ee(Ql,{variant:e,className:"dndev-tech-card",style:{"--tech-color":o.color},"data-hover":n,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:ac(jl,{direction:"column",align:"center",gap:"tight",children:[ee("div",{className:"dndev-tech-card-logo","data-tech":t,dangerouslySetInnerHTML:{__html:i}}),ee(ec,{as:"span",level:"small",children:o.name})]})})}function nc({title:t,techs:e,cols:o=3,columns:n,gap:r="medium",separator:a=!1,className:i}){let c=n||(typeof o=="number"?{mobile:o,tablet:o,desktop:o,wide:o}:{mobile:o[0],tablet:o[1],desktop:o[2],wide:o[3]}),l=s=>{if(s==="long")return{cols:2,rows:1};if(s==="high")return{cols:1,rows:2};if(s==="huge")return{cols:2,rows:2}},p=e.filter(s=>Wt[s.name]).map(s=>({id:s.name,content:ee(oc,{techKey:s.name,variant:s.variant}),span:l(s.size)})),m=ee(Jl,{items:p,columns:c,gap:r,className:i,ariaLabel:"Technology stack"});return t?ee(Xl,{title:t,separator:a,className:"dndev-tech-bento",children:ee("div",{className:"dndev-tech-bento-grid",children:m})}):ee("div",{className:tc("dndev-tech-bento",i),children:m})}var rc=nc;import{Suspense as ic,lazy as sc}from"react";import{useConsent as Dn}from"@donotdev/core";import{jsx as Pn}from"react/jsx-runtime";var lc=sc(()=>Promise.resolve().then(()=>(Ct(),Tt)));function z2(){let t=Dn("hasConsented"),e=Dn("showBanner");return t&&!e?null:Pn(ic,{fallback:null,children:Pn(lc,{})})}import{Button as cc,ScrollArea as pc}from"@donotdev/components";import{cn as An}from"@donotdev/components";import{jsx as Be,jsxs as dc}from"react/jsx-runtime";function H2({content:t,cta:e,align:o="center",justify:n="center",disableScrollArea:r=!1,contentClassName:a,ctaClassName:i}){return dc("div",{className:"dndev-game-container",children:[Be("div",{className:An("dndev-game-container__content",a),"data-align":o,"data-justify":n,children:r?Be("div",{style:{overflow:"auto",overscrollBehavior:"contain"},children:t}):Be(pc,{className:"dndev-game-container__scroll",children:t})}),e&&Be("div",{className:An("dndev-game-container__cta",i),children:Be(cc,{onClick:e.onClick,disabled:e.disabled??!1,variant:e.variant??"default",className:"dndev-game-container__cta-button",children:e.label})})]})}import{useEffect as mc,useMemo as uc,Suspense as gc,lazy as fc}from"react";import{jsx as Kt}from"react/jsx-runtime";var In=new Set;function K2({screenRegistry:t,currentScreen:e,nextScreen:o,fallback:n=null}){mc(()=>{if(o&&!In.has(o)){In.add(o);let a=t[o];a&&a().catch(()=>{})}},[o,t]);let r=uc(()=>{if(!e)return null;let a=t[e];return a?fc(a):null},[e,t]);return!e||!r?null:Kt("div",{style:{height:"100%"},children:Kt(gc,{fallback:n,children:Kt(r,{})})})}import{cn as yc,DISPLAY as Yt}from"@donotdev/components";import{useAppConfig as Fn}from"@donotdev/core";import{jsx as st,jsxs as bc}from"react/jsx-runtime";var hc=({display:t=Yt.AUTO,linkToHome:e=!0,className:o})=>{let n=Fn("name"),a=Fn("shortName")||n||"App",i=M.getLogoSvgContent(),c=M.resolveLogo(),l=t===Yt.FULL||t===Yt.AUTO,p=i?st("div",{className:"app-branding-logo",role:"img","aria-label":a,dangerouslySetInnerHTML:{__html:i}}):M.assetExists(c)?st("img",{src:c,alt:a,className:"app-branding-logo"}):null,m=l&&st("span",{className:"app-branding-title","data-display":t,children:a}),s=bc("div",{className:yc("app-branding",o),"data-display":t,children:[p,m]});return e?st(C,{path:"/",className:"app-branding-link",children:s}):s},vc=hc;import{cn as Rn}from"@donotdev/components";import{useAppConfig as Ln}from"@donotdev/core";import{jsx as Bn}from"react/jsx-runtime";var En={sm:{width:"var(--icon-md)",height:"var(--icon-md)"},md:{width:"var(--icon-touch)",height:"var(--icon-touch)"},lg:{width:"var(--icon-touch)",height:"var(--icon-touch)"},xl:{width:"var(--touch-target)",height:"var(--touch-target)"},header:{height:"var(--icon-touch)",width:"auto"}},xc=({alt:t,size:e="header",className:o})=>{let n=t||Ln("name")||Ln("shortName")||"App",r=M.getLogoSvgContent(),a=M.resolveLogo(),i=typeof e=="string"&&e in En?En[e]:typeof e=="string"?{}:{width:e,height:e};return r?Bn("div",{className:Rn("app-icon-header",o),style:{display:"inline-flex",...i},role:"img","aria-label":n,dangerouslySetInnerHTML:{__html:r}}):Bn("img",{src:a,alt:n,className:Rn(o),style:{objectFit:"contain",...i}})},Tc=xc;import{cn as Mn}from"@donotdev/components";import{useAppConfig as zn,useBreakpoint as Cc}from"@donotdev/core";import{jsx as On}from"react/jsx-runtime";var Sc=({title:t,className:e,linkToHome:o=!0})=>{let n=Cc("isMobileOrTablet"),r=zn("name"),a=zn("shortName"),i=t||n&&a||r||"App",c=On("div",{className:Mn("dndev-text-base",e),style:{fontSize:"var(--font-size-xl)",fontWeight:700,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},children:i});return o?On(C,{path:"/",className:Mn("dndev-inline-block",e),children:c}):c},kc=Sc;import{ChevronRight as Ic}from"lucide-react";import{useMemo as Fc}from"react";import{cn as Rc}from"@donotdev/components";import{useTranslation as Lc}from"@donotdev/core";import{useLocation as Ec}from"@donotdev/ui/routing/hooks";import{useMemo as Un}from"react";import{useNavigationStore as u0,getRoutes as wc,getRouteManifest as g0}from"@donotdev/core";function Nc(){return Un(()=>{try{let t=wc();return!t||t.length===0?[]:Dc(t)}catch{return[]}},[])}function Vn(){let t=Nc();return Un(()=>t.flatMap(e=>e.routes),[t])}function Dc(t){let e=new Map;return t.forEach(o=>{let n=typeof o.path=="string"?o.path:String(o.path);if(!n||n==="undefined"||n==="null")return;let r=o.meta?.entity||Pc(n)||"other",a={path:n,label:o.meta?.title||Ac(n),icon:o.meta?.icon,component:o.component,importPath:o.importPath,exportName:o.exportName,auth:o.auth,meta:o.meta};e.has(r)||e.set(r,{label:r.charAt(0).toUpperCase()+r.slice(1),routes:[]}),e.get(r)?.routes.push(a)}),Array.from(e.values())}function Pc(t){return t.split("/").filter(Boolean)[0]||null}function Ac(t){let e=t.split("/").filter(Boolean),o=e[e.length-1];return o?o.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" "):"Home"}import{jsx as Me,jsxs as zc}from"react/jsx-runtime";var Bc=({items:t,separator:e=Ic,showHome:o=!0,homeHref:n="/",variant:r="default",className:a})=>{let{t:i}=Lc("dndev"),c=Ec(),l=Vn(),p=Fc(()=>new Set(l.map(g=>g.path)),[l]),m=t||(()=>{let g=c.pathname.split("/").filter(Boolean),d=[],u="";return g.forEach(f=>{u+=`/${f}`;let y=f.split("-").map(h=>h.charAt(0).toUpperCase()+h.slice(1)).join(" "),v=p.has(u)?u:void 0;d.push({label:y,href:v})}),d})(),s=o?[{label:i("navigation.home","Home"),href:n},...m]:m;return r==="smart"&&c.pathname.split("/").filter(Boolean).length<2?null:Me("nav",{role:"navigation","aria-label":"Breadcrumb navigation",className:Rc("breadcrumbs",a),children:s.map((g,d)=>{let f=d===s.length-1||!g.href;return zc("span",{className:"breadcrumb-item",children:[d>0&&Me(e,{className:"dndev-size-md separator"}),g.icon&&Me(g.icon,{className:"dndev-size-md icon"}),g.href&&!f?Me(C,{path:g.href,className:"breadcrumb-link",children:g.label}):Me("span",{className:"breadcrumb-label",children:g.label})]},d)})})},Mc=Bc;import{useTranslation as Oc,maybeTranslate as Gn,useLayout as qt,useAppConfig as Uc}from"@donotdev/core";import{jsx as ve,jsxs as Gc}from"react/jsx-runtime";var Vc=({asLink:t=!1,className:e})=>{let o=Uc("app"),n=qt("gameTitle"),r=qt("gameSubtitle"),a=qt("gameNamespace"),{t:i}=Oc(a||"dndev"),c=Gn(i,n??void 0),l=Gn(i,r??void 0),p=o?.name||"Game";if(c)return ve("div",{className:e,children:Gc("div",{style:{textAlign:"center"},children:[ve("h2",{style:{fontSize:"var(--font-size-lg)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c}),l&&ve("p",{style:{color:"var(--muted-foreground)",fontSize:"var(--font-size-sm)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l})]})});let m=ve("h2",{style:{fontSize:"var(--font-size-lg)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:p});return t?ve(C,{path:"/",className:e,style:{fontSize:"var(--font-size-2xl)",fontWeight:700,transition:"color var(--dur-fast) ease-out"},onMouseEnter:s=>s.currentTarget.style.color="var(--primary)",onMouseLeave:s=>s.currentTarget.style.color="var(--foreground)",children:p}):ve("div",{className:e,children:m})};import{Trash2 as Hc}from"lucide-react";import{useState as Hn}from"react";import{Button as _c,BUTTON_VARIANT as $c,Checkbox as Wc,Stack as Zt,useToast as Kc}from"@donotdev/components";import{useTranslation as Yc}from"@donotdev/core";import{useRefresh as qc}from"@donotdev/ui/routing/hooks";import{jsx as lt,jsxs as _n}from"react/jsx-runtime";function Zc(){let{t}=Yc("dndev"),{toast:e}=Kc(),[o,n]=Hn(!1),r=qc(),[a,i]=Hn({localStorage:!0,sessionStorage:!0,applicationCache:!0,serviceWorker:!0,cookies:!0,indexedDB:!0,webSQL:!0,memoryCache:!0}),c=async()=>{try{n(!0);let l=[];if(a.localStorage&&typeof window<"u")try{localStorage.clear(),l.push("localStorage")}catch{}if(a.sessionStorage&&typeof window<"u")try{sessionStorage.clear(),l.push("sessionStorage")}catch{}if(a.indexedDB&&typeof window<"u"&&"indexedDB"in window)try{if("databases"in indexedDB){let m=await indexedDB.databases();await Promise.all(m.map(async s=>{if(s.name){let g=indexedDB.deleteDatabase(s.name);await new Promise((d,u)=>{g.onsuccess=()=>d(void 0),g.onerror=()=>u(g.error)})}}))}l.push("IndexedDB")}catch{}if(a.webSQL&&"openDatabase"in window)try{let m=globalThis.openDatabase("","","","");m&&m.transaction&&m.transaction(s=>{s.executeSql('SELECT name FROM sqlite_master WHERE type="table"',[],(g,d)=>{for(let u=0;u<d.rows.length;u++){let f=d.rows.item(u).name;g.executeSql(`DROP TABLE IF EXISTS ${f}`)}})}),l.push("WebSQL")}catch{}if(a.applicationCache&&"caches"in window)try{let m=await caches.keys();await Promise.all(m.map(async s=>{try{await caches.delete(s)}catch{}})),l.push("Application Cache")}catch{}if(a.serviceWorker&&"serviceWorker"in navigator)try{let m=await navigator.serviceWorker.getRegistrations();await Promise.all(m.map(async s=>{try{await s.unregister()}catch{}})),l.push("Service Workers")}catch{}if(a.cookies)try{document.cookie.split(";").forEach(m=>{let s=m.indexOf("="),g=s>-1?m.substr(0,s):m;document.cookie=`${g.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`,document.cookie=`${g.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=${window.location.hostname}`,document.cookie=`${g.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=.${window.location.hostname}`}),l.push("Cookies")}catch{}if(a.memoryCache)try{"gc"in window&&typeof globalThis.gc=="function"&&globalThis.gc(),l.push("Memory Cache")}catch{}let p=l.length>0?t("settings.clearCache.success","Cache cleared successfully: {{items}}",{items:l.join(", ")}):t("settings.clearCache.noItemsCleared","No cache items were cleared");e("success",p),l.length>0&&setTimeout(()=>{typeof globalThis<"u"&&globalThis._DNDEV_STORES_&&(globalThis._DNDEV_STORES_={}),typeof window<"u"?window.location.href=window.location.href:r()},1e3)}catch{e("error",t("settings.clearCache.error","Error clearing cache"))}finally{n(!1)}};return _n(Zt,{gap:"medium",children:[lt(Zt,{gap:"medium",children:Object.entries(a).map(([l,p])=>_n(Zt,{direction:"row",align:"center",gap:"tight",children:[lt(Wc,{id:l,checked:p,onCheckedChange:m=>i(s=>({...s,[l]:!!m}))}),lt("label",{htmlFor:l,style:{fontSize:"var(--font-size-sm)",fontWeight:500,lineHeight:1,cursor:"pointer"},children:t(`settings.clearCache.${l}`,l.charAt(0).toUpperCase()+l.slice(1))})]},l))}),lt(_c,{variant:$c.DESTRUCTIVE,style:{margin:"0 auto"},disabled:o||!Object.values(a).some(Boolean),onClick:c,icon:Hc,children:o?t("settings.clearCache.clearing","Clearing..."):t("settings.clearCache.button","Clear Cache")})]})}var Jt=Zc;import{DropdownMenu as jc,Button as Qt,Stack as Wn}from"@donotdev/components";import{Link as Jc}from"lucide-react";import{navigationMenuTriggerStylePrimitive as Qc}from"@donotdev/components";re();import{jsx as $n,jsxs as Xc}from"react/jsx-runtime";var be=({route:t,showIcons:e=!0})=>{let o=e&&!!t.icon,n=!!t.label;return Xc(C,{path:t.path,className:Qc(),...o&&!n&&{"data-display":"compact"},children:[e&&$n(L,{icon:t.icon,fallback:Jc}),$n("span",{children:t.label})]})};import{jsx as G}from"react/jsx-runtime";var ep=({navigation:t,className:e})=>G(Wn,{role:"navigation",direction:"row",align:"center",className:e,style:{gap:"var(--gap-sm)"},children:t.map((o,n)=>o.routes&&o.routes.length>0?G(jc,{trigger:G(Qt,{icon:o.icon,children:o.label}),items:o.routes.map(r=>{let a=r.path?r.external?G("a",{href:r.path,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",width:"100%"},children:G(be,{route:r})}):G(C,{path:r.path,style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",width:"100%"},children:G(be,{route:r})}):G(Wn,{direction:"row",align:"center",style:{gap:"var(--gap-sm)",width:"100%"},children:G(be,{route:r})});return{label:r.label,children:a,asChild:!!r.path}}),contentAlign:"start"},o.label+n):o.path?G(Qt,{icon:o.icon,"aria-label":o.label,render:({children:r,...a})=>G(C,{path:o.path,...a,children:r}),children:o.label},o.label+n):G(Qt,{icon:o.icon,disabled:!0,"aria-label":o.label,children:o.label},o.label+n))}),tp=ep;import{Card as op,cn as np}from"@donotdev/components";import{jsx as Xt}from"react/jsx-runtime";var rp=({languages:t,currentLanguage:e,onLanguageChange:o,className:n})=>Xt(op,{className:np("dndev-z-modal",n),style:{position:"fixed",bottom:"var(--gap-md)",right:"var(--gap-md)",display:"flex",alignItems:"center",gap:"var(--gap-sm)",transition:"var(--dur-fast) ease-out"},role:"region","aria-label":"Language selector","data-role":"floating",children:Xt("select",{style:{backgroundColor:"transparent",outline:"none",fontSize:"var(--font-size-base)",cursor:"pointer"},value:e,onChange:r=>o?.(r.target.value),"aria-label":"Select language",children:t.map(r=>Xt("option",{value:r,children:r},r))})}),ap=rp;import{MoreHorizontal as ip}from"lucide-react";import{Button as sp,BUTTON_VARIANT as lp,DropdownMenu as cp}from"@donotdev/components";import{jsx as Kn}from"react/jsx-runtime";var pp=({children:t,className:e})=>Kn(cp,{trigger:Kn(sp,{variant:lp.GHOST,icon:ip,"aria-label":"Menu",className:e}),contentAlign:"end",children:t}),dp=pp;import{MoreHorizontal as mp}from"lucide-react";import{DISPLAY as ze,DropdownMenu as up,Button as gp}from"@donotdev/components";import{cn as fp}from"@donotdev/components";import{useBreakpoint as Yn,useTranslation as yp}from"@donotdev/core";ye();import{jsx as ct}from"react/jsx-runtime";var hp=({className:t="",showIcons:e=!0,display:o=ze.AUTO})=>{let{t:n}=yp("dndev"),r=Yn("isMobile"),a=Yn("isTablet"),i=_();return(o===ze.AUTO?r||a?ze.COMPACT:ze.FULL:o)===ze.COMPACT?ct(up,{trigger:ct(gp,{variant:"ghost",icon:mp,"aria-label":n("navigation.menu","Navigation"),className:t}),contentAlign:"end",items:i.map(l=>({label:l.label,children:ct(be,{route:l,showIcons:e}),asChild:!0}))}):ct(rn,{overflowDetection:!0,showIcons:e,className:fp(t),style:{flex:1}})},vp=hp;import{Bell as bp}from"lucide-react";import{useMemo as xp,useEffect as Tp,useRef as Cp}from"react";import{Button as Sp,cn as kp,toast as wp,Stack as Np}from"@donotdev/components";import{jsx as jt}from"react/jsx-runtime";var Dp={sm:{button:{width:"var(--icon-md)",height:"var(--icon-md)"},icon:{width:"var(--icon-md)",height:"var(--icon-md)"},badge:{width:"var(--icon-md)",height:"var(--icon-md)",fontSize:"var(--font-size-xs)"}},md:{button:{width:"var(--touch-target)",height:"var(--touch-target)"},icon:{width:"var(--icon-md)",height:"var(--icon-md)"},badge:{width:"var(--icon-md)",height:"var(--icon-md)",fontSize:"var(--font-size-xs)"}},lg:{button:{width:"var(--touch-target)",height:"var(--touch-target)"},icon:{width:"var(--icon-touch)",height:"var(--icon-touch)"},badge:{width:"var(--icon-touch)",height:"var(--icon-touch)",fontSize:"var(--font-size-sm)"}}},Pp=({notifications:t=[],count:e=0,loading:o=!1,onNotificationClick:n,onMarkAllRead:r,onDropdownOpen:a,className:i,maxVisible:c=10,alwaysShow:l=!1,size:p="md",disabled:m=!1})=>{let s=Dp[p],g=Cp(new Set),d=xp(()=>e===0?null:e>99?"99+":e.toString(),[e]),u=e>0||l;return Tp(()=>{t.forEach(f=>{if(!g.current.has(f.id)){g.current.add(f.id);let y=f.type==="error"?"error":f.type==="warning"?"warning":f.type==="success"?"success":"info";wp({title:f.title,description:f.message,toastType:y,duration:0,onDismiss:()=>{g.current.delete(f.id),n&&n(f)}})}})},[t,n]),u?jt("div",{className:kp(i),style:{position:"relative"},children:jt(Sp,{disabled:m,style:{...s.button,position:"relative"},onFocus:f=>{f.currentTarget.style.outline="2px solid var(--ring)",f.currentTarget.style.outlineOffset="2px"},onBlur:f=>{f.currentTarget.style.outline="none"},"aria-label":`${e} notification${e!==1?"s":""}`,icon:bp,children:d&&jt(Np,{align:"center",justify:"center",style:{position:"absolute",top:"-0.25rem",right:"-0.25rem",backgroundColor:"var(--destructive)",color:"var(--destructive-foreground)",borderRadius:"var(--radius-full)",fontWeight:600,lineHeight:1,minWidth:0,...s.badge},"aria-hidden":"true",children:d})})}):null},Ap=Pp;import{Settings as Ip,Check as Fp}from"lucide-react";import*as pt from"lucide-react";import{Button as Rp,BUTTON_VARIANT as Lp,DropdownMenu as Ep,Stack as Bp,DISPLAY as Mp}from"@donotdev/components";import{useTranslation as zp}from"@donotdev/core";import{useLanguageSelector as Op,useTheme as eo,Flag as Up}from"@donotdev/core";import{jsx as te,jsxs as Hp}from"react/jsx-runtime";function Vp({variant:t=Lp.OUTLINE}={}){let{t:e}=zp("dndev"),{languages:o,currentLanguage:n,changeLanguage:r,isLoading:a}=Op(),i=eo("availableThemes"),c=eo("currentTheme"),l=eo("setTheme"),p=d=>{if(!d)return pt.Palette;let u=d.replace(/['"]/g,"");return pt[u]||pt.Palette},m=i.map(d=>{let u=p(d.meta?.icon),f=d.name===c;return{label:d.displayName||d.name,icon:u,onClick:()=>l(d.name),checked:f}}),s=o.map(d=>{let u=d.id===n;return{label:d.name,onClick:()=>r(d.id),disabled:a,checked:u,className:u?"bg-accent":void 0,iconEnd:u&&!a?Fp:void 0,children:Hp(Bp,{direction:"row",align:"center",gap:"tight",children:[te(Up,{code:d.flagCode||d.id,title:`${d.name} flag`}),te("span",{children:d.name}),a&&u&&te("div",{style:{marginInlineStart:"auto"},children:te("div",{style:{width:"0.5rem",height:"0.5rem",borderRadius:"50%",backgroundColor:"var(--primary)"}})})]})}}),g=[{label:e("auth.title","Authentication"),subContent:te(Ut,{display:Mp.COMPACT})},{label:e("settings.theme","Theme"),subItems:m},{label:e("settings.language","Language"),subItems:s},{label:e("settings.clearCache.title","Clear Cache"),subContent:te(Jt,{})}];return te(Ep,{trigger:te(Rp,{variant:t,"aria-label":e("settings.title","Settings"),icon:Ip}),items:g,contentWidth:"14rem",contentAlign:"end"})}var Gp=Vp;import*as dt from"lucide-react";import{Button as qn,BUTTON_VARIANT as _p,DropdownMenu as $p,DISPLAY as Wp}from"@donotdev/components";import{useTranslation as Kp}from"@donotdev/core";import{useTheme as to}from"@donotdev/core";import{jsx as no}from"react/jsx-runtime";var oo=t=>{if(!t)return dt.Palette;let e=t.replace(/['"]/g,"");return dt[e]||dt.Palette},Yp=({display:t=Wp.AUTO,"no-tooltip":e=!1})=>{let{t:o}=Kp("dndev"),n=to("availableThemes"),r=to("currentTheme"),a=to("setTheme");if(n.length<=1)return null;let i=n.find(v=>v.name===r)||n[0],c=n.length===2?n.find(v=>v.name!==i?.name)||n[0]:null,l=i?oo(i.meta?.icon):null,p=c?oo(c.meta?.icon):null,m=i?.displayName||i?.name||"Theme",s=c?.displayName||c?.name||"Theme",g=n.length===2&&c&&p,d=g?p:l,u=g?e?void 0:o("common.themeSelector.tooltipWithNext","Change Theme: Switch to {{next}}",{next:c?.displayName||c?.name}):e?void 0:o("common.themeSelector.changeTheme","Change Theme"),f={variant:_p.OUTLINE,"aria-label":o("common.themeSelector.changeTheme","Change Theme"),tooltip:u,icon:d,display:t};if(g&&c)return no(qn,{...f,onClick:()=>a(c.name),children:s});if(!i||!l)return null;let y=n.map(v=>{let h=oo(v.meta?.icon),S=v.name===r;return{label:v.displayName||v.name,icon:h,onClick:()=>a(v.name),checked:S}});return no($p,{trigger:no(qn,{...f,children:m}),items:y,contentWidth:"10rem"})},qp=Yp;import{useEffect as Jp}from"react";import{checkLicense as Qp}from"@donotdev/core";var Zp='<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512"><title>logo</title><style>.s0{opacity:.98;fill:#f23d29}.s1{opacity:.99;fill:#03bec4}.s2{opacity:.97;fill:#27494a}</style><g id="Background"><path id="Path 0" fill-rule="evenodd" class="s0" d="m254 41.1c5.8-0.1 15.2 0.4 21 0.9 5.8 0.6 16 2.2 22.8 3.5 6.7 1.4 17.5 4.2 23.9 6.4 6.5 2.1 16.7 6.1 22.8 8.8 6.1 2.7 15.5 7.6 21 10.8 5.5 3.3 14.3 9.2 19.5 13 5.2 3.9 13.8 11.2 19 16.2 5.2 5 12.2 12.3 15.5 16.2 3.3 4 8.8 11.1 12.2 15.9 3.4 4.8 8.7 13.2 11.7 18.7 3 5.5 6.9 13.4 8.7 17.5 1.7 4.1 4.7 12 6.6 17.5 1.9 5.5 4.5 14.5 5.8 20 1.3 5.5 3.1 15.3 3.9 21.8 0.9 6.6 1.6 19 1.6 28.7 0 9.4-0.7 22.1-1.5 28.3-0.8 6.1-3 17.3-4.8 24.7-1.9 7.4-5.5 18.9-8.2 25.5-2.6 6.6-7 16.3-9.8 21.5-2.8 5.2-8 13.8-11.5 19-3.6 5.2-9.3 12.9-12.7 17-3.5 4.1-10.7 11.8-16.2 17-5.4 5.3-12.7 11.9-16.3 14.7-3.6 2.8-11.4 8.3-17.5 12.2-6.1 4-16.4 9.8-23 13.1-6.6 3.2-17.4 7.6-24 9.8-6.6 2.3-17.2 5.2-23.5 6.6-6.3 1.4-16.2 3-22 3.7-6.4 0.7-17.5 1-28.5 0.6-11.9-0.3-21.7-1.2-29-2.6-6.1-1.1-15.9-3.4-22-5.1-6.1-1.7-15.9-5.2-22-7.6-6.1-2.5-15.5-6.9-21-9.8-5.5-2.9-14.1-8-19-11.3-4.9-3.3-12.4-8.7-16.5-12-4.1-3.4-12.5-11.2-18.6-17.4-6.1-6.3-13.9-15.2-17.3-19.9-3.5-4.7-8.8-12.6-11.9-17.5-3-4.9-7.9-13.9-10.8-20-2.9-6.1-7.1-16.4-9.3-23-2.2-6.6-5.1-17.6-6.5-24.5-1.4-6.9-3-17.4-3.7-23.5-0.7-6.7-0.9-17.2-0.6-27 0.4-8.8 1.3-20.5 2.2-26 0.8-5.5 2.7-14.5 4.1-20 1.4-5.5 3.9-14.1 5.5-19 1.7-4.9 6.3-15.8 10.4-24 4-8.3 10-19.1 13.3-24 3.3-4.9 9-12.6 12.5-17 3.6-4.4 11.4-12.8 17.3-18.6 6-5.8 15.4-13.9 20.9-18 5.5-4.1 14.5-10 20-13.2 5.5-3.1 14.5-7.6 20-10.1 5.5-2.4 15.1-6 21.3-8 6.1-2 16.7-4.7 23.5-6.1 6.7-1.3 16.3-2.8 21.2-3.3 4.9-0.5 13.7-1 19.5-1.1zm-21 38c-4.7 0.5-12.1 1.9-16.5 3-4.4 1.1-11.6 3.1-16 4.5-4.4 1.5-13.8 5.4-21 8.9-7.2 3.5-16.1 8.5-20 11.1-3.8 2.6-10 7.2-13.8 10.3-3.7 3.1-6.7 5.9-6.7 6.3 0 0.5 9.3 10.3 20.8 21.9l20.7 21c5.5-10.5 9-16.5 11.5-20.1 2.4-3.6 7.2-9.6 10.5-13.5 3.3-3.8 9.4-9.6 13.5-12.9 4.1-3.2 10.7-7.4 14.5-9.2 3.9-1.8 9.7-4 13-4.9 3.3-0.8 9.6-1.5 14-1.5 4.4 0 10.7 0.7 14 1.6 3.3 0.9 9.1 3.2 13 5.1 3.9 2 9.3 5.2 12 7.3 2.8 2 8.5 7.5 12.9 12.1 4.3 4.6 10.2 11.8 13.1 15.9 2.9 4.1 7.8 12.2 10.8 18 3 5.8 7.1 14.8 9 20 2 5.2 4.2 13 5.1 17.3 0.9 4.2 1.6 11.4 1.6 15.9 0 5.6-0.6 10.6-2.1 15.3-1.1 3.8-3.8 9.9-5.9 13.5-2.1 3.6-5.8 8.9-8.4 11.7-2.5 2.9-4.6 5.6-4.6 6 0 0.5 1.4 1.2 3.2 1.6 1.8 0.4 6.4 2.4 10.3 4.4 3.9 1.9 9 4.9 11.5 6.6 2.5 1.8 7.1 5.9 10.4 9.2 4.2 4.3 7.1 8.6 10.1 15 2.4 4.9 5 11.9 5.9 15.5 0.9 3.6 2.3 11.9 3.2 18.5 1.1 8 1.4 15.9 1.1 23.5l-0.5 11.5 6.3 6.4c6.3-8.1 10.4-13.8 13.1-17.9 2.8-4.1 6.4-10 8.1-13 1.7-3 5.1-10.2 7.6-16 2.5-5.8 5.8-15.2 7.5-21 1.7-5.8 3.7-13.9 4.6-18 0.8-4.1 2-11.9 2.5-17.3 0.6-5.3 1.1-13.5 1.1-18.2 0-4.7-0.5-12.9-1.1-18.3-0.6-5.3-1.9-13.5-2.9-18.2-1-4.7-3.1-12.3-4.5-17-1.5-4.7-5.1-13.4-7.9-19.5-2.9-6.1-7.6-14.8-10.6-19.5-2.9-4.7-7.2-11-9.5-14-2.3-3-7.8-9.3-12.1-13.9-4.3-4.6-12-11.6-16.9-15.6-4.9-4.1-13.1-9.9-18-13-4.9-3.1-13.3-7.7-18.5-10.2-5.2-2.5-13.6-6.1-18.5-7.8-4.9-1.8-14.2-4.5-20.5-5.9-6.3-1.4-17.1-3-24-3.6-6.9-0.5-13.4-0.9-14.5-0.8-1.1 0.1-4.5 0.3-7.5 0.5-3 0.2-9.3 0.8-14 1.4zm-125.4 79.6c-4.3 6.5-9.8 15.9-12.1 20.8-2.4 4.9-5.9 13.7-7.9 19.5-1.9 5.8-4.4 15-5.5 20.5-1.1 5.5-2.5 15.8-3.1 23-0.6 7.2-0.8 16.8-0.5 21.5 0.4 4.7 1.5 13.9 2.5 20.5 1.1 6.6 3.5 17.3 5.4 23.8 2 6.4 5.5 16.1 7.9 21.5 2.3 5.3 6.7 13.8 9.7 18.7 3 4.9 8.1 12.4 11.4 16.5 3.3 4.1 9.8 11.5 14.5 16.3 4.7 4.9 11.8 11.2 15.6 14.2 3.9 2.9 11.1 7.9 16 11 4.9 3.1 13.1 7.6 18 10 4.9 2.4 13.7 5.9 19.5 7.9 5.8 1.9 14.6 4.4 19.5 5.5 4.9 1.1 13.7 2.5 19.5 3.2 6.6 0.7 16.1 0.9 25.5 0.6 9.8-0.4 19.1-1.5 27-3.1 6.6-1.4 16.7-4.1 22.5-6.1 5.8-2 15-5.8 20.5-8.5 5.5-2.7 13.8-7.4 18.5-10.5 4.7-3.2 9.3-6.5 10.3-7.4 1.6-1.5 1.6-1.7-0.5-3.9-1.3-1.2-2.6-2.2-3-2.2-0.5 0-3.4 2-6.5 4.4-3.2 2.4-9.4 6.4-13.8 8.9-4.4 2.6-12.7 6.4-18.5 8.6-5.8 2.2-15.2 5.1-21 6.5-5.8 1.4-14.6 3-19.5 3.7-4.9 0.6-15.7 1.1-24 1.1-8.2 0-19.5-0.7-25-1.6-5.5-0.8-14.7-2.7-20.5-4.1-5.8-1.5-15-4.5-20.5-6.6-5.5-2.2-12.9-5.6-16.5-7.5-3.6-2-10.3-6.1-15-9.2-4.7-3.1-12.7-9.7-17.8-14.7-7.5-7.2-9.5-9.8-10.2-13-0.5-2.2-1-9.9-1-17 0-7.1 0.7-17.3 1.5-22.5 0.8-5.2 2.3-12.8 3.5-16.8 1.1-3.9 3.3-9.8 4.9-12.9 1.6-3.2 4.5-7.8 6.5-10.3 1.9-2.5 6.1-6.6 9.3-9.3 3.2-2.6 9.2-6.5 13.3-8.6 4.1-2.1 9.3-4.4 11.5-5.1 2.2-0.7 4.3-1.5 4.7-1.9 0.4-0.3-1.3-3.1-3.8-6.1-2.5-3-6.1-8.4-8.2-12-2-3.6-4.7-9.9-6-14-1.8-5.6-2.5-10-2.6-17 0-5.2 0.2-11.7 0.5-14.5l0.6-5-49.2-48.5zm117.6 8.2c-4 1.1-9.8 3.1-13 4.3-3.2 1.3-8.4 4.1-11.6 6.3l-5.8 3.9 6.7 6.5c7.5-3.7 9.9-4 24.2-4 13.2 0 17 0.4 20.4 1.8 2.3 0.9 4.5 2.5 5 3.5 0.6 1.2 2 1.7 4.9 1.7 2.8 0 4.2-0.5 4.8-1.7 0.5-1 2.5-2.6 4.5-3.5 3.1-1.5 6.6-1.8 21.7-1.8 9.9 0 19.1 0.5 20.5 1 1.3 0.6 3.1 2 4 3.3 1.1 1.6 1.5 4.8 1.5 11.7 0 7.9-0.4 10.3-2.3 14-1.2 2.4-3.4 5.3-4.7 6.3-1.4 1-4.3 2.2-6.5 2.7-2.2 0.6-7.9 1-12.5 1-4.7 0-10.3-0.4-12.5-1-2.2-0.5-5.2-1.8-6.5-2.8-1.4-1-3.6-3.6-4.8-5.8-1.2-2.1-2.6-6-3-8.6-0.7-4.6-0.9-4.8-4-4.8-3.2 0-3.3 0.2-4.4 5.8-0.6 3.1-1.7 6.9-2.4 8.2-0.7 1.4-2.5 3.7-4.1 5.2-1.6 1.4-4 2.9-5.3 3.3-2.4 0.7-1 2.2 20.5 23.6 12.6 12.6 23.3 22.9 23.7 22.9 0.4 0 4.4-3.5 8.9-7.7 4.5-4.3 10-10.5 12.2-13.8 2.2-3.3 5.5-9.1 7.3-13 1.8-3.8 4.5-11 5.9-16 1.5-4.9 2.9-12.8 3.2-17.5 0.5-6.5 0.2-9.5-1-13-1-2.6-3.5-6.2-5.9-8.5-2.4-2.3-7.7-5.8-11.8-7.8-4.2-2-10.9-4.5-15-5.5-4.2-1.1-11.6-2.5-16.5-3.1-5-0.6-12.6-1-17-0.9-4.4 0-11.2 0.5-15 1-3.9 0.5-10.3 1.8-14.3 2.8zm-13.7 29.2c-0.5 0.9 2 4.1 8.1 10.1 7.5 7.4 9.4 8.7 12.1 8.7 1.8 0 4.2-0.4 5.3-1 1.1-0.5 2.8-2.9 3.9-5.2 1.1-2.4 2-5.8 2-7.8 0.1-1.9-0.6-4.4-1.3-5.5-1.3-1.8-2.8-2-13.3-2.2-6.5-0.1-12.8 0.2-13.9 0.7-1.2 0.5-2.5 1.5-2.9 2.2zm58.5 1.1c-0.8 2.3-0.8 4.4-0.1 7.5 0.6 2.3 2.1 5.3 3.3 6.6 1.6 1.7 3.9 2.6 8.3 3.1 3.3 0.4 8.2 0.5 11 0.1 2.7-0.4 5.7-1.1 6.7-1.7 1-0.5 2.4-2.4 3.3-4.4 0.8-1.9 1.5-5.2 1.5-7.2 0-2.1-0.7-4.8-1.5-6-1.5-2.2-2.1-2.3-15.3-2.2-7.6 0.1-14.3 0.3-14.9 0.6-0.7 0.2-1.7 1.9-2.3 3.6zm-71.9 38c1.7 3.4 5 8.9 7.4 12.2 2.3 3.3 6.9 8.5 10.1 11.6 3.2 3.1 7.9 6.8 10.4 8.2 2.4 1.4 6.5 3.3 9 4.2 2.4 0.8 4.5 1.4 4.7 1.3 0.1-0.2-9.9-10.4-22.3-22.8-12.3-12.3-22.5-22.1-22.5-21.7 0.1 0.4 1.5 3.5 3.2 7z"/><path id="Path 1" class="s1" d="m243 105.6c-3 0.8-8.7 2.9-12.5 4.8-3.8 1.8-10.4 6-14.5 9.2-4.1 3.3-10.2 9.1-13.5 12.9-3.4 3.9-8.4 10.4-11.1 14.5-2.8 4.1-6.5 10.2-8.2 13.5l-3.1 6 14.8 15c9-6.2 15.4-9.4 20.1-11.1 4.7-1.8 12-3.9 16.2-4.8 4.3-0.9 12.4-1.9 18-2.2 6.2-0.4 14.5-0.2 20.8 0.6 5.8 0.6 13.9 2.1 18 3.1 4.1 1.1 10.9 3.6 15 5.6 4.1 2 9.4 5.5 11.8 7.7 2.5 2.4 5 6 5.9 8.6 1.3 3.4 1.5 6.5 1.1 13-0.4 4.7-1.8 12.6-3.2 17.5-1.5 4.9-4.2 12.2-6 16-1.8 3.9-5 9.7-7.3 13-2.2 3.3-8 9.7-12.9 14.3l-8.9 8.3c76.3 76.3 98.8 98 99.2 97.6 0.4-0.5 1-5.7 1.2-11.5 0.2-6.2-0.4-15.7-1.3-22.7-0.9-6.6-2.3-14.9-3.2-18.5-0.9-3.6-3.5-10.6-5.9-15.5-3-6.4-5.9-10.7-10.1-15-3.3-3.3-7.9-7.4-10.4-9.2-2.5-1.7-7.6-4.7-11.5-6.6-3.9-2-8.5-4-10.3-4.4-1.8-0.4-3.2-1.1-3.2-1.5 0-0.5 2.1-3.2 4.6-6 2.6-2.9 6.3-8.2 8.4-11.8 2.1-3.6 4.8-9.6 5.9-13.5 1.5-4.7 2.1-9.7 2.1-15.2 0-4.6-0.7-11.8-1.6-16-0.9-4.3-3.1-12.1-5.1-17.3-1.9-5.2-6-14.2-9-20-3-5.8-7.9-13.9-10.8-18-2.9-4.1-8.8-11.3-13.1-15.9-4.4-4.6-10.2-10.1-12.9-12.1-2.8-2.1-8.1-5.3-12-7.3-3.9-1.9-9.7-4.2-13-5.1-3.3-0.9-9.8-1.5-14.5-1.5-4.7 0-11 0.7-14 1.5zm-78.7 93.9c-0.4 2.2-0.8 8.7-0.7 14.5 0.1 8.3 0.6 12.1 2.5 18 1.4 4.1 4.1 10.4 6.1 14 2.1 3.6 5.7 9 8.2 12 2.5 3 4.2 5.8 3.8 6.1-0.4 0.4-2.5 1.2-4.7 1.9-2.2 0.7-7.4 3-11.5 5.1-4.1 2.1-10.1 6-13.3 8.6-3.2 2.7-7.4 6.8-9.3 9.3-2 2.5-4.9 7.1-6.5 10.3-1.6 3.1-3.8 9-4.9 13-1.2 3.9-2.7 11.5-3.5 16.7-0.8 5.2-1.5 15.4-1.5 22.5 0 7.1 0.5 14.8 1 17 0.7 3.2 2.7 5.8 10.2 13 5.1 5 13.1 11.6 17.8 14.7 4.7 3.1 11.4 7.2 15 9.2 3.6 1.9 11 5.3 16.5 7.5 5.5 2.1 14.7 5.1 20.5 6.6 5.8 1.4 15 3.3 20.5 4.1 5.5 0.9 16.8 1.6 25 1.6 8.3 0 19.1-0.5 24-1.1 4.9-0.7 13.7-2.3 19.5-3.7 5.8-1.4 15.2-4.3 21-6.5 5.8-2.2 14.1-6 18.5-8.6 4.4-2.5 10.8-6.7 14.2-9.2 3.5-2.5 6.3-4.9 6.3-5.3 0-0.5-26.5-27-58.8-59-54.3-53.8-59.2-58.4-63.8-59.8-2.7-0.8-7.4-3-10.4-4.8-3-1.8-7.9-5.7-10.8-8.5-3-2.9-7.3-7.9-9.7-11.2-2.4-3.3-6.4-10.3-8.9-15.5-4.2-8.7-5.6-10.6-18-23l-13.5-13.5z"/><path id="Path 2" fill-rule="evenodd" class="s2" d="m225.8 184c13.2 0 17 0.3 20.3 1.8 2.3 0.9 4.6 2.5 5 3.5 0.6 1.2 2.1 1.7 4.9 1.7 2.8 0 4.3-0.5 4.9-1.8 0.4-0.9 2.5-2.5 4.5-3.5 3-1.4 6.5-1.7 21.6-1.7 9.9 0 19.1 0.4 20.5 1 1.4 0.6 3.2 2 4 3.3 1.2 1.6 1.6 4.8 1.6 11.7-0.1 7.9-0.4 10.3-2.3 13.9-1.3 2.5-3.4 5.3-4.8 6.3-1.4 1-4.3 2.3-6.5 2.8-2.2 0.5-7.8 1-12.5 1-4.7 0-10.3-0.5-12.5-1-2.2-0.5-5.1-1.8-6.5-2.8-1.4-1-3.5-3.6-4.7-5.8-1.3-2.1-2.6-6-3-8.7-0.8-4.5-0.9-4.7-4.1-4.7-3.1 0-3.2 0.2-4.3 5.8-0.6 3.1-1.7 6.8-2.4 8.2-0.7 1.4-2.6 3.7-4.2 5.2-1.5 1.5-3.9 3-5.3 3.3-2 0.6-3.3 0-6.8-3.1-2.4-2.2-4.3-4.2-4.2-4.6 0-0.5 1.3-0.8 3-0.8 1.6 0 3.9-0.4 5-1 1.1-0.6 2.9-2.9 4-5.2 1.1-2.4 2-5.9 2-7.8 0-1.9-0.6-4.4-1.4-5.5-1.3-1.8-2.6-2-14.4-2-11.6 0-13.2 0.2-17.1 4l-4-4.5c-2.1-2.5-3.7-4.8-3.5-5.2 0.2-0.5 1.9-1.5 3.6-2.3 2.5-1 7.5-1.4 19.5-1.5zm44.3 13.3c-0.8 2.3-0.8 4.4-0.1 7.5 0.6 2.3 2.1 5.3 3.3 6.6 1.7 1.7 3.9 2.5 8.3 3.1 3.3 0.4 8.2 0.4 11 0 2.7-0.3 5.8-1.1 6.7-1.6 1-0.5 2.5-2.5 3.3-4.4 0.8-1.9 1.5-5.2 1.5-7.2 0-2.1-0.7-4.8-1.5-6-1.4-2.2-2.1-2.3-15.3-2.2-7.5 0-14.2 0.3-14.9 0.5-0.6 0.3-1.7 2-2.3 3.7zm-40 126.7c0.3-0.1 2.2 2 8 9l-23.5 22.7 22.4 23.8-7.8 8-16.1-15.5c-8.8-8.5-16.2-15.8-16.3-16.2-0.1-0.3 7.3-7.6 16.3-16.2 9.1-8.6 16.7-15.6 17-15.6zm33.5 0l4 0.1c2.2 0.1 5 0.4 6.1 0.7 2.1 0.7 1.8 1.7-19.4 62.7l-5.3-0.3c-3-0.2-5.6-0.5-5.9-0.7-0.3-0.2 4.2-14.4 10-31.4zm20.7 3.9l2.7 1.9c1.4 1.1 8.2 7.3 27.6 26l-15.5 15.6c-8.5 8.6-16 15.6-16.7 15.6-0.7 0-2.9-2-8.3-8.5l23.2-22-6.8-6.7c-3.8-3.7-8.1-7.6-9.6-8.8-1.5-1.1-2.8-2.5-2.9-3.1 0-0.6 1.4-3.1 3.1-5.5z"/></g></svg>',Zn=`data:image/svg+xml,${encodeURIComponent(Zp)}`;import{jsx as ro,jsxs as Jn}from"react/jsx-runtime";function Yy(){let t=Qp();return Jp(()=>{t.isValid},[t.isValid]),t.isValid?null:Jn("a",{href:"https://donotdev.com/pricing",target:"_blank",rel:"noopener noreferrer",style:{position:"fixed",right:"20px",top:"50%",transform:"translateY(-50%)",zIndex:9999,display:"flex",alignItems:"center",gap:"12px",padding:"12px 16px",backgroundColor:"rgba(255, 255, 255, 0.95)",border:"2px solid rgba(242, 61, 41, 0.3)",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",textDecoration:"none",transition:"all 0.2s ease",cursor:"pointer",opacity:.9},onMouseEnter:e=>{e.currentTarget.style.opacity="1",e.currentTarget.style.transform="translateY(-50%) scale(1.05)"},onMouseLeave:e=>{e.currentTarget.style.opacity="0.9",e.currentTarget.style.transform="translateY(-50%) scale(1)"},children:[ro("img",{src:Zn,alt:"DoNotDev Logo",style:{width:"48px",height:"48px",flexShrink:0}}),Jn("div",{style:{display:"flex",flexDirection:"column",gap:"2px"},children:[ro("div",{style:{fontFamily:"system-ui, sans-serif",fontSize:"13px",fontWeight:"600",color:"#27494a",lineHeight:"1.2"},children:"DoNotDev"}),ro("div",{style:{fontFamily:"system-ui, sans-serif",fontSize:"11px",fontWeight:"500",color:"#f23d29",lineHeight:"1.2"},children:"Get License"})]})]})}import{Stack as km}from"@donotdev/components";import{Mail as Xp,Calendar as jp,Clock as ed}from"lucide-react";import{useState as td}from"react";import{Skeleton as Qn,Badge as od,BADGE_VARIANT as nd,Text as mt,cn as Xn,CopyToClipboard as jn,Stack as Oe}from"@donotdev/components";import{getWeekFromISOString as rd}from"@donotdev/core";import{jsx as O,jsxs as xe}from"react/jsx-runtime";var ad=({config:t,value:e,t:o,className:n,loading:r=!1,showCopy:a=!1,asBadge:i=!1,truncate:c=!1,maxLength:l=50,showLabel:p=!1})=>{let[m,s]=td(!1),g=async()=>{try{await navigator.clipboard.writeText(e),s(!0),setTimeout(()=>s(!1),2e3)}catch{}},d=()=>{switch(t.type){case"email":return O(Xp,{});case"month":case"week":return O(jp,{});case"time":return O(ed,{});default:return null}},u=h=>{if(!h)return null;switch(t.type){case"email":return xe("a",{href:`mailto:${h}`,style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)"},onMouseEnter:S=>S.currentTarget.style.textDecoration="underline",onMouseLeave:S=>S.currentTarget.style.textDecoration="none",children:[d(),h]});case"month":return new Date(h).toLocaleDateString("en-US",{year:"numeric",month:"long"});case"week":return rd(h);case"time":return new Date(`2000-01-01T${h}`).toLocaleTimeString();default:return h}},f=h=>!c||h.length<=l?h:`${h.substring(0,l)}...`;if(r)return xe(Oe,{gap:"tight",children:[p&&O(Qn,{style:{height:"1rem",width:"6rem"}}),O(Qn,{className:"dndev-w-full",style:{height:"1.5rem"}})]});if(!e)return xe(Oe,{gap:"tight",children:[p&&O(mt,{as:"span",variant:"muted",children:t.label||t.name}),O(mt,{as:"span",variant:"muted",className:Xn(n),style:{fontStyle:"italic"},children:o("common.noValue",{defaultValue:"No value"})})]});let y=u(e),v=f(String(y));return i?xe(Oe,{direction:"row",align:"center",gap:"tight",children:[d(),O(od,{variant:nd.SECONDARY,className:n,children:v}),a&&O(jn,{text:e,tooltipText:o("copyToClipboard")||"Copy to clipboard",copiedTooltipText:o("copied")||"Copied!",ariaLabel:o("copyToClipboard")||"Copy to clipboard"})]}):xe(Oe,{gap:"tight",children:[p&&O(mt,{as:"span",variant:"muted",children:t.label||t.name}),xe(Oe,{direction:"row",align:"center",gap:"tight",children:[O("div",{className:Xn("dndev-flex-1",c&&"truncate",n),title:c&&e.length>l?e:void 0,children:O(mt,{as:"span",children:v})}),a&&O(jn,{text:e,tooltipText:o("copyToClipboard")||"Copy to clipboard",copiedTooltipText:o("copied")||"Copied!",ariaLabel:o("copyToClipboard")||"Copy to clipboard"})]})]})},ut=ad;import{Badge as id,Text as sd}from"@donotdev/components";import{jsx as er}from"react/jsx-runtime";var ld=({config:t,value:e,t:o,className:n})=>{if(e==null)return er(sd,{as:"span",variant:"muted",className:n,children:"-"});let r=typeof e=="boolean"?o(e?"common.yes":"common.no"):String(e);return er(id,{variant:typeof e=="boolean"?e?"default":"secondary":"outline",className:n,children:r})},ao=ld;import{Avatar as cd,Text as pd}from"@donotdev/components";import{jsx as tr}from"react/jsx-runtime";var dd=({config:t,value:e,t:o,className:n,size:r="md"})=>{if(!e)return tr(pd,{as:"span",variant:"muted",className:n,children:"-"});let a={sm:"size-touch",md:"size-touch",lg:"h-16 w-16"},i=c=>c.split(" ").map(l=>l.charAt(0)).slice(0,2).join("").toUpperCase();return tr(cd,{src:e,alt:t.label||"Avatar",fallback:i(t.label||"AV"),className:`${a[r]} ${n||""}`})},io=dd;import{Text as md}from"@donotdev/components";import{Link as ud}from"@donotdev/ui";import{jsx as or}from"react/jsx-runtime";var gd=({config:t,value:e,t:o,className:n})=>{if(!e)return or(md,{as:"span",variant:"muted",className:n,children:"-"});let a=(()=>{switch(t.type){case"email":return{path:`mailto:${e}`,"aria-label":o("common.sendEmailTo",{email:e})};case"tel":return{path:`tel:${e}`,"aria-label":o("common.callNumber",{number:e})};default:return{path:e,"aria-label":o("common.openLink")}}})();return or(ud,{...a,className:n||"",style:{color:"var(--primary)"},onMouseEnter:i=>i.currentTarget.style.textDecoration="underline",onMouseLeave:i=>i.currentTarget.style.textDecoration="none",children:e})},so=gd;import{Text as Ue}from"@donotdev/components";import{Skeleton as fd}from"@donotdev/ui";import{jsx as Te,jsxs as hd}from"react/jsx-runtime";var yd=({config:t,value:e,t:o,className:n,loading:r=!1})=>{if(r)return Te(fd,{className:n});if(!e)return Te(Ue,{as:"span",variant:"muted",className:n,children:"-"});try{let a=new Date(e),i=a.toLocaleDateString(),c=a.toLocaleTimeString();return t.type==="date"?Te(Ue,{as:"span",className:n,children:i}):hd("div",{className:n,children:[Te(Ue,{as:"span",children:i}),Te(Ue,{as:"span",variant:"muted",level:"small",children:c})]})}catch{return Te(Ue,{as:"span",variant:"muted",className:n,children:"-"})}},lo=yd;import{Text as nr}from"@donotdev/components";import{Skeleton as vd}from"@donotdev/ui";import{jsx as co}from"react/jsx-runtime";var bd=({config:t,value:e,t:o,className:n,loading:r=!1})=>r?co(vd,{className:n}):e==null?co(nr,{as:"span",variant:"muted",className:n,children:"-"}):co(nr,{as:"span",className:`font-mono ${n||""}`,children:e.toLocaleString()}),po=bd;import{Text as xd}from"@donotdev/components";import{Link as Td}from"@donotdev/ui";import{jsx as rr}from"react/jsx-runtime";var Cd=({config:t,value:e,t:o,className:n})=>e?rr(Td,{path:`tel:${e}`,className:n||"",style:{color:"var(--primary)"},onMouseEnter:r=>r.currentTarget.style.textDecoration="underline",onMouseLeave:r=>r.currentTarget.style.textDecoration="none","aria-label":o("common.callNumber",{number:e}),children:e}):rr(xd,{as:"span",variant:"muted",className:n,children:"-"}),mo=Cd;import{Text as ar}from"@donotdev/components";import{jsx as ir}from"react/jsx-runtime";var Sd=({config:t,value:e,t:o,className:n})=>e?ir(ar,{as:"div",level:"small",className:`whitespace-pre-wrap ${n||""}`,children:e}):ir(ar,{as:"span",variant:"muted",className:n,children:"-"}),uo=Sd;import{Text as kd}from"@donotdev/components";import{jsx as go,jsxs as Nd}from"react/jsx-runtime";var wd=({config:t,value:e,t:o,className:n})=>!e||e.trim()===""?go(kd,{as:"span",variant:"muted",className:n,children:"-"}):Nd("div",{className:n,style:{padding:"var(--gap-md)",backgroundColor:"var(--muted)",borderRadius:"var(--radius-md)",border:"1px solid var(--border)",minHeight:"38px"},children:[go("div",{dangerouslySetInnerHTML:{__html:e},style:{outline:"none",fontSize:"var(--font-size-base)",lineHeight:"1.6"},className:"prose prose-sm max-w-none"}),go("style",{children:`
|
|
6
|
-
/* Match Tiptap ProseMirror styling */
|
|
7
|
-
.prose p {
|
|
8
|
-
margin: 0.5em 0;
|
|
9
|
-
}
|
|
10
|
-
.prose p:first-child {
|
|
11
|
-
margin-top: 0;
|
|
12
|
-
}
|
|
13
|
-
.prose p:last-child {
|
|
14
|
-
margin-bottom: 0;
|
|
15
|
-
}
|
|
16
|
-
.prose h1 {
|
|
17
|
-
font-size: var(--font-size-2xl);
|
|
18
|
-
font-weight: 600;
|
|
19
|
-
margin: 0.5em 0;
|
|
20
|
-
}
|
|
21
|
-
.prose h2 {
|
|
22
|
-
font-size: var(--font-size-xl);
|
|
23
|
-
font-weight: 600;
|
|
24
|
-
margin: 0.5em 0;
|
|
25
|
-
}
|
|
26
|
-
.prose h3 {
|
|
27
|
-
font-size: var(--font-size-lg);
|
|
28
|
-
font-weight: 600;
|
|
29
|
-
margin: 0.5em 0;
|
|
30
|
-
}
|
|
31
|
-
.prose ul, .prose ol {
|
|
32
|
-
padding-left: 1.5em;
|
|
33
|
-
margin: 0.5em 0;
|
|
34
|
-
}
|
|
35
|
-
.prose li {
|
|
36
|
-
margin: 0.25em 0;
|
|
37
|
-
}
|
|
38
|
-
.prose strong {
|
|
39
|
-
font-weight: 600;
|
|
40
|
-
}
|
|
41
|
-
.prose em {
|
|
42
|
-
font-style: italic;
|
|
43
|
-
}
|
|
44
|
-
.prose code {
|
|
45
|
-
background: var(--muted);
|
|
46
|
-
padding: 0.2em 0.4em;
|
|
47
|
-
border-radius: var(--radius-sm);
|
|
48
|
-
font-family: monospace;
|
|
49
|
-
font-size: 0.9em;
|
|
50
|
-
}
|
|
51
|
-
.prose blockquote {
|
|
52
|
-
border-left: 3px solid var(--border);
|
|
53
|
-
padding-left: 1em;
|
|
54
|
-
margin: 0.5em 0;
|
|
55
|
-
color: var(--muted-foreground);
|
|
56
|
-
font-style: italic;
|
|
57
|
-
}
|
|
58
|
-
.prose a {
|
|
59
|
-
color: var(--primary);
|
|
60
|
-
text-decoration: underline;
|
|
61
|
-
}
|
|
62
|
-
.prose a:hover {
|
|
63
|
-
color: var(--primary-hover);
|
|
64
|
-
}
|
|
65
|
-
`})]}),fo=wd;import{Badge as Dd,Text as Pd}from"@donotdev/components";import{jsx as sr}from"react/jsx-runtime";var Ad=({config:t,value:e,t:o,className:n})=>{if(e==null)return sr(Pd,{as:"span",variant:"muted",className:n,children:"-"});let r=o(e?"common.yes":"common.no");return sr(Dd,{variant:e?"default":"secondary",className:n,children:r})},yo=Ad;import{Badge as Id,BADGE_VARIANT as Fd,Text as Rd}from"@donotdev/components";import{jsx as lr}from"react/jsx-runtime";var Ld=({config:t,value:e,t:o,className:n})=>e?lr(Id,{variant:Fd.OUTLINE,className:n,children:e}):lr(Rd,{as:"span",variant:"muted",className:n,children:"-"}),ho=Ld;import{Badge as Ed,BADGE_VARIANT as Bd,Text as Md,Stack as zd}from"@donotdev/components";import{jsx as vo}from"react/jsx-runtime";var Od=({config:t,value:e,t:o,className:n})=>!e||!Array.isArray(e)||e.length===0?vo(Md,{as:"span",variant:"muted",className:n,children:"-"}):vo(zd,{direction:"row",wrap:"wrap",gap:"medium",className:n,children:e.map((r,a)=>vo(Ed,{variant:Bd.OUTLINE,children:String(r)},a))}),bo=Od;import{Badge as Ud,BADGE_VARIANT as Vd,Text as Gd,Stack as Hd}from"@donotdev/components";import{jsx as xo}from"react/jsx-runtime";var _d=({config:t,value:e,t:o,className:n})=>!e||!Array.isArray(e)||e.length===0?xo(Gd,{as:"span",variant:"muted",className:n,children:"-"}):xo(Hd,{direction:"row",wrap:"wrap",gap:"medium",className:n,children:e.map((r,a)=>xo(Ud,{variant:Vd.OUTLINE,children:String(r)},a))}),To=_d;import{Badge as $d,BADGE_VARIANT as Wd,Text as Kd}from"@donotdev/components";import{jsx as cr}from"react/jsx-runtime";var Yd=({config:t,value:e,t:o,className:n})=>e?cr($d,{variant:Wd.OUTLINE,className:n,children:e}):cr(Kd,{as:"span",variant:"muted",className:n,children:"-"}),Co=Yd;import{Text as pr}from"@donotdev/components";import{jsx as dr}from"react/jsx-runtime";var qd=({config:t,value:e,t:o,className:n})=>e==null?dr(pr,{as:"span",variant:"muted",className:n,children:"-"}):dr(pr,{as:"span",className:`font-mono ${n||""}`,children:e}),Zd=qd;import{Badge as Jd,BADGE_VARIANT as Qd,Text as mr,Stack as Xd}from"@donotdev/components";import{jsx as ur,jsxs as gr}from"react/jsx-runtime";var jd=({config:t,value:e,t:o,className:n})=>e?gr(Xd,{direction:"row",align:"center",gap:"medium",className:n,children:[ur(mr,{as:"span",level:"small",children:e.name}),e.size&&gr(Jd,{variant:Qd.SECONDARY,children:[(e.size/1024).toFixed(1)," KB"]})]}):ur(mr,{as:"span",variant:"muted",className:n,children:"-"}),So=jd;import{Avatar as em,Text as tm}from"@donotdev/components";import{jsx as fr}from"react/jsx-runtime";var om=({config:t,value:e,t:o,className:n,size:r="md"})=>{if(!e)return fr(tm,{as:"span",variant:"muted",className:n,children:"-"});let a={sm:"size-touch",md:"size-touch",lg:"h-16 w-16"},i=c=>c.split(" ").map(l=>l.charAt(0)).slice(0,2).join("").toUpperCase();return fr(em,{src:e,alt:t.label||"Image",fallback:i(t.label||"IMG"),className:`${a[r]} ${n||""}`})},ko=om;import{Text as yr}from"@donotdev/components";import{jsx as rm,jsxs as am}from"react/jsx-runtime";var nm=({config:t,value:e,t:o,className:n})=>!e||e.lat===void 0&&e.lng===void 0?rm(yr,{as:"span",variant:"muted",className:n,children:"-"}):am(yr,{as:"div",level:"small",className:`font-mono ${n||""}`,children:[e.lat?.toFixed(6),", ",e.lng?.toFixed(6)]}),wo=nm;import{Text as hr}from"@donotdev/components";import{jsx as sm,jsxs as lm}from"react/jsx-runtime";var im=({config:t,value:e,t:o,className:n})=>!e||e.lat===void 0&&e.lng===void 0?sm(hr,{as:"span",variant:"muted",className:n,children:"-"}):lm(hr,{as:"div",level:"small",className:`font-mono ${n||""}`,children:[e.lat?.toFixed(6),", ",e.lng?.toFixed(6)]}),No=im;import{Badge as cm,BADGE_VARIANT as pm,Text as dm}from"@donotdev/components";import{jsx as vr}from"react/jsx-runtime";var mm=({config:t,value:e,t:o,className:n})=>{if(!e)return vr(dm,{as:"span",variant:"muted",className:n,children:"-"});let r=e.displayName||e.name||e.id||e;return vr(cm,{variant:pm.OUTLINE,className:n,children:String(r)})},Do=mm;import{Text as gt}from"@donotdev/components";import{jsx as ft,jsxs as gm}from"react/jsx-runtime";var um=({config:t,value:e,t:o,className:n})=>{if(!e)return ft(gt,{as:"span",variant:"muted",className:n,children:"-"});try{let r=new Date(e),a=r.toLocaleDateString(),i=r.toLocaleTimeString();return gm("div",{className:n,children:[ft(gt,{as:"span",children:a}),ft(gt,{as:"span",variant:"muted",level:"small",children:i})]})}catch{return ft(gt,{as:"span",variant:"muted",className:n,children:"-"})}},Po=um;var fm=()=>null,Ao=fm;var ym=()=>null,Io=ym;import{Eye as hm,EyeOff as vm}from"lucide-react";import{useState as bm}from"react";import{Skeleton as xm,Button as Tm,CopyToClipboard as Cm,Stack as br}from"@donotdev/components";import{jsx as ce,jsxs as xr}from"react/jsx-runtime";var Sm=({config:t,value:e,t:o,className:n,loading:r=!1})=>{let[a,i]=bm(!1);return r?ce(xm,{className:n}):e?xr(br,{direction:"row",align:"center",gap:"medium",className:n,children:[ce("span",{style:{fontFamily:"monospace"},children:a?e:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"}),xr(br,{direction:"row",align:"center",gap:"tight",children:[ce(Tm,{type:"button",onClick:()=>i(!a),"aria-label":a?"Hide password":"Show password",children:a?ce(vm,{}):ce(hm,{})}),ce(Cm,{text:e,tooltipText:o("copyToClipboard")||"Copy to clipboard",copiedTooltipText:o("copied")||"Copied!",ariaLabel:o("copyPassword")||"Copy password"})]})]}):ce("div",{style:{color:"var(--muted-foreground)"},children:"-"})},Tr=Sm;import{Fragment as Cr,jsx as T,jsxs as wm}from"react/jsx-runtime";function Fo({name:t,config:e,t:o,value:n,className:r}){let a=()=>{switch(e.type){case"password":return T(Tr,{config:e,value:n,t:o,className:r,loading:!1});case"text":case"email":case"month":case"week":case"time":return T(ut,{config:e,value:n,t:o,className:r});case"avatar":return T(io,{config:e,value:n,t:o,className:r});case"badge":return T(ao,{config:e,value:n,t:o,className:r});case"boolean":case"checkbox":return T(yo,{config:e,value:n,t:o,className:r});case"array":return T(To,{config:e,value:n,t:o,className:r});case"multiselect":return T(bo,{config:e,value:n,t:o,className:r});case"image":return T(ko,{config:e,value:n,t:o,className:r});case"url":return T(so,{config:e,value:n,t:o,className:r});case"tel":return T(mo,{config:e,value:n,t:o,className:r});case"color":return n&&typeof n=="string"?wm(km,{direction:"row",align:"center",gap:"tight",children:[T("div",{style:{backgroundColor:n,width:"1.5rem",height:"1.5rem"},"aria-label":`Color: ${n}`}),T("span",{style:{fontFamily:"monospace"},children:n})]}):T("span",{style:{color:"var(--muted-foreground)"},children:"-"});case"number":case"range":return T(po,{config:e,value:n,t:o,className:r});case"date":case"datetime-local":return T(lo,{config:e,value:n,t:o,className:r});case"timestamp":return T(Po,{config:e,value:n,t:o,className:r});case"reference":return T(Do,{config:e,value:n,t:o,className:r});case"file":return T(So,{config:e,value:n,t:o,className:r});case"geopoint":return T(wo,{config:e,value:n,t:o,className:r});case"map":return T(No,{config:e,value:n,t:o,className:r});case"textarea":return T(uo,{config:e,value:n,t:o,className:r});case"richtext":return T(fo,{config:e,value:n,t:o,className:r});case"select":return T(ho,{config:e,value:n,t:o,className:r});case"radio":return T(Co,{config:e,value:n,t:o,className:r});case"hidden":return T(Ao,{config:e,value:n,t:o,className:r});case"submit":case"reset":return T(Io,{config:e,value:n,t:o,className:r});default:return T(ut,{config:e,value:n,t:o,className:r})}};if(e.visibility==="hidden")return T(Cr,{});let i=a();return i?T("div",{className:r,children:i}):T(Cr,{})}import{Stack as Sr}from"@donotdev/components";import{useTranslation as Nm}from"@donotdev/core";import{jsx as Ve,jsxs as Pm}from"react/jsx-runtime";function Dm({entity:t,data:e,t:o,className:n="",loading:r=!1}){let{t:a}=Nm("dndev"),i=o||a,c=Object.entries(t);return r?Ve(Sr,{gap:"medium",className:n,children:c.map(([l])=>Pm("div",{className:"dndev-animate-pulse",children:[Ve("div",{style:{marginBottom:"var(--gap-sm)",height:"1rem",width:"25%"}}),Ve("div",{style:{height:"2rem",backgroundColor:"var(--muted)"}})]},l))}):Ve(Sr,{gap:"medium",className:n,children:c.map(([l,p])=>Ve(Fo,{name:l,config:p,value:e[l],t:i},l))})}import{createContext as wr,useId as Am,use as kr}from"react";import{Controller as Im,FormProvider as Fm,useFormContext as Rm}from"react-hook-form";import{Label as Lm,Slot as Em,cn as Bm,Stack as Mm}from"@donotdev/components";import{jsx as oe}from"react/jsx-runtime";var a3=Fm,Nr=wr({}),i3=({...t})=>oe(Nr.Provider,{value:{name:t.name},children:oe(Im,{...t})}),Dr=wr({}),s3=({className:t,...e})=>{let o=Am();return oe(Dr.Provider,{value:{id:o},children:oe(Mm,{gap:"medium",className:t,...e})})},yt=()=>{let t=kr(Nr);if(!t||!t.name)return null;let e=kr(Dr);if(!e)return null;let{getFieldState:o,formState:n}=Rm(),r=o(t.name,n),{id:a}=e;return{id:a,name:t.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...r}},l3=({className:t,...e})=>{let o=yt();if(!o)return null;let{error:n,formItemId:r}=o;return oe(Lm,{className:Bm(n&&"text-destructive",t),htmlFor:r,...e})},c3=({...t})=>{let e=yt();if(!e)return null;let{error:o,formItemId:n,formDescriptionId:r,formMessageId:a}=e;return oe(Em,{id:n,"aria-describedby":o?`${r} ${a}`:`${r}`,"aria-invalid":!!o,...t})},p3=({className:t,...e})=>{let o=yt();if(!o)return null;let{formDescriptionId:n}=o;return oe("p",{id:n,className:t,style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},...e})},d3=({className:t,children:e,...o})=>{let n=yt();if(!n)return null;let{error:r,formMessageId:a}=n,i=r?String(r?.message):e;return i?oe("p",{id:a,className:t,style:{fontSize:"var(--font-size-sm)",fontWeight:500,color:"var(--destructive)"},...o,children:i}):null};var zm={layoutContainer:"dndev-layout",sidebar:"sidebar",sidebarTop:"sidebar-top",sidebarContent:"sidebar-content",sidebarBottom:"sidebar-bottom",sidebarResizeHandle:"dndev-sidebar-resize-handle",header:"header",main:"main",footer:"footer",container:"dndev-container",pageContainer:"dndev-container",breadcrumbsContainer:"breadcrumbs-container"},Om={zHeader:"dndev-z-header",zSidebar:"dndev-z-sidebar",zOverlay:"dndev-z-overlay",zModal:"dndev-z-modal",zTooltip:"dndev-z-tooltip",zToast:"dndev-z-toast"},b3={...zm,...Om},x3={headerHeight:"--header-height",headerPadding:"--header-padding",headerIconSize:"--header-icon-size",headerLogoMaxHeight:"--header-logo-max-height",sidebarWidth:"--sidebar-width",sidebarPadding:"--sidebar-padding",mainPadding:"--main-padding",mainMaxWidth:"--main-max-width",contentWidth:"--content-width",contentPadding:"--content-padding",footerHeight:"--footer-height",footerPadding:"--footer-padding",zHeader:"--z-header",zSidebar:"--z-sidebar",zFooter:"--z-footer",zOverlay:"--z-overlay",zModal:"--z-modal",zTooltip:"--z-tooltip",zToast:"--z-toast"},T3={headerHeight:"--header-height",headerPadding:"--header-padding",logoSize:"--logo-size",sidebarWidth:"--sidebar-width",sidebarPadding:"--sidebar-padding",footerHeight:"--footer-height",footerPadding:"--footer-padding",layoutGap:"--layout-gap",sectionGap:"--gap-lg",contentGap:"--content-gap",zHeader:"--z-header",zSidebar:"--z-sidebar",zFooter:"--z-footer",zModal:"--z-modal",zTooltip:"--z-tooltip"};export{vc as AppBranding,Tc as AppIcon,$s as AppLoading,kc as AppTitle,M as AssetResolver,pa as AuthGuard,s1 as AuthGuardFallback,Ut as AuthHeader,zt as AuthMenu,io as AvatarFieldDisplay,ao as BadgeFieldDisplay,Mc as Breadcrumbs,Io as ButtonFieldDisplay,Jt as CacheSettings,yo as CheckboxFieldDisplay,z2 as ConsentBanner,lo as DateFieldDisplay,Fo as DisplayFieldRenderer,rn as DnDevNavigationMenu,ho as DropdownDisplay,tp as DropdownNavigation,Dm as EntityDisplayRenderer,Ol as FeatureCard,js as FeatureDisabled,So as FileFieldDisplay,ap as FloatingLanguageSwitcher,a3 as Form,c3 as FormControl,p3 as FormDescription,i3 as FormField,s3 as FormItem,l3 as FormLabel,d3 as FormMessage,H2 as GameContainer,K2 as GameFlow,Vc as GameTitle,wo as GeoPointFieldDisplay,u1 as GoTo,Ii as GoToInput,Ci as GoToWrapper,dp as HeaderMenu,vp as HeaderNavigation,Ao as HiddenFieldDisplay,Rr as Icon,ko as ImageFieldDisplay,Yy as LicenseWatermark,C as Link,so as LinkFieldDisplay,_e as Loader,ml as LoadingContainerOverlay,rt as LoadingMessage,nl as LoadingMessageAlmostDone,rl as LoadingMessageComplete,ll as LoadingMessageConnecting,ol as LoadingMessageProcessing,al as LoadingMessageSaving,sl as LoadingMessageSearching,tl as LoadingMessageSimple,il as LoadingMessageUploading,ul as LoadingOverlay,yl as LoadingScreen,No as MapFieldDisplay,bo as MultiDropdownDisplay,To as MultiInputTextFieldDisplay,an as NotFoundPage,Ap as Notifications,po as NumberFieldDisplay,ge as PageContainer,mo as PhoneNumberDisplay,Al as ProgressBar,Co as RadioFieldDisplay,Zd as RangeFieldDisplay,Nl as RedirectOverlay,Do as ReferenceFieldDisplay,fo as RichTextDisplay,Gp as SettingsMenu,Rl as Skeleton,rc as TechBento,uo as TextAreaDisplay,ut as TextFieldDisplay,qp as ThemeToggle,Po as TimestampFieldDisplay,b3 as allLayoutClasses,Pu as createAuthConfig,T3 as cssVariables,iu as isAuthAvailable,_g as isBillingAvailable,Qg as isOAuthAvailable,zm as layoutClasses,Om as layoutUtilities,x3 as layoutVariables,Mg as resolveFaviconSet,Bg as resolveLogo,of as tList,Wt as techLogos,k as useAuthSafe,Nu as useAuthState,et as useAuthVisibility,Cg as useBack,Yg as useBillingVisibility,Su as useCanAccess,da as useCanNavigate,yt as useFormField,Yo as useGoTo,wu as useHasRole,wg as useLocation,Ag as useMatch,Tg as useNavigate,_ as useNavigationItems,Jg as useOAuthSafe,Ng as useParams,kg as usePrefetch,Ig as useQueryParams,Fg as useRedirectGuard,Sg as useRefresh,Dg as useRouteParam,Pg as useSearchParams,Et as useStripeBillingSafe,ku as useUserRole,Du as withAuth};
|
|
3
|
+
`);try{await navigator.clipboard.writeText(h),i(!0),setTimeout(()=>i(!1),2e3)}catch{}},m=()=>{try{t()}catch{typeof window<"u"&&window.location.reload()}},f=()=>{try{c()}catch{typeof window<"u"&&window.history.back()}};return _("div",{className:"dndev-container","data-variant":"standard","data-centered":"true",children:_(qo,{variant:jo.DEFAULT,elevated:!0,className:"dndev-w-full",style:{maxWidth:"65ch",margin:"0 auto"},children:xe(Ee,{gap:"large",align:"center",className:"dndev-text-center",children:[_(Ee,{align:"center",justify:"center",style:{width:"5rem",height:"5rem",backgroundColor:"rgba(220, 38, 38, 0.1)",borderRadius:"50%",border:"1px solid var(--destructive)"},children:_(pa,{style:{width:"2.5rem",height:"2.5rem",color:"var(--destructive)"},"aria-hidden":"true"})}),xe(Ee,{gap:"medium",children:[_("h1",{className:"dndev-text-base","data-level":"h1",style:{fontSize:"var(--font-size-2xl)",fontWeight:"var(--font-weight-bold)",margin:0},children:r("routeError.title","Something went wrong")}),_("p",{className:"dndev-text-base",style:{fontSize:"var(--font-size-lg)",color:"var(--muted-foreground)",margin:0},children:r("routeError.description","We encountered an error while loading this page.")}),_(Sa,{variant:Ca.SUCCESS,hideIcon:!0,children:_("div",{style:{fontSize:"var(--font-size-sm)",textAlign:"center"},children:r("routeError.dataSafe","Don't worry, your data is safe.")})})]}),n&&xe("code",{style:{padding:"var(--gap-sm) var(--gap-md)",background:"var(--muted)",borderRadius:"var(--radius-full)",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",color:"var(--foreground)"},children:[r("routeError.errorId","Error ID"),": ",n]}),g&&u&&xe(qo,{variant:jo.MUTED,className:"dndev-w-full",children:[xe(Ee,{direction:"row",align:"center",justify:"between",gap:"medium",children:[_("span",{className:"dndev-text-base",style:{fontSize:"var(--font-size-sm)",fontWeight:"var(--font-weight-semibold)",color:"var(--destructive)"},children:"Error Message:"}),_(pt,{variant:mt.GHOST,icon:a?va:ha,onClick:p,disabled:a,children:a?r("routeError.copied","Copied"):r("routeError.copyDetails","Copy Details")})]}),_("pre",{style:{fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",wordBreak:"break-word",whiteSpace:"pre-wrap",color:"var(--foreground)",margin:0,marginTop:"var(--gap-sm)"},children:u})]}),xe(Ee,{gap:"medium",className:"dndev-w-full",children:[_(pt,{variant:mt.DESTRUCTIVE,icon:fa,onClick:m,fullWidth:!0,children:r("routeError.tryAgain","Try Again")}),xe(Ee,{direction:"row",gap:"medium",justify:"center",children:[_(A,{path:"/",children:_(pt,{variant:mt.DEFAULT,icon:ma,fullWidth:!0,children:r("routeError.goHome","Go Home")})}),_(pt,{variant:mt.OUTLINE,icon:ga,onClick:f,fullWidth:!0,children:r("routeError.goBack","Go Back")})]})]}),_("p",{className:"dndev-text-base",style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)",margin:0},children:r("routeError.contactSupport","If the problem persists, please contact support.")})]})})})},Zo=Ia;import{jsx as Ke}from"react/jsx-runtime";var gt=({variant:e="standard",density:t,className:o,children:n,centered:r=!0,gapFirst:a=!1})=>Ke(Yo,{level:"route",fallback:i=>Ke(Na,{fallback:Ke("div",{children:"Loading error fallback..."}),children:Ke(Zo,{...i})}),children:Ke("div",{className:Aa("dndev-container",o),"data-variant":e,"data-density":t,"data-centered":r?"true":"false","data-gap-first":a?"true":void 0,children:n})});import{Fragment as Ga,jsx as M,jsxs as Ye}from"react/jsx-runtime";var Ua=Da(()=>import("@donotdev/auth").then(e=>({default:e.MultipleAuthProviders})));function Im({title:e,description:t,showBackButton:o=!0,onBack:n,className:r=""}){let{t:a}=Oa(["auth","common"]),i=za(),c=Va(),l=()=>{n?n():c()};return M(gt,{variant:"docs",children:M(De,{align:"center",justify:"center",className:Ma("dndev-min-h-60",r),style:{paddingTop:"var(--gap-lg)",paddingBottom:"var(--gap-lg)"},children:M(Ra,{className:"dndev-w-full",style:{maxWidth:"28rem",border:"none",boxShadow:"var(--shadow-xl)"},title:Ye(De,{gap:"medium",children:[M(De,{justify:"center",children:M("div",{style:{borderRadius:"9999px",backgroundColor:"color-mix(in oklab, var(--primary) 10%, transparent)",padding:"var(--gap-md)"},children:M(La,{className:"dndev-size-touch",style:{color:"var(--primary)"}})})}),M("div",{style:{fontSize:"var(--font-size-2xl)",fontWeight:700},children:a("auth.fallback.title","Authentication Required")}),M("p",{style:{color:"var(--muted-foreground)"},children:a("auth.fallback.description","Please sign in to access this page")})]}),children:Ye(De,{gap:"medium",children:[Ye(De,{gap:"large",children:[M("div",{children:M("p",{style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:a("auth.fallback.chooseProvider")})}),M(Ea,{fallback:M("div",{children:"Loading providers..."}),children:M(Ua,{layout:"vertical",spacing:"tight",fullWidth:!0,ariaLabel:a("auth.fallback.authOptions")})})]}),o&&Ye(Ga,{children:[M(Ba,{}),M("div",{children:M(Fa,{onClick:l,className:"dndev-gap-sm",icon:Pa,children:a("common.back")})})]}),Ye(De,{gap:"tight",style:{fontSize:"var(--font-size-xs)",color:"var(--muted-foreground)"},children:[M("p",{children:a("auth.fallback.secure")}),M("p",{children:a("auth.fallback.terms")})]})]})})})})}import{Search as Ha}from"lucide-react";import{Button as _a,BUTTON_VARIANT as $a,DISPLAY as Wa}from"@donotdev/components";import{useOverlayStore as Ka,useTranslation as Ya}from"@donotdev/core";import{jsx as qa,jsxs as ja}from"react/jsx-runtime";var Dm=({display:e=Wa.AUTO,className:t,onOpen:o})=>{let{t:n}=Ya("dndev"),r=Ka(l=>l.openCommandDialog),i=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform)?"\u2318K":"Ctrl+K",c=()=>{r(),o?.()};return ja(_a,{variant:$a.OUTLINE,display:e,icon:Ha,onClick:c,className:t,"aria-label":n("goTo.ariaLabel","Go to page"),children:[n("goTo.label","Go to"),qa("kbd",{style:{marginInlineStart:"var(--gap-sm)",padding:"0.125rem 0.375rem",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",opacity:.5},children:i})]})};import{Suspense as gi,lazy as fi}from"react";import{useEventListener as hi,useOverlayStore as vi}from"@donotdev/core";import{jsx as on}from"react/jsx-runtime";var yi=fi(()=>Promise.resolve().then(()=>(tn(),en))),bi=()=>{let e=vi(t=>t.openCommandDialog);return hi("keydown",t=>{(t.metaKey||t.ctrlKey)&&t.key==="k"&&(t.preventDefault(),e())},{target:document,options:{passive:!1,capture:!1}}),on(gi,{fallback:null,children:on(yi,{})})},Si=bi;import{Search as Ci}from"lucide-react";import{useCallback as nn,useEffect as xi,useState as Ti,useRef as ki}from"react";import{Stack as wi}from"@donotdev/components";import{useOverlayStore as rn}from"@donotdev/core";import{useTranslation as Ii}from"@donotdev/core";import{jsx as ht,jsxs as Pi}from"react/jsx-runtime";var Ni=()=>{let{t:e}=Ii("dndev"),[t,o]=Ti(""),n=ki(null),r=rn(l=>l.openCommandDialog),a=rn(l=>l.isCommandDialogOpen);xi(()=>{a||o("")},[a]);let i=nn(()=>{r(t)},[r,t]),c=nn(l=>{l.key==="Enter"&&(l.preventDefault(),r(t))},[r,t]);return Pi(wi,{direction:"row",align:"center",className:"dndev-relative dndev-w-full dndev-max-w-sm",role:"search",children:[ht(Ci,{className:"dndev-absolute dndev-size-md",style:{left:"0.75rem",opacity:.5},"aria-hidden":"true"}),ht("input",{ref:n,type:"text",value:t,onChange:l=>o(l.target.value),onFocus:i,onKeyDown:c,placeholder:e("globalGoTo.searchPlaceholder","Search pages..."),className:"dndev-input dndev-w-full",style:{paddingLeft:"2.5rem",paddingRight:"5rem"},"aria-label":e("globalGoTo.ariaLabel","Search navigation")}),ht("div",{className:"dndev-absolute dndev-flex dndev-items-center dndev-text-sm",style:{right:"0.75rem",gap:"0.25rem",opacity:.5},"aria-hidden":"true",children:ht("kbd",{style:{padding:"0.25rem 0.5rem",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",borderRadius:"var(--radius-sm)"},children:"\u2318K"})})]})},Ai=Ni;import{MoreHorizontal as Li,Link as an}from"lucide-react";import{useState as Ei,useEffect as sn,useRef as Di,useMemo as Ri}from"react";import{NavigationMenu as ln,NavigationMenuListPrimitive as Fi,NavigationMenuItemPrimitive as cn,Button as Bi,DropdownMenu as Mi,cn as vt,DISPLAY as Oi}from"@donotdev/components";import{useTranslation as zi}from"@donotdev/core";Re();be();import{jsx as Q,jsxs as Zt}from"react/jsx-runtime";var dn=({routes:e,vertical:t=!1,display:o=Oi.AUTO,overflowDetection:n=!1,showIcons:r=!0,className:a,style:i})=>{let{t:c}=zi("dndev"),l=te(),d=e??l,u=Di(null),[s,g]=Ei(d.length),p=Ri(()=>d.map(m=>({label:m.label,path:m.path,icon:Q(W,{icon:m.icon,fallback:an}),children:m.children?m.children.map(f=>({label:f.label,path:f.path,icon:Q(W,{icon:f.icon,fallback:an})})):void 0})),[d]);if(sn(()=>{if(!n||d.length===0||t)return;let m=()=>{let h=u.current;if(!h)return;let C=h.getBoundingClientRect(),v=h.querySelectorAll("[data-nav-item]"),k=h.querySelector("[data-more-button]"),x=0,I=k?.offsetWidth||0;for(let T=0;T<v.length;T++){let D=v[T];if(!D)break;if(D.getBoundingClientRect().right-C.left+(T===v.length-1&&k?I:0)<=C.width)x=T+1;else break}g(Math.max(0,x))},f=new ResizeObserver(m);return u.current&&f.observe(u.current),setTimeout(m,0),()=>f.disconnect()},[n,d.length,t]),sn(()=>{n&&!t&&g(d.length)},[d.length,n,t]),d.length===0)return null;if(n&&!t){let m=p.slice(0,s),f=p.slice(s);return Q(ln,{className:vt(a),style:i||{flex:1},children:Zt(Fi,{ref:u,"data-vertical":"false",style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",flexWrap:"nowrap",overflow:"hidden"},children:[m.filter(h=>h.path).map((h,C)=>Q(cn,{"data-nav-item":!0,children:Zt(A,{path:h.path,className:vt("dndev-interactive"),"data-role":"nav-trigger",children:[r&&h.icon,Q("span",{className:"dndev-interactive-label",children:h.label})]})},h.path||C)),f.length>0&&Q(cn,{"data-more-button":!0,children:Q(Mi,{trigger:Q(Bi,{className:"dndev-size-touch",style:{flexShrink:0},"aria-label":c("navigation.more","More"),children:Q(Li,{className:"dndev-size-md"})}),items:f.filter(h=>h.path).map(h=>({label:h.label,children:Zt(A,{path:h.path,className:vt("dndev-interactive"),"data-role":"menu-item",children:[r&&h.icon,Q("span",{className:"dndev-interactive-label",children:h.label})]}),asChild:!0})),contentWidth:"14rem",contentAlign:"end"})})]})})}return Q(ln,{items:p,vertical:t,display:o,className:vt(a,t&&"dndev-sidebar-nav-menu"),LinkComponent:A})};import{Home as Vi,ArrowLeft as Ui,Link as Gi}from"lucide-react";import{useMemo as Hi}from"react";import{Button as Jt,BUTTON_VARIANT as Qt,Stack as je,Text as Xt}from"@donotdev/components";import{useTranslation as _i}from"@donotdev/core";import{useLocation as $i,useNavigate as Wi}from"@donotdev/ui/routing/hooks";Re();be();import{jsx as q,jsxs as yt}from"react/jsx-runtime";function un(){let{t:e}=_i("dndev"),t=$i(),o=Wi(),n=te(),r=Hi(()=>n.filter(i=>!i.path.includes(":")&&i.path!=="/").slice(0,4),[n]),a=()=>{o("back")};return q(gt,{variant:"docs",centered:!0,children:yt(je,{gap:"large",align:"center",justify:"center",children:[yt(je,{gap:"medium",align:"center",children:[q(Xt,{level:"h1",style:{fontSize:"clamp(4rem, 12vw, 8rem)",fontWeight:"var(--font-weight-bold)",lineHeight:1,letterSpacing:"-0.02em",background:"linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",margin:0},children:"404"}),q(Xt,{level:"h2",style:{fontSize:"var(--font-size-2xl)",fontWeight:"var(--font-weight-semibold)",margin:0},children:e("errors.notFound.title","Page Not Found")}),q(Xt,{style:{fontSize:"var(--font-size-lg)",color:"var(--muted-foreground)",textAlign:"center",margin:0},children:e("errors.notFound.description","The page you're looking for doesn't exist or has been moved.")}),t.pathname&&q("code",{style:{padding:"var(--gap-sm) var(--gap-md)",background:"var(--muted)",borderRadius:"var(--radius-md)",fontSize:"var(--font-size-sm)",fontFamily:"var(--font-mono)",color:"var(--foreground)",wordBreak:"break-all",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",border:"1px solid var(--border-hairline)"},children:t.pathname})]}),r.length>0&&yt(je,{gap:"medium",align:"center",children:[q("p",{className:"dndev-text-base",style:{fontSize:"var(--font-size-md)",fontWeight:"var(--font-weight-semibold)",margin:0,color:"var(--muted-foreground)"},children:e("errors.notFound.suggestions","You might be looking for:")}),q(je,{direction:"row",wrap:"wrap",justify:"center",gap:"tight",children:r.map(i=>q(A,{path:i.path,replace:!0,children:q(Jt,{variant:Qt.OUTLINE,icon:q(W,{icon:i.icon,fallback:Gi}),"aria-label":e("errors.notFound.navigateTo",`Navigate to ${i.label}`,{label:i.label}),children:i.label})},i.path))})]}),yt(je,{direction:"row",wrap:"wrap",justify:"center",gap:"medium",children:[q(A,{path:"/",replace:!0,children:q(Jt,{variant:Qt.DEFAULT,icon:Vi,"aria-label":e("errors.notFound.goHome","Go to home page"),children:e("errors.notFound.goHome","Go Home")})}),q(Jt,{variant:Qt.OUTLINE,icon:Ui,onClick:a,"aria-label":e("errors.notFound.goBack","Go back to previous page"),children:e("errors.notFound.goBack","Go Back")})]})]})})}Re();qt();import{useNavigate as Be,useBack as U1,useRefresh as G1,usePrefetch as H1,useLocation as _1,useParams as $1,useRouteParam as W1,useSearchParams as K1,useMatch as Y1,useQueryParams as q1,useRedirectGuard as j1}from"@donotdev/ui/routing/hooks";import{getDndevConfig as eo,isClient as Te,isDev as pn}from"@donotdev/core";var Y=class{static getBrowserSupport(){if(!Te())return{svg:!0,webp:!1,avif:!1};let t=this.cache.get("browser-support");if(t)return t;let o={svg:!0,webp:!1,avif:!1};try{let n=document.createElement("canvas");n.width=1,n.height=1,o.webp=n.toDataURL("image/webp").indexOf("data:image/webp")===0}catch{o.webp=!1}try{let n=document.createElement("canvas");n.width=1,n.height=1,o.avif=n.toDataURL("image/avif").indexOf("data:image/avif")===0}catch{o.avif=!1}return this.cache.set("browser-support",o),o}static extractStringValues(t){let o=[];if(t==null)return o;if(typeof t=="string")o.push(t);else if(Array.isArray(t))for(let n of t)o.push(...this.extractStringValues(n));else if(typeof t=="object")for(let n of Object.values(t))o.push(...this.extractStringValues(n));return o}static assetExists(t){if(!Te())return!1;let o=this.getAssetManifest();return o?this.extractStringValues(o).includes(t):!1}static getAssetManifest(){return Te()&&eo()?.assets?.mapping||null}static getLogoSvgContent(){return eo()?.assets?.logoSvgContent||null}static resolveLogo(t){if(t)return t;let o="logo";if(this.cache.has(o))return this.cache.get(o);let r=this.getAssetManifest()?.logo?.optimal||"/logo.svg";return this.cache.set(o,r),r}static directAssetCheck(t){if(!Te())return!1;try{let o=new Image;return o.src=t,!0}catch{return!1}}static resolveFaviconSet(){let t="favicon-set";if(this.cache.has(t))return this.cache.get(t);let o=this.getAssetManifest();if(o?.favicon?.set){let a=o.favicon.set,i=this.assetExists("/icon-512x512.png")?"/icon-512x512.png":this.assetExists("/icon-192x192.png")?"/icon-192x192.png":"/logo.svg",c={svg:a.svg||"/favicon.svg",ico:a.ico||"/favicon.ico",png16:a.png16||i,png32:a.png32||i,apple180:a.apple180||i,android192:a.android192||i,android512:a.android512||i};return this.cache.set(t,c),c}let n=this.assetExists("/icon-512x512.png")?"/icon-512x512.png":this.assetExists("/icon-192x192.png")?"/icon-192x192.png":"/logo.svg",r={svg:this.assetExists("/favicon.svg")?"/favicon.svg":"/logo.svg",ico:this.assetExists("/favicon.ico")?"/favicon.ico":"/favicon.svg",png16:this.assetExists("/favicon-16x16.png")?"/favicon-16x16.png":n,png32:this.assetExists("/favicon-32x32.png")?"/favicon-32x32.png":n,apple180:this.assetExists("/apple-touch-icon.png")?"/apple-touch-icon.png":n,android192:this.assetExists("/icon-192x192.png")?"/icon-192x192.png":n,android512:this.assetExists("/icon-512x512.png")?"/icon-512x512.png":n};return this.cache.set(t,r),r}static resolveFavicon(){let t=this.getAssetManifest();if(t?.favicon?.optimal)return t.favicon.optimal;let o=["/favicon.svg","/favicon.ico","/favicon.png","/logo.svg"];for(let n of o)if(this.assetExists(n))return n;return"/favicon.svg"}static clearCache(){this.cache.clear(),pn()&&Te()}static getDebugInfo(){return{browserSupport:this.getBrowserSupport(),detectedAssets:Te()?eo()?.assets?.mapping:null,assetManifest:this.getAssetManifest(),cache:Object.fromEntries(this.cache)}}};at(Y,"cache",new Map);function X1(e){return Y.resolveLogo(e)}function eg(){return Y.resolveFaviconSet()}pn()&&(Y.clearCache(),Te()&&window.addEventListener("DOMContentLoaded",()=>{Y.clearCache()}));import*as Ki from"@donotdev/crud";var Me=Ki?.useFormStore,mn={forms:{},startSubmit:()=>{},setUploading:()=>{},setValidating:()=>{},setSubmitting:()=>{},setSuccess:()=>{},setError:()=>{},reset:()=>{},cleanup:()=>{},setIsDirty:()=>{},hasDirtyForms:()=>!1,getDirtyFormIds:()=>[],getStatus:()=>"idle",isLoading:()=>!1,getUploadProgress:()=>0,getError:()=>null,getIsDirty:()=>!1},ng=typeof Me=="function";function to(e){return Me?Me(e):e(mn)}to.getState=()=>Me&&typeof Me.getState=="function"?Me.getState():mn;function rg(){return to(t=>t.hasDirtyForms())()}async function ag(e="You have unsaved changes. Discard them?"){return to.getState().hasDirtyForms()&&typeof window<"u"&&window.confirm?window.confirm(e):!0}_e();import{useMemo as Yi}from"react";function bt(){let e=R("status"),t=R("isAvailable"),o=R("user");return Yi(()=>({shouldHide:e!=="ready"||!t,isLoading:e==="initializing",isReady:e==="ready"&&t,isAuthenticated:!!o}),[e,t,o])}import*as qi from"@donotdev/billing";import{DEGRADED_BILLING_API as ji}from"@donotdev/core";var oo=qi?.useStripeBilling;function Zi(e){return ji[e]}function no(e,t){return oo?oo(e,t):Zi(e)}var ug=typeof oo=="function";_e();function fg(){let e=R("user"),t=R("status"),o={user:e,status:t},n=no("status",o),r=no("isAvailable",o);return{shouldHide:!r,isLoading:n==="initializing",isReady:r&&n==="ready"}}import{DEGRADED_OAUTH_API as Ji}from"@donotdev/core";import*as Qi from"@donotdev/oauth";var ro=Qi?.useOAuth;function Xi(e){return Ji[e]}function yg(e){return ro?ro(e):Xi(e)}var bg=typeof ro=="function";import{CheckCircle as es}from"lucide-react";import{List as ts}from"@donotdev/components";import{translateArray as os}from"@donotdev/core";import{jsx as gn}from"react/jsx-runtime";var ns=es,rs=16;function kg(e,t,o,n=ns,r=rs){let a=n;return gn(ts,{icon:a?gn(a,{size:r}):void 0,items:os(e,t,o),style:{listStyle:"none",paddingInlineStart:0}})}import{Fragment as Ns,jsx as ge,jsxs as As}from"react/jsx-runtime";var vn=()=>null,Ts=hn(async()=>{try{return{default:(await import("@donotdev/auth")).ReauthDialog}}catch{return{default:vn}}}),ks=hn(async()=>{try{return{default:(await import("@donotdev/auth")).ConfirmDeleteDialog}}catch{return{default:vn}}}),ao=null;Ss()&&import("@donotdev/auth").then(e=>{ao=e.useDeleteAccount}).catch(()=>{});function ws(){let[e]=St.useState(!1),[t]=St.useState(!1),[o]=St.useState(!1),[n]=St.useState(null);return{showConfirmDialog:e,showPasswordDialog:t,isDeleting:o,error:n,startDeleteFlow:()=>{},confirmDelete:async()=>{},cancel:()=>{}}}function Is(){return ao?ao():ws()}var Ct=e=>{if(!e)return Ze;if(typeof e=="function")return e;let t=e.replace(/['"]/g,"");return cs[t]||Ze},io=({loginPath:e,display:t=hs.AUTO,"no-tooltip":o=!1,customItems:n=[],className:r,style:a})=>{let{t:i}=vs("dndev"),{shouldHide:c,isReady:l,isAuthenticated:d}=bt(),u=bs(),s=R("user"),g=R("signOut"),p=Cs("isLaptop"),m=te(),f=xs(),h=u.profilePath,C=u.authMenuItems||[],v=Is(),k=()=>s&&(s.displayName||s.email?.split("@")[0])||"User",x=()=>k().split(" ").map(b=>b.charAt(0)).slice(0,2).join("").toUpperCase(),I=()=>{if(!s)return i("auth.userMenu",{defaultValue:"User menu"});let w=[k()];return s.email&&w.push(s.email),L&&L!=="guest"&&w.push(`Role: ${L}`),w.join(`
|
|
4
|
+
`)},T=ds(()=>{let w=[];return!p&&s&&w.push({children:ge(fs,{variant:"muted",as:"span",children:`${k()}${s.email?`
|
|
5
|
+
${s.email}`:""}`}),disabled:!0}),h&&w.push({label:i("auth.profile",{defaultValue:"Profile"}),icon:as,onClick:()=>f(h)}),C.forEach(b=>{let S=m.find(F=>F.path===b.path),y=b.label||S?.label||b.path.split("/").pop()||"Menu",N=b.icon?Ct(b.icon):S?.icon&&(typeof S.icon=="string"||typeof S.icon=="function")?Ct(S.icon):Ze;w.push({label:y,icon:N,onClick:()=>f(b.path)})}),n.forEach(b=>{if(b.path){let S=m.find(F=>F.path===b.path),y=b.label||S?.label||b.path.split("/").pop()||"Menu",N=b.icon?Ct(b.icon):Ze;w.push({label:y,icon:N,onClick:()=>f(b.path),disabled:b.disabled,style:b.style})}else if(b.onClick){let S=b.icon?Ct(b.icon):Ze;w.push({label:b.label,icon:S,onClick:b.onClick,disabled:b.disabled,style:b.style})}}),w.push({label:i("auth.deleteAccount.label",{defaultValue:"Delete Account"}),icon:ls,onClick:v.startDeleteFlow,variant:"destructive"}),w.push({label:i("auth.signOut",{defaultValue:"Sign Out"}),icon:is,onClick:()=>g(),variant:"destructive"}),w},[h,C,n,g,v,i,m,p,s,k,f]);if(ys().length===0||c||!l)return null;let L=s?.role;return d?As(Ns,{children:[ge(fn,{fallback:null,children:ge(Ts,{open:v.showPasswordDialog,isLoading:v.isDeleting,error:v.error,onReauth:w=>v.confirmDelete(w),onCancel:v.cancel})}),ge(fn,{fallback:null,children:ge(ks,{open:v.showConfirmDialog,isLoading:v.isDeleting,error:v.error,onConfirm:()=>v.confirmDelete(),onCancel:v.cancel})}),ge(gs,{trigger:ge(ps,{variant:ms.OUTLINE,icon:s?ge(us,{src:s.photoURL??void 0,fallback:x(),alt:k(),style:{margin:"-4px 0"}}):ss,display:t,"aria-label":i("auth.userMenu",{defaultValue:"User menu"}),tooltip:!o&&p&&s?I():o?void 0:i("auth.userMenu",{defaultValue:"User menu"}),className:r,style:a,children:k()}),items:T,contentAlign:"end"})]}):null};import{jsx as U}from"react/jsx-runtime";var Sn=()=>null,Vs=bn(async()=>{try{return{default:(await import("@donotdev/auth")).AuthPartnerButton}}catch{return{default:Sn}}}),yn=bn(async()=>{try{return{default:(await import("@donotdev/auth")).MultipleAuthProviders}}catch{return{default:Sn}}}),lo=({display:e=Bs.AUTO,className:t,style:o})=>{let{t:n}=Ms("dndev"),{shouldHide:r,isLoading:a,isReady:i,isAuthenticated:c}=bt(),l=Os(),d=zs(),[u,s]=Ls(!1),g=l.loginPath,p=n("auth.signIn",{defaultValue:"Sign In"}),m=n("auth.loading",{defaultValue:"Loading..."}),f=d.includes("password")||d.includes("emailLink");if(r||!i)return null;let h=({children:C,...v})=>U(Es,{variant:Ds.OUTLINE,icon:Ps,display:e,tooltip:p,className:t,style:o,...v,children:C??p});if(!c){if(g!==void 0)return U(A,{path:g,prefetch:!0,children:U(h,{})});let C=d[0];return f?U(Fs,{trigger:U(h,{}),title:p,open:u,onOpenChange:s,"data-content-size":"form",children:U(so,{fallback:U("div",{style:{padding:"var(--gap-md)",fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:m}),children:U(yn,{spacing:"medium",onSuccess:()=>s(!1)})})}):d.length>1?U(Rs,{trigger:U(h,{}),children:U(so,{fallback:U("div",{style:{padding:"var(--gap-md)",fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:m}),children:U(yn,{spacing:"tight"})})}):U(so,{fallback:U(h,{disabled:a,tooltip:a?m:p,children:a?m:p}),children:U(Vs,{partnerId:C,display:e,className:t,style:o})})}return U(io,{display:e,loginPath:g,className:t,style:o})};import{RefreshCw as Us}from"lucide-react";import{cn as Gs}from"@donotdev/components";import{jsx as Cn,jsxs as $s}from"react/jsx-runtime";var Hs=({className:e})=>$s("div",{className:Gs("dndev-loading-overlay",e),style:{position:"fixed",inset:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"var(--background)",opacity:"var(--opacity-muted)",backdropFilter:"blur(4px)",zIndex:50},role:"status","aria-busy":"true","aria-label":"Loading",children:[Cn(Us,{className:"dndev-size-touch",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}}),Cn("span",{className:"dndev-sr-only",children:"Loading..."})]}),_s=Hs;import{AlertCircle as Ws,RefreshCw as Ks,Mail as Ys,Cookie as qs}from"lucide-react";import{Card as js,Button as co,BUTTON_VARIANT as uo,Stack as xn}from"@donotdev/components";import{useTranslation as Zs}from"@donotdev/core";import{jsx as Je,jsxs as xt}from"react/jsx-runtime";function Js({featureName:e,title:t,description:o,showReviewCookies:n=!1,showContactSupport:r=!0,showRetry:a=!1,supportEmail:i="support@example.com",onRetry:c,onReviewCookies:l,customActions:d,className:u=""}){let{t:s}=Zs("ui"),g=o||s("featureDisabled.description","{featureName} is not available. This may be due to missing configuration or disabled features.",{featureName:e}),p=()=>{if(l)l();else{let f=new CustomEvent("openCookieConsent");window.dispatchEvent(f)}},m=()=>{window.location.href=`mailto:${i}?subject=${encodeURIComponent(`Feature Unavailable: ${e}`)}&body=${encodeURIComponent(`I'm experiencing an issue with ${e} not being available.`)}`};return xt(js,{className:u,title:xt(xn,{direction:"row",align:"center",gap:"tight",children:[Je(Ws,{className:"dndev-size-md",style:{color:"var(--destructive)"}}),t||e]}),subtitle:g,children:[" ",xt("div",{style:{display:"grid",gap:"var(--gap-md)"},children:[(n||r||a||d)&&xt(xn,{direction:"row",wrap:"wrap",gap:"tight",children:[n&&Je(co,{variant:uo.OUTLINE,onClick:p,icon:qs,children:s("featureDisabled.reviewCookies","Review Cookies")}),r&&Je(co,{variant:uo.OUTLINE,onClick:m,icon:Ys,children:s("featureDisabled.contactSupport","Contact Support")}),a&&Je(co,{variant:uo.OUTLINE,onClick:c,icon:Ks,children:s("featureDisabled.retry","Retry")}),d]}),Je("p",{style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:s("featureDisabled.helpText","If you believe this is an error, please contact support or try refreshing the page.")})]})]})}var Qs=Js;be();import{cn as Xs}from"@donotdev/components";import{jsx as oe,jsxs as ll}from"react/jsx-runtime";var se=({state:e="loading",message:t,show:o=!0,className:n,showSpinner:r=!1,spinnerSize:a="md"})=>{if(!o)return null;let c=t||(d=>({initial:"Preparing...",loading:"Loading...",processing:"Processing your request...","almost-done":"Almost there...",complete:"Complete!"})[d]||"Loading...")(e),l={sm:{width:"0.75rem",height:"0.75rem"},md:{width:"1rem",height:"1rem"},lg:{width:"1.5rem",height:"1.5rem"}};return ll("div",{className:Xs(n),style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"var(--gap-sm)",color:"var(--muted-foreground)",fontSize:"var(--font-size-sm)",transition:"opacity var(--dur-fast) ease-out"},role:"status","aria-live":"polite","aria-label":c,children:[r&&oe("div",{style:{...l[a],animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid currentColor",borderTopColor:"transparent"},role:"status","aria-hidden":"true"}),oe("span",{style:{fontWeight:500},children:c})]})},el=({message:e="Loading...",...t})=>oe(se,{state:"loading",message:e,...t}),tl=({message:e="Processing your request...",...t})=>oe(se,{state:"processing",message:e,...t}),ol=({message:e="Almost there...",...t})=>oe(se,{state:"almost-done",message:e,...t}),nl=({message:e="Complete!",...t})=>oe(se,{state:"complete",message:e,...t}),rl=({showSpinner:e=!0,...t})=>oe(se,{state:"processing",message:"Saving your changes...",showSpinner:e,...t}),al=({showSpinner:e=!0,fileName:t,...o})=>oe(se,{state:"processing",message:t?`Uploading ${t}...`:"Uploading file...",showSpinner:e,...o}),il=({showSpinner:e=!0,query:t,...o})=>oe(se,{state:"processing",message:t?`Searching for "${t}"...`:"Searching...",showSpinner:e,...o}),sl=({showSpinner:e=!0,...t})=>oe(se,{state:"loading",message:"Connecting to server...",showSpinner:e,...t}),Tt=se;import{cn as cl}from"@donotdev/components";import{Fragment as Tn,jsx as fe,jsxs as kn}from"react/jsx-runtime";var dl=({show:e=!1,backdrop:t=!0,backdropBlur:o=!0,className:n,children:r,message:a,showSpinner:i=!0,spinnerSize:c="lg",preventClicks:l=!0,zIndex:d="var(--z-modal)"})=>{if(!e)return null;let u=d==="var(--z-modal)"||!d?"dndev-z-modal":d==="var(--z-toast)"?"dndev-z-toast":d==="var(--z-tooltip)"?"dndev-z-tooltip":d==="var(--z-overlay)"?"dndev-z-overlay":null;return fe("div",{className:cl("dndev-loading-overlay",u,n),style:{position:"fixed",inset:0,display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity var(--dur-fast) ease-out",backgroundColor:t?"var(--background)":"transparent",opacity:t?"var(--opacity-muted)":1,backdropFilter:o?"blur(4px)":"none",pointerEvents:l?"auto":"none",...u?{}:{zIndex:d}},role:"dialog","aria-modal":"true","aria-busy":"true","aria-label":"Loading overlay",children:fe("div",{className:"dndev-surface",style:{display:"grid",placeItems:"center",gap:"var(--gap-md)",borderRadius:"var(--radius-lg)",padding:"var(--gap-lg)",backgroundColor:"var(--background)",opacity:"var(--opacity-strong)",border:"1px solid var(--border)",boxShadow:"var(--shadow-xl)",maxWidth:"var(--content-text)",width:"100%",margin:"0 var(--gap-md)"},children:r||kn(Tn,{children:[i&&fe("div",{style:{animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid var(--primary)",borderTopColor:"transparent",width:c==="sm"?"2rem":c==="md"?"3rem":"4rem",height:c==="sm"?"2rem":c==="md"?"3rem":"4rem"},role:"status","aria-hidden":"true"}),a&&fe(Tt,{...a})]})})})};var ul=({show:e=!1,backdrop:t=!1,backdropBlur:o=!1,className:n,...r})=>fe("div",{className:n,style:{position:"absolute",inset:0,display:e?"flex":"none",alignItems:"center",justifyContent:"center",transition:"opacity var(--dur-fast) ease-out",backgroundColor:t?"var(--background)":"transparent",opacity:t?"var(--opacity-muted)":1,backdropFilter:o?"blur(4px)":"none"},role:"status","aria-busy":"true","aria-label":"Loading content",children:fe("div",{style:{display:"grid",placeItems:"center",gap:"var(--gap-sm)"},children:r.children||kn(Tn,{children:[fe("div",{style:{animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid var(--primary)",borderTopColor:"transparent",width:"1.5rem",height:"1.5rem"},role:"status","aria-hidden":"true"}),r.message&&fe(Tt,{...r.message})]})})}),pl=dl;import{cn as ml}from"@donotdev/components";import{jsx as wn}from"react/jsx-runtime";var gl=({variant:e="fullPage",className:t,isLoading:o})=>o===!1?null:wn("div",{className:ml(t),style:{display:"flex",alignItems:"center",justifyContent:"center",...e==="fullPage"&&{position:"fixed",inset:0,backgroundColor:"var(--background)",backdropFilter:"blur(4px)",zIndex:50}},role:"status","aria-busy":"true","aria-label":"Loading",children:wn("div",{style:{animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid var(--muted)",borderTopColor:"var(--primary)",...e==="fullPage"?{width:"5rem",height:"5rem"}:{width:"var(--icon-md)",height:"var(--icon-md)"}},role:"status","aria-busy":"true","aria-label":"Loading"})}),fl=gl;import{Lock as kt,Shield as In}from"lucide-react";import{useEffect as po,useRef as Nn,useCallback as hl}from"react";import{Portal as vl,Spinner as yl,Stack as bl,Text as Qe,Button as Sl}from"@donotdev/components";import{useTranslation as Cl,useOverlay as le}from"@donotdev/core";import{jsx as ne,jsxs as Pn}from"react/jsx-runtime";var An={connecting:0,preparing:2e3,redirecting:5e3},xl=1e4;function Tl(e,t){return t==="none"?null:t==="shield"?In:t==="lock"?kt:e?e.startsWith("stripe-")||e.includes("payment")||e.includes("checkout")?kt:e.startsWith("oauth-")||e.startsWith("auth-")?In:kt:kt}function kl(e){return e||"default"}function wl(){let{t:e}=Cl("dndev"),t=le("isRedirectOverlayOpen"),o=le("redirectOperation"),n=le("redirectPhase"),r=le("showCancelButton"),a=le("redirectConfig"),i=le("redirectStartTime"),c=le("setRedirectPhase"),l=le("setShowCancelButton"),d=le("hideRedirectOverlay"),u=Nn([]),s=Nn(null),g=hl(()=>{d()},[d]);if(po(()=>{if(!t||!i)return;let x=a?.cancelTimeout??xl,I=Date.now()-i;u.current.forEach(clearTimeout),u.current=[],s.current&&(clearTimeout(s.current),s.current=null);let T=(L,w)=>{let b=Math.max(0,w-I);if(b>0){let S=setTimeout(()=>{c(L)},b);u.current.push(S)}else c(L)};T("preparing",An.preparing),T("redirecting",An.redirecting);let D=Math.max(0,x-I);return s.current=setTimeout(()=>{l(!0),c("timeout")},D),()=>{u.current.forEach(clearTimeout),u.current=[],s.current&&(clearTimeout(s.current),s.current=null)}},[t,i,a?.cancelTimeout,c,l]),po(()=>{if(!t)return;let x=()=>{d()};return window.addEventListener("popstate",x),()=>window.removeEventListener("popstate",x)},[t,d]),po(()=>{if(!t)return;let x=()=>{};return document.addEventListener("visibilitychange",x),()=>document.removeEventListener("visibilitychange",x)},[t]),!t)return null;let p=kl(o),m=a?.title??e(`redirectOverlay.${p}.title`,{defaultValue:e("redirectOverlay.default.title")}),f=a?.message??e(`redirectOverlay.${p}.message`,{defaultValue:e("redirectOverlay.default.message")}),h=a?.subtitle??e(`redirectOverlay.${p}.subtitle`,{defaultValue:e("redirectOverlay.default.subtitle")}),C=e(`redirectOverlay.${p}.ariaLabel`,{defaultValue:e("redirectOverlay.default.ariaLabel")}),v=e(`redirectOverlay.phases.${n}`),k=Tl(o,a?.icon);return ne(vl,{children:ne("div",{className:"dndev-spinner-overlay",role:"status","aria-busy":"true","aria-label":C,style:{zIndex:"var(--z-overlay, 9999)"},children:Pn("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"var(--gap-md)",textAlign:"center",maxWidth:"400px",padding:"var(--gap-lg)"},children:[Pn(bl,{direction:"row",gap:"medium",align:"center",children:[k&&ne(k,{style:{width:"1.5rem",height:"1.5rem",color:"var(--primary)"},"aria-hidden":"true"}),ne(yl,{variant:"primary"})]}),ne(Qe,{as:"h3",style:{color:"var(--foreground)",margin:0},children:m}),ne(Qe,{variant:"muted",style:{color:"var(--foreground)",minHeight:"1.5em"},children:v}),ne(Qe,{variant:"muted",level:"small",style:{opacity:.8},children:f}),ne(Qe,{variant:"muted",level:"small",style:{opacity:.6},children:h}),ne(Qe,{variant:"muted",level:"small",style:{opacity:.5,marginTop:"var(--gap-sm)"},children:e("redirectOverlay.doNotRefresh")}),r&&ne(Sl,{variant:"ghost",onClick:g,style:{marginTop:"var(--gap-md)"},children:e("redirectOverlay.cancel")})]})})})}import{useEffect as mo,useState as Ln}from"react";import{cn as Il}from"@donotdev/components";import{jsx as En}from"react/jsx-runtime";var Nl=({isActive:e=!1,progress:t,useFakeProgress:o=!0,duration:n=2e3,className:r,show:a=!0})=>{let[i,c]=Ln(0),[l,d]=Ln(!1);mo(()=>{if(!e||!o||t!==void 0)return;d(!0),c(0);let s=Date.now(),g=setInterval(()=>{let p=Date.now()-s,m=Math.min(p/n*90,90);c(m)},16);return()=>{clearInterval(g)}},[e,o,t,n]),mo(()=>{t!==void 0&&d(t>0&&t<100)},[t]),mo(()=>{if(!e){let s=setTimeout(()=>{d(!1),c(0)},300);return()=>clearTimeout(s)}},[e]);let u=t??i;return!a||!l?null:En("div",{className:Il(r),style:{position:"fixed",left:0,right:0,zIndex:9999,height:"4px",backgroundColor:"transparent",top:"var(--header-height, 0px)"},role:"progressbar","aria-valuenow":Math.round(u),"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Page loading progress",children:En("div",{style:{height:"100%",width:`${u}%`,background:"linear-gradient(to right, var(--primary), color-mix(in srgb, var(--primary) 80%, transparent), color-mix(in srgb, var(--primary) 60%, transparent))",transition:e?"width 0.3s ease-out":"width 0.2s ease-in",boxShadow:"var(--shadow-sm)"}})})},Al=Nl;import{cn as wt,Stack as Pl}from"@donotdev/components";import{jsx as Xe,jsxs as Df}from"react/jsx-runtime";var Ll=({variant:e="text",width:t,height:o,lines:n=1,show:r=!0,className:a,animation:i="pulse",style:c})=>{if(!r)return null;let l={backgroundColor:"var(--muted)",opacity:"var(--opacity-muted)",borderRadius:"var(--radius)",animation:i==="pulse"||i==="wave"?"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite":"none",...i==="wave"&&{background:"linear-gradient(to right, color-mix(in srgb, var(--muted) 50%, transparent), color-mix(in srgb, var(--muted) 30%, transparent), color-mix(in srgb, var(--muted) 50%, transparent))"}},d=()=>{let u={};return t&&(u.width=typeof t=="number"?`${t}px`:t),o&&(u.height=typeof o=="number"?`${o}px`:o),u};return e==="text"?Xe(Pl,{gap:"tight",children:Array.from({length:n}).map((u,s)=>Xe("div",{className:wt("dndev-skeleton",a),style:{...l,height:"var(--gap-md)",width:s===n-1?"75%":"100%",...d(),...c}},s))}):e==="circular"?Xe("div",{className:wt("dndev-skeleton",a),style:{...l,borderRadius:"var(--radius-full)",width:t||o||"40px",height:o||t||"40px",...d(),...c}}):e==="rectangular"?Xe("div",{className:wt("dndev-skeleton",a),style:{...l,width:t||"100%",height:o||"200px",...d(),...c}}):Xe("div",{className:wt("dndev-skeleton",a),style:{...l,borderRadius:"var(--radius-lg)",width:t||"100%",height:o||"20px",...d(),...c}})};var El=Ll;import{Card as Dl,IconBox as Rl,Stack as Fl,Text as go,renderCardContent as Bl}from"@donotdev/components";import{jsx as re,jsxs as Dn}from"react/jsx-runtime";var Ml=({icon:e,title:t,subtitle:o,content:n,href:r,variant:a,elevated:i,onClick:c,className:l,footer:d,style:u,...s})=>{let g=Bl(n),f=`calc(var(--font-size-lg) * var(--line-height) * 2 + var(--gap-md)) calc(var(--font-size-base) * var(--line-height) * 2 + var(--gap-md)) 1fr${d?" auto":""}`,h={display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word",lineHeight:"var(--line-height)"},C={...h,fontSize:"var(--font-size-lg)",fontWeight:600,color:"inherit",margin:0,textAlign:"start",flex:1,minWidth:0},v={...h,fontSize:"var(--font-size-base)",fontWeight:600,color:"var(--muted-foreground)",margin:0},k=e?Dn(Fl,{direction:"row",align:"center",gap:"medium",style:{width:"100%"},children:[re(Rl,{icon:e}),re(go,{as:"div",level:"h3",style:C,children:t})]}):re(go,{as:"div",level:"h3",style:C,children:t}),x=re(Dl,{variant:a,elevated:i,onClick:c,className:l,"data-clickable":r||c?"true":void 0,style:{paddingInlineStart:"var(--gap-md)",paddingInlineEnd:"var(--gap-md)",gap:"var(--gap-md)",height:"100%",textAlign:"start",...u},...s,children:Dn("div",{style:{display:"grid",gridTemplateRows:f,gap:"var(--gap-md)",width:"100%"},children:[re("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:k}),re("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start"},children:re(go,{as:"div",level:"body",style:v,children:o})}),re("div",{children:g}),d&&re("div",{children:d})]})});return r&&!c?re(A,{path:r,style:{display:"block",textDecoration:"none",height:"100%"},"aria-label":t?`Learn more about ${t}`:void 0,children:x}):x},Ol=Ml;import{useState as ql}from"react";import{Bento as jl,Card as Zl,Section as Jl,Stack as Ql,Text as Xl,cn as ec}from"@donotdev/components";var zl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#3178C6" d="M1.125 0C.502 0 0 .502 0 1.125v21.75C0 23.498.502 24 1.125 24h21.75c.623 0 1.125-.502 1.125-1.125V1.125C24 .502 23.498 0 22.875 0zm17.363 9.75c.612 0 1.154.037 1.627.111a6.38 6.38 0 0 1 1.306.34v2.458a3.95 3.95 0 0 0-.643-.361 5.093 5.093 0 0 0-.717-.26 5.453 5.453 0 0 0-1.426-.2c-.3 0-.573.028-.819.086a2.1 2.1 0 0 0-.623.242c-.17.104-.3.229-.393.374a.888.888 0 0 0-.14.49c0 .196.053.373.156.529.104.156.252.304.443.444s.423.276.696.41c.273.135.582.274.926.416.47.197.892.407 1.266.628.374.222.695.473.963.753.268.279.472.598.614.957.142.359.214.776.214 1.253 0 .657-.125 1.21-.373 1.656a3.033 3.033 0 0 1-1.012 1.085 4.38 4.38 0 0 1-1.487.596c-.566.12-1.163.18-1.79.18a9.916 9.916 0 0 1-1.84-.164 5.544 5.544 0 0 1-1.512-.493v-2.63a5.033 5.033 0 0 0 3.237 1.2c.333 0 .624-.03.872-.09.249-.06.456-.144.623-.25.166-.108.29-.234.373-.38a1.023 1.023 0 0 0-.074-1.089 2.12 2.12 0 0 0-.537-.5 5.597 5.597 0 0 0-.807-.444 27.72 27.72 0 0 0-1.007-.436c-.918-.383-1.602-.852-2.053-1.405-.45-.553-.676-1.222-.676-2.005 0-.614.123-1.141.369-1.582.246-.441.58-.804 1.004-1.089a4.494 4.494 0 0 1 1.47-.629 7.536 7.536 0 0 1 1.77-.201zm-15.113.188h9.563v2.166H9.506v9.646H6.789v-9.646H3.375z"/></svg>',Vl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#61DAFB" d="M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z"/></svg>',Ul='<svg role="img" viewBox="0 0 410 404" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="vite-a" x1="6" y1="33" x2="235" y2="344" gradientUnits="userSpaceOnUse"><stop stop-color="#41D1FF"/><stop offset="1" stop-color="#BD34FE"/></linearGradient><linearGradient id="vite-b" x1="195" y1="9" x2="236" y2="293" gradientUnits="userSpaceOnUse"><stop stop-color="#FFEA83"/><stop offset=".08" stop-color="#FFDD35"/><stop offset="1" stop-color="#FFA800"/></linearGradient></defs><path fill="url(#vite-a)" d="M399.641 59.525 215.643 388.545c-3.799 6.793-13.559 6.833-17.415.073L10.582 59.556c-4.201-7.366 2.098-16.29 10.446-14.797l184.195 32.923c1.175.21 2.378.208 3.553-.006l180.343-32.87c8.32-1.517 14.649 7.337 10.522 14.72z"/><path fill="url(#vite-b)" d="M292.965 1.574 156.801 28.255c-2.238.439-3.895 2.335-4.03 4.611l-8.376 141.465c-.197 3.332 2.863 5.918 6.115 5.168l37.91-8.749c3.547-.818 6.752 2.306 6.023 5.873l-11.263 55.153c-.758 3.712 2.727 6.886 6.352 5.785l23.415-7.114c3.63-1.102 7.118 2.081 6.35 5.796l-17.899 86.633c-1.12 5.42 6.088 8.374 9.094 3.728l2.008-3.103 110.954-221.428c1.858-3.707-1.346-7.935-5.418-7.15l-39.022 7.532c-3.667.707-6.787-2.708-5.752-6.296l25.469-88.291c1.036-3.594-2.095-6.612-5.764-5.891z"/></svg>',Gl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M18.665 21.978C16.758 23.255 14.465 24 12 24 5.377 24 0 18.623 0 12S5.377 0 12 0s12 5.377 12 12c0 3.583-1.574 6.801-4.067 9.001L9.219 7.2H7.2v9.596h1.615V9.251l9.85 12.727Zm-3.332-8.533 1.6 2.061V7.2h-1.6v6.245Z"/></svg>',Hl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#339933" d="M11.998,24c-0.321,0-0.641-0.084-0.922-0.247l-2.936-1.737c-0.438-0.245-0.224-0.332-0.08-0.383 c0.585-0.203,0.703-0.25,1.328-0.604c0.065-0.037,0.151-0.023,0.218,0.017l2.256,1.339c0.082,0.045,0.197,0.045,0.272,0l8.795-5.076 c0.082-0.047,0.134-0.141,0.134-0.238V6.921c0-0.099-0.053-0.192-0.137-0.242l-8.791-5.072c-0.081-0.047-0.189-0.047-0.271,0 L3.075,6.68C2.99,6.729,2.936,6.825,2.936,6.921v10.15c0,0.097,0.054,0.189,0.139,0.235l2.409,1.392 c1.307,0.654,2.108-0.116,2.108-0.89V7.787c0-0.142,0.114-0.253,0.256-0.253h1.115c0.139,0,0.255,0.112,0.255,0.253v10.021 c0,1.745-0.95,2.745-2.604,2.745c-0.508,0-0.909,0-2.026-0.551L2.28,18.675c-0.57-0.329-0.922-0.945-0.922-1.604V6.921 c0-0.659,0.353-1.275,0.922-1.603l8.795-5.082c0.557-0.315,1.296-0.315,1.848,0l8.794,5.082c0.57,0.329,0.924,0.944,0.924,1.603 v10.15c0,0.659-0.354,1.273-0.924,1.604l-8.794,5.078C12.643,23.916,12.324,24,11.998,24z M19.099,13.993 c0-1.9-1.284-2.406-3.987-2.763c-2.731-0.361-3.009-0.548-3.009-1.187c0-0.528,0.235-1.233,2.258-1.233 c1.807,0,2.473,0.389,2.747,1.607c0.024,0.115,0.129,0.199,0.247,0.199h1.141c0.071,0,0.138-0.031,0.186-0.081 c0.048-0.054,0.074-0.123,0.067-0.196c-0.177-2.098-1.571-3.076-4.388-3.076c-2.508,0-4.004,1.058-4.004,2.833 c0,1.925,1.488,2.457,3.895,2.695c2.88,0.282,3.103,0.703,3.103,1.269c0,0.983-0.789,1.402-2.642,1.402 c-2.327,0-2.839-0.584-3.011-1.742c-0.02-0.124-0.126-0.215-0.253-0.215h-1.137c-0.141,0-0.254,0.112-0.254,0.253 c0,1.482,0.806,3.248,4.655,3.248C17.501,17.007,19.099,15.91,19.099,13.993z"/></svg>',_l='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#DD2C00" d="M19.455 8.369c-.538-.748-1.778-2.285-3.681-4.569-.826-.991-1.535-1.832-1.884-2.245a146 146 0 0 0-.488-.576l-.207-.245-.113-.133-.022-.032-.01-.005L12.57 0l-.609.488c-1.555 1.246-2.828 2.851-3.681 4.64-.523 1.064-.864 2.105-1.043 3.176-.047.241-.088.489-.121.738-.209-.017-.421-.028-.632-.033-.018-.001-.035-.002-.059-.003a7.46 7.46 0 0 0-2.28.274l-.317.089-.163.286c-.765 1.342-1.198 2.869-1.252 4.416-.07 2.01.477 3.954 1.583 5.625 1.082 1.633 2.61 2.882 4.42 3.611l.236.095.071.025.003-.001a9.59 9.59 0 0 0 2.941.568q.171.006.342.006c1.273 0 2.513-.249 3.69-.742l.008.004.313-.145a9.63 9.63 0 0 0 3.927-3.335c1.01-1.49 1.577-3.234 1.641-5.042.075-2.161-.643-4.304-2.133-6.371m-7.083 6.695c.328 1.244.264 2.44-.191 3.558-1.135-1.12-1.967-2.352-2.475-3.665-.543-1.404-.87-2.74-.974-3.975.48.157.922.366 1.315.622 1.132.737 1.914 1.902 2.325 3.461zm.207 6.022c.482.368.99.712 1.513 1.028-.771.21-1.565.302-2.369.273a8 8 0 0 1-.373-.022c.458-.394.869-.823 1.228-1.279zm1.347-6.431c-.516-1.957-1.527-3.437-3.002-4.398-.647-.421-1.385-.741-2.194-.95.011-.134.026-.268.043-.4.014-.113.03-.216.046-.313.133-.689.332-1.37.589-2.025.099-.25.206-.499.321-.74l.004-.008c.177-.358.376-.719.61-1.105l.092-.152-.003-.001c.544-.851 1.197-1.627 1.942-2.311l.288.341c.672.796 1.304 1.548 1.878 2.237 1.291 1.549 2.966 3.583 3.612 4.48 1.277 1.771 1.893 3.579 1.83 5.375-.049 1.395-.461 2.755-1.195 3.933-.694 1.116-1.661 2.05-2.8 2.708-.636-.318-1.559-.839-2.539-1.599.79-1.575.952-3.28.479-5.072zm-2.575 5.397c-.725.939-1.587 1.55-2.09 1.856-.081-.029-.163-.06-.243-.093l-.065-.026c-1.49-.616-2.747-1.656-3.635-3.01-.907-1.384-1.356-2.993-1.298-4.653.041-1.19.338-2.327.882-3.379.316-.07.638-.114.96-.131l.084-.002c.162-.003.324-.003.478 0 .227.011.454.035.677.07.073 1.513.445 3.145 1.105 4.852.637 1.644 1.694 3.162 3.144 4.515z"/></svg>',$l='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m12 1.608 12 20.784H0Z"/></svg>',Wl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#635BFF" d="M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z"/></svg>',Kl='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><linearGradient id="vb-a" x1="0.414" y1="0.255" x2="0" y2="0.932" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#eab308"/><stop offset="1" stop-color="#ca8a04"/></linearGradient><linearGradient id="vb-b" x1="0.338" y1="0.02" x2="0.664" y2="0.966" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#fde68a"/><stop offset="1" stop-color="#fbbf24"/></linearGradient><linearGradient id="vb-c" y1="0.5" x2="1" y2="0.5" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#7dd3fc"/><stop offset="1" stop-color="#0ea5e9"/></linearGradient></defs><g transform="translate(-2056 -1899)"><path d="M742.271,987.024c-66.706,0-119.121,54.673-121.874,126.408l-2.551,95.471c-3.967,78.653,71.961,105.52,126.936,105.52Z" transform="translate(1463.458 1004.277)" fill="url(#vb-a)"/><path d="M92.616.01H319.894c54.53-.8,95.624,40.1,98.381,93.335l6.144,135.76c.732,67.368-48.116,94.95-104.525,95.335L92.616,327.374C34.061,327.8-1.063,283.663.022,229.105l3.8-135.76C7.41,33.54,33.3,1.093,92.616.01Z" transform="translate(2118.42 1991.302)" fill="url(#vb-b)"/><path d="M86.844.009H299.958c51.132-.746,89.665,37.307,92.25,86.824l5.761,126.29c.686,62.669-45.117,88.326-98.011,88.685L86.844,304.537C31.938,304.933-1,263.875.02,213.123L3.58,86.834C6.948,31.2,31.222,1.016,86.844.009Z" transform="translate(2136.977 2001.737)" fill="#111827"/><circle cx="27.626" cy="27.626" r="27.626" transform="translate(2421.148 2104.357)" fill="url(#vb-c)"/><circle cx="27.626" cy="27.626" r="27.626" transform="translate(2208.034 2104.357)" fill="url(#vb-c)"/></g></svg>',Yl='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="#FBF0DF" d="M12 22.596c6.628 0 12-4.338 12-9.688 0-3.318-2.057-6.248-5.219-7.986-1.286-.715-2.297-1.357-3.139-1.89C14.058 2.025 13.08 1.404 12 1.404c-1.097 0-2.334.785-3.966 1.821a49.92 49.92 0 0 1-2.816 1.697C2.057 6.66 0 9.59 0 12.908c0 5.35 5.372 9.687 12 9.687v.001ZM10.599 4.715c.334-.759.503-1.58.498-2.409 0-.145.202-.187.23-.029.658 2.783-.902 4.162-2.057 4.624-.124.048-.199-.121-.103-.209a5.763 5.763 0 0 0 1.432-1.977Zm2.058-.102a5.82 5.82 0 0 0-.782-2.306v-.016c-.069-.123.086-.263.185-.172 1.962 2.111 1.307 4.067.556 5.051-.082.103-.23-.003-.189-.126a5.85 5.85 0 0 0 .23-2.431Zm1.776-.561a5.727 5.727 0 0 0-1.612-1.806v-.014c-.112-.085-.024-.274.114-.218 2.595 1.087 2.774 3.18 2.459 4.407a.116.116 0 0 1-.049.071.11.11 0 0 1-.153-.026.122.122 0 0 1-.022-.083a5.891 5.891 0 0 0-.737-2.331Zm-5.087.561c-.617.546-1.282.76-2.063 1-.117 0-.195-.078-.156-.181 1.752-.909 2.376-1.649 2.999-2.778 0 0 .155-.118.188.085 0 .304-.349 1.329-.968 1.874Zm4.945 11.237a2.957 2.957 0 0 1-.937 1.553c-.346.346-.8.565-1.286.62a2.178 2.178 0 0 1-1.327-.62 2.955 2.955 0 0 1-.925-1.553.244.244 0 0 1 .064-.198.234.234 0 0 1 .193-.069h3.965a.226.226 0 0 1 .19.07c.05.053.073.125.063.197Zm-5.458-2.176a1.862 1.862 0 0 1-2.384-.245 1.98 1.98 0 0 1-.233-2.447c.207-.319.503-.566.848-.713a1.84 1.84 0 0 1 1.092-.11c.366.075.703.261.967.531a1.98 1.98 0 0 1 .408 2.114 1.931 1.931 0 0 1-.698.869v.001Zm8.495.005a1.86 1.86 0 0 1-2.381-.253 1.964 1.964 0 0 1-.547-1.366c0-.384.11-.76.32-1.079.207-.319.503-.567.849-.713a1.844 1.844 0 0 1 1.093-.108c.367.076.704.262.968.534a1.98 1.98 0 0 1 .4 2.117 1.932 1.932 0 0 1-.702.868Z"/></svg>',fo={bun:{svg:`data:image/svg+xml,${encodeURIComponent(Yl)}`,color:"#FBF0DF",name:"Bun"},typescript:{svg:`data:image/svg+xml,${encodeURIComponent(zl)}`,color:"#3178C6",name:"TypeScript"},react:{svg:`data:image/svg+xml,${encodeURIComponent(Vl)}`,color:"#61DAFB",name:"React"},vite:{svg:`data:image/svg+xml,${encodeURIComponent(Ul)}`,color:"#BD34FE",name:"Vite"},nextjs:{svg:`data:image/svg+xml,${encodeURIComponent(Gl)}`,color:"var(--foreground, #000000)",name:"Next.js"},nodejs:{svg:`data:image/svg+xml,${encodeURIComponent(Hl)}`,color:"#339933",name:"Node.js"},firebase:{svg:`data:image/svg+xml,${encodeURIComponent(_l)}`,color:"#DD2C00",name:"Firebase"},vercel:{svg:`data:image/svg+xml,${encodeURIComponent($l)}`,color:"var(--foreground, #000000)",name:"Vercel"},stripe:{svg:`data:image/svg+xml,${encodeURIComponent(Wl)}`,color:"#635BFF",name:"Stripe"},valibot:{svg:`data:image/svg+xml,${encodeURIComponent(Kl)}`,color:"#FBBF24",name:"Valibot"}};import{jsx as he,jsxs as rc}from"react/jsx-runtime";function tc({techKey:e,variant:t}){let o=fo[e],[n,r]=ql(!1);if(!o)return null;let a=o.svg.replace("data:image/svg+xml,",""),i=decodeURIComponent(a);return he(Zl,{variant:t,className:"dndev-tech-card",style:{"--tech-color":o.color},"data-hover":n,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:rc(Ql,{direction:"column",align:"center",gap:"tight",children:[he("div",{className:"dndev-tech-card-logo","data-tech":e,dangerouslySetInnerHTML:{__html:i}}),he(Xl,{as:"span",level:"small",children:o.name})]})})}function oc({title:e,techs:t,cols:o=3,columns:n,gap:r="medium",separator:a=!1,className:i}){let c=n||(typeof o=="number"?{mobile:o,tablet:o,desktop:o,wide:o}:{mobile:o[0],tablet:o[1],desktop:o[2],wide:o[3]}),l=s=>{if(s==="long")return{cols:2,rows:1};if(s==="high")return{cols:1,rows:2};if(s==="huge")return{cols:2,rows:2}},d=t.filter(s=>fo[s.name]).map(s=>({id:s.name,content:he(tc,{techKey:s.name,variant:s.variant}),span:l(s.size)})),u=he(jl,{items:d,columns:c,gap:r,className:i,ariaLabel:"Technology stack"});return e?he(Jl,{title:e,separator:a,className:"dndev-tech-bento",children:he("div",{className:"dndev-tech-bento-grid",children:u})}):he("div",{className:ec("dndev-tech-bento",i),children:u})}var nc=oc;import{Suspense as ac,lazy as ic}from"react";import{useConsent as Rn}from"@donotdev/core";import{jsx as Fn}from"react/jsx-runtime";var sc=ic(()=>Promise.resolve().then(()=>($t(),_t)));function a2(){let e=Rn("hasConsented"),t=Rn("showBanner");return e&&!t?null:Fn(ac,{fallback:null,children:Fn(sc,{})})}import{Button as lc,ScrollArea as cc}from"@donotdev/components";import{cn as Bn}from"@donotdev/components";import{jsx as et,jsxs as dc}from"react/jsx-runtime";function d2({content:e,cta:t,align:o="center",justify:n="center",disableScrollArea:r=!1,contentClassName:a,ctaClassName:i}){return dc("div",{className:"dndev-game-container",children:[et("div",{className:Bn("dndev-game-container__content",a),"data-align":o,"data-justify":n,children:r?et("div",{style:{overflow:"auto",overscrollBehavior:"contain"},children:e}):et(cc,{className:"dndev-game-container__scroll",children:e})}),t&&et("div",{className:Bn("dndev-game-container__cta",i),children:et(lc,{onClick:t.onClick,disabled:t.disabled??!1,variant:t.variant??"default",className:"dndev-game-container__cta-button",children:t.label})})]})}import{useEffect as uc,useMemo as pc,Suspense as mc,lazy as gc}from"react";import{jsx as ho}from"react/jsx-runtime";var Mn=new Set;function g2({screenRegistry:e,currentScreen:t,nextScreen:o,fallback:n=null}){uc(()=>{if(o&&!Mn.has(o)){Mn.add(o);let a=e[o];a&&a().catch(()=>{})}},[o,e]);let r=pc(()=>{if(!t)return null;let a=e[t];return a?gc(a):null},[t,e]);return!t||!r?null:ho("div",{style:{height:"100%"},children:ho(mc,{fallback:n,children:ho(r,{})})})}import{cn as fc,DISPLAY as vo}from"@donotdev/components";import{useAppConfig as On}from"@donotdev/core";import{jsx as It,jsxs as yc}from"react/jsx-runtime";var hc=({display:e=vo.AUTO,linkToHome:t=!0,className:o})=>{let n=On("name"),a=On("shortName")||n||"App",i=Y.getLogoSvgContent(),c=Y.resolveLogo(),l=e===vo.FULL||e===vo.AUTO,d=i?It("div",{className:"app-branding-logo",role:"img","aria-label":a,dangerouslySetInnerHTML:{__html:i}}):Y.assetExists(c)?It("img",{src:c,alt:a,className:"app-branding-logo"}):null,u=l&&It("span",{className:"app-branding-title","data-display":e,children:a}),s=yc("div",{className:fc("app-branding",o),"data-display":e,children:[d,u]});return t?It(A,{path:"/",className:"app-branding-link",children:s}):s},vc=hc;import{cn as zn}from"@donotdev/components";import{useAppConfig as Vn}from"@donotdev/core";import{jsx as Gn}from"react/jsx-runtime";var Un={sm:{width:"var(--icon-md)",height:"var(--icon-md)"},md:{width:"var(--icon-touch)",height:"var(--icon-touch)"},lg:{width:"var(--icon-touch)",height:"var(--icon-touch)"},xl:{width:"var(--touch-target)",height:"var(--touch-target)"},header:{height:"var(--icon-touch)",width:"auto"}},bc=({alt:e,size:t="header",className:o})=>{let n=e||Vn("name")||Vn("shortName")||"App",r=Y.getLogoSvgContent(),a=Y.resolveLogo(),i=typeof t=="string"&&t in Un?Un[t]:typeof t=="string"?{}:{width:t,height:t};return r?Gn("div",{className:zn("app-icon-header",o),style:{display:"inline-flex",...i},role:"img","aria-label":n,dangerouslySetInnerHTML:{__html:r}}):Gn("img",{src:a,alt:n,className:zn(o),style:{objectFit:"contain",...i}})},Sc=bc;import{cn as Hn}from"@donotdev/components";import{useAppConfig as _n,useBreakpoint as Cc}from"@donotdev/core";import{jsx as $n}from"react/jsx-runtime";var xc=({title:e,className:t,linkToHome:o=!0})=>{let n=Cc("isMobileOrTablet"),r=_n("name"),a=_n("shortName"),i=e||n&&a||r||"App",c=$n("div",{className:Hn("dndev-text-base",t),style:{fontSize:"var(--font-size-xl)",fontWeight:700,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},children:i});return o?$n(A,{path:"/",className:Hn("dndev-inline-block",t),children:c}):c},Tc=xc;import{ChevronRight as Pc}from"lucide-react";import{useMemo as Lc}from"react";import{cn as Ec}from"@donotdev/components";import{useTranslation as Dc}from"@donotdev/core";import{useLocation as Rc}from"@donotdev/ui/routing/hooks";import{useMemo as Wn}from"react";import{useNavigationStore as B2,getRoutes as kc,getRouteManifest as M2}from"@donotdev/core";function wc(){return Wn(()=>{try{let e=kc();return!e||e.length===0?[]:Ic(e)}catch{return[]}},[])}function Kn(){let e=wc();return Wn(()=>e.flatMap(t=>t.routes),[e])}function Ic(e){let t=new Map;return e.forEach(o=>{let n=typeof o.path=="string"?o.path:String(o.path);if(!n||n==="undefined"||n==="null")return;let r=o.meta?.entity||Nc(n)||"other",a={path:n,label:o.meta?.title||Ac(n),icon:o.meta?.icon,component:o.component,importPath:o.importPath,exportName:o.exportName,auth:o.auth,meta:o.meta};t.has(r)||t.set(r,{label:r.charAt(0).toUpperCase()+r.slice(1),routes:[]}),t.get(r)?.routes.push(a)}),Array.from(t.values())}function Nc(e){return e.split("/").filter(Boolean)[0]||null}function Ac(e){let t=e.split("/").filter(Boolean),o=t[t.length-1];return o?o.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" "):"Home"}import{jsx as tt,jsxs as Mc}from"react/jsx-runtime";var Fc=({items:e,separator:t=Pc,showHome:o=!0,homeHref:n="/",variant:r="default",className:a})=>{let{t:i}=Dc("dndev"),c=Rc(),l=Kn(),d=Lc(()=>new Set(l.map(g=>g.path)),[l]),u=e||(()=>{let g=c.pathname.split("/").filter(Boolean),p=[],m="";return g.forEach(f=>{m+=`/${f}`;let h=f.split("-").map(v=>v.charAt(0).toUpperCase()+v.slice(1)).join(" "),C=d.has(m)?m:void 0;p.push({label:h,href:C})}),p})(),s=o?[{label:i("navigation.home","Home"),href:n},...u]:u;return r==="smart"&&c.pathname.split("/").filter(Boolean).length<2?null:tt("nav",{role:"navigation","aria-label":"Breadcrumb navigation",className:Ec("breadcrumbs",a),children:s.map((g,p)=>{let f=p===s.length-1||!g.href;return Mc("span",{className:"breadcrumb-item",children:[p>0&&tt(t,{className:"dndev-size-md separator"}),g.icon&&tt(g.icon,{className:"dndev-size-md icon"}),g.href&&!f?tt(A,{path:g.href,className:"breadcrumb-link",children:g.label}):tt("span",{className:"breadcrumb-label",children:g.label})]},p)})})},Bc=Fc;import{useTranslation as Oc,maybeTranslate as Yn,useLayout as yo,useAppConfig as zc}from"@donotdev/core";import{jsx as Oe,jsxs as Uc}from"react/jsx-runtime";var Vc=({asLink:e=!1,className:t})=>{let o=zc("app"),n=yo("gameTitle"),r=yo("gameSubtitle"),a=yo("gameNamespace"),{t:i}=Oc(a||"dndev"),c=Yn(i,n??void 0),l=Yn(i,r??void 0),d=o?.name||"Game";if(c)return Oe("div",{className:t,children:Uc("div",{style:{textAlign:"center"},children:[Oe("h2",{style:{fontSize:"var(--font-size-lg)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c}),l&&Oe("p",{style:{color:"var(--muted-foreground)",fontSize:"var(--font-size-sm)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l})]})});let u=Oe("h2",{style:{fontSize:"var(--font-size-lg)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d});return e?Oe(A,{path:"/",className:t,style:{fontSize:"var(--font-size-2xl)",fontWeight:700,transition:"color var(--dur-fast) ease-out"},onMouseEnter:s=>s.currentTarget.style.color="var(--primary)",onMouseLeave:s=>s.currentTarget.style.color="var(--foreground)",children:d}):Oe("div",{className:t,children:u})};import{Trash2 as Gc}from"lucide-react";import{useState as qn}from"react";import{Button as Hc,BUTTON_VARIANT as _c,Checkbox as $c,Stack as bo,useToast as Wc}from"@donotdev/components";import{useTranslation as Kc}from"@donotdev/core";import{useRefresh as Yc}from"@donotdev/ui/routing/hooks";import{jsx as Nt,jsxs as jn}from"react/jsx-runtime";function qc(){let{t:e}=Kc("dndev"),{toast:t}=Wc(),[o,n]=qn(!1),r=Yc(),[a,i]=qn({localStorage:!0,sessionStorage:!0,applicationCache:!0,serviceWorker:!0,cookies:!0,indexedDB:!0,webSQL:!0,memoryCache:!0}),c=async()=>{try{n(!0);let l=[];if(a.localStorage&&typeof window<"u")try{localStorage.clear(),l.push("localStorage")}catch{}if(a.sessionStorage&&typeof window<"u")try{sessionStorage.clear(),l.push("sessionStorage")}catch{}if(a.indexedDB&&typeof window<"u"&&"indexedDB"in window)try{if("databases"in indexedDB){let u=await indexedDB.databases();await Promise.all(u.map(async s=>{if(s.name){let g=indexedDB.deleteDatabase(s.name);await new Promise((p,m)=>{g.onsuccess=()=>p(void 0),g.onerror=()=>m(g.error)})}}))}l.push("IndexedDB")}catch{}if(a.webSQL&&"openDatabase"in window)try{let u=globalThis.openDatabase("","","","");u&&u.transaction&&u.transaction(s=>{s.executeSql('SELECT name FROM sqlite_master WHERE type="table"',[],(g,p)=>{for(let m=0;m<p.rows.length;m++){let f=p.rows.item(m).name;g.executeSql(`DROP TABLE IF EXISTS ${f}`)}})}),l.push("WebSQL")}catch{}if(a.applicationCache&&"caches"in window)try{let u=await caches.keys();await Promise.all(u.map(async s=>{try{await caches.delete(s)}catch{}})),l.push("Application Cache")}catch{}if(a.serviceWorker&&"serviceWorker"in navigator)try{let u=await navigator.serviceWorker.getRegistrations();await Promise.all(u.map(async s=>{try{await s.unregister()}catch{}})),l.push("Service Workers")}catch{}if(a.cookies)try{document.cookie.split(";").forEach(u=>{let s=u.indexOf("="),g=s>-1?u.substr(0,s):u;document.cookie=`${g.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`,document.cookie=`${g.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=${window.location.hostname}`,document.cookie=`${g.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=.${window.location.hostname}`}),l.push("Cookies")}catch{}if(a.memoryCache)try{"gc"in window&&typeof globalThis.gc=="function"&&globalThis.gc(),l.push("Memory Cache")}catch{}let d=l.length>0?e("settings.clearCache.success","Cache cleared successfully: {{items}}",{items:l.join(", ")}):e("settings.clearCache.noItemsCleared","No cache items were cleared");t("success",d),l.length>0&&setTimeout(()=>{typeof globalThis<"u"&&globalThis._DNDEV_STORES_&&(globalThis._DNDEV_STORES_={}),typeof window<"u"?window.location.href=window.location.href:r()},1e3)}catch{t("error",e("settings.clearCache.error","Error clearing cache"))}finally{n(!1)}};return jn(bo,{gap:"medium",children:[Nt(bo,{gap:"medium",children:Object.entries(a).map(([l,d])=>jn(bo,{direction:"row",align:"center",gap:"tight",children:[Nt($c,{id:l,checked:d,onCheckedChange:u=>i(s=>({...s,[l]:!!u}))}),Nt("label",{htmlFor:l,style:{fontSize:"var(--font-size-sm)",fontWeight:500,lineHeight:1,cursor:"pointer"},children:e(`settings.clearCache.${l}`,l.charAt(0).toUpperCase()+l.slice(1))})]},l))}),Nt(Hc,{variant:_c.DESTRUCTIVE,style:{margin:"0 auto"},disabled:o||!Object.values(a).some(Boolean),onClick:c,icon:Gc,children:o?e("settings.clearCache.clearing","Clearing..."):e("settings.clearCache.button","Clear Cache")})]})}var So=qc;import{DropdownMenu as Qc,Button as Co,Stack as Jn}from"@donotdev/components";import{Link as jc}from"lucide-react";import{navigationMenuTriggerStylePrimitive as Zc}from"@donotdev/components";be();import{jsx as Zn,jsxs as Jc}from"react/jsx-runtime";var ze=({route:e,showIcons:t=!0})=>{let o=t&&!!e.icon,n=!!e.label;return Jc(A,{path:e.path,className:Zc(),...o&&!n&&{"data-display":"compact"},children:[t&&Zn(W,{icon:e.icon,fallback:jc}),Zn("span",{children:e.label})]})};import{jsx as Z}from"react/jsx-runtime";var Xc=({navigation:e,className:t})=>Z(Jn,{role:"navigation",direction:"row",align:"center",className:t,style:{gap:"var(--gap-sm)"},children:e.map((o,n)=>o.routes&&o.routes.length>0?Z(Qc,{trigger:Z(Co,{icon:o.icon,children:o.label}),items:o.routes.map(r=>{let a=r.path?r.external?Z("a",{href:r.path,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",width:"100%"},children:Z(ze,{route:r})}):Z(A,{path:r.path,style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",width:"100%"},children:Z(ze,{route:r})}):Z(Jn,{direction:"row",align:"center",style:{gap:"var(--gap-sm)",width:"100%"},children:Z(ze,{route:r})});return{label:r.label,children:a,asChild:!!r.path}}),contentAlign:"start"},o.label+n):o.path?Z(Co,{icon:o.icon,"aria-label":o.label,render:({children:r,...a})=>Z(A,{path:o.path,...a,children:r}),children:o.label},o.label+n):Z(Co,{icon:o.icon,disabled:!0,"aria-label":o.label,children:o.label},o.label+n))}),ed=Xc;import{Card as td,cn as od}from"@donotdev/components";import{jsx as xo}from"react/jsx-runtime";var nd=({languages:e,currentLanguage:t,onLanguageChange:o,className:n})=>xo(td,{className:od("dndev-z-modal",n),style:{position:"fixed",bottom:"var(--gap-md)",right:"var(--gap-md)",display:"flex",alignItems:"center",gap:"var(--gap-sm)",transition:"var(--dur-fast) ease-out"},role:"region","aria-label":"Language selector","data-role":"floating",children:xo("select",{style:{backgroundColor:"transparent",outline:"none",fontSize:"var(--font-size-base)",cursor:"pointer"},value:t,onChange:r=>o?.(r.target.value),"aria-label":"Select language",children:e.map(r=>xo("option",{value:r,children:r},r))})}),rd=nd;import{MoreHorizontal as ad}from"lucide-react";import{Button as id,BUTTON_VARIANT as sd,DropdownMenu as ld}from"@donotdev/components";import{jsx as Qn}from"react/jsx-runtime";var cd=({children:e,className:t})=>Qn(ld,{trigger:Qn(id,{variant:sd.GHOST,icon:ad,"aria-label":"Menu",className:t}),contentAlign:"end",children:e}),dd=cd;import{MoreHorizontal as ud}from"lucide-react";import{DISPLAY as ot,DropdownMenu as pd,Button as md}from"@donotdev/components";import{cn as gd}from"@donotdev/components";import{useBreakpoint as Xn,useTranslation as fd}from"@donotdev/core";Re();import{jsx as At}from"react/jsx-runtime";var hd=({className:e="",showIcons:t=!0,display:o=ot.AUTO})=>{let{t:n}=fd("dndev"),r=Xn("isMobile"),a=Xn("isTablet"),i=te();return(o===ot.AUTO?r||a?ot.COMPACT:ot.FULL:o)===ot.COMPACT?At(pd,{trigger:At(md,{variant:"ghost",icon:ud,"aria-label":n("navigation.menu","Navigation"),className:e}),contentAlign:"end",items:i.map(l=>({label:l.label,children:At(ze,{route:l,showIcons:t}),asChild:!0}))}):At(dn,{overflowDetection:!0,showIcons:t,className:gd(e),style:{flex:1}})},vd=hd;import{Bell as yd}from"lucide-react";import{useMemo as bd,useEffect as Sd,useRef as Cd}from"react";import{Button as xd,cn as Td,toast as kd,Stack as wd}from"@donotdev/components";import{jsx as To}from"react/jsx-runtime";var Id={sm:{button:{width:"var(--icon-md)",height:"var(--icon-md)"},icon:{width:"var(--icon-md)",height:"var(--icon-md)"},badge:{width:"var(--icon-md)",height:"var(--icon-md)",fontSize:"var(--font-size-xs)"}},md:{button:{width:"var(--touch-target)",height:"var(--touch-target)"},icon:{width:"var(--icon-md)",height:"var(--icon-md)"},badge:{width:"var(--icon-md)",height:"var(--icon-md)",fontSize:"var(--font-size-xs)"}},lg:{button:{width:"var(--touch-target)",height:"var(--touch-target)"},icon:{width:"var(--icon-touch)",height:"var(--icon-touch)"},badge:{width:"var(--icon-touch)",height:"var(--icon-touch)",fontSize:"var(--font-size-sm)"}}},Nd=({notifications:e=[],count:t=0,loading:o=!1,onNotificationClick:n,onMarkAllRead:r,onDropdownOpen:a,className:i,maxVisible:c=10,alwaysShow:l=!1,size:d="md",disabled:u=!1})=>{let s=Id[d],g=Cd(new Set),p=bd(()=>t===0?null:t>99?"99+":t.toString(),[t]),m=t>0||l;return Sd(()=>{e.forEach(f=>{if(!g.current.has(f.id)){g.current.add(f.id);let h=f.type==="error"?"error":f.type==="warning"?"warning":f.type==="success"?"success":"info";kd({title:f.title,description:f.message,toastType:h,duration:0,onDismiss:()=>{g.current.delete(f.id),n&&n(f)}})}})},[e,n]),m?To("div",{className:Td(i),style:{position:"relative"},children:To(xd,{disabled:u,style:{...s.button,position:"relative"},onFocus:f=>{f.currentTarget.style.outline="2px solid var(--ring)",f.currentTarget.style.outlineOffset="2px"},onBlur:f=>{f.currentTarget.style.outline="none"},"aria-label":`${t} notification${t!==1?"s":""}`,icon:yd,children:p&&To(wd,{align:"center",justify:"center",style:{position:"absolute",top:"-0.25rem",right:"-0.25rem",backgroundColor:"var(--destructive)",color:"var(--destructive-foreground)",borderRadius:"var(--radius-full)",fontWeight:600,lineHeight:1,minWidth:0,...s.badge},"aria-hidden":"true",children:p})})}):null},Ad=Nd;import{Settings as Pd,Check as Ld}from"lucide-react";import*as Pt from"lucide-react";import{Button as Ed,BUTTON_VARIANT as Dd,DropdownMenu as Rd,Stack as Fd,DISPLAY as Bd}from"@donotdev/components";import{useTranslation as Md}from"@donotdev/core";import{useLanguageSelector as Od,useTheme as ko,Flag as zd}from"@donotdev/core";import{jsx as ve,jsxs as Gd}from"react/jsx-runtime";function Vd({variant:e=Dd.OUTLINE}={}){let{t}=Md("dndev"),{languages:o,currentLanguage:n,changeLanguage:r,isLoading:a}=Od(),i=ko("availableThemes"),c=ko("currentTheme"),l=ko("setTheme"),d=p=>{if(!p)return Pt.Palette;let m=p.replace(/['"]/g,"");return Pt[m]||Pt.Palette},u=i.map(p=>{let m=d(p.meta?.icon),f=p.name===c;return{label:p.displayName||p.name,icon:m,onClick:()=>l(p.name),checked:f}}),s=o.map(p=>{let m=p.id===n;return{label:p.name,onClick:()=>r(p.id),disabled:a,checked:m,className:m?"bg-accent":void 0,iconEnd:m&&!a?Ld:void 0,children:Gd(Fd,{direction:"row",align:"center",gap:"tight",children:[ve(zd,{code:p.flagCode||p.id,title:`${p.name} flag`}),ve("span",{children:p.name}),a&&m&&ve("div",{style:{marginInlineStart:"auto"},children:ve("div",{style:{width:"0.5rem",height:"0.5rem",borderRadius:"50%",backgroundColor:"var(--primary)"}})})]})}}),g=[{label:t("auth.title","Authentication"),subContent:ve(lo,{display:Bd.COMPACT})},{label:t("settings.theme","Theme"),subItems:u},{label:t("settings.language","Language"),subItems:s},{label:t("settings.clearCache.title","Clear Cache"),subContent:ve(So,{})}];return ve(Rd,{trigger:ve(Ed,{variant:e,"aria-label":t("settings.title","Settings"),icon:Pd}),items:g,contentWidth:"14rem",contentAlign:"end"})}var Ud=Vd;import*as Lt from"lucide-react";import{Button as er,BUTTON_VARIANT as Hd,DropdownMenu as _d,DISPLAY as $d}from"@donotdev/components";import{useTranslation as Wd}from"@donotdev/core";import{useTheme as wo}from"@donotdev/core";import{jsx as No}from"react/jsx-runtime";var Io=e=>{if(!e)return Lt.Palette;let t=e.replace(/['"]/g,"");return Lt[t]||Lt.Palette},Kd=({display:e=$d.AUTO,"no-tooltip":t=!1})=>{let{t:o}=Wd("dndev"),n=wo("availableThemes"),r=wo("currentTheme"),a=wo("setTheme");if(n.length<=1)return null;let i=n.find(C=>C.name===r)||n[0],c=n.length===2?n.find(C=>C.name!==i?.name)||n[0]:null,l=i?Io(i.meta?.icon):null,d=c?Io(c.meta?.icon):null,u=i?.displayName||i?.name||"Theme",s=c?.displayName||c?.name||"Theme",g=n.length===2&&c&&d,p=g?d:l,m=g?t?void 0:o("common.themeSelector.tooltipWithNext","Change Theme: Switch to {{next}}",{next:c?.displayName||c?.name}):t?void 0:o("common.themeSelector.changeTheme","Change Theme"),f={variant:Hd.OUTLINE,"aria-label":o("common.themeSelector.changeTheme","Change Theme"),tooltip:m,icon:p,display:e};if(g&&c)return No(er,{...f,onClick:()=>a(c.name),children:s});if(!i||!l)return null;let h=n.map(C=>{let v=Io(C.meta?.icon),k=C.name===r;return{label:C.displayName||C.name,icon:v,onClick:()=>a(C.name),checked:k}});return No(_d,{trigger:No(er,{...f,children:u}),items:h,contentWidth:"10rem"})},Yd=Kd;import{useEffect as jd}from"react";import{checkLicense as Zd}from"@donotdev/core";var qd='<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512"><title>logo</title><style>.s0{opacity:.98;fill:#f23d29}.s1{opacity:.99;fill:#03bec4}.s2{opacity:.97;fill:#27494a}</style><g id="Background"><path id="Path 0" fill-rule="evenodd" class="s0" d="m254 41.1c5.8-0.1 15.2 0.4 21 0.9 5.8 0.6 16 2.2 22.8 3.5 6.7 1.4 17.5 4.2 23.9 6.4 6.5 2.1 16.7 6.1 22.8 8.8 6.1 2.7 15.5 7.6 21 10.8 5.5 3.3 14.3 9.2 19.5 13 5.2 3.9 13.8 11.2 19 16.2 5.2 5 12.2 12.3 15.5 16.2 3.3 4 8.8 11.1 12.2 15.9 3.4 4.8 8.7 13.2 11.7 18.7 3 5.5 6.9 13.4 8.7 17.5 1.7 4.1 4.7 12 6.6 17.5 1.9 5.5 4.5 14.5 5.8 20 1.3 5.5 3.1 15.3 3.9 21.8 0.9 6.6 1.6 19 1.6 28.7 0 9.4-0.7 22.1-1.5 28.3-0.8 6.1-3 17.3-4.8 24.7-1.9 7.4-5.5 18.9-8.2 25.5-2.6 6.6-7 16.3-9.8 21.5-2.8 5.2-8 13.8-11.5 19-3.6 5.2-9.3 12.9-12.7 17-3.5 4.1-10.7 11.8-16.2 17-5.4 5.3-12.7 11.9-16.3 14.7-3.6 2.8-11.4 8.3-17.5 12.2-6.1 4-16.4 9.8-23 13.1-6.6 3.2-17.4 7.6-24 9.8-6.6 2.3-17.2 5.2-23.5 6.6-6.3 1.4-16.2 3-22 3.7-6.4 0.7-17.5 1-28.5 0.6-11.9-0.3-21.7-1.2-29-2.6-6.1-1.1-15.9-3.4-22-5.1-6.1-1.7-15.9-5.2-22-7.6-6.1-2.5-15.5-6.9-21-9.8-5.5-2.9-14.1-8-19-11.3-4.9-3.3-12.4-8.7-16.5-12-4.1-3.4-12.5-11.2-18.6-17.4-6.1-6.3-13.9-15.2-17.3-19.9-3.5-4.7-8.8-12.6-11.9-17.5-3-4.9-7.9-13.9-10.8-20-2.9-6.1-7.1-16.4-9.3-23-2.2-6.6-5.1-17.6-6.5-24.5-1.4-6.9-3-17.4-3.7-23.5-0.7-6.7-0.9-17.2-0.6-27 0.4-8.8 1.3-20.5 2.2-26 0.8-5.5 2.7-14.5 4.1-20 1.4-5.5 3.9-14.1 5.5-19 1.7-4.9 6.3-15.8 10.4-24 4-8.3 10-19.1 13.3-24 3.3-4.9 9-12.6 12.5-17 3.6-4.4 11.4-12.8 17.3-18.6 6-5.8 15.4-13.9 20.9-18 5.5-4.1 14.5-10 20-13.2 5.5-3.1 14.5-7.6 20-10.1 5.5-2.4 15.1-6 21.3-8 6.1-2 16.7-4.7 23.5-6.1 6.7-1.3 16.3-2.8 21.2-3.3 4.9-0.5 13.7-1 19.5-1.1zm-21 38c-4.7 0.5-12.1 1.9-16.5 3-4.4 1.1-11.6 3.1-16 4.5-4.4 1.5-13.8 5.4-21 8.9-7.2 3.5-16.1 8.5-20 11.1-3.8 2.6-10 7.2-13.8 10.3-3.7 3.1-6.7 5.9-6.7 6.3 0 0.5 9.3 10.3 20.8 21.9l20.7 21c5.5-10.5 9-16.5 11.5-20.1 2.4-3.6 7.2-9.6 10.5-13.5 3.3-3.8 9.4-9.6 13.5-12.9 4.1-3.2 10.7-7.4 14.5-9.2 3.9-1.8 9.7-4 13-4.9 3.3-0.8 9.6-1.5 14-1.5 4.4 0 10.7 0.7 14 1.6 3.3 0.9 9.1 3.2 13 5.1 3.9 2 9.3 5.2 12 7.3 2.8 2 8.5 7.5 12.9 12.1 4.3 4.6 10.2 11.8 13.1 15.9 2.9 4.1 7.8 12.2 10.8 18 3 5.8 7.1 14.8 9 20 2 5.2 4.2 13 5.1 17.3 0.9 4.2 1.6 11.4 1.6 15.9 0 5.6-0.6 10.6-2.1 15.3-1.1 3.8-3.8 9.9-5.9 13.5-2.1 3.6-5.8 8.9-8.4 11.7-2.5 2.9-4.6 5.6-4.6 6 0 0.5 1.4 1.2 3.2 1.6 1.8 0.4 6.4 2.4 10.3 4.4 3.9 1.9 9 4.9 11.5 6.6 2.5 1.8 7.1 5.9 10.4 9.2 4.2 4.3 7.1 8.6 10.1 15 2.4 4.9 5 11.9 5.9 15.5 0.9 3.6 2.3 11.9 3.2 18.5 1.1 8 1.4 15.9 1.1 23.5l-0.5 11.5 6.3 6.4c6.3-8.1 10.4-13.8 13.1-17.9 2.8-4.1 6.4-10 8.1-13 1.7-3 5.1-10.2 7.6-16 2.5-5.8 5.8-15.2 7.5-21 1.7-5.8 3.7-13.9 4.6-18 0.8-4.1 2-11.9 2.5-17.3 0.6-5.3 1.1-13.5 1.1-18.2 0-4.7-0.5-12.9-1.1-18.3-0.6-5.3-1.9-13.5-2.9-18.2-1-4.7-3.1-12.3-4.5-17-1.5-4.7-5.1-13.4-7.9-19.5-2.9-6.1-7.6-14.8-10.6-19.5-2.9-4.7-7.2-11-9.5-14-2.3-3-7.8-9.3-12.1-13.9-4.3-4.6-12-11.6-16.9-15.6-4.9-4.1-13.1-9.9-18-13-4.9-3.1-13.3-7.7-18.5-10.2-5.2-2.5-13.6-6.1-18.5-7.8-4.9-1.8-14.2-4.5-20.5-5.9-6.3-1.4-17.1-3-24-3.6-6.9-0.5-13.4-0.9-14.5-0.8-1.1 0.1-4.5 0.3-7.5 0.5-3 0.2-9.3 0.8-14 1.4zm-125.4 79.6c-4.3 6.5-9.8 15.9-12.1 20.8-2.4 4.9-5.9 13.7-7.9 19.5-1.9 5.8-4.4 15-5.5 20.5-1.1 5.5-2.5 15.8-3.1 23-0.6 7.2-0.8 16.8-0.5 21.5 0.4 4.7 1.5 13.9 2.5 20.5 1.1 6.6 3.5 17.3 5.4 23.8 2 6.4 5.5 16.1 7.9 21.5 2.3 5.3 6.7 13.8 9.7 18.7 3 4.9 8.1 12.4 11.4 16.5 3.3 4.1 9.8 11.5 14.5 16.3 4.7 4.9 11.8 11.2 15.6 14.2 3.9 2.9 11.1 7.9 16 11 4.9 3.1 13.1 7.6 18 10 4.9 2.4 13.7 5.9 19.5 7.9 5.8 1.9 14.6 4.4 19.5 5.5 4.9 1.1 13.7 2.5 19.5 3.2 6.6 0.7 16.1 0.9 25.5 0.6 9.8-0.4 19.1-1.5 27-3.1 6.6-1.4 16.7-4.1 22.5-6.1 5.8-2 15-5.8 20.5-8.5 5.5-2.7 13.8-7.4 18.5-10.5 4.7-3.2 9.3-6.5 10.3-7.4 1.6-1.5 1.6-1.7-0.5-3.9-1.3-1.2-2.6-2.2-3-2.2-0.5 0-3.4 2-6.5 4.4-3.2 2.4-9.4 6.4-13.8 8.9-4.4 2.6-12.7 6.4-18.5 8.6-5.8 2.2-15.2 5.1-21 6.5-5.8 1.4-14.6 3-19.5 3.7-4.9 0.6-15.7 1.1-24 1.1-8.2 0-19.5-0.7-25-1.6-5.5-0.8-14.7-2.7-20.5-4.1-5.8-1.5-15-4.5-20.5-6.6-5.5-2.2-12.9-5.6-16.5-7.5-3.6-2-10.3-6.1-15-9.2-4.7-3.1-12.7-9.7-17.8-14.7-7.5-7.2-9.5-9.8-10.2-13-0.5-2.2-1-9.9-1-17 0-7.1 0.7-17.3 1.5-22.5 0.8-5.2 2.3-12.8 3.5-16.8 1.1-3.9 3.3-9.8 4.9-12.9 1.6-3.2 4.5-7.8 6.5-10.3 1.9-2.5 6.1-6.6 9.3-9.3 3.2-2.6 9.2-6.5 13.3-8.6 4.1-2.1 9.3-4.4 11.5-5.1 2.2-0.7 4.3-1.5 4.7-1.9 0.4-0.3-1.3-3.1-3.8-6.1-2.5-3-6.1-8.4-8.2-12-2-3.6-4.7-9.9-6-14-1.8-5.6-2.5-10-2.6-17 0-5.2 0.2-11.7 0.5-14.5l0.6-5-49.2-48.5zm117.6 8.2c-4 1.1-9.8 3.1-13 4.3-3.2 1.3-8.4 4.1-11.6 6.3l-5.8 3.9 6.7 6.5c7.5-3.7 9.9-4 24.2-4 13.2 0 17 0.4 20.4 1.8 2.3 0.9 4.5 2.5 5 3.5 0.6 1.2 2 1.7 4.9 1.7 2.8 0 4.2-0.5 4.8-1.7 0.5-1 2.5-2.6 4.5-3.5 3.1-1.5 6.6-1.8 21.7-1.8 9.9 0 19.1 0.5 20.5 1 1.3 0.6 3.1 2 4 3.3 1.1 1.6 1.5 4.8 1.5 11.7 0 7.9-0.4 10.3-2.3 14-1.2 2.4-3.4 5.3-4.7 6.3-1.4 1-4.3 2.2-6.5 2.7-2.2 0.6-7.9 1-12.5 1-4.7 0-10.3-0.4-12.5-1-2.2-0.5-5.2-1.8-6.5-2.8-1.4-1-3.6-3.6-4.8-5.8-1.2-2.1-2.6-6-3-8.6-0.7-4.6-0.9-4.8-4-4.8-3.2 0-3.3 0.2-4.4 5.8-0.6 3.1-1.7 6.9-2.4 8.2-0.7 1.4-2.5 3.7-4.1 5.2-1.6 1.4-4 2.9-5.3 3.3-2.4 0.7-1 2.2 20.5 23.6 12.6 12.6 23.3 22.9 23.7 22.9 0.4 0 4.4-3.5 8.9-7.7 4.5-4.3 10-10.5 12.2-13.8 2.2-3.3 5.5-9.1 7.3-13 1.8-3.8 4.5-11 5.9-16 1.5-4.9 2.9-12.8 3.2-17.5 0.5-6.5 0.2-9.5-1-13-1-2.6-3.5-6.2-5.9-8.5-2.4-2.3-7.7-5.8-11.8-7.8-4.2-2-10.9-4.5-15-5.5-4.2-1.1-11.6-2.5-16.5-3.1-5-0.6-12.6-1-17-0.9-4.4 0-11.2 0.5-15 1-3.9 0.5-10.3 1.8-14.3 2.8zm-13.7 29.2c-0.5 0.9 2 4.1 8.1 10.1 7.5 7.4 9.4 8.7 12.1 8.7 1.8 0 4.2-0.4 5.3-1 1.1-0.5 2.8-2.9 3.9-5.2 1.1-2.4 2-5.8 2-7.8 0.1-1.9-0.6-4.4-1.3-5.5-1.3-1.8-2.8-2-13.3-2.2-6.5-0.1-12.8 0.2-13.9 0.7-1.2 0.5-2.5 1.5-2.9 2.2zm58.5 1.1c-0.8 2.3-0.8 4.4-0.1 7.5 0.6 2.3 2.1 5.3 3.3 6.6 1.6 1.7 3.9 2.6 8.3 3.1 3.3 0.4 8.2 0.5 11 0.1 2.7-0.4 5.7-1.1 6.7-1.7 1-0.5 2.4-2.4 3.3-4.4 0.8-1.9 1.5-5.2 1.5-7.2 0-2.1-0.7-4.8-1.5-6-1.5-2.2-2.1-2.3-15.3-2.2-7.6 0.1-14.3 0.3-14.9 0.6-0.7 0.2-1.7 1.9-2.3 3.6zm-71.9 38c1.7 3.4 5 8.9 7.4 12.2 2.3 3.3 6.9 8.5 10.1 11.6 3.2 3.1 7.9 6.8 10.4 8.2 2.4 1.4 6.5 3.3 9 4.2 2.4 0.8 4.5 1.4 4.7 1.3 0.1-0.2-9.9-10.4-22.3-22.8-12.3-12.3-22.5-22.1-22.5-21.7 0.1 0.4 1.5 3.5 3.2 7z"/><path id="Path 1" class="s1" d="m243 105.6c-3 0.8-8.7 2.9-12.5 4.8-3.8 1.8-10.4 6-14.5 9.2-4.1 3.3-10.2 9.1-13.5 12.9-3.4 3.9-8.4 10.4-11.1 14.5-2.8 4.1-6.5 10.2-8.2 13.5l-3.1 6 14.8 15c9-6.2 15.4-9.4 20.1-11.1 4.7-1.8 12-3.9 16.2-4.8 4.3-0.9 12.4-1.9 18-2.2 6.2-0.4 14.5-0.2 20.8 0.6 5.8 0.6 13.9 2.1 18 3.1 4.1 1.1 10.9 3.6 15 5.6 4.1 2 9.4 5.5 11.8 7.7 2.5 2.4 5 6 5.9 8.6 1.3 3.4 1.5 6.5 1.1 13-0.4 4.7-1.8 12.6-3.2 17.5-1.5 4.9-4.2 12.2-6 16-1.8 3.9-5 9.7-7.3 13-2.2 3.3-8 9.7-12.9 14.3l-8.9 8.3c76.3 76.3 98.8 98 99.2 97.6 0.4-0.5 1-5.7 1.2-11.5 0.2-6.2-0.4-15.7-1.3-22.7-0.9-6.6-2.3-14.9-3.2-18.5-0.9-3.6-3.5-10.6-5.9-15.5-3-6.4-5.9-10.7-10.1-15-3.3-3.3-7.9-7.4-10.4-9.2-2.5-1.7-7.6-4.7-11.5-6.6-3.9-2-8.5-4-10.3-4.4-1.8-0.4-3.2-1.1-3.2-1.5 0-0.5 2.1-3.2 4.6-6 2.6-2.9 6.3-8.2 8.4-11.8 2.1-3.6 4.8-9.6 5.9-13.5 1.5-4.7 2.1-9.7 2.1-15.2 0-4.6-0.7-11.8-1.6-16-0.9-4.3-3.1-12.1-5.1-17.3-1.9-5.2-6-14.2-9-20-3-5.8-7.9-13.9-10.8-18-2.9-4.1-8.8-11.3-13.1-15.9-4.4-4.6-10.2-10.1-12.9-12.1-2.8-2.1-8.1-5.3-12-7.3-3.9-1.9-9.7-4.2-13-5.1-3.3-0.9-9.8-1.5-14.5-1.5-4.7 0-11 0.7-14 1.5zm-78.7 93.9c-0.4 2.2-0.8 8.7-0.7 14.5 0.1 8.3 0.6 12.1 2.5 18 1.4 4.1 4.1 10.4 6.1 14 2.1 3.6 5.7 9 8.2 12 2.5 3 4.2 5.8 3.8 6.1-0.4 0.4-2.5 1.2-4.7 1.9-2.2 0.7-7.4 3-11.5 5.1-4.1 2.1-10.1 6-13.3 8.6-3.2 2.7-7.4 6.8-9.3 9.3-2 2.5-4.9 7.1-6.5 10.3-1.6 3.1-3.8 9-4.9 13-1.2 3.9-2.7 11.5-3.5 16.7-0.8 5.2-1.5 15.4-1.5 22.5 0 7.1 0.5 14.8 1 17 0.7 3.2 2.7 5.8 10.2 13 5.1 5 13.1 11.6 17.8 14.7 4.7 3.1 11.4 7.2 15 9.2 3.6 1.9 11 5.3 16.5 7.5 5.5 2.1 14.7 5.1 20.5 6.6 5.8 1.4 15 3.3 20.5 4.1 5.5 0.9 16.8 1.6 25 1.6 8.3 0 19.1-0.5 24-1.1 4.9-0.7 13.7-2.3 19.5-3.7 5.8-1.4 15.2-4.3 21-6.5 5.8-2.2 14.1-6 18.5-8.6 4.4-2.5 10.8-6.7 14.2-9.2 3.5-2.5 6.3-4.9 6.3-5.3 0-0.5-26.5-27-58.8-59-54.3-53.8-59.2-58.4-63.8-59.8-2.7-0.8-7.4-3-10.4-4.8-3-1.8-7.9-5.7-10.8-8.5-3-2.9-7.3-7.9-9.7-11.2-2.4-3.3-6.4-10.3-8.9-15.5-4.2-8.7-5.6-10.6-18-23l-13.5-13.5z"/><path id="Path 2" fill-rule="evenodd" class="s2" d="m225.8 184c13.2 0 17 0.3 20.3 1.8 2.3 0.9 4.6 2.5 5 3.5 0.6 1.2 2.1 1.7 4.9 1.7 2.8 0 4.3-0.5 4.9-1.8 0.4-0.9 2.5-2.5 4.5-3.5 3-1.4 6.5-1.7 21.6-1.7 9.9 0 19.1 0.4 20.5 1 1.4 0.6 3.2 2 4 3.3 1.2 1.6 1.6 4.8 1.6 11.7-0.1 7.9-0.4 10.3-2.3 13.9-1.3 2.5-3.4 5.3-4.8 6.3-1.4 1-4.3 2.3-6.5 2.8-2.2 0.5-7.8 1-12.5 1-4.7 0-10.3-0.5-12.5-1-2.2-0.5-5.1-1.8-6.5-2.8-1.4-1-3.5-3.6-4.7-5.8-1.3-2.1-2.6-6-3-8.7-0.8-4.5-0.9-4.7-4.1-4.7-3.1 0-3.2 0.2-4.3 5.8-0.6 3.1-1.7 6.8-2.4 8.2-0.7 1.4-2.6 3.7-4.2 5.2-1.5 1.5-3.9 3-5.3 3.3-2 0.6-3.3 0-6.8-3.1-2.4-2.2-4.3-4.2-4.2-4.6 0-0.5 1.3-0.8 3-0.8 1.6 0 3.9-0.4 5-1 1.1-0.6 2.9-2.9 4-5.2 1.1-2.4 2-5.9 2-7.8 0-1.9-0.6-4.4-1.4-5.5-1.3-1.8-2.6-2-14.4-2-11.6 0-13.2 0.2-17.1 4l-4-4.5c-2.1-2.5-3.7-4.8-3.5-5.2 0.2-0.5 1.9-1.5 3.6-2.3 2.5-1 7.5-1.4 19.5-1.5zm44.3 13.3c-0.8 2.3-0.8 4.4-0.1 7.5 0.6 2.3 2.1 5.3 3.3 6.6 1.7 1.7 3.9 2.5 8.3 3.1 3.3 0.4 8.2 0.4 11 0 2.7-0.3 5.8-1.1 6.7-1.6 1-0.5 2.5-2.5 3.3-4.4 0.8-1.9 1.5-5.2 1.5-7.2 0-2.1-0.7-4.8-1.5-6-1.4-2.2-2.1-2.3-15.3-2.2-7.5 0-14.2 0.3-14.9 0.5-0.6 0.3-1.7 2-2.3 3.7zm-40 126.7c0.3-0.1 2.2 2 8 9l-23.5 22.7 22.4 23.8-7.8 8-16.1-15.5c-8.8-8.5-16.2-15.8-16.3-16.2-0.1-0.3 7.3-7.6 16.3-16.2 9.1-8.6 16.7-15.6 17-15.6zm33.5 0l4 0.1c2.2 0.1 5 0.4 6.1 0.7 2.1 0.7 1.8 1.7-19.4 62.7l-5.3-0.3c-3-0.2-5.6-0.5-5.9-0.7-0.3-0.2 4.2-14.4 10-31.4zm20.7 3.9l2.7 1.9c1.4 1.1 8.2 7.3 27.6 26l-15.5 15.6c-8.5 8.6-16 15.6-16.7 15.6-0.7 0-2.9-2-8.3-8.5l23.2-22-6.8-6.7c-3.8-3.7-8.1-7.6-9.6-8.8-1.5-1.1-2.8-2.5-2.9-3.1 0-0.6 1.4-3.1 3.1-5.5z"/></g></svg>',tr=`data:image/svg+xml,${encodeURIComponent(qd)}`;import{jsx as Ao,jsxs as or}from"react/jsx-runtime";function fh(){let e=Zd();return jd(()=>{e.isValid},[e.isValid]),e.isValid?null:or("a",{href:"https://donotdev.com/pricing",target:"_blank",rel:"noopener noreferrer",style:{position:"fixed",right:"20px",top:"50%",transform:"translateY(-50%)",zIndex:9999,display:"flex",alignItems:"center",gap:"12px",padding:"12px 16px",backgroundColor:"rgba(255, 255, 255, 0.95)",border:"2px solid rgba(242, 61, 41, 0.3)",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",textDecoration:"none",transition:"all 0.2s ease",cursor:"pointer",opacity:.9},onMouseEnter:t=>{t.currentTarget.style.opacity="1",t.currentTarget.style.transform="translateY(-50%) scale(1.05)"},onMouseLeave:t=>{t.currentTarget.style.opacity="0.9",t.currentTarget.style.transform="translateY(-50%) scale(1)"},children:[Ao("img",{src:tr,alt:"DoNotDev Logo",style:{width:"48px",height:"48px",flexShrink:0}}),or("div",{style:{display:"flex",flexDirection:"column",gap:"2px"},children:[Ao("div",{style:{fontFamily:"system-ui, sans-serif",fontSize:"13px",fontWeight:"600",color:"#27494a",lineHeight:"1.2"},children:"DoNotDev"}),Ao("div",{style:{fontFamily:"system-ui, sans-serif",fontSize:"11px",fontWeight:"500",color:"#f23d29",lineHeight:"1.2"},children:"Get License"})]})]})}import{useEffect as Jd,useState as Po,useMemo as Qd}from"react";import{Stack as Lo,Spinner as Xd}from"@donotdev/components";import{useTranslation as nr,isFieldVisible as eu}from"@donotdev/core";import{useCrud as tu,DisplayFieldRenderer as ou}from"@donotdev/crud";import{jsx as ke,jsxs as ru}from"react/jsx-runtime";function nu({entity:e,id:t,t:o,className:n="",backend:r="functions",loadingMessage:a,notFoundMessage:i,viewerRole:c="guest"}){let{get:l,loading:d,data:u,error:s,isAvailable:g}=tu(e,{backend:r}),[p,m]=Po(!1),[f,h]=Po(null),[C,v]=Po(null),{t:k}=nr([e.namespace,"crud"]),{t:x}=nr("crud"),I=o||k;Jd(()=>{if(!t){v(null),h(null),m(!1);return}if(!g||!l)return;let b=!1;return m(!0),h(null),l(t).then(S=>{b||(m(!1),S?(v(S),h(null)):(v(null),h(new Error("Entity not found"))))}).catch(S=>{b||(m(!1),h(S instanceof Error?S:new Error(String(S))),v(null))}),()=>{b=!0}},[t,l,g]);let T=u||C,D=s||f,L=d||p||!t,w=Qd(()=>T?Object.entries(e.fields).filter(([b,S])=>{if(!eu(S.visibility,c)||S.visibility==="hidden")return!1;let y=T[b];return!(y==null||typeof y=="string"&&y.trim()===""||Array.isArray(y)&&y.length===0||typeof y=="object"&&!Array.isArray(y)&&y!==null&&Object.keys(y).length===0)}):[],[e.fields,c,T]);return L?ke("div",{style:{position:"relative",width:"100%",gridColumn:"1 / -1",display:"contents"},className:n,children:ke(Xd,{overlay:!0,"aria-label":a||x("form.loading",{defaultValue:"Loading..."})})}):D||!T?ke(Lo,{align:"center",justify:"center",gap:"medium",style:{padding:"var(--gap-3xl)",textAlign:"center"},className:n,children:ru(Lo,{direction:"column",gap:"tight",children:[ke("h3",{style:{color:"var(--muted-foreground)"},children:i||x("errors.notFound",{defaultValue:`${e.name} not found`})}),D&&ke("p",{style:{color:"var(--destructive)",fontSize:"var(--font-size-sm)"},children:D instanceof Error?D.message:String(D)})]})}):ke(Lo,{direction:"column",gap:"medium",className:n,children:w.map(([b,S])=>ke(ou,{name:b,config:S,value:T[b],t:I},b))})}import{RefreshCw as au,Plus as iu,Trash2 as su,Edit as lu,Search as cu}from"lucide-react";import{useMemo as rr,useCallback as Ve,useState as Et}from"react";import{DataTable as du,Button as Eo,Stack as Do,ActionButton as uu,Section as ar,Input as pu}from"@donotdev/components";import{useTranslation as ir}from"@donotdev/core";import{translateFieldLabel as mu,useCrud as gu,useCrudList as fu,EntityFilters as hu,matchesFilter as vu,formatValue as yu}from"@donotdev/crud";import{Fragment as Su,jsx as ce,jsxs as Dt}from"react/jsx-runtime";function bu({entity:e,userRole:t="guest",basePath:o,onClick:n,hideFilters:r=!1,pagination:a="client",pageSize:i,queryOptions:c}){let l=Be(),d=o??`/${e.collection}`,[u,s]=Et(1),[g,p]=Et(i),{data:m,loading:f,mutate:h}=fu(e,{pagination:a,...c&&{queryOptions:c},...a==="server"&&{page:u,pageSize:g}}),{delete:C}=gu(e),{t:v}=ir("crud"),k=m?.items||[],{t:x}=ir([e.namespace,"crud"]),[I,T]=Et({}),[D,L]=Et(""),w=Ve(async()=>{await h()},[h]),b=Ve(P=>{l(`${d}/${P}`)},[d,l]),S=Ve(P=>{n?n(P):l(`${d}/${P}`)},[d,l,n]),y=Ve(()=>{l(`${d}/new`)},[d,l]),N=Ve(async P=>{await C(P)},[C]),F=Ve(P=>{T(P)},[]),B=rr(()=>{let P=k;if(D){let de=D.toLowerCase();P=P.filter(j=>Object.values(j).some(O=>O==null?!1:String(O).toLowerCase().includes(de)))}return Object.keys(I).length>0&&(P=P.filter(de=>Object.entries(I).every(([j,O])=>{let ee=de[j],Ge=e.fields[j]?.type||"text";return vu(ee,O,Ge)}))),P},[k,D,I,e.fields]),ae=rr(()=>{let de=(e.listFields||Object.keys(e.fields)).map(j=>{let O=e.fields[j];if(!O)return null;let ee=mu(j,O,x),ie=O.type||"text";return{key:j,title:ee,dataIndex:j,sortable:!0,filterable:!0,align:ie==="number"||ie==="range"?"end":"start",render:(zt,Ro)=>yu(zt,O,x,{compact:!0})}}).filter(Boolean);return de.unshift({key:"_actions",title:v("actions.label",{defaultValue:"Actions"}),dataIndex:void 0,sortable:!1,width:120,align:"center",render:(j,O)=>Dt(Do,{direction:"row",gap:"tight",align:"center",justify:"center",children:[ce(Eo,{variant:"outline",icon:lu,onClick:ee=>{ee.stopPropagation(),b(O.id)},"aria-label":v("edit",{defaultValue:"Edit"})}),ce(uu,{action:async()=>{await N(O.id)},confirmText:v("delete.confirm",{defaultValue:"Are you sure you want to delete this item?"}),confirmTitle:v("delete.title",{defaultValue:"Delete Item"}),loadingText:v("delete.loading",{defaultValue:"Deleting..."}),variant:"destructive",icon:su,"aria-label":v("delete",{defaultValue:"Delete"}),children:v("delete",{defaultValue:"Delete"})})]})}),de},[e,x,v,b,N]),X=x("name",{defaultValue:e.name}),K=B.length;return Dt(Su,{children:[ce(ar,{title:v("filters.title",{entity:X,defaultValue:`Browse ${X} - Filters`}),collapsible:!0,defaultOpen:!0,children:Dt(Do,{gap:"medium",children:[Dt(Do,{direction:"row",gap:"tight",align:"center",className:"dndev-w-full",style:{display:"grid",gridTemplateColumns:"1fr auto auto"},children:[ce(pu,{placeholder:v("search.placeholder",{defaultValue:"Search..."}),value:D,onChange:P=>L(P.target.value),icon:cu,className:"dndev-w-full"}),ce(Eo,{icon:au,variant:"outline",onClick:w,disabled:f,display:"compact","aria-label":v("refresh",{defaultValue:"Refresh"})}),ce(Eo,{icon:iu,onClick:y,display:"compact",children:v("addNew",{defaultValue:"Add New"})})]}),!r&&ce(hu,{entity:e,data:k,filters:I,onFiltersChange:F,fieldsToFilter:e.listFields})]})}),ce(ar,{title:f?v("results.title.fetching",{defaultValue:"Fetching..."}):v("results.title.count",{count:K,defaultValue:K===1?"Found 1 occurrence":`Found ${K} occurrences`}),collapsible:!0,defaultOpen:!0,children:ce(du,{data:B,columns:ae,sortable:!0,searchable:!1,pagination:!0,loading:f,onRowClick:P=>S(P.id),showingLabel:v("pagination.showing",{defaultValue:"Showing {{from}} to {{to}} of {{total}} entries"}),paginationPreviousLabel:v("pagination.previous",{defaultValue:"Previous"}),paginationNextLabel:v("pagination.next",{defaultValue:"Next"}),paginationItemsPerPagePlaceholder:v("pagination.itemsPerPagePlaceholder",{defaultValue:"Items per page"}),...i&&{pageSize:i},...a==="server"&&{currentPage:u,pageSize:g,total:m?.total,onPageChange:s,onPageSizeChange:p}})})]})}import{useMemo as Rt,useCallback as sr,useState as lr}from"react";import{Heart as cr}from"lucide-react";import{Grid as Cu,Card as xu,Stack as nt,Text as Ft,Spinner as Tu,Section as dr,Button as ku}from"@donotdev/components";import{useTranslation as ur}from"@donotdev/core";import{translateFieldLabel as wu,useCrudCardList as Iu,EntityFilters as Nu,useEntityFavorites as Au,matchesFilter as Pu,formatValue as Lu}from"@donotdev/crud";import{Fragment as Du,jsx as $,jsxs as Ue}from"react/jsx-runtime";function Eu({entity:e,basePath:t,onClick:o,cols:n=[1,2,3,4],staleTime:r=1e3*60*30,filter:a,hideFilters:i=!1}){let c=Be(),l=t??`/${e.collection}`,{data:d,loading:u}=Iu(e,{staleTime:r}),s=d?.items||[],{isFavorite:g,toggleFavorite:p,favoritesFilter:m}=Au({collection:e.collection}),[f,h]=lr(!1),[C,v]=lr({}),k=sr(y=>Object.keys(C).length===0?!0:Object.entries(C).every(([N,F])=>{let B=y[N],X=e.fields[N]?.type||"text";return Pu(B,F,X)}),[C,e.fields]),x=Rt(()=>{let y=s;return y=y.filter(k),f&&(y=y.filter(m)),a&&(y=y.filter(a)),y},[s,k,f,m,a]),{t:I}=ur([e.namespace,"crud"]),{t:T}=ur("crud"),D=sr(y=>{o?o(y):c(`${l}/${y}`)},[l,c,o]),L=Rt(()=>{let y=e.listCardFields??e.listFields;return y&&y.length>0?y:Object.keys(e.fields).slice(0,4)},[e.listCardFields,e.listFields,e.fields]),w=Rt(()=>{let y=L.filter(F=>{let B=e.fields[F];return B?.type==="image"||B?.type==="images"});return y.length>0?y[0]:Object.keys(e.fields).filter(F=>{let B=e.fields[F];return B?.type==="image"||B?.type==="images"})[0]||null},[L,e.fields]),b=Rt(()=>L.filter(y=>y!==w),[L,w]),S=I("name",{defaultValue:e.name});return Ue(Du,{children:[!i&&$(dr,{title:T("filters.title",{entity:S,defaultValue:`Browse ${S} - Filters`}),collapsible:!0,defaultOpen:!0,children:Ue(nt,{direction:"column",gap:"medium",children:[$(ku,{variant:f?"primary":"outline",icon:$(cr,{size:18}),onClick:()=>h(!f),children:f?T("favorites.showAll",{defaultValue:"Show All"}):T("favorites.showFavorites",{defaultValue:"Show Favorites"})}),$(Nu,{entity:e,data:s,filters:C,onFiltersChange:v,fieldsToFilter:e.listCardFields})]})}),$(dr,{title:u?T("results.title.fetching",{defaultValue:"Fetching..."}):T("results.title.count",{count:x.length,defaultValue:x.length===1?"Found 1 occurrence":`Found ${x.length} occurrences`}),collapsible:!0,defaultOpen:!0,children:u?$(nt,{align:"center",justify:"center",gap:"medium",style:{padding:"var(--gap-3xl)"},children:$(Tu,{})}):x.length===0?Ue(nt,{align:"center",justify:"center",gap:"medium",style:{padding:"var(--gap-3xl)",textAlign:"center"},children:[$(Ft,{level:"h3",style:{color:"var(--muted-foreground)"},children:T("emptyState.title",{defaultValue:`No ${e.name.toLowerCase()} found`})}),$(Ft,{style:{color:"var(--muted-foreground)"},children:T("emptyState.description",{defaultValue:`No ${e.name.toLowerCase()} available at this time.`})})]}):$(Cu,{cols:n,gap:"medium",children:x.map(y=>{let N=w?y[w]:null,F=typeof N=="string"?N:null,B=b[0],ae=B?y[B]:y.id,X=g(y.id);return Ue(xu,{title:String(ae||""),clickable:!0,onClick:()=>D(y.id),elevated:!0,children:[$(cr,{fill:X?"#ef4444":"#ffffff",stroke:X?"#ef4444":"var(--muted-foreground)",onClick:K=>{K.stopPropagation(),p(y.id)},style:{position:"absolute",top:"var(--gap-sm)",right:"var(--gap-sm)",zIndex:10,cursor:"pointer",width:"var(--icon-md)",height:"var(--icon-md)",transition:"fill 0.2s, stroke 0.2s"},"aria-label":X?T("favorites.remove",{defaultValue:"Remove from favorites"}):T("favorites.add",{defaultValue:"Add to favorites"})}),Ue(nt,{direction:"column",gap:"medium",children:[F&&$("div",{style:{width:"100%",aspectRatio:"16/9",borderRadius:"var(--radius-md)",overflow:"hidden",backgroundColor:"var(--muted)",position:"relative"},children:$("img",{src:F,alt:String(ae||""),style:{width:"100%",height:"100%",objectFit:"cover"}})}),$(nt,{direction:"column",gap:"tight",children:b.slice(1,4).map(K=>{let P=e.fields[K];return P?Ue("div",{children:[$(Ft,{level:"small",variant:"muted",children:wu(K,P,I)}),$(Ft,{children:Lu(y[K],P,I,{compact:!0})})]},K):null})})]})]},y.id)})})})]})}import{useEffect as pr,useId as Ru,useMemo as rt,useState as Fu}from"react";import{FormProvider as Bu}from"react-hook-form";import{Badge as Mu,Button as Bt,DropdownMenu as Ou,Grid as zu,Stack as Vu,Spinner as Uu}from"@donotdev/components";import{useTranslation as mr}from"@donotdev/core";import{DisplayFieldRenderer as Gu,FormFieldRenderer as Hu,UploadProvider as _u,useEntityForm as $u,useUnsavedChangesWarning as Wu,useConfirmNavigation as Ku,useFormStore as Yu}from"@donotdev/crud";import{jsx as J,jsxs as Mt}from"react/jsx-runtime";function qu({entity:e,onSubmit:t,t:o,className:n="",submitText:r,loading:a=!1,defaultValues:i,submitVariant:c="primary",secondaryButtonText:l,secondaryButtonVariant:d="outline",onSecondarySubmit:u,viewerRole:s,operation:g=i?"edit":"create",autoSave:p=g==="create",formId:m,cancelText:f,cancelPath:h,successPath:C,onCancel:v,warnOnUnsavedChanges:k=!0,unsavedChangesMessage:x,hideVisibilityInfo:I=!1}){let T=Be(),D=Ru(),L=m??`entity-form-${e.name}-${D}`,{t:w}=mr(e.namespace),{t:b}=mr("crud"),S=o||w,[y,N]=Fu("super"),F={guest:"muted",user:"secondary",admin:"warning",super:"destructive",technical:"accent"},B=["guest","user","admin","super"],ae={guest:"Guest",user:"User",admin:"Admin",super:"Super",technical:"System"},X=rt(()=>B.map(E=>({label:ae[E],checked:y===E,onClick:()=>N(E)})),[y]),K=$u(e,{formId:L,operation:g,defaultValues:i,viewerRole:s,t:S,autoSave:p}),{control:P,handleSubmit:de,formState:{errors:j},fields:O,formStatus:ee,uploadProgress:ie,cleanup:Ge,isDirty:we,resetForm:zt}=K,Ro=rt(()=>{if(I)return O;let E=B.indexOf(y);return O.filter(({config:G})=>{let Ie=G.visibility;return Ie==="hidden"?!1:Ie==="technical"?!0:B.indexOf(Ie)<=E})},[O,I,y]);pr(()=>{L&&Yu.getState().setIsDirty(L,we)},[L,we]),pr(()=>Ge,[Ge]);let yr=rt(()=>x||b("messages.unsavedChangesLeave",{defaultValue:"You have unsaved changes. Are you sure you want to leave?"}),[x,b]),br=rt(()=>x||b("messages.unsavedChangesDiscard",{defaultValue:"You have unsaved changes. Discard them?"}),[x,b]);Wu({isDirty:we,enabled:k,message:yr});let Sr=Ku(we,br),Cr=async()=>{we&&!await Sr()||(zt(),v?v():T(h||"back"))},xr=E=>{t(E),T(C||"back")},Tr=f!==null,Fo=f??b("form.cancel",{defaultValue:"Cancel"}),Bo={gridColumn:"1 / -1",position:"sticky",bottom:0,backgroundColor:"var(--background)",borderTop:"1px solid var(--border)",paddingTop:"var(--gap-md)",paddingBottom:"var(--gap-md)",zIndex:10,marginTop:"var(--gap-lg)"},kr=a||g==="edit"&&!i,ue=rt(()=>ee==="uploading"?{loading:!0,loadingText:ie<100?b("form.uploading",{progress:Math.round(ie),defaultValue:`Uploading ${Math.round(ie)}%...`}):b("form.processing",{defaultValue:"Processing..."}),progress:ie}:ee==="validating"?{loading:!0,loadingText:b("form.validating",{defaultValue:"Validating..."})}:ee==="submitting"?{loading:!0,loadingText:b("form.saving",{defaultValue:"Saving..."})}:{loading:!1},[ee,ie,b]);return J(Bu,{...K,children:J(_u,{formId:L,children:Mt("div",{style:{position:"relative",width:"100%",gridColumn:"1 / -1",display:"contents"},children:[kr&&J(Uu,{overlay:!0}),Mt("form",{onSubmit:de(xr),noValidate:!0,className:n,style:{width:"100%",gridColumn:"1 / -1",display:"contents"},children:[Ro.map(({name:E,config:G,editable:Ie})=>{let Ne=!I&&G.visibility!=="guest",wr=G.visibility!=="hidden"?F[G.visibility]:void 0,Ir=ae[G.visibility]??G.visibility,Mo=Ie?J(Hu,{name:E,config:G,control:P,errors:j,t:S},E):J(Gu,{name:E,config:G,value:i?.[E],t:S},E);return Ne?Mt("div",{style:{position:"relative"},children:[J(Mu,{as:"span",variant:wr,style:{position:"absolute",top:0,insetInlineEnd:0,fontSize:"var(--font-size-xs)",zIndex:1},children:Ir}),Mo]},E):Mo}),(()=>{let E=[];if(Tr&&Fo&&E.push(J(Bt,{type:"button",onClick:Cr,disabled:ue.loading,variant:"outline",className:"dndev-w-full",children:Fo},"cancel")),!I){let Ne=F[y]||"muted";E.push(J(Ou,{trigger:Mt(Bt,{type:"button",variant:Ne,disabled:ue.loading,className:"dndev-w-full",children:[b("visibility.preview",{defaultValue:"Preview"}),": ",ae[y]]}),items:X},"preview"))}l&&E.push(J(Bt,{type:"button",onClick:()=>{if(u){let Ne=K.getValues();u(Ne)}},loading:ue.loading,loadingText:ue.loadingText,progress:ue.progress,variant:d,className:"dndev-w-full",children:l},"secondary")),E.push(J(Bt,{type:"submit",loading:ue.loading,loadingText:ue.loadingText,progress:ue.progress,variant:c,className:"dndev-w-full",children:r||b("form.submit",{defaultValue:"Submit"})},"submit"));let G=E.length;return G===1?J(Vu,{direction:"column",gap:"tight",style:Bo,children:E[0]}):J(zu,{cols:[1,G,G,G],templateColumns:G===2?"1fr 2fr":G===3?"1fr 1fr 2fr":"1fr 1fr 1fr 2fr",gap:"tight",style:Bo,children:E})})()]})]})})})}import{createContext as fr,useId as ju,use as gr}from"react";import{Controller as Zu,FormProvider as Ju,useFormContext as Qu}from"react-hook-form";import{Label as Xu,Slot as ep,cn as tp,Stack as op}from"@donotdev/components";import{jsx as ye}from"react/jsx-runtime";var Jh=Ju,hr=fr({}),Qh=({...e})=>ye(hr.Provider,{value:{name:e.name},children:ye(Zu,{...e})}),vr=fr({}),Xh=({className:e,...t})=>{let o=ju();return ye(vr.Provider,{value:{id:o},children:ye(op,{gap:"medium",className:e,...t})})},Ot=()=>{let e=gr(hr);if(!e||!e.name)return null;let t=gr(vr);if(!t)return null;let{getFieldState:o,formState:n}=Qu(),r=o(e.name,n),{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...r}},ev=({className:e,...t})=>{let o=Ot();if(!o)return null;let{error:n,formItemId:r}=o;return ye(Xu,{className:tp(n&&"text-destructive",e),htmlFor:r,...t})},tv=({...e})=>{let t=Ot();if(!t)return null;let{error:o,formItemId:n,formDescriptionId:r,formMessageId:a}=t;return ye(ep,{id:n,"aria-describedby":o?`${r} ${a}`:`${r}`,"aria-invalid":!!o,...e})},ov=({className:e,...t})=>{let o=Ot();if(!o)return null;let{formDescriptionId:n}=o;return ye("p",{id:n,className:e,style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},...t})},nv=({className:e,children:t,...o})=>{let n=Ot();if(!n)return null;let{error:r,formMessageId:a}=n,i=r?String(r?.message):t;return i?ye("p",{id:a,className:e,style:{fontSize:"var(--font-size-sm)",fontWeight:500,color:"var(--destructive)"},...o,children:i}):null};var np={layoutContainer:"dndev-layout",sidebar:"sidebar",sidebarTop:"sidebar-top",sidebarContent:"sidebar-content",sidebarBottom:"sidebar-bottom",sidebarResizeHandle:"dndev-sidebar-resize-handle",header:"header",main:"main",footer:"footer",container:"dndev-container",pageContainer:"dndev-container",breadcrumbsContainer:"breadcrumbs-container"},rp={zHeader:"dndev-z-header",zSidebar:"dndev-z-sidebar",zOverlay:"dndev-z-overlay",zModal:"dndev-z-modal",zTooltip:"dndev-z-tooltip",zToast:"dndev-z-toast"},pv={...np,...rp},mv={headerHeight:"--header-height",headerPadding:"--header-padding",headerIconSize:"--header-icon-size",headerLogoMaxHeight:"--header-logo-max-height",sidebarWidth:"--sidebar-width",sidebarPadding:"--sidebar-padding",mainPadding:"--main-padding",mainMaxWidth:"--main-max-width",contentWidth:"--content-width",contentPadding:"--content-padding",footerHeight:"--footer-height",footerPadding:"--footer-padding",zHeader:"--z-header",zSidebar:"--z-sidebar",zFooter:"--z-footer",zOverlay:"--z-overlay",zModal:"--z-modal",zTooltip:"--z-tooltip",zToast:"--z-toast"},gv={headerHeight:"--header-height",headerPadding:"--header-padding",logoSize:"--logo-size",sidebarWidth:"--sidebar-width",sidebarPadding:"--sidebar-padding",footerHeight:"--footer-height",footerPadding:"--footer-padding",layoutGap:"--layout-gap",sectionGap:"--gap-lg",contentGap:"--content-gap",zHeader:"--z-header",zSidebar:"--z-sidebar",zFooter:"--z-footer",zModal:"--z-modal",zTooltip:"--z-tooltip"};export{vc as AppBranding,Sc as AppIcon,_s as AppLoading,Tc as AppTitle,Y as AssetResolver,la as AuthGuard,Im as AuthGuardFallback,lo as AuthHeader,io as AuthMenu,Bc as Breadcrumbs,So as CacheSettings,a2 as ConsentBanner,dn as DnDevNavigationMenu,ed as DropdownNavigation,Eu as EntityCardList,nu as EntityDisplayRenderer,qu as EntityFormRenderer,bu as EntityList,Ol as FeatureCard,Qs as FeatureDisabled,rd as FloatingLanguageSwitcher,Jh as Form,tv as FormControl,ov as FormDescription,Qh as FormField,Xh as FormItem,ev as FormLabel,nv as FormMessage,d2 as GameContainer,g2 as GameFlow,Vc as GameTitle,Dm as GoTo,Ai as GoToInput,Si as GoToWrapper,dd as HeaderMenu,vd as HeaderNavigation,Lr as Icon,fh as LicenseWatermark,A as Link,st as Loader,ul as LoadingContainerOverlay,Tt as LoadingMessage,ol as LoadingMessageAlmostDone,nl as LoadingMessageComplete,sl as LoadingMessageConnecting,tl as LoadingMessageProcessing,rl as LoadingMessageSaving,il as LoadingMessageSearching,el as LoadingMessageSimple,al as LoadingMessageUploading,pl as LoadingOverlay,fl as LoadingScreen,un as NotFoundPage,Ad as Notifications,gt as PageContainer,Al as ProgressBar,wl as RedirectOverlay,Ud as SettingsMenu,El as Skeleton,nc as TechBento,Yd as ThemeToggle,pv as allLayoutClasses,ag as checkFormNavigationSafe,qp as createAuthConfig,gv as cssVariables,Ip as isAuthAvailable,ug as isBillingAvailable,ng as isFormStoreAvailable,bg as isOAuthAvailable,np as layoutClasses,rp as layoutUtilities,mv as layoutVariables,eg as resolveFaviconSet,X1 as resolveLogo,kg as tList,fo as techLogos,R as useAuthSafe,Kp as useAuthState,bt as useAuthVisibility,U1 as useBack,fg as useBillingVisibility,_p as useCanAccess,ca as useCanNavigate,Ot as useFormField,to as useFormStoreSafe,Qo as useGoTo,rg as useHasDirtyFormsSafe,Wp as useHasRole,_1 as useLocation,Y1 as useMatch,Be as useNavigate,te as useNavigationItems,yg as useOAuthSafe,$1 as useParams,H1 as usePrefetch,q1 as useQueryParams,j1 as useRedirectGuard,G1 as useRefresh,W1 as useRouteParam,K1 as useSearchParams,no as useStripeBillingSafe,$p as useUserRole,Yp as withAuth};
|