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