@donotdev/ui 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/AuthMenu.d.ts.map +1 -1
- package/dist/components/auth/AuthMenu.js +15 -28
- package/dist/components/common/FeatureCard.js +1 -1
- package/dist/components/cookie-consent/CookieConsent.d.ts.map +1 -1
- package/dist/components/cookie-consent/CookieConsent.js +2 -41
- package/dist/components/cookie-consent/index.d.ts +0 -1
- package/dist/components/cookie-consent/index.d.ts.map +1 -1
- package/dist/components/cookie-consent/index.js +1 -1
- package/dist/components/layout/components/DropdownNavigation.d.ts.map +1 -1
- package/dist/components/layout/components/header/ThemeToggle.d.ts +1 -1
- package/dist/components/layout/components/header/ThemeToggle.d.ts.map +1 -1
- package/dist/components/layout/components/header/ThemeToggle.js +5 -4
- package/dist/dndev.css +137 -120
- package/dist/index.js +4 -4
- package/dist/internal/devtools/DebugTools.d.ts.map +1 -1
- package/dist/internal/devtools/DebugTools.js +8 -4
- package/dist/internal/devtools/components/ConfigTab.d.ts.map +1 -1
- package/dist/internal/devtools/components/ConfigTab.js +31 -133
- package/dist/internal/devtools/components/DebugDialog.d.ts.map +1 -1
- package/dist/internal/devtools/components/DebugDialog.js +11 -520
- package/dist/internal/devtools/components/DesignTab.d.ts +2 -0
- package/dist/internal/devtools/components/DesignTab.d.ts.map +1 -0
- package/dist/internal/devtools/components/DesignTab.js +220 -0
- package/dist/internal/devtools/components/StoresTab.d.ts.map +1 -1
- package/dist/internal/devtools/components/StoresTab.js +54 -102
- package/dist/internal/devtools/components/index.d.ts +1 -6
- package/dist/internal/devtools/components/index.d.ts.map +1 -1
- package/dist/internal/devtools/components/index.js +1 -6
- package/dist/internal/devtools/utils/index.d.ts +0 -1
- package/dist/internal/devtools/utils/index.d.ts.map +1 -1
- package/dist/internal/devtools/utils/index.js +0 -1
- package/dist/internal/initializers/BaseStoresInitializer.d.ts.map +1 -1
- package/dist/internal/initializers/BaseStoresInitializer.js +25 -58
- package/dist/internal/layout/DnDevLayout.js +3 -3
- package/dist/internal/layout/components/footer/FooterBranding.d.ts.map +1 -1
- package/dist/internal/layout/components/footer/FooterBranding.js +3 -1
- package/dist/routing/AuthGuard.d.ts +14 -10
- package/dist/routing/AuthGuard.d.ts.map +1 -1
- package/dist/routing/AuthGuard.js +25 -22
- package/dist/routing/Link.d.ts +2 -2
- package/dist/routing/Link.js +2 -2
- package/dist/routing/hooks/hooks.next.js +1 -1
- package/dist/routing/hooks/hooks.vite.js +1 -1
- package/dist/routing/hooks/useRedirectGuard.next.d.ts +2 -36
- package/dist/routing/hooks/useRedirectGuard.next.d.ts.map +1 -1
- package/dist/routing/hooks/useRedirectGuard.next.js +14 -55
- package/dist/routing/hooks/useRedirectGuard.vite.d.ts +2 -36
- package/dist/routing/hooks/useRedirectGuard.vite.d.ts.map +1 -1
- package/dist/routing/hooks/useRedirectGuard.vite.js +14 -55
- package/dist/routing/index.d.ts +0 -1
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +1 -1
- package/dist/styles/index.css +137 -120
- package/dist/utils/assetResolver.d.ts +5 -5
- package/dist/utils/assetResolver.js +4 -4
- package/dist/utils/useAuthSafe.d.ts +25 -12
- package/dist/utils/useAuthSafe.d.ts.map +1 -1
- package/dist/utils/useAuthSafe.js +3 -1
- package/dist/utils/useAuthVisibility.d.ts +3 -3
- package/dist/utils/useAuthVisibility.d.ts.map +1 -1
- package/dist/utils/useAuthVisibility.js +25 -21
- package/dist/utils/useBillingVisibility.d.ts +2 -2
- package/dist/utils/useBillingVisibility.d.ts.map +1 -1
- package/dist/utils/useBillingVisibility.js +12 -13
- package/dist/utils/useCrudSafe.d.ts +1 -1
- package/dist/utils/useCrudSafe.d.ts.map +1 -1
- package/dist/utils/useCrudSafe.js +26 -13
- package/dist/utils/useOAuthSafe.d.ts +25 -12
- package/dist/utils/useOAuthSafe.d.ts.map +1 -1
- package/dist/utils/useStripeBillingSafe.d.ts +30 -18
- package/dist/utils/useStripeBillingSafe.d.ts.map +1 -1
- package/dist/utils/useStripeBillingSafe.js +5 -6
- package/dist/vite-routing/AppRoutes.d.ts.map +1 -1
- package/dist/vite-routing/AppRoutes.js +5 -5
- package/dist/vite-routing/RootLayout.d.ts.map +1 -1
- package/dist/vite-routing/RootLayout.js +34 -7
- package/package.json +9 -9
- package/dist/internal/devtools/components/AuthTab.d.ts +0 -2
- package/dist/internal/devtools/components/AuthTab.d.ts.map +0 -1
- package/dist/internal/devtools/components/AuthTab.js +0 -98
- package/dist/internal/devtools/components/ColorRatioTab.d.ts +0 -2
- package/dist/internal/devtools/components/ColorRatioTab.d.ts.map +0 -1
- package/dist/internal/devtools/components/ColorRatioTab.js +0 -322
- package/dist/internal/devtools/components/DebugToggle.d.ts +0 -2
- package/dist/internal/devtools/components/DebugToggle.d.ts.map +0 -1
- package/dist/internal/devtools/components/DebugToggle.js +0 -57
- package/dist/internal/devtools/components/EnvironmentTab.d.ts +0 -2
- package/dist/internal/devtools/components/EnvironmentTab.d.ts.map +0 -1
- package/dist/internal/devtools/components/EnvironmentTab.js +0 -26
- package/dist/internal/devtools/components/I18nTab.d.ts +0 -2
- package/dist/internal/devtools/components/I18nTab.d.ts.map +0 -1
- package/dist/internal/devtools/components/I18nTab.js +0 -76
- package/dist/internal/devtools/components/OAuthGuideButton.d.ts +0 -10
- package/dist/internal/devtools/components/OAuthGuideButton.d.ts.map +0 -1
- package/dist/internal/devtools/components/OAuthGuideButton.js +0 -71
- package/dist/internal/devtools/components/StripeDebugTab.d.ts +0 -2
- package/dist/internal/devtools/components/StripeDebugTab.d.ts.map +0 -1
- package/dist/internal/devtools/components/StripeDebugTab.js +0 -175
- package/dist/internal/devtools/components/ThemesTab.d.ts +0 -2
- package/dist/internal/devtools/components/ThemesTab.d.ts.map +0 -1
- package/dist/internal/devtools/components/ThemesTab.js +0 -77
- package/dist/internal/devtools/utils/spacingAnalyzer.d.ts +0 -15
- package/dist/internal/devtools/utils/spacingAnalyzer.d.ts.map +0 -1
- package/dist/internal/devtools/utils/spacingAnalyzer.js +0 -88
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use client";var Fo=Object.defineProperty;var Nr=(t,e,o)=>e in t?Fo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var me=(t,e)=>()=>(t&&(e=t(t=0)),e);var Lo=(t,e)=>{for(var o in e)Fo(t,o,{get:e[o],enumerable:!0})};var Ge=(t,e,o)=>Nr(t,typeof e!="symbol"?e+"":e,o);import*as He from"lucide-react";import{isValidElement as Dr}from"react";import{cn as ht}from"@donotdev/components";import{jsx as Ne}from"react/jsx-runtime";function Ar(t){if(!t)return He.Palette;let e=t.replace(/['"]/g,"");return He[e]||He.Palette}var E,Pr,ne=me(()=>{"use strict";E=({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 Ne(r,{className:ht(a,o),style:{flexShrink:0},"aria-hidden":n});if(typeof r=="string"){if(!/^[a-zA-Z0-9_-]+$/.test(r))return Ne("span",{className:ht(a,o),style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r});let s=Ar(r);return Ne(s,{className:ht(a,o),style:{flexShrink:0},"aria-hidden":n})}return Dr(r)?Ne("span",{className:o,style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r}):Ne("span",{className:o,style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r})},Pr=E});import{DEGRADED_AUTH_API as Or}from"@donotdev/core";import*as Ur from"@donotdev/auth";function Vr(t){return Or[t]}function T(t){return yt?yt(t):Vr(t)}var yt,Om,De=me(()=>{"use strict";yt=Ur?.useAuth;Om=typeof yt=="function"});var bt={};Lo(bt,{default:()=>ea});import{Cookie as vt,Settings as Gr,Shield as zo,BarChart3 as Hr,Target as _r,X as $r}from"lucide-react";import{useState as $e,useEffect as ge,useRef as Wr}from"react";import{Accordion as Kr,Button as fe,BUTTON_VARIANT as Ae,Card as Oo,Switch as Yr,Text as re,cn as qr,Stack as K}from"@donotdev/components";import{handleError as Zr,useConsent as ae,getCookieExamples as We,hasOptionalCookies as Xr,getCookiesByCategory as Jr}from"@donotdev/core";import{CONSENT_CATEGORY as ie}from"@donotdev/core";import{useTranslation as Qr}from"@donotdev/core";import{isClient as Uo}from"@donotdev/core";import{Fragment as ta,jsx as w,jsxs as Y}from"react/jsx-runtime";function jr({position:t="bottom",showBranding:e=!0,brandingText:o="Powered by DoNotDev Framework",className:n=""}){let r=ae("hasConsented"),a=ae("categories"),i=ae("acceptAll"),d=ae("declineAll"),s=ae("updateCategory"),l=ae("showBanner"),c=ae("showCookieBanner"),{t:p}=Qr("cookies"),[m,g]=$e(!1),[h,u]=$e(!r||l),[f,b]=$e(a),y=Wr(null),[A,k]=$e(!0);ge(()=>{l&&u(!0)},[l]);let B=Object.keys(a),H=[{id:ie.NECESSARY,icon:zo,title:p("essentialCookies"),description:p("essentialDescription"),examples:We("necessary")||p("essentialExamples"),locked:!0},{id:ie.FUNCTIONAL,icon:vt,title:p("functionalCookies"),description:p("functionalDescription"),examples:We("functional")||p("functionalExamples"),legalNotice:p("functionalLegalNotice"),locked:!1},{id:ie.ANALYTICS,icon:Hr,title:p("analyticsCookies"),description:p("analyticsDescription"),examples:We("analytics")||p("analyticsExamples"),locked:!1},{id:ie.MARKETING,icon:_r,title:p("marketingCookies"),description:p("marketingDescription"),examples:We("marketing")||p("marketingExamples"),locked:!1}].filter(v=>B.includes(v.id)),M=Xr();if(ge(()=>{!r&&!M&&i()},[r,M,i]),ge(()=>{if(!Uo())return;sessionStorage.getItem("dndev-essential-notice-dismissed")==="true"&&k(!1)},[]),ge(()=>{if(!M&&r&&A){let v=setTimeout(()=>{k(!1),sessionStorage.setItem("dndev-essential-notice-dismissed","true")},15e3);return()=>clearTimeout(v)}},[M,r,A]),ge(()=>{let v={...a};if(m){let N=v;Object.keys(N).forEach(I=>{I!==ie.NECESSARY&&N[I]===!1&&(N[I]=!0)})}b(v)},[a,m]),ge(()=>{if(!Uo()||r||!h)return;let v=I=>{y.current&&!y.current.contains(I.target)&&u(!1)},N=setTimeout(()=>{document.addEventListener("mousedown",v)},100);return()=>{clearTimeout(N),document.removeEventListener("mousedown",v)}},[r,h]),r&&!M&&A){let N=Jr("necessary").map(I=>`${I.name} (${I.provider})`).join(", ");return w("div",{className:"dndev-fixed dndev-z-toast",style:{left:"var(--sidebar-width, 0)",bottom:"var(--footer-height, 0)",right:0,width:"calc(100% - var(--sidebar-width, 0))",borderTop:"1px solid var(--border)",background:"var(--card)"},children:Y(K,{direction:"row",align:"center",gap:"medium",style:{padding:"var(--gap-md) var(--gap-lg)"},children:[w(zo,{className:"dndev-size-md",style:{color:"var(--primary)"}}),Y(K,{gap:"tight",style:{flex:1},children:[w(re,{as:"p",variant:"default",level:"small",children:p("essentialOnlyNotice")}),w(re,{as:"p",variant:"muted",level:"small",children:N})]}),w(fe,{onClick:()=>{k(!1),sessionStorage.setItem("dndev-essential-notice-dismissed","true")},variant:Ae.GHOST,icon:$r,title:p("form.close","Close")})]})})}if(r&&!l)return null;let de=()=>{try{Object.entries(f).forEach(([v,N])=>{if(v!==ie.NECESSARY&&N!==void 0){let I=v;Object.values(ie).includes(I)&&s(I,!!N)}}),g(!1),u(!1)}catch(v){Zr(v,{userMessage:"Error saving preferences",context:{operation:"save_preferences"},severity:"warning",log:!0,reportToSentry:!1,showNotification:!1})}},pe=()=>{i(),u(!1)},z=()=>{d(),u(!1)},P=Y(K,{gap:"medium",children:[w(re,{as:"p",variant:"muted",level:"small",children:p("cookieBannerDescription")}),M&&w(Kr,{type:"single",collapsible:!0,value:m?"preferences":"",onValueChange:v=>g(v==="preferences"),items:[{value:"preferences",trigger:Y(K,{direction:"row",align:"center",gap:"tight",children:[w(Gr,{className:"dndev-size-md"}),p("customize")]}),content:w(K,{gap:"medium",children:H.map(v=>{let N=v.icon,I=f[v.id]??!1;return w(Oo,{content:Y(K,{direction:"row",align:"center",justify:"between",gap:"medium",children:[Y(K,{direction:"row",align:"start",gap:"tight",style:{flex:1},children:[w(N,{className:"dndev-size-md",style:{color:"var(--primary)",marginTop:"0.125rem"}}),Y(K,{gap:"tight",children:[w(re,{as:"span",level:"body",style:{fontWeight:600},children:v.title}),w(re,{as:"span",variant:"muted",level:"small",children:v.description}),v.examples&&w(re,{as:"span",variant:"muted",level:"small",style:{fontStyle:"italic"},children:v.examples})]})]}),v.locked?w(re,{as:"span",variant:"muted",level:"small",children:p("alwaysOn")}):w(Yr,{checked:I,onCheckedChange:we=>b(wr=>({...wr,[v.id]:we}))})]})},v.id)})})}]})]}),S=m?Y(K,{direction:"row",gap:"tight",style:{width:"100%"},children:[w(fe,{onClick:de,variant:Ae.DEFAULT,style:{flex:1},children:p("savePreferences","Save Preferences")}),w(fe,{onClick:()=>g(!1),variant:Ae.OUTLINE,style:{flex:1},children:p("form.cancel","Cancel")})]}):Y(K,{direction:"row",gap:"tight",style:{width:"100%"},children:[w(fe,{onClick:pe,variant:Ae.DEFAULT,style:{flex:1},children:p("acceptAll")}),M&&w(fe,{onClick:z,variant:Ae.OUTLINE,style:{flex:1},children:p("declineOptional")})]});return Y(ta,{children:[h&&w(Oo,{ref:y,className:qr("dndev-fixed dndev-z-modal",n),icon:vt,title:p("cookiePreferences"),content:P,footer:S,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)"}}),!h&&!r&&w(fe,{onClick:()=>u(!0),className:"dndev-fixed dndev-z-toast",style:{bottom:"var(--gap-md)",left:"var(--gap-md)"},icon:vt,title:p("cookiePreferences")})]})}var ea,Ct=me(()=>{"use strict";ea=jr});import{useMemo as Za}from"react";import{useNavigationStore as Xa}from"@donotdev/core";import{USER_ROLES as Ja}from"@donotdev/core";import{useLocation as Qa}from"@donotdev/ui/routing/hooks";function q(){let t=Qa(),e=T("user"),o=!!e,n=e?.role||Ja.GUEST,r=Xa(a=>!a||typeof a.getFilteredRoutes!="function"?[]:a.getFilteredRoutes({authenticated:o,role:n}));return Za(()=>Array.isArray(r)?r.map(a=>({...a,isActive:ja(a.path,t.pathname),hasChildren:!1,children:void 0})).sort((a,i)=>a.label.localeCompare(i.label)):[],[r,t.pathname])}function ja(t,e){return t==="/"?e==="/":e===t?!0:e.startsWith(t+"/")}var be=me(()=>{"use strict";De()});import{useCallback as Ze,useMemo as qo}from"react";import{useLocalStorage as Zo}from"@donotdev/core";import{useNavigate as ei}from"@donotdev/ui/routing/hooks";var ti,oi,ni,Xo,Jo,St=me(()=>{"use strict";be();ti="nav_favorites",oi="nav_recent",ni=8,Xo=[],Jo=()=>{let t=ei(),e=q()??[],{value:o,setValue:n}=Zo(ti,{defaultValue:Xo,syncAcrossTabs:!0}),{value:r,setValue:a}=Zo(oi,{defaultValue:Xo,syncAcrossTabs:!1}),i=qo(()=>e.length?e.filter(m=>o.includes(m.path)):[],[o,e]),d=qo(()=>e.length?e.filter(g=>r.includes(g.path)).slice(0,5):[],[r,e]),s=Ze(m=>{n(g=>g.includes(m)?g.filter(h=>h!==m):[...g,m])},[n]),l=Ze(m=>o.includes(m),[o]),c=Ze(m=>{a(g=>[m,...g.filter(h=>h!==m)].slice(0,ni))},[a]),p=Ze(m=>{c(m),t(m)},[t,c]);return{navigationItems:e,favoriteItems:i,recentItems:d,toggleFavorite:s,isFavorite:l,navigateToItem:p}}});var en={};Lo(en,{default:()=>jo});import{Star as ri,Clock as ai,Link as ii}from"lucide-react";import{useCallback as Qo,useEffect as si,useRef as li}from"react";import{Badge as ci,Command as di,CommandDialog as pi}from"@donotdev/components";import{useOverlayStore as Xe}from"@donotdev/core";import{useTranslation as mi}from"@donotdev/core";import{jsx as F,jsxs as Ce}from"react/jsx-runtime";var ui,gi,jo,kt=me(()=>{"use strict";St();ne();ui=()=>{let{t}=mi("dndev"),e=li(null),o=Xe(u=>u.isCommandDialogOpen),n=Xe(u=>u.commandDialogInitialSearch),r=Xe(u=>u.closeCommandDialog),{navigationItems:a,favoriteItems:i,recentItems:d,toggleFavorite:s,isFavorite:l,navigateToItem:c}=Jo();si(()=>{o&&requestAnimationFrame(()=>{e.current?.focus()})},[o]);let p=Qo(u=>{c(u),r()},[c,r]),m=Qo((u,f=!0)=>u.map(b=>({label:b.label,value:b.path,description:b.path!==b.label?b.path:void 0,icon:F(E,{icon:b.icon,fallback:ii}),badge:b.badge?F(ci,{children:b.badge}):void 0,onSelect:()=>p(b.path),rightSlot:f?F("button",{type:"button",onClick:y=>{y.stopPropagation(),s(b.path)},className:"dndev-command-favorite-button","data-favorited":l(b.path),"aria-label":l(b.path)?t("globalGoTo.unfavorite","Remove from favorites"):t("globalGoTo.favorite","Add to favorites"),children:F(E,{icon:ri,className:"dndev-size-sm"})}):void 0})),[p,s,l,t]),g=[];if(i.length>0&&g.push({heading:t("globalGoTo.favorites","Favorites"),items:m(i,!1)}),d.length>0){let u=d.flatMap(f=>m([f],!0)).map(f=>({...f,icon:F(E,{icon:ai,className:"dndev-size-sm"})}));u.length>0&&g.push({heading:t("globalGoTo.recent","Recent"),separator:i.length>0,items:u})}g.push({heading:t("globalGoTo.allPages","All Pages"),separator:i.length>0||d.length>0,items:m(a)});let h=a.length>0;return Ce(pi,{open:o,onOpenChange:u=>u?null:r(),children:[F(di,{placeholder:t("globalGoTo.placeholder","Search pages..."),emptyMessage:h?t("globalGoTo.noResults","No results found."):t("globalGoTo.empty","No pages available."),groups:g}),F("div",{className:"dndev-command-footer",children:Ce("div",{className:"dndev-command-footer-shortcuts",children:[Ce("div",{className:"dndev-command-footer-shortcut",children:[F("kbd",{className:"dndev-command-footer-key",children:"\u2318K"}),F("span",{children:t("globalGoTo.shortcutOpen","Open")})]}),Ce("div",{className:"dndev-command-footer-shortcut",children:[F("kbd",{className:"dndev-command-footer-key",children:"\u2191"}),F("kbd",{className:"dndev-command-footer-key",children:"\u2193"}),F("span",{children:t("globalGoTo.shortcutNavigate","Navigate")})]}),Ce("div",{className:"dndev-command-footer-shortcut",children:[F("kbd",{className:"dndev-command-footer-key",children:"\u21B5"}),F("span",{children:t("globalGoTo.shortcutSelect","Select")})]}),Ce("div",{className:"dndev-command-footer-shortcut",children:[F("kbd",{className:"dndev-command-footer-key",children:"Esc"}),F("span",{children:t("globalGoTo.shortcutClose","Close")})]})]})})]})},gi=()=>Xe(e=>e.isCommandDialogOpen)?F(ui,{}):null,jo=gi});import{User as Ot}from"lucide-react";import{Suspense as un,lazy as gn}from"react";import{Button as Ut,BUTTON_VARIANT as Vt,DropdownMenu as ks,DISPLAY as ws}from"@donotdev/components";import{useTranslation as Ns}from"@donotdev/core";import{useAuthConfig as Ds}from"@donotdev/core";import{getEnabledAuthPartners as As}from"@donotdev/core";import{User as os,LogOut as ns,Settings as Le,UserCheck as rs,Trash2 as as}from"lucide-react";import*as is from"lucide-react";import tt,{useMemo as ss,lazy as Bt,Suspense as mn}from"react";import{Avatar as ls,Button as cs,BUTTON_VARIANT as ds,DropdownMenu as ps,DISPLAY as ms}from"@donotdev/components";import{useTranslation as us}from"@donotdev/core";import{getEnabledAuthPartners as gs,useAuthConfig as fs,isClient as hs}from"@donotdev/core";import{useBreakpoint as ys}from"@donotdev/core";ne();import{Link as Ro}from"lucide-react";import"react";import"@donotdev/components";import{useConsent as Ir}from"@donotdev/core";import{useNavigate as Fr}from"@donotdev/ui/routing/hooks";import{Fragment as Lr,jsx as ue,jsxs as Eo}from"react/jsx-runtime";var C=({path:t,replace:e,prefetch:o=!0,children:n,icon:r,label:a,onClick:i,className:d,"aria-label":s,"aria-describedby":l,target:c,rel:p,...m})=>{let g=Fr();if(t==="#cookie-settings"){let y=Ir("showCookieBanner");return Eo("a",{href:"#cookie-settings",onClick:k=>{k.preventDefault(),k.stopPropagation();try{y()}catch{}i&&i(k)},className:d,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0,...m.style},"aria-label":s||a||"Cookie Settings","aria-describedby":l,...m,children:[r&&ue(E,{icon:r,fallback:Ro}),a&&ue("span",{children:a}),n]})}let h=t.startsWith("http://")||t.startsWith("https://")||t.startsWith("mailto:")||t.startsWith("tel:"),u=y=>{if(h){i&&i(y);return}y.preventDefault(),i&&i(y);let A=t.startsWith("/")?t:`/${t}`;g(A,{replace:e})},f={"aria-label":s||a,"aria-describedby":l},b=Eo(Lr,{children:[r&&ue(E,{icon:r,fallback:Ro}),a&&ue("span",{children:a}),n]});return h?ue("a",{href:t,onClick:u,target:c||"_blank",rel:p||"noopener noreferrer",className:d,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0},...f,...m,children:b}):ue("a",{href:t,onClick:u,className:d,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0},...f,...m,children:b})};import{useEffect as Vo,useState as oa,lazy as na,Suspense as ra}from"react";import{Stack as Go}from"@donotdev/components";import"@donotdev/core";import{USER_ROLES as Ke,SUBSCRIPTION_TIERS as xt}from"@donotdev/core";import{useRedirectGuard as aa,useNavigate as ia}from"@donotdev/ui/routing/hooks";import{RefreshCw as Bo}from"lucide-react";import{Suspense as Rr}from"react";import{cn as Er}from"@donotdev/components";import{useLoadingState as Br}from"@donotdev/core";import{jsx as Q}from"react/jsx-runtime";var Mo=({variant:t="fullPage",className:e})=>t==="inline"?Q("div",{className:e,style:{display:"flex",alignItems:"center",justifyContent:"center"},children:Q(Bo,{className:"dndev-size-md",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}})}):Q("div",{className:Er("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:Q(Bo,{className:"dndev-size-touch",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}})}),Mr=({variant:t="fullPage",className:e,isLoading:o})=>{let{isLoading:n}=Br();return o??n?Q(Mo,{variant:t,className:e}):null},zr=t=>Q(Rr,{fallback:Q(Mo,{variant:t.variant,className:t.className}),children:Q(Mr,{...t})}),_e=zr;De();import{Fragment as Ho,jsx as L,jsxs as _o}from"react/jsx-runtime";var sa=na(()=>Promise.resolve().then(()=>(Ct(),bt)));function la({auth:t,children:e,fallback:o=_e}){let n=ia(),r=T("user"),a=T("canAccess"),i=T("authStateChecked"),[d,s]=oa(!1),{shouldRedirect:l,redirectTo:c,isChecking:p}=aa({auth:t});return Vo(()=>{let m=setTimeout(()=>{i||s(!0)},5e3);return()=>clearTimeout(m)},[i]),Vo(()=>{l&&c&&n(c,{replace:!0})},[l,c,n]),t===!1?L(Ho,{children:e}):l||p?L(_e,{}):!i&&d?L(Go,{align:"center",justify:"center",style:{padding:"var(--gap-md)",minHeight:"100vh"},children:_o("div",{className:"dndev-w-full",style:{maxWidth:"28rem",textAlign:"center"},children:[L("h2",{style:{marginBottom:"var(--gap-md)"},children:"Loading is taking longer than usual"}),L("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."}),L("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?t&&typeof t=="object"&&t.required&&!r&&a&&!a(t)?L(Go,{align:"center",justify:"center",style:{padding:"var(--gap-md)",minHeight:"100vh"},children:_o("div",{className:"dndev-w-full",style:{maxWidth:"28rem"},children:[L("h2",{style:{marginBottom:"var(--gap-md)"},children:"Authentication Required"}),L("p",{style:{marginBottom:"var(--gap-md)"},children:"This page requires authentication. Please accept functional cookies to continue."}),L(ra,{fallback:L("div",{children:"Loading consent..."}),children:L(sa,{})})]})}):L(Ho,{children:e}):L(o,{})}function ou(t){return T("canAccess")?.(t)??!1}function nu(){return T("user")?.role||Ke.GUEST}function ru(t){return T("user")?.role===t}function au(){let t=T("user"),e=T("userSubscription"),o=T("loading");return{authenticated:!!t,role:t?.role,tier:e?.tier||"free",loading:o,userId:t?.id}}function iu(t,e){return n=>L(la,{auth:e,children:L(t,{...n})})}var su={public:()=>!1,required:()=>({required:!0}),user:()=>({required:!0,role:Ke.USER}),admin:()=>({required:!0,role:Ke.ADMIN}),tier:t=>({required:!0,tier:t}),pro:()=>({required:!0,tier:xt.PRO}),premium:()=>({required:!0,tier:xt.PREMIUM}),adminPro:()=>({required:!0,role:Ke.ADMIN,tier:xt.PRO}),custom:t=>({required:!0,validate:t})};import{ArrowLeft as Aa,Lock as Pa}from"lucide-react";import{Suspense as Ia,lazy as Fa}from"react";import{Card as La,Button as Ra,Separator as Ea,Stack as ve,cn as Ba}from"@donotdev/components";import{useTranslation as Ma}from"@donotdev/core";import"@donotdev/core";import{useLocation as za,useBack as Oa}from"@donotdev/ui/routing/hooks";import{Suspense as Na}from"react";import{cn as Da}from"@donotdev/components";import{Component as ca}from"react";import{handleError as da}from"@donotdev/core";var Tt=class extends ca{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){da(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}},$o=Tt;import{AlertTriangle as pa,Home as ma,ArrowLeft as ua,RotateCw as ga,Copy as fa,Check as ha}from"lucide-react";import{useEffect as ya,useState as va}from"react";import{Button as Ye,BUTTON_VARIANT as qe,Card as Wo,CARD_VARIANT as Ko,Alert as ba,ALERT_VARIANT as Ca,Stack as he}from"@donotdev/components";import{handleError as xa,useTranslation as Ta}from"@donotdev/core";import{useLocation as Sa,useBack as ka}from"@donotdev/ui/routing/hooks";import{jsx as R,jsxs as se}from"react/jsx-runtime";var wa=({error:t,resetError:e,componentStack:o,eventId:n})=>{let{t:r}=Ta("dndev"),[a,i]=va(!1),d=ka(),l=Sa()?.pathname||(typeof window<"u"?window.location.pathname:"/"),c=t instanceof Error?t.message:"Unknown error",p=t instanceof Error?t.stack:void 0,m=!1;ya(()=>{try{xa(t,{userMessage:"Page encountered an error",context:{component:"RouteErrorFallback",location:l}})}catch{}},[t,l]);let g=async()=>{if(!p)return;let f=[`Error: ${c}`,`Timestamp: ${new Date().toISOString()}`,`User Agent: ${navigator.userAgent}`,n?`Event ID: ${n}`:null,`Path: ${l}`,"","Stack Trace:",p,o?`
|
|
1
|
+
"use client";var No=Object.defineProperty;var Tr=(t,e,o)=>e in t?No(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var ce=(t,e)=>()=>(t&&(e=t(t=0)),e);var Do=(t,e)=>{for(var o in e)No(t,o,{get:e[o],enumerable:!0})};var Me=(t,e,o)=>Tr(t,typeof e!="symbol"?e+"":e,o);import*as ze from"lucide-react";import{isValidElement as Sr}from"react";import{cn as mt}from"@donotdev/components";import{jsx as xe}from"react/jsx-runtime";function kr(t){if(!t)return ze.Palette;let e=t.replace(/['"]/g,"");return ze[e]||ze.Palette}var R,wr,ne=ce(()=>{"use strict";R=({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 xe(r,{className:mt(a,o),style:{flexShrink:0},"aria-hidden":n});if(typeof r=="string"){if(!/^[a-zA-Z0-9_-]+$/.test(r))return xe("span",{className:mt(a,o),style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r});let l=kr(r);return xe(l,{className:mt(a,o),style:{flexShrink:0},"aria-hidden":n})}return Sr(r)?xe("span",{className:o,style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r}):xe("span",{className:o,style:{display:"inline-flex",alignItems:"center",justifyContent:"center"},"aria-hidden":n,children:r})},wr=R});import{DEGRADED_AUTH_API as Er}from"@donotdev/core";import*as Br from"@donotdev/auth";function Mr(t){return Er[t]}function k(t){return ut?ut(t):Mr(t)}var ut,Um,Ce=ce(()=>{"use strict";ut=Br?.useAuth;Um=typeof ut=="function"});var ht={};Do(ht,{default:()=>Jr});import{Cookie as gt,Settings as zr,Shield as Or,BarChart3 as Ur,Target as Vr}from"lucide-react";import{useState as ft,useEffect as Ue,useRef as Gr}from"react";import{Accordion as Hr,Button as Te,BUTTON_VARIANT as Ve,Card as Ro,Switch as _r,Text as Se,cn as $r,Stack as J}from"@donotdev/components";import{handleError as Wr,useConsent as re,getCookieExamples as Ge,hasOptionalCookies as Kr}from"@donotdev/core";import{CONSENT_CATEGORY as ae}from"@donotdev/core";import{useTranslation as Yr}from"@donotdev/core";import{isClient as qr}from"@donotdev/core";import{Fragment as Qr,jsx as N,jsxs as Q}from"react/jsx-runtime";function Zr({position:t="bottom",showBranding:e=!0,brandingText:o="Powered by DoNotDev Framework",className:n=""}){let r=re("hasConsented"),a=re("categories"),i=re("acceptAll"),c=re("declineAll"),l=re("updateCategory"),s=re("showBanner"),d=re("showCookieBanner"),{t:p}=Yr("cookies"),[m,g]=ft(!1),[f,u]=ft(!r||s),[h,y]=ft(a),v=Gr(null);Ue(()=>{s&&u(!0)},[s]);let A=Object.keys(a),V=[{id:ae.NECESSARY,icon:Or,title:p("essentialCookies"),description:p("essentialDescription"),examples:Ge("necessary")||p("essentialExamples"),locked:!0},{id:ae.FUNCTIONAL,icon:gt,title:p("functionalCookies"),description:p("functionalDescription"),examples:Ge("functional")||p("functionalExamples"),legalNotice:p("functionalLegalNotice"),locked:!1},{id:ae.ANALYTICS,icon:Ur,title:p("analyticsCookies"),description:p("analyticsDescription"),examples:Ge("analytics")||p("analyticsExamples"),locked:!1},{id:ae.MARKETING,icon:Vr,title:p("marketingCookies"),description:p("marketingDescription"),examples:Ge("marketing")||p("marketingExamples"),locked:!1}].filter(C=>A.includes(C.id)),H=Kr();if(Ue(()=>{!r&&!H&&i()},[r,H,i]),Ue(()=>{let C={...a};if(m){let B=C;Object.keys(B).forEach(W=>{W!==ae.NECESSARY&&B[W]===!1&&(B[W]=!0)})}y(C)},[a,m]),Ue(()=>{if(!qr()||r||!f)return;let C=W=>{v.current&&!v.current.contains(W.target)&&u(!1)},B=setTimeout(()=>{document.addEventListener("mousedown",C)},100);return()=>{clearTimeout(B),document.removeEventListener("mousedown",C)}},[r,f]),r&&!s)return null;let L=()=>{try{Object.entries(h).forEach(([C,B])=>{if(C!==ae.NECESSARY&&B!==void 0){let W=C;Object.values(ae).includes(W)&&l(W,!!B)}}),g(!1),u(!1)}catch(C){Wr(C,{userMessage:"Error saving preferences",context:{operation:"save_preferences"},severity:"warning",log:!0,reportToSentry:!1,showNotification:!1})}},S=()=>{i(),u(!1)},b=()=>{c(),u(!1)},F=Q(J,{gap:"medium",children:[N(Se,{as:"p",variant:"muted",level:"small",children:p("cookieBannerDescription")}),H&&N(Hr,{type:"single",collapsible:!0,value:m?"preferences":"",onValueChange:C=>g(C==="preferences"),items:[{value:"preferences",trigger:Q(J,{direction:"row",align:"center",gap:"tight",children:[N(zr,{className:"dndev-size-md"}),p("customize")]}),content:N(J,{gap:"medium",children:V.map(C=>{let B=C.icon,W=h[C.id]??!1;return N(Ro,{content:Q(J,{direction:"row",align:"center",justify:"between",gap:"medium",children:[Q(J,{direction:"row",align:"start",gap:"tight",style:{flex:1},children:[N(B,{className:"dndev-size-md",style:{color:"var(--primary)",marginTop:"0.125rem"}}),Q(J,{gap:"tight",children:[N(Se,{as:"span",level:"body",style:{fontWeight:600},children:C.title}),N(Se,{as:"span",variant:"muted",level:"small",children:C.description}),C.examples&&N(Se,{as:"span",variant:"muted",level:"small",style:{fontStyle:"italic"},children:C.examples})]})]}),C.locked?N(Se,{as:"span",variant:"muted",level:"small",children:p("alwaysOn")}):N(_r,{checked:W,onCheckedChange:xr=>y(Cr=>({...Cr,[C.id]:xr}))})]})},C.id)})})}]})]}),E=m?Q(J,{direction:"row",gap:"tight",style:{width:"100%"},children:[N(Te,{onClick:L,variant:Ve.DEFAULT,style:{flex:1},children:p("savePreferences","Save Preferences")}),N(Te,{onClick:()=>g(!1),variant:Ve.OUTLINE,style:{flex:1},children:p("form.cancel","Cancel")})]}):Q(J,{direction:"row",gap:"tight",style:{width:"100%"},children:[N(Te,{onClick:S,variant:Ve.DEFAULT,style:{flex:1},children:p("acceptAll")}),H&&N(Te,{onClick:b,variant:Ve.OUTLINE,style:{flex:1},children:p("declineOptional")})]});return Q(Qr,{children:[f&&N(Ro,{ref:v,className:$r("dndev-fixed dndev-z-modal",n),icon:gt,title:p("cookiePreferences"),content:F,footer:E,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)"}}),!f&&!r&&N(Te,{onClick:()=>u(!0),className:"dndev-fixed dndev-z-toast",style:{bottom:"var(--gap-md)",left:"var(--gap-md)"},icon:gt,title:p("cookiePreferences")})]})}var Jr,yt=ce(()=>{"use strict";Jr=Zr});import{useMemo as Ka}from"react";import{useNavigationStore as Ya}from"@donotdev/core";import{USER_ROLES as qa}from"@donotdev/core";import{useLocation as Za}from"@donotdev/ui/routing/hooks";function K(){let t=Za(),e=k("user"),o=!!e,n=e?.role||qa.GUEST,r=Ya(a=>!a||typeof a.getFilteredRoutes!="function"?[]:a.getFilteredRoutes({authenticated:o,role:n}));return Ka(()=>Array.isArray(r)?r.map(a=>({...a,isActive:Ja(a.path,t.pathname),hasChildren:!1,children:void 0})).sort((a,i)=>a.label.localeCompare(i.label)):[],[r,t.pathname])}function Ja(t,e){return t==="/"?e==="/":e===t?!0:e.startsWith(t+"/")}var ge=ce(()=>{"use strict";Ce()});import{useCallback as We,useMemo as Go}from"react";import{useLocalStorage as Ho}from"@donotdev/core";import{useNavigate as Qa}from"@donotdev/ui/routing/hooks";var Xa,ja,ei,_o,$o,Ct=ce(()=>{"use strict";ge();Xa="nav_favorites",ja="nav_recent",ei=8,_o=[],$o=()=>{let t=Qa(),e=K()??[],{value:o,setValue:n}=Ho(Xa,{defaultValue:_o,syncAcrossTabs:!0}),{value:r,setValue:a}=Ho(ja,{defaultValue:_o,syncAcrossTabs:!1}),i=Go(()=>e.length?e.filter(m=>o.includes(m.path)):[],[o,e]),c=Go(()=>e.length?e.filter(g=>r.includes(g.path)).slice(0,5):[],[r,e]),l=We(m=>{n(g=>g.includes(m)?g.filter(f=>f!==m):[...g,m])},[n]),s=We(m=>o.includes(m),[o]),d=We(m=>{a(g=>[m,...g.filter(f=>f!==m)].slice(0,ei))},[a]),p=We(m=>{d(m),t(m)},[t,d]);return{navigationItems:e,favoriteItems:i,recentItems:c,toggleFavorite:l,isFavorite:s,navigateToItem:p}}});var Ko={};Do(Ko,{default:()=>mi});import{Star as ti,Clock as oi,Link as ni}from"lucide-react";import{useCallback as Wo,useEffect as ri,useRef as ai}from"react";import{Badge as ii,Command as si,CommandDialog as li}from"@donotdev/components";import{useOverlayStore as Ke}from"@donotdev/core";import{useTranslation as ci}from"@donotdev/core";import{jsx as D,jsxs as fe}from"react/jsx-runtime";var pi,di,mi,Yo=ce(()=>{"use strict";Ct();ne();pi=()=>{let{t}=ci("dndev"),e=ai(null),o=Ke(u=>u.isCommandDialogOpen),n=Ke(u=>u.commandDialogInitialSearch),r=Ke(u=>u.closeCommandDialog),{navigationItems:a,favoriteItems:i,recentItems:c,toggleFavorite:l,isFavorite:s,navigateToItem:d}=$o();ri(()=>{o&&requestAnimationFrame(()=>{e.current?.focus()})},[o]);let p=Wo(u=>{d(u),r()},[d,r]),m=Wo((u,h=!0)=>u.map(y=>({label:y.label,value:y.path,description:y.path!==y.label?y.path:void 0,icon:D(R,{icon:y.icon,fallback:ni}),badge:y.badge?D(ii,{children:y.badge}):void 0,onSelect:()=>p(y.path),rightSlot:h?D("button",{type:"button",onClick:v=>{v.stopPropagation(),l(y.path)},className:"dndev-command-favorite-button","data-favorited":s(y.path),"aria-label":s(y.path)?t("globalGoTo.unfavorite","Remove from favorites"):t("globalGoTo.favorite","Add to favorites"),children:D(R,{icon:ti,className:"dndev-size-sm"})}):void 0})),[p,l,s,t]),g=[];if(i.length>0&&g.push({heading:t("globalGoTo.favorites","Favorites"),items:m(i,!1)}),c.length>0){let u=c.flatMap(h=>m([h],!0)).map(h=>({...h,icon:D(R,{icon:oi,className:"dndev-size-sm"})}));u.length>0&&g.push({heading:t("globalGoTo.recent","Recent"),separator:i.length>0,items:u})}g.push({heading:t("globalGoTo.allPages","All Pages"),separator:i.length>0||c.length>0,items:m(a)});let f=a.length>0;return fe(li,{open:o,onOpenChange:u=>u?null:r(),children:[D(si,{placeholder:t("globalGoTo.placeholder","Search pages..."),emptyMessage:f?t("globalGoTo.noResults","No results found."):t("globalGoTo.empty","No pages available."),groups:g}),D("div",{className:"dndev-command-footer",children:fe("div",{className:"dndev-command-footer-shortcuts",children:[fe("div",{className:"dndev-command-footer-shortcut",children:[D("kbd",{className:"dndev-command-footer-key",children:"\u2318K"}),D("span",{children:t("globalGoTo.shortcutOpen","Open")})]}),fe("div",{className:"dndev-command-footer-shortcut",children:[D("kbd",{className:"dndev-command-footer-key",children:"\u2191"}),D("kbd",{className:"dndev-command-footer-key",children:"\u2193"}),D("span",{children:t("globalGoTo.shortcutNavigate","Navigate")})]}),fe("div",{className:"dndev-command-footer-shortcut",children:[D("kbd",{className:"dndev-command-footer-key",children:"\u21B5"}),D("span",{children:t("globalGoTo.shortcutSelect","Select")})]}),fe("div",{className:"dndev-command-footer-shortcut",children:[D("kbd",{className:"dndev-command-footer-key",children:"Esc"}),D("span",{children:t("globalGoTo.shortcutClose","Close")})]})]})})]})},di=()=>Ke(e=>e.isCommandDialogOpen)?D(pi,{}):null,mi=di});import{User as Lt}from"lucide-react";import{Suspense as ln,lazy as cn}from"react";import{Button as Et,BUTTON_VARIANT as Bt,DropdownMenu as ws,DISPLAY as Ns}from"@donotdev/components";import{useTranslation as Ds}from"@donotdev/core";import{useAuthConfig as As}from"@donotdev/core";import{getEnabledAuthPartners as Ps}from"@donotdev/core";import{User as ts,LogOut as os,Settings as De,UserCheck as ns,Trash2 as rs}from"lucide-react";import*as as from"lucide-react";import Qe,{useMemo as is,lazy as an,Suspense as rn}from"react";import{Avatar as ss,Button as ls,BUTTON_VARIANT as cs,DropdownMenu as ps,Text as ds,DISPLAY as ms}from"@donotdev/components";import{useTranslation as us}from"@donotdev/core";import{getEnabledAuthPartners as gs,useAuthConfig as fs,isClient as hs}from"@donotdev/core";import{useBreakpoint as ys}from"@donotdev/core";ne();import{Link as Ao}from"lucide-react";import"react";import"@donotdev/components";import{useConsent as Nr}from"@donotdev/core";import{useNavigate as Dr}from"@donotdev/ui/routing/hooks";import{Fragment as Ar,jsx as pe,jsxs as Po}from"react/jsx-runtime";var T=({path:t,replace:e,prefetch:o=!0,children:n,icon:r,label:a,onClick:i,className:c,"aria-label":l,"aria-describedby":s,target:d,rel:p,...m})=>{let g=Dr();if(t==="#cookie-settings"){let v=Nr("showCookieBanner");return Po("a",{href:"#cookie-settings",onClick:V=>{V.preventDefault(),V.stopPropagation();try{v()}catch{}i&&i(V)},className:c,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0,...m.style},"aria-label":l||a||"Cookie Settings","aria-describedby":s,...m,children:[r&&pe(R,{icon:r,fallback:Ao}),a&&pe("span",{children:a}),n]})}let f=t.startsWith("http://")||t.startsWith("https://")||t.startsWith("mailto:")||t.startsWith("tel:"),u=v=>{if(f){i&&i(v);return}v.preventDefault(),i&&i(v);let A=t.startsWith("/")?t:`/${t}`;g(A,{replace:e})},h={"aria-label":l||a,"aria-describedby":s},y=Po(Ar,{children:[r&&pe(R,{icon:r,fallback:Ao}),a&&pe("span",{children:a}),n]});return f?pe("a",{href:t,onClick:u,target:d||"_blank",rel:p||"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,...m,children:y}):pe("a",{href:t,onClick:u,className:c,style:{display:r&&a?"flex":void 0,alignItems:r&&a?"center":void 0,gap:r&&a?"var(--gap-sm)":void 0},...h,...m,children:y})};import{useEffect as Lo,useState as Xr,lazy as jr,Suspense as ea}from"react";import{Stack as Eo}from"@donotdev/components";import{FEATURE_STATUS as vt,USER_ROLES as He,SUBSCRIPTION_TIERS as bt}from"@donotdev/core";import{useRedirectGuard as ta,useNavigate as oa}from"@donotdev/ui/routing/hooks";import{RefreshCw as Io}from"lucide-react";import{Suspense as Pr}from"react";import{cn as Ir}from"@donotdev/components";import{useLoadingState as Fr}from"@donotdev/core";import{jsx as Z}from"react/jsx-runtime";var Fo=({variant:t="fullPage",className:e})=>t==="inline"?Z("div",{className:e,style:{display:"flex",alignItems:"center",justifyContent:"center"},children:Z(Io,{className:"dndev-size-md",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}})}):Z("div",{className:Ir("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:Z(Io,{className:"dndev-size-touch",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}})}),Rr=({variant:t="fullPage",className:e,isLoading:o})=>{let{isLoading:n}=Fr();return o??n?Z(Fo,{variant:t,className:e}):null},Lr=t=>Z(Pr,{fallback:Z(Fo,{variant:t.variant,className:t.className}),children:Z(Rr,{...t})}),Oe=Lr;Ce();import{Fragment as Bo,jsx as P,jsxs as Mo}from"react/jsx-runtime";var na=jr(()=>Promise.resolve().then(()=>(yt(),ht)));function ra({auth:t,children:e,fallback:o=Oe}){let n=oa(),r=k("user"),a=k("can"),i=k("status"),[c,l]=Xr(!1),{shouldRedirect:s,redirectTo:d,isChecking:p}=ta({auth:t});return Lo(()=>{let m=setTimeout(()=>{i===vt.INITIALIZING&&l(!0)},5e3);return()=>clearTimeout(m)},[i]),Lo(()=>{s&&d&&n(d,{replace:!0})},[s,d,n]),t===!1?P(Bo,{children:e}):s||p?P(Oe,{}):i===vt.INITIALIZING&&c?P(Eo,{align:"center",justify:"center",style:{padding:"var(--gap-md)",minHeight:"100vh"},children:Mo("div",{className:"dndev-w-full",style:{maxWidth:"28rem",textAlign:"center"},children:[P("h2",{style:{marginBottom:"var(--gap-md)"},children:"Loading is taking longer than usual"}),P("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."}),P("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===vt.INITIALIZING?P(o,{}):t&&typeof t=="object"&&t.required&&!r&&a&&!a.navigate(t)?P(Eo,{align:"center",justify:"center",style:{padding:"var(--gap-md)",minHeight:"100vh"},children:Mo("div",{className:"dndev-w-full",style:{maxWidth:"28rem"},children:[P("h2",{style:{marginBottom:"var(--gap-md)"},children:"Authentication Required"}),P("p",{style:{marginBottom:"var(--gap-md)"},children:"This page requires authentication. Please accept functional cookies to continue."}),P(ea,{fallback:P("div",{children:"Loading consent..."}),children:P(na,{})})]})}):P(Bo,{children:e})}function aa(t){return k("can")?.navigate(t)??!1}var ou=aa;function nu(){return k("user")?.role||He.GUEST}function ru(t){return k("user")?.role===t}function au(){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 iu(t,e){return n=>P(ra,{auth:e,children:P(t,{...n})})}var su={public:()=>!1,required:()=>({required:!0}),user:()=>({required:!0,role:He.USER}),admin:()=>({required:!0,role:He.ADMIN}),tier:t=>({required:!0,tier:t}),pro:()=>({required:!0,tier:bt.PRO}),premium:()=>({required:!0,tier:bt.PREMIUM}),adminPro:()=>({required:!0,role:He.ADMIN,tier:bt.PRO}),custom:t=>({required:!0,validate:t})};import{ArrowLeft as wa,Lock as Na}from"lucide-react";import{Suspense as Da,lazy as Aa}from"react";import{Card as Pa,Button as Ia,Separator as Fa,Stack as ue,cn as Ra}from"@donotdev/components";import{useTranslation as La}from"@donotdev/core";import"@donotdev/core";import{useLocation as Ea,useBack as Ba}from"@donotdev/ui/routing/hooks";import{Suspense as Sa}from"react";import{cn as ka}from"@donotdev/components";import{Component as ia}from"react";import{handleError as sa}from"@donotdev/core";var xt=class extends ia{constructor(o){super(o);Me(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){sa(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}},zo=xt;import{AlertTriangle as la,Home as ca,ArrowLeft as pa,RotateCw as da,Copy as ma,Check as ua}from"lucide-react";import{useEffect as ga,useState as fa}from"react";import{Button as _e,BUTTON_VARIANT as $e,Card as Oo,CARD_VARIANT as Uo,Alert as ha,ALERT_VARIANT as ya,Stack as de}from"@donotdev/components";import{handleError as va,useTranslation as ba}from"@donotdev/core";import{useLocation as xa,useBack as Ca}from"@donotdev/ui/routing/hooks";import{jsx as I,jsxs as ie}from"react/jsx-runtime";var Ta=({error:t,resetError:e,componentStack:o,eventId:n})=>{let{t:r}=ba("dndev"),[a,i]=fa(!1),c=Ca(),s=xa()?.pathname||(typeof window<"u"?window.location.pathname:"/"),d=t instanceof Error?t.message:"Unknown error",p=t instanceof Error?t.stack:void 0,m=!1;ga(()=>{try{va(t,{userMessage:"Page encountered an error",context:{component:"RouteErrorFallback",location:s}})}catch{}},[t,s]);let g=async()=>{if(!p)return;let h=[`Error: ${d}`,`Timestamp: ${new Date().toISOString()}`,`User Agent: ${navigator.userAgent}`,n?`Event ID: ${n}`:null,`Path: ${s}`,"","Stack Trace:",p,o?`
|
|
2
2
|
Component Stack:`:null,o||null].filter(Boolean).join(`
|
|
3
|
-
`);try{await navigator.clipboard.writeText(f),i(!0),setTimeout(()=>i(!1),2e3)}catch{}},h=()=>{try{e()}catch{typeof window<"u"&&window.location.reload()}},u=()=>{try{d()}catch{typeof window<"u"&&window.history.back()}};return R(ye,{children:R(Wo,{variant:Ko.DEFAULT,elevated:!0,className:"dndev-w-full",style:{maxWidth:"65ch",margin:"0 auto"},children:se(he,{gap:"large",align:"center",className:"dndev-text-center",children:[R(he,{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(pa,{style:{width:"2.5rem",height:"2.5rem",color:"var(--destructive)"},"aria-hidden":"true"})}),se(he,{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(ba,{variant:Ca.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]}),m&&c&&se(Wo,{variant:Ko.MUTED,className:"dndev-w-full",children:[se(he,{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(Ye,{variant:qe.GHOST,icon:a?ha:fa,onClick:g,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:c})]}),se(he,{gap:"medium",className:"dndev-w-full",children:[R(Ye,{variant:qe.DESTRUCTIVE,icon:ga,onClick:h,fullWidth:!0,children:r("routeError.tryAgain","Try Again")}),se(he,{direction:"row",gap:"medium",justify:"center",children:[R(C,{path:"/",children:R(Ye,{variant:qe.DEFAULT,icon:ma,fullWidth:!0,children:r("routeError.goHome","Go Home")})}),R(Ye,{variant:qe.OUTLINE,icon:ua,onClick:u,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.")})]})})})},Yo=wa;import{jsx as Pe}from"react/jsx-runtime";var ye=({variant:t="standard",density:e,className:o,children:n,centered:r=!0,gapFirst:a=!1})=>Pe($o,{level:"route",fallback:i=>Pe(Na,{fallback:Pe("div",{children:"Loading error fallback..."}),children:Pe(Yo,{...i})}),children:Pe("div",{className:Da("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 Va,jsx as D,jsxs as Ie}from"react/jsx-runtime";var Ua=Fa(()=>import("@donotdev/auth").then(t=>({default:t.MultipleAuthProviders})));function Vu({title:t,description:e,showBackButton:o=!0,onBack:n,className:r=""}){let{t:a}=Ma(["auth","common"]),i=za(),d=Oa(),s=()=>{n?n():d()};return D(ye,{variant:"docs",children:D(ve,{align:"center",justify:"center",className:Ba("dndev-min-h-60",r),style:{paddingTop:"var(--gap-lg)",paddingBottom:"var(--gap-lg)"},children:D(La,{className:"dndev-w-full",style:{maxWidth:"28rem",border:"none",boxShadow:"var(--shadow-xl)"},title:Ie(ve,{gap:"medium",children:[D(ve,{justify:"center",children:D("div",{style:{borderRadius:"9999px",backgroundColor:"color-mix(in oklab, var(--primary) 10%, transparent)",padding:"var(--gap-md)"},children:D(Pa,{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:Ie(ve,{gap:"medium",children:[Ie(ve,{gap:"large",children:[D("div",{children:D("p",{style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:a("auth.fallback.chooseProvider")})}),D(Ia,{fallback:D("div",{children:"Loading providers..."}),children:D(Ua,{layout:"vertical",spacing:"tight",fullWidth:!0,ariaLabel:a("auth.fallback.authOptions")})})]}),o&&Ie(Va,{children:[D(Ea,{}),D("div",{children:D(Ra,{onClick:s,className:"dndev-gap-sm",icon:Aa,children:a("common.back")})})]}),Ie(ve,{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 Ga}from"lucide-react";import{Button as Ha,BUTTON_VARIANT as _a,DISPLAY as $a}from"@donotdev/components";import{useOverlayStore as Wa,useTranslation as Ka}from"@donotdev/core";import{jsx as Ya,jsxs as qa}from"react/jsx-runtime";var Ku=({display:t=$a.AUTO,className:e})=>{let{t:o}=Ka("dndev"),n=Wa(i=>i.openCommandDialog),a=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform)?"\u2318K":"Ctrl+K";return qa(Ha,{variant:_a.OUTLINE,display:t,icon:Ga,onClick:()=>n(),className:e,"aria-label":o("goTo.ariaLabel","Go to page"),children:[o("goTo.label","Go to"),Ya("kbd",{style:{marginInlineStart:"var(--gap-sm)",padding:"0.125rem 0.375rem",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",opacity:.5},children:a})]})};import{Suspense as fi,lazy as hi}from"react";import{useEventListener as yi,useOverlayStore as vi}from"@donotdev/core";import{jsx as tn}from"react/jsx-runtime";var bi=hi(()=>Promise.resolve().then(()=>(kt(),en))),Ci=()=>{let t=vi(e=>e.openCommandDialog);return yi("keydown",e=>{(e.metaKey||e.ctrlKey)&&e.key==="k"&&(e.preventDefault(),t())},{target:document,options:{passive:!1,capture:!1}}),tn(fi,{fallback:null,children:tn(bi,{})})},xi=Ci;import{Search as Ti}from"lucide-react";import{useCallback as on,useEffect as Si,useState as ki,useRef as wi}from"react";import{Stack as Ni}from"@donotdev/components";import{useOverlayStore as nn}from"@donotdev/core";import{useTranslation as Di}from"@donotdev/core";import{jsx as Je,jsxs as Ii}from"react/jsx-runtime";var Ai=()=>{let{t}=Di("dndev"),[e,o]=ki(""),n=wi(null),r=nn(s=>s.openCommandDialog),a=nn(s=>s.isCommandDialogOpen);Si(()=>{a||o("")},[a]);let i=on(()=>{r(e)},[r,e]),d=on(s=>{s.key==="Enter"&&(s.preventDefault(),r(e))},[r,e]);return Ii(Ni,{direction:"row",align:"center",className:"dndev-relative dndev-w-full dndev-max-w-sm",role:"search",children:[Je(Ti,{className:"dndev-absolute dndev-size-md",style:{left:"0.75rem",opacity:.5},"aria-hidden":"true"}),Je("input",{ref:n,type:"text",value:e,onChange:s=>o(s.target.value),onFocus:i,onKeyDown:d,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")}),Je("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:Je("kbd",{style:{padding:"0.25rem 0.5rem",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",borderRadius:"var(--radius-sm)"},children:"\u2318K"})})]})},Pi=Ai;kt();import{MoreHorizontal as Fi,Link as rn}from"lucide-react";import{useState as Li,useEffect as an,useRef as Ri,useMemo as Ei}from"react";import{NavigationMenu as sn,NavigationMenuListPrimitive as Bi,NavigationMenuItemPrimitive as ln,Button as Mi,DropdownMenu as zi,cn as Qe,DISPLAY as Oi}from"@donotdev/components";import{useTranslation as Ui}from"@donotdev/core";be();ne();import{jsx as $,jsxs as wt}from"react/jsx-runtime";var cn=({routes:t,vertical:e=!1,display:o=Oi.AUTO,overflowDetection:n=!1,showIcons:r=!0,className:a,style:i})=>{let{t:d}=Ui("dndev"),s=q(),l=t??s,c=Ri(null),[p,m]=Li(l.length),g=Ei(()=>l.map(h=>({label:h.label,path:h.path,icon:$(E,{icon:h.icon,fallback:rn}),children:h.children?h.children.map(u=>({label:u.label,path:u.path,icon:$(E,{icon:u.icon,fallback:rn})})):void 0})),[l]);if(an(()=>{if(!n||l.length===0||e)return;let h=()=>{let f=c.current;if(!f)return;let b=f.getBoundingClientRect(),y=f.querySelectorAll("[data-nav-item]"),A=f.querySelector("[data-more-button]"),k=0,B=A?.offsetWidth||0;for(let H=0;H<y.length;H++){let M=y[H];if(!M)break;if(M.getBoundingClientRect().right-b.left+(H===y.length-1&&A?B:0)<=b.width)k=H+1;else break}m(Math.max(0,k))},u=new ResizeObserver(h);return c.current&&u.observe(c.current),setTimeout(h,0),()=>u.disconnect()},[n,l.length,e]),an(()=>{n&&!e&&m(l.length)},[l.length,n,e]),l.length===0)return null;if(n&&!e){let h=g.slice(0,p),u=g.slice(p);return $(sn,{className:Qe(a),style:i||{flex:1},children:wt(Bi,{ref:c,"data-vertical":"false",style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",flexWrap:"nowrap",overflow:"hidden"},children:[h.filter(f=>f.path).map((f,b)=>$(ln,{"data-nav-item":!0,children:wt(C,{path:f.path,className:Qe("dndev-interactive"),"data-role":"nav-trigger",children:[r&&f.icon,$("span",{className:"dndev-interactive-label",children:f.label})]})},f.path||b)),u.length>0&&$(ln,{"data-more-button":!0,children:$(zi,{trigger:$(Mi,{className:"dndev-size-touch",style:{flexShrink:0},"aria-label":d("navigation.more","More"),children:$(Fi,{className:"dndev-size-md"})}),items:u.filter(f=>f.path).map(f=>({label:f.label,children:wt(C,{path:f.path,className:Qe("dndev-interactive"),"data-role":"menu-item",children:[r&&f.icon,$("span",{className:"dndev-interactive-label",children:f.label})]}),asChild:!0})),contentWidth:"14rem",contentAlign:"end"})})]})})}return $(sn,{items:g,vertical:e,display:o,className:Qe(a,e&&"dndev-sidebar-nav-menu"),LinkComponent:C})};import{Home as Vi,ArrowLeft as Gi,Link as Hi}from"lucide-react";import{useMemo as _i}from"react";import{Button as Nt,BUTTON_VARIANT as Dt,Stack as Fe,Text as At}from"@donotdev/components";import{useTranslation as $i}from"@donotdev/core";import{useLocation as Wi,useNavigate as Ki}from"@donotdev/ui/routing/hooks";be();ne();import{jsx as U,jsxs as je}from"react/jsx-runtime";function dn(){let{t}=$i("dndev"),e=Wi(),o=Ki(),n=q(),r=_i(()=>n.filter(i=>!i.path.includes(":")&&i.path!=="/").slice(0,4),[n]),a=()=>{o("back")};return U(ye,{variant:"docs",centered:!0,children:je(Fe,{gap:"large",align:"center",justify:"center",children:[je(Fe,{gap:"medium",align:"center",children:[U(At,{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"}),U(At,{level:"h2",style:{fontSize:"var(--font-size-2xl)",fontWeight:"var(--font-weight-semibold)",margin:0},children:t("errors.notFound.title","Page Not Found")}),U(At,{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&&U("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(Fe,{gap:"medium",align:"center",children:[U("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:")}),U(Fe,{direction:"row",wrap:"wrap",justify:"center",gap:"tight",children:r.map(i=>U(C,{path:i.path,replace:!0,children:U(Nt,{variant:Dt.OUTLINE,icon:U(E,{icon:i.icon,fallback:Hi}),"aria-label":t("errors.notFound.navigateTo",`Navigate to ${i.label}`,{label:i.label}),children:i.label})},i.path))})]}),je(Fe,{direction:"row",wrap:"wrap",justify:"center",gap:"medium",children:[U(C,{path:"/",replace:!0,children:U(Nt,{variant:Dt.DEFAULT,icon:Vi,"aria-label":t("errors.notFound.goHome","Go to home page"),children:t("errors.notFound.goHome","Go Home")})}),U(Nt,{variant:Dt.OUTLINE,icon:Gi,onClick:a,"aria-label":t("errors.notFound.goBack","Go back to previous page"),children:t("errors.notFound.goBack","Go Back")})]})]})})}be();St();import{useNavigate as ag,useBack as ig,useRefresh as sg,usePrefetch as lg,useLocation as cg,useParams as dg,useSearchParams as pg,useMatch as mg,useQueryParams as ug,useRedirectGuard as gg}from"@donotdev/ui/routing/hooks";import{getDndevConfig as Pt,isClient as le,isDev as pn}from"@donotdev/core";var O=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()&&Pt()?.assets?.mapping||null}static getLogoSvgContent(){return Pt()?.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 r=o.favicon.set,a={svg:r.svg||"/favicon.svg",ico:r.ico||"/favicon.ico",png16:r.png16||"/logo.png",png32:r.png32||"/logo.png",apple180:r.apple180||"/logo.png",android192:r.android192||"/logo.png",android512:r.android512||"/logo.png"};return this.cache.set(e,a),a}let n={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":"/logo.png",png32:this.assetExists("/favicon-32x32.png")?"/favicon-32x32.png":"/logo.png",apple180:this.assetExists("/apple-touch-icon.png")?"/apple-touch-icon.png":"/logo.png",android192:this.assetExists("/icon-192x192.png")?"/icon-192x192.png":"/logo.png",android512:this.assetExists("/icon-512x512.png")?"/icon-512x512.png":"/logo.png"};return this.cache.set(e,n),n}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(),pn()&&le()}static getDebugInfo(){return{browserSupport:this.getBrowserSupport(),detectedAssets:le()?Pt()?.assets?.mapping:null,assetManifest:this.getAssetManifest(),cache:Object.fromEntries(this.cache)}}};Ge(O,"cache",new Map);function vg(t){return O.resolveLogo(t)}function bg(){return O.resolveFaviconSet()}pn()&&(O.clearCache(),le()&&window.addEventListener("DOMContentLoaded",()=>{O.clearCache()}));De();function et(){let t=T("initialized"),e=T("authStateChecked"),o=T("loading"),n=T("isAvailable"),r=T("user");return{shouldHide:!t||!n,isLoading:!!o,isReady:t&&n&&e,isAuthenticated:!!r}}import{DEGRADED_BILLING_API as Yi}from"@donotdev/core";import*as qi from"@donotdev/billing";var It=qi?.useStripeBilling;function Zi(t){return Yi[t]}function Ft(t,e){return It?It(t,e):Zi(t)}var wg=typeof It=="function";De();function Pg(){let t=T("user"),e=T("initialized"),o=T("authStateChecked"),n={user:t,initialized:e,authStateChecked:o},r=Ft("loading",n),a=Ft("isAvailable",n);return{shouldHide:!a,isLoading:!!r,isReady:a}}import{DEGRADED_CRUD_API as Xi}from"@donotdev/core";import*as Ji from"@donotdev/crud";var Lt=Ji?.useCrud;function Qi(){return Xi}function Lg(t,e={}){return Lt?Lt(t,e):Qi()}var Rg=typeof Lt=="function";import{DEGRADED_OAUTH_API as ji}from"@donotdev/core";import*as es from"@donotdev/oauth";var Rt=es?.useOAuth;function ts(t){return ji[t]}function Mg(t){return Rt?Rt(t):ts(t)}var zg=typeof Rt=="function";import{Fragment as Ts,jsx as Z,jsxs as Ss}from"react/jsx-runtime";var Mt=()=>null,Jg=Bt(async()=>{try{return{default:(await import("@donotdev/auth")).AuthPartnerButton}}catch{return{default:Mt}}}),vs=Bt(async()=>{try{return{default:(await import("@donotdev/auth")).ReauthDialog}}catch{return{default:Mt}}}),bs=Bt(async()=>{try{return{default:(await import("@donotdev/auth")).ConfirmDeleteDialog}}catch{return{default:Mt}}}),Et=null;hs()&&import("@donotdev/auth").then(t=>{Et=t.useDeleteAccount}).catch(()=>{});function Cs(){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 xs(){return Et?Et():Cs()}var ot=t=>{if(!t)return Le;if(typeof t=="function")return t;let e=t.replace(/['"]/g,"");return is[e]||Le},zt=({loginPath:t,display:e=ms.AUTO,"no-tooltip":o=!1,customItems:n=[]})=>{let{t:r}=us("dndev"),{shouldHide:a,isLoading:i,isReady:d,isAuthenticated:s}=et(),l=fs(),c=T("user"),p=T("loading"),m=T("signOut"),g=T("emailVerification"),h=T("sendEmailVerification"),u=ys("isDesktop"),f=q(),b=t??l.loginPath,y=l.profilePath,A=l.authMenuItems||[],k=xs(),B=()=>c&&(c.displayName||c.email?.split("@")[0])||"User",H=()=>B().split(" ").map(S=>S.charAt(0)).slice(0,2).join("").toUpperCase(),M=()=>{if(!c)return r("auth.userMenu",{defaultValue:"User menu"});let P=[B()];return c.email&&P.push(c.email),z&&z!=="guest"&&P.push(`Role: ${z}`),P.join(`
|
|
4
|
-
`)},
|
|
5
|
-
${c.email}`:""}`,disabled:!0}),y&&P.push({label:r("auth.profile",{defaultValue:"Profile"}),icon:os,asChild:!0,children:Z(C,{path:y,children:r("auth.profile",{defaultValue:"Profile"})})}),A.forEach(S=>{let v=f.find(we=>we.path===S.path),N=S.label||v?.label||S.path.split("/").pop()||"Menu",I=S.icon?ot(S.icon):v?.icon&&(typeof v.icon=="string"||typeof v.icon=="function")?ot(v.icon):Le;P.push({label:N,icon:I,asChild:!0,children:Z(C,{path:S.path,children:N})})}),n.forEach(S=>{if(S.path){let v=f.find(we=>we.path===S.path),N=S.label||v?.label||S.path.split("/").pop()||"Menu",I=S.icon?ot(S.icon):Le;P.push({label:N,icon:I,asChild:!0,children:Z(C,{path:S.path,children:N}),disabled:S.disabled,style:S.style})}else if(S.onClick){let v=S.icon?ot(S.icon):Le;P.push({label:S.label,icon:v,onClick:S.onClick,disabled:S.disabled,style:S.style})}}),P.push({label:r("auth.deleteAccount.label",{defaultValue:"Delete Account"}),icon:as,onClick:k.startDeleteFlow,variant:"destructive"}),P.push({label:r("auth.signOut",{defaultValue:"Sign Out"}),icon:ns,onClick:()=>m(),variant:"destructive"}),P},[y,A,n,m,k,r,f,u,c,B]);if(gs().length===0||a||!d)return null;let z=c?.role;return s?Ss(Ts,{children:[Z(mn,{fallback:null,children:Z(vs,{open:k.showPasswordDialog,isLoading:k.isDeleting,error:k.error,onReauth:P=>k.confirmDelete(P),onCancel:k.cancel})}),Z(mn,{fallback:null,children:Z(bs,{open:k.showConfirmDialog,isLoading:k.isDeleting,error:k.error,onConfirm:()=>k.confirmDelete(),onCancel:k.cancel})}),Z(ps,{trigger:Z(cs,{variant:ds.OUTLINE,icon:c?Z(ls,{src:c.photoURL??void 0,fallback:H(),alt:B(),style:{margin:"-4px 0"}}):rs,display:e,"aria-label":r("auth.userMenu",{defaultValue:"User menu"}),tooltip:!o&&u&&c?M():o?void 0:r("auth.userMenu",{defaultValue:"User menu"}),children:B()}),items:de,contentWidth:"14rem",contentAlign:"end"})]}):null};import{jsx as W}from"react/jsx-runtime";var fn=()=>null,Ps=gn(async()=>{try{return{default:(await import("@donotdev/auth")).AuthPartnerButton}}catch{return{default:fn}}}),Is=gn(async()=>{try{return{default:(await import("@donotdev/auth")).MultipleAuthProviders}}catch{return{default:fn}}}),Gt=({display:t=ws.AUTO})=>{let{t:e}=Ns("dndev"),{shouldHide:o,isLoading:n,isReady:r,isAuthenticated:a}=et(),i=Ds(),d=As(),s=i.loginPath,l=e("auth.signIn",{defaultValue:"Sign In"}),c=e("auth.loading",{defaultValue:"Loading..."});if(o||!r)return null;if(!a){if(s!==void 0)return W(C,{path:s,prefetch:!0,children:W(Ut,{variant:Vt.GHOST,icon:Ot,display:t,tooltip:l,children:l})});if(d.length>1)return W(ks,{trigger:W(Ut,{variant:Vt.GHOST,icon:Ot,display:t,tooltip:l,children:l}),children:W(un,{fallback:W("div",{style:{padding:"var(--gap-md)",fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:c}),children:W(Is,{spacing:"tight"})})});let p=d[0];return W(un,{fallback:W(Ut,{variant:Vt.GHOST,icon:Ot,display:t,disabled:n,tooltip:n?c:l,children:n?c:l}),children:W(Ps,{partnerId:p,display:t})})}return W(zt,{display:t,loginPath:s})};import{RefreshCw as Fs}from"lucide-react";import"react";import{cn as Ls}from"@donotdev/components";import{jsx as hn,jsxs as Bs}from"react/jsx-runtime";var Rs=({className:t})=>Bs("div",{className:Ls("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:[hn(Fs,{className:"dndev-size-touch",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}}),hn("span",{className:"dndev-sr-only",children:"Loading..."})]}),Es=Rs;import{AlertCircle as Ms,RefreshCw as zs,Mail as Os,Cookie as Us}from"lucide-react";import{Card as Vs,Button as Ht,BUTTON_VARIANT as _t,Stack as yn}from"@donotdev/components";import{useTranslation as Gs}from"@donotdev/core";import{jsx as Re,jsxs as nt}from"react/jsx-runtime";function Hs({featureName:t,title:e,description:o,showReviewCookies:n=!1,showContactSupport:r=!0,showRetry:a=!1,supportEmail:i="support@example.com",onRetry:d,onReviewCookies:s,customActions:l,className:c=""}){let{t:p}=Gs("ui"),m=o||p("featureDisabled.description","{featureName} is not available. This may be due to missing configuration or disabled features.",{featureName:t}),g=()=>{if(s)s();else{let u=new CustomEvent("openCookieConsent");window.dispatchEvent(u)}},h=()=>{window.location.href=`mailto:${i}?subject=${encodeURIComponent(`Feature Unavailable: ${t}`)}&body=${encodeURIComponent(`I'm experiencing an issue with ${t} not being available.`)}`};return nt(Vs,{className:c,title:nt(yn,{direction:"row",align:"center",gap:"tight",children:[Re(Ms,{className:"dndev-size-md",style:{color:"var(--destructive)"}}),e||t]}),subtitle:m,children:[" ",nt("div",{style:{display:"grid",gap:"var(--gap-md)"},children:[(n||r||a||l)&&nt(yn,{direction:"row",wrap:"wrap",gap:"tight",children:[n&&Re(Ht,{variant:_t.OUTLINE,onClick:g,icon:Us,children:p("featureDisabled.reviewCookies","Review Cookies")}),r&&Re(Ht,{variant:_t.OUTLINE,onClick:h,icon:Os,children:p("featureDisabled.contactSupport","Contact Support")}),a&&Re(Ht,{variant:_t.OUTLINE,onClick:d,icon:zs,children:p("featureDisabled.retry","Retry")}),l]}),Re("p",{style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:p("featureDisabled.helpText","If you believe this is an error, please contact support or try refreshing the page.")})]})]})}var _s=Hs;ne();import"react";import{cn as $s}from"@donotdev/components";import{jsx as X,jsxs as js}from"react/jsx-runtime";var J=({state:t="loading",message:e,show:o=!0,className:n,showSpinner:r=!1,spinnerSize:a="md"})=>{if(!o)return null;let d=e||(l=>({initial:"Preparing...",loading:"Loading...",processing:"Processing your request...","almost-done":"Almost there...",complete:"Complete!"})[l]||"Loading...")(t),s={sm:{width:"0.75rem",height:"0.75rem"},md:{width:"1rem",height:"1rem"},lg:{width:"1.5rem",height:"1.5rem"}};return js("div",{className:$s(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":d,children:[r&&X("div",{style:{...s[a],animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid currentColor",borderTopColor:"transparent"},role:"status","aria-hidden":"true"}),X("span",{style:{fontWeight:500},children:d})]})},Ws=({message:t="Loading...",...e})=>X(J,{state:"loading",message:t,...e}),Ks=({message:t="Processing your request...",...e})=>X(J,{state:"processing",message:t,...e}),Ys=({message:t="Almost there...",...e})=>X(J,{state:"almost-done",message:t,...e}),qs=({message:t="Complete!",...e})=>X(J,{state:"complete",message:t,...e}),Zs=({showSpinner:t=!0,...e})=>X(J,{state:"processing",message:"Saving your changes...",showSpinner:t,...e}),Xs=({showSpinner:t=!0,fileName:e,...o})=>X(J,{state:"processing",message:e?`Uploading ${e}...`:"Uploading file...",showSpinner:t,...o}),Js=({showSpinner:t=!0,query:e,...o})=>X(J,{state:"processing",message:e?`Searching for "${e}"...`:"Searching...",showSpinner:t,...o}),Qs=({showSpinner:t=!0,...e})=>X(J,{state:"loading",message:"Connecting to server...",showSpinner:t,...e}),rt=J;import{cn as el}from"@donotdev/components";import{Fragment as vn,jsx as j,jsxs as bn}from"react/jsx-runtime";var tl=({show:t=!1,backdrop:e=!0,backdropBlur:o=!0,className:n,children:r,message:a,showSpinner:i=!0,spinnerSize:d="lg",preventClicks:s=!0,zIndex:l="var(--z-modal)"})=>{if(!t)return null;let c=l==="var(--z-modal)"||!l?"dndev-z-modal":l==="var(--z-toast)"?"dndev-z-toast":l==="var(--z-tooltip)"?"dndev-z-tooltip":l==="var(--z-overlay)"?"dndev-z-overlay":null;return j("div",{className:el("dndev-loading-overlay",c,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:s?"auto":"none",...c?{}:{zIndex:l}},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||bn(vn,{children:[i&&j("div",{style:{animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid var(--primary)",borderTopColor:"transparent",width:d==="sm"?"2rem":d==="md"?"3rem":"4rem",height:d==="sm"?"2rem":d==="md"?"3rem":"4rem"},role:"status","aria-hidden":"true"}),a&&j(rt,{...a})]})})})};var ol=({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||bn(vn,{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})]})})}),nl=tl;import"react";import{cn as rl}from"@donotdev/components";import{jsx as Cn}from"react/jsx-runtime";var al=({variant:t="fullPage",className:e,isLoading:o})=>o===!1?null:Cn("div",{className:rl(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:Cn("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"})}),il=al;import{useEffect as $t,useState as xn}from"react";import{cn as sl}from"@donotdev/components";import{jsx as Tn}from"react/jsx-runtime";var ll=({isActive:t=!1,progress:e,useFakeProgress:o=!0,duration:n=2e3,className:r,show:a=!0})=>{let[i,d]=xn(0),[s,l]=xn(!1);$t(()=>{if(!t||!o||e!==void 0)return;l(!0),d(0);let p=Date.now(),m=setInterval(()=>{let g=Date.now()-p,h=Math.min(g/n*90,90);d(h)},16);return()=>{clearInterval(m)}},[t,o,e,n]),$t(()=>{e!==void 0&&l(e>0&&e<100)},[e]),$t(()=>{if(!t){let p=setTimeout(()=>{l(!1),d(0)},300);return()=>clearTimeout(p)}},[t]);let c=e??i;return!a||!s?null:Tn("div",{className:sl(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(c),"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Page loading progress",children:Tn("div",{style:{height:"100%",width:`${c}%`,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)"}})})},cl=ll;import{cn as at,Stack as dl}from"@donotdev/components";import{jsx as Ee,jsxs as Wf}from"react/jsx-runtime";var pl=({variant:t="text",width:e,height:o,lines:n=1,show:r=!0,className:a,animation:i="pulse",style:d})=>{if(!r)return null;let s={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))"}},l=()=>{let c={};return e&&(c.width=typeof e=="number"?`${e}px`:e),o&&(c.height=typeof o=="number"?`${o}px`:o),c};return t==="text"?Ee(dl,{gap:"tight",children:Array.from({length:n}).map((c,p)=>Ee("div",{className:at("dndev-skeleton",a),style:{...s,height:"var(--gap-md)",width:p===n-1?"75%":"100%",...l(),...d}},p))}):t==="circular"?Ee("div",{className:at("dndev-skeleton",a),style:{...s,borderRadius:"var(--radius-full)",width:e||o||"40px",height:o||e||"40px",...l(),...d}}):t==="rectangular"?Ee("div",{className:at("dndev-skeleton",a),style:{...s,width:e||"100%",height:o||"200px",...l(),...d}}):Ee("div",{className:at("dndev-skeleton",a),style:{...s,borderRadius:"var(--radius-lg)",width:e||"100%",height:o||"20px",...l(),...d}})};var ml=pl;import{Card as ul,IconBox as gl,Stack as fl,List as hl,Text as Wt}from"@donotdev/components";import{Check as yl}from"lucide-react";import{jsx as V,jsxs as Sn}from"react/jsx-runtime";var vl=({icon:t,title:e,subtitle:o,content:n,href:r,variant:a,elevated:i,onClick:d,className:s,footer:l,style:c,listDensity:p="default",listGap:m="none",showBullets:g=!1,...h})=>{let u=n?.map(z=>typeof z=="string"?z.replace(/^[\s•\-\*]+/,"").trim():z)||[],f=g?u.map(z=>typeof z=="string"?{icon:V(yl,{size:16}),content:z}:z):u,b=f&&f.length>0?f.length===1&&typeof f[0]=="string"?V("div",{className:"dndev-text-sm",children:f[0]}):V(hl,{items:f,density:p,gap:m,style:{listStyle:"none",paddingInlineStart:0}}):null,k=`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${l?" auto":""}`,B={display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word",lineHeight:"var(--line-height)"},H={...B,fontSize:"var(--font-size-lg)",fontWeight:600,color:"inherit",margin:0,textAlign:"start",flex:1,minWidth:0},M={...B,fontSize:"var(--font-size-base)",fontWeight:600,color:"inherit",margin:0},de=t?Sn(fl,{direction:"row",align:"center",gap:"medium",style:{width:"100%"},children:[V(gl,{icon:t}),V(Wt,{as:"div",level:"h3",style:H,children:e})]}):V(Wt,{as:"div",level:"h3",style:H,children:e}),pe=V(ul,{variant:a,elevated:i,onClick:d,className:s,"data-clickable":r?"true":void 0,style:{paddingInlineStart:"var(--gap-md)",paddingInlineEnd:"var(--gap-md)",gap:"var(--gap-md)",height:"100%",textAlign:"start",...c},...h,children:Sn("div",{style:{display:"grid",gridTemplateRows:k,gap:"var(--gap-md)",width:"100%"},children:[V("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:de}),V("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start"},children:V(Wt,{as:"div",level:"body",style:M,children:o})}),V("div",{children:b}),l&&V("div",{children:l})]})});return r&&!d?V(C,{path:r,style:{display:"block",textDecoration:"none",height:"100%"},"aria-label":e?`Learn more about ${e}`:void 0,children:pe}):pe},bl=vl;import{useState as Il}from"react";import{Bento as Fl,Card as Ll,Section as Rl,Stack as El,Text as Bl,cn as Ml}from"@donotdev/components";var Cl='<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>',xl='<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>',Tl='<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>',Sl='<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>',kl='<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>',wl='<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>',Nl='<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>',Dl='<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>',Al='<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>',Pl='<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>',Kt={bun:{svg:`data:image/svg+xml,${encodeURIComponent(Pl)}`,color:"#FBF0DF",name:"Bun"},typescript:{svg:`data:image/svg+xml,${encodeURIComponent(Cl)}`,color:"#3178C6",name:"TypeScript"},react:{svg:`data:image/svg+xml,${encodeURIComponent(xl)}`,color:"#61DAFB",name:"React"},vite:{svg:`data:image/svg+xml,${encodeURIComponent(Tl)}`,color:"#BD34FE",name:"Vite"},nextjs:{svg:`data:image/svg+xml,${encodeURIComponent(Sl)}`,color:"var(--foreground, #000000)",name:"Next.js"},nodejs:{svg:`data:image/svg+xml,${encodeURIComponent(kl)}`,color:"#339933",name:"Node.js"},firebase:{svg:`data:image/svg+xml,${encodeURIComponent(wl)}`,color:"#DD2C00",name:"Firebase"},vercel:{svg:`data:image/svg+xml,${encodeURIComponent(Nl)}`,color:"var(--foreground, #000000)",name:"Vercel"},stripe:{svg:`data:image/svg+xml,${encodeURIComponent(Dl)}`,color:"#635BFF",name:"Stripe"},valibot:{svg:`data:image/svg+xml,${encodeURIComponent(Al)}`,color:"#FBBF24",name:"Valibot"}};import{jsx as ee,jsxs as Vl}from"react/jsx-runtime";function zl({techKey:t,variant:e}){let o=Kt[t],[n,r]=Il(!1);if(!o)return null;let a=o.svg.replace("data:image/svg+xml,",""),i=decodeURIComponent(a);return ee(Ll,{variant:e,className:"dndev-tech-card",style:{"--tech-color":o.color},"data-hover":n,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:Vl(El,{direction:"column",align:"center",gap:"tight",children:[ee("div",{className:"dndev-tech-card-logo","data-tech":t,dangerouslySetInnerHTML:{__html:i}}),ee(Bl,{as:"span",level:"small",children:o.name})]})})}function Ol({title:t,techs:e,columns:o,gap:n="medium",separator:r=!1,className:a}){let i=l=>{if(l==="long")return{cols:2,rows:1};if(l==="high")return{cols:1,rows:2};if(l==="huge")return{cols:2,rows:2}},d=e.filter(l=>Kt[l.name]).map(l=>({id:l.name,content:ee(zl,{techKey:l.name,variant:l.variant}),span:i(l.size)})),s=ee(Fl,{items:d,columns:o,gap:n,className:a,ariaLabel:"Technology stack"});return t?ee(Rl,{title:t,separator:r,className:"dndev-tech-bento",children:ee("div",{className:"dndev-tech-bento-grid",children:s})}):ee("div",{className:Ml("dndev-tech-bento",a),children:s})}var Ul=Ol;import{Suspense as Gl,lazy as Hl}from"react";import{useConsent as kn}from"@donotdev/core";import{jsx as wn}from"react/jsx-runtime";var _l=Hl(()=>Promise.resolve().then(()=>(Ct(),bt)));function v2(){let t=kn("hasConsented"),e=kn("showBanner");return t&&!e?null:wn(Gl,{fallback:null,children:wn(_l,{})})}import{Button as $l,ScrollArea as Wl}from"@donotdev/components";import{cn as Nn}from"@donotdev/components";import{jsx as Be,jsxs as Kl}from"react/jsx-runtime";function S2({content:t,cta:e,align:o="center",justify:n="center",disableScrollArea:r=!1,contentClassName:a,ctaClassName:i}){return Kl("div",{className:"dndev-game-container",children:[Be("div",{className:Nn("dndev-game-container__content",a),"data-align":o,"data-justify":n,children:r?Be("div",{style:{overflow:"auto",overscrollBehavior:"contain"},children:t}):Be(Wl,{className:"dndev-game-container__scroll",children:t})}),e&&Be("div",{className:Nn("dndev-game-container__cta",i),children:Be($l,{onClick:e.onClick,disabled:e.disabled??!1,variant:e.variant??"default",className:"dndev-game-container__cta-button",children:e.label})})]})}import{useEffect as Yl,useMemo as ql,Suspense as Zl,lazy as Xl}from"react";import{jsx as Yt}from"react/jsx-runtime";var Dn=new Set;function D2({screenRegistry:t,currentScreen:e,nextScreen:o,fallback:n=null}){Yl(()=>{if(o&&!Dn.has(o)){Dn.add(o);let a=t[o];a&&a().catch(()=>{})}},[o,t]);let r=ql(()=>{if(!e)return null;let a=t[e];return a?Xl(a):null},[e,t]);return!e||!r?null:Yt("div",{style:{height:"100%"},children:Yt(Zl,{fallback:n,children:Yt(r,{})})})}import{cn as Jl,DISPLAY as qt}from"@donotdev/components";import{useAppConfig as An}from"@donotdev/core";import{jsx as it,jsxs as ec}from"react/jsx-runtime";var Ql=({display:t=qt.AUTO,linkToHome:e=!0,className:o})=>{let n=An("name"),a=An("shortName")||n||"App",i=O.getLogoSvgContent(),d=O.resolveLogo(),s=t===qt.FULL||t===qt.AUTO,l=i?it("div",{className:"app-branding-logo",role:"img","aria-label":a,dangerouslySetInnerHTML:{__html:i}}):O.assetExists(d)?it("img",{src:d,alt:a,className:"app-branding-logo"}):null,c=s&&it("span",{className:"app-branding-title","data-display":t,children:a}),p=ec("div",{className:Jl("app-branding",o),"data-display":t,children:[l,c]});return e?it(C,{path:"/",className:"app-branding-link",children:p}):p},jl=Ql;import{cn as Pn}from"@donotdev/components";import{useAppConfig as In}from"@donotdev/core";import{jsx as Ln}from"react/jsx-runtime";var Fn={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"}},tc=({alt:t,size:e="header",className:o})=>{let n=t||In("name")||In("shortName")||"App",r=O.getLogoSvgContent(),a=O.resolveLogo(),i=typeof e=="string"&&e in Fn?Fn[e]:typeof e=="string"?{}:{width:e,height:e};return r?Ln("div",{className:Pn("app-icon-header",o),style:{display:"inline-flex",...i},role:"img","aria-label":n,dangerouslySetInnerHTML:{__html:r}}):Ln("img",{src:a,alt:n,className:Pn(o),style:{objectFit:"contain",...i}})},oc=tc;import{cn as Rn}from"@donotdev/components";import{useAppConfig as En,useBreakpoint as nc}from"@donotdev/core";import{jsx as Bn}from"react/jsx-runtime";var rc=({title:t,className:e,linkToHome:o=!0})=>{let n=nc("isMobileOrTablet"),r=En("name"),a=En("shortName"),i=t||n&&a||r||"App",d=Bn("div",{className:Rn("dndev-text-base",e),style:{fontSize:"var(--font-size-xl)",fontWeight:700,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},children:i});return o?Bn(C,{path:"/",className:Rn("dndev-inline-block",e),children:d}):d},ac=rc;import{ChevronRight as pc}from"lucide-react";import{useMemo as mc}from"react";import{cn as uc}from"@donotdev/components";import{useTranslation as gc}from"@donotdev/core";import{useLocation as fc}from"@donotdev/ui/routing/hooks";import{useMemo as Mn}from"react";import{useNavigationStore as q2,getRoutes as ic,getRouteManifest as Z2}from"@donotdev/core";function sc(){return Mn(()=>{try{let t=ic();return!t||t.length===0?[]:lc(t)}catch{return[]}},[])}function zn(){let t=sc();return Mn(()=>t.flatMap(e=>e.routes),[t])}function lc(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||cc(n)||"other",a={path:n,label:o.meta?.title||dc(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 cc(t){return t.split("/").filter(Boolean)[0]||null}function dc(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 vc}from"react/jsx-runtime";var hc=({items:t,separator:e=pc,showHome:o=!0,homeHref:n="/",variant:r="default",className:a})=>{let{t:i}=gc("dndev"),d=fc(),s=zn(),l=mc(()=>new Set(s.map(m=>m.path)),[s]),c=t||(()=>{let m=d.pathname.split("/").filter(Boolean),g=[],h="";return m.forEach(u=>{h+=`/${u}`;let f=u.split("-").map(y=>y.charAt(0).toUpperCase()+y.slice(1)).join(" "),b=l.has(h)?h:void 0;g.push({label:f,href:b})}),g})(),p=o?[{label:i("navigation.home","Home"),href:n},...c]:c;return r==="smart"&&d.pathname.split("/").filter(Boolean).length<2?null:Me("nav",{role:"navigation","aria-label":"Breadcrumb navigation",className:uc("breadcrumbs",a),children:p.map((m,g)=>{let u=g===p.length-1||!m.href;return vc("span",{className:"breadcrumb-item",children:[g>0&&Me(e,{className:"dndev-size-md separator"}),m.icon&&Me(m.icon,{className:"dndev-size-md icon"}),m.href&&!u?Me(C,{path:m.href,className:"breadcrumb-link",children:m.label}):Me("span",{className:"breadcrumb-label",children:m.label})]},g)})})},yc=hc;import{useTranslation as bc,maybeTranslate as On,useLayout as Zt,useAppConfig as Cc}from"@donotdev/core";import{jsx as xe,jsxs as Tc}from"react/jsx-runtime";var xc=({asLink:t=!1,className:e})=>{let o=Cc("app"),n=Zt("gameTitle"),r=Zt("gameSubtitle"),a=Zt("gameNamespace"),{t:i}=bc(a||"dndev"),d=On(i,n??void 0),s=On(i,r??void 0),l=o?.name||"Game";if(d)return xe("div",{className:e,children:Tc("div",{style:{textAlign:"center"},children:[xe("h2",{style:{fontSize:"var(--font-size-lg)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d}),s&&xe("p",{style:{color:"var(--muted-foreground)",fontSize:"var(--font-size-sm)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s})]})});let c=xe("h2",{style:{fontSize:"var(--font-size-lg)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l});return t?xe(C,{path:"/",className:e,style:{fontSize:"var(--font-size-2xl)",fontWeight:700,transition:"color var(--dur-fast) ease-out"},onMouseEnter:p=>p.currentTarget.style.color="var(--primary)",onMouseLeave:p=>p.currentTarget.style.color="var(--foreground)",children:l}):xe("div",{className:e,children:c})};import{Trash2 as Sc}from"lucide-react";import{useState as Un}from"react";import{Button as kc,BUTTON_VARIANT as wc,Checkbox as Nc,Stack as Xt,useToast as Dc}from"@donotdev/components";import{useTranslation as Ac}from"@donotdev/core";import{useRefresh as Pc}from"@donotdev/ui/routing/hooks";import{jsx as st,jsxs as Vn}from"react/jsx-runtime";function Ic(){let{t}=Ac("dndev"),{toast:e}=Dc(),[o,n]=Un(!1),r=Pc(),[a,i]=Un({localStorage:!0,sessionStorage:!0,applicationCache:!0,serviceWorker:!0,cookies:!0,indexedDB:!0,webSQL:!0,memoryCache:!0}),d=async()=>{try{n(!0);let s=[];if(a.localStorage&&typeof window<"u")try{localStorage.clear(),s.push("localStorage")}catch{}if(a.sessionStorage&&typeof window<"u")try{sessionStorage.clear(),s.push("sessionStorage")}catch{}if(a.indexedDB&&typeof window<"u"&&"indexedDB"in window)try{if("databases"in indexedDB){let c=await indexedDB.databases();await Promise.all(c.map(async p=>{if(p.name){let m=indexedDB.deleteDatabase(p.name);await new Promise((g,h)=>{m.onsuccess=()=>g(void 0),m.onerror=()=>h(m.error)})}}))}s.push("IndexedDB")}catch{}if(a.webSQL&&"openDatabase"in window)try{let c=globalThis.openDatabase("","","","");c&&c.transaction&&c.transaction(p=>{p.executeSql('SELECT name FROM sqlite_master WHERE type="table"',[],(m,g)=>{for(let h=0;h<g.rows.length;h++){let u=g.rows.item(h).name;m.executeSql(`DROP TABLE IF EXISTS ${u}`)}})}),s.push("WebSQL")}catch{}if(a.applicationCache&&"caches"in window)try{let c=await caches.keys();await Promise.all(c.map(async p=>{try{await caches.delete(p)}catch{}})),s.push("Application Cache")}catch{}if(a.serviceWorker&&"serviceWorker"in navigator)try{let c=await navigator.serviceWorker.getRegistrations();await Promise.all(c.map(async p=>{try{await p.unregister()}catch{}})),s.push("Service Workers")}catch{}if(a.cookies)try{document.cookie.split(";").forEach(c=>{let p=c.indexOf("="),m=p>-1?c.substr(0,p):c;document.cookie=`${m.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`,document.cookie=`${m.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=${window.location.hostname}`,document.cookie=`${m.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=.${window.location.hostname}`}),s.push("Cookies")}catch{}if(a.memoryCache)try{"gc"in window&&typeof globalThis.gc=="function"&&globalThis.gc(),s.push("Memory Cache")}catch{}let l=s.length>0?t("settings.clearCache.success","Cache cleared successfully: {{items}}",{items:s.join(", ")}):t("settings.clearCache.noItemsCleared","No cache items were cleared");e("success",l),s.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 Vn(Xt,{gap:"medium",children:[st(Xt,{gap:"medium",children:Object.entries(a).map(([s,l])=>Vn(Xt,{direction:"row",align:"center",gap:"tight",children:[st(Nc,{id:s,checked:l,onCheckedChange:c=>i(p=>({...p,[s]:!!c}))}),st("label",{htmlFor:s,style:{fontSize:"var(--font-size-sm)",fontWeight:500,lineHeight:1,cursor:"pointer"},children:t(`settings.clearCache.${s}`,s.charAt(0).toUpperCase()+s.slice(1))})]},s))}),st(kc,{variant:wc.DESTRUCTIVE,style:{margin:"0 auto"},disabled:o||!Object.values(a).some(Boolean),onClick:d,icon:Sc,children:o?t("settings.clearCache.clearing","Clearing..."):t("settings.clearCache.button","Clear Cache")})]})}var Jt=Ic;import{DropdownMenu as Ec,Button as Qt,Stack as Hn}from"@donotdev/components";import{Link as Fc}from"lucide-react";import"react";import{navigationMenuTriggerStylePrimitive as Lc}from"@donotdev/components";ne();import{jsx as Gn,jsxs as Rc}from"react/jsx-runtime";var Te=({route:t,showIcons:e=!0})=>{let o=e&&!!t.icon,n=!!t.label;return Rc(C,{path:t.path,className:Lc(),...o&&!n&&{"data-display":"compact"},children:[e&&Gn(E,{icon:t.icon,fallback:Fc}),Gn("span",{children:t.label})]})};import{jsx as _}from"react/jsx-runtime";var Bc=({navigation:t,className:e})=>_(Hn,{role:"navigation",direction:"row",align:"center",className:e,style:{gap:"var(--gap-sm)"},children:t.map((o,n)=>o.routes&&o.routes.length>0?_(Ec,{trigger:_(Qt,{icon:o.icon,children:o.label}),items:o.routes.map(r=>{let a=r.path?r.external?_("a",{href:r.path,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",width:"100%"},children:_(Te,{route:r})}):_(C,{path:r.path,style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",width:"100%"},children:_(Te,{route:r})}):_(Hn,{direction:"row",align:"center",style:{gap:"var(--gap-sm)",width:"100%"},children:_(Te,{route:r})});return{label:r.label,children:a,asChild:!!r.path}}),contentAlign:"start"},o.label+n):o.path?_(Qt,{icon:o.icon,"aria-label":o.label,render:({children:r,...a})=>_(C,{path:o.path,...a,children:r}),children:o.label},o.label+n):_(Qt,{icon:o.icon,disabled:!0,"aria-label":o.label,children:o.label},o.label+n))}),Mc=Bc;import"react";import{Card as zc,cn as Oc}from"@donotdev/components";import{jsx as jt}from"react/jsx-runtime";var Uc=({languages:t,currentLanguage:e,onLanguageChange:o,className:n})=>jt(zc,{className:Oc("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:jt("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=>jt("option",{value:r,children:r},r))})}),Vc=Uc;import{MoreHorizontal as Gc}from"lucide-react";import{Button as Hc,BUTTON_VARIANT as _c,DropdownMenu as $c}from"@donotdev/components";import{jsx as _n}from"react/jsx-runtime";var Wc=({children:t,className:e})=>_n($c,{trigger:_n(Hc,{variant:_c.GHOST,icon:Gc,"aria-label":"Menu",className:e}),contentAlign:"end",children:t}),Kc=Wc;import{MoreHorizontal as Yc}from"lucide-react";import{DISPLAY as ze,DropdownMenu as qc,Button as Zc}from"@donotdev/components";import{cn as Xc}from"@donotdev/components";import{useBreakpoint as $n,useTranslation as Jc}from"@donotdev/core";be();import{jsx as lt}from"react/jsx-runtime";var Qc=({className:t="",showIcons:e=!0,display:o=ze.AUTO})=>{let{t:n}=Jc("dndev"),r=$n("isMobile"),a=$n("isTablet"),i=q();return(o===ze.AUTO?r||a?ze.COMPACT:ze.FULL:o)===ze.COMPACT?lt(qc,{trigger:lt(Zc,{variant:"ghost",icon:Yc,"aria-label":n("navigation.menu","Navigation"),className:t}),contentAlign:"end",items:i.map(s=>({label:s.label,children:lt(Te,{route:s,showIcons:e}),asChild:!0}))}):lt(cn,{overflowDetection:!0,showIcons:e,className:Xc(t),style:{flex:1}})},jc=Qc;import{Bell as ed}from"lucide-react";import{useMemo as td,useEffect as od,useRef as nd}from"react";import{Button as rd,cn as ad,toast as id,Stack as sd}from"@donotdev/components";import{jsx as eo}from"react/jsx-runtime";var ld={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)"}}},cd=({notifications:t=[],count:e=0,loading:o=!1,onNotificationClick:n,onMarkAllRead:r,onDropdownOpen:a,className:i,maxVisible:d=10,alwaysShow:s=!1,size:l="md",disabled:c=!1})=>{let p=ld[l],m=nd(new Set),g=td(()=>e===0?null:e>99?"99+":e.toString(),[e]),h=e>0||s;return od(()=>{t.forEach(u=>{if(!m.current.has(u.id)){m.current.add(u.id);let f=u.type==="error"?"error":u.type==="warning"?"warning":u.type==="success"?"success":"info";id({title:u.title,description:u.message,toastType:f,duration:0,onDismiss:()=>{m.current.delete(u.id),n&&n(u)}})}})},[t,n]),h?eo("div",{className:ad(i),style:{position:"relative"},children:eo(rd,{disabled:c,style:{...p.button,position:"relative"},onFocus:u=>{u.currentTarget.style.outline="2px solid var(--ring)",u.currentTarget.style.outlineOffset="2px"},onBlur:u=>{u.currentTarget.style.outline="none"},"aria-label":`${e} notification${e!==1?"s":""}`,icon:ed,children:g&&eo(sd,{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,...p.badge},"aria-hidden":"true",children:g})})}):null},dd=cd;import{Settings as pd,Check as md}from"lucide-react";import*as ct from"lucide-react";import"react";import{Button as ud,BUTTON_VARIANT as gd,DropdownMenu as fd,Stack as hd,DISPLAY as yd}from"@donotdev/components";import{useTranslation as vd}from"@donotdev/core";import{useLanguageSelector as bd,useTheme as to,Flag as Cd}from"@donotdev/core";import{jsx as te,jsxs as Sd}from"react/jsx-runtime";function xd({variant:t=gd.OUTLINE}={}){let{t:e}=vd("dndev"),{languages:o,currentLanguage:n,changeLanguage:r,isLoading:a}=bd(),i=to("availableThemes"),d=to("currentTheme"),s=to("setTheme"),l=g=>{if(!g)return ct.Palette;let h=g.replace(/['"]/g,"");return ct[h]||ct.Palette},c=i.map(g=>{let h=l(g.meta?.icon),u=g.name===d;return{label:g.displayName||g.name,icon:h,onClick:()=>s(g.name),checked:u}}),p=o.map(g=>{let h=g.id===n;return{label:g.name,onClick:()=>r(g.id),disabled:a,checked:h,className:h?"bg-accent":void 0,iconEnd:h&&!a?md:void 0,children:Sd(hd,{direction:"row",align:"center",gap:"tight",children:[te(Cd,{code:g.id,title:`${g.name} flag`}),te("span",{children:g.name}),a&&h&&te("div",{style:{marginInlineStart:"auto"},children:te("div",{style:{width:"0.5rem",height:"0.5rem",borderRadius:"50%",backgroundColor:"var(--primary)"}})})]})}}),m=[{label:e("auth.title","Authentication"),subContent:te(Gt,{display:yd.COMPACT})},{label:e("settings.theme","Theme"),subItems:c},{label:e("settings.language","Language"),subItems:p},{label:e("settings.clearCache.title","Clear Cache"),subContent:te(Jt,{})}];return te(fd,{trigger:te(ud,{variant:t,"aria-label":e("settings.title","Settings"),icon:pd}),items:m,contentWidth:"14rem",contentAlign:"end"})}var Td=xd;import*as dt from"lucide-react";import"react";import{Button as Wn,BUTTON_VARIANT as kd,DropdownMenu as wd,DISPLAY as Nd}from"@donotdev/components";import{useTranslation as Dd}from"@donotdev/core";import{useTheme as oo}from"@donotdev/core";import{jsx as ro}from"react/jsx-runtime";var no=t=>{if(!t)return dt.Palette;let e=t.replace(/['"]/g,"");return dt[e]||dt.Palette},Ad=({display:t=Nd.AUTO,"no-tooltip":e=!1})=>{let{t:o}=Dd("dndev"),n=oo("availableThemes"),r=oo("currentTheme"),a=oo("setTheme");if(n.length<=1)return null;let i=n.find(f=>f.name===r),d=n.length===2?n.find(f=>f.name!==r)||n[0]:null,s=i?no(i.meta?.icon):null,l=d?no(d.meta?.icon):null,c=i?.displayName||i?.name||"Theme",p=n.length===2&&d&&l,m=p?l:s,g=p?e?void 0:o("common.themeSelector.tooltipWithNext","Change Theme: Switch to {{next}}",{next:d?.displayName||d?.name}):e?void 0:o("common.themeSelector.changeTheme","Change Theme"),h={variant:kd.OUTLINE,"aria-label":o("common.themeSelector.changeTheme","Change Theme"),tooltip:g,icon:m,display:t};if(p&&d)return ro(Wn,{...h,onClick:()=>a(d.name),children:c});if(!i||!s)return null;let u=n.map(f=>{let b=no(f.meta?.icon),y=f.name===r;return{label:f.displayName||f.name,icon:b,onClick:()=>a(f.name),checked:y}});return ro(wd,{trigger:ro(Wn,{...h,children:c}),items:u,contentWidth:"10rem"})},Pd=Ad;import{useEffect as Fd}from"react";import{checkLicense as Ld}from"@donotdev/core";var Id='<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>',Kn=`data:image/svg+xml,${encodeURIComponent(Id)}`;import{jsx as ao,jsxs as Yn}from"react/jsx-runtime";function L3(){let t=Ld();return Fd(()=>{t.isValid},[t.isValid]),t.isValid?null:Yn("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:[ao("img",{src:Kn,alt:"DoNotDev Logo",style:{width:"48px",height:"48px",flexShrink:0}}),Yn("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"react";import{Stack as om}from"@donotdev/components";import{Mail as Rd,Calendar as Ed,Clock as Bd}from"lucide-react";import{useState as Md}from"react";import{Skeleton as qn,Badge as zd,BADGE_VARIANT as Od,Text as pt,cn as Zn,CopyToClipboard as Xn,Stack as Oe}from"@donotdev/components";import{getWeekFromISOString as Ud}from"@donotdev/core";import{jsx as G,jsxs as Se}from"react/jsx-runtime";var Vd=({config:t,value:e,t:o,className:n,loading:r=!1,showCopy:a=!1,asBadge:i=!1,truncate:d=!1,maxLength:s=50,showLabel:l=!1})=>{let[c,p]=Md(!1),m=async()=>{try{await navigator.clipboard.writeText(e),p(!0),setTimeout(()=>p(!1),2e3)}catch{}},g=()=>{switch(t.type){case"email":return G(Rd,{});case"month":case"week":return G(Ed,{});case"time":return G(Bd,{});default:return null}},h=y=>{if(!y)return null;switch(t.type){case"email":return Se("a",{href:`mailto:${y}`,style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)"},onMouseEnter:A=>A.currentTarget.style.textDecoration="underline",onMouseLeave:A=>A.currentTarget.style.textDecoration="none",children:[g(),y]});case"month":return new Date(y).toLocaleDateString("en-US",{year:"numeric",month:"long"});case"week":return Ud(y);case"time":return new Date(`2000-01-01T${y}`).toLocaleTimeString();default:return y}},u=y=>!d||y.length<=s?y:`${y.substring(0,s)}...`;if(r)return Se(Oe,{gap:"tight",children:[l&&G(qn,{style:{height:"1rem",width:"6rem"}}),G(qn,{className:"dndev-w-full",style:{height:"1.5rem"}})]});if(!e)return Se(Oe,{gap:"tight",children:[l&&G(pt,{as:"span",variant:"muted",children:t.label||t.name}),G(pt,{as:"span",variant:"muted",className:Zn(n),style:{fontStyle:"italic"},children:o("common.noValue",{defaultValue:"No value"})})]});let f=h(e),b=u(String(f));return i?Se(Oe,{direction:"row",align:"center",gap:"tight",children:[g(),G(zd,{variant:Od.SECONDARY,className:n,children:b}),a&&G(Xn,{text:e,tooltipText:o("copyToClipboard")||"Copy to clipboard",copiedTooltipText:o("copied")||"Copied!",ariaLabel:o("copyToClipboard")||"Copy to clipboard"})]}):Se(Oe,{gap:"tight",children:[l&&G(pt,{as:"span",variant:"muted",children:t.label||t.name}),Se(Oe,{direction:"row",align:"center",gap:"tight",children:[G("div",{className:Zn("dndev-flex-1",d&&"truncate",n),title:d&&e.length>s?e:void 0,children:G(pt,{as:"span",children:b})}),a&&G(Xn,{text:e,tooltipText:o("copyToClipboard")||"Copy to clipboard",copiedTooltipText:o("copied")||"Copied!",ariaLabel:o("copyToClipboard")||"Copy to clipboard"})]})]})},mt=Vd;import{Badge as Gd,Text as Hd}from"@donotdev/components";import{jsx as Jn}from"react/jsx-runtime";var _d=({config:t,value:e,t:o,className:n})=>{if(e==null)return Jn(Hd,{as:"span",variant:"muted",className:n,children:"-"});let r=typeof e=="boolean"?o(e?"common.yes":"common.no"):String(e);return Jn(Gd,{variant:typeof e=="boolean"?e?"default":"secondary":"outline",className:n,children:r})},io=_d;import{Avatar as $d,Text as Wd}from"@donotdev/components";import{jsx as Qn}from"react/jsx-runtime";var Kd=({config:t,value:e,t:o,className:n,size:r="md"})=>{if(!e)return Qn(Wd,{as:"span",variant:"muted",className:n,children:"-"});let a={sm:"size-touch",md:"size-touch",lg:"h-16 w-16"},i=d=>d.split(" ").map(s=>s.charAt(0)).slice(0,2).join("").toUpperCase();return Qn($d,{src:e,alt:t.label||"Avatar",fallback:i(t.label||"AV"),className:`${a[r]} ${n||""}`})},so=Kd;import"react";import{Text as Yd}from"@donotdev/components";import{Link as qd}from"@donotdev/ui";import{jsx as jn}from"react/jsx-runtime";var Zd=({config:t,value:e,t:o,className:n})=>{if(!e)return jn(Yd,{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 jn(qd,{...a,className:n||"",style:{color:"var(--primary)"},onMouseEnter:i=>i.currentTarget.style.textDecoration="underline",onMouseLeave:i=>i.currentTarget.style.textDecoration="none",children:e})},lo=Zd;import"react";import{Text as Ue}from"@donotdev/components";import{Skeleton as Xd}from"@donotdev/ui";import{jsx as ke,jsxs as Qd}from"react/jsx-runtime";var Jd=({config:t,value:e,t:o,className:n,loading:r=!1})=>{if(r)return ke(Xd,{className:n});if(!e)return ke(Ue,{as:"span",variant:"muted",className:n,children:"-"});try{let a=new Date(e),i=a.toLocaleDateString(),d=a.toLocaleTimeString();return t.type==="date"?ke(Ue,{as:"span",className:n,children:i}):Qd("div",{className:n,children:[ke(Ue,{as:"span",children:i}),ke(Ue,{as:"span",variant:"muted",level:"small",children:d})]})}catch{return ke(Ue,{as:"span",variant:"muted",className:n,children:"-"})}},co=Jd;import"react";import{Text as er}from"@donotdev/components";import{Skeleton as jd}from"@donotdev/ui";import{jsx as po}from"react/jsx-runtime";var ep=({config:t,value:e,t:o,className:n,loading:r=!1})=>r?po(jd,{className:n}):e==null?po(er,{as:"span",variant:"muted",className:n,children:"-"}):po(er,{as:"span",className:`font-mono ${n||""}`,children:e.toLocaleString()}),mo=ep;import"react";import{Text as tp}from"@donotdev/components";import{Link as op}from"@donotdev/ui";import{jsx as tr}from"react/jsx-runtime";var np=({config:t,value:e,t:o,className:n})=>e?tr(op,{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}):tr(tp,{as:"span",variant:"muted",className:n,children:"-"}),uo=np;import"react";import{Text as or}from"@donotdev/components";import{jsx as nr}from"react/jsx-runtime";var rp=({config:t,value:e,t:o,className:n})=>e?nr(or,{as:"div",level:"small",className:`whitespace-pre-wrap ${n||""}`,children:e}):nr(or,{as:"span",variant:"muted",className:n,children:"-"}),go=rp;import{Badge as ap,Text as ip}from"@donotdev/components";import{jsx as rr}from"react/jsx-runtime";var sp=({config:t,value:e,t:o,className:n})=>{if(e==null)return rr(ip,{as:"span",variant:"muted",className:n,children:"-"});let r=o(e?"common.yes":"common.no");return rr(ap,{variant:e?"default":"secondary",className:n,children:r})},fo=sp;import{Badge as lp,BADGE_VARIANT as cp,Text as dp}from"@donotdev/components";import{jsx as ar}from"react/jsx-runtime";var pp=({config:t,value:e,t:o,className:n})=>e?ar(lp,{variant:cp.OUTLINE,className:n,children:e}):ar(dp,{as:"span",variant:"muted",className:n,children:"-"}),ho=pp;import"react";import{Badge as mp,BADGE_VARIANT as up,Text as gp,Stack as fp}from"@donotdev/components";import{jsx as yo}from"react/jsx-runtime";var hp=({config:t,value:e,t:o,className:n})=>!e||!Array.isArray(e)||e.length===0?yo(gp,{as:"span",variant:"muted",className:n,children:"-"}):yo(fp,{direction:"row",wrap:"wrap",gap:"medium",className:n,children:e.map((r,a)=>yo(mp,{variant:up.OUTLINE,children:String(r)},a))}),vo=hp;import"react";import{Badge as yp,BADGE_VARIANT as vp,Text as bp,Stack as Cp}from"@donotdev/components";import{jsx as bo}from"react/jsx-runtime";var xp=({config:t,value:e,t:o,className:n})=>!e||!Array.isArray(e)||e.length===0?bo(bp,{as:"span",variant:"muted",className:n,children:"-"}):bo(Cp,{direction:"row",wrap:"wrap",gap:"medium",className:n,children:e.map((r,a)=>bo(yp,{variant:vp.OUTLINE,children:String(r)},a))}),Co=xp;import"react";import{Badge as Tp,BADGE_VARIANT as Sp,Text as kp}from"@donotdev/components";import{jsx as ir}from"react/jsx-runtime";var wp=({config:t,value:e,t:o,className:n})=>e?ir(Tp,{variant:Sp.OUTLINE,className:n,children:e}):ir(kp,{as:"span",variant:"muted",className:n,children:"-"}),xo=wp;import"react";import{Text as sr}from"@donotdev/components";import{jsx as lr}from"react/jsx-runtime";var Np=({config:t,value:e,t:o,className:n})=>e==null?lr(sr,{as:"span",variant:"muted",className:n,children:"-"}):lr(sr,{as:"span",className:`font-mono ${n||""}`,children:e}),Dp=Np;import{Badge as Ap,BADGE_VARIANT as Pp,Text as cr,Stack as Ip}from"@donotdev/components";import{jsx as dr,jsxs as pr}from"react/jsx-runtime";var Fp=({config:t,value:e,t:o,className:n})=>e?pr(Ip,{direction:"row",align:"center",gap:"medium",className:n,children:[dr(cr,{as:"span",level:"small",children:e.name}),e.size&&pr(Ap,{variant:Pp.SECONDARY,children:[(e.size/1024).toFixed(1)," KB"]})]}):dr(cr,{as:"span",variant:"muted",className:n,children:"-"}),To=Fp;import"react";import{Avatar as Lp,Text as Rp}from"@donotdev/components";import{jsx as mr}from"react/jsx-runtime";var Ep=({config:t,value:e,t:o,className:n,size:r="md"})=>{if(!e)return mr(Rp,{as:"span",variant:"muted",className:n,children:"-"});let a={sm:"size-touch",md:"size-touch",lg:"h-16 w-16"},i=d=>d.split(" ").map(s=>s.charAt(0)).slice(0,2).join("").toUpperCase();return mr(Lp,{src:e,alt:t.label||"Image",fallback:i(t.label||"IMG"),className:`${a[r]} ${n||""}`})},So=Ep;import"react";import{Text as ur}from"@donotdev/components";import{jsx as Mp,jsxs as zp}from"react/jsx-runtime";var Bp=({config:t,value:e,t:o,className:n})=>!e||e.lat===void 0&&e.lng===void 0?Mp(ur,{as:"span",variant:"muted",className:n,children:"-"}):zp(ur,{as:"div",level:"small",className:`font-mono ${n||""}`,children:[e.lat?.toFixed(6),", ",e.lng?.toFixed(6)]}),ko=Bp;import"react";import{Text as gr}from"@donotdev/components";import{jsx as Up,jsxs as Vp}from"react/jsx-runtime";var Op=({config:t,value:e,t:o,className:n})=>!e||e.lat===void 0&&e.lng===void 0?Up(gr,{as:"span",variant:"muted",className:n,children:"-"}):Vp(gr,{as:"div",level:"small",className:`font-mono ${n||""}`,children:[e.lat?.toFixed(6),", ",e.lng?.toFixed(6)]}),wo=Op;import"react";import{Badge as Gp,BADGE_VARIANT as Hp,Text as _p}from"@donotdev/components";import{jsx as fr}from"react/jsx-runtime";var $p=({config:t,value:e,t:o,className:n})=>{if(!e)return fr(_p,{as:"span",variant:"muted",className:n,children:"-"});let r=e.displayName||e.name||e.id||e;return fr(Gp,{variant:Hp.OUTLINE,className:n,children:String(r)})},No=$p;import"react";import{Text as ut}from"@donotdev/components";import{jsx as gt,jsxs as Kp}from"react/jsx-runtime";var Wp=({config:t,value:e,t:o,className:n})=>{if(!e)return gt(ut,{as:"span",variant:"muted",className:n,children:"-"});try{let r=new Date(e),a=r.toLocaleDateString(),i=r.toLocaleTimeString();return Kp("div",{className:n,children:[gt(ut,{as:"span",children:a}),gt(ut,{as:"span",variant:"muted",level:"small",children:i})]})}catch{return gt(ut,{as:"span",variant:"muted",className:n,children:"-"})}},Do=Wp;import"react";var Yp=()=>null,Ao=Yp;var qp=()=>null,Po=qp;import{Eye as Zp,EyeOff as Xp}from"lucide-react";import"react";import{useState as Jp}from"react";import{Skeleton as Qp,Button as jp,CopyToClipboard as em,Stack as hr}from"@donotdev/components";import{jsx as ce,jsxs as yr}from"react/jsx-runtime";var tm=({config:t,value:e,t:o,className:n,loading:r=!1})=>{let[a,i]=Jp(!1);return r?ce(Qp,{className:n}):e?yr(hr,{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"}),yr(hr,{direction:"row",align:"center",gap:"tight",children:[ce(jp,{type:"button",onClick:()=>i(!a),"aria-label":a?"Hide password":"Show password",children:a?ce(Xp,{}):ce(Zp,{})}),ce(em,{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:"-"})},vr=tm;import{Fragment as br,jsx as x,jsxs as nm}from"react/jsx-runtime";function Io({name:t,config:e,t:o,value:n,className:r}){let a=()=>{switch(e.type){case"password":return x(vr,{config:e,value:n,t:o,className:r,loading:!1});case"text":case"email":case"month":case"week":case"time":return x(mt,{config:e,value:n,t:o,className:r});case"avatar":return x(so,{config:e,value:n,t:o,className:r});case"badge":return x(io,{config:e,value:n,t:o,className:r});case"boolean":case"checkbox":return x(fo,{config:e,value:n,t:o,className:r});case"array":return x(Co,{config:e,value:n,t:o,className:r});case"multiselect":return x(vo,{config:e,value:n,t:o,className:r});case"image":return x(So,{config:e,value:n,t:o,className:r});case"url":return x(lo,{config:e,value:n,t:o,className:r});case"tel":return x(uo,{config:e,value:n,t:o,className:r});case"color":return n&&typeof n=="string"?nm(om,{direction:"row",align:"center",gap:"tight",children:[x("div",{style:{backgroundColor:n,width:"1.5rem",height:"1.5rem"},"aria-label":`Color: ${n}`}),x("span",{style:{fontFamily:"monospace"},children:n})]}):x("span",{style:{color:"var(--muted-foreground)"},children:"-"});case"number":case"range":return x(mo,{config:e,value:n,t:o,className:r});case"date":case"datetime-local":return x(co,{config:e,value:n,t:o,className:r});case"timestamp":return x(Do,{config:e,value:n,t:o,className:r});case"reference":return x(No,{config:e,value:n,t:o,className:r});case"file":return x(To,{config:e,value:n,t:o,className:r});case"geopoint":return x(ko,{config:e,value:n,t:o,className:r});case"map":return x(wo,{config:e,value:n,t:o,className:r});case"textarea":return x(go,{config:e,value:n,t:o,className:r});case"select":return x(ho,{config:e,value:n,t:o,className:r});case"radio":return x(xo,{config:e,value:n,t:o,className:r});case"hidden":return x(Ao,{config:e,value:n,t:o,className:r});case"submit":case"reset":return x(Po,{config:e,value:n,t:o,className:r});default:return x(mt,{config:e,value:n,t:o,className:r})}};if(e.hidden)return x(br,{});let i=a();return i?x("div",{className:r,children:i}):x(br,{})}import{Stack as Cr}from"@donotdev/components";import{useTranslation as rm}from"@donotdev/core";import{jsx as Ve,jsxs as im}from"react/jsx-runtime";function am({entity:t,data:e,t:o,className:n="",loading:r=!1}){let{t:a}=rm("dndev"),i=o||a,d=Object.entries(t);return r?Ve(Cr,{gap:"medium",className:n,children:d.map(([s])=>im("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)"}})]},s))}):Ve(Cr,{gap:"medium",className:n,children:d.map(([s,l])=>Ve(Io,{name:s,config:l,value:e[s],t:i},s))})}import{createContext as Tr,useId as sm,use as xr}from"react";import{Controller as lm,FormProvider as cm,useFormContext as dm}from"react-hook-form";import{Label as pm,Slot as mm,cn as um,Stack as gm}from"@donotdev/components";import{jsx as oe}from"react/jsx-runtime";var ny=cm,Sr=Tr({}),ry=({...t})=>oe(Sr.Provider,{value:{name:t.name},children:oe(lm,{...t})}),kr=Tr({}),ay=({className:t,...e})=>{let o=sm();return oe(kr.Provider,{value:{id:o},children:oe(gm,{gap:"medium",className:t,...e})})},ft=()=>{let t=xr(Sr);if(!t||!t.name)return null;let e=xr(kr);if(!e)return null;let{getFieldState:o,formState:n}=dm(),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}},iy=({className:t,...e})=>{let o=ft();if(!o)return null;let{error:n,formItemId:r}=o;return oe(pm,{className:um(n&&"text-destructive",t),htmlFor:r,...e})},sy=({...t})=>{let e=ft();if(!e)return null;let{error:o,formItemId:n,formDescriptionId:r,formMessageId:a}=e;return oe(mm,{id:n,"aria-describedby":o?`${r} ${a}`:`${r}`,"aria-invalid":!!o,...t})},ly=({className:t,...e})=>{let o=ft();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})},cy=({className:t,children:e,...o})=>{let n=ft();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 fm={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"},hm={zHeader:"dndev-z-header",zSidebar:"dndev-z-sidebar",zOverlay:"dndev-z-overlay",zModal:"dndev-z-modal",zTooltip:"dndev-z-tooltip",zToast:"dndev-z-toast"},yy={...fm,...hm},vy={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"},by={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{jl as AppBranding,oc as AppIcon,Es as AppLoading,ac as AppTitle,O as AssetResolver,la as AuthGuard,Vu as AuthGuardFallback,Gt as AuthHeader,zt as AuthMenu,so as AvatarFieldDisplay,io as BadgeFieldDisplay,yc as Breadcrumbs,Po as ButtonFieldDisplay,Jt as CacheSettings,fo as CheckboxFieldDisplay,v2 as ConsentBanner,co as DateFieldDisplay,Io as DisplayFieldRenderer,cn as DnDevNavigationMenu,ho as DropdownDisplay,Mc as DropdownNavigation,am as EntityDisplayRenderer,bl as FeatureCard,_s as FeatureDisabled,To as FileFieldDisplay,Vc as FloatingLanguageSwitcher,ny as Form,sy as FormControl,ly as FormDescription,ry as FormField,ay as FormItem,iy as FormLabel,cy as FormMessage,S2 as GameContainer,D2 as GameFlow,xc as GameTitle,ko as GeoPointFieldDisplay,Ku as GoTo,jo as GoToDialog,Pi as GoToInput,xi as GoToWrapper,Kc as HeaderMenu,jc as HeaderNavigation,Ao as HiddenFieldDisplay,Pr as Icon,So as ImageFieldDisplay,L3 as LicenseWatermark,C as Link,lo as LinkFieldDisplay,_e as Loader,ol as LoadingContainerOverlay,rt as LoadingMessage,Ys as LoadingMessageAlmostDone,qs as LoadingMessageComplete,Qs as LoadingMessageConnecting,Ks as LoadingMessageProcessing,Zs as LoadingMessageSaving,Js as LoadingMessageSearching,Ws as LoadingMessageSimple,Xs as LoadingMessageUploading,nl as LoadingOverlay,il as LoadingScreen,wo as MapFieldDisplay,vo as MultiDropdownDisplay,Co as MultiInputTextFieldDisplay,dn as NotFoundPage,dd as Notifications,mo as NumberFieldDisplay,ye as PageContainer,uo as PhoneNumberDisplay,cl as ProgressBar,xo as RadioFieldDisplay,Dp as RangeFieldDisplay,No as ReferenceFieldDisplay,Td as SettingsMenu,ml as Skeleton,Ul as TechBento,go as TextAreaDisplay,mt as TextFieldDisplay,Pd as ThemeToggle,Do as TimestampFieldDisplay,yy as allLayoutClasses,su as createAuthConfig,by as cssVariables,Om as isAuthAvailable,wg as isBillingAvailable,Rg as isCrudAvailable,zg as isOAuthAvailable,fm as layoutClasses,hm as layoutUtilities,vy as layoutVariables,bg as resolveFaviconSet,vg as resolveLogo,Kt as techLogos,T as useAuthSafe,au as useAuthState,et as useAuthVisibility,ig as useBack,Pg as useBillingVisibility,ou as useCanAccess,Lg as useCrudSafe,ft as useFormField,Jo as useGoTo,ru as useHasRole,cg as useLocation,mg as useMatch,ag as useNavigate,q as useNavigationItems,Mg as useOAuthSafe,dg as useParams,lg as usePrefetch,ug as useQueryParams,gg as useRedirectGuard,sg as useRefresh,pg as useSearchParams,Ft as useStripeBillingSafe,nu as useUserRole,iu as withAuth};
|
|
3
|
+
`);try{await navigator.clipboard.writeText(h),i(!0),setTimeout(()=>i(!1),2e3)}catch{}},f=()=>{try{e()}catch{typeof window<"u"&&window.location.reload()}},u=()=>{try{c()}catch{typeof window<"u"&&window.history.back()}};return I(me,{children:I(Oo,{variant:Uo.DEFAULT,elevated:!0,className:"dndev-w-full",style:{maxWidth:"65ch",margin:"0 auto"},children:ie(de,{gap:"large",align:"center",className:"dndev-text-center",children:[I(de,{align:"center",justify:"center",style:{width:"5rem",height:"5rem",backgroundColor:"rgba(220, 38, 38, 0.1)",borderRadius:"50%",border:"1px solid var(--destructive)"},children:I(la,{style:{width:"2.5rem",height:"2.5rem",color:"var(--destructive)"},"aria-hidden":"true"})}),ie(de,{gap:"medium",children:[I("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")}),I("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.")}),I(ha,{variant:ya.SUCCESS,hideIcon:!0,children:I("div",{style:{fontSize:"var(--font-size-sm)",textAlign:"center"},children:r("routeError.dataSafe","Don't worry, your data is safe.")})})]}),n&&ie("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]}),m&&d&&ie(Oo,{variant:Uo.MUTED,className:"dndev-w-full",children:[ie(de,{direction:"row",align:"center",justify:"between",gap:"medium",children:[I("span",{className:"dndev-text-base",style:{fontSize:"var(--font-size-sm)",fontWeight:"var(--font-weight-semibold)",color:"var(--destructive)"},children:"Error Message:"}),I(_e,{variant:$e.GHOST,icon:a?ua:ma,onClick:g,disabled:a,children:a?r("routeError.copied","Copied"):r("routeError.copyDetails","Copy Details")})]}),I("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:d})]}),ie(de,{gap:"medium",className:"dndev-w-full",children:[I(_e,{variant:$e.DESTRUCTIVE,icon:da,onClick:f,fullWidth:!0,children:r("routeError.tryAgain","Try Again")}),ie(de,{direction:"row",gap:"medium",justify:"center",children:[I(T,{path:"/",children:I(_e,{variant:$e.DEFAULT,icon:ca,fullWidth:!0,children:r("routeError.goHome","Go Home")})}),I(_e,{variant:$e.OUTLINE,icon:pa,onClick:u,fullWidth:!0,children:r("routeError.goBack","Go Back")})]})]}),I("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.")})]})})})},Vo=Ta;import{jsx as ke}from"react/jsx-runtime";var me=({variant:t="standard",density:e,className:o,children:n,centered:r=!0,gapFirst:a=!1})=>ke(zo,{level:"route",fallback:i=>ke(Sa,{fallback:ke("div",{children:"Loading error fallback..."}),children:ke(Vo,{...i})}),children:ke("div",{className:ka("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 za,jsx as w,jsxs as we}from"react/jsx-runtime";var Ma=Aa(()=>import("@donotdev/auth").then(t=>({default:t.MultipleAuthProviders})));function Vu({title:t,description:e,showBackButton:o=!0,onBack:n,className:r=""}){let{t:a}=La(["auth","common"]),i=Ea(),c=Ba(),l=()=>{n?n():c()};return w(me,{variant:"docs",children:w(ue,{align:"center",justify:"center",className:Ra("dndev-min-h-60",r),style:{paddingTop:"var(--gap-lg)",paddingBottom:"var(--gap-lg)"},children:w(Pa,{className:"dndev-w-full",style:{maxWidth:"28rem",border:"none",boxShadow:"var(--shadow-xl)"},title:we(ue,{gap:"medium",children:[w(ue,{justify:"center",children:w("div",{style:{borderRadius:"9999px",backgroundColor:"color-mix(in oklab, var(--primary) 10%, transparent)",padding:"var(--gap-md)"},children:w(Na,{className:"dndev-size-touch",style:{color:"var(--primary)"}})})}),w("div",{style:{fontSize:"var(--font-size-2xl)",fontWeight:700},children:a("auth.fallback.title","Authentication Required")}),w("p",{style:{color:"var(--muted-foreground)"},children:a("auth.fallback.description","Please sign in to access this page")})]}),children:we(ue,{gap:"medium",children:[we(ue,{gap:"large",children:[w("div",{children:w("p",{style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:a("auth.fallback.chooseProvider")})}),w(Da,{fallback:w("div",{children:"Loading providers..."}),children:w(Ma,{layout:"vertical",spacing:"tight",fullWidth:!0,ariaLabel:a("auth.fallback.authOptions")})})]}),o&&we(za,{children:[w(Fa,{}),w("div",{children:w(Ia,{onClick:l,className:"dndev-gap-sm",icon:wa,children:a("common.back")})})]}),we(ue,{gap:"tight",style:{fontSize:"var(--font-size-xs)",color:"var(--muted-foreground)"},children:[w("p",{children:a("auth.fallback.secure")}),w("p",{children:a("auth.fallback.terms")})]})]})})})})}import{Search as Oa}from"lucide-react";import{Button as Ua,BUTTON_VARIANT as Va,DISPLAY as Ga}from"@donotdev/components";import{useOverlayStore as Ha,useTranslation as _a}from"@donotdev/core";import{jsx as $a,jsxs as Wa}from"react/jsx-runtime";var Ku=({display:t=Ga.AUTO,className:e})=>{let{t:o}=_a("dndev"),n=Ha(i=>i.openCommandDialog),a=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform)?"\u2318K":"Ctrl+K";return Wa(Ua,{variant:Va.OUTLINE,display:t,icon:Oa,onClick:()=>n(),className:e,"aria-label":o("goTo.ariaLabel","Go to page"),children:[o("goTo.label","Go to"),$a("kbd",{style:{marginInlineStart:"var(--gap-sm)",padding:"0.125rem 0.375rem",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",opacity:.5},children:a})]})};import{Suspense as ui,lazy as gi}from"react";import{useEventListener as fi,useOverlayStore as hi}from"@donotdev/core";import{jsx as qo}from"react/jsx-runtime";var yi=gi(()=>Promise.resolve().then(()=>(Yo(),Ko))),vi=()=>{let t=hi(e=>e.openCommandDialog);return fi("keydown",e=>{(e.metaKey||e.ctrlKey)&&e.key==="k"&&(e.preventDefault(),t())},{target:document,options:{passive:!1,capture:!1}}),qo(ui,{fallback:null,children:qo(yi,{})})},bi=vi;import{Search as xi}from"lucide-react";import{useCallback as Zo,useEffect as Ci,useState as Ti,useRef as Si}from"react";import{Stack as ki}from"@donotdev/components";import{useOverlayStore as Jo}from"@donotdev/core";import{useTranslation as wi}from"@donotdev/core";import{jsx as Ye,jsxs as Ai}from"react/jsx-runtime";var Ni=()=>{let{t}=wi("dndev"),[e,o]=Ti(""),n=Si(null),r=Jo(l=>l.openCommandDialog),a=Jo(l=>l.isCommandDialogOpen);Ci(()=>{a||o("")},[a]);let i=Zo(()=>{r(e)},[r,e]),c=Zo(l=>{l.key==="Enter"&&(l.preventDefault(),r(e))},[r,e]);return Ai(ki,{direction:"row",align:"center",className:"dndev-relative dndev-w-full dndev-max-w-sm",role:"search",children:[Ye(xi,{className:"dndev-absolute dndev-size-md",style:{left:"0.75rem",opacity:.5},"aria-hidden":"true"}),Ye("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")}),Ye("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:Ye("kbd",{style:{padding:"0.25rem 0.5rem",fontSize:"var(--font-size-xs)",fontFamily:"var(--font-mono)",borderRadius:"var(--radius-sm)"},children:"\u2318K"})})]})},Di=Ni;import{MoreHorizontal as Pi,Link as Qo}from"lucide-react";import{useState as Ii,useEffect as Xo,useRef as Fi,useMemo as Ri}from"react";import{NavigationMenu as jo,NavigationMenuListPrimitive as Li,NavigationMenuItemPrimitive as en,Button as Ei,DropdownMenu as Bi,cn as qe,DISPLAY as Mi}from"@donotdev/components";import{useTranslation as zi}from"@donotdev/core";ge();ne();import{jsx as _,jsxs as Tt}from"react/jsx-runtime";var tn=({routes:t,vertical:e=!1,display:o=Mi.AUTO,overflowDetection:n=!1,showIcons:r=!0,className:a,style:i})=>{let{t:c}=zi("dndev"),l=K(),s=t??l,d=Fi(null),[p,m]=Ii(s.length),g=Ri(()=>s.map(f=>({label:f.label,path:f.path,icon:_(R,{icon:f.icon,fallback:Qo}),children:f.children?f.children.map(u=>({label:u.label,path:u.path,icon:_(R,{icon:u.icon,fallback:Qo})})):void 0})),[s]);if(Xo(()=>{if(!n||s.length===0||e)return;let f=()=>{let h=d.current;if(!h)return;let y=h.getBoundingClientRect(),v=h.querySelectorAll("[data-nav-item]"),A=h.querySelector("[data-more-button]"),V=0,H=A?.offsetWidth||0;for(let L=0;L<v.length;L++){let S=v[L];if(!S)break;if(S.getBoundingClientRect().right-y.left+(L===v.length-1&&A?H:0)<=y.width)V=L+1;else break}m(Math.max(0,V))},u=new ResizeObserver(f);return d.current&&u.observe(d.current),setTimeout(f,0),()=>u.disconnect()},[n,s.length,e]),Xo(()=>{n&&!e&&m(s.length)},[s.length,n,e]),s.length===0)return null;if(n&&!e){let f=g.slice(0,p),u=g.slice(p);return _(jo,{className:qe(a),style:i||{flex:1},children:Tt(Li,{ref:d,"data-vertical":"false",style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",flexWrap:"nowrap",overflow:"hidden"},children:[f.filter(h=>h.path).map((h,y)=>_(en,{"data-nav-item":!0,children:Tt(T,{path:h.path,className:qe("dndev-interactive"),"data-role":"nav-trigger",children:[r&&h.icon,_("span",{className:"dndev-interactive-label",children:h.label})]})},h.path||y)),u.length>0&&_(en,{"data-more-button":!0,children:_(Bi,{trigger:_(Ei,{className:"dndev-size-touch",style:{flexShrink:0},"aria-label":c("navigation.more","More"),children:_(Pi,{className:"dndev-size-md"})}),items:u.filter(h=>h.path).map(h=>({label:h.label,children:Tt(T,{path:h.path,className:qe("dndev-interactive"),"data-role":"menu-item",children:[r&&h.icon,_("span",{className:"dndev-interactive-label",children:h.label})]}),asChild:!0})),contentWidth:"14rem",contentAlign:"end"})})]})})}return _(jo,{items:g,vertical:e,display:o,className:qe(a,e&&"dndev-sidebar-nav-menu"),LinkComponent:T})};import{Home as Oi,ArrowLeft as Ui,Link as Vi}from"lucide-react";import{useMemo as Gi}from"react";import{Button as St,BUTTON_VARIANT as kt,Stack as Ne,Text as wt}from"@donotdev/components";import{useTranslation as Hi}from"@donotdev/core";import{useLocation as _i,useNavigate as $i}from"@donotdev/ui/routing/hooks";ge();ne();import{jsx as z,jsxs as Ze}from"react/jsx-runtime";function on(){let{t}=Hi("dndev"),e=_i(),o=$i(),n=K(),r=Gi(()=>n.filter(i=>!i.path.includes(":")&&i.path!=="/").slice(0,4),[n]),a=()=>{o("back")};return z(me,{variant:"docs",centered:!0,children:Ze(Ne,{gap:"large",align:"center",justify:"center",children:[Ze(Ne,{gap:"medium",align:"center",children:[z(wt,{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(wt,{level:"h2",style:{fontSize:"var(--font-size-2xl)",fontWeight:"var(--font-weight-semibold)",margin:0},children:t("errors.notFound.title","Page Not Found")}),z(wt,{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&&Ze(Ne,{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(Ne,{direction:"row",wrap:"wrap",justify:"center",gap:"tight",children:r.map(i=>z(T,{path:i.path,replace:!0,children:z(St,{variant:kt.OUTLINE,icon:z(R,{icon:i.icon,fallback:Vi}),"aria-label":t("errors.notFound.navigateTo",`Navigate to ${i.label}`,{label:i.label}),children:i.label})},i.path))})]}),Ze(Ne,{direction:"row",wrap:"wrap",justify:"center",gap:"medium",children:[z(T,{path:"/",replace:!0,children:z(St,{variant:kt.DEFAULT,icon:Oi,"aria-label":t("errors.notFound.goHome","Go to home page"),children:t("errors.notFound.goHome","Go Home")})}),z(St,{variant:kt.OUTLINE,icon:Ui,onClick:a,"aria-label":t("errors.notFound.goBack","Go back to previous page"),children:t("errors.notFound.goBack","Go Back")})]})]})})}ge();Ct();import{useNavigate as rg,useBack as ag,useRefresh as ig,usePrefetch as sg,useLocation as lg,useParams as cg,useSearchParams as pg,useMatch as dg,useQueryParams as mg,useRedirectGuard as ug}from"@donotdev/ui/routing/hooks";import{useNavigate as vs}from"@donotdev/ui/routing/hooks";import{getDndevConfig as Nt,isClient as se,isDev as nn}from"@donotdev/core";var M=class{static getBrowserSupport(){if(!se())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(!se())return!1;let o=this.getAssetManifest();return o?this.extractStringValues(o).includes(e):!1}static getAssetManifest(){return se()&&Nt()?.assets?.mapping||null}static getLogoSvgContent(){return Nt()?.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(!se())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 r=o.favicon.set,a={svg:r.svg||"/favicon.svg",ico:r.ico||"/favicon.ico",png16:r.png16||"/logo.png",png32:r.png32||"/logo.png",apple180:r.apple180||"/logo.png",android192:r.android192||"/logo.png",android512:r.android512||"/logo.png"};return this.cache.set(e,a),a}let n={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":"/logo.png",png32:this.assetExists("/favicon-32x32.png")?"/favicon-32x32.png":"/logo.png",apple180:this.assetExists("/apple-touch-icon.png")?"/apple-touch-icon.png":"/logo.png",android192:this.assetExists("/icon-192x192.png")?"/icon-192x192.png":"/logo.png",android512:this.assetExists("/icon-512x512.png")?"/icon-512x512.png":"/logo.png"};return this.cache.set(e,n),n}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(),nn()&&se()}static getDebugInfo(){return{browserSupport:this.getBrowserSupport(),detectedAssets:se()?Nt()?.assets?.mapping:null,assetManifest:this.getAssetManifest(),cache:Object.fromEntries(this.cache)}}};Me(M,"cache",new Map);function yg(t){return M.resolveLogo(t)}function vg(){return M.resolveFaviconSet()}nn()&&(M.clearCache(),se()&&window.addEventListener("DOMContentLoaded",()=>{M.clearCache()}));Ce();import{useMemo as Wi}from"react";function Je(){let t=k("status"),e=k("isAvailable"),o=k("user");return Wi(()=>({shouldHide:t!=="ready"||!e,isLoading:t==="initializing",isReady:t==="ready"&&e,isAuthenticated:!!o}),[t,e,o])}import{DEGRADED_BILLING_API as Ki}from"@donotdev/core";import*as Yi from"@donotdev/billing";var Dt=Yi?.useStripeBilling;function qi(t){return Ki[t]}function At(t,e){return Dt?Dt(t,e):qi(t)}var wg=typeof Dt=="function";Ce();function Pg(){let t=k("user"),e=k("status"),o={user:t,status:e},n=At("status",o),r=At("isAvailable",o);return{shouldHide:!r,isLoading:n==="initializing",isReady:r&&n==="ready"}}import{DEGRADED_CRUD_API as Zi}from"@donotdev/core";import*as Ji from"@donotdev/crud";var Pt=Ji?.useCrud;function Qi(){return Zi}function Rg(t,e={}){return Pt?Pt(t,e):Qi()}var Lg=typeof Pt=="function";import{DEGRADED_OAUTH_API as Xi}from"@donotdev/core";import*as ji from"@donotdev/oauth";var It=ji?.useOAuth;function es(t){return Xi[t]}function Mg(t){return It?It(t):es(t)}var zg=typeof It=="function";import{Fragment as Ss,jsx as X,jsxs as ks}from"react/jsx-runtime";var sn=()=>null,bs=an(async()=>{try{return{default:(await import("@donotdev/auth")).ReauthDialog}}catch{return{default:sn}}}),xs=an(async()=>{try{return{default:(await import("@donotdev/auth")).ConfirmDeleteDialog}}catch{return{default:sn}}}),Ft=null;hs()&&import("@donotdev/auth").then(t=>{Ft=t.useDeleteAccount}).catch(()=>{});function Cs(){let[t]=Qe.useState(!1),[e]=Qe.useState(!1),[o]=Qe.useState(!1),[n]=Qe.useState(null);return{showConfirmDialog:t,showPasswordDialog:e,isDeleting:o,error:n,startDeleteFlow:()=>{},confirmDelete:async()=>{},cancel:()=>{}}}function Ts(){return Ft?Ft():Cs()}var Xe=t=>{if(!t)return De;if(typeof t=="function")return t;let e=t.replace(/['"]/g,"");return as[e]||De},Rt=({loginPath:t,display:e=ms.AUTO,"no-tooltip":o=!1,customItems:n=[]})=>{let{t:r}=us("dndev"),{shouldHide:a,isReady:i,isAuthenticated:c}=Je(),l=fs(),s=k("user"),d=k("signOut"),p=ys("isDesktop"),m=K(),g=vs(),f=l.profilePath,u=l.authMenuItems||[],h=Ts(),y=()=>s&&(s.displayName||s.email?.split("@")[0])||"User",v=()=>y().split(" ").map(b=>b.charAt(0)).slice(0,2).join("").toUpperCase(),A=()=>{if(!s)return r("auth.userMenu",{defaultValue:"User menu"});let S=[y()];return s.email&&S.push(s.email),L&&L!=="guest"&&S.push(`Role: ${L}`),S.join(`
|
|
4
|
+
`)},V=is(()=>{let S=[];return!p&&s&&S.push({children:X(ds,{variant:"muted",as:"span",children:`${y()}${s.email?`
|
|
5
|
+
${s.email}`:""}`}),disabled:!0}),f&&S.push({label:r("auth.profile",{defaultValue:"Profile"}),icon:ts,onClick:()=>g(f)}),u.forEach(b=>{let F=m.find(B=>B.path===b.path),E=b.label||F?.label||b.path.split("/").pop()||"Menu",C=b.icon?Xe(b.icon):F?.icon&&(typeof F.icon=="string"||typeof F.icon=="function")?Xe(F.icon):De;S.push({label:E,icon:C,onClick:()=>g(b.path)})}),n.forEach(b=>{if(b.path){let F=m.find(B=>B.path===b.path),E=b.label||F?.label||b.path.split("/").pop()||"Menu",C=b.icon?Xe(b.icon):De;S.push({label:E,icon:C,onClick:()=>g(b.path),disabled:b.disabled,style:b.style})}else if(b.onClick){let F=b.icon?Xe(b.icon):De;S.push({label:b.label,icon:F,onClick:b.onClick,disabled:b.disabled,style:b.style})}}),S.push({label:r("auth.deleteAccount.label",{defaultValue:"Delete Account"}),icon:rs,onClick:h.startDeleteFlow,variant:"destructive"}),S.push({label:r("auth.signOut",{defaultValue:"Sign Out"}),icon:os,onClick:()=>d(),variant:"destructive"}),S},[f,u,n,d,h,r,m,p,s,y,g]);if(gs().length===0||a||!i)return null;let L=s?.role;return c?ks(Ss,{children:[X(rn,{fallback:null,children:X(bs,{open:h.showPasswordDialog,isLoading:h.isDeleting,error:h.error,onReauth:S=>h.confirmDelete(S),onCancel:h.cancel})}),X(rn,{fallback:null,children:X(xs,{open:h.showConfirmDialog,isLoading:h.isDeleting,error:h.error,onConfirm:()=>h.confirmDelete(),onCancel:h.cancel})}),X(ps,{trigger:X(ls,{variant:cs.OUTLINE,icon:s?X(ss,{src:s.photoURL??void 0,fallback:v(),alt:y(),style:{margin:"-4px 0"}}):ns,display:e,"aria-label":r("auth.userMenu",{defaultValue:"User menu"}),tooltip:!o&&p&&s?A():o?void 0:r("auth.userMenu",{defaultValue:"User menu"}),children:y()}),items:V,contentAlign:"end"})]}):null};import{jsx as $}from"react/jsx-runtime";var pn=()=>null,Is=cn(async()=>{try{return{default:(await import("@donotdev/auth")).AuthPartnerButton}}catch{return{default:pn}}}),Fs=cn(async()=>{try{return{default:(await import("@donotdev/auth")).MultipleAuthProviders}}catch{return{default:pn}}}),Mt=({display:t=Ns.AUTO})=>{let{t:e}=Ds("dndev"),{shouldHide:o,isLoading:n,isReady:r,isAuthenticated:a}=Je(),i=As(),c=Ps(),l=i.loginPath,s=e("auth.signIn",{defaultValue:"Sign In"}),d=e("auth.loading",{defaultValue:"Loading..."});if(o||!r)return null;if(!a){if(l!==void 0)return $(T,{path:l,prefetch:!0,children:$(Et,{variant:Bt.GHOST,icon:Lt,display:t,tooltip:s,children:s})});if(c.length>1)return $(ws,{trigger:$(Et,{variant:Bt.GHOST,icon:Lt,display:t,tooltip:s,children:s}),children:$(ln,{fallback:$("div",{style:{padding:"var(--gap-md)",fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:d}),children:$(Fs,{spacing:"tight"})})});let p=c[0];return $(ln,{fallback:$(Et,{variant:Bt.GHOST,icon:Lt,display:t,disabled:n,tooltip:n?d:s,children:n?d:s}),children:$(Is,{partnerId:p,display:t})})}return $(Rt,{display:t,loginPath:l})};import{RefreshCw as Rs}from"lucide-react";import"react";import{cn as Ls}from"@donotdev/components";import{jsx as dn,jsxs as Ms}from"react/jsx-runtime";var Es=({className:t})=>Ms("div",{className:Ls("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:[dn(Rs,{className:"dndev-size-touch",style:{color:"var(--primary)",animation:"spin 1s linear infinite"}}),dn("span",{className:"dndev-sr-only",children:"Loading..."})]}),Bs=Es;import{AlertCircle as zs,RefreshCw as Os,Mail as Us,Cookie as Vs}from"lucide-react";import{Card as Gs,Button as zt,BUTTON_VARIANT as Ot,Stack as mn}from"@donotdev/components";import{useTranslation as Hs}from"@donotdev/core";import{jsx as Ae,jsxs as je}from"react/jsx-runtime";function _s({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:s,className:d=""}){let{t:p}=Hs("ui"),m=o||p("featureDisabled.description","{featureName} is not available. This may be due to missing configuration or disabled features.",{featureName:t}),g=()=>{if(l)l();else{let u=new CustomEvent("openCookieConsent");window.dispatchEvent(u)}},f=()=>{window.location.href=`mailto:${i}?subject=${encodeURIComponent(`Feature Unavailable: ${t}`)}&body=${encodeURIComponent(`I'm experiencing an issue with ${t} not being available.`)}`};return je(Gs,{className:d,title:je(mn,{direction:"row",align:"center",gap:"tight",children:[Ae(zs,{className:"dndev-size-md",style:{color:"var(--destructive)"}}),e||t]}),subtitle:m,children:[" ",je("div",{style:{display:"grid",gap:"var(--gap-md)"},children:[(n||r||a||s)&&je(mn,{direction:"row",wrap:"wrap",gap:"tight",children:[n&&Ae(zt,{variant:Ot.OUTLINE,onClick:g,icon:Vs,children:p("featureDisabled.reviewCookies","Review Cookies")}),r&&Ae(zt,{variant:Ot.OUTLINE,onClick:f,icon:Us,children:p("featureDisabled.contactSupport","Contact Support")}),a&&Ae(zt,{variant:Ot.OUTLINE,onClick:c,icon:Os,children:p("featureDisabled.retry","Retry")}),s]}),Ae("p",{style:{fontSize:"var(--font-size-sm)",color:"var(--muted-foreground)"},children:p("featureDisabled.helpText","If you believe this is an error, please contact support or try refreshing the page.")})]})]})}var $s=_s;ne();import"react";import{cn as Ws}from"@donotdev/components";import{jsx as Y,jsxs as el}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||(s=>({initial:"Preparing...",loading:"Loading...",processing:"Processing your request...","almost-done":"Almost there...",complete:"Complete!"})[s]||"Loading...")(t),l={sm:{width:"0.75rem",height:"0.75rem"},md:{width:"1rem",height:"1rem"},lg:{width:"1.5rem",height:"1.5rem"}};return el("div",{className:Ws(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&&Y("div",{style:{...l[a],animation:"spin 1s linear infinite",borderRadius:"var(--radius-full)",border:"2px solid currentColor",borderTopColor:"transparent"},role:"status","aria-hidden":"true"}),Y("span",{style:{fontWeight:500},children:c})]})},Ks=({message:t="Loading...",...e})=>Y(q,{state:"loading",message:t,...e}),Ys=({message:t="Processing your request...",...e})=>Y(q,{state:"processing",message:t,...e}),qs=({message:t="Almost there...",...e})=>Y(q,{state:"almost-done",message:t,...e}),Zs=({message:t="Complete!",...e})=>Y(q,{state:"complete",message:t,...e}),Js=({showSpinner:t=!0,...e})=>Y(q,{state:"processing",message:"Saving your changes...",showSpinner:t,...e}),Qs=({showSpinner:t=!0,fileName:e,...o})=>Y(q,{state:"processing",message:e?`Uploading ${e}...`:"Uploading file...",showSpinner:t,...o}),Xs=({showSpinner:t=!0,query:e,...o})=>Y(q,{state:"processing",message:e?`Searching for "${e}"...`:"Searching...",showSpinner:t,...o}),js=({showSpinner:t=!0,...e})=>Y(q,{state:"loading",message:"Connecting to server...",showSpinner:t,...e}),et=q;import{cn as tl}from"@donotdev/components";import{Fragment as un,jsx as j,jsxs as gn}from"react/jsx-runtime";var ol=({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:s="var(--z-modal)"})=>{if(!t)return null;let d=s==="var(--z-modal)"||!s?"dndev-z-modal":s==="var(--z-toast)"?"dndev-z-toast":s==="var(--z-tooltip)"?"dndev-z-tooltip":s==="var(--z-overlay)"?"dndev-z-overlay":null;return j("div",{className:tl("dndev-loading-overlay",d,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",...d?{}:{zIndex:s}},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||gn(un,{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(et,{...a})]})})})};var nl=({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||gn(un,{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(et,{...r.message})]})})}),rl=ol;import"react";import{cn as al}from"@donotdev/components";import{jsx as fn}from"react/jsx-runtime";var il=({variant:t="fullPage",className:e,isLoading:o})=>o===!1?null:fn("div",{className:al(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:fn("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"})}),sl=il;import{useEffect as Ut,useState as hn}from"react";import{cn as ll}from"@donotdev/components";import{jsx as yn}from"react/jsx-runtime";var cl=({isActive:t=!1,progress:e,useFakeProgress:o=!0,duration:n=2e3,className:r,show:a=!0})=>{let[i,c]=hn(0),[l,s]=hn(!1);Ut(()=>{if(!t||!o||e!==void 0)return;s(!0),c(0);let p=Date.now(),m=setInterval(()=>{let g=Date.now()-p,f=Math.min(g/n*90,90);c(f)},16);return()=>{clearInterval(m)}},[t,o,e,n]),Ut(()=>{e!==void 0&&s(e>0&&e<100)},[e]),Ut(()=>{if(!t){let p=setTimeout(()=>{s(!1),c(0)},300);return()=>clearTimeout(p)}},[t]);let d=e??i;return!a||!l?null:yn("div",{className:ll(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(d),"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Page loading progress",children:yn("div",{style:{height:"100%",width:`${d}%`,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)"}})})},pl=cl;import{cn as tt,Stack as dl}from"@donotdev/components";import{jsx as Pe,jsxs as Gf}from"react/jsx-runtime";var ml=({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))"}},s=()=>{let d={};return e&&(d.width=typeof e=="number"?`${e}px`:e),o&&(d.height=typeof o=="number"?`${o}px`:o),d};return t==="text"?Pe(dl,{gap:"tight",children:Array.from({length:n}).map((d,p)=>Pe("div",{className:tt("dndev-skeleton",a),style:{...l,height:"var(--gap-md)",width:p===n-1?"75%":"100%",...s(),...c}},p))}):t==="circular"?Pe("div",{className:tt("dndev-skeleton",a),style:{...l,borderRadius:"var(--radius-full)",width:e||o||"40px",height:o||e||"40px",...s(),...c}}):t==="rectangular"?Pe("div",{className:tt("dndev-skeleton",a),style:{...l,width:e||"100%",height:o||"200px",...s(),...c}}):Pe("div",{className:tt("dndev-skeleton",a),style:{...l,borderRadius:"var(--radius-lg)",width:e||"100%",height:o||"20px",...s(),...c}})};var ul=ml;import{Card as gl,IconBox as fl,Stack as hl,List as yl,Text as Vt}from"@donotdev/components";import{Check as vl}from"lucide-react";import{jsx as O,jsxs as vn}from"react/jsx-runtime";var bl=({icon:t,title:e,subtitle:o,content:n,href:r,variant:a,elevated:i,onClick:c,className:l,footer:s,style:d,listDensity:p="default",listGap:m="none",showBullets:g=!1,...f})=>{let u=n?.map(E=>typeof E=="string"?E.replace(/^[\s•\-\*]+/,"").trim():E)||[],h=g?u.map(E=>typeof E=="string"?{icon:O(vl,{size:16}),content:E}:E):u,y=h&&h.length>0?h.length===1&&typeof h[0]=="string"?O("div",{className:"dndev-text-sm",children:h[0]}):O(yl,{items:h,density:p,gap:m,style:{listStyle:"none",paddingInlineStart:0}}):null,V=`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${s?" auto":""}`,H={display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",wordBreak:"break-word",lineHeight:"var(--line-height)"},L={...H,fontSize:"var(--font-size-lg)",fontWeight:600,color:"inherit",margin:0,textAlign:"start",flex:1,minWidth:0},S={...H,fontSize:"var(--font-size-base)",fontWeight:600,color:"inherit",margin:0},b=t?vn(hl,{direction:"row",align:"center",gap:"medium",style:{width:"100%"},children:[O(fl,{icon:t}),O(Vt,{as:"div",level:"h3",style:L,children:e})]}):O(Vt,{as:"div",level:"h3",style:L,children:e}),F=O(gl,{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",...d},...f,children:vn("div",{style:{display:"grid",gridTemplateRows:V,gap:"var(--gap-md)",width:"100%"},children:[O("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:b}),O("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start"},children:O(Vt,{as:"div",level:"body",style:S,children:o})}),O("div",{children:y}),s&&O("div",{children:s})]})});return r&&!c?O(T,{path:r,style:{display:"block",textDecoration:"none",height:"100%"},"aria-label":e?`Learn more about ${e}`:void 0,children:F}):F},xl=bl;import{useState as Fl}from"react";import{Bento as Rl,Card as Ll,Section as El,Stack as Bl,Text as Ml,cn as zl}from"@donotdev/components";var Cl='<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>',Tl='<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>',Sl='<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>',kl='<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>',wl='<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>',Nl='<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>',Dl='<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>',Al='<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>',Pl='<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>',Il='<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>',Gt={bun:{svg:`data:image/svg+xml,${encodeURIComponent(Il)}`,color:"#FBF0DF",name:"Bun"},typescript:{svg:`data:image/svg+xml,${encodeURIComponent(Cl)}`,color:"#3178C6",name:"TypeScript"},react:{svg:`data:image/svg+xml,${encodeURIComponent(Tl)}`,color:"#61DAFB",name:"React"},vite:{svg:`data:image/svg+xml,${encodeURIComponent(Sl)}`,color:"#BD34FE",name:"Vite"},nextjs:{svg:`data:image/svg+xml,${encodeURIComponent(kl)}`,color:"var(--foreground, #000000)",name:"Next.js"},nodejs:{svg:`data:image/svg+xml,${encodeURIComponent(wl)}`,color:"#339933",name:"Node.js"},firebase:{svg:`data:image/svg+xml,${encodeURIComponent(Nl)}`,color:"#DD2C00",name:"Firebase"},vercel:{svg:`data:image/svg+xml,${encodeURIComponent(Dl)}`,color:"var(--foreground, #000000)",name:"Vercel"},stripe:{svg:`data:image/svg+xml,${encodeURIComponent(Al)}`,color:"#635BFF",name:"Stripe"},valibot:{svg:`data:image/svg+xml,${encodeURIComponent(Pl)}`,color:"#FBBF24",name:"Valibot"}};import{jsx as ee,jsxs as Gl}from"react/jsx-runtime";function Ol({techKey:t,variant:e}){let o=Gt[t],[n,r]=Fl(!1);if(!o)return null;let a=o.svg.replace("data:image/svg+xml,",""),i=decodeURIComponent(a);return ee(Ll,{variant:e,className:"dndev-tech-card",style:{"--tech-color":o.color},"data-hover":n,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:Gl(Bl,{direction:"column",align:"center",gap:"tight",children:[ee("div",{className:"dndev-tech-card-logo","data-tech":t,dangerouslySetInnerHTML:{__html:i}}),ee(Ml,{as:"span",level:"small",children:o.name})]})})}function Ul({title:t,techs:e,columns:o,gap:n="medium",separator:r=!1,className:a}){let i=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}},c=e.filter(s=>Gt[s.name]).map(s=>({id:s.name,content:ee(Ol,{techKey:s.name,variant:s.variant}),span:i(s.size)})),l=ee(Rl,{items:c,columns:o,gap:n,className:a,ariaLabel:"Technology stack"});return t?ee(El,{title:t,separator:r,className:"dndev-tech-bento",children:ee("div",{className:"dndev-tech-bento-grid",children:l})}):ee("div",{className:zl("dndev-tech-bento",a),children:l})}var Vl=Ul;import{Suspense as Hl,lazy as _l}from"react";import{useConsent as bn}from"@donotdev/core";import{jsx as xn}from"react/jsx-runtime";var $l=_l(()=>Promise.resolve().then(()=>(yt(),ht)));function g2(){let t=bn("hasConsented"),e=bn("showBanner");return t&&!e?null:xn(Hl,{fallback:null,children:xn($l,{})})}import{Button as Wl,ScrollArea as Kl}from"@donotdev/components";import{cn as Cn}from"@donotdev/components";import{jsx as Ie,jsxs as Yl}from"react/jsx-runtime";function b2({content:t,cta:e,align:o="center",justify:n="center",disableScrollArea:r=!1,contentClassName:a,ctaClassName:i}){return Yl("div",{className:"dndev-game-container",children:[Ie("div",{className:Cn("dndev-game-container__content",a),"data-align":o,"data-justify":n,children:r?Ie("div",{style:{overflow:"auto",overscrollBehavior:"contain"},children:t}):Ie(Kl,{className:"dndev-game-container__scroll",children:t})}),e&&Ie("div",{className:Cn("dndev-game-container__cta",i),children:Ie(Wl,{onClick:e.onClick,disabled:e.disabled??!1,variant:e.variant??"default",className:"dndev-game-container__cta-button",children:e.label})})]})}import{useEffect as ql,useMemo as Zl,Suspense as Jl,lazy as Ql}from"react";import{jsx as Ht}from"react/jsx-runtime";var Tn=new Set;function S2({screenRegistry:t,currentScreen:e,nextScreen:o,fallback:n=null}){ql(()=>{if(o&&!Tn.has(o)){Tn.add(o);let a=t[o];a&&a().catch(()=>{})}},[o,t]);let r=Zl(()=>{if(!e)return null;let a=t[e];return a?Ql(a):null},[e,t]);return!e||!r?null:Ht("div",{style:{height:"100%"},children:Ht(Jl,{fallback:n,children:Ht(r,{})})})}import{cn as Xl,DISPLAY as _t}from"@donotdev/components";import{useAppConfig as Sn}from"@donotdev/core";import{jsx as ot,jsxs as tc}from"react/jsx-runtime";var jl=({display:t=_t.AUTO,linkToHome:e=!0,className:o})=>{let n=Sn("name"),a=Sn("shortName")||n||"App",i=M.getLogoSvgContent(),c=M.resolveLogo(),l=t===_t.FULL||t===_t.AUTO,s=i?ot("div",{className:"app-branding-logo",role:"img","aria-label":a,dangerouslySetInnerHTML:{__html:i}}):M.assetExists(c)?ot("img",{src:c,alt:a,className:"app-branding-logo"}):null,d=l&&ot("span",{className:"app-branding-title","data-display":t,children:a}),p=tc("div",{className:Xl("app-branding",o),"data-display":t,children:[s,d]});return e?ot(T,{path:"/",className:"app-branding-link",children:p}):p},ec=jl;import{cn as kn}from"@donotdev/components";import{useAppConfig as wn}from"@donotdev/core";import{jsx as Dn}from"react/jsx-runtime";var Nn={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"}},oc=({alt:t,size:e="header",className:o})=>{let n=t||wn("name")||wn("shortName")||"App",r=M.getLogoSvgContent(),a=M.resolveLogo(),i=typeof e=="string"&&e in Nn?Nn[e]:typeof e=="string"?{}:{width:e,height:e};return r?Dn("div",{className:kn("app-icon-header",o),style:{display:"inline-flex",...i},role:"img","aria-label":n,dangerouslySetInnerHTML:{__html:r}}):Dn("img",{src:a,alt:n,className:kn(o),style:{objectFit:"contain",...i}})},nc=oc;import{cn as An}from"@donotdev/components";import{useAppConfig as Pn,useBreakpoint as rc}from"@donotdev/core";import{jsx as In}from"react/jsx-runtime";var ac=({title:t,className:e,linkToHome:o=!0})=>{let n=rc("isMobileOrTablet"),r=Pn("name"),a=Pn("shortName"),i=t||n&&a||r||"App",c=In("div",{className:An("dndev-text-base",e),style:{fontSize:"var(--font-size-xl)",fontWeight:700,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},children:i});return o?In(T,{path:"/",className:An("dndev-inline-block",e),children:c}):c},ic=ac;import{ChevronRight as mc}from"lucide-react";import{useMemo as uc}from"react";import{cn as gc}from"@donotdev/components";import{useTranslation as fc}from"@donotdev/core";import{useLocation as hc}from"@donotdev/ui/routing/hooks";import{useMemo as Fn}from"react";import{useNavigationStore as $2,getRoutes as sc,getRouteManifest as W2}from"@donotdev/core";function lc(){return Fn(()=>{try{let t=sc();return!t||t.length===0?[]:cc(t)}catch{return[]}},[])}function Rn(){let t=lc();return Fn(()=>t.flatMap(e=>e.routes),[t])}function cc(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||dc(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 dc(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 Fe,jsxs as bc}from"react/jsx-runtime";var yc=({items:t,separator:e=mc,showHome:o=!0,homeHref:n="/",variant:r="default",className:a})=>{let{t:i}=fc("dndev"),c=hc(),l=Rn(),s=uc(()=>new Set(l.map(m=>m.path)),[l]),d=t||(()=>{let m=c.pathname.split("/").filter(Boolean),g=[],f="";return m.forEach(u=>{f+=`/${u}`;let h=u.split("-").map(v=>v.charAt(0).toUpperCase()+v.slice(1)).join(" "),y=s.has(f)?f:void 0;g.push({label:h,href:y})}),g})(),p=o?[{label:i("navigation.home","Home"),href:n},...d]:d;return r==="smart"&&c.pathname.split("/").filter(Boolean).length<2?null:Fe("nav",{role:"navigation","aria-label":"Breadcrumb navigation",className:gc("breadcrumbs",a),children:p.map((m,g)=>{let u=g===p.length-1||!m.href;return bc("span",{className:"breadcrumb-item",children:[g>0&&Fe(e,{className:"dndev-size-md separator"}),m.icon&&Fe(m.icon,{className:"dndev-size-md icon"}),m.href&&!u?Fe(T,{path:m.href,className:"breadcrumb-link",children:m.label}):Fe("span",{className:"breadcrumb-label",children:m.label})]},g)})})},vc=yc;import{useTranslation as xc,maybeTranslate as Ln,useLayout as $t,useAppConfig as Cc}from"@donotdev/core";import{jsx as he,jsxs as Sc}from"react/jsx-runtime";var Tc=({asLink:t=!1,className:e})=>{let o=Cc("app"),n=$t("gameTitle"),r=$t("gameSubtitle"),a=$t("gameNamespace"),{t:i}=xc(a||"dndev"),c=Ln(i,n??void 0),l=Ln(i,r??void 0),s=o?.name||"Game";if(c)return he("div",{className:e,children:Sc("div",{style:{textAlign:"center"},children:[he("h2",{style:{fontSize:"var(--font-size-lg)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c}),l&&he("p",{style:{color:"var(--muted-foreground)",fontSize:"var(--font-size-sm)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l})]})});let d=he("h2",{style:{fontSize:"var(--font-size-lg)",fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s});return t?he(T,{path:"/",className:e,style:{fontSize:"var(--font-size-2xl)",fontWeight:700,transition:"color var(--dur-fast) ease-out"},onMouseEnter:p=>p.currentTarget.style.color="var(--primary)",onMouseLeave:p=>p.currentTarget.style.color="var(--foreground)",children:s}):he("div",{className:e,children:d})};import{Trash2 as kc}from"lucide-react";import{useState as En}from"react";import{Button as wc,BUTTON_VARIANT as Nc,Checkbox as Dc,Stack as Wt,useToast as Ac}from"@donotdev/components";import{useTranslation as Pc}from"@donotdev/core";import{useRefresh as Ic}from"@donotdev/ui/routing/hooks";import{jsx as nt,jsxs as Bn}from"react/jsx-runtime";function Fc(){let{t}=Pc("dndev"),{toast:e}=Ac(),[o,n]=En(!1),r=Ic(),[a,i]=En({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 d=await indexedDB.databases();await Promise.all(d.map(async p=>{if(p.name){let m=indexedDB.deleteDatabase(p.name);await new Promise((g,f)=>{m.onsuccess=()=>g(void 0),m.onerror=()=>f(m.error)})}}))}l.push("IndexedDB")}catch{}if(a.webSQL&&"openDatabase"in window)try{let d=globalThis.openDatabase("","","","");d&&d.transaction&&d.transaction(p=>{p.executeSql('SELECT name FROM sqlite_master WHERE type="table"',[],(m,g)=>{for(let f=0;f<g.rows.length;f++){let u=g.rows.item(f).name;m.executeSql(`DROP TABLE IF EXISTS ${u}`)}})}),l.push("WebSQL")}catch{}if(a.applicationCache&&"caches"in window)try{let d=await caches.keys();await Promise.all(d.map(async p=>{try{await caches.delete(p)}catch{}})),l.push("Application Cache")}catch{}if(a.serviceWorker&&"serviceWorker"in navigator)try{let d=await navigator.serviceWorker.getRegistrations();await Promise.all(d.map(async p=>{try{await p.unregister()}catch{}})),l.push("Service Workers")}catch{}if(a.cookies)try{document.cookie.split(";").forEach(d=>{let p=d.indexOf("="),m=p>-1?d.substr(0,p):d;document.cookie=`${m.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`,document.cookie=`${m.trim()}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=${window.location.hostname}`,document.cookie=`${m.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 s=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",s),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 Bn(Wt,{gap:"medium",children:[nt(Wt,{gap:"medium",children:Object.entries(a).map(([l,s])=>Bn(Wt,{direction:"row",align:"center",gap:"tight",children:[nt(Dc,{id:l,checked:s,onCheckedChange:d=>i(p=>({...p,[l]:!!d}))}),nt("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))}),nt(wc,{variant:Nc.DESTRUCTIVE,style:{margin:"0 auto"},disabled:o||!Object.values(a).some(Boolean),onClick:c,icon:kc,children:o?t("settings.clearCache.clearing","Clearing..."):t("settings.clearCache.button","Clear Cache")})]})}var Kt=Fc;import{DropdownMenu as Bc,Button as Yt,Stack as zn}from"@donotdev/components";import{Link as Rc}from"lucide-react";import"react";import{navigationMenuTriggerStylePrimitive as Lc}from"@donotdev/components";ne();import{jsx as Mn,jsxs as Ec}from"react/jsx-runtime";var ye=({route:t,showIcons:e=!0})=>{let o=e&&!!t.icon,n=!!t.label;return Ec(T,{path:t.path,className:Lc(),...o&&!n&&{"data-display":"compact"},children:[e&&Mn(R,{icon:t.icon,fallback:Rc}),Mn("span",{children:t.label})]})};import{jsx as G}from"react/jsx-runtime";var Mc=({navigation:t,className:e})=>G(zn,{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(Bc,{trigger:G(Yt,{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(ye,{route:r})}):G(T,{path:r.path,style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)",width:"100%"},children:G(ye,{route:r})}):G(zn,{direction:"row",align:"center",style:{gap:"var(--gap-sm)",width:"100%"},children:G(ye,{route:r})});return{label:r.label,children:a,asChild:!!r.path}}),contentAlign:"start"},o.label+n):o.path?G(Yt,{icon:o.icon,"aria-label":o.label,render:({children:r,...a})=>G(T,{path:o.path,...a,children:r}),children:o.label},o.label+n):G(Yt,{icon:o.icon,disabled:!0,"aria-label":o.label,children:o.label},o.label+n))}),zc=Mc;import"react";import{Card as Oc,cn as Uc}from"@donotdev/components";import{jsx as qt}from"react/jsx-runtime";var Vc=({languages:t,currentLanguage:e,onLanguageChange:o,className:n})=>qt(Oc,{className:Uc("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:qt("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=>qt("option",{value:r,children:r},r))})}),Gc=Vc;import{MoreHorizontal as Hc}from"lucide-react";import{Button as _c,BUTTON_VARIANT as $c,DropdownMenu as Wc}from"@donotdev/components";import{jsx as On}from"react/jsx-runtime";var Kc=({children:t,className:e})=>On(Wc,{trigger:On(_c,{variant:$c.GHOST,icon:Hc,"aria-label":"Menu",className:e}),contentAlign:"end",children:t}),Yc=Kc;import{MoreHorizontal as qc}from"lucide-react";import{DISPLAY as Re,DropdownMenu as Zc,Button as Jc}from"@donotdev/components";import{cn as Qc}from"@donotdev/components";import{useBreakpoint as Un,useTranslation as Xc}from"@donotdev/core";ge();import{jsx as rt}from"react/jsx-runtime";var jc=({className:t="",showIcons:e=!0,display:o=Re.AUTO})=>{let{t:n}=Xc("dndev"),r=Un("isMobile"),a=Un("isTablet"),i=K();return(o===Re.AUTO?r||a?Re.COMPACT:Re.FULL:o)===Re.COMPACT?rt(Zc,{trigger:rt(Jc,{variant:"ghost",icon:qc,"aria-label":n("navigation.menu","Navigation"),className:t}),contentAlign:"end",items:i.map(l=>({label:l.label,children:rt(ye,{route:l,showIcons:e}),asChild:!0}))}):rt(tn,{overflowDetection:!0,showIcons:e,className:Qc(t),style:{flex:1}})},ep=jc;import{Bell as tp}from"lucide-react";import{useMemo as op,useEffect as np,useRef as rp}from"react";import{Button as ap,cn as ip,toast as sp,Stack as lp}from"@donotdev/components";import{jsx as Zt}from"react/jsx-runtime";var cp={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:s="md",disabled:d=!1})=>{let p=cp[s],m=rp(new Set),g=op(()=>e===0?null:e>99?"99+":e.toString(),[e]),f=e>0||l;return np(()=>{t.forEach(u=>{if(!m.current.has(u.id)){m.current.add(u.id);let h=u.type==="error"?"error":u.type==="warning"?"warning":u.type==="success"?"success":"info";sp({title:u.title,description:u.message,toastType:h,duration:0,onDismiss:()=>{m.current.delete(u.id),n&&n(u)}})}})},[t,n]),f?Zt("div",{className:ip(i),style:{position:"relative"},children:Zt(ap,{disabled:d,style:{...p.button,position:"relative"},onFocus:u=>{u.currentTarget.style.outline="2px solid var(--ring)",u.currentTarget.style.outlineOffset="2px"},onBlur:u=>{u.currentTarget.style.outline="none"},"aria-label":`${e} notification${e!==1?"s":""}`,icon:tp,children:g&&Zt(lp,{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,...p.badge},"aria-hidden":"true",children:g})})}):null},dp=pp;import{Settings as mp,Check as up}from"lucide-react";import*as at from"lucide-react";import"react";import{Button as gp,BUTTON_VARIANT as fp,DropdownMenu as hp,Stack as yp,DISPLAY as vp}from"@donotdev/components";import{useTranslation as bp}from"@donotdev/core";import{useLanguageSelector as xp,useTheme as Jt,Flag as Cp}from"@donotdev/core";import{jsx as te,jsxs as kp}from"react/jsx-runtime";function Tp({variant:t=fp.OUTLINE}={}){let{t:e}=bp("dndev"),{languages:o,currentLanguage:n,changeLanguage:r,isLoading:a}=xp(),i=Jt("availableThemes"),c=Jt("currentTheme"),l=Jt("setTheme"),s=g=>{if(!g)return at.Palette;let f=g.replace(/['"]/g,"");return at[f]||at.Palette},d=i.map(g=>{let f=s(g.meta?.icon),u=g.name===c;return{label:g.displayName||g.name,icon:f,onClick:()=>l(g.name),checked:u}}),p=o.map(g=>{let f=g.id===n;return{label:g.name,onClick:()=>r(g.id),disabled:a,checked:f,className:f?"bg-accent":void 0,iconEnd:f&&!a?up:void 0,children:kp(yp,{direction:"row",align:"center",gap:"tight",children:[te(Cp,{code:g.id,title:`${g.name} flag`}),te("span",{children:g.name}),a&&f&&te("div",{style:{marginInlineStart:"auto"},children:te("div",{style:{width:"0.5rem",height:"0.5rem",borderRadius:"50%",backgroundColor:"var(--primary)"}})})]})}}),m=[{label:e("auth.title","Authentication"),subContent:te(Mt,{display:vp.COMPACT})},{label:e("settings.theme","Theme"),subItems:d},{label:e("settings.language","Language"),subItems:p},{label:e("settings.clearCache.title","Clear Cache"),subContent:te(Kt,{})}];return te(hp,{trigger:te(gp,{variant:t,"aria-label":e("settings.title","Settings"),icon:mp}),items:m,contentWidth:"14rem",contentAlign:"end"})}var Sp=Tp;import*as it from"lucide-react";import"react";import{Button as Vn,BUTTON_VARIANT as wp,DropdownMenu as Np,DISPLAY as Dp}from"@donotdev/components";import{useTranslation as Ap}from"@donotdev/core";import{useTheme as Qt}from"@donotdev/core";import{jsx as jt}from"react/jsx-runtime";var Xt=t=>{if(!t)return it.Palette;let e=t.replace(/['"]/g,"");return it[e]||it.Palette},Pp=({display:t=Dp.AUTO,"no-tooltip":e=!1})=>{let{t:o}=Ap("dndev"),n=Qt("availableThemes"),r=Qt("currentTheme"),a=Qt("setTheme");if(n.length<=1)return null;let i=n.find(y=>y.name===r),c=n.length===2?n.find(y=>y.name!==r)||n[0]:null,l=i?Xt(i.meta?.icon):null,s=c?Xt(c.meta?.icon):null,d=i?.displayName||i?.name||"Theme",p=c?.displayName||c?.name||"Theme",m=n.length===2&&c&&s,g=m?s:l,f=m?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"),u={variant:wp.OUTLINE,"aria-label":o("common.themeSelector.changeTheme","Change Theme"),tooltip:f,icon:g,display:t};if(m&&c)return jt(Vn,{...u,onClick:()=>a(c.name),children:p});if(!i||!l)return null;let h=n.map(y=>{let v=Xt(y.meta?.icon),A=y.name===r;return{label:y.displayName||y.name,icon:v,onClick:()=>a(y.name),checked:A}});return jt(Np,{trigger:jt(Vn,{...u,children:d}),items:h,contentWidth:"10rem"})},Ip=Pp;import{useEffect as Rp}from"react";import{checkLicense as Lp}from"@donotdev/core";var Fp='<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>',Gn=`data:image/svg+xml,${encodeURIComponent(Fp)}`;import{jsx as eo,jsxs as Hn}from"react/jsx-runtime";function A3(){let t=Lp();return Rp(()=>{t.isValid},[t.isValid]),t.isValid?null:Hn("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:[eo("img",{src:Gn,alt:"DoNotDev Logo",style:{width:"48px",height:"48px",flexShrink:0}}),Hn("div",{style:{display:"flex",flexDirection:"column",gap:"2px"},children:[eo("div",{style:{fontFamily:"system-ui, sans-serif",fontSize:"13px",fontWeight:"600",color:"#27494a",lineHeight:"1.2"},children:"DoNotDev"}),eo("div",{style:{fontFamily:"system-ui, sans-serif",fontSize:"11px",fontWeight:"500",color:"#f23d29",lineHeight:"1.2"},children:"Get License"})]})]})}import"react";import{Stack as nm}from"@donotdev/components";import{Mail as Ep,Calendar as Bp,Clock as Mp}from"lucide-react";import{useState as zp}from"react";import{Skeleton as _n,Badge as Op,BADGE_VARIANT as Up,Text as st,cn as $n,CopyToClipboard as Wn,Stack as Le}from"@donotdev/components";import{getWeekFromISOString as Vp}from"@donotdev/core";import{jsx as U,jsxs as ve}from"react/jsx-runtime";var Gp=({config:t,value:e,t:o,className:n,loading:r=!1,showCopy:a=!1,asBadge:i=!1,truncate:c=!1,maxLength:l=50,showLabel:s=!1})=>{let[d,p]=zp(!1),m=async()=>{try{await navigator.clipboard.writeText(e),p(!0),setTimeout(()=>p(!1),2e3)}catch{}},g=()=>{switch(t.type){case"email":return U(Ep,{});case"month":case"week":return U(Bp,{});case"time":return U(Mp,{});default:return null}},f=v=>{if(!v)return null;switch(t.type){case"email":return ve("a",{href:`mailto:${v}`,style:{display:"flex",alignItems:"center",gap:"var(--gap-sm)"},onMouseEnter:A=>A.currentTarget.style.textDecoration="underline",onMouseLeave:A=>A.currentTarget.style.textDecoration="none",children:[g(),v]});case"month":return new Date(v).toLocaleDateString("en-US",{year:"numeric",month:"long"});case"week":return Vp(v);case"time":return new Date(`2000-01-01T${v}`).toLocaleTimeString();default:return v}},u=v=>!c||v.length<=l?v:`${v.substring(0,l)}...`;if(r)return ve(Le,{gap:"tight",children:[s&&U(_n,{style:{height:"1rem",width:"6rem"}}),U(_n,{className:"dndev-w-full",style:{height:"1.5rem"}})]});if(!e)return ve(Le,{gap:"tight",children:[s&&U(st,{as:"span",variant:"muted",children:t.label||t.name}),U(st,{as:"span",variant:"muted",className:$n(n),style:{fontStyle:"italic"},children:o("common.noValue",{defaultValue:"No value"})})]});let h=f(e),y=u(String(h));return i?ve(Le,{direction:"row",align:"center",gap:"tight",children:[g(),U(Op,{variant:Up.SECONDARY,className:n,children:y}),a&&U(Wn,{text:e,tooltipText:o("copyToClipboard")||"Copy to clipboard",copiedTooltipText:o("copied")||"Copied!",ariaLabel:o("copyToClipboard")||"Copy to clipboard"})]}):ve(Le,{gap:"tight",children:[s&&U(st,{as:"span",variant:"muted",children:t.label||t.name}),ve(Le,{direction:"row",align:"center",gap:"tight",children:[U("div",{className:$n("dndev-flex-1",c&&"truncate",n),title:c&&e.length>l?e:void 0,children:U(st,{as:"span",children:y})}),a&&U(Wn,{text:e,tooltipText:o("copyToClipboard")||"Copy to clipboard",copiedTooltipText:o("copied")||"Copied!",ariaLabel:o("copyToClipboard")||"Copy to clipboard"})]})]})},lt=Gp;import{Badge as Hp,Text as _p}from"@donotdev/components";import{jsx as Kn}from"react/jsx-runtime";var $p=({config:t,value:e,t:o,className:n})=>{if(e==null)return Kn(_p,{as:"span",variant:"muted",className:n,children:"-"});let r=typeof e=="boolean"?o(e?"common.yes":"common.no"):String(e);return Kn(Hp,{variant:typeof e=="boolean"?e?"default":"secondary":"outline",className:n,children:r})},to=$p;import{Avatar as Wp,Text as Kp}from"@donotdev/components";import{jsx as Yn}from"react/jsx-runtime";var Yp=({config:t,value:e,t:o,className:n,size:r="md"})=>{if(!e)return Yn(Kp,{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 Yn(Wp,{src:e,alt:t.label||"Avatar",fallback:i(t.label||"AV"),className:`${a[r]} ${n||""}`})},oo=Yp;import"react";import{Text as qp}from"@donotdev/components";import{Link as Zp}from"@donotdev/ui";import{jsx as qn}from"react/jsx-runtime";var Jp=({config:t,value:e,t:o,className:n})=>{if(!e)return qn(qp,{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 qn(Zp,{...a,className:n||"",style:{color:"var(--primary)"},onMouseEnter:i=>i.currentTarget.style.textDecoration="underline",onMouseLeave:i=>i.currentTarget.style.textDecoration="none",children:e})},no=Jp;import"react";import{Text as Ee}from"@donotdev/components";import{Skeleton as Qp}from"@donotdev/ui";import{jsx as be,jsxs as jp}from"react/jsx-runtime";var Xp=({config:t,value:e,t:o,className:n,loading:r=!1})=>{if(r)return be(Qp,{className:n});if(!e)return be(Ee,{as:"span",variant:"muted",className:n,children:"-"});try{let a=new Date(e),i=a.toLocaleDateString(),c=a.toLocaleTimeString();return t.type==="date"?be(Ee,{as:"span",className:n,children:i}):jp("div",{className:n,children:[be(Ee,{as:"span",children:i}),be(Ee,{as:"span",variant:"muted",level:"small",children:c})]})}catch{return be(Ee,{as:"span",variant:"muted",className:n,children:"-"})}},ro=Xp;import"react";import{Text as Zn}from"@donotdev/components";import{Skeleton as ed}from"@donotdev/ui";import{jsx as ao}from"react/jsx-runtime";var td=({config:t,value:e,t:o,className:n,loading:r=!1})=>r?ao(ed,{className:n}):e==null?ao(Zn,{as:"span",variant:"muted",className:n,children:"-"}):ao(Zn,{as:"span",className:`font-mono ${n||""}`,children:e.toLocaleString()}),io=td;import"react";import{Text as od}from"@donotdev/components";import{Link as nd}from"@donotdev/ui";import{jsx as Jn}from"react/jsx-runtime";var rd=({config:t,value:e,t:o,className:n})=>e?Jn(nd,{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}):Jn(od,{as:"span",variant:"muted",className:n,children:"-"}),so=rd;import"react";import{Text as Qn}from"@donotdev/components";import{jsx as Xn}from"react/jsx-runtime";var ad=({config:t,value:e,t:o,className:n})=>e?Xn(Qn,{as:"div",level:"small",className:`whitespace-pre-wrap ${n||""}`,children:e}):Xn(Qn,{as:"span",variant:"muted",className:n,children:"-"}),lo=ad;import{Badge as id,Text as sd}from"@donotdev/components";import{jsx as jn}from"react/jsx-runtime";var ld=({config:t,value:e,t:o,className:n})=>{if(e==null)return jn(sd,{as:"span",variant:"muted",className:n,children:"-"});let r=o(e?"common.yes":"common.no");return jn(id,{variant:e?"default":"secondary",className:n,children:r})},co=ld;import{Badge as cd,BADGE_VARIANT as pd,Text as dd}from"@donotdev/components";import{jsx as er}from"react/jsx-runtime";var md=({config:t,value:e,t:o,className:n})=>e?er(cd,{variant:pd.OUTLINE,className:n,children:e}):er(dd,{as:"span",variant:"muted",className:n,children:"-"}),po=md;import"react";import{Badge as ud,BADGE_VARIANT as gd,Text as fd,Stack as hd}from"@donotdev/components";import{jsx as mo}from"react/jsx-runtime";var yd=({config:t,value:e,t:o,className:n})=>!e||!Array.isArray(e)||e.length===0?mo(fd,{as:"span",variant:"muted",className:n,children:"-"}):mo(hd,{direction:"row",wrap:"wrap",gap:"medium",className:n,children:e.map((r,a)=>mo(ud,{variant:gd.OUTLINE,children:String(r)},a))}),uo=yd;import"react";import{Badge as vd,BADGE_VARIANT as bd,Text as xd,Stack as Cd}from"@donotdev/components";import{jsx as go}from"react/jsx-runtime";var Td=({config:t,value:e,t:o,className:n})=>!e||!Array.isArray(e)||e.length===0?go(xd,{as:"span",variant:"muted",className:n,children:"-"}):go(Cd,{direction:"row",wrap:"wrap",gap:"medium",className:n,children:e.map((r,a)=>go(vd,{variant:bd.OUTLINE,children:String(r)},a))}),fo=Td;import"react";import{Badge as Sd,BADGE_VARIANT as kd,Text as wd}from"@donotdev/components";import{jsx as tr}from"react/jsx-runtime";var Nd=({config:t,value:e,t:o,className:n})=>e?tr(Sd,{variant:kd.OUTLINE,className:n,children:e}):tr(wd,{as:"span",variant:"muted",className:n,children:"-"}),ho=Nd;import"react";import{Text as or}from"@donotdev/components";import{jsx as nr}from"react/jsx-runtime";var Dd=({config:t,value:e,t:o,className:n})=>e==null?nr(or,{as:"span",variant:"muted",className:n,children:"-"}):nr(or,{as:"span",className:`font-mono ${n||""}`,children:e}),Ad=Dd;import{Badge as Pd,BADGE_VARIANT as Id,Text as rr,Stack as Fd}from"@donotdev/components";import{jsx as ar,jsxs as ir}from"react/jsx-runtime";var Rd=({config:t,value:e,t:o,className:n})=>e?ir(Fd,{direction:"row",align:"center",gap:"medium",className:n,children:[ar(rr,{as:"span",level:"small",children:e.name}),e.size&&ir(Pd,{variant:Id.SECONDARY,children:[(e.size/1024).toFixed(1)," KB"]})]}):ar(rr,{as:"span",variant:"muted",className:n,children:"-"}),yo=Rd;import"react";import{Avatar as Ld,Text as Ed}from"@donotdev/components";import{jsx as sr}from"react/jsx-runtime";var Bd=({config:t,value:e,t:o,className:n,size:r="md"})=>{if(!e)return sr(Ed,{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 sr(Ld,{src:e,alt:t.label||"Image",fallback:i(t.label||"IMG"),className:`${a[r]} ${n||""}`})},vo=Bd;import"react";import{Text as lr}from"@donotdev/components";import{jsx as zd,jsxs as Od}from"react/jsx-runtime";var Md=({config:t,value:e,t:o,className:n})=>!e||e.lat===void 0&&e.lng===void 0?zd(lr,{as:"span",variant:"muted",className:n,children:"-"}):Od(lr,{as:"div",level:"small",className:`font-mono ${n||""}`,children:[e.lat?.toFixed(6),", ",e.lng?.toFixed(6)]}),bo=Md;import"react";import{Text as cr}from"@donotdev/components";import{jsx as Vd,jsxs as Gd}from"react/jsx-runtime";var Ud=({config:t,value:e,t:o,className:n})=>!e||e.lat===void 0&&e.lng===void 0?Vd(cr,{as:"span",variant:"muted",className:n,children:"-"}):Gd(cr,{as:"div",level:"small",className:`font-mono ${n||""}`,children:[e.lat?.toFixed(6),", ",e.lng?.toFixed(6)]}),xo=Ud;import"react";import{Badge as Hd,BADGE_VARIANT as _d,Text as $d}from"@donotdev/components";import{jsx as pr}from"react/jsx-runtime";var Wd=({config:t,value:e,t:o,className:n})=>{if(!e)return pr($d,{as:"span",variant:"muted",className:n,children:"-"});let r=e.displayName||e.name||e.id||e;return pr(Hd,{variant:_d.OUTLINE,className:n,children:String(r)})},Co=Wd;import"react";import{Text as ct}from"@donotdev/components";import{jsx as pt,jsxs as Yd}from"react/jsx-runtime";var Kd=({config:t,value:e,t:o,className:n})=>{if(!e)return pt(ct,{as:"span",variant:"muted",className:n,children:"-"});try{let r=new Date(e),a=r.toLocaleDateString(),i=r.toLocaleTimeString();return Yd("div",{className:n,children:[pt(ct,{as:"span",children:a}),pt(ct,{as:"span",variant:"muted",level:"small",children:i})]})}catch{return pt(ct,{as:"span",variant:"muted",className:n,children:"-"})}},To=Kd;import"react";var qd=()=>null,So=qd;var Zd=()=>null,ko=Zd;import{Eye as Jd,EyeOff as Qd}from"lucide-react";import"react";import{useState as Xd}from"react";import{Skeleton as jd,Button as em,CopyToClipboard as tm,Stack as dr}from"@donotdev/components";import{jsx as le,jsxs as mr}from"react/jsx-runtime";var om=({config:t,value:e,t:o,className:n,loading:r=!1})=>{let[a,i]=Xd(!1);return r?le(jd,{className:n}):e?mr(dr,{direction:"row",align:"center",gap:"medium",className:n,children:[le("span",{style:{fontFamily:"monospace"},children:a?e:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"}),mr(dr,{direction:"row",align:"center",gap:"tight",children:[le(em,{type:"button",onClick:()=>i(!a),"aria-label":a?"Hide password":"Show password",children:a?le(Qd,{}):le(Jd,{})}),le(tm,{text:e,tooltipText:o("copyToClipboard")||"Copy to clipboard",copiedTooltipText:o("copied")||"Copied!",ariaLabel:o("copyPassword")||"Copy password"})]})]}):le("div",{style:{color:"var(--muted-foreground)"},children:"-"})},ur=om;import{Fragment as gr,jsx as x,jsxs as rm}from"react/jsx-runtime";function wo({name:t,config:e,t:o,value:n,className:r}){let a=()=>{switch(e.type){case"password":return x(ur,{config:e,value:n,t:o,className:r,loading:!1});case"text":case"email":case"month":case"week":case"time":return x(lt,{config:e,value:n,t:o,className:r});case"avatar":return x(oo,{config:e,value:n,t:o,className:r});case"badge":return x(to,{config:e,value:n,t:o,className:r});case"boolean":case"checkbox":return x(co,{config:e,value:n,t:o,className:r});case"array":return x(fo,{config:e,value:n,t:o,className:r});case"multiselect":return x(uo,{config:e,value:n,t:o,className:r});case"image":return x(vo,{config:e,value:n,t:o,className:r});case"url":return x(no,{config:e,value:n,t:o,className:r});case"tel":return x(so,{config:e,value:n,t:o,className:r});case"color":return n&&typeof n=="string"?rm(nm,{direction:"row",align:"center",gap:"tight",children:[x("div",{style:{backgroundColor:n,width:"1.5rem",height:"1.5rem"},"aria-label":`Color: ${n}`}),x("span",{style:{fontFamily:"monospace"},children:n})]}):x("span",{style:{color:"var(--muted-foreground)"},children:"-"});case"number":case"range":return x(io,{config:e,value:n,t:o,className:r});case"date":case"datetime-local":return x(ro,{config:e,value:n,t:o,className:r});case"timestamp":return x(To,{config:e,value:n,t:o,className:r});case"reference":return x(Co,{config:e,value:n,t:o,className:r});case"file":return x(yo,{config:e,value:n,t:o,className:r});case"geopoint":return x(bo,{config:e,value:n,t:o,className:r});case"map":return x(xo,{config:e,value:n,t:o,className:r});case"textarea":return x(lo,{config:e,value:n,t:o,className:r});case"select":return x(po,{config:e,value:n,t:o,className:r});case"radio":return x(ho,{config:e,value:n,t:o,className:r});case"hidden":return x(So,{config:e,value:n,t:o,className:r});case"submit":case"reset":return x(ko,{config:e,value:n,t:o,className:r});default:return x(lt,{config:e,value:n,t:o,className:r})}};if(e.hidden)return x(gr,{});let i=a();return i?x("div",{className:r,children:i}):x(gr,{})}import{Stack as fr}from"@donotdev/components";import{useTranslation as am}from"@donotdev/core";import{jsx as Be,jsxs as sm}from"react/jsx-runtime";function im({entity:t,data:e,t:o,className:n="",loading:r=!1}){let{t:a}=am("dndev"),i=o||a,c=Object.entries(t);return r?Be(fr,{gap:"medium",className:n,children:c.map(([l])=>sm("div",{className:"dndev-animate-pulse",children:[Be("div",{style:{marginBottom:"var(--gap-sm)",height:"1rem",width:"25%"}}),Be("div",{style:{height:"2rem",backgroundColor:"var(--muted)"}})]},l))}):Be(fr,{gap:"medium",className:n,children:c.map(([l,s])=>Be(wo,{name:l,config:s,value:e[l],t:i},l))})}import{createContext as yr,useId as lm,use as hr}from"react";import{Controller as cm,FormProvider as pm,useFormContext as dm}from"react-hook-form";import{Label as mm,Slot as um,cn as gm,Stack as fm}from"@donotdev/components";import{jsx as oe}from"react/jsx-runtime";var jh=pm,vr=yr({}),ey=({...t})=>oe(vr.Provider,{value:{name:t.name},children:oe(cm,{...t})}),br=yr({}),ty=({className:t,...e})=>{let o=lm();return oe(br.Provider,{value:{id:o},children:oe(fm,{gap:"medium",className:t,...e})})},dt=()=>{let t=hr(vr);if(!t||!t.name)return null;let e=hr(br);if(!e)return null;let{getFieldState:o,formState:n}=dm(),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}},oy=({className:t,...e})=>{let o=dt();if(!o)return null;let{error:n,formItemId:r}=o;return oe(mm,{className:gm(n&&"text-destructive",t),htmlFor:r,...e})},ny=({...t})=>{let e=dt();if(!e)return null;let{error:o,formItemId:n,formDescriptionId:r,formMessageId:a}=e;return oe(um,{id:n,"aria-describedby":o?`${r} ${a}`:`${r}`,"aria-invalid":!!o,...t})},ry=({className:t,...e})=>{let o=dt();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})},ay=({className:t,children:e,...o})=>{let n=dt();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 hm={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"},ym={zHeader:"dndev-z-header",zSidebar:"dndev-z-sidebar",zOverlay:"dndev-z-overlay",zModal:"dndev-z-modal",zTooltip:"dndev-z-tooltip",zToast:"dndev-z-toast"},uy={...hm,...ym},gy={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"},fy={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{ec as AppBranding,nc as AppIcon,Bs as AppLoading,ic as AppTitle,M as AssetResolver,ra as AuthGuard,Vu as AuthGuardFallback,Mt as AuthHeader,Rt as AuthMenu,oo as AvatarFieldDisplay,to as BadgeFieldDisplay,vc as Breadcrumbs,ko as ButtonFieldDisplay,Kt as CacheSettings,co as CheckboxFieldDisplay,g2 as ConsentBanner,ro as DateFieldDisplay,wo as DisplayFieldRenderer,tn as DnDevNavigationMenu,po as DropdownDisplay,zc as DropdownNavigation,im as EntityDisplayRenderer,xl as FeatureCard,$s as FeatureDisabled,yo as FileFieldDisplay,Gc as FloatingLanguageSwitcher,jh as Form,ny as FormControl,ry as FormDescription,ey as FormField,ty as FormItem,oy as FormLabel,ay as FormMessage,b2 as GameContainer,S2 as GameFlow,Tc as GameTitle,bo as GeoPointFieldDisplay,Ku as GoTo,Di as GoToInput,bi as GoToWrapper,Yc as HeaderMenu,ep as HeaderNavigation,So as HiddenFieldDisplay,wr as Icon,vo as ImageFieldDisplay,A3 as LicenseWatermark,T as Link,no as LinkFieldDisplay,Oe as Loader,nl as LoadingContainerOverlay,et as LoadingMessage,qs as LoadingMessageAlmostDone,Zs as LoadingMessageComplete,js as LoadingMessageConnecting,Ys as LoadingMessageProcessing,Js as LoadingMessageSaving,Xs as LoadingMessageSearching,Ks as LoadingMessageSimple,Qs as LoadingMessageUploading,rl as LoadingOverlay,sl as LoadingScreen,xo as MapFieldDisplay,uo as MultiDropdownDisplay,fo as MultiInputTextFieldDisplay,on as NotFoundPage,dp as Notifications,io as NumberFieldDisplay,me as PageContainer,so as PhoneNumberDisplay,pl as ProgressBar,ho as RadioFieldDisplay,Ad as RangeFieldDisplay,Co as ReferenceFieldDisplay,Sp as SettingsMenu,ul as Skeleton,Vl as TechBento,lo as TextAreaDisplay,lt as TextFieldDisplay,Ip as ThemeToggle,To as TimestampFieldDisplay,uy as allLayoutClasses,su as createAuthConfig,fy as cssVariables,Um as isAuthAvailable,wg as isBillingAvailable,Lg as isCrudAvailable,zg as isOAuthAvailable,hm as layoutClasses,ym as layoutUtilities,gy as layoutVariables,vg as resolveFaviconSet,yg as resolveLogo,Gt as techLogos,k as useAuthSafe,au as useAuthState,Je as useAuthVisibility,ag as useBack,Pg as useBillingVisibility,ou as useCanAccess,aa as useCanNavigate,Rg as useCrudSafe,dt as useFormField,$o as useGoTo,ru as useHasRole,lg as useLocation,dg as useMatch,rg as useNavigate,K as useNavigationItems,Mg as useOAuthSafe,cg as useParams,sg as usePrefetch,mg as useQueryParams,ug as useRedirectGuard,ig as useRefresh,pg as useSearchParams,At as useStripeBillingSafe,nu as useUserRole,iu as withAuth};
|