@viglet/viglet-design-system 2026.2.55 → 2026.2.57

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/index.es.js CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as e, $t as t, A as n, At as r, B as i, Bt as a, C as o, Ct as s, D as c, Dt as l, E as u, Et as d, F as ee, Ft as te, G as ne, Gt as re, H as ie, Ht as ae, I as oe, It as se, J as ce, Jt as le, K as ue, Kt as de, L as fe, Lt as pe, M as me, Mt as he, N as ge, Nt as _e, O as ve, Ot as ye, P as be, Pt as xe, Q as Se, Qt as Ce, R as we, Rt as Te, S as Ee, St as De, T as Oe, Tt as ke, U as Ae, Ut as je, V as Me, Vt as Ne, W as Pe, Wt as Fe, X as Ie, Xt as Le, Y as Re, Yt as ze, Z as Be, Zt as Ve, _ as He, _t as Ue, a as We, an as Ge, at as Ke, b as qe, bt as Je, c as f, ct as Ye, d as Xe, dt as p, en as Ze, et as Qe, f as $e, ft as et, g as tt, gt as nt, h as rt, ht as it, i as at, in as m, it as ot, j as st, jt as ct, k as lt, kt as ut, l as dt, lt as ft, m as pt, mt, n as ht, nn as gt, nt as _t, o as vt, on as yt, ot as bt, p as xt, pt as h, q as St, qt as Ct, r as wt, rn as g, rt as Tt, s as Et, sn as Dt, st as _, t as Ot, tn as kt, tt as At, u as jt, ut as Mt, v as Nt, vt as v, w as Pt, wt as Ft, x as It, xt as Lt, y as Rt, yt as zt, z as Bt, zt as Vt } from "./breadcrumb.context-C20vyfmC.js";
1
+ import { $ as e, $t as t, A as n, At as r, B as i, Bt as a, C as o, Ct as s, D as c, Dt as l, E as u, Et as d, F as ee, Ft as te, G as ne, Gt as re, H as ie, Ht as ae, I as oe, It as se, J as ce, Jt as le, K as ue, Kt as de, L as fe, Lt as pe, M as me, Mt as he, N as ge, Nt as _e, O as ve, Ot as ye, P as be, Pt as xe, Q as Se, Qt as Ce, R as we, Rt as Te, S as Ee, St as De, T as Oe, Tt as ke, U as Ae, Ut as je, V as Me, Vt as Ne, W as Pe, Wt as Fe, X as Ie, Xt as Le, Y as Re, Yt as ze, Z as Be, Zt as Ve, _ as He, _t as Ue, a as We, an as Ge, at as Ke, b as qe, bt as Je, c as f, ct as Ye, d as Xe, dt as p, en as Ze, et as Qe, f as $e, ft as et, g as tt, gt as nt, h as rt, ht as it, i as at, in as m, it as ot, j as st, jt as ct, k as lt, kt as ut, l as dt, lt as ft, m as pt, mt, n as ht, nn as gt, nt as _t, o as vt, on as yt, ot as bt, p as xt, pt as h, q as St, qt as Ct, r as wt, rn as g, rt as Tt, s as Et, sn as Dt, st as _, t as Ot, tn as kt, tt as At, u as jt, ut as Mt, v as Nt, vt as v, w as Pt, wt as Ft, x as It, xt as Lt, y as Rt, yt as zt, z as Bt, zt as Vt } from "./breadcrumb.context-CCiYXxir.js";
2
2
  import { FloatingFormulasBg as y } from "./floating-formulas-bg.es.js";
3
- import { i as Ht, n as Ut, r as Wt } from "./i18n-DFQANHU9.js";
3
+ import { i as Ht, n as Ut, r as Wt } from "./i18n-C94rDRaM.js";
4
4
  import * as b from "@radix-ui/react-accordion";
5
5
  import * as x from "react";
6
6
  import S, { createContext as C, useCallback as Gt, useContext as w, useEffect as T, useMemo as Kt, useRef as qt, useState as Jt } from "react";
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./breadcrumb.context-sGIkawm9.cjs`);let n=require(`react`);n=e.t(n,1);let r=require(`react/jsx-runtime`),i=require(`@tabler/icons-react`),a=require(`react-i18next`),o=require(`react-router-dom`),s=require(`@tanstack/react-table`),c=require(`@iconify/react`);function l({className:e,variant:n,size:i,to:a,onClick:s,children:c}){return(0,r.jsx)(o.NavLink,{to:a,"data-slot":`gradient-button`,className:t.in(t.ct({variant:n,size:i,className:e})),onClick:e=>{let t=typeof a==`string`?a:a.pathname;t&&globalThis.location.pathname===t&&globalThis.location.reload(),s&&s(e)},children:c})}var u=({icon:e,title:t,description:n,urlNew:i,buttonText:a})=>(0,r.jsx)(`div`,{className:`flex items-center justify-center px-6 py-16`,children:(0,r.jsx)(`div`,{className:`relative w-full max-w-md overflow-hidden rounded-2xl border border-border/50 bg-card/80 backdrop-blur-sm shadow-xl`,children:(0,r.jsxs)(`div`,{className:`relative flex flex-col items-center text-center px-8 py-12 space-y-6`,children:[(0,r.jsxs)(`div`,{className:`relative`,children:[(0,r.jsx)(`div`,{className:`absolute inset-0 rounded-2xl bg-gradient-to-br from-blue-500/20 to-indigo-500/20 blur-xl animate-pulse`}),(0,r.jsx)(`div`,{className:`relative inline-flex h-16 w-16 items-center justify-center rounded-2xl bg-gradient-to-br from-blue-600 to-indigo-600 shadow-lg shadow-blue-500/25 ring-4 ring-blue-500/10`,children:(0,r.jsx)(e,{className:`text-white`,size:30})})]}),(0,r.jsxs)(`div`,{className:`space-y-2`,children:[(0,r.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight`,children:t}),(0,r.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed max-w-xs mx-auto`,children:n})]}),i&&(0,r.jsx)(l,{size:`lg`,to:i,children:a})]})})}),d=({feature:e,name:s,onDelete:c,open:l,setOpen:u,trigger:d,blockedBy:f,title:p,description:m,confirmLabel:h})=>{let g=f&&f.length>0,_=(0,o.useNavigate)(),{t:v}=(0,a.useTranslation)(),[y,b]=(0,n.useState)(``),x=y===s;function S(e){u(e),e||b(``)}return(0,r.jsxs)(t.wt,{open:l,onOpenChange:S,children:[d!==null&&(0,r.jsx)(t.Nt,{asChild:!0,children:d??(0,r.jsx)(t.st,{variant:`ghost`,size:`icon-sm`,children:(0,r.jsx)(i.IconTrash,{className:`size-5!`})})}),(0,r.jsx)(t.Et,{className:`sm:max-w-md`,children:g?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.kt,{children:[(0,r.jsx)(`div`,{className:`mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-amber-500/10 ring-1 ring-amber-500/20 mb-2`,children:(0,r.jsx)(i.IconAlertTriangle,{className:`size-6 text-amber-500`})}),(0,r.jsx)(t.Mt,{className:`text-center`,children:v(`dialog.cannotDelete`,{feature:e})}),(0,r.jsx)(t.Dt,{className:`text-center`,children:v(`dialog.inUse`,{name:s})})]}),(0,r.jsxs)(`div`,{className:`space-y-3`,children:[(0,r.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:v(`dialog.dependingSites`,{feature:e})}),(0,r.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:f.map(e=>{let n=e.language?t.l(e.language):void 0;return(0,r.jsx)(t.u,{text:e.name,href:e.href,onClick:e=>{u(!1),e&&_(e)},prefix:n?(0,r.jsx)(`img`,{src:`https://flagcdn.com/w40/${n}.png`,alt:e.language,className:`w-4 h-3 object-cover rounded-sm`}):void 0},e.id)})}),(0,r.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:v(`dialog.removeDependencies`,{feature:e})})]}),(0,r.jsx)(t.Ot,{children:(0,r.jsx)(t.st,{onClick:()=>u(!1),variant:`outline`,className:`w-full`,children:v(`dialog.understood`)})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.kt,{children:[(0,r.jsx)(`div`,{className:`mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-red-500/10 ring-1 ring-red-500/20 mb-2`,children:(0,r.jsx)(i.IconTrash,{className:`size-6 text-red-500`})}),(0,r.jsx)(t.Mt,{className:`text-center`,children:p??v(`dialog.deleteFeature`,{feature:e})}),(0,r.jsx)(t.Dt,{className:`text-center`,children:m??v(`dialog.permanentDelete`,{name:s})})]}),(0,r.jsxs)(`div`,{className:`space-y-2`,children:[(0,r.jsxs)(`label`,{className:`text-sm text-muted-foreground`,children:[v(`dialog.typeToConfirm`),` `,(0,r.jsx)(`span`,{className:`font-mono font-semibold text-foreground bg-muted px-1.5 py-0.5 rounded`,children:s}),` `,v(`dialog.toConfirm`)]}),(0,r.jsx)(t.ot,{value:y,onChange:e=>b(e.target.value),placeholder:s,className:`font-mono text-sm`,autoFocus:!0})]}),(0,r.jsxs)(t.Ot,{className:`flex-col gap-2 sm:flex-col`,children:[(0,r.jsxs)(t.st,{onClick:c,variant:`destructive`,disabled:!x,className:`w-full`,children:[(0,r.jsx)(i.IconTrash,{className:`size-4`}),h??v(`dialog.deleteFeature`,{feature:e})]}),(0,r.jsx)(t.st,{onClick:()=>S(!1),variant:`ghost`,className:`w-full`,children:v(`common.cancel`)})]})]})})]})},f=()=>null;f.displayName=`GridListNewButton`;var p=()=>null;p.displayName=`GridListAction`;var m=()=>null;m.displayName=`GridListItemAction`;var h=[`from-blue-500 to-indigo-500`,`from-emerald-500 to-teal-500`,`from-violet-500 to-purple-500`,`from-amber-500 to-orange-500`,`from-rose-500 to-pink-500`,`from-cyan-500 to-sky-500`,`from-fuchsia-500 to-pink-500`,`from-lime-500 to-emerald-500`];function g(e){let t=0;for(let n=0;n<e.length;n++)t=(e.codePointAt(n)??0)+((t<<5)-t);return h[Math.abs(t)%h.length]}function _(e){return e.split(/[\s\-_]+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``)}var v=[{accessorKey:`name`,header:`Name`},{accessorKey:`description`,header:`Description`},{accessorKey:`url`,header:`URL`}],y=Object.assign(({gridItemList:e,children:l})=>{let{t:u}=(0,a.useTranslation)(),d=(0,o.useNavigate)(),f=[],p=[];n.default.Children.forEach(l,e=>{if(n.default.isValidElement(e)){if(e.type?.displayName===`GridListNewButton`){let{to:n,label:a}=e.props;f.push({key:`new-${a}`,render:()=>(0,r.jsxs)(t.pt,{onClick:()=>d(n),children:[(0,r.jsx)(i.IconPlus,{className:`size-4 mr-2`}),`New `,a]})})}else if(e.type?.displayName===`GridListAction`){let{children:t}=e.props;f.push({key:`action-${f.length}`,render:()=>(0,r.jsx)(r.Fragment,{children:t})})}else if(e.type?.displayName===`GridListItemAction`){let t=e.props;p.push({key:`item-action-${p.length}`,icon:t.icon,label:t.label,onClick:t.onClick,position:t.position??`right`})}}});let m=p.length>0,h=p.filter(e=>e.position===`left`),y=p.filter(e=>e.position===`right`),[b,x]=(0,n.useState)({pageIndex:0,pageSize:12}),[S,C]=n.default.useState([]),[w,T]=(0,n.useState)(``),E=(0,s.useReactTable)({data:e,columns:v,onSortingChange:C,getCoreRowModel:(0,s.getCoreRowModel)(),getPaginationRowModel:(0,s.getPaginationRowModel)(),getSortedRowModel:(0,s.getSortedRowModel)(),getFilteredRowModel:(0,s.getFilteredRowModel)(),state:{globalFilter:w,pagination:b,sorting:S},onGlobalFilterChange:T,getColumnCanGlobalFilter:e=>e.id===`name`||e.id===`description`,onPaginationChange:x}),D=E.getRowModel().rows;return(0,r.jsxs)(`div`,{className:`px-6`,children:[(0,r.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,r.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,r.jsx)(i.IconSearch,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,r.jsx)(t.ot,{placeholder:u(`forms.common.search`),value:w??``,onChange:e=>T(e.target.value),className:`pl-9`})]}),(0,r.jsxs)(`span`,{className:`text-sm text-muted-foreground whitespace-nowrap`,children:[E.getFilteredRowModel().rows.length,` `,E.getFilteredRowModel().rows.length===1?u(`forms.common.item`):u(`forms.common.items`)]}),f.length>0&&(0,r.jsx)(`div`,{className:`ml-auto`,children:(0,r.jsxs)(t.lt,{children:[(0,r.jsx)(t.Ct,{asChild:!0,children:(0,r.jsxs)(t.st,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,r.jsx)(i.IconDotsVertical,{className:`size-4`}),(0,r.jsx)(`span`,{className:`hidden sm:inline`,children:u(`forms.common.actions`)})]})}),(0,r.jsx)(t.dt,{align:`end`,children:f.map(e=>(0,r.jsx)(n.default.Fragment,{children:e.render()},e.key))})]})})]}),D.length>0?(0,r.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4`,children:D.map(e=>{let n=e.getValue(`name`),a=e.getValue(`description`),s=e.getValue(`url`),l=e.original.icon??void 0,d=g(n),f=_(n),p=(0,r.jsxs)(t.Pt,{className:`relative overflow-hidden p-0 h-full transition-all duration-200 hover:shadow-lg hover:shadow-blue-500/10 hover:-translate-y-0.5 border-border/60 hover:border-blue-500/30 dark:hover:border-blue-400/30`,children:[(0,r.jsx)(`div`,{className:`h-1.5 bg-linear-to-r ${d} opacity-70 group-hover:opacity-100 transition-opacity`}),(0,r.jsxs)(`div`,{className:`p-4 flex items-start gap-3`,children:[m&&h.length>0&&(0,r.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:h.map(t=>(0,r.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),className:`inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-blue-600 hover:bg-blue-500/10 dark:hover:text-blue-400 dark:hover:bg-blue-400/10 transition-colors cursor-pointer`,children:t.icon},t.key))}),(0,r.jsx)(`div`,{className:`shrink-0 w-10 h-10 rounded-lg bg-linear-to-br ${d} flex items-center justify-center text-white text-sm font-semibold shadow-sm`,children:l?(0,r.jsx)(c.Icon,{icon:l,className:`size-5`}):f}),(0,r.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,r.jsx)(`h3`,{className:`font-medium text-sm truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors`,children:n}),a?(0,r.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1 line-clamp-2 leading-relaxed`,children:a}):(0,r.jsx)(`p`,{className:`text-xs text-muted-foreground/50 mt-1 italic`,children:u(`forms.common.noDescription`)})]}),m?y.length>0&&(0,r.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:y.map(t=>(0,r.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),className:`inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-blue-600 hover:bg-blue-500/10 dark:hover:text-blue-400 dark:hover:bg-blue-400/10 transition-colors cursor-pointer`,children:t.icon},t.key))}):(0,r.jsx)(i.IconChevronRight,{className:`h-4 w-4 text-muted-foreground/40 group-hover:text-blue-500 transition-all group-hover:translate-x-0.5 mt-0.5 shrink-0`})]})]});return m?(0,r.jsx)(`div`,{className:`group`,children:p},e.id):(0,r.jsx)(o.NavLink,{to:s,className:`group`,children:p},e.id)})}):(0,r.jsx)(t.Pt,{className:`p-8`,children:(0,r.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,r.jsx)(i.IconSearch,{className:`h-8 w-8 mx-auto mb-2 opacity-40`}),(0,r.jsx)(`p`,{className:`text-sm`,children:u(`forms.common.noResults`)})]})}),E.getPageCount()>1&&(0,r.jsxs)(`div`,{className:`flex items-center justify-end space-x-2 mt-4`,children:[(0,r.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,r.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:u(`forms.common.perPage`)}),(0,r.jsxs)(t.X,{value:`${E.getState().pagination.pageSize}`,onValueChange:e=>E.setPageSize(Number(e)),children:[(0,r.jsx)(t.it,{className:`h-8 w-17.5`,children:(0,r.jsx)(t.at,{placeholder:E.getState().pagination.pageSize})}),(0,r.jsx)(t.Z,{side:`top`,children:[12,24,36,48].map(e=>(0,r.jsx)(t.$,{value:`${e}`,children:e},e))})]})]}),(0,r.jsx)(`div`,{className:`flex w-25 items-center justify-center text-sm font-medium`,children:u(`forms.common.pageOf`,{index:E.getState().pagination.pageIndex+1,count:E.getPageCount()})}),(0,r.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,r.jsx)(t.st,{variant:`outline`,size:`sm`,onClick:()=>E.previousPage(),disabled:!E.getCanPreviousPage(),className:`h-8 w-8 p-0`,children:(0,r.jsx)(`span`,{children:`<`})}),(0,r.jsx)(t.st,{variant:`outline`,size:`sm`,onClick:()=>E.nextPage(),disabled:!E.getCanNextPage(),className:`h-8 w-8 p-0`,children:(0,r.jsx)(`span`,{children:`>`})})]})]})]})},{NewButton:f,Action:p,ItemAction:m}),b=e=>(e??0).toLocaleString(),x=(e,n,i,a,s)=>e.map(e=>(0,r.jsxs)(t.T,{children:[(0,r.jsx)(t.w,{tooltip:e.title,isActive:i.startsWith((n??``)+e.url),asChild:!0,children:(0,r.jsxs)(o.NavLink,{to:(n??``)+e.url,onClick:s,children:[e.icon&&(0,r.jsx)(e.icon,{className:`size-5!`}),(0,r.jsx)(`span`,{children:e.title})]})}),!a&&e.children&&e.children.length>0&&(0,r.jsx)(t.x,{className:`ml-4`,children:x(e.children,n,i,a,s)})]},e.title)),S=({icon:e,feature:n,name:s,urlBase:c,isNew:l,data:u,onDelete:f,onExport:p,open:m,setOpen:h})=>{let{t:g}=(0,a.useTranslation)(),_=(0,o.useLocation)().pathname,{state:v,isMobile:y,setOpenMobile:S}=t.P(),C=v===`collapsed`,w=y?()=>S(!1):void 0;return(0,r.jsxs)(t.d,{collapsible:`icon`,variant:`inset`,position:`absolute`,children:[(0,r.jsx)(t.v,{className:`pb-3`,children:(0,r.jsx)(t.x,{children:(0,r.jsxs)(t.T,{className:`flex items-center`,children:[(0,r.jsx)(t.w,{asChild:!0,className:`data-[slot=sidebar-menu-button]:p-1.5!`,children:(0,r.jsxs)(o.NavLink,{to:c??`#`,className:`flex items-center gap-2.5`,children:[(0,r.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10`,children:(0,r.jsx)(e,{className:`size-5! text-blue-600 dark:text-blue-400`})}),!C&&(0,r.jsx)(`span`,{className:`text-sm font-semibold whitespace-nowrap truncate`,children:l?g(`sidebar.new`,{feature:n}):s})]})}),!C&&(0,r.jsxs)(`div`,{className:`flex items-center gap-1 mr-auto`,children:[!l&&p&&(0,r.jsx)(t.st,{variant:`ghost`,size:`icon-sm`,onClick:p,children:(0,r.jsx)(i.IconDownload,{className:`size-5!`})}),!l&&f&&h&&(0,r.jsx)(d,{feature:n,name:s,onDelete:f,open:m??!1,setOpen:h})]})]})})}),(0,r.jsxs)(t.f,{children:[u?.counts&&u.counts.length>0&&(0,r.jsxs)(t.m,{children:[(0,r.jsx)(t._,{children:g(`sidebar.indexing`)}),(0,r.jsx)(t.g,{className:`flex flex-col gap-2 pt-4`,children:(0,r.jsx)(t.x,{children:u.counts.map(e=>(0,r.jsxs)(t.T,{children:[(0,r.jsxs)(t.w,{tooltip:e.title+`: `+b(e.count),variant:`outline`,children:[e.icon&&(0,r.jsx)(e.icon,{className:`size-5!`}),(0,r.jsx)(`span`,{children:e.title})]}),!C&&(0,r.jsx)(t.C,{children:b(e.count)})]},e.title))})})]}),(0,r.jsxs)(t.m,{children:[(0,r.jsx)(t._,{children:n}),(0,r.jsx)(t.g,{className:`flex flex-col gap-2`,children:(0,r.jsx)(t.x,{children:u?.navMain&&x(l?u.navMain.filter(e=>e.url===`/detail`):u.navMain,c,_,C,w)})})]})]})]})},C=({checkIsNotUndefined:e,error:n,tryAgainUrl:o,children:s})=>{let{t:c}=(0,a.useTranslation)();return n?(0,r.jsx)(u,{icon:i.IconAlertTriangleFilled,title:c(`common.errorLoading`),description:n,buttonText:c(`common.tryAgain`),urlNew:o}):e===void 0&&!n?(0,r.jsxs)(`div`,{className:`space-y-6 py-8 px-6 animate-pulse`,children:[(0,r.jsx)(t.B,{className:`h-8 w-1/3 rounded-md`}),(0,r.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`,children:[`skeleton-1`,`skeleton-2`,`skeleton-3`].map(e=>(0,r.jsxs)(`div`,{className:`space-y-3 p-4 border rounded-xl bg-slate-50/50 dark:bg-slate-900/20`,children:[(0,r.jsx)(t.B,{className:`h-5 w-2/3`}),(0,r.jsx)(t.B,{className:`h-12 w-full`}),(0,r.jsx)(t.B,{className:`h-4 w-5/6`})]},e))}),(0,r.jsx)(`div`,{className:`pt-4`,children:(0,r.jsx)(t.B,{className:`h-10 w-32 rounded-lg`})})]}):(0,r.jsx)(r.Fragment,{children:s})};function w({groups:e}){let n=(0,o.useLocation)().pathname,{isMobile:i,setOpenMobile:a}=t.P();return(0,r.jsx)(r.Fragment,{children:e.map(e=>(0,r.jsxs)(t.m,{children:[e.label&&(0,r.jsx)(t._,{children:e.label}),(0,r.jsx)(t.g,{className:`flex flex-col gap-2`,children:(0,r.jsx)(t.x,{children:e.items.map(e=>(0,r.jsx)(t.T,{children:(0,r.jsx)(t.w,{tooltip:e.title,isActive:n.startsWith(e.url),asChild:!0,children:(0,r.jsxs)(o.NavLink,{to:e.url,onClick:()=>i&&a(!1),children:[e.icon&&(0,r.jsx)(e.icon,{className:`size-6!`}),(0,r.jsx)(`span`,{children:e.title})]})})},e.title))})})]},e.label??`_ungrouped`))})}function T({user:e,accountUrl:s,logoutUrl:c,onLogout:l}){let{t:u}=(0,a.useTranslation)(),{isMobile:d}=t.P(),f=()=>{l?l():c&&(globalThis.location.href=c)},p=n.default.useMemo(()=>{let t=e.firstName||``,n=e.lastName||``;if(!t&&!n)return` `;let r=`${t} ${n}`.trim().split(` `).filter(Boolean);return r.length===1?r[0].charAt(0).toUpperCase():r[0].charAt(0).toUpperCase()+(r.at(-1)?.charAt(0).toUpperCase()??``)},[e]),m=e?.avatarUrl||``;return(0,r.jsx)(t.x,{children:(0,r.jsx)(t.T,{children:(0,r.jsxs)(t.lt,{children:[(0,r.jsx)(t.Ct,{asChild:!0,children:(0,r.jsxs)(t.w,{size:`lg`,className:`data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground`,children:[(0,r.jsxs)(t.Xt,{className:`h-8 w-8 rounded-lg`,children:[m&&(0,r.jsx)(t.Qt,{src:m,alt:e.username}),(0,r.jsx)(t.Zt,{className:`rounded-lg`,children:p})]}),(0,r.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,r.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,r.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]}),(0,r.jsx)(i.IconDotsVertical,{className:`ml-auto size-4`})]})}),(0,r.jsxs)(t.dt,{className:`w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg`,side:d?`bottom`:`right`,align:`end`,sideOffset:4,children:[(0,r.jsx)(t.mt,{className:`p-0 font-normal`,children:(0,r.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1.5 text-left text-sm`,children:[(0,r.jsxs)(t.Xt,{className:`h-8 w-8 rounded-lg`,children:[m&&(0,r.jsx)(t.Qt,{src:m,alt:e.username}),(0,r.jsx)(t.Zt,{className:`rounded-lg`,children:p})]}),(0,r.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,r.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,r.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]})]})}),(0,r.jsx)(t.vt,{}),s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.ft,{children:(0,r.jsx)(o.NavLink,{to:s,className:`w-full`,children:(0,r.jsxs)(t.pt,{children:[(0,r.jsx)(i.IconUserCircle,{}),u(`nav.account`)]})})}),(0,r.jsx)(t.vt,{})]}),(0,r.jsxs)(t.pt,{onClick:f,className:`cursor-pointer`,children:[(0,r.jsx)(i.IconLogout,{}),(0,r.jsx)(`span`,{children:u(`nav.logOut`)})]})]})]})})})}var E=()=>(0,r.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,r.jsx)(`div`,{className:`@container/main flex flex-1 flex-col gap-2`,children:(0,r.jsx)(`div`,{className:`flex flex-col gap-2 px-1 py-1 md:gap-3 md:px-2 md:py-2`,children:(0,r.jsx)(o.Outlet,{})})})}),D=({icon:e,title:s,urlBase:c,children:l})=>{let{items:u}=t.n(),d=(0,o.useNavigate)(),{t:f}=(0,a.useTranslation)(),p=u.length>0?u[u.length-1]:null,m=u.length>1?u[u.length-2]:null;return(0,r.jsx)(`header`,{className:`flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)`,children:(0,r.jsxs)(`div`,{className:`flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6`,children:[(0,r.jsx)(t.N,{className:`-ml-1 hidden md:flex`}),(0,r.jsx)(t.Y,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4 hidden md:block`}),(0,r.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[e&&(0,r.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 mr-1`,children:(0,r.jsx)(e,{className:`size-4.5! text-blue-600 dark:text-blue-400`})}),c?(0,r.jsx)(t.Vt,{children:(0,r.jsx)(t.Gt,{children:u.map((e,i)=>(0,r.jsxs)(n.default.Fragment,{children:[i>0&&(0,r.jsx)(t.qt,{}),(0,r.jsx)(t.Ut,{children:e.href?(0,r.jsx)(t.Wt,{asChild:!0,children:(0,r.jsx)(o.NavLink,{to:e.href,children:e.label})}):(0,r.jsx)(t.Kt,{children:e.label})})]},e.label))})}):(0,r.jsx)(`h1`,{className:`text-base font-semibold`,children:s})]}),(0,r.jsxs)(`div`,{className:`flex md:hidden items-center gap-2 min-w-0 flex-1`,children:[m?.href&&(0,r.jsx)(`button`,{type:`button`,title:f(`common.goBack`),onClick:()=>d(m.href),className:`shrink-0 flex items-center justify-center size-8 rounded-lg hover:bg-muted transition-colors`,children:(0,r.jsx)(i.IconChevronLeft,{className:`size-4`})}),e&&(0,r.jsx)(`div`,{className:`flex shrink-0 h-7 w-7 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10`,children:(0,r.jsx)(e,{className:`size-3.5! text-blue-600 dark:text-blue-400`})}),(0,r.jsx)(`span`,{className:`text-sm font-semibold truncate`,children:p?.label??s})]}),(0,r.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[l&&(0,r.jsx)(`div`,{className:`hidden md:flex items-center`,children:l}),(0,r.jsx)(`div`,{className:`hidden md:block`,children:(0,r.jsx)(t.i,{})}),(0,r.jsx)(t.N,{className:`md:hidden`})]})]})})},O=({icon:e,title:t,urlBase:n})=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(D,{icon:e,title:t,urlBase:n}),(0,r.jsx)(E,{})]}),k=({icon:e,feature:n,description:i,urlBase:a})=>{let{isMobile:s,toggleSidebar:c}=t.P(),l=(0,r.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,r.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 ${s?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:s?c:void 0,onKeyDown:s?e=>{(e.key===`Enter`||e.key===` `)&&c()}:void 0,tabIndex:s?0:void 0,role:s?`button`:void 0,title:s?`Open navigation`:void 0,children:(0,r.jsx)(e,{className:`size-5! text-blue-600 dark:text-blue-400`})}),(0,r.jsxs)(`div`,{className:`min-w-0`,children:[(0,r.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground truncate`,children:n}),(0,r.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5 truncate`,children:i})]})]});return a&&!s?(0,r.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,r.jsx)(o.NavLink,{to:a,className:`group inline-flex max-w-full`,children:l})}):(0,r.jsx)(`div`,{className:`min-w-0 flex-1`,children:l})};k.displayName=`StickyPageHeaderTitle`;var A=()=>null;A.displayName=`StickyPageHeaderAction`;var j=({children:e,menuLabel:s})=>{let c=(0,o.useNavigate)(),{t:l}=(0,a.useTranslation)(),u=[],d=[];n.default.Children.forEach(e,e=>{n.default.isValidElement(e)&&e.type?.displayName===`StickyPageHeaderAction`?u.push(e.props):d.push(e)});let f=s??l(`common.actions`);return(0,r.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[d,u.length>0&&(0,r.jsxs)(t.lt,{children:[(0,r.jsx)(t.Ct,{asChild:!0,children:s?(0,r.jsxs)(t.st,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,r.jsx)(i.IconDotsVertical,{className:`size-4`}),(0,r.jsx)(`span`,{className:`hidden sm:inline`,children:s})]}):(0,r.jsx)(t.st,{variant:`ghost`,size:`icon-sm`,"aria-label":f,title:f,children:(0,r.jsx)(i.IconDotsVertical,{className:`size-5!`})})}),(0,r.jsx)(t.dt,{align:`end`,children:u.map(e=>{let n=e.icon??i.IconPlus;return(0,r.jsxs)(t.pt,{disabled:e.disabled,onClick:()=>{e.href&&c(e.href),e.onClick&&e.onClick()},children:[(0,r.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]})]})};j.displayName=`StickyPageHeaderActions`;var M=Object.assign(({children:e})=>(0,r.jsx)(`header`,{className:`sticky top-0 z-10 -mx-4 lg:-mx-6 mb-5 border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80`,children:(0,r.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6 py-3`,children:[(0,r.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,r.jsx)(t.N,{className:`-ml-1`}),(0,r.jsx)(t.Y,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),e]})}),{Title:k,Actions:j,Action:A}),N=e=>(0,r.jsx)(`div`,{className:`w-full px-1 md:px-6 lg:px-8 py-1 md:py-4 min-h-[calc(100svh-10.5rem)]`,children:(0,r.jsx)(`div`,{className:`flex min-h-full w-full md:rounded-xl md:border md:bg-sidebar md:shadow-sm`,children:(0,r.jsxs)(t.A,{defaultOpen:!0,className:`min-h-0!`,style:{"--sidebar-width":`calc(var(--spacing) * 72)`,"--header-height":`calc(var(--spacing) * 12)`,minHeight:0},children:[(0,r.jsx)(S,{...e}),(0,r.jsx)(t.b,{className:`md:mr-1.5 md:my-1.5 md:rounded-xl md:border bg-background md:shadow-sm`,children:(0,r.jsx)(`main`,{className:`flex flex-1 flex-col pt-2 md:pt-4 max-md:[&_.px-6]:px-2`,children:(0,r.jsx)(o.Outlet,{})})})]})})}),P=()=>null;P.displayName=`SubPageHeaderAction`;var F=Object.assign(({icon:e,feature:a,name:s,description:c,urlBase:l,onDelete:u,open:f,setOpen:p,children:m})=>{let{isMobile:h,toggleSidebar:g}=t.P(),_=(0,o.useNavigate)(),v=[];n.default.Children.forEach(m,e=>{n.default.isValidElement(e)&&e.type?.displayName===`SubPageHeaderAction`&&v.push(e.props)});let y=(0,r.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e&&(0,r.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 ${h?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:h?g:void 0,onKeyDown:h?e=>{(e.key===`Enter`||e.key===` `)&&g()}:void 0,tabIndex:h?0:void 0,title:h?`Open navigation`:void 0,children:(0,r.jsx)(e,{className:`size-5! text-blue-600 dark:text-blue-400`})}),(0,r.jsxs)(`div`,{className:`min-w-0`,children:[(0,r.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground`,children:a}),(0,r.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5`,children:c})]})]});return(0,r.jsxs)(`header`,{className:`mb-5`,children:[(0,r.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6`,children:[(0,r.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,r.jsx)(t.N,{className:`-ml-1`}),(0,r.jsx)(t.Y,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),(0,r.jsx)(`div`,{className:`min-w-0 flex-1`,children:l&&!h?(0,r.jsx)(o.NavLink,{to:l,className:`group inline-flex`,children:y}):y}),(0,r.jsxs)(`div`,{className:`flex items-center gap-2`,children:[v.length>0&&(0,r.jsxs)(t.lt,{children:[(0,r.jsx)(t.Ct,{asChild:!0,children:(0,r.jsxs)(t.st,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,r.jsx)(i.IconDotsVertical,{className:`size-4`}),(0,r.jsx)(`span`,{className:`hidden sm:inline`,children:`Actions`})]})}),(0,r.jsx)(t.dt,{align:`end`,children:v.map(e=>{let n=e.icon??i.IconPlus;return(0,r.jsxs)(t.pt,{disabled:e.disabled,onClick:()=>{e.href&&_(e.href),e.onClick&&e.onClick()},children:[(0,r.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]}),f!==void 0&&u!==void 0&&p!==void 0&&(0,r.jsx)(d,{feature:a,name:s,onDelete:u,open:f,setOpen:p})]})]}),(0,r.jsx)(t.Y,{className:`mt-3`})]})},{Action:P});exports.BlankSlate=u,exports.DialogDelete=d,exports.GradientButtonLink=l,exports.GridList=y,exports.InternalSidebar=S,exports.LoadProvider=C,exports.NavMain=w,exports.NavUser=T,exports.Page=O,exports.PageContent=E,exports.PageHeader=D,exports.StickyPageHeader=M,exports.SubPage=N,exports.SubPageHeader=F;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./chunk-CMqjfN_6.cjs"),t=require("./breadcrumb.context-BF0x4--Z.cjs");let n=require("react");n=e.t(n,1);let r=require("react/jsx-runtime"),i=require("@tabler/icons-react"),a=require("react-i18next"),o=require("react-router-dom"),s=require("@tanstack/react-table"),c=require("@iconify/react");function l({className:e,variant:n,size:i,to:a,onClick:s,children:c}){return(0,r.jsx)(o.NavLink,{to:a,"data-slot":`gradient-button`,className:t.in(t.ct({variant:n,size:i,className:e})),onClick:e=>{let t=typeof a==`string`?a:a.pathname;t&&globalThis.location.pathname===t&&globalThis.location.reload(),s&&s(e)},children:c})}var u=({icon:e,title:t,description:n,urlNew:i,buttonText:a})=>(0,r.jsx)(`div`,{className:`flex items-center justify-center px-6 py-16`,children:(0,r.jsx)(`div`,{className:`relative w-full max-w-md overflow-hidden rounded-2xl border border-border/50 bg-card/80 backdrop-blur-sm shadow-xl`,children:(0,r.jsxs)(`div`,{className:`relative flex flex-col items-center text-center px-8 py-12 space-y-6`,children:[(0,r.jsxs)(`div`,{className:`relative`,children:[(0,r.jsx)(`div`,{className:`absolute inset-0 rounded-2xl bg-gradient-to-br from-blue-500/20 to-indigo-500/20 blur-xl animate-pulse`}),(0,r.jsx)(`div`,{className:`relative inline-flex h-16 w-16 items-center justify-center rounded-2xl bg-gradient-to-br from-blue-600 to-indigo-600 shadow-lg shadow-blue-500/25 ring-4 ring-blue-500/10`,children:(0,r.jsx)(e,{className:`text-white`,size:30})})]}),(0,r.jsxs)(`div`,{className:`space-y-2`,children:[(0,r.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight`,children:t}),(0,r.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed max-w-xs mx-auto`,children:n})]}),i&&(0,r.jsx)(l,{size:`lg`,to:i,children:a})]})})}),d=({feature:e,name:s,onDelete:c,open:l,setOpen:u,trigger:d,blockedBy:f,title:p,description:m,confirmLabel:h})=>{let g=f&&f.length>0,_=(0,o.useNavigate)(),{t:v}=(0,a.useTranslation)(),[y,b]=(0,n.useState)(``),x=y===s;function S(e){u(e),e||b(``)}return(0,r.jsxs)(t.wt,{open:l,onOpenChange:S,children:[d!==null&&(0,r.jsx)(t.Nt,{asChild:!0,children:d??(0,r.jsx)(t.st,{variant:`ghost`,size:`icon-sm`,children:(0,r.jsx)(i.IconTrash,{className:`size-5!`})})}),(0,r.jsx)(t.Et,{className:`sm:max-w-md`,children:g?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.kt,{children:[(0,r.jsx)(`div`,{className:`mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-amber-500/10 ring-1 ring-amber-500/20 mb-2`,children:(0,r.jsx)(i.IconAlertTriangle,{className:`size-6 text-amber-500`})}),(0,r.jsx)(t.Mt,{className:`text-center`,children:v(`dialog.cannotDelete`,{feature:e})}),(0,r.jsx)(t.Dt,{className:`text-center`,children:v(`dialog.inUse`,{name:s})})]}),(0,r.jsxs)(`div`,{className:`space-y-3`,children:[(0,r.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:v(`dialog.dependingSites`,{feature:e})}),(0,r.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:f.map(e=>{let n=e.language?t.l(e.language):void 0;return(0,r.jsx)(t.u,{text:e.name,href:e.href,onClick:e=>{u(!1),e&&_(e)},prefix:n?(0,r.jsx)(`img`,{src:`https://flagcdn.com/w40/${n}.png`,alt:e.language,className:`w-4 h-3 object-cover rounded-sm`}):void 0},e.id)})}),(0,r.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:v(`dialog.removeDependencies`,{feature:e})})]}),(0,r.jsx)(t.Ot,{children:(0,r.jsx)(t.st,{onClick:()=>u(!1),variant:`outline`,className:`w-full`,children:v(`dialog.understood`)})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.kt,{children:[(0,r.jsx)(`div`,{className:`mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-red-500/10 ring-1 ring-red-500/20 mb-2`,children:(0,r.jsx)(i.IconTrash,{className:`size-6 text-red-500`})}),(0,r.jsx)(t.Mt,{className:`text-center`,children:p??v(`dialog.deleteFeature`,{feature:e})}),(0,r.jsx)(t.Dt,{className:`text-center`,children:m??v(`dialog.permanentDelete`,{name:s})})]}),(0,r.jsxs)(`div`,{className:`space-y-2`,children:[(0,r.jsxs)(`label`,{className:`text-sm text-muted-foreground`,children:[v(`dialog.typeToConfirm`),` `,(0,r.jsx)(`span`,{className:`font-mono font-semibold text-foreground bg-muted px-1.5 py-0.5 rounded`,children:s}),` `,v(`dialog.toConfirm`)]}),(0,r.jsx)(t.ot,{value:y,onChange:e=>b(e.target.value),placeholder:s,className:`font-mono text-sm`,autoFocus:!0})]}),(0,r.jsxs)(t.Ot,{className:`flex-col gap-2 sm:flex-col`,children:[(0,r.jsxs)(t.st,{onClick:c,variant:`destructive`,disabled:!x,className:`w-full`,children:[(0,r.jsx)(i.IconTrash,{className:`size-4`}),h??v(`dialog.deleteFeature`,{feature:e})]}),(0,r.jsx)(t.st,{onClick:()=>S(!1),variant:`ghost`,className:`w-full`,children:v(`common.cancel`)})]})]})})]})},f=()=>null;f.displayName=`GridListNewButton`;var p=()=>null;p.displayName=`GridListAction`;var m=()=>null;m.displayName=`GridListItemAction`;var h=[`from-blue-500 to-indigo-500`,`from-emerald-500 to-teal-500`,`from-violet-500 to-purple-500`,`from-amber-500 to-orange-500`,`from-rose-500 to-pink-500`,`from-cyan-500 to-sky-500`,`from-fuchsia-500 to-pink-500`,`from-lime-500 to-emerald-500`];function g(e){let t=0;for(let n=0;n<e.length;n++)t=(e.codePointAt(n)??0)+((t<<5)-t);return h[Math.abs(t)%h.length]}function _(e){return e.split(/[\s\-_]+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``)}var v=[{accessorKey:`name`,header:`Name`},{accessorKey:`description`,header:`Description`},{accessorKey:`url`,header:`URL`}],y=Object.assign(({gridItemList:e,children:l})=>{let{t:u}=(0,a.useTranslation)(),d=(0,o.useNavigate)(),f=[],p=[];n.default.Children.forEach(l,e=>{if(n.default.isValidElement(e)){if(e.type?.displayName===`GridListNewButton`){let{to:n,label:a}=e.props;f.push({key:`new-${a}`,render:()=>(0,r.jsxs)(t.pt,{onClick:()=>d(n),children:[(0,r.jsx)(i.IconPlus,{className:`size-4 mr-2`}),`New `,a]})})}else if(e.type?.displayName===`GridListAction`){let{children:t}=e.props;f.push({key:`action-${f.length}`,render:()=>(0,r.jsx)(r.Fragment,{children:t})})}else if(e.type?.displayName===`GridListItemAction`){let t=e.props;p.push({key:`item-action-${p.length}`,icon:t.icon,label:t.label,onClick:t.onClick,position:t.position??`right`})}}});let m=p.length>0,h=p.filter(e=>e.position===`left`),y=p.filter(e=>e.position===`right`),[b,x]=(0,n.useState)({pageIndex:0,pageSize:12}),[S,C]=n.default.useState([]),[w,T]=(0,n.useState)(``),E=(0,s.useReactTable)({data:e,columns:v,onSortingChange:C,getCoreRowModel:(0,s.getCoreRowModel)(),getPaginationRowModel:(0,s.getPaginationRowModel)(),getSortedRowModel:(0,s.getSortedRowModel)(),getFilteredRowModel:(0,s.getFilteredRowModel)(),state:{globalFilter:w,pagination:b,sorting:S},onGlobalFilterChange:T,getColumnCanGlobalFilter:e=>e.id===`name`||e.id===`description`,onPaginationChange:x}),D=E.getRowModel().rows;return(0,r.jsxs)(`div`,{className:`px-6`,children:[(0,r.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,r.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,r.jsx)(i.IconSearch,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,r.jsx)(t.ot,{placeholder:u(`forms.common.search`),value:w??``,onChange:e=>T(e.target.value),className:`pl-9`})]}),(0,r.jsxs)(`span`,{className:`text-sm text-muted-foreground whitespace-nowrap`,children:[E.getFilteredRowModel().rows.length,` `,E.getFilteredRowModel().rows.length===1?u(`forms.common.item`):u(`forms.common.items`)]}),f.length>0&&(0,r.jsx)(`div`,{className:`ml-auto`,children:(0,r.jsxs)(t.lt,{children:[(0,r.jsx)(t.Ct,{asChild:!0,children:(0,r.jsxs)(t.st,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,r.jsx)(i.IconDotsVertical,{className:`size-4`}),(0,r.jsx)(`span`,{className:`hidden sm:inline`,children:u(`forms.common.actions`)})]})}),(0,r.jsx)(t.dt,{align:`end`,children:f.map(e=>(0,r.jsx)(n.default.Fragment,{children:e.render()},e.key))})]})})]}),D.length>0?(0,r.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4`,children:D.map(e=>{let n=e.getValue(`name`),a=e.getValue(`description`),s=e.getValue(`url`),l=e.original.icon??void 0,d=g(n),f=_(n),p=(0,r.jsxs)(t.Pt,{className:`relative overflow-hidden p-0 h-full transition-all duration-200 hover:shadow-lg hover:shadow-blue-500/10 hover:-translate-y-0.5 border-border/60 hover:border-blue-500/30 dark:hover:border-blue-400/30`,children:[(0,r.jsx)(`div`,{className:`h-1.5 bg-linear-to-r ${d} opacity-70 group-hover:opacity-100 transition-opacity`}),(0,r.jsxs)(`div`,{className:`p-4 flex items-start gap-3`,children:[m&&h.length>0&&(0,r.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:h.map(t=>(0,r.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),className:`inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-blue-600 hover:bg-blue-500/10 dark:hover:text-blue-400 dark:hover:bg-blue-400/10 transition-colors cursor-pointer`,children:t.icon},t.key))}),(0,r.jsx)(`div`,{className:`shrink-0 w-10 h-10 rounded-lg bg-linear-to-br ${d} flex items-center justify-center text-white text-sm font-semibold shadow-sm`,children:l?(0,r.jsx)(c.Icon,{icon:l,className:`size-5`}):f}),(0,r.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,r.jsx)(`h3`,{className:`font-medium text-sm truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors`,children:n}),a?(0,r.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1 line-clamp-2 leading-relaxed`,children:a}):(0,r.jsx)(`p`,{className:`text-xs text-muted-foreground/50 mt-1 italic`,children:u(`forms.common.noDescription`)})]}),m?y.length>0&&(0,r.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:y.map(t=>(0,r.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),className:`inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-blue-600 hover:bg-blue-500/10 dark:hover:text-blue-400 dark:hover:bg-blue-400/10 transition-colors cursor-pointer`,children:t.icon},t.key))}):(0,r.jsx)(i.IconChevronRight,{className:`h-4 w-4 text-muted-foreground/40 group-hover:text-blue-500 transition-all group-hover:translate-x-0.5 mt-0.5 shrink-0`})]})]});return m?(0,r.jsx)(`div`,{className:`group`,children:p},e.id):(0,r.jsx)(o.NavLink,{to:s,className:`group`,children:p},e.id)})}):(0,r.jsx)(t.Pt,{className:`p-8`,children:(0,r.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,r.jsx)(i.IconSearch,{className:`h-8 w-8 mx-auto mb-2 opacity-40`}),(0,r.jsx)(`p`,{className:`text-sm`,children:u(`forms.common.noResults`)})]})}),E.getPageCount()>1&&(0,r.jsxs)(`div`,{className:`flex items-center justify-end space-x-2 mt-4`,children:[(0,r.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,r.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:u(`forms.common.perPage`)}),(0,r.jsxs)(t.X,{value:`${E.getState().pagination.pageSize}`,onValueChange:e=>E.setPageSize(Number(e)),children:[(0,r.jsx)(t.it,{className:`h-8 w-17.5`,children:(0,r.jsx)(t.at,{placeholder:E.getState().pagination.pageSize})}),(0,r.jsx)(t.Z,{side:`top`,children:[12,24,36,48].map(e=>(0,r.jsx)(t.$,{value:`${e}`,children:e},e))})]})]}),(0,r.jsx)(`div`,{className:`flex w-25 items-center justify-center text-sm font-medium`,children:u(`forms.common.pageOf`,{index:E.getState().pagination.pageIndex+1,count:E.getPageCount()})}),(0,r.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,r.jsx)(t.st,{variant:`outline`,size:`sm`,onClick:()=>E.previousPage(),disabled:!E.getCanPreviousPage(),className:`h-8 w-8 p-0`,children:(0,r.jsx)(`span`,{children:`<`})}),(0,r.jsx)(t.st,{variant:`outline`,size:`sm`,onClick:()=>E.nextPage(),disabled:!E.getCanNextPage(),className:`h-8 w-8 p-0`,children:(0,r.jsx)(`span`,{children:`>`})})]})]})]})},{NewButton:f,Action:p,ItemAction:m}),b=e=>(e??0).toLocaleString(),x=(e,n,i,a,s)=>e.map(e=>(0,r.jsxs)(t.T,{children:[(0,r.jsx)(t.w,{tooltip:e.title,isActive:i.startsWith((n??``)+e.url),asChild:!0,children:(0,r.jsxs)(o.NavLink,{to:(n??``)+e.url,onClick:s,children:[e.icon&&(0,r.jsx)(e.icon,{className:`size-5!`}),(0,r.jsx)(`span`,{children:e.title})]})}),!a&&e.children&&e.children.length>0&&(0,r.jsx)(t.x,{className:`ml-4`,children:x(e.children,n,i,a,s)})]},e.title)),S=({icon:e,feature:n,name:s,urlBase:c,isNew:l,data:u,onDelete:f,onExport:p,open:m,setOpen:h})=>{let{t:g}=(0,a.useTranslation)(),_=(0,o.useLocation)().pathname,{state:v,isMobile:y,setOpenMobile:S}=t.P(),C=v===`collapsed`,w=y?()=>S(!1):void 0;return(0,r.jsxs)(t.d,{collapsible:`icon`,variant:`inset`,position:`absolute`,children:[(0,r.jsx)(t.v,{className:`pb-3`,children:(0,r.jsx)(t.x,{children:(0,r.jsxs)(t.T,{className:`flex items-center`,children:[(0,r.jsx)(t.w,{asChild:!0,className:`data-[slot=sidebar-menu-button]:p-1.5!`,children:(0,r.jsxs)(o.NavLink,{to:c??`#`,className:`flex items-center gap-2.5`,children:[(0,r.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10`,children:(0,r.jsx)(e,{className:`size-5! text-blue-600 dark:text-blue-400`})}),!C&&(0,r.jsx)(`span`,{className:`text-sm font-semibold whitespace-nowrap truncate`,children:l?g(`sidebar.new`,{feature:n}):s})]})}),!C&&(0,r.jsxs)(`div`,{className:`flex items-center gap-1 mr-auto`,children:[!l&&p&&(0,r.jsx)(t.st,{variant:`ghost`,size:`icon-sm`,onClick:p,children:(0,r.jsx)(i.IconDownload,{className:`size-5!`})}),!l&&f&&h&&(0,r.jsx)(d,{feature:n,name:s,onDelete:f,open:m??!1,setOpen:h})]})]})})}),(0,r.jsxs)(t.f,{children:[u?.counts&&u.counts.length>0&&(0,r.jsxs)(t.m,{children:[(0,r.jsx)(t._,{children:g(`sidebar.indexing`)}),(0,r.jsx)(t.g,{className:`flex flex-col gap-2 pt-4`,children:(0,r.jsx)(t.x,{children:u.counts.map(e=>(0,r.jsxs)(t.T,{children:[(0,r.jsxs)(t.w,{tooltip:e.title+`: `+b(e.count),variant:`outline`,children:[e.icon&&(0,r.jsx)(e.icon,{className:`size-5!`}),(0,r.jsx)(`span`,{children:e.title})]}),!C&&(0,r.jsx)(t.C,{children:b(e.count)})]},e.title))})})]}),(0,r.jsxs)(t.m,{children:[(0,r.jsx)(t._,{children:n}),(0,r.jsx)(t.g,{className:`flex flex-col gap-2`,children:(0,r.jsx)(t.x,{children:u?.navMain&&x(l?u.navMain.filter(e=>e.url===`/detail`):u.navMain,c,_,C,w)})})]})]})]})},C=({checkIsNotUndefined:e,error:n,tryAgainUrl:o,children:s})=>{let{t:c}=(0,a.useTranslation)();return n?(0,r.jsx)(u,{icon:i.IconAlertTriangleFilled,title:c(`common.errorLoading`),description:n,buttonText:c(`common.tryAgain`),urlNew:o}):e===void 0&&!n?(0,r.jsxs)(`div`,{className:`space-y-6 py-8 px-6 animate-pulse`,children:[(0,r.jsx)(t.B,{className:`h-8 w-1/3 rounded-md`}),(0,r.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`,children:[`skeleton-1`,`skeleton-2`,`skeleton-3`].map(e=>(0,r.jsxs)(`div`,{className:`space-y-3 p-4 border rounded-xl bg-slate-50/50 dark:bg-slate-900/20`,children:[(0,r.jsx)(t.B,{className:`h-5 w-2/3`}),(0,r.jsx)(t.B,{className:`h-12 w-full`}),(0,r.jsx)(t.B,{className:`h-4 w-5/6`})]},e))}),(0,r.jsx)(`div`,{className:`pt-4`,children:(0,r.jsx)(t.B,{className:`h-10 w-32 rounded-lg`})})]}):(0,r.jsx)(r.Fragment,{children:s})};function w({groups:e}){let n=(0,o.useLocation)().pathname,{isMobile:i,setOpenMobile:a}=t.P();return(0,r.jsx)(r.Fragment,{children:e.map(e=>(0,r.jsxs)(t.m,{children:[e.label&&(0,r.jsx)(t._,{children:e.label}),(0,r.jsx)(t.g,{className:`flex flex-col gap-2`,children:(0,r.jsx)(t.x,{children:e.items.map(e=>(0,r.jsx)(t.T,{children:(0,r.jsx)(t.w,{tooltip:e.title,isActive:n.startsWith(e.url),asChild:!0,children:(0,r.jsxs)(o.NavLink,{to:e.url,onClick:()=>i&&a(!1),children:[e.icon&&(0,r.jsx)(e.icon,{className:`size-6!`}),(0,r.jsx)(`span`,{children:e.title})]})})},e.title))})})]},e.label??`_ungrouped`))})}function T({user:e,accountUrl:s,logoutUrl:c,onLogout:l}){let{t:u}=(0,a.useTranslation)(),{isMobile:d}=t.P(),f=()=>{l?l():c&&(globalThis.location.href=c)},p=n.default.useMemo(()=>{let t=e.firstName||``,n=e.lastName||``;if(!t&&!n)return` `;let r=`${t} ${n}`.trim().split(` `).filter(Boolean);return r.length===1?r[0].charAt(0).toUpperCase():r[0].charAt(0).toUpperCase()+(r.at(-1)?.charAt(0).toUpperCase()??``)},[e]),m=e?.avatarUrl||``;return(0,r.jsx)(t.x,{children:(0,r.jsx)(t.T,{children:(0,r.jsxs)(t.lt,{children:[(0,r.jsx)(t.Ct,{asChild:!0,children:(0,r.jsxs)(t.w,{size:`lg`,className:`data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground`,children:[(0,r.jsxs)(t.Xt,{className:`h-8 w-8 rounded-lg`,children:[m&&(0,r.jsx)(t.Qt,{src:m,alt:e.username}),(0,r.jsx)(t.Zt,{className:`rounded-lg`,children:p})]}),(0,r.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,r.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,r.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]}),(0,r.jsx)(i.IconDotsVertical,{className:`ml-auto size-4`})]})}),(0,r.jsxs)(t.dt,{className:`w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg`,side:d?`bottom`:`right`,align:`end`,sideOffset:4,children:[(0,r.jsx)(t.mt,{className:`p-0 font-normal`,children:(0,r.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1.5 text-left text-sm`,children:[(0,r.jsxs)(t.Xt,{className:`h-8 w-8 rounded-lg`,children:[m&&(0,r.jsx)(t.Qt,{src:m,alt:e.username}),(0,r.jsx)(t.Zt,{className:`rounded-lg`,children:p})]}),(0,r.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,r.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,r.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]})]})}),(0,r.jsx)(t.vt,{}),s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.ft,{children:(0,r.jsx)(o.NavLink,{to:s,className:`w-full`,children:(0,r.jsxs)(t.pt,{children:[(0,r.jsx)(i.IconUserCircle,{}),u(`nav.account`)]})})}),(0,r.jsx)(t.vt,{})]}),(0,r.jsxs)(t.pt,{onClick:f,className:`cursor-pointer`,children:[(0,r.jsx)(i.IconLogout,{}),(0,r.jsx)(`span`,{children:u(`nav.logOut`)})]})]})]})})})}var E=()=>(0,r.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,r.jsx)(`div`,{className:`@container/main flex flex-1 flex-col gap-2`,children:(0,r.jsx)(`div`,{className:`flex flex-col gap-2 px-1 py-1 md:gap-3 md:px-2 md:py-2`,children:(0,r.jsx)(o.Outlet,{})})})}),D=({icon:e,title:s,urlBase:c,children:l})=>{let{items:u}=t.n(),d=(0,o.useNavigate)(),{t:f}=(0,a.useTranslation)(),p=u.length>0?u[u.length-1]:null,m=u.length>1?u[u.length-2]:null;return(0,r.jsx)(`header`,{className:`flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)`,children:(0,r.jsxs)(`div`,{className:`flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6`,children:[(0,r.jsx)(t.N,{className:`-ml-1 hidden md:flex`}),(0,r.jsx)(t.Y,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4 hidden md:block`}),(0,r.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[e&&(0,r.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 mr-1`,children:(0,r.jsx)(e,{className:`size-4.5! text-blue-600 dark:text-blue-400`})}),c?(0,r.jsx)(t.Vt,{children:(0,r.jsx)(t.Gt,{children:u.map((e,i)=>(0,r.jsxs)(n.default.Fragment,{children:[i>0&&(0,r.jsx)(t.qt,{}),(0,r.jsx)(t.Ut,{children:e.href?(0,r.jsx)(t.Wt,{asChild:!0,children:(0,r.jsx)(o.NavLink,{to:e.href,children:e.label})}):(0,r.jsx)(t.Kt,{children:e.label})})]},e.label))})}):(0,r.jsx)(`h1`,{className:`text-base font-semibold`,children:s})]}),(0,r.jsxs)(`div`,{className:`flex md:hidden items-center gap-2 min-w-0 flex-1`,children:[m?.href&&(0,r.jsx)(`button`,{type:`button`,title:f(`common.goBack`),onClick:()=>d(m.href),className:`shrink-0 flex items-center justify-center size-8 rounded-lg hover:bg-muted transition-colors`,children:(0,r.jsx)(i.IconChevronLeft,{className:`size-4`})}),e&&(0,r.jsx)(`div`,{className:`flex shrink-0 h-7 w-7 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10`,children:(0,r.jsx)(e,{className:`size-3.5! text-blue-600 dark:text-blue-400`})}),(0,r.jsx)(`span`,{className:`text-sm font-semibold truncate`,children:p?.label??s})]}),(0,r.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[l&&(0,r.jsx)(`div`,{className:`hidden md:flex items-center`,children:l}),(0,r.jsx)(`div`,{className:`hidden md:block`,children:(0,r.jsx)(t.i,{})}),(0,r.jsx)(t.N,{className:`md:hidden`})]})]})})},O=({icon:e,title:t,urlBase:n})=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(D,{icon:e,title:t,urlBase:n}),(0,r.jsx)(E,{})]}),k=({icon:e,feature:n,description:i,urlBase:a})=>{let{isMobile:s,toggleSidebar:c}=t.P(),l=(0,r.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,r.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 ${s?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:s?c:void 0,onKeyDown:s?e=>{(e.key===`Enter`||e.key===` `)&&c()}:void 0,tabIndex:s?0:void 0,role:s?`button`:void 0,title:s?`Open navigation`:void 0,children:(0,r.jsx)(e,{className:`size-5! text-blue-600 dark:text-blue-400`})}),(0,r.jsxs)(`div`,{className:`min-w-0`,children:[(0,r.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground truncate`,children:n}),(0,r.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5 truncate`,children:i})]})]});return a&&!s?(0,r.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,r.jsx)(o.NavLink,{to:a,className:`group inline-flex max-w-full`,children:l})}):(0,r.jsx)(`div`,{className:`min-w-0 flex-1`,children:l})};k.displayName=`StickyPageHeaderTitle`;var A=()=>null;A.displayName=`StickyPageHeaderAction`;var j=({children:e,menuLabel:s})=>{let c=(0,o.useNavigate)(),{t:l}=(0,a.useTranslation)(),u=[],d=[];n.default.Children.forEach(e,e=>{n.default.isValidElement(e)&&e.type?.displayName===`StickyPageHeaderAction`?u.push(e.props):d.push(e)});let f=s??l(`common.actions`);return(0,r.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[d,u.length>0&&(0,r.jsxs)(t.lt,{children:[(0,r.jsx)(t.Ct,{asChild:!0,children:s?(0,r.jsxs)(t.st,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,r.jsx)(i.IconDotsVertical,{className:`size-4`}),(0,r.jsx)(`span`,{className:`hidden sm:inline`,children:s})]}):(0,r.jsx)(t.st,{variant:`ghost`,size:`icon-sm`,"aria-label":f,title:f,children:(0,r.jsx)(i.IconDotsVertical,{className:`size-5!`})})}),(0,r.jsx)(t.dt,{align:`end`,children:u.map(e=>{let n=e.icon??i.IconPlus;return(0,r.jsxs)(t.pt,{disabled:e.disabled,onClick:()=>{e.href&&c(e.href),e.onClick&&e.onClick()},children:[(0,r.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]})]})};j.displayName=`StickyPageHeaderActions`;var M=Object.assign(({children:e})=>(0,r.jsx)(`header`,{className:`sticky top-0 z-10 -mx-4 lg:-mx-6 mb-5 border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80`,children:(0,r.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6 py-3`,children:[(0,r.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,r.jsx)(t.N,{className:`-ml-1`}),(0,r.jsx)(t.Y,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),e]})}),{Title:k,Actions:j,Action:A}),N=e=>(0,r.jsx)(`div`,{className:`w-full px-1 md:px-6 lg:px-8 py-1 md:py-4 min-h-[calc(100svh-10.5rem)]`,children:(0,r.jsx)(`div`,{className:`flex min-h-full w-full md:rounded-xl md:border md:bg-sidebar md:shadow-sm`,children:(0,r.jsxs)(t.A,{defaultOpen:!0,className:`min-h-0!`,style:{"--sidebar-width":`calc(var(--spacing) * 72)`,"--header-height":`calc(var(--spacing) * 12)`,minHeight:0},children:[(0,r.jsx)(S,{...e}),(0,r.jsx)(t.b,{className:`md:mr-1.5 md:my-1.5 md:rounded-xl md:border bg-background md:shadow-sm`,children:(0,r.jsx)(`main`,{className:`flex flex-1 flex-col pt-2 md:pt-4 max-md:[&_.px-6]:px-2`,children:(0,r.jsx)(o.Outlet,{})})})]})})}),P=()=>null;P.displayName=`SubPageHeaderAction`;var F=Object.assign(({icon:e,feature:a,name:s,description:c,urlBase:l,onDelete:u,open:f,setOpen:p,children:m})=>{let{isMobile:h,toggleSidebar:g}=t.P(),_=(0,o.useNavigate)(),v=[];n.default.Children.forEach(m,e=>{n.default.isValidElement(e)&&e.type?.displayName===`SubPageHeaderAction`&&v.push(e.props)});let y=(0,r.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e&&(0,r.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 ${h?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:h?g:void 0,onKeyDown:h?e=>{(e.key===`Enter`||e.key===` `)&&g()}:void 0,tabIndex:h?0:void 0,title:h?`Open navigation`:void 0,children:(0,r.jsx)(e,{className:`size-5! text-blue-600 dark:text-blue-400`})}),(0,r.jsxs)(`div`,{className:`min-w-0`,children:[(0,r.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground`,children:a}),(0,r.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5`,children:c})]})]});return(0,r.jsxs)(`header`,{className:`mb-5`,children:[(0,r.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6`,children:[(0,r.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,r.jsx)(t.N,{className:`-ml-1`}),(0,r.jsx)(t.Y,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),(0,r.jsx)(`div`,{className:`min-w-0 flex-1`,children:l&&!h?(0,r.jsx)(o.NavLink,{to:l,className:`group inline-flex`,children:y}):y}),(0,r.jsxs)(`div`,{className:`flex items-center gap-2`,children:[v.length>0&&(0,r.jsxs)(t.lt,{children:[(0,r.jsx)(t.Ct,{asChild:!0,children:(0,r.jsxs)(t.st,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,r.jsx)(i.IconDotsVertical,{className:`size-4`}),(0,r.jsx)(`span`,{className:`hidden sm:inline`,children:`Actions`})]})}),(0,r.jsx)(t.dt,{align:`end`,children:v.map(e=>{let n=e.icon??i.IconPlus;return(0,r.jsxs)(t.pt,{disabled:e.disabled,onClick:()=>{e.href&&_(e.href),e.onClick&&e.onClick()},children:[(0,r.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]}),f!==void 0&&u!==void 0&&p!==void 0&&(0,r.jsx)(d,{feature:a,name:s,onDelete:u,open:f,setOpen:p})]})]}),(0,r.jsx)(t.Y,{className:`mt-3`})]})},{Action:P});exports.BlankSlate=u,exports.DialogDelete=d,exports.GradientButtonLink=l,exports.GridList=y,exports.InternalSidebar=S,exports.LoadProvider=C,exports.NavMain=w,exports.NavUser=T,exports.Page=O,exports.PageContent=E,exports.PageHeader=D,exports.StickyPageHeader=M,exports.SubPage=N,exports.SubPageHeader=F;
package/dist/router.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as e, A as t, B as n, C as r, Ct as i, Dt as a, Et as o, Gt as s, Kt as c, Mt as l, N as u, Nt as d, Ot as f, P as p, Pt as m, Qt as h, T as g, Ut as _, Vt as v, Wt as y, X as ee, Xt as b, Y as x, Z as te, Zt as S, _ as C, at as ne, b as re, ct as ie, d as ae, dt as w, f as oe, ft as se, g as T, i as ce, in as le, it as ue, kt as E, l as de, lt as D, m as O, mt as fe, n as pe, ot as k, pt as A, qt as me, st as j, u as he, v as ge, vt as M, w as N, wt as _e, x as P } from "./breadcrumb.context-C20vyfmC.js";
1
+ import { $ as e, A as t, B as n, C as r, Ct as i, Dt as a, Et as o, Gt as s, Kt as c, Mt as l, N as u, Nt as d, Ot as f, P as p, Pt as m, Qt as h, T as g, Ut as _, Vt as v, Wt as y, X as ee, Xt as b, Y as x, Z as te, Zt as S, _ as C, at as ne, b as re, ct as ie, d as ae, dt as w, f as oe, ft as se, g as T, i as ce, in as le, it as ue, kt as E, l as de, lt as D, m as O, mt as fe, n as pe, ot as k, pt as A, qt as me, st as j, u as he, v as ge, vt as M, w as N, wt as _e, x as P } from "./breadcrumb.context-CCiYXxir.js";
2
2
  import F, { useState as I } from "react";
3
3
  import { Fragment as L, jsx as R, jsxs as z } from "react/jsx-runtime";
4
4
  import { IconAlertTriangle as ve, IconAlertTriangleFilled as ye, IconChevronLeft as be, IconChevronRight as xe, IconDotsVertical as B, IconDownload as Se, IconLogout as Ce, IconPlus as V, IconSearch as H, IconTrash as U, IconUserCircle as we } from "@tabler/icons-react";
package/dist/vite.cjs.js CHANGED
@@ -1,11 +1,18 @@
1
1
  Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){let{title:a,subtitle:o,color:s,colorDark:c=s,prefix:l=`viglet`,storageKey:u=`vite-ui-theme`,testFlag:d=`__VIGLET_LOADING_TEST__`,placeholder:f=`<!--viglet-boot-loader-->`}=e,p=t(s)??`37, 99, 235`,m={pfx:l,title:a,subtitle:o,color:s,colorDark:c,rgb:p,rgbDark:t(c)??p,storageKey:u,testFlag:d},h=n(m),g=r(m),_=i(m);return{name:`viglet-boot-loader`,transformIndexHtml(e){return{html:e.includes(f)?e.replace(f,_):e.replace(/(<div\b[^>]*\bid=["']root["'][^>]*>)/,e=>`${e}\n${_}\n`),tags:[{tag:`style`,attrs:{"data-viglet-boot-loader":``},children:h,injectTo:`head`},{tag:`script`,children:g,injectTo:`head`}]}}}}function t(e){if(!e)return null;let t=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(e.trim());if(t){let[,e,n,r]=t;return`${Number.parseInt(e+e,16)}, ${Number.parseInt(n+n,16)}, ${Number.parseInt(r+r,16)}`}let n=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(e.trim());if(n){let[,e,t,r]=n;return`${Number.parseInt(e,16)}, ${Number.parseInt(t,16)}, ${Number.parseInt(r,16)}`}return null}function n({pfx:e,color:t,colorDark:n,rgb:r}){return`
2
2
  html, body { margin: 0; padding: 0; height: 100%; }
3
+ /* Boot-loader paints body only for the pre-React loading screen. It must
4
+ NOT own "body { color }": that rule is unlayered, so it beats the app's
5
+ layered base "body { text-foreground }" AND it is set once at load and
6
+ never re-synced on a runtime theme toggle, leaving heading text (which
7
+ inherits its colour from body) stuck on the previous theme until a
8
+ reload. Background is fine (not inherited; masked by the app shell), so
9
+ keep it for flash-prevention; scope the loader's own text colour to the
10
+ loader element instead. */
3
11
  body {
4
12
  background:
5
13
  radial-gradient(1200px 600px at 20% 10%, rgba(${r}, 0.18), transparent 60%),
6
14
  radial-gradient(900px 500px at 80% 90%, rgba(${r}, 0.18), transparent 60%),
7
15
  #0a0a0f;
8
- color: #e5e7eb;
9
16
  font-family: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
10
17
  }
11
18
  body.${e}-light-boot {
@@ -13,14 +20,15 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e)
13
20
  radial-gradient(1200px 600px at 20% 10%, rgba(${r}, 0.10), transparent 60%),
14
21
  radial-gradient(900px 500px at 80% 90%, rgba(${r}, 0.10), transparent 60%),
15
22
  #fafafa;
16
- color: #0f172a;
17
23
  }
18
24
  #${e}-boot-loader {
19
25
  position: fixed; inset: 0;
20
26
  display: flex; align-items: center; justify-content: center; flex-direction: column;
21
27
  z-index: 9999;
28
+ color: #e5e7eb;
22
29
  animation: ${e}-boot-fade-in 0.4s ease-out;
23
30
  }
31
+ body.${e}-light-boot #${e}-boot-loader { color: #0f172a; }
24
32
  .${e}-boot-stage {
25
33
  position: relative; width: 160px; height: 160px;
26
34
  display: flex; align-items: center; justify-content: center;
package/dist/vite.es.js CHANGED
@@ -47,12 +47,19 @@ function t(e) {
47
47
  function n({ pfx: e, color: t, colorDark: n, rgb: r }) {
48
48
  return `
49
49
  html, body { margin: 0; padding: 0; height: 100%; }
50
+ /* Boot-loader paints body only for the pre-React loading screen. It must
51
+ NOT own "body { color }": that rule is unlayered, so it beats the app's
52
+ layered base "body { text-foreground }" AND it is set once at load and
53
+ never re-synced on a runtime theme toggle, leaving heading text (which
54
+ inherits its colour from body) stuck on the previous theme until a
55
+ reload. Background is fine (not inherited; masked by the app shell), so
56
+ keep it for flash-prevention; scope the loader's own text colour to the
57
+ loader element instead. */
50
58
  body {
51
59
  background:
52
60
  radial-gradient(1200px 600px at 20% 10%, rgba(${r}, 0.18), transparent 60%),
53
61
  radial-gradient(900px 500px at 80% 90%, rgba(${r}, 0.18), transparent 60%),
54
62
  #0a0a0f;
55
- color: #e5e7eb;
56
63
  font-family: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
57
64
  }
58
65
  body.${e}-light-boot {
@@ -60,14 +67,15 @@ function n({ pfx: e, color: t, colorDark: n, rgb: r }) {
60
67
  radial-gradient(1200px 600px at 20% 10%, rgba(${r}, 0.10), transparent 60%),
61
68
  radial-gradient(900px 500px at 80% 90%, rgba(${r}, 0.10), transparent 60%),
62
69
  #fafafa;
63
- color: #0f172a;
64
70
  }
65
71
  #${e}-boot-loader {
66
72
  position: fixed; inset: 0;
67
73
  display: flex; align-items: center; justify-content: center; flex-direction: column;
68
74
  z-index: 9999;
75
+ color: #e5e7eb;
69
76
  animation: ${e}-boot-fade-in 0.4s ease-out;
70
77
  }
78
+ body.${e}-light-boot #${e}-boot-loader { color: #0f172a; }
71
79
  .${e}-boot-stage {
72
80
  position: relative; width: 160px; height: 160px;
73
81
  display: flex; align-items: center; justify-content: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viglet/viglet-design-system",
3
- "version": "2026.2.55",
3
+ "version": "2026.2.57",
4
4
  "type": "module",
5
5
  "description": "Viglet Design System - Shared components, hooks, utilities and design tokens for Viglet products",
6
6
  "license": "Apache-2.0",
File without changes