@akshar-technosoft/ui 1.0.2 → 1.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/data/data-table/data-table-action-bar.d.cts +1 -1
- package/dist/components/data/data-table/data-table-action-bar.d.ts +1 -1
- package/dist/components/data/data-table/data-table-pagination.cjs +1 -1
- package/dist/components/data/data-table/data-table-pagination.cjs.map +1 -1
- package/dist/components/data/data-table/data-table-pagination.js +1 -1
- package/dist/components/data/data-table/data-table-pagination.js.map +1 -1
- package/dist/components/data/data-table/data-table-toolbar.cjs +1 -1
- package/dist/components/data/data-table/data-table-toolbar.cjs.map +1 -1
- package/dist/components/data/data-table/data-table-toolbar.d.cts +2 -1
- package/dist/components/data/data-table/data-table-toolbar.d.ts +2 -1
- package/dist/components/data/data-table/data-table-toolbar.js +1 -1
- package/dist/components/data/data-table/data-table-toolbar.js.map +1 -1
- package/dist/components/data/data-table/data-table-types.cjs.map +1 -1
- package/dist/components/data/data-table/data-table-types.d.cts +7 -0
- package/dist/components/data/data-table/data-table-types.d.ts +7 -0
- package/dist/components/data/data-table/data-table.cjs +1 -1
- package/dist/components/data/data-table/data-table.cjs.map +1 -1
- package/dist/components/data/data-table/data-table.d.cts +1 -1
- package/dist/components/data/data-table/data-table.d.ts +1 -1
- package/dist/components/data/data-table/data-table.js +1 -1
- package/dist/components/data/data-table/data-table.js.map +1 -1
- package/dist/components/data/data-table/index.cjs +1 -1
- package/dist/components/data/data-table/index.cjs.map +1 -1
- package/dist/components/data/data-table/index.d.cts +1 -1
- package/dist/components/data/data-table/index.d.ts +1 -1
- package/dist/components/data/data-table/index.js +1 -1
- package/dist/components/data/data-table/index.js.map +1 -1
- package/dist/components/date-helper.cjs +3 -0
- package/dist/components/date-helper.cjs.map +1 -0
- package/dist/components/date-helper.d.cts +27 -0
- package/dist/components/date-helper.d.ts +27 -0
- package/dist/components/date-helper.js +3 -0
- package/dist/components/date-helper.js.map +1 -0
- package/dist/components/helper/date-filter.cjs +3 -0
- package/dist/components/helper/date-filter.cjs.map +1 -0
- package/dist/components/helper/date-filter.d.cts +14 -0
- package/dist/components/helper/date-filter.d.ts +14 -0
- package/dist/components/helper/date-filter.js +3 -0
- package/dist/components/helper/date-filter.js.map +1 -0
- package/dist/components/ui/badge.d.cts +2 -2
- package/dist/components/ui/badge.d.ts +2 -2
- package/dist/components/ui/button.d.cts +2 -2
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/components/ui/calendar.cjs +3 -0
- package/dist/components/ui/calendar.cjs.map +1 -0
- package/dist/components/ui/calendar.d.cts +13 -0
- package/dist/components/ui/calendar.d.ts +13 -0
- package/dist/components/ui/calendar.js +3 -0
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/toggle.d.cts +2 -2
- package/dist/components/ui/toggle.d.ts +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
package/dist/index.d.cts
CHANGED
|
@@ -17,7 +17,7 @@ export { OfflineUI } from './components/core/offline-content.cjs';
|
|
|
17
17
|
export { Unauthorized } from './components/core/unauthorized.cjs';
|
|
18
18
|
import 'react/jsx-runtime';
|
|
19
19
|
import './components/ui/button.cjs';
|
|
20
|
-
import 'class-variance-authority/
|
|
20
|
+
import 'class-variance-authority/types';
|
|
21
21
|
import 'react';
|
|
22
22
|
import 'class-variance-authority';
|
|
23
23
|
import '@tanstack/react-table';
|
package/dist/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export { OfflineUI } from './components/core/offline-content.js';
|
|
|
17
17
|
export { Unauthorized } from './components/core/unauthorized.js';
|
|
18
18
|
import 'react/jsx-runtime';
|
|
19
19
|
import './components/ui/button.js';
|
|
20
|
-
import 'class-variance-authority/
|
|
20
|
+
import 'class-variance-authority/types';
|
|
21
21
|
import 'react';
|
|
22
22
|
import 'class-variance-authority';
|
|
23
23
|
import '@tanstack/react-table';
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client"
|
|
2
|
-
import{flexRender as Gt,getCoreRowModel as Na,getFilteredRowModel as Pa,getPaginationRowModel as Ta,getSortedRowModel as Sa,useReactTable as Da}from"@tanstack/react-table";import{Loader2 as po,ChevronUp as Et,ChevronDown as Ht,ChevronsUpDown as ka,MoreHorizontal as Ra,MoveRightIcon as Ma,PinOffIcon as Aa}from"lucide-react";import{Slot as Zo}from"radix-ui";import{cva as Qo}from"class-variance-authority";import{clsx as Ko}from"clsx";import{twMerge as Yo}from"tailwind-merge";function a(...e){return Yo(Ko(e))}import{jsx as ta}from"react/jsx-runtime";var ea=Qo("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function b({className:e,variant:t,size:o,asChild:n=!1,...l}){let i=n?Zo.Slot:"button";return ta(i,{"data-slot":"button",className:a(ea({variant:t,size:o,className:e}),"transition-none"),...l})}import{jsx as ke}from"react/jsx-runtime";function Bt({className:e,...t}){return ke("div",{"data-slot":"table-container",className:"relative w-full overflow-auto max-h-full",children:ke("table",{"data-slot":"table",className:a("w-full caption-bottom text-sm",e),...t})})}function to({className:e,...t}){return ke("thead",{"data-slot":"table-header",className:a("[&_tr]:border-b",e),...t})}function oo({className:e,...t}){return ke("tbody",{"data-slot":"table-body",className:a("[&_tr:last-child]:border-0",e),...t})}function ao({className:e,...t}){return ke("tfoot",{"data-slot":"table-footer",className:a("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t})}function ft({className:e,...t}){return ke("tr",{"data-slot":"table-row",className:a("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function no({className:e,...t}){return ke("th",{"data-slot":"table-head",className:a("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap",e),...t})}function Pt({className:e,...t}){return ke("td",{"data-slot":"table-cell",className:a("p-2 align-middle whitespace-nowrap",e),...t})}import{jsx as ro}from"react/jsx-runtime";function pe({className:e,...t}){return ro("div",{"data-slot":"card",className:a("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function ue({className:e,...t}){return ro("div",{"data-slot":"card-content",className:a("px-6",e),...t})}import{Tooltip as Qe}from"radix-ui";import{jsx as et,jsxs as oa}from"react/jsx-runtime";function He({delayDuration:e=0,...t}){return et(Qe.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function Re({...e}){return et(He,{children:et(Qe.Root,{"data-slot":"tooltip",...e})})}function Me({...e}){return et(Qe.Trigger,{"data-slot":"tooltip-trigger",...e})}function Ae({className:e,sideOffset:t=0,children:o,...n}){return et(Qe.Portal,{children:oa(Qe.Content,{"data-slot":"tooltip-content",sideOffset:t,className:a("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...n,children:[o,et(Qe.Arrow,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}import{Search as ca,RefreshCw as ma,Download as pa,Settings2 as ua,Filter as so,ArrowUpDown as fa,PinOff as ga,Pin as lo,ChevronDown as ba}from"lucide-react";import{jsx as aa}from"react/jsx-runtime";function tt({className:e,type:t,...o}){return aa("input",{type:t,"data-slot":"input",className:a("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...o})}import{Select as ie}from"radix-ui";import{CheckIcon as na,ChevronDownIcon as io,ChevronUpIcon as ra}from"lucide-react";import{jsx as J,jsxs as Ft}from"react/jsx-runtime";function ze({...e}){return J(ie.Root,{"data-slot":"select",...e})}function Ie({...e}){return J(ie.Value,{"data-slot":"select-value",...e})}function Be({className:e,size:t="default",children:o,...n}){return Ft(ie.Trigger,{"data-slot":"select-trigger","data-size":t,className:a("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n,children:[o,J(ie.Icon,{asChild:!0,children:J(io,{className:"size-4 opacity-50"})})]})}function Fe({className:e,children:t,position:o="popper",...n}){return J(ie.Portal,{children:Ft(ie.Content,{"data-slot":"select-content",className:a("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",o==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:o,...n,children:[J(ia,{}),J(ie.Viewport,{className:a("p-1",o==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),J(sa,{})]})})}function fe({className:e,children:t,...o}){return Ft(ie.Item,{"data-slot":"select-item",className:a("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...o,children:[J("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:J(ie.ItemIndicator,{children:J(na,{className:"size-4"})})}),J(ie.ItemText,{children:t})]})}function ia({className:e,...t}){return J(ie.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:a("flex cursor-default items-center justify-center py-1",e),...t,children:J(ra,{className:"size-4"})})}function sa({className:e,...t}){return J(ie.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:a("flex cursor-default items-center justify-center py-1",e),...t,children:J(io,{className:"size-4"})})}import{DropdownMenu as ge}from"radix-ui";import{CheckIcon as la,ChevronRightIcon as vr,CircleIcon as hr}from"lucide-react";import{jsx as se,jsxs as da}from"react/jsx-runtime";function be({...e}){return se(ge.Root,{"data-slot":"dropdown-menu",...e})}function ve({...e}){return se(ge.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}function he({className:e,sideOffset:t=4,...o}){return se(ge.Portal,{children:se(ge.Content,{"data-slot":"dropdown-menu-content",sideOffset:t,className:a("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) rounded-md border p-1 shadow-md",e),...o})})}function Lt({...e}){return se(ge.Group,{"data-slot":"dropdown-menu-group",...e})}function G({className:e,inset:t,variant:o="default",...n}){return se(ge.Item,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":o,className:a("cursor-pointer focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n})}function Tt({className:e,children:t,checked:o,...n}){return da(ge.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:a("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),checked:o,...n,children:[se("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:se(ge.ItemIndicator,{children:se(la,{className:"size-4"})})}),t]})}function te({className:e,inset:t,...o}){return se(ge.Label,{"data-slot":"dropdown-menu-label","data-inset":t,className:a("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...o})}function oe({className:e,...t}){return se(ge.Separator,{"data-slot":"dropdown-menu-separator",className:a("bg-border -mx-1 my-1 h-px",e),...t})}import{Fragment as va,jsx as x,jsxs as L}from"react/jsx-runtime";function Ot({table:e,filters:t=[],globalFilter:o,onGlobalFilterChange:n,enableGlobalFilter:l=!0,onExport:i,onRefresh:c,loading:h=!1,enableColumnVisibility:C=!0,data:g,onClearSorting:p,onClearFilters:N,enableColumnPinning:k=!1}){let D=()=>e.getAllLeafColumns().filter(d=>d.getCanHide?.()!==!1),S=()=>e.getAllColumns().filter(d=>!e.getAllLeafColumns().includes(d)&&d.columns?.length&&d.columns.some(m=>m.getCanHide?.()!==!1)),T=()=>{let d=new Set(S().flatMap(m=>m.columns?.filter(B=>B.getCanHide?.()!==!1).map(B=>B.id)||[]));return D().filter(m=>!d.has(m.id))},R=(d,m)=>m&&d.startsWith(`${m}.`)?d.replace(`${m}.`,"").split("_").map(v=>v.slice(1)).join(" "):d.split("_").map(B=>B.charAt(0).toUpperCase()+B.slice(1)).join(" ");return x("div",{className:"rounded-xl",children:x("div",{className:"px-2",children:x("div",{className:"flex flex-col gap-6",children:L("div",{className:"flex items-center justify-between",children:[x("div",{className:"flex items-center gap-3",children:t.length>0&&L("div",{className:"flex items-center gap-3 flex-wrap",children:[x("div",{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:x(so,{className:"h-4 w-4"})}),t.map(d=>x("div",{className:a("relative min-w-[150px]",d.width),children:d.type==="select"?L(ze,{value:e.getColumn(d.key)?.getFilterValue()??"",onValueChange:m=>e.getColumn(d.key)?.setFilterValue(m==="all"?"":m),children:[d.icon&&x("span",{children:x(d.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"})}),x(Be,{className:a("h-9 rounded-lg w-full",d.icon&&"pl-9"),children:x(Ie,{placeholder:d.placeholder})}),L(Fe,{className:"rounded-lg",children:[x(fe,{value:"all",children:"All"}),d.options?.map(m=>x(fe,{value:m.value,children:m.label},m.label))]})]}):L("div",{className:"relative",children:[d.icon&&x("span",{children:x(d.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"})}),x(tt,{placeholder:d.placeholder,value:e.getColumn(d.key)?.getFilterValue()??"",onChange:m=>e.getColumn(d.key)?.setFilterValue(m.target.value),className:a("h-9 rounded-lg",d.icon&&"pl-9"),type:d.type==="number"?"number":d.type==="date"?"date":"text"})]})},d.key))]})}),L("div",{className:"flex items-center gap-2",children:[l&&L("div",{className:"relative",children:[x(ca,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),x(tt,{placeholder:"Global search...",value:o??"",onChange:d=>n(d.target.value),className:"pl-9 max-w-max"})]}),i&&L(b,{variant:"outline",size:"sm",onClick:()=>i(g),className:"rounded-lg",children:[x(pa,{className:"mr-2 h-4 w-4"}),"Export"]}),C&&L(be,{children:[x(ve,{asChild:!0,children:L(b,{variant:"outline",size:"sm",className:"rounded-lg gap-1",children:[x("span",{children:"Columns"}),x(ba,{className:"h-4 w-4 opacity-50"})]})}),L(he,{align:"end",className:"w-[220px] rounded-lg max-h-[400px] overflow-y-auto",children:[x(te,{className:"px-4 py-2 text-sm font-medium",children:"Toggle Columns"}),x(oe,{}),T().length>0&&L(Lt,{children:[x(te,{className:"px-4 py-1.5 text-sm font-medium text-muted-foreground",children:"General"}),T().map(d=>x(Tt,{className:"text-sm",checked:d.getIsVisible(),onCheckedChange:m=>d.toggleVisibility(!!m),children:R(d.id)},d.id))]}),S().map(d=>L(Lt,{children:[x(oe,{}),x(te,{className:"px-4 py-1.5 text-sm font-medium text-muted-foreground",children:d.id}),d.columns?.filter(m=>m.getCanHide?.()!==!1).map(m=>x(Tt,{className:"text-sm",checked:m.getIsVisible(),onCheckedChange:B=>m.toggleVisibility(!!B),children:R(m.id,d.id)},m.id))]},d.id))]})]}),L(be,{children:[x(ve,{asChild:!0,children:x(b,{variant:"outline",size:"sm",className:"rounded-lg",children:x(ua,{className:"h-4 w-4"})})}),L(he,{align:"end",className:"w-[200px] rounded-lg",children:[x(te,{children:"Table Settings"}),x(oe,{}),L(G,{onClick:p,children:[x(fa,{className:"mr-2 h-4 w-4"}),"Clear All Sorting"]}),L(G,{onClick:N,children:[x(so,{className:"mr-2 h-4 w-4"}),"Clear All Filters"]}),k&&L(va,{children:[x(oe,{}),x(te,{children:"Column Pinning"}),L(G,{onClick:()=>e.setColumnPinning({left:[],right:[]}),children:[x(ga,{className:"mr-2 h-4 w-4"}),"Reset All Pinning"]}),L(G,{onClick:()=>{let d=D().filter(m=>m.getCanPin?.()!==!1).map(m=>m.id);e.setColumnPinning({left:d,right:[]})},children:[x(lo,{className:"mr-2 h-4 w-4 rotate-90"}),"Pin All Left"]}),L(G,{onClick:()=>{let d=D().filter(m=>m.getCanPin?.()!==!1).map(m=>m.id);e.setColumnPinning({left:[],right:d})},children:[x(lo,{className:"mr-2 h-4 w-4 -rotate-90"}),"Pin All Right"]})]})]})]}),c&&x(b,{variant:"outline",size:"sm",onClick:c,disabled:h,className:"rounded-lg",children:x(ma,{className:a("h-4 w-4",h&&"animate-spin")})})]})]})})})})}import{jsx as Z,jsxs as ot}from"react/jsx-runtime";function Vt({table:e,config:t}){return t.enabled?Z("div",{className:"rounded-xl",children:Z("div",{children:ot("div",{className:"flex items-center justify-between",children:[Z("div",{className:"flex items-center gap-6 text-sm text-muted-foreground",children:t.showInfo!==!1&&ot("span",{children:["Showing ",e.getState().pagination.pageIndex*e.getState().pagination.pageSize+1," to"," ",Math.min((e.getState().pagination.pageIndex+1)*e.getState().pagination.pageSize,e.getFilteredRowModel().rows.length)," ","of ",e.getFilteredRowModel().rows.length," entries"]})}),ot("div",{className:"flex items-center gap-4",children:[t.pageSizeOptions&&ot("div",{className:"flex items-center gap-2",children:[Z("span",{className:"text-sm font-medium",children:"Rows per page:"}),ot(ze,{value:`${e.getState().pagination.pageSize}`,onValueChange:o=>e.setPageSize(Number(o)),children:[Z(Be,{className:"h-9 w-[70px] rounded-lg",children:Z(Ie,{})}),Z(Fe,{side:"top",className:"rounded-lg",children:t.pageSizeOptions.map(o=>Z(fe,{value:`${o}`,children:o},o))})]})]}),ot("div",{className:"flex items-center gap-2",children:[Z(b,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"First"}),Z(b,{variant:"outline",size:"sm",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"Previous"}),t.showPageNumbers&&Z("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,e.getPageCount())},(o,n)=>{let l=e.getState().pagination.pageIndex,i=l-2+n+1;return i<1||i>e.getPageCount()?null:Z(b,{variant:i===l+1?"default":"outline",size:"sm",className:"size-8 p-0 rounded-lg",onClick:()=>e.setPageIndex(i-1),children:i},i)})}),Z(b,{variant:"outline",size:"sm",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),className:"rounded-lg",children:"Next"}),Z(b,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(e.getPageCount()-1),disabled:!e.getCanNextPage(),className:"rounded-lg",children:"Last"})]})]})]})})}):null}import{Toggle as ha}from"radix-ui";import{cva as xa}from"class-variance-authority";import{jsx as ya}from"react/jsx-runtime";var Ca=xa("inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"},size:{sm:"h-7 px-0 min-w-7",default:"h-8 px-1 min-w-8",lg:"h-9 px-2 min-w-10"},bg:{enabled:"data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",disabled:""}},defaultVariants:{variant:"default",size:"default",bg:"enabled"}});function co({className:e,variant:t,size:o,noBg:n,...l}){return ya(ha.Root,{"data-slot":"toggle",className:a(Ca({className:e,variant:t,size:o,bg:n?"disabled":"enabled"})),...l})}import{Checkbox as mo}from"radix-ui";import{CheckIcon as wa}from"lucide-react";import{jsx as _t}from"react/jsx-runtime";function gt({className:e,...t}){return _t(mo.Root,{"data-slot":"checkbox",className:a("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:_t(mo.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:_t(wa,{className:"size-3.5"})})})}import{useCallback as uo,useEffect as jt,useMemo as za,useState as je}from"react";import{Fragment as fo,jsx as f,jsxs as E}from"react/jsx-runtime";function go({data:e,columns:t,filters:o=[],pagination:n={enabled:!1},settings:l={},header:i,footer:c,className:h="",maxHeight:C="600px",loading:g=!1,error:p,emptyMessage:N="No data available",onRowSelectionChange:k,onExport:D,onRefresh:S,onTableReady:T,children:R,isRowDisabled:d,isRowSelectable:m}){let[B,v]=je([]),[z,xe]=je([]),[_e,Ce]=je({}),[Te,ee]=je({}),[Se,Y]=je(""),[We,Ge]=je([]),[Je,Ee]=je(l.enableColumnPinning?{left:[],right:[]}:{}),{enableSorting:qe=!0,enableFiltering:ce=!0,enableGlobalFilter:ct=!0,enableColumnVisibility:ye=!0,enableRowSelection:U=!0,stickyHeader:me=!0,toolbar:Xe=!1,showSerialNumbers:ne=!0,fixedCheckboxColumn:we=!0,striped:De=!0,hoverable:Mt=!0,compact:mt=!0,bordered:At=!0,fullHeight:j=!1,enableColumnResizing:pt=!1,enableColumnPinning:q=!0,hideHeader:ut=!1}=l,Ke=za(()=>{let P=[...t],M=u=>u.map(s=>{if(s.id==="select"||s.id==="serialNumber")return s;let y={...s,enablePinning:!0};return s.columns&&(y.columns=M(s.columns)),y}),r=M(P);if(U){let u={id:"select",header:({table:s})=>{let y=s.getRowModel().rows.filter($=>!d?.($.original)&&(m?m($.original):!0)),A=y.length>0&&y.every($=>$.getIsSelected()),O=y.some($=>$.getIsSelected());return f(gt,{checked:A||O&&"indeterminate",onCheckedChange:$=>{y.forEach(re=>re.toggleSelected(!!$))},"aria-label":"Select all selectable rows"})},cell:({row:s})=>{let y=d?d(s.original):!1,A=m?m(s.original):!0;return f("div",{className:a("flex items-center justify-center",y&&"opacity-50"),children:f(gt,{checked:s.getIsSelected(),onCheckedChange:O=>A&&s.toggleSelected(!!O),"aria-label":"Select row",disabled:y||!A})})},enableSorting:!1,enableHiding:!1,enablePinning:!0,headerAlign:"center",size:10};r.unshift(u)}if(ne){let u={id:"serialNumber",header:"No.",cell:({row:s})=>f("div",{className:"text-center font-medium text-muted-foreground",children:s.index+1}),enableSorting:!0,enableHiding:!1,enablePinning:!0,size:60,headerAlign:"center"};r.unshift(u)}return r},[t,ne,U,we,d,m]),F=Da({data:e,columns:Ke,onSortingChange:qe?v:void 0,onColumnFiltersChange:ce?xe:void 0,onGlobalFilterChange:ct?Y:void 0,getCoreRowModel:Na(),getPaginationRowModel:n.enabled?Ta():void 0,getSortedRowModel:qe?Sa():void 0,getFilteredRowModel:ce?Pa():void 0,onColumnVisibilityChange:ye?Ce:void 0,onRowSelectionChange:U?ee:void 0,onColumnOrderChange:Ge,onColumnPinningChange:q?Ee:void 0,state:{sorting:qe?B:void 0,columnFilters:ce?z:void 0,columnVisibility:ye?_e:void 0,rowSelection:U?Te:{},globalFilter:Se,columnOrder:We,columnPinning:q?Je:{}},initialState:{pagination:n.enabled?{pageSize:n.pageSize||10}:void 0,columnPinning:q?{left:[...ne?["serialNumber"]:[],...U?["select"]:[]],right:[]}:void 0},enableRowSelection:U,enableColumnResizing:pt,enableColumnPinning:q,columnResizeMode:"onChange"});jt(()=>{T&&T(F)},[F,T]),jt(()=>{if(U&&k){let P=F.getFilteredSelectedRowModel().rows.map(M=>M.original);k(P)}},[Te,U,k,F]),jt(()=>{if(U&&k){let P=F.getFilteredSelectedRowModel().rows.filter(M=>!d?.(M.original)&&(m?m(M.original):!0)).map(M=>M.original);k(P)}},[Te,U,k,F,d,m]);let zt=uo(()=>{v([])},[]),Ct=uo(()=>{xe([]),Y("")},[]),yt=(P,M)=>{if(!q)return;let r=[...ne?["serialNumber"]:[],...U&&we?["select"]:[]],u={left:[...(Je.left??[]).filter(s=>r.includes(s))],right:[...Je.right??[]]};M===!1?(u.left=u.left.filter(s=>s!==P),u.right=u.right.filter(s=>s!==P)):M==="right"?(u.left=u.left.filter(s=>s!==P),u.right.includes(P)||u.right.push(P)):M==="left"&&(u.right=u.right.filter(s=>s!==P),!u.left.includes(P)&&!r.includes(P)&&u.left.push(P)),F.setColumnPinning(u)},wt=()=>f(to,{className:a(me&&"sticky top-0 bg-sidebar z-20"),children:F.getHeaderGroups().map((P,M)=>f(ft,{className:"hover:bg-transparent",children:P.headers.map((r,u)=>{let s=r.depth===0&&r.colSpan>1,y=q&&(r.column.getIsPinned()==="left"||r.column.id==="serialNumber"||r.column.id==="select"&&U),A=q&&r.column.getIsPinned()==="right",O=r.column.getCanSort(),$=q&&r.column.columnDef.enablePinning!==!1,re=r.column.id==="serialNumber",It=r.column.id==="select",eo=re||It&&we,Ze=r.column.columnDef.headerAlign||"left",Xo={left:"justify-start",center:"justify-center",right:"justify-end"}[Ze];return E(no,{colSpan:r.colSpan,className:a("font-semibold text-foreground bg-sidebar group px-0",!mt&&"py-2",At&&u<P.headers.length-1&&"border-r","relative",y&&"sticky left-0 z-15 bg-sidebar",A&&"sticky right-0 z-15 bg-sidebar",(re||It)&&"sticky left-0 z-15 bg-sidebar",s?"text-center":"text-left"),style:{width:r.getSize()!==150?r.getSize():"auto",minWidth:r.getSize()!==150?r.getSize():"auto",...y&&{left:re?0:It?ne&&F.getColumn("serialNumber")?.getSize()||0:Ye(r.column)},...A&&{right:Nt(r.column)},...re&&{left:0}},children:[s?f("div",{className:"flex items-center justify-center",children:Gt(r.column.columnDef.header,r.getContext())}):E("div",{className:a("relative flex items-center w-full px-2",Xo),children:[E("div",{className:"flex items-center gap-1",children:[O&&Ze==="right"&&f("span",{className:"ml-1 order-2",children:r.column.getIsSorted()&&{asc:f(Et,{className:"h-4 w-4"}),desc:f(Ht,{className:"h-4 w-4"})}[r.column.getIsSorted()]}),r.isPlaceholder?null:Gt(r.column.columnDef.header,r.getContext()),O&&Ze!=="right"&&r.column.getIsSorted()&&f("span",{className:"ml-1 order-2",children:r.column.getIsSorted()&&{asc:f(Et,{className:"h-4 w-4"}),desc:f(Ht,{className:"h-4 w-4"})}[r.column.getIsSorted()]})]}),(O||$&&!eo)&&E(be,{children:[f(ve,{asChild:!0,className:a("absolute",Ze==="left"&&"right-1",Ze==="center"&&"right-1",Ze==="right"&&"left-1"),children:f(co,{variant:"default",size:"sm",noBg:!0,tabIndex:-1,className:"opacity-0 group-hover:opacity-70 hover:opacity-100 data-[state=open]:opacity-100",children:f(Ra,{className:"h-4 w-4"})})}),E(he,{align:"end",className:"w-48",children:[O&&E(fo,{children:[f(te,{children:"Sorting"}),E(G,{onClick:()=>r.column.toggleSorting(!1),children:[f(Et,{className:"mr-2 h-4 w-4"}),"Sort Ascending"]}),E(G,{onClick:()=>r.column.toggleSorting(!0),children:[f(Ht,{className:"mr-2 h-4 w-4"}),"Sort Descending"]}),E(G,{onClick:()=>r.column.clearSorting(),disabled:!r.column.getIsSorted(),children:[f(ka,{className:"mr-2 h-4 w-4"}),"Clear Sort"]}),f(oe,{})]}),$&&!eo&&E(fo,{children:[f(te,{children:"Pin Column"}),E(G,{onClick:()=>yt(r.column.id,"right"),disabled:r.column.getIsPinned()==="right",children:[f(Ma,{}),"Pin Right"]}),E(G,{onClick:()=>yt(r.column.id,!1),disabled:!r.column.getIsPinned(),children:[f(Aa,{}),"Unpin"]})]})]})]})]}),pt&&r.column.getCanResize()&&!s&&r.colSpan===1&&f("div",{className:"absolute right-0 top-0 h-full w-1 bg-border hover:bg-primary cursor-col-resize opacity-0 hover:opacity-100 transition-opacity",onMouseDown:r.getResizeHandler()})]},r.id)})},P.id))}),Ye=P=>{if(!q)return;let M=0,r=F.getLeftHeaderGroups()[0]?.headers||[],u=[...ne?["serialNumber"]:[],...U?["select"]:[]];for(let s of r){if(s.id===P.id)break;if(u.includes(s.id)){let y=F.getColumn(s.id);y&&(M+=y.getSize())}}return M},Nt=P=>{if(!q)return;let M=F.getState().columnPinning.right||[],r=M.indexOf(P.id);if(r===-1)return;let u=0;for(let s=r+1;s<M.length;s++){let y=F.getColumn(M[s]);y&&(u+=y.getSize())}return u};return p?f(pe,{className:"w-full rounded-xl shadow-sm",children:f(ue,{className:"flex items-center justify-center",children:E("div",{className:"text-center",children:[f("div",{className:"text-red-500 mb-3 text-2xl",children:"\u26A0\uFE0F"}),f("p",{className:"text-sm text-muted-foreground mb-4",children:p}),S&&E(b,{variant:"outline",size:"sm",onClick:S,className:"rounded-lg",children:[f(po,{className:"mr-2 h-4 w-4"}),"Try Again"]})]})})}):f(He,{children:E("div",{className:a("w-full space-y-2 flex flex-col h-full",h),children:[i&&f(pe,{className:"rounded-2xl py-2 sticky top-0 z-20",children:f(ue,{className:"px-2",children:i})}),Xe&&f(Ot,{table:F,filters:o,globalFilter:Se,onGlobalFilterChange:Y,enableGlobalFilter:ct,onExport:D,onRefresh:S,loading:g,enableColumnVisibility:ye,enableColumnPinning:q,data:e,onClearSorting:zt,onClearFilters:Ct}),f(pe,{className:a("shadow-sm overflow-auto py-0",j&&"flex-1"),children:f(ue,{className:"p-0 h-full",children:E("div",{className:"relative flex flex-col h-full justify-between",children:[g&&f("div",{className:"absolute inset-0 bg-background/80 backdrop-blur-sm z-50 flex items-center justify-center rounded-xl",children:E("div",{className:"flex items-center gap-3 bg-background/90 px-4 py-3 rounded-lg shadow-sm",children:[f(po,{className:"size-5 animate-spin text-primary"}),f("span",{className:"text-sm font-medium text-muted-foreground",children:"Loading..."})]})}),f("div",{className:"relative rounded-t-xl overflow-auto border-b",children:E(Bt,{className:"border-collapse w-full",children:[!ut&&wt(),f(oo,{children:F.getRowModel().rows?.length?F.getRowModel().rows.map((P,M)=>f(ft,{"data-state":P.getIsSelected()&&"selected",className:a(Mt&&"hover:bg-muted/50",De&&M%2===0&&"bg-muted/20",P.getIsSelected()&&"bg-muted","border-b last:border-b-0"),children:P.getVisibleCells().map((r,u)=>{let s=q&&(r.column.getIsPinned()==="left"||r.column.id==="serialNumber"||r.column.id==="select"&&U),y=q&&r.column.getIsPinned()==="right",A=r.column.id==="serialNumber",O=r.column.id==="select",$=A||O&&we;return f(Pt,{className:a(mt?"py-2":"py-4",At&&u<P.getVisibleCells().length&&"border-r",s&&"sticky left-0 z-10 bg-sidebar/97",y&&"sticky right-0 z-10 bg-sidebar/97",A&&"sticky left-0 z-10 bg-sidebar/97","p-1"),style:{width:r.column.getSize()!==150?r.column.getSize():"auto",minWidth:r.column.getSize()!==150?r.column.getSize():"auto",...s&&{left:A?0:O?ne&&F.getColumn("serialNumber")?.getSize()||0:Ye(r.column)},...y&&{right:Nt(r.column)},...A&&{left:0}},children:Gt(r.column.columnDef.cell,r.getContext())},r.id)})},P.id)):f(ft,{children:f(Pt,{colSpan:Ke.length,className:"h-32 text-center border-0",children:E("div",{className:"flex flex-col items-center gap-3",children:[f("div",{className:"text-muted-foreground text-6xl",children:"\u{1F4CB}"}),f("p",{className:"text-muted-foreground font-medium",children:N})]})})})})]})}),c&&f("div",{className:"sticky bottom-0 bg-sidebar w-full z-20",style:{width:"100%",minWidth:"fit-content"},children:f(Bt,{children:f(ao,{children:f(ft,{className:"bg-sidebar",children:f(Pt,{colSpan:Ke.length,className:"p-2",children:c})})})})})]})})}),f(Vt,{table:F,config:n}),R&&R(F)]})})}import{Separator as Ia}from"radix-ui";import{jsx as Ba}from"react/jsx-runtime";function bt({className:e,orientation:t="horizontal",decorative:o=!0,...n}){return Ba(Ia.Root,{"data-slot":"separator-root",decorative:o,orientation:t,className:a("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...n})}import{Loader as Fa,X as La}from"lucide-react";import{AnimatePresence as Oa,motion as Va}from"framer-motion";import*as Le from"react";import*as bo from"react-dom";import{jsx as X,jsxs as vt}from"react/jsx-runtime";function vo({table:e,visible:t,container:o,children:n,className:l,...i}){let[c,h]=Le.useState(!1);Le.useLayoutEffect(()=>{h(!0)},[]),Le.useEffect(()=>{function p(N){N.key==="Escape"&&e&&e.toggleAllRowsSelected(!1)}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[e]);let C=o??(c?globalThis.document?.body:null);if(!C||!e)return null;let g=t??e.getFilteredSelectedRowModel().rows.length>0;return bo.createPortal(X(Oa,{children:g&&X(Va.div,{role:"toolbar","aria-orientation":"horizontal",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:20},transition:{duration:.3,ease:"easeInOut"},className:a("fixed inset-x-0 bottom-6 z-50 mx-auto flex w-fit flex-wrap items-center justify-center gap-2 rounded-xl border bg-primary/10 backdrop-blur-sm p-3 text-foreground ring-5 ring-primary/5",l),...i,children:X(He,{children:n})})}),C)}function ho({size:e="sm",tooltip:t,isPending:o,disabled:n,className:l,children:i,...c}){let h=X(b,{variant:"secondary",size:e,className:a("gap-1.5 rounded-lg border border-secondary bg-secondary/50 hover:bg-secondary/70 transition-all duration-200",e==="icon"?"size-8":"h-8 px-3",l),disabled:n||o,...c,children:o?X(Fa,{className:"animate-spin"}):i});return t?vt(Re,{children:[X(Me,{asChild:!0,children:h}),X(Ae,{sideOffset:8,className:"rounded-lg border font-semibold text-foreground bg-secondary [&>span]:hidden",children:X("p",{children:t})})]}):h}function xo({table:e}){let t=Le.useCallback(()=>{e&&e.toggleAllRowsSelected(!1)},[e]);return e?vt("div",{className:"flex h-8 items-center rounded-lg border bg-muted/50 pr-1 pl-3",children:[vt("span",{className:"whitespace-nowrap text-sm font-medium",children:[e.getFilteredSelectedRowModel().rows.length," selected"]}),X(bt,{orientation:"vertical",className:"mr-2 ml-3 data-[orientation=vertical]:h-4"}),vt(Re,{children:[X(Me,{asChild:!0,children:X(b,{variant:"ghost",size:"icon",className:"size-6 rounded-md",onClick:t,children:X(La,{className:"size-3.5"})})}),vt(Ae,{sideOffset:10,className:"flex items-center gap-2 rounded-lg border px-3 py-2 font-semibold text-foregroun bg-secondary [&>span]:hidden",children:[X("p",{children:"Clear selection"}),X("kbd",{className:"select-none rounded border bg-primary/50 px-2 py-1 font-mono font-normal text-[0.7rem] text-foreground shadow-sm",children:X("abbr",{title:"Escape",className:"no-underline",children:"Esc"})})]})]})]}):null}import{ArrowUpDown as hi,EyeOff as xi}from"lucide-react";import{jsx as Pi,jsxs as Ti}from"react/jsx-runtime";import{ChevronDown as ki,Eye as Ri}from"lucide-react";import{jsx as Ii,jsxs as Bi}from"react/jsx-runtime";import{Slot as Oi}from"radix-ui";import{cva as _a}from"class-variance-authority";import{jsx as Hi}from"react/jsx-runtime";var Gi=_a("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});import{Command as rs}from"cmdk";import{SearchIcon as ss}from"lucide-react";import{Dialog as Ui}from"radix-ui";import{XIcon as Ji}from"lucide-react";import{jsx as Ki,jsxs as Yi}from"react/jsx-runtime";import{jsx as ms,jsxs as ps}from"react/jsx-runtime";import{Popover as gs}from"radix-ui";import{jsx as hs}from"react/jsx-runtime";import{CheckIcon as Vs,PlusCircleIcon as _s}from"lucide-react";import{Fragment as js,jsx as Es,jsxs as Hs}from"react/jsx-runtime";import{useState as Oe,useEffect as yo,useMemo as Ut,useCallback as at,useRef as Ya}from"react";import{Loader2 as wo}from"lucide-react";import{Search as Ga,Download as Ea,RefreshCw as Ha,Filter as ja,ChevronDown as $a,Settings2 as Ua}from"lucide-react";import{Fragment as Wa,jsx as w,jsxs as W}from"react/jsx-runtime";function $t({fields:e,filters:t,globalFilter:o,onGlobalFilterChange:n,fieldFilters:l,onFieldFilterChange:i,sortField:c,sortDirection:h,onSortChange:C,selectedCount:g,totalCount:p,visibleCount:N,onExport:k,onRefresh:D,loading:S,onClearFilters:T,onClearSorting:R}){let d=e.filter(v=>v.sortable),m=Object.values(l).some(v=>v!=null&&v!=="")||o!=="",B=c!=="";return w("div",{className:"rounded-xl p-0.5",children:w("div",{className:"px-2",children:w("div",{className:"flex flex-col gap-6",children:W("div",{className:"flex items-center justify-between",children:[w("div",{className:"flex items-center gap-3",children:t.length>0&&W("div",{className:"flex items-center gap-3 flex-wrap",children:[w("div",{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:w(ja,{className:"h-4 w-4"})}),t.map(v=>w("div",{className:"relative min-w-[150px]",children:v.type==="select"?W(ze,{value:l[v.key]||"all",onValueChange:z=>i(v.key,z),children:[v.icon&&w(v.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),w(Be,{className:a("h-9 rounded-lg w-full",v.icon&&"pl-9"),children:w(Ie,{placeholder:v.placeholder||"Select..."})}),W(Fe,{className:"rounded-lg",children:[w(fe,{value:"all",children:"All"}),v.options?.map(z=>w(fe,{value:z.value,children:z.label},z.value))]})]}):W("div",{className:"relative",children:[v.icon&&w(v.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),w(tt,{type:v.type,placeholder:v.placeholder,value:l[v.key]||"",onChange:z=>i(v.key,z.target.value),className:a("h-9 rounded-lg",v.icon&&"pl-9")})]})},String(v.key)))]})}),W("div",{className:"flex items-center gap-2",children:[W("div",{className:"relative",children:[w(Ga,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),w(tt,{placeholder:"Global search...",value:o,onChange:v=>n(v.target.value),className:"pl-9 h-9 rounded-lg max-w-max"})]}),d.length>0&&W(be,{children:[w(ve,{asChild:!0,children:W(b,{variant:"outline",size:"sm",className:"rounded-lg gap-1",children:[w("span",{children:"Sort"}),w($a,{className:"h-4 w-4 opacity-50"})]})}),W(he,{align:"end",className:"w-[200px] rounded-lg",children:[w(te,{children:"Sort By"}),w(oe,{}),d.map(v=>W("div",{children:[W(G,{onClick:()=>C(v.key,"asc"),children:[v.label," (A-Z)"]}),W(G,{onClick:()=>C(v.key,"desc"),children:[v.label," (Z-A)"]})]},String(v.key))),B&&W(Wa,{children:[w(oe,{}),w(G,{onClick:R,children:"Clear All Sorting"})]})]})]}),W(be,{children:[w(ve,{asChild:!0,children:w(b,{variant:"outline",size:"sm",className:"rounded-lg",children:w(Ua,{className:"h-4 w-4"})})}),W(he,{align:"end",className:"w-[200px] rounded-lg",children:[w(te,{children:"Table Settings"}),w(oe,{}),w(G,{onClick:R,children:"Clear All Sorting"}),w(G,{onClick:T,children:"Clear All Filters"})]})]}),k&&W(b,{variant:"outline",size:"sm",onClick:k,className:"rounded-lg",children:[w(Ea,{className:"mr-2 h-4 w-4"}),"Export"]}),D&&w(b,{variant:"outline",size:"sm",onClick:D,disabled:S,className:"rounded-lg",children:w(Ha,{className:a("h-4 w-4",S&&"animate-spin")})})]})]})})})})}import{ChevronLeft as Ja,ChevronRight as qa,ChevronsLeft as Xa,ChevronsRight as Ka}from"lucide-react";import{jsx as V,jsxs as le}from"react/jsx-runtime";function Co({currentPage:e,totalPages:t,pageSize:o,totalItems:n,onPageChange:l,onPageSizeChange:i,config:c}){if(!c.enabled)return null;let h=c.pageSizeOptions||[10,20,50,100],C=(e-1)*o+1,g=Math.min(e*o,n),p=e>1,N=e<t,k=()=>{let S=[],T=[];for(let R=Math.max(2,e-2);R<=Math.min(t-1,e+2);R++)S.push(R);return e-2>2?T.push(1,"..."):T.push(1),T.push(...S),e+2<t-1?T.push("...",t):t>1&&T.push(t),T};return V("div",{className:"rounded-xl",children:le("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4",children:[V("div",{className:"flex items-center gap-6 text-sm text-muted-foreground",children:c.showInfo!==!1&&le("span",{children:["Showing ",C," to ",g," of ",n," entries"]})}),le("div",{className:"flex flex-col sm:flex-row items-center gap-4",children:[h&&le("div",{className:"flex items-center gap-2",children:[V("span",{className:"text-sm font-medium whitespace-nowrap",children:"Page size:"}),le(ze,{value:`${o}`,onValueChange:D=>i(Number(D)),children:[V(Be,{className:"h-9 w-[70px] rounded-lg",children:V(Ie,{})}),V(Fe,{side:"top",className:"rounded-lg",children:h.map(D=>V(fe,{value:`${D}`,children:D},D))})]})]}),le("div",{className:"flex items-center gap-2",children:[le(b,{variant:"outline",size:"sm",onClick:()=>l(1),disabled:!p,className:"hidden sm:flex rounded-lg",children:[V(Xa,{className:"h-4 w-4"}),V("span",{className:"sr-only",children:"Go to first page"})]}),le(b,{variant:"outline",size:"sm",onClick:()=>l(e-1),disabled:!p,className:"rounded-lg",children:[V(Ja,{className:"h-4 w-4 sm:mr-2"}),V("span",{className:"hidden sm:inline",children:"Previous"}),V("span",{className:"sr-only sm:hidden",children:"Go to previous page"})]}),c.showPageNumbers&&t>1&&V("div",{className:"hidden sm:flex items-center gap-1",children:k().map((D,S)=>{if(D==="...")return V("span",{className:"px-2 py-1 text-sm text-muted-foreground",children:"..."},`dots-${S}`);let T=D;return V(b,{variant:T===e?"default":"outline",size:"sm",className:"w-9 h-9 p-0 rounded-lg",onClick:()=>l(T),children:T},T)})}),le("div",{className:"sm:hidden flex items-center gap-2 px-3 py-1 text-sm font-medium bg-muted rounded-lg",children:[e," of ",t]}),le(b,{variant:"outline",size:"sm",onClick:()=>l(e+1),disabled:!N,className:"rounded-lg",children:[V("span",{className:"hidden sm:inline",children:"Next"}),V(qa,{className:"h-4 w-4 sm:ml-2"}),V("span",{className:"sr-only sm:hidden",children:"Go to next page"})]}),le(b,{variant:"outline",size:"sm",onClick:()=>l(t),disabled:!N,className:"hidden sm:flex rounded-lg",children:[V(Ka,{className:"h-4 w-4"}),V("span",{className:"sr-only",children:"Go to last page"})]})]})]})]})})}import{jsx as I,jsxs as $e}from"react/jsx-runtime";function No({data:e,template:t,fields:o=[],filters:n=[],pagination:l={enabled:!1},settings:i={},header:c,footer:h,className:C="",loading:g=!1,error:p,emptyMessage:N="No items found",emptyIcon:k,onSelectionChange:D,onExport:S,onRefresh:T,onTemplateReady:R,children:d}){let{enableSorting:m=!0,enableFiltering:B=!0,enableGlobalSearch:v=!0,enableSelection:z=!1,enableExport:xe=!1,toolbar:_e=!0,selectionMode:Ce="multiple",gridCols:Te={default:3,sm:1,md:2,lg:3,xl:4,"2xl":6},gap:ee=4,aspectRatio:Se="auto",minCardWidth:Y=350,maxCardWidth:We=350}=i,[Ge,Je]=Oe(""),[Ee,qe]=Oe({}),[ce,ct]=Oe(""),[ye,U]=Oe("asc"),[me,Xe]=Oe(new Set),[ne,we]=Oe(1),[De,Mt]=Oe(l.pageSize||12),[mt,At]=Oe(Te.default),j=Ut(()=>{let r=[...e];if(v&&Ge){let u=o.filter(s=>s.searchable!==!1);r=r.filter(s=>u.some(y=>s[y.key]?.toString().toLowerCase().includes(Ge.toLowerCase())))}if(B&&Object.keys(Ee).forEach(u=>{let s=Ee[u];if(s!=null&&s!==""){let y=o.find(A=>A.key===u);y&&(r=r.filter(A=>{let O=A[u];return y.type==="boolean"?O===(s==="true"):y.type==="number"?O===Number(s):O?.toString().toLowerCase().includes(String(s).toLowerCase())}))}}),m&&ce){let u=o.find(s=>s.key===ce);u&&r.sort((s,y)=>{let A=s[ce],O=y[ce];if(u.type==="number")return ye==="asc"?Number(A)-Number(O):Number(O)-Number(A);if(u.type==="date"){let $=new Date(A),re=new Date(O);return ye==="asc"?$.getTime()-re.getTime():re.getTime()-$.getTime()}else{let $=String(A).toLowerCase(),re=String(O).toLowerCase();return ye==="asc"?$.localeCompare(re):re.localeCompare($)}})}return r},[e,Ge,Ee,ce,ye,o,v,B,m]),pt=Ut(()=>{if(!l.enabled)return j;let r=(ne-1)*De,u=r+De;return j.slice(r,u)},[j,ne,De,l.enabled]),q=Math.ceil(j.length/De),ut=at(r=>{z&&Xe(u=>{let s=new Set(u);return Ce==="single"?(s.clear(),s.add(r)):s.has(r)?s.delete(r):s.add(r),s})},[z,Ce]),Ke=at(()=>{!z||Ce==="single"||(me.size===j.length?Xe(new Set):Xe(new Set(j.map((r,u)=>u))))},[z,Ce,me.size,j.length]),F=at((r,u)=>{qe(s=>({...s,[r]:u})),we(1)},[]),zt=at((r,u)=>{ct(r),U(u)},[]),Ct=at(()=>{Je(""),qe({}),we(1)},[]),yt=at(()=>{ct(""),U("asc")},[]),wt=Ut(()=>({getSelectedItems:()=>Array.from(me).map(r=>j[r]),clearSelection:()=>Xe(new Set),selectAll:Ke,getFilteredData:()=>j,getTotalCount:()=>e.length,getVisibleCount:()=>j.length,refresh:()=>T?.(),exportData:()=>S?.(j)}),[me,j,e.length,Ke,T,S]),Ye=Ya(null);Ye.current=wt,yo(()=>{R&&Ye.current&&R(Ye.current)},[]),yo(()=>{if(z&&D){let r=Array.from(me).map(u=>j[u]);D(r)}},[me]);let Nt=a("w-full","overflow-hidden",C),P=a("grid",`gap-${ee}`,"w-full","mx-auto","items-start"),M={gridTemplateColumns:mt===0?"repeat(auto-fill, 1fr)":`repeat(auto-fill, minmax(clamp(${Y}px, calc(100%/${mt} - ${ee*4}px), ${We}px), 1fr))`,justifyItems:"center",alignItems:"stretch",gridAutoRows:"1fr",gridAutoFlow:"dense"};return p?I(pe,{className:"w-full",children:I(ue,{className:"flex items-center justify-center py-12",children:$e("div",{className:"text-center",children:[I("div",{className:"text-red-500 mb-3 text-2xl",children:"\u26A0\uFE0F"}),I("p",{className:"text-sm text-muted-foreground mb-4",children:p}),T&&$e(b,{variant:"outline",size:"sm",onClick:T,children:[I(wo,{className:"mr-2 h-4 w-4"}),"Try Again"]})]})})}):$e("div",{className:a("w-full flex gap-2 flex-col h-full",Nt),children:[c&&I(pe,{className:"shadow-sm border-0 py-0 text-xl font-bold",children:I(ue,{className:"p-2",children:c})}),_e&&I($t,{fields:o,filters:n,globalFilter:Ge,onGlobalFilterChange:Je,fieldFilters:Ee,onFieldFilterChange:F,sortField:ce,sortDirection:ye,onSortChange:zt,selectedCount:me.size,totalCount:e.length,visibleCount:j.length,onExport:xe?()=>S?.(j):void 0,onRefresh:T,loading:g,onClearFilters:Ct,onClearSorting:yt}),I(pe,{className:"border-0 overflow-auto shadow-none py-0 p-2 flex-1",children:I(ue,{className:"px-0",children:$e("div",{className:"relative",children:[g&&I("div",{className:"absolute inset-0 bg-background/80 backdrop-blur-sm z-50 flex items-center justify-center rounded-lg",children:$e("div",{className:"flex items-center gap-3 bg-background/90 px-4 py-3 rounded-lg shadow-sm",children:[I(wo,{className:"size-5 animate-spin text-primary"}),I("span",{className:"text-sm font-medium text-muted-foreground",children:"Loading..."})]})}),pt.length>0?I("div",{className:a(P),style:M,children:pt.map((r,u)=>{let s=l.enabled?(ne-1)*De+u:u,y=me.has(s);return $e("div",{className:a("relative h-full w-full flex flex-col","transition-all duration-200 overflow-hidden","rounded-2xl","border border-border/20 hover:border-border/50",Se==="square"?"aspect-square":"",Se==="video"?"aspect-video":"",z?"cursor-pointer":"",y?"ring-2 ring-primary":""),onClick:()=>z&&ut(s),children:[z&&Ce==="multiple"&&I("div",{className:"absolute top-2 right-2 z-10",children:I(gt,{checked:y,onCheckedChange:()=>ut(s),className:"bg-background/80 backdrop-blur-sm",onClick:A=>A.stopPropagation()})}),t(r,u,y,()=>ut(s))]},s)})}):$e("div",{className:"flex flex-col gap-4 items-center justify-center py-12 text-center",children:[I("div",{className:"text-6xl",children:k||"\u{1F4CB}"}),I("p",{className:"text-lg font-medium text-muted-foreground mb-2",children:N}),(Ge||Object.values(Ee).some(r=>r))&&I(b,{variant:"outline",onClick:Ct,children:"Clear Filters"})]})]})})}),l.enabled&&I("div",{className:"pb-1",children:I(Co,{currentPage:ne,totalPages:q,pageSize:De,totalItems:j.length,onPageChange:we,onPageSizeChange:r=>{Mt(r),we(1)},config:l})}),h&&I("div",{className:"p-2 m-0.5",children:h}),d&&d(wt)]})}import{Loader as Za,X as Qa}from"lucide-react";import{AnimatePresence as en,motion as tn}from"framer-motion";import*as Ve from"react";import*as Po from"react-dom";import{jsx as K,jsxs as ht}from"react/jsx-runtime";function To({controller:e,visible:t,container:o,children:n,className:l,...i}){let[c,h]=Ve.useState(!1);Ve.useLayoutEffect(()=>{h(!0)},[]),Ve.useEffect(()=>{function N(k){k.key==="Escape"&&e&&e.clearSelection()}return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e]);let C=o??(c?globalThis.document?.body:null);if(!C||!e)return null;let g=e.getSelectedItems(),p=t??g.length>0;return Po.createPortal(K(en,{children:p&&K(tn.div,{role:"toolbar","aria-orientation":"horizontal",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:20},transition:{duration:.3,ease:"easeInOut"},className:a("fixed inset-x-0 bottom-6 z-50 mx-auto flex w-fit flex-wrap items-center justify-center gap-2 rounded-xl border bg-primary/10 backdrop-blur-sm p-3 text-foreground ring-8 ring-primary/5",l),...i,children:K(He,{children:n})})}),C)}function So({size:e="sm",variant:t="secondary",tooltip:o,isPending:n,disabled:l,className:i,children:c,onClick:h,...C}){let g=K(b,{variant:t,size:e,className:a("gap-1.5 rounded-lg border border-secondary bg-secondary/50 hover:bg-secondary/70 transition-all duration-200",e==="icon"?"size-8":"h-8 px-3",i),disabled:l||n,onClick:h,...C,children:n?K(Za,{className:"animate-spin"}):c});return o?ht(Re,{children:[K(Me,{asChild:!0,children:g}),K(Ae,{sideOffset:8,className:"rounded-lg border font-semibold text-foreground bg-secondary [&>span]:hidden",children:K("p",{children:o})})]}):g}function Do({controller:e}){let t=Ve.useCallback(()=>{e&&e.clearSelection()},[e]);if(!e)return null;let o=e.getSelectedItems();return ht("div",{className:"flex h-8 items-center rounded-lg border bg-muted/50 pr-1 pl-3",children:[ht("span",{className:"whitespace-nowrap text-sm font-medium",children:[o.length," selected"]}),K(bt,{orientation:"vertical",className:"mr-2 ml-3 data-[orientation=vertical]:h-4"}),ht(Re,{children:[K(Me,{asChild:!0,children:K(b,{variant:"ghost",size:"icon",className:"size-6 rounded-md",onClick:t,children:K(Qa,{className:"size-3.5"})})}),ht(Ae,{sideOffset:10,className:"flex items-center gap-2 rounded-lg border px-3 py-2 font-semibold text-foreground bg-secondary [&>span]:hidden",children:[K("p",{children:"Clear selection"}),K("kbd",{className:"select-none rounded border bg-primary/50 px-2 py-1 font-mono font-normal text-[0.7rem] text-foreground shadow-sm",children:K("abbr",{title:"Escape",className:"no-underline",children:"Esc"})})]})]})]})}import{jsx as nn}from"react/jsx-runtime";var on={none:"gap-0",tight:"gap-2",default:"gap-4",loose:"gap-6","extra-loose":"gap-8"},an={none:"p-0",tight:"p-2",default:"p-4",loose:"p-6"},ko=({children:e,className:t,spacing:o="tight",padding:n="none"})=>nn("div",{className:a("flex flex-col h-full",on[o],an[n],t),children:e});import{ArrowLeftIcon as Ro,ChevronRight as rn}from"lucide-react";import{NavLink as sn}from"react-router";import{jsx as Q,jsxs as Ue}from"react/jsx-runtime";var Mo=({className:e,columns:t=[],showBackButton:o=!0,meta:n={title:""}})=>{let l=()=>{if(!n.backAction||!o)return null;let p={variant:"secondary",size:"icon",className:"hover:bg-primary/20 inline-flex"};return n.backAction.href?Q(sn,{to:n.backAction.href,children:Ue(b,{...p,children:[Q(Ro,{className:"size-6"}),n.backAction.content]})}):Ue(b,{...p,onClick:n.backAction.onClick,children:[Q(Ro,{className:"size-6"}),n.backAction.content]})},i=()=>!n.metadata||n.metadata.length===0?null:Q("div",{className:"flex gap-4",children:n.metadata.map((p,N)=>p.value&&Ue("div",{className:"text-sm",children:[Ue("span",{className:"text-muted-foreground",children:[p.label," "]}),Q("span",{children:p.value})]},N))}),c=()=>n.status?Q("span",{className:a("inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",{success:"bg-green-100 text-green-800",warning:"bg-yellow-100 text-yellow-800",critical:"bg-red-100 text-red-800",info:"bg-blue-100 text-blue-800",default:"bg-gray-100 text-gray-800"}[n.status.color]),children:n.status.content}):null,h={content:Ue("div",{className:"flex gap-2 items-center",children:[l(),Ue("div",{className:"flex flex-col gap-2 w-max",children:[Q("h1",{className:"text-2xl font-bold tracking-tight",children:n.title}),c(),n.description&&Q("p",{className:"text-muted-foreground",children:n.description}),i(),n.breadcrumbs&&n.breadcrumbs.length>0&&Q("div",{className:"flex items-center text-sm text-muted-foreground",children:n.breadcrumbs.map((p,N)=>Ue("div",{className:"flex items-center",children:[p.href?Q("span",{className:"hover:text-primary hover:underline",children:p.label}):Q("span",{children:p.label}),N<n.breadcrumbs.length-1&&Q(rn,{className:"mx-2 h-4 w-4"})]},N))})]})]}),align:"left",width:"fill"},C={content:n.primaryActions,align:"right",width:"auto"},g=[h,...t.filter(p=>p!==void 0),C];return Q("div",{className:a("flex items-center w-full gap-4 p-2",e),children:g.map((p,N)=>Q("div",{className:a("flex items-center h-full",p.className,{"justify-start":p.align==="left","justify-center":p.align==="center","justify-end":p.align==="right","flex-1":p.width==="fill"}),children:p.content},N))})};import cn,{useState as mn,createContext as pn,useContext as un}from"react";import{Dialog as xt}from"radix-ui";import{XIcon as ln}from"lucide-react";import{jsx as nt,jsxs as Wt}from"react/jsx-runtime";function Ao({...e}){return nt(xt.Root,{"data-slot":"sheet",...e})}function Jt({...e}){return nt(xt.Portal,{"data-slot":"sheet-portal",...e})}function dn({className:e,...t}){return nt(xt.Overlay,{"data-slot":"sheet-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function zo({className:e,children:t,side:o="right",...n}){return Wt(Jt,{children:[nt(dn,{}),Wt(xt.Content,{"data-slot":"sheet-content",className:a("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",o==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",o==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",o==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",o==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...n,children:[t,Wt(xt.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[nt(ln,{className:"size-4"}),nt("span",{className:"sr-only",children:"Close"})]})]})]})}import{Fragment as vn,jsx as H,jsxs as it}from"react/jsx-runtime";var Io=pn(!1),St={"one-half":["w-1/2","w-1/2"],"one-third":["w-1/3","w-2/3"],"two-third":["w-2/3","w-1/3"],"one-fourth":["w-1/4","w-3/4"],"three-fourth":["w-3/4","w-1/4"],"one-fifth":["w-1/5","w-4/5"],"four-fifth":["w-4/5","w-1/5"]},rt={none:"p-0",tight:"p-2",default:"p-4",loose:"p-6"},fn=(e,t)=>{let[o,n]=St[t];return{container:"inset-y-0 z-50 transition-all duration-500 ease-in-out",content:a("h-full bg-background transition-all duration-500 ease-in-out",e==="right"?"border-l":"border-r"),transform:e==="right"?"translate-x-full":"-translate-x-full",transformOpen:"translate-x-0",contentPushClass:e==="right"?n:o,sheetPushClass:e==="right"?o:n}},gn="flex flex-col overflow-hidden rounded-2xl relative",bn={default:"bg-background",card:"bg-background shadow-sm border",border:"bg-background border-2",transparent:"bg-transparent"},Bo=e=>{let{children:t,className:o,variant:n="default",layout:l="full",header:i,footer:c,headerClassName:h,footerClassName:C,parentContainer:g=!1,padding:p=g?"none":"tight"}=e,N=un(Io),[k,D]=mn(!1),S=cn.useCallback(R=>H("div",{className:a("flex-1 overflow-auto h-full no-scrollbar",g&&"flex",!g&&rt[p]),children:R}),[p,g]),T=()=>{switch(l){case"split":{let{splitRatio:R="three-fourth",reverse:d=!1}=e;if(!Array.isArray(t)||t.length!==2)return H("div",{className:"flex items-center justify-center h-full text-red-500",children:'Error: AppContent with layout="split" requires exactly 2 children'});let[m,B]=St[R],[v,z]=d?[t[1],t[0]]:[t[0],t[1]],[xe,_e]=d?[B,m]:[m,B];return it("div",{className:"flex h-full gap-2",children:[H("div",{className:a(xe,"overflow-auto"),children:S(v)}),H("div",{className:a(_e,"overflow-auto"),children:S(z)})]})}case"with-sheet":{let{sheetContent:R,sheetWidth:d="four-fifth",sheetSide:m="right",sheetMode:B="container",sheetClassName:v,isSheetOpen:z,onSheetOpenChange:xe,disableOverlay:_e=!0,showSheetOverlay:Ce=!0}=e,Te=z!==void 0&&xe,ee=Te?z:k,Se=Te?xe:D;if(B==="container"){let Y=fn(m,d),We=St[d][0];return _e?it("div",{className:a("flex relative flex-1 overflow-hidden"),children:[H("div",{className:a("h-full overflow-auto transition-all duration-500",ee?Y.contentPushClass:"w-full",ee&&"overflow-y-auto overflow-x-hidden"),children:H("div",{className:a("h-full",!g&&rt[p]),children:t})}),H("div",{className:a(Y.container,"transition-all duration-500 ease-in-out h-full",We,ee&&["left","right"].includes(m)?a(Y.sheetPushClass,"overflow-y-auto"):ee?Y.transformOpen:a(Y.transform,"hidden"),"overflow-y-auto"),children:H("div",{className:a(Y.content,v,"h-full"),children:R})})]}):it("div",{className:a("flex relative flex-1 overflow-hidden"),children:[H("div",{className:a("h-full overflow-auto w-full transition-all duration-500 relative z-10"),children:H("div",{className:a("h-full",!g&&rt[p]),children:t})}),it("div",{className:a("absolute inset-0 z-20",!ee&&"pointer-events-none"),children:[Ce&&H("div",{className:a("absolute inset-0 bg-black/50 transition-opacity duration-500",ee?"opacity-100":"opacity-0 pointer-events-none"),onClick:()=>Se(!1)}),H("div",{className:a(Y.container,"transition-all duration-500 backdrop-blur-2xl ease-in-out h-full absolute",We,ee?"translate-x-0 opacity-100":a(m==="right"?"translate-x-full":"-translate-x-full","opacity-0 pointer-events-none"),"overflow-y-auto"),style:{[m]:0},children:H("div",{className:a(Y.content,v,"h-full"),children:R})})]})]})}return it(vn,{children:[t,H(Ao,{open:ee,onOpenChange:Se,children:H(Jt,{children:H(zo,{side:m,className:a("fixed bg-background border sm:max-w-full","transition-all duration-500 ease-in-out",St[d][0],v),children:R})})})]})}default:return S(t)}};return H(Io.Provider,{value:!0,children:it("div",{className:a(gn,bn[n],rt[p],N&&"flex-1",g&&"h-full",!g&&"rounded-2xl",o),children:[i&&H("div",{className:a("border-b",h,n==="card"&&!g&&"rounded-t-2xl",n==="border"&&"border-b-2",rt[p]),children:i}),T(),c&&H("div",{className:a("border-t",C,n==="card"&&!g&&"rounded-b-2xl",n==="border"&&"border-t-2",rt[p]),children:c})]})})};import{jsx as qt}from"react/jsx-runtime";var Fo=({className:e,columns:t=[],meta:o={title:""}})=>{let n={content:qt("div",{className:"flex items-center gap-4 p-2",children:o.secondaryActions}),align:"right",width:"fill"},l=[...t.filter(i=>i!==void 0),n];return qt("div",{className:a("flex items-center w-full gap-4",e),children:l.map((i,c)=>qt("div",{className:a("flex items-center h-full",i.className,{"justify-start":i.align==="left","justify-center":i.align==="center","justify-end":i.align==="right","flex-1":i.width==="fill"}),children:i.content},c))})};import{jsx as Dt}from"react/jsx-runtime";function hn({useTypedAppMeta:e}){return{AppHeader:i=>{let{meta:c}=e();return Dt(Mo,{...i,meta:c})},AppFooter:i=>{let{meta:c}=e();return Dt(Fo,{...i,meta:c})},AppContent:i=>Dt(Bo,{...i}),AppContainer:i=>Dt(ko,{...i})}}import{createContext as Lo,useContext as xn,useState as Oo,useCallback as kt,useMemo as Vo}from"react";import{jsx as _o}from"react/jsx-runtime";var Cn=Lo(void 0),yn=({children:e})=>{let[t,o]=Oo({title:"",description:"",breadcrumbs:[]}),n=kt(c=>{o(h=>Object.keys(c).some(g=>JSON.stringify(h[g])!==JSON.stringify(c[g]))?{...h,...c}:h)},[]),l=kt(()=>{o(c=>c.title===""&&c.description===""&&(c.breadcrumbs?.length??0)===0?c:{title:"",description:"",breadcrumbs:[]})},[]),i=Vo(()=>({meta:t,setMeta:n,resetMeta:l}),[t,n,l]);return _o(Cn.Provider,{value:i,children:e})};function wn(){let e=Lo(void 0);return{TypedAppMetaProvider:({children:n})=>{let[l,i]=Oo({title:"",description:"",breadcrumbs:[]}),c=kt(g=>{i(p=>Object.keys(g).some(k=>{let D=p[k],S=g[k];return JSON.stringify(D)!==JSON.stringify(S)})?{...p,...g}:p)},[]),h=kt(()=>{i(g=>g.title===""&&g.description===""&&(g.breadcrumbs?.length??0)===0?g:{title:"",description:"",breadcrumbs:[]})},[]),C=Vo(()=>({meta:l,setMeta:c,resetMeta:h}),[l,c,h]);return _o(e.Provider,{value:C,children:n})},useTypedAppMeta:()=>{let n=xn(e);if(!n)throw new Error("useTypedAppMeta must be used within a TypedAppMetaProvider");return n},TypedAppMetaContext:e}}import{useEffect as Nn,useMemo as Xt}from"react";function Pn({useTypedAppMeta:e}){function t(o){let{setMeta:n,resetMeta:l}=e(),i=Xt(()=>{if(o.backAction)return{...o.backAction,onClick:o.backAction.onClick}},[o.backAction?.content,o.backAction?.href,o.backAction?.onClick?.toString()]),c=Xt(()=>o.metadata,[JSON.stringify(o.metadata)]),h=Xt(()=>({...o,backAction:i,metadata:c}),[o.title,o.description,o.breadcrumbs,o.primaryActions,o.secondaryActions,o.pagination,o.status,i,c]);Nn(()=>(n(h),()=>l()),[h,n,l])}return{usePageTemplate:t}}import{useState as Go}from"react";import{Copy as Tn,Check as Sn,Loader2Icon as Dn}from"lucide-react";import{jsx as Ne,jsxs as Eo}from"react/jsx-runtime";var Kt=class{static currencyFormatter=new Intl.NumberFormat("en-IN",{style:"currency",currency:"INR",maximumFractionDigits:2});static compactFormatter=new Intl.NumberFormat("en-IN",{style:"currency",currency:"INR",notation:"compact",maximumFractionDigits:1});static MONTH_NAMES_SHORT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];static async copyToClipboard(t){if(t)try{await navigator.clipboard.writeText(t)}catch(o){throw console.error("Failed to copy text:",o),o}}static CopyToClipboard=({text:t,children:o,className:n,size:l="icon",variant:i="ghost"})=>{let[c,h]=Go(!1),[C,g]=Go(!1),p=async()=>{if(!(!t||C)){g(!0);try{await this.copyToClipboard(t),h(!0),setTimeout(()=>h(!1),2e3)}catch(N){console.error("Failed to copy text:",N)}finally{g(!1)}}};return Eo(Re,{children:[Ne(Me,{asChild:!0,children:Ne(b,{variant:i,size:l,className:a(l==="icon"&&"size-6",n),onClick:p,disabled:C||!t,children:C?Ne(Dn,{className:"animate-spin"}):c?Ne(Sn,{className:"h-3 w-3"}):o||Ne(Tn,{className:"h-3 w-3"})})}),Ne(Ae,{children:c?"Copied!":C?"Copying...":"Copy to clipboard"})]})};static formatINR(t,o={}){let{prefix:n="",suffix:l="",withSymbol:i=!0,compact:c=!1}=o;if(typeof t!="number"||isNaN(t))return`${n}${i?"\u20B9 ":""}0.00${l}`;let h=t<0,C=Math.abs(t),p=(c&&C>=1e5?this.compactFormatter:this.currencyFormatter).format(C).replace("\u20B9","");return`${n}${h?"- ":""}${i?"\u20B9 ":""}${p}${l}`}static formatDate(t,o={}){let{format:n="dd-mm-yyyy",separator:l="-"}=o,i=new Date(t);if(isNaN(i.getTime()))return"";let c=String(i.getDate()).padStart(2,"0"),h=String(i.getMonth()+1).padStart(2,"0"),C=this.MONTH_NAMES_SHORT[i.getMonth()],g=i.getFullYear();switch(n){case"dd-mmm-yyyy":return`${c}${l}${C}${l}${g}`;case"iso":return i.toISOString().split("T")[0];case"long":return i.toLocaleDateString("en-IN",{year:"numeric",month:"long",day:"numeric"});case"short":return i.toLocaleDateString("en-IN");default:return`${c}${l}${h}${l}${g}`}}static toProperCase(t){return t?t.toLowerCase().split(" ").map(o=>o.charAt(0).toUpperCase()+o.slice(1)).join(" "):""}static toProperCaseAdvanced(t){return t?t.toLowerCase().split(/(\s+|['-])/).map((o,n,l)=>["-","'"," "].includes(o)||n>0&&["-","'"].includes(l[n-1])?o:o.charAt(0).toUpperCase()+o.slice(1)).join(""):""}static StatusBadge=({status:t,className:o,showDot:n=!0,capitalize:l=!0,size:i="md",variant:c="outline",customColors:h,icon:C,trueMessage:g="active",falseMessage:p="inactive"})=>{let N=typeof t=="boolean"?t?g:p:typeof t=="number"?t>0?g:p:t.toLowerCase(),k={active:{label:"active",solid:{bg:"bg-emerald-500",text:"text-white",border:"border-emerald-600",dot:"bg-white"},outline:{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-100",dot:"bg-emerald-500"},subtle:{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-transparent",dot:"bg-emerald-500"}},pending:{label:"pending",solid:{bg:"bg-amber-500",text:"text-white",border:"border-amber-600",dot:"bg-white"},outline:{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-100",dot:"bg-amber-500"},subtle:{bg:"bg-amber-50",text:"text-amber-700",border:"border-transparent",dot:"bg-amber-500"}},inactive:{label:"inactive",solid:{bg:"bg-rose-500",text:"text-white",border:"border-rose-600",dot:"bg-white"},outline:{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-100",dot:"bg-rose-500"},subtle:{bg:"bg-rose-50",text:"text-rose-700",border:"border-transparent",dot:"bg-rose-500"}},draft:{label:"draft",solid:{bg:"bg-gray-500",text:"text-white",border:"border-gray-600",dot:"bg-white"},outline:{bg:"bg-gray-50",text:"text-gray-700",border:"border-gray-100",dot:"bg-gray-500"},subtle:{bg:"bg-gray-50",text:"text-gray-700",border:"border-transparent",dot:"bg-gray-500"}},completed:{label:"completed",solid:{bg:"bg-indigo-500",text:"text-white",border:"border-indigo-600",dot:"bg-white"},outline:{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-100",dot:"bg-indigo-500"},subtle:{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-transparent",dot:"bg-indigo-500"}}},D=k[N.toLowerCase()]||k.inactive,S=h||D[c],T={sm:"text-xs px-2 py-0.5",md:"text-xs px-2.5 py-0.5",lg:"text-sm px-3 py-1"},R=l?N.charAt(0).toUpperCase()+N.slice(1):N;return Ne("div",{className:"flex justify-center",children:Eo("span",{className:a("inline-flex items-center gap-1.5 rounded-full border font-medium",S.bg,S.text,S.border,T[i],o),children:[n&&(C?Ne("span",{className:"flex items-center",children:C}):Ne("span",{className:a("size-2 rounded-full",S.dot),"aria-hidden":"true"})),R]})})}};import{AlertTriangleIcon as kn}from"lucide-react";import{useRouteError as Rn,isRouteErrorResponse as Mn,useNavigate as An}from"react-router";import{Fragment as Yt,jsx as de,jsxs as st}from"react/jsx-runtime";var Ho=()=>{let e=Rn(),t=An();return de("div",{className:"rounded-2xl flex justify-center items-center h-full bg-sidebar px-4",children:st("div",{className:"flex flex-col items-center space-y-4 text-center",children:[de(kn,{className:"h-16 w-16 text-destructive"}),Mn(e)?st(Yt,{children:[st("h2",{className:"text-3xl font-semibold text-destructive",children:["Error ",e.status,": ",e.statusText]}),typeof e.data=="string"?de("pre",{className:"text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left",children:e.data}):e.data?.message&&de("pre",{className:"text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left",children:e.data.message})]}):e instanceof Error?st(Yt,{children:[de("h2",{className:"text-3xl font-semibold text-destructive",children:"Unexpected Error"}),de("pre",{className:"text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left",children:e.message}),e.stack&&st("details",{className:"mt-2 text-sm text-muted-foreground max-w-4xl text-left",children:[de("summary",{className:"cursor-pointer underline",children:"Stack Trace"}),de("pre",{className:"whitespace-pre-wrap",children:e.stack})]})]}):st(Yt,{children:[de("h2",{className:"text-3xl font-semibold text-destructive",children:"Unknown Error"}),de("pre",{className:"text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left",children:typeof e=="string"?e:JSON.stringify(e,null,2)})]}),de(b,{variant:"outline",onClick:()=>t(-1),children:"Go Back"})]})})};import{motion as Pe}from"framer-motion";import{jsx as _,jsxs as ae}from"react/jsx-runtime";function zn({size:e=100,strokeWidth:t=2,color:o="currentColor",className:n=""}){return ae(Pe.svg,{width:e,height:e,viewBox:"0 0 100 100",initial:"hidden",animate:"visible",className:n,children:[_("title",{children:"Animated Checkmark"}),_(Pe.circle,{cx:"50",cy:"50",r:"40",stroke:o,custom:0,style:{strokeWidth:t,strokeLinecap:"round",fill:"transparent"}}),_(Pe.path,{d:"M30 50L45 65L70 35",stroke:o,custom:1,style:{strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round",fill:"transparent"}})]})}function jo(){return _(pe,{className:"w-full max-w-sm mx-auto p-6 min-h-[300px] flex flex-col justify-center bg-background",children:ae(ue,{className:"space-y-4 flex flex-col items-center justify-center",children:[_(Pe.div,{className:"flex justify-center",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:.4,ease:[.4,0,.2,1],scale:{type:"spring",damping:15,stiffness:200}},children:ae("div",{className:"relative",children:[_(Pe.div,{className:"absolute inset-0 bg-primary/5 rounded-full",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{delay:.2,duration:.8,ease:"circOut"}}),_(zn,{size:80,strokeWidth:4,color:"rgb(16 185 129)",className:"relative z-10 dark:drop-shadow-[0_0_10px_rgba(0,0,0,0.1)]"})]})}),ae(Pe.div,{className:"space-y-2 text-center w-full",initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.2,duration:.6,ease:[.4,0,.2,1]},children:[_(Pe.h2,{className:"text-lg text-zinc-100 dark:text-zinc-900 tracking-tighter font-semibold uppercase",initial:{opacity:0,y:5},animate:{opacity:1,y:0},transition:{delay:1,duration:.4},children:"Transfer Successful"}),_("div",{className:"flex items-center gap-4",children:_(Pe.div,{className:"flex-1 bg-zinc-800/50 dark:bg-zinc-50/50 rounded-xl p-3 border border-zinc-700/50 dark:border-zinc-200/50 backdrop-blur-md",initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{delay:1.2,duration:.4,ease:[.4,0,.2,1]},children:ae("div",{className:"flex flex-col items-start gap-2",children:[ae("div",{className:"space-y-1.5",children:[ae("span",{className:"text-xs font-medium text-secondary-foreground flex items-center gap-1.5",children:[ae("svg",{className:"w-3 h-3",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[_("title",{children:"From"}),_("path",{d:"M12 19V5M5 12l7-7 7 7"})]}),"From"]}),ae("div",{className:"flex items-center gap-2.5 group transition-all",children:[_("span",{className:"inline-flex items-center justify-center w-7 h-7 rounded-lg bg-zinc-900 dark:bg-white shadow-lg border border-zinc-700 dark:border-zinc-300 text-sm font-medium text-zinc-100 dark:text-zinc-900 group-hover:scale-105 transition-transform",children:"$"}),_("span",{className:"font-medium text-zinc-100 dark:text-zinc-900 tracking-tight",children:"500.00 USD"})]})]}),_("div",{className:"w-full h-px bg-gradient-to-r from-transparent via-zinc-700 dark:via-zinc-300 to-transparent"}),ae("div",{className:"space-y-1.5",children:[ae("span",{className:"text-xs font-medium text-secondary-foreground flex items-center gap-1.5",children:[ae("svg",{className:"w-3 h-3",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[_("title",{children:"To"}),_("path",{d:"M12 5v14M5 12l7 7 7-7"})]}),"To"]}),ae("div",{className:"flex items-center gap-2.5 group transition-all",children:[_("span",{className:"inline-flex items-center justify-center w-7 h-7 rounded-lg bg-zinc-900 dark:bg-white shadow-lg border border-zinc-700 dark:border-zinc-300 text-sm font-medium text-zinc-100 dark:text-zinc-900 group-hover:scale-105 transition-transform",children:"\u20AC"}),_("span",{className:"font-medium text-zinc-100 dark:text-zinc-900 tracking-tight",children:"460.00 EUR"})]})]})]})})}),_(Pe.div,{className:"w-full text-xs text-secondary-foreground mt-2 text-center",initial:{opacity:0},animate:{opacity:1},transition:{delay:1.4,duration:.4},children:"Exchange Rate: 1 USD = 0.92 EUR"})]})]})})}import{jsx as Rt,jsxs as In}from"react/jsx-runtime";var $o=()=>Rt("div",{className:"rounded-2xl flex justify-center items-center h-full bg-transparent",children:In("div",{className:"flex flex-col items-center space-y-4",children:[Rt("div",{className:"animate-spin rounded-full border-t-4 border-ring h-16 w-16 mb-4"}),Rt("h2",{className:"text-xl font-semibold text-muted-foreground",children:"Loading, please wait..."}),Rt("p",{className:"text-sm text-muted-foreground",children:"Your content is on its way."})]})});import{useLocation as Bn}from"react-router";import{GhostIcon as Fn}from"lucide-react";import{NavLink as Ln,useNavigate as On}from"react-router";import{jsx as lt,jsxs as Zt}from"react/jsx-runtime";var Uo=()=>{let e=Bn(),t=On(),o=()=>{window.history.length>2?t(-1):t("/")};return Zt("div",{className:"rounded-2xl flex flex-col items-center justify-center h-full p-6 text-center bg-sidebar text-muted-foreground select-none",children:[lt(Fn,{className:"h-15 w-15 text-destructive mb-4"}),lt("h1",{className:"text-2xl font-bold text-destructive mb-2",children:"Page Not Found"}),Zt("p",{className:"text-xl mb-4",children:["The page ",lt("code",{className:"px-1 py-0.5 rounded bg-muted text-foreground",children:e.pathname})," doesn't exist or has been moved."]}),Zt("div",{className:"flex space-x-4",children:[lt(b,{variant:"outline",onClick:o,children:"Go Back"}),lt(b,{variant:"ghost",children:lt(Ln,{to:"/",children:"Return Home"})})]})]})};import{WifiOffIcon as Vn}from"lucide-react";import{jsx as Qt,jsxs as _n}from"react/jsx-runtime";var Wo=()=>_n("div",{className:"rounded-2xl flex flex-col items-center justify-center h-screen p-6 text-center text-muted-foreground bg-background select-none",children:[Qt(Vn,{className:"h-15 w-15 text-destructive mb-4"}),Qt("h1",{className:"text-3xl font-bold text-destructive mb-2",children:"You're offline"}),Qt("p",{className:"text-xl max-w-md",children:"We couldn't connect to the server."})]});import{ShieldOffIcon as Gn}from"lucide-react";import{NavLink as En,useNavigate as Hn}from"react-router";import{jsx as dt,jsxs as Jo}from"react/jsx-runtime";var qo=()=>{let e=Hn();return Jo("div",{className:"rounded-2xl flex flex-col items-center justify-center h-full p-6 text-center bg-sidebar text-muted-foreground select-none",children:[dt(Gn,{className:"h-15 w-15 text-destructive mb-4"}),dt("h1",{className:"text-2xl font-bold text-destructive mb-2",children:"Access Denied"}),dt("p",{className:"text-xl mb-4",children:"You don't have permission to view this page. Please sign in with an authorized account or contact your administrator."}),Jo("div",{className:"flex space-x-4",children:[dt(b,{variant:"outline",onClick:()=>{window.history.length>2?e(-1):e("/")},children:"Go Back"}),dt(b,{variant:"ghost",children:dt(En,{to:"/",children:"Go to Home"})})]})]})};export{yn as AppMetaProvider,jo as CurrencyTransfer,go as DataTable,vo as DataTableActionBar,ho as DataTableActionBarAction,xo as DataTableActionBarSelection,No as DataTemplate,To as DataTemplateActionBar,So as DataTemplateActionBarAction,Do as DataTemplateActionBarSelection,Ho as ErrorComponent,Kt as GeneralHelper,$o as Loader,Uo as NotFound,Wo as OfflineUI,qo as Unauthorized,hn as createLayoutComponents,Pn as createPageTemplateHook,wn as createTypedAppMetaContext};
|
|
2
|
+
import{flexRender as Qt,getCoreRowModel as Wa,getFilteredRowModel as Ja,getPaginationRowModel as qa,getSortedRowModel as Xa,useReactTable as Ka}from"@tanstack/react-table";import{Loader2 as ko,ChevronUp as eo,ChevronDown as to,ChevronsUpDown as Ya,MoreHorizontal as Za,MoveRightIcon as Qa,PinOffIcon as en}from"lucide-react";import{Slot as fa}from"radix-ui";import{cva as ga}from"class-variance-authority";import{clsx as pa}from"clsx";import{twMerge as ua}from"tailwind-merge";function o(...e){return ua(pa(e))}import{jsx as ba}from"react/jsx-runtime";var Rt=ga("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function g({className:e,variant:t,size:a,asChild:n=!1,...s}){let i=n?fa.Slot:"button";return ba(i,{"data-slot":"button",className:o(Rt({variant:t,size:a,className:e}),"transition-none"),...s})}import{jsx as ke}from"react/jsx-runtime";function jt({className:e,...t}){return ke("div",{"data-slot":"table-container",className:"relative w-full overflow-auto max-h-full",children:ke("table",{"data-slot":"table",className:o("w-full caption-bottom text-sm",e),...t})})}function go({className:e,...t}){return ke("thead",{"data-slot":"table-header",className:o("[&_tr]:border-b",e),...t})}function bo({className:e,...t}){return ke("tbody",{"data-slot":"table-body",className:o("[&_tr:last-child]:border-0",e),...t})}function vo({className:e,...t}){return ke("tfoot",{"data-slot":"table-footer",className:o("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t})}function pt({className:e,...t}){return ke("tr",{"data-slot":"table-row",className:o("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function ho({className:e,...t}){return ke("th",{"data-slot":"table-head",className:o("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap",e),...t})}function Mt({className:e,...t}){return ke("td",{"data-slot":"table-cell",className:o("p-2 align-middle whitespace-nowrap",e),...t})}import{jsx as xo}from"react/jsx-runtime";function be({className:e,...t}){return xo("div",{"data-slot":"card",className:o("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function ve({className:e,...t}){return xo("div",{"data-slot":"card-content",className:o("px-6",e),...t})}import{Tooltip as Ze}from"radix-ui";import{jsx as Qe,jsxs as va}from"react/jsx-runtime";function Ee({delayDuration:e=0,...t}){return Qe(Ze.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function Re({...e}){return Qe(Ee,{children:Qe(Ze.Root,{"data-slot":"tooltip",...e})})}function Me({...e}){return Qe(Ze.Trigger,{"data-slot":"tooltip-trigger",...e})}function ze({className:e,sideOffset:t=0,children:a,...n}){return Qe(Ze.Portal,{children:va(Ze.Content,{"data-slot":"tooltip-content",sideOffset:t,className:o("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...n,children:[a,Qe(Ze.Arrow,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}import{Search as Po,RefreshCw as Aa,Download as Ia,Settings2 as Ba,Filter as To,ArrowUpDown as Fa,PinOff as _a,Pin as La,ChevronDown as Oa}from"lucide-react";import{jsx as ha}from"react/jsx-runtime";function et({className:e,type:t,...a}){return ha("input",{type:t,"data-slot":"input",className:o("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...a})}import{Select as de}from"radix-ui";import{CheckIcon as xa,ChevronDownIcon as yo,ChevronUpIcon as ya}from"lucide-react";import{jsx as K,jsxs as $t}from"react/jsx-runtime";function Ae({...e}){return K(de.Root,{"data-slot":"select",...e})}function Ie({...e}){return K(de.Value,{"data-slot":"select-value",...e})}function Be({className:e,size:t="default",children:a,...n}){return $t(de.Trigger,{"data-slot":"select-trigger","data-size":t,className:o("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n,children:[a,K(de.Icon,{asChild:!0,children:K(yo,{className:"size-4 opacity-50"})})]})}function Fe({className:e,children:t,position:a="popper",...n}){return K(de.Portal,{children:$t(de.Content,{"data-slot":"select-content",className:o("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,...n,children:[K(Ca,{}),K(de.Viewport,{className:o("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),K(wa,{})]})})}function he({className:e,children:t,...a}){return $t(de.Item,{"data-slot":"select-item",className:o("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...a,children:[K("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:K(de.ItemIndicator,{children:K(xa,{className:"size-4"})})}),K(de.ItemText,{children:t})]})}function Ca({className:e,...t}){return K(de.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:o("flex cursor-default items-center justify-center py-1",e),...t,children:K(ya,{className:"size-4"})})}function wa({className:e,...t}){return K(de.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:o("flex cursor-default items-center justify-center py-1",e),...t,children:K(yo,{className:"size-4"})})}import{DropdownMenu as xe}from"radix-ui";import{CheckIcon as Na,ChevronRightIcon as Gr,CircleIcon as Er}from"lucide-react";import{jsx as me,jsxs as Pa}from"react/jsx-runtime";function ye({...e}){return me(xe.Root,{"data-slot":"dropdown-menu",...e})}function Ce({...e}){return me(xe.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}function we({className:e,sideOffset:t=4,...a}){return me(xe.Portal,{children:me(xe.Content,{"data-slot":"dropdown-menu-content",sideOffset:t,className:o("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) rounded-md border p-1 shadow-md",e),...a})})}function Ut({...e}){return me(xe.Group,{"data-slot":"dropdown-menu-group",...e})}function W({className:e,inset:t,variant:a="default",...n}){return me(xe.Item,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":a,className:o("cursor-pointer focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n})}function zt({className:e,children:t,checked:a,...n}){return Pa(xe.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:o("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),checked:a,...n,children:[me("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:me(xe.ItemIndicator,{children:me(Na,{className:"size-4"})})}),t]})}function ne({className:e,inset:t,...a}){return me(xe.Label,{"data-slot":"dropdown-menu-label","data-inset":t,className:o("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...a})}function re({className:e,...t}){return me(xe.Separator,{"data-slot":"dropdown-menu-separator",className:o("bg-border -mx-1 my-1 h-px",e),...t})}import{useState as Va}from"react";import{useEffect as Ma,useState as Xt}from"react";import{Calendar as za}from"lucide-react";import{format as ut}from"date-fns";import{Popover as At}from"radix-ui";import{jsx as It}from"react/jsx-runtime";function Wt({...e}){return It(At.Root,{"data-slot":"popover",...e})}function Jt({...e}){return It(At.Trigger,{"data-slot":"popover-trigger",...e})}function qt({className:e,align:t="center",sideOffset:a=4,...n}){return It(At.Portal,{children:It(At.Content,{"data-slot":"popover-content",align:t,sideOffset:a,className:o("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...n})})}import*as Bt from"react";import{ChevronDownIcon as Ta,ChevronLeftIcon as Sa,ChevronRightIcon as Da}from"lucide-react";import{DayPicker as ka,getDefaultClassNames as Co}from"react-day-picker";import{jsx as _e}from"react/jsx-runtime";function wo({className:e,classNames:t,showOutsideDays:a=!0,captionLayout:n="label",buttonVariant:s="ghost",formatters:i,components:m,...x}){let p=Co();return _e(ka,{showOutsideDays:a,className:o("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:n,formatters:{formatMonthDropdown:d=>d.toLocaleString("default",{month:"short"}),...i},classNames:{root:o("w-fit",p.root),months:o("flex gap-4 flex-col md:flex-row relative",p.months),month:o("flex flex-col w-full gap-4",p.month),nav:o("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",p.nav),button_previous:o(Rt({variant:s}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",p.button_previous),button_next:o(Rt({variant:s}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",p.button_next),month_caption:o("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",p.month_caption),dropdowns:o("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",p.dropdowns),dropdown_root:o("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",p.dropdown_root),dropdown:o("absolute bg-popover inset-0 opacity-0",p.dropdown),caption_label:o("select-none font-medium",n==="label"?"text-sm":"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",p.caption_label),table:"w-full border-collapse",weekdays:o("flex",p.weekdays),weekday:o("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",p.weekday),week:o("flex w-full mt-2",p.week),week_number_header:o("select-none w-(--cell-size)",p.week_number_header),week_number:o("text-[0.8rem] select-none text-muted-foreground",p.week_number),day:o("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",p.day),range_start:o("rounded-l-md bg-accent",p.range_start),range_middle:o("rounded-none",p.range_middle),range_end:o("rounded-r-md bg-accent",p.range_end),today:o("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",p.today),outside:o("text-muted-foreground aria-selected:text-muted-foreground",p.outside),disabled:o("text-muted-foreground opacity-50",p.disabled),hidden:o("invisible",p.hidden),...t},components:{Root:({className:d,rootRef:c,...N})=>_e("div",{"data-slot":"calendar",ref:c,className:o(d),...N}),Chevron:({className:d,orientation:c,...N})=>c==="left"?_e(Sa,{className:o("size-4",d),...N}):c==="right"?_e(Da,{className:o("size-4",d),...N}):_e(Ta,{className:o("size-4",d),...N}),DayButton:Ra,WeekNumber:({children:d,...c})=>_e("td",{...c,children:_e("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...m},...x})}function Ra({className:e,day:t,modifiers:a,...n}){let s=Co(),i=Bt.useRef(null);return Bt.useEffect(()=>{a.focused&&i.current?.focus()},[a.focused]),_e(g,{ref:i,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":a.selected&&!a.range_start&&!a.range_end&&!a.range_middle,"data-range-start":a.range_start,"data-range-end":a.range_end,"data-range-middle":a.range_middle,className:o("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",s.day,e),...n})}import{jsx as He,jsxs as ft}from"react/jsx-runtime";function No({value:e,onChange:t,placeholder:a,mode:n,externalSearch:s,onExternalChange:i,onlyExternal:m=!1}){let[x,p]=Xt(!1),[d,c]=Xt(e),[N,D]=Xt(e);Ma(()=>{m||D(e)},[e,m]);let M=()=>{m||t(d),D(d),s&&i&&i(d),p(!1)},k=()=>{c(N),p(!1)},S=()=>{let C=n==="single"?null:{from:null,to:null};c(C),m||t(C),D(C),s&&i&&i(C),p(!1)},z=()=>{let C=m?N:e;return C?n==="single"?ut(C,"PPP"):C.from&&C.to?`${ut(C.from,"MMM dd")} - ${ut(C.to,"MMM dd, yyyy")}`:C.from?`From ${ut(C.from,"MMM dd, yyyy")}`:C.to?`To ${ut(C.to,"MMM dd, yyyy")}`:a:a},I=C=>{c(n==="single"?C:C||{from:null,to:null})};return ft(Wt,{open:x,onOpenChange:p,children:[He(Jt,{asChild:!0,children:ft(g,{variant:"outline",className:o("w-full justify-start text-left font-normal h-9",!z()&&"text-muted-foreground"),children:[He(za,{className:"mr-2 h-4 w-4"}),z()]})}),ft(qt,{className:"w-auto p-0",align:"start",children:[He("div",{className:"p-3",children:He(wo,{mode:n,selected:d,onSelect:I,numberOfMonths:n==="range"?2:1,className:"rounded-md border",...n==="range"&&{required:!0}})}),ft("div",{className:"flex items-center justify-between p-3 border-t",children:[He(g,{variant:"ghost",size:"sm",onClick:S,children:"Clear"}),ft("div",{className:"flex gap-2",children:[He(g,{variant:"outline",size:"sm",onClick:k,children:"Cancel"}),He(g,{size:"sm",onClick:M,disabled:n==="range"&&(!d?.from||!d?.to),children:"Apply"})]})]})]})]})}import{Fragment as Ga,jsx as w,jsxs as O}from"react/jsx-runtime";function Kt({table:e,filters:t=[],globalFilter:a,onGlobalFilterChange:n,enableGlobalFilter:s=!0,onExport:i,onRefresh:m,loading:x=!1,enableColumnVisibility:p=!0,data:d,onClearSorting:c,onClearFilters:N,enableColumnPinning:D=!1,onExternalSearch:M}){let[k,S]=Va({}),z=()=>e.getAllLeafColumns().filter(l=>l.getCanHide?.()!==!1),I=()=>e.getAllColumns().filter(l=>!e.getAllLeafColumns().includes(l)&&l.columns?.length&&l.columns.some(u=>u.getCanHide?.()!==!1)),C=()=>{let l=new Set(I().flatMap(u=>u.columns?.filter(E=>E.getCanHide?.()!==!1).map(E=>E.id)||[]));return z().filter(u=>!l.has(u.id))},ee=(l,u)=>u&&l.startsWith(`${u}.`)?l.replace(`${u}.`,"").split("_").map(Y=>Y.slice(1)).join(" "):l.split("_").map(E=>E.charAt(0).toUpperCase()+E.slice(1)).join(" "),y=(l,u)=>{let E={...k,[l]:u};S(E)},A=()=>{M&&M(k)},fe=()=>{S({}),N(),M&&M({})},se=l=>e.getColumn(l)?.getFilterValue(),ae=(l,u)=>{e.getColumn(l)?.setFilterValue(u)};return w("div",{className:"rounded-xl",children:w("div",{className:"px-2",children:w("div",{className:"flex flex-col gap-6",children:O("div",{className:"flex items-center justify-between",children:[w("div",{className:"flex items-center gap-3",children:t.length>0&&O("div",{className:"flex items-center gap-3 flex-wrap",children:[w("div",{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:w(To,{className:"h-4 w-4"})}),t.map(l=>w("div",{className:o("relative min-w-[150px]",l.width),children:l.type==="select"?O(Ae,{value:se(l.key)??"",onValueChange:u=>{ae(l.key,u==="all"?"":u),l.externalSearch&&y(l.key,u==="all"?"":u)},children:[l.icon&&w("span",{children:w(l.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"})}),w(Be,{className:o("h-9 rounded-lg w-full",l.icon&&"pl-9"),children:w(Ie,{placeholder:l.placeholder})}),O(Fe,{className:"rounded-lg",children:[w(he,{value:"all",children:"All"}),l.options?.map(u=>w(he,{value:u.value,children:u.label},u.label))]})]}):l.type==="date"?w(No,{value:se(l.key),onChange:u=>{l.onlyExternal||ae(l.key,u)},placeholder:l.placeholder,mode:l.dateMode||"single",externalSearch:l.externalSearch,onlyExternal:l.onlyExternal,onExternalChange:u=>y(l.key,u)}):O("div",{className:"relative",children:[l.icon&&w("span",{children:w(l.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"})}),w(et,{placeholder:l.placeholder,value:se(l.key)??"",onChange:u=>{ae(l.key,u.target.value),l.externalSearch&&y(l.key,u.target.value)},className:o("h-9 rounded-lg",l.icon&&"pl-9"),type:l.type==="number"?"number":"text"})]})},l.key)),t.some(l=>l.externalSearch)&&O(g,{variant:"default",size:"sm",onClick:A,className:"rounded-lg",children:[w(Po,{className:"mr-2 h-4 w-4"}),t.find(l=>l.externalSearch)?.searchButtonText||"Search"]})]})}),O("div",{className:"flex items-center gap-2",children:[s&&O("div",{className:"relative",children:[w(Po,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),w(et,{placeholder:"Global search...",value:a??"",onChange:l=>n(l.target.value),className:"pl-9 max-w-max"})]}),i&&O(g,{variant:"outline",size:"sm",onClick:()=>i(d),className:"rounded-lg",children:[w(Ia,{className:"mr-2 h-4 w-4"}),"Export"]}),p&&O(ye,{children:[w(Ce,{asChild:!0,children:O(g,{variant:"outline",size:"sm",className:"rounded-lg gap-1",children:[w("span",{children:"Columns"}),w(Oa,{className:"h-4 w-4 opacity-50"})]})}),O(we,{align:"end",className:"w-[220px] rounded-lg max-h-[400px] overflow-y-auto",children:[w(ne,{className:"px-4 py-2 text-sm font-medium",children:"Toggle Columns"}),w(re,{}),C().length>0&&O(Ut,{children:[w(ne,{className:"px-4 py-1.5 text-sm font-medium text-muted-foreground",children:"General"}),C().map(l=>w(zt,{className:"text-sm",checked:l.getIsVisible(),onCheckedChange:u=>l.toggleVisibility(!!u),children:ee(l.id)},l.id))]}),I().map(l=>O(Ut,{children:[w(re,{}),w(ne,{className:"px-4 py-1.5 text-sm font-medium text-muted-foreground",children:l.id}),l.columns?.filter(u=>u.getCanHide?.()!==!1).map(u=>w(zt,{className:"text-sm",checked:u.getIsVisible(),onCheckedChange:E=>u.toggleVisibility(!!E),children:ee(u.id,l.id)},u.id))]},l.id))]})]}),O(ye,{children:[w(Ce,{asChild:!0,children:w(g,{variant:"outline",size:"sm",className:"rounded-lg",children:w(Ba,{className:"h-4 w-4"})})}),O(we,{align:"end",className:"w-[200px] rounded-lg",children:[w(ne,{children:"Table Settings"}),w(re,{}),O(W,{onClick:c,children:[w(Fa,{className:"mr-2 h-4 w-4"}),"Clear All Sorting"]}),O(W,{onClick:fe,children:[w(To,{className:"mr-2 h-4 w-4"}),"Clear All Filters"]}),D&&O(Ga,{children:[w(re,{}),w(ne,{children:"Column Pinning"}),O(W,{onClick:()=>e.setColumnPinning({left:[],right:[]}),children:[w(_a,{className:"mr-2 h-4 w-4"}),"Reset All Pinning"]}),O(W,{onClick:()=>{let l=z().filter(u=>u.getCanPin?.()!==!1).map(u=>u.id);e.setColumnPinning({left:[],right:l})},children:[w(La,{className:"mr-2 h-4 w-4 -rotate-90"}),"Pin All Right"]})]})]})]}),m&&w(g,{variant:"outline",size:"sm",onClick:m,disabled:x,className:"rounded-lg",children:w(Aa,{className:o("h-4 w-4",x&&"animate-spin")})})]})]})})})})}import{jsx as te,jsxs as tt}from"react/jsx-runtime";function Yt({table:e,config:t}){return t.enabled?te("div",{className:"rounded-xl",children:te("div",{children:tt("div",{className:"flex items-center justify-between",children:[te("div",{className:"flex items-center gap-6 text-sm text-muted-foreground",children:t.showInfo!==!1&&tt("span",{children:["Showing ",e.getState().pagination.pageIndex*e.getState().pagination.pageSize+1," to"," ",Math.min((e.getState().pagination.pageIndex+1)*e.getState().pagination.pageSize,e.getFilteredRowModel().rows.length)," ","of ",e.getFilteredRowModel().rows.length," entries"]})}),tt("div",{className:"flex items-center gap-4",children:[t.pageSizeOptions&&tt("div",{className:"flex items-center gap-2",children:[te("span",{className:"text-sm font-medium",children:"Rows per page:"}),tt(Ae,{value:`${e.getState().pagination.pageSize}`,onValueChange:a=>e.setPageSize(Number(a)),children:[te(Be,{className:"h-9 w-[70px] rounded-lg",children:te(Ie,{})}),te(Fe,{side:"top",className:"rounded-lg",children:t.pageSizeOptions.map(a=>te(he,{value:`${a}`,children:a},a))})]})]}),tt("div",{className:"flex items-center gap-2",children:[te(g,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"First"}),te(g,{variant:"outline",size:"sm",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"Previous"}),t.showPageNumbers&&te("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,e.getPageCount())},(a,n)=>{let s=e.getState().pagination.pageIndex,i=s+n;return i<1||i>e.getPageCount()?null:te(g,{variant:i===s+1?"default":"outline",size:"sm",className:"size-8 p-0 rounded-lg",onClick:()=>e.setPageIndex(i-1),children:i},i)})}),te(g,{variant:"outline",size:"sm",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),className:"rounded-lg",children:"Next"}),te(g,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(e.getPageCount()-1),disabled:!e.getCanNextPage(),className:"rounded-lg",children:"Last"})]})]})]})})}):null}import{Toggle as Ea}from"radix-ui";import{cva as Ha}from"class-variance-authority";import{jsx as $a}from"react/jsx-runtime";var ja=Ha("inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"},size:{sm:"h-7 px-0 min-w-7",default:"h-8 px-1 min-w-8",lg:"h-9 px-2 min-w-10"},bg:{enabled:"data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",disabled:""}},defaultVariants:{variant:"default",size:"default",bg:"enabled"}});function So({className:e,variant:t,size:a,noBg:n,...s}){return $a(Ea.Root,{"data-slot":"toggle",className:o(ja({className:e,variant:t,size:a,bg:n?"disabled":"enabled"})),...s})}import{Checkbox as Do}from"radix-ui";import{CheckIcon as Ua}from"lucide-react";import{jsx as Zt}from"react/jsx-runtime";function gt({className:e,...t}){return Zt(Do.Root,{"data-slot":"checkbox",className:o("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:Zt(Do.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:Zt(Ua,{className:"size-3.5"})})})}import{useCallback as Ro,useEffect as oo,useMemo as tn,useState as je}from"react";import{Fragment as Mo,jsx as v,jsxs as j}from"react/jsx-runtime";function zo({data:e,columns:t,filters:a=[],pagination:n={enabled:!1},settings:s={},header:i,footer:m,className:x="",maxHeight:p="600px",loading:d=!1,error:c,emptyMessage:N="No data available",onRowSelectionChange:D,onExport:M,onRefresh:k,onTableReady:S,children:z,isRowDisabled:I,isRowSelectable:C,onExternalSearch:ee}){let[y,A]=je([]),[fe,se]=je([]),[ae,l]=je({}),[u,E]=je({}),[Y,Se]=je(""),[Ge,yt]=je([]),[Ne,Ct]=je(s.enableColumnPinning?{left:[],right:[]}:{}),{enableSorting:ge=!0,enableFiltering:We=!0,enableGlobalFilter:De=!0,enableColumnVisibility:Je=!0,enableRowSelection:B=!0,stickyHeader:qe=!0,toolbar:Xe=!1,showSerialNumbers:le=!0,fixedCheckboxColumn:ce=!0,striped:Vt=!0,hoverable:wt=!0,compact:Gt=!0,bordered:H=!0,fullHeight:Nt=!1,enableColumnResizing:Pt=!1,enableColumnPinning:J=!0,hideHeader:Tt=!1}=s,dt=tn(()=>{let R=[...t],b=f=>f.map(h=>{if(h.id==="select"||h.id==="serialNumber")return h;let P={...h,enablePinning:!0};return h.columns&&(P.columns=b(h.columns)),P}),r=b(R);if(B){let f={id:"select",header:({table:h})=>{let P=h.getRowModel().rows.filter(U=>!I?.(U.original)&&(C?C(U.original):!0)),L=P.length>0&&P.every(U=>U.getIsSelected()),q=P.some(U=>U.getIsSelected());return v(gt,{checked:L||q&&"indeterminate",onCheckedChange:U=>{P.forEach(Ke=>Ke.toggleSelected(!!U))},"aria-label":"Select all selectable rows"})},cell:({row:h})=>{let P=I?I(h.original):!1,L=C?C(h.original):!0;return v("div",{className:o("flex items-center justify-center",P&&"opacity-50"),children:v(gt,{checked:h.getIsSelected(),onCheckedChange:q=>L&&h.toggleSelected(!!q),"aria-label":"Select row",disabled:P||!L})})},enableSorting:!1,enableHiding:!1,enablePinning:!0,headerAlign:"center",size:10};r.unshift(f)}if(le){let f={id:"serialNumber",header:"No.",cell:({row:h})=>v("div",{className:"text-center font-medium text-muted-foreground",children:h.index+1}),enableSorting:!0,enableHiding:!1,enablePinning:!0,size:60,headerAlign:"center"};r.unshift(f)}return r},[t,le,B,ce,I,C]),_=Ka({data:e,columns:dt,onSortingChange:ge?A:void 0,onColumnFiltersChange:We?se:void 0,onGlobalFilterChange:De?Se:void 0,getCoreRowModel:Wa(),getPaginationRowModel:n.enabled?qa():void 0,getSortedRowModel:ge?Xa():void 0,getFilteredRowModel:We?Ja():void 0,onColumnVisibilityChange:Je?l:void 0,onRowSelectionChange:B?E:void 0,onColumnOrderChange:yt,onColumnPinningChange:J?Ct:void 0,state:{sorting:ge?y:void 0,columnFilters:We?fe:void 0,columnVisibility:Je?ae:void 0,rowSelection:B?u:{},globalFilter:Y,columnOrder:Ge,columnPinning:J?Ne:{}},initialState:{pagination:n.enabled?{pageSize:n.pageSize||10}:void 0,columnPinning:J?{left:[...le?["serialNumber"]:[],...B?["select"]:[]],right:[]}:void 0},enableRowSelection:B,enableColumnResizing:Pt,enableColumnPinning:J,columnResizeMode:"onChange"});oo(()=>{S&&S(_)},[_,S]),oo(()=>{if(B&&D){let R=_.getFilteredSelectedRowModel().rows.map(b=>b.original);D(R)}},[u,B,D,_]),oo(()=>{if(B&&D){let R=_.getFilteredSelectedRowModel().rows.filter(b=>!I?.(b.original)&&(C?C(b.original):!0)).map(b=>b.original);D(R)}},[u,B,D,_,I,C]);let St=Ro(()=>{A([])},[]),Et=Ro(()=>{se([]),Se("")},[]),ct=(R,b)=>{if(!J)return;let r=[...le?["serialNumber"]:[],...B&&ce?["select"]:[]],f={left:[...(Ne.left??[]).filter(h=>r.includes(h))],right:[...Ne.right??[]]};b===!1?(f.left=f.left.filter(h=>h!==R),f.right=f.right.filter(h=>h!==R)):b==="right"?(f.left=f.left.filter(h=>h!==R),f.right.includes(R)||f.right.push(R)):b==="left"&&(f.right=f.right.filter(h=>h!==R),!f.left.includes(R)&&!r.includes(R)&&f.left.push(R)),_.setColumnPinning(f)},mt=()=>v(go,{className:o(qe&&"sticky top-0 bg-sidebar z-20"),children:_.getHeaderGroups().map((R,b)=>v(pt,{className:"hover:bg-transparent",children:R.headers.map((r,f)=>{let h=r.depth===0&&r.colSpan>1,P=J&&(r.column.getIsPinned()==="left"||r.column.id==="serialNumber"||r.column.id==="select"&&B),L=J&&r.column.getIsPinned()==="right",q=r.column.getCanSort(),U=J&&r.column.columnDef.enablePinning!==!1,Ke=r.column.id==="serialNumber",Ht=r.column.id==="select",fo=Ke||Ht&&ce,Ye=r.column.columnDef.headerAlign||"left",ma={left:"justify-start",center:"justify-center",right:"justify-end"}[Ye];return j(ho,{colSpan:r.colSpan,className:o("font-semibold text-foreground bg-sidebar group px-0",!Gt&&"py-2",H&&f<R.headers.length-1&&"border-r","relative",P&&"sticky left-0 z-15 bg-sidebar",L&&"sticky right-0 z-15 bg-sidebar",(Ke||Ht)&&"sticky left-0 z-15 bg-sidebar",h?"text-center":"text-left"),style:{width:r.getSize()!==150?r.getSize():"auto",minWidth:r.getSize()!==150?r.getSize():"auto",...P&&{left:Ke?0:Ht?le&&_.getColumn("serialNumber")?.getSize()||0:Dt(r.column)},...L&&{right:kt(r.column)},...Ke&&{left:0}},children:[h?v("div",{className:"flex items-center justify-center",children:Qt(r.column.columnDef.header,r.getContext())}):j("div",{className:o("relative flex items-center w-full px-2",ma),children:[j("div",{className:"flex items-center gap-1",children:[q&&Ye==="right"&&v("span",{className:"ml-1 order-2",children:r.column.getIsSorted()&&{asc:v(eo,{className:"h-4 w-4"}),desc:v(to,{className:"h-4 w-4"})}[r.column.getIsSorted()]}),r.isPlaceholder?null:Qt(r.column.columnDef.header,r.getContext()),q&&Ye!=="right"&&r.column.getIsSorted()&&v("span",{className:"ml-1 order-2",children:r.column.getIsSorted()&&{asc:v(eo,{className:"h-4 w-4"}),desc:v(to,{className:"h-4 w-4"})}[r.column.getIsSorted()]})]}),(q||U&&!fo)&&j(ye,{children:[v(Ce,{asChild:!0,className:o("absolute",Ye==="left"&&"right-1",Ye==="center"&&"right-1",Ye==="right"&&"left-1"),children:v(So,{variant:"default",size:"sm",noBg:!0,tabIndex:-1,className:"opacity-0 group-hover:opacity-70 hover:opacity-100 data-[state=open]:opacity-100",children:v(Za,{className:"h-4 w-4"})})}),j(we,{align:"end",className:"w-48",children:[q&&j(Mo,{children:[v(ne,{children:"Sorting"}),j(W,{onClick:()=>r.column.toggleSorting(!1),children:[v(eo,{className:"mr-2 h-4 w-4"}),"Sort Ascending"]}),j(W,{onClick:()=>r.column.toggleSorting(!0),children:[v(to,{className:"mr-2 h-4 w-4"}),"Sort Descending"]}),j(W,{onClick:()=>r.column.clearSorting(),disabled:!r.column.getIsSorted(),children:[v(Ya,{className:"mr-2 h-4 w-4"}),"Clear Sort"]}),v(re,{})]}),U&&!fo&&j(Mo,{children:[v(ne,{children:"Pin Column"}),j(W,{onClick:()=>ct(r.column.id,"right"),disabled:r.column.getIsPinned()==="right",children:[v(Qa,{}),"Pin Right"]}),j(W,{onClick:()=>ct(r.column.id,!1),disabled:!r.column.getIsPinned(),children:[v(en,{}),"Unpin"]})]})]})]})]}),Pt&&r.column.getCanResize()&&!h&&r.colSpan===1&&v("div",{className:"absolute right-0 top-0 h-full w-1 bg-border hover:bg-primary cursor-col-resize opacity-0 hover:opacity-100 transition-opacity",onMouseDown:r.getResizeHandler()})]},r.id)})},R.id))}),Dt=R=>{if(!J)return;let b=0,r=_.getLeftHeaderGroups()[0]?.headers||[],f=[...le?["serialNumber"]:[],...B?["select"]:[]];for(let h of r){if(h.id===R.id)break;if(f.includes(h.id)){let P=_.getColumn(h.id);P&&(b+=P.getSize())}}return b},kt=R=>{if(!J)return;let b=_.getState().columnPinning.right||[],r=b.indexOf(R.id);if(r===-1)return;let f=0;for(let h=r+1;h<b.length;h++){let P=_.getColumn(b[h]);P&&(f+=P.getSize())}return f};return c?v(be,{className:"w-full rounded-xl shadow-sm",children:v(ve,{className:"flex items-center justify-center",children:j("div",{className:"text-center",children:[v("div",{className:"text-red-500 mb-3 text-2xl",children:"\u26A0\uFE0F"}),v("p",{className:"text-sm text-muted-foreground mb-4",children:c}),k&&j(g,{variant:"outline",size:"sm",onClick:k,className:"rounded-lg",children:[v(ko,{className:"mr-2 h-4 w-4"}),"Try Again"]})]})})}):v(Ee,{children:j("div",{className:o("w-full space-y-2 flex flex-col h-full",x),children:[i&&v(be,{className:"rounded-2xl py-2 sticky top-0 z-20",children:v(ve,{className:"px-2",children:i})}),Xe&&v(Kt,{table:_,filters:a,globalFilter:Y,onGlobalFilterChange:Se,enableGlobalFilter:De,onExport:M,onRefresh:k,loading:d,enableColumnVisibility:Je,enableColumnPinning:J,data:e,onClearSorting:St,onClearFilters:Et,onExternalSearch:ee}),v(be,{className:o("shadow-sm overflow-auto py-0",Nt&&"flex-1"),children:v(ve,{className:"p-0 h-full",children:j("div",{className:"relative flex flex-col h-full justify-between",children:[d&&v("div",{className:"absolute inset-0 bg-background/80 backdrop-blur-sm z-50 flex items-center justify-center rounded-xl",children:j("div",{className:"flex items-center gap-3 bg-background/90 px-4 py-3 rounded-lg shadow-sm",children:[v(ko,{className:"size-5 animate-spin text-primary"}),v("span",{className:"text-sm font-medium text-muted-foreground",children:"Loading..."})]})}),v("div",{className:"relative rounded-t-xl overflow-auto border-b",children:j(jt,{className:"border-collapse w-full",children:[!Tt&&mt(),v(bo,{children:_.getRowModel().rows?.length?_.getRowModel().rows.map((R,b)=>v(pt,{"data-state":R.getIsSelected()&&"selected",className:o(wt&&"hover:bg-muted/50",Vt&&b%2===0&&"bg-muted/20",R.getIsSelected()&&"bg-muted","border-b last:border-b-0"),children:R.getVisibleCells().map((r,f)=>{let h=J&&(r.column.getIsPinned()==="left"||r.column.id==="serialNumber"||r.column.id==="select"&&B),P=J&&r.column.getIsPinned()==="right",L=r.column.id==="serialNumber",q=r.column.id==="select",U=L||q&&ce;return v(Mt,{className:o(Gt?"py-2":"py-4",H&&f<R.getVisibleCells().length&&"border-r",h&&"sticky left-0 z-10 bg-sidebar/97",P&&"sticky right-0 z-10 bg-sidebar/97",L&&"sticky left-0 z-10 bg-sidebar/97","p-1"),style:{width:r.column.getSize()!==150?r.column.getSize():"auto",minWidth:r.column.getSize()!==150?r.column.getSize():"auto",...h&&{left:L?0:q?le&&_.getColumn("serialNumber")?.getSize()||0:Dt(r.column)},...P&&{right:kt(r.column)},...L&&{left:0}},children:Qt(r.column.columnDef.cell,r.getContext())},r.id)})},R.id)):v(pt,{children:v(Mt,{colSpan:dt.length,className:"h-32 text-center border-0",children:j("div",{className:"flex flex-col items-center gap-3",children:[v("div",{className:"text-muted-foreground text-6xl",children:"\u{1F4CB}"}),v("p",{className:"text-muted-foreground font-medium",children:N})]})})})})]})}),m&&v("div",{className:"sticky bottom-0 bg-sidebar w-full z-20",style:{width:"100%",minWidth:"fit-content"},children:v(jt,{children:v(vo,{children:v(pt,{className:"bg-sidebar",children:v(Mt,{colSpan:dt.length,className:"p-2",children:m})})})})})]})})}),v(Yt,{table:_,config:n}),z&&z(_)]})})}import{Separator as on}from"radix-ui";import{jsx as an}from"react/jsx-runtime";function bt({className:e,orientation:t="horizontal",decorative:a=!0,...n}){return an(on.Root,{"data-slot":"separator-root",decorative:a,orientation:t,className:o("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...n})}import{Loader as nn,X as rn}from"lucide-react";import{AnimatePresence as sn,motion as ln}from"framer-motion";import*as Le from"react";import*as Ao from"react-dom";import{jsx as Z,jsxs as vt}from"react/jsx-runtime";function Io({table:e,visible:t,container:a,children:n,className:s,...i}){let[m,x]=Le.useState(!1);Le.useLayoutEffect(()=>{x(!0)},[]),Le.useEffect(()=>{function c(N){N.key==="Escape"&&e&&e.toggleAllRowsSelected(!1)}return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[e]);let p=a??(m?globalThis.document?.body:null);if(!p||!e)return null;let d=t??e.getFilteredSelectedRowModel().rows.length>0;return Ao.createPortal(Z(sn,{children:d&&Z(ln.div,{role:"toolbar","aria-orientation":"horizontal",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:20},transition:{duration:.3,ease:"easeInOut"},className:o("fixed inset-x-0 bottom-6 z-50 mx-auto flex w-fit flex-wrap items-center justify-center gap-2 rounded-xl border bg-primary/10 backdrop-blur-sm p-3 text-foreground ring-5 ring-primary/5",s),...i,children:Z(Ee,{children:n})})}),p)}function Bo({size:e="sm",tooltip:t,isPending:a,disabled:n,className:s,children:i,...m}){let x=Z(g,{variant:"secondary",size:e,className:o("gap-1.5 rounded-lg border border-secondary bg-secondary/50 hover:bg-secondary/70 transition-all duration-200",e==="icon"?"size-8":"h-8 px-3",s),disabled:n||a,...m,children:a?Z(nn,{className:"animate-spin"}):i});return t?vt(Re,{children:[Z(Me,{asChild:!0,children:x}),Z(ze,{sideOffset:8,className:"rounded-lg border font-semibold text-foreground bg-secondary [&>span]:hidden",children:Z("p",{children:t})})]}):x}function Fo({table:e}){let t=Le.useCallback(()=>{e&&e.toggleAllRowsSelected(!1)},[e]);return e?vt("div",{className:"flex h-8 items-center rounded-lg border bg-muted/50 pr-1 pl-3",children:[vt("span",{className:"whitespace-nowrap text-sm font-medium",children:[e.getFilteredSelectedRowModel().rows.length," selected"]}),Z(bt,{orientation:"vertical",className:"mr-2 ml-3 data-[orientation=vertical]:h-4"}),vt(Re,{children:[Z(Me,{asChild:!0,children:Z(g,{variant:"ghost",size:"icon",className:"size-6 rounded-md",onClick:t,children:Z(rn,{className:"size-3.5"})})}),vt(ze,{sideOffset:10,className:"flex items-center gap-2 rounded-lg border px-3 py-2 font-semibold text-foregroun bg-secondary [&>span]:hidden",children:[Z("p",{children:"Clear selection"}),Z("kbd",{className:"select-none rounded border bg-primary/50 px-2 py-1 font-mono font-normal text-[0.7rem] text-foreground shadow-sm",children:Z("abbr",{title:"Escape",className:"no-underline",children:"Esc"})})]})]})]}):null}import{ArrowUpDown as ms,EyeOff as ps}from"lucide-react";import{jsx as vs,jsxs as hs}from"react/jsx-runtime";import{ChevronDown as Cs,Eye as ws}from"lucide-react";import{jsx as Ss,jsxs as Ds}from"react/jsx-runtime";import{Slot as Ms}from"radix-ui";import{cva as dn}from"class-variance-authority";import{jsx as Fs}from"react/jsx-runtime";var Is=dn("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});import{Command as Zs}from"cmdk";import{SearchIcon as el}from"lucide-react";import{Dialog as Os}from"radix-ui";import{XIcon as Gs}from"lucide-react";import{jsx as js,jsxs as $s}from"react/jsx-runtime";import{jsx as nl,jsxs as rl}from"react/jsx-runtime";import{CheckIcon as wl,PlusCircleIcon as Nl}from"lucide-react";import{Fragment as Dl,jsx as Tl,jsxs as Sl}from"react/jsx-runtime";import{useState as Oe,useEffect as Lo,useMemo as no,useCallback as ot,useRef as Cn}from"react";import{Loader2 as Oo}from"lucide-react";import{Search as cn,Download as mn,RefreshCw as pn,Filter as un,ChevronDown as fn,Settings2 as gn}from"lucide-react";import{Fragment as bn,jsx as T,jsxs as X}from"react/jsx-runtime";function ao({fields:e,filters:t,globalFilter:a,onGlobalFilterChange:n,fieldFilters:s,onFieldFilterChange:i,sortField:m,sortDirection:x,onSortChange:p,selectedCount:d,totalCount:c,visibleCount:N,onExport:D,onRefresh:M,loading:k,onClearFilters:S,onClearSorting:z}){let I=e.filter(y=>y.sortable),C=Object.values(s).some(y=>y!=null&&y!=="")||a!=="",ee=m!=="";return T("div",{className:"rounded-xl p-0.5",children:T("div",{className:"px-2",children:T("div",{className:"flex flex-col gap-6",children:X("div",{className:"flex items-center justify-between",children:[T("div",{className:"flex items-center gap-3",children:t.length>0&&X("div",{className:"flex items-center gap-3 flex-wrap",children:[T("div",{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:T(un,{className:"h-4 w-4"})}),t.map(y=>T("div",{className:"relative min-w-[150px]",children:y.type==="select"?X(Ae,{value:s[y.key]||"all",onValueChange:A=>i(y.key,A),children:[y.icon&&T(y.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),T(Be,{className:o("h-9 rounded-lg w-full",y.icon&&"pl-9"),children:T(Ie,{placeholder:y.placeholder||"Select..."})}),X(Fe,{className:"rounded-lg",children:[T(he,{value:"all",children:"All"}),y.options?.map(A=>T(he,{value:A.value,children:A.label},A.value))]})]}):X("div",{className:"relative",children:[y.icon&&T(y.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),T(et,{type:y.type,placeholder:y.placeholder,value:s[y.key]||"",onChange:A=>i(y.key,A.target.value),className:o("h-9 rounded-lg",y.icon&&"pl-9")})]})},String(y.key)))]})}),X("div",{className:"flex items-center gap-2",children:[X("div",{className:"relative",children:[T(cn,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),T(et,{placeholder:"Global search...",value:a,onChange:y=>n(y.target.value),className:"pl-9 h-9 rounded-lg max-w-max"})]}),I.length>0&&X(ye,{children:[T(Ce,{asChild:!0,children:X(g,{variant:"outline",size:"sm",className:"rounded-lg gap-1",children:[T("span",{children:"Sort"}),T(fn,{className:"h-4 w-4 opacity-50"})]})}),X(we,{align:"end",className:"w-[200px] rounded-lg",children:[T(ne,{children:"Sort By"}),T(re,{}),I.map(y=>X("div",{children:[X(W,{onClick:()=>p(y.key,"asc"),children:[y.label," (A-Z)"]}),X(W,{onClick:()=>p(y.key,"desc"),children:[y.label," (Z-A)"]})]},String(y.key))),ee&&X(bn,{children:[T(re,{}),T(W,{onClick:z,children:"Clear All Sorting"})]})]})]}),X(ye,{children:[T(Ce,{asChild:!0,children:T(g,{variant:"outline",size:"sm",className:"rounded-lg",children:T(gn,{className:"h-4 w-4"})})}),X(we,{align:"end",className:"w-[200px] rounded-lg",children:[T(ne,{children:"Table Settings"}),T(re,{}),T(W,{onClick:z,children:"Clear All Sorting"}),T(W,{onClick:S,children:"Clear All Filters"})]})]}),D&&X(g,{variant:"outline",size:"sm",onClick:D,className:"rounded-lg",children:[T(mn,{className:"mr-2 h-4 w-4"}),"Export"]}),M&&T(g,{variant:"outline",size:"sm",onClick:M,disabled:k,className:"rounded-lg",children:T(pn,{className:o("h-4 w-4",k&&"animate-spin")})})]})]})})})})}import{ChevronLeft as vn,ChevronRight as hn,ChevronsLeft as xn,ChevronsRight as yn}from"lucide-react";import{jsx as V,jsxs as pe}from"react/jsx-runtime";function _o({currentPage:e,totalPages:t,pageSize:a,totalItems:n,onPageChange:s,onPageSizeChange:i,config:m}){if(!m.enabled)return null;let x=m.pageSizeOptions||[10,20,50,100],p=(e-1)*a+1,d=Math.min(e*a,n),c=e>1,N=e<t,D=()=>{let k=[],S=[];for(let z=Math.max(2,e-2);z<=Math.min(t-1,e+2);z++)k.push(z);return e-2>2?S.push(1,"..."):S.push(1),S.push(...k),e+2<t-1?S.push("...",t):t>1&&S.push(t),S};return V("div",{className:"rounded-xl",children:pe("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4",children:[V("div",{className:"flex items-center gap-6 text-sm text-muted-foreground",children:m.showInfo!==!1&&pe("span",{children:["Showing ",p," to ",d," of ",n," entries"]})}),pe("div",{className:"flex flex-col sm:flex-row items-center gap-4",children:[x&&pe("div",{className:"flex items-center gap-2",children:[V("span",{className:"text-sm font-medium whitespace-nowrap",children:"Page size:"}),pe(Ae,{value:`${a}`,onValueChange:M=>i(Number(M)),children:[V(Be,{className:"h-9 w-[70px] rounded-lg",children:V(Ie,{})}),V(Fe,{side:"top",className:"rounded-lg",children:x.map(M=>V(he,{value:`${M}`,children:M},M))})]})]}),pe("div",{className:"flex items-center gap-2",children:[pe(g,{variant:"outline",size:"sm",onClick:()=>s(1),disabled:!c,className:"hidden sm:flex rounded-lg",children:[V(xn,{className:"h-4 w-4"}),V("span",{className:"sr-only",children:"Go to first page"})]}),pe(g,{variant:"outline",size:"sm",onClick:()=>s(e-1),disabled:!c,className:"rounded-lg",children:[V(vn,{className:"h-4 w-4 sm:mr-2"}),V("span",{className:"hidden sm:inline",children:"Previous"}),V("span",{className:"sr-only sm:hidden",children:"Go to previous page"})]}),m.showPageNumbers&&t>1&&V("div",{className:"hidden sm:flex items-center gap-1",children:D().map((M,k)=>{if(M==="...")return V("span",{className:"px-2 py-1 text-sm text-muted-foreground",children:"..."},`dots-${k}`);let S=M;return V(g,{variant:S===e?"default":"outline",size:"sm",className:"w-9 h-9 p-0 rounded-lg",onClick:()=>s(S),children:S},S)})}),pe("div",{className:"sm:hidden flex items-center gap-2 px-3 py-1 text-sm font-medium bg-muted rounded-lg",children:[e," of ",t]}),pe(g,{variant:"outline",size:"sm",onClick:()=>s(e+1),disabled:!N,className:"rounded-lg",children:[V("span",{className:"hidden sm:inline",children:"Next"}),V(hn,{className:"h-4 w-4 sm:ml-2"}),V("span",{className:"sr-only sm:hidden",children:"Go to next page"})]}),pe(g,{variant:"outline",size:"sm",onClick:()=>s(t),disabled:!N,className:"hidden sm:flex rounded-lg",children:[V(yn,{className:"h-4 w-4"}),V("span",{className:"sr-only",children:"Go to last page"})]})]})]})]})})}import{jsx as F,jsxs as $e}from"react/jsx-runtime";function Vo({data:e,template:t,fields:a=[],filters:n=[],pagination:s={enabled:!1},settings:i={},header:m,footer:x,className:p="",loading:d=!1,error:c,emptyMessage:N="No items found",emptyIcon:D,onSelectionChange:M,onExport:k,onRefresh:S,onTemplateReady:z,children:I}){let{enableSorting:C=!0,enableFiltering:ee=!0,enableGlobalSearch:y=!0,enableSelection:A=!1,enableExport:fe=!1,toolbar:se=!0,selectionMode:ae="multiple",gridCols:l={default:3,sm:1,md:2,lg:3,xl:4,"2xl":6},gap:u=4,aspectRatio:E="auto",minCardWidth:Y=350,maxCardWidth:Se=350}=i,[Ge,yt]=Oe(""),[Ne,Ct]=Oe({}),[ge,We]=Oe(""),[De,Je]=Oe("asc"),[B,qe]=Oe(new Set),[Xe,le]=Oe(1),[ce,Vt]=Oe(s.pageSize||12),[wt,Gt]=Oe(l.default),H=no(()=>{let b=[...e];if(y&&Ge){let r=a.filter(f=>f.searchable!==!1);b=b.filter(f=>r.some(h=>f[h.key]?.toString().toLowerCase().includes(Ge.toLowerCase())))}if(ee&&Object.keys(Ne).forEach(r=>{let f=Ne[r];if(f!=null&&f!==""){let h=a.find(P=>P.key===r);h&&(b=b.filter(P=>{let L=P[r];return h.type==="boolean"?L===(f==="true"):h.type==="number"?L===Number(f):L?.toString().toLowerCase().includes(String(f).toLowerCase())}))}}),C&&ge){let r=a.find(f=>f.key===ge);r&&b.sort((f,h)=>{let P=f[ge],L=h[ge];if(r.type==="number")return De==="asc"?Number(P)-Number(L):Number(L)-Number(P);if(r.type==="date"){let q=new Date(P),U=new Date(L);return De==="asc"?q.getTime()-U.getTime():U.getTime()-q.getTime()}else{let q=String(P).toLowerCase(),U=String(L).toLowerCase();return De==="asc"?q.localeCompare(U):U.localeCompare(q)}})}return b},[e,Ge,Ne,ge,De,a,y,ee,C]),Nt=no(()=>{if(!s.enabled)return H;let b=(Xe-1)*ce,r=b+ce;return H.slice(b,r)},[H,Xe,ce,s.enabled]),Pt=Math.ceil(H.length/ce),J=ot(b=>{A&&qe(r=>{let f=new Set(r);return ae==="single"?(f.clear(),f.add(b)):f.has(b)?f.delete(b):f.add(b),f})},[A,ae]),Tt=ot(()=>{!A||ae==="single"||(B.size===H.length?qe(new Set):qe(new Set(H.map((b,r)=>r))))},[A,ae,B.size,H.length]),dt=ot((b,r)=>{Ct(f=>({...f,[b]:r})),le(1)},[]),_=ot((b,r)=>{We(b),Je(r)},[]),St=ot(()=>{yt(""),Ct({}),le(1)},[]),Et=ot(()=>{We(""),Je("asc")},[]),ct=no(()=>({getSelectedItems:()=>Array.from(B).map(b=>H[b]),clearSelection:()=>qe(new Set),selectAll:Tt,getFilteredData:()=>H,getTotalCount:()=>e.length,getVisibleCount:()=>H.length,refresh:()=>S?.(),exportData:()=>k?.(H)}),[B,H,e.length,Tt,S,k]),mt=Cn(null);mt.current=ct,Lo(()=>{z&&mt.current&&z(mt.current)},[]),Lo(()=>{if(A&&M){let b=Array.from(B).map(r=>H[r]);M(b)}},[B]);let Dt=o("w-full","overflow-hidden",p),kt=o("grid",`gap-${u}`,"w-full","mx-auto","items-start"),R={gridTemplateColumns:wt===0?"repeat(auto-fill, 1fr)":`repeat(auto-fill, minmax(clamp(${Y}px, calc(100%/${wt} - ${u*4}px), ${Se}px), 1fr))`,justifyItems:"center",alignItems:"stretch",gridAutoRows:"1fr",gridAutoFlow:"dense"};return c?F(be,{className:"w-full",children:F(ve,{className:"flex items-center justify-center py-12",children:$e("div",{className:"text-center",children:[F("div",{className:"text-red-500 mb-3 text-2xl",children:"\u26A0\uFE0F"}),F("p",{className:"text-sm text-muted-foreground mb-4",children:c}),S&&$e(g,{variant:"outline",size:"sm",onClick:S,children:[F(Oo,{className:"mr-2 h-4 w-4"}),"Try Again"]})]})})}):$e("div",{className:o("w-full flex gap-2 flex-col h-full",Dt),children:[m&&F(be,{className:"shadow-sm border-0 py-0 text-xl font-bold",children:F(ve,{className:"p-2",children:m})}),se&&F(ao,{fields:a,filters:n,globalFilter:Ge,onGlobalFilterChange:yt,fieldFilters:Ne,onFieldFilterChange:dt,sortField:ge,sortDirection:De,onSortChange:_,selectedCount:B.size,totalCount:e.length,visibleCount:H.length,onExport:fe?()=>k?.(H):void 0,onRefresh:S,loading:d,onClearFilters:St,onClearSorting:Et}),F(be,{className:"border-0 overflow-auto shadow-none py-0 p-2 flex-1",children:F(ve,{className:"px-0",children:$e("div",{className:"relative",children:[d&&F("div",{className:"absolute inset-0 bg-background/80 backdrop-blur-sm z-50 flex items-center justify-center rounded-lg",children:$e("div",{className:"flex items-center gap-3 bg-background/90 px-4 py-3 rounded-lg shadow-sm",children:[F(Oo,{className:"size-5 animate-spin text-primary"}),F("span",{className:"text-sm font-medium text-muted-foreground",children:"Loading..."})]})}),Nt.length>0?F("div",{className:o(kt),style:R,children:Nt.map((b,r)=>{let f=s.enabled?(Xe-1)*ce+r:r,h=B.has(f);return $e("div",{className:o("relative h-full w-full flex flex-col","transition-all duration-200 overflow-hidden","rounded-2xl","border border-border/20 hover:border-border/50",E==="square"?"aspect-square":"",E==="video"?"aspect-video":"",A?"cursor-pointer":"",h?"ring-2 ring-primary":""),onClick:()=>A&&J(f),children:[A&&ae==="multiple"&&F("div",{className:"absolute top-2 right-2 z-10",children:F(gt,{checked:h,onCheckedChange:()=>J(f),className:"bg-background/80 backdrop-blur-sm",onClick:P=>P.stopPropagation()})}),t(b,r,h,()=>J(f))]},f)})}):$e("div",{className:"flex flex-col gap-4 items-center justify-center py-12 text-center",children:[F("div",{className:"text-6xl",children:D||"\u{1F4CB}"}),F("p",{className:"text-lg font-medium text-muted-foreground mb-2",children:N}),(Ge||Object.values(Ne).some(b=>b))&&F(g,{variant:"outline",onClick:St,children:"Clear Filters"})]})]})})}),s.enabled&&F("div",{className:"pb-1",children:F(_o,{currentPage:Xe,totalPages:Pt,pageSize:ce,totalItems:H.length,onPageChange:le,onPageSizeChange:b=>{Vt(b),le(1)},config:s})}),x&&F("div",{className:"p-2 m-0.5",children:x}),I&&I(ct)]})}import{Loader as wn,X as Nn}from"lucide-react";import{AnimatePresence as Pn,motion as Tn}from"framer-motion";import*as Ve from"react";import*as Go from"react-dom";import{jsx as Q,jsxs as ht}from"react/jsx-runtime";function Eo({controller:e,visible:t,container:a,children:n,className:s,...i}){let[m,x]=Ve.useState(!1);Ve.useLayoutEffect(()=>{x(!0)},[]),Ve.useEffect(()=>{function N(D){D.key==="Escape"&&e&&e.clearSelection()}return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e]);let p=a??(m?globalThis.document?.body:null);if(!p||!e)return null;let d=e.getSelectedItems(),c=t??d.length>0;return Go.createPortal(Q(Pn,{children:c&&Q(Tn.div,{role:"toolbar","aria-orientation":"horizontal",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:20},transition:{duration:.3,ease:"easeInOut"},className:o("fixed inset-x-0 bottom-6 z-50 mx-auto flex w-fit flex-wrap items-center justify-center gap-2 rounded-xl border bg-primary/10 backdrop-blur-sm p-3 text-foreground ring-8 ring-primary/5",s),...i,children:Q(Ee,{children:n})})}),p)}function Ho({size:e="sm",variant:t="secondary",tooltip:a,isPending:n,disabled:s,className:i,children:m,onClick:x,...p}){let d=Q(g,{variant:t,size:e,className:o("gap-1.5 rounded-lg border border-secondary bg-secondary/50 hover:bg-secondary/70 transition-all duration-200",e==="icon"?"size-8":"h-8 px-3",i),disabled:s||n,onClick:x,...p,children:n?Q(wn,{className:"animate-spin"}):m});return a?ht(Re,{children:[Q(Me,{asChild:!0,children:d}),Q(ze,{sideOffset:8,className:"rounded-lg border font-semibold text-foreground bg-secondary [&>span]:hidden",children:Q("p",{children:a})})]}):d}function jo({controller:e}){let t=Ve.useCallback(()=>{e&&e.clearSelection()},[e]);if(!e)return null;let a=e.getSelectedItems();return ht("div",{className:"flex h-8 items-center rounded-lg border bg-muted/50 pr-1 pl-3",children:[ht("span",{className:"whitespace-nowrap text-sm font-medium",children:[a.length," selected"]}),Q(bt,{orientation:"vertical",className:"mr-2 ml-3 data-[orientation=vertical]:h-4"}),ht(Re,{children:[Q(Me,{asChild:!0,children:Q(g,{variant:"ghost",size:"icon",className:"size-6 rounded-md",onClick:t,children:Q(Nn,{className:"size-3.5"})})}),ht(ze,{sideOffset:10,className:"flex items-center gap-2 rounded-lg border px-3 py-2 font-semibold text-foreground bg-secondary [&>span]:hidden",children:[Q("p",{children:"Clear selection"}),Q("kbd",{className:"select-none rounded border bg-primary/50 px-2 py-1 font-mono font-normal text-[0.7rem] text-foreground shadow-sm",children:Q("abbr",{title:"Escape",className:"no-underline",children:"Esc"})})]})]})]})}import{jsx as kn}from"react/jsx-runtime";var Sn={none:"gap-0",tight:"gap-2",default:"gap-4",loose:"gap-6","extra-loose":"gap-8"},Dn={none:"p-0",tight:"p-2",default:"p-4",loose:"p-6"},$o=({children:e,className:t,spacing:a="tight",padding:n="none"})=>kn("div",{className:o("flex flex-col h-full",Sn[a],Dn[n],t),children:e});import{ArrowLeftIcon as Uo,ChevronRight as Rn}from"lucide-react";import{NavLink as Mn}from"react-router";import{jsx as oe,jsxs as Ue}from"react/jsx-runtime";var Wo=({className:e,columns:t=[],showBackButton:a=!0,meta:n={title:""}})=>{let s=()=>{if(!n.backAction||!a)return null;let c={variant:"secondary",size:"icon",className:"hover:bg-primary/20 inline-flex"};return n.backAction.href?oe(Mn,{to:n.backAction.href,children:Ue(g,{...c,children:[oe(Uo,{className:"size-6"}),n.backAction.content]})}):Ue(g,{...c,onClick:n.backAction.onClick,children:[oe(Uo,{className:"size-6"}),n.backAction.content]})},i=()=>!n.metadata||n.metadata.length===0?null:oe("div",{className:"flex gap-4",children:n.metadata.map((c,N)=>c.value&&Ue("div",{className:"text-sm",children:[Ue("span",{className:"text-muted-foreground",children:[c.label," "]}),oe("span",{children:c.value})]},N))}),m=()=>n.status?oe("span",{className:o("inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",{success:"bg-green-100 text-green-800",warning:"bg-yellow-100 text-yellow-800",critical:"bg-red-100 text-red-800",info:"bg-blue-100 text-blue-800",default:"bg-gray-100 text-gray-800"}[n.status.color]),children:n.status.content}):null,x={content:Ue("div",{className:"flex gap-2 items-center",children:[s(),Ue("div",{className:"flex flex-col gap-2 w-max",children:[oe("h1",{className:"text-2xl font-bold tracking-tight",children:n.title}),m(),n.description&&oe("p",{className:"text-muted-foreground",children:n.description}),i(),n.breadcrumbs&&n.breadcrumbs.length>0&&oe("div",{className:"flex items-center text-sm text-muted-foreground",children:n.breadcrumbs.map((c,N)=>Ue("div",{className:"flex items-center",children:[c.href?oe("span",{className:"hover:text-primary hover:underline",children:c.label}):oe("span",{children:c.label}),N<n.breadcrumbs.length-1&&oe(Rn,{className:"mx-2 h-4 w-4"})]},N))})]})]}),align:"left",width:"fill"},p={content:n.primaryActions,align:"right",width:"auto"},d=[x,...t.filter(c=>c!==void 0),p];return oe("div",{className:o("flex items-center w-full gap-4 p-2",e),children:d.map((c,N)=>oe("div",{className:o("flex items-center h-full",c.className,{"justify-start":c.align==="left","justify-center":c.align==="center","justify-end":c.align==="right","flex-1":c.width==="fill"}),children:c.content},N))})};import In,{useState as Bn,createContext as Fn,useContext as _n}from"react";import{Dialog as xt}from"radix-ui";import{XIcon as zn}from"lucide-react";import{jsx as at,jsxs as ro}from"react/jsx-runtime";function Jo({...e}){return at(xt.Root,{"data-slot":"sheet",...e})}function io({...e}){return at(xt.Portal,{"data-slot":"sheet-portal",...e})}function An({className:e,...t}){return at(xt.Overlay,{"data-slot":"sheet-overlay",className:o("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function qo({className:e,children:t,side:a="right",...n}){return ro(io,{children:[at(An,{}),ro(xt.Content,{"data-slot":"sheet-content",className:o("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",a==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",a==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",a==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",a==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...n,children:[t,ro(xt.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[at(zn,{className:"size-4"}),at("span",{className:"sr-only",children:"Close"})]})]})]})}import{Fragment as Gn,jsx as $,jsxs as rt}from"react/jsx-runtime";var Xo=Fn(!1),Ft={"one-half":["w-1/2","w-1/2"],"one-third":["w-1/3","w-2/3"],"two-third":["w-2/3","w-1/3"],"one-fourth":["w-1/4","w-3/4"],"three-fourth":["w-3/4","w-1/4"],"one-fifth":["w-1/5","w-4/5"],"four-fifth":["w-4/5","w-1/5"]},nt={none:"p-0",tight:"p-2",default:"p-4",loose:"p-6"},Ln=(e,t)=>{let[a,n]=Ft[t];return{container:"inset-y-0 z-50 transition-all duration-500 ease-in-out",content:o("h-full bg-background transition-all duration-500 ease-in-out",e==="right"?"border-l":"border-r"),transform:e==="right"?"translate-x-full":"-translate-x-full",transformOpen:"translate-x-0",contentPushClass:e==="right"?n:a,sheetPushClass:e==="right"?a:n}},On="flex flex-col overflow-hidden rounded-2xl relative",Vn={default:"bg-background",card:"bg-background shadow-sm border",border:"bg-background border-2",transparent:"bg-transparent"},Ko=e=>{let{children:t,className:a,variant:n="default",layout:s="full",header:i,footer:m,headerClassName:x,footerClassName:p,parentContainer:d=!1,padding:c=d?"none":"tight"}=e,N=_n(Xo),[D,M]=Bn(!1),k=In.useCallback(z=>$("div",{className:o("flex-1 overflow-auto h-full no-scrollbar",d&&"flex",!d&&nt[c]),children:z}),[c,d]),S=()=>{switch(s){case"split":{let{splitRatio:z="three-fourth",reverse:I=!1}=e;if(!Array.isArray(t)||t.length!==2)return $("div",{className:"flex items-center justify-center h-full text-red-500",children:'Error: AppContent with layout="split" requires exactly 2 children'});let[C,ee]=Ft[z],[y,A]=I?[t[1],t[0]]:[t[0],t[1]],[fe,se]=I?[ee,C]:[C,ee];return rt("div",{className:"flex h-full gap-2",children:[$("div",{className:o(fe,"overflow-auto"),children:k(y)}),$("div",{className:o(se,"overflow-auto"),children:k(A)})]})}case"with-sheet":{let{sheetContent:z,sheetWidth:I="four-fifth",sheetSide:C="right",sheetMode:ee="container",sheetClassName:y,isSheetOpen:A,onSheetOpenChange:fe,disableOverlay:se=!0,showSheetOverlay:ae=!0}=e,l=A!==void 0&&fe,u=l?A:D,E=l?fe:M;if(ee==="container"){let Y=Ln(C,I),Se=Ft[I][0];return se?rt("div",{className:o("flex relative flex-1 overflow-hidden"),children:[$("div",{className:o("h-full overflow-auto transition-all duration-500",u?Y.contentPushClass:"w-full",u&&"overflow-y-auto overflow-x-hidden"),children:$("div",{className:o("h-full",!d&&nt[c]),children:t})}),$("div",{className:o(Y.container,"transition-all duration-500 ease-in-out h-full",Se,u&&["left","right"].includes(C)?o(Y.sheetPushClass,"overflow-y-auto"):u?Y.transformOpen:o(Y.transform,"hidden"),"overflow-y-auto"),children:$("div",{className:o(Y.content,y,"h-full"),children:z})})]}):rt("div",{className:o("flex relative flex-1 overflow-hidden"),children:[$("div",{className:o("h-full overflow-auto w-full transition-all duration-500 relative z-10"),children:$("div",{className:o("h-full",!d&&nt[c]),children:t})}),rt("div",{className:o("absolute inset-0 z-20",!u&&"pointer-events-none"),children:[ae&&$("div",{className:o("absolute inset-0 bg-black/50 transition-opacity duration-500",u?"opacity-100":"opacity-0 pointer-events-none"),onClick:()=>E(!1)}),$("div",{className:o(Y.container,"transition-all duration-500 backdrop-blur-2xl ease-in-out h-full absolute",Se,u?"translate-x-0 opacity-100":o(C==="right"?"translate-x-full":"-translate-x-full","opacity-0 pointer-events-none"),"overflow-y-auto"),style:{[C]:0},children:$("div",{className:o(Y.content,y,"h-full"),children:z})})]})]})}return rt(Gn,{children:[t,$(Jo,{open:u,onOpenChange:E,children:$(io,{children:$(qo,{side:C,className:o("fixed bg-background border sm:max-w-full","transition-all duration-500 ease-in-out",Ft[I][0],y),children:z})})})]})}default:return k(t)}};return $(Xo.Provider,{value:!0,children:rt("div",{className:o(On,Vn[n],nt[c],N&&"flex-1",d&&"h-full",!d&&"rounded-2xl",a),children:[i&&$("div",{className:o("border-b",x,n==="card"&&!d&&"rounded-t-2xl",n==="border"&&"border-b-2",nt[c]),children:i}),S(),m&&$("div",{className:o("border-t",p,n==="card"&&!d&&"rounded-b-2xl",n==="border"&&"border-t-2",nt[c]),children:m})]})})};import{jsx as so}from"react/jsx-runtime";var Yo=({className:e,columns:t=[],meta:a={title:""}})=>{let n={content:so("div",{className:"flex items-center gap-4 p-2",children:a.secondaryActions}),align:"right",width:"fill"},s=[...t.filter(i=>i!==void 0),n];return so("div",{className:o("flex items-center w-full gap-4",e),children:s.map((i,m)=>so("div",{className:o("flex items-center h-full",i.className,{"justify-start":i.align==="left","justify-center":i.align==="center","justify-end":i.align==="right","flex-1":i.width==="fill"}),children:i.content},m))})};import{jsx as _t}from"react/jsx-runtime";function En({useTypedAppMeta:e}){return{AppHeader:i=>{let{meta:m}=e();return _t(Wo,{...i,meta:m})},AppFooter:i=>{let{meta:m}=e();return _t(Yo,{...i,meta:m})},AppContent:i=>_t(Ko,{...i}),AppContainer:i=>_t($o,{...i})}}import{createContext as Zo,useContext as Hn,useState as Qo,useCallback as Lt,useMemo as ea}from"react";import{jsx as ta}from"react/jsx-runtime";var jn=Zo(void 0),$n=({children:e})=>{let[t,a]=Qo({title:"",description:"",breadcrumbs:[]}),n=Lt(m=>{a(x=>Object.keys(m).some(d=>JSON.stringify(x[d])!==JSON.stringify(m[d]))?{...x,...m}:x)},[]),s=Lt(()=>{a(m=>m.title===""&&m.description===""&&(m.breadcrumbs?.length??0)===0?m:{title:"",description:"",breadcrumbs:[]})},[]),i=ea(()=>({meta:t,setMeta:n,resetMeta:s}),[t,n,s]);return ta(jn.Provider,{value:i,children:e})};function Un(){let e=Zo(void 0);return{TypedAppMetaProvider:({children:n})=>{let[s,i]=Qo({title:"",description:"",breadcrumbs:[]}),m=Lt(d=>{i(c=>Object.keys(d).some(D=>{let M=c[D],k=d[D];return JSON.stringify(M)!==JSON.stringify(k)})?{...c,...d}:c)},[]),x=Lt(()=>{i(d=>d.title===""&&d.description===""&&(d.breadcrumbs?.length??0)===0?d:{title:"",description:"",breadcrumbs:[]})},[]),p=ea(()=>({meta:s,setMeta:m,resetMeta:x}),[s,m,x]);return ta(e.Provider,{value:p,children:n})},useTypedAppMeta:()=>{let n=Hn(e);if(!n)throw new Error("useTypedAppMeta must be used within a TypedAppMetaProvider");return n},TypedAppMetaContext:e}}import{useEffect as Wn,useMemo as lo}from"react";function Jn({useTypedAppMeta:e}){function t(a){let{setMeta:n,resetMeta:s}=e(),i=lo(()=>{if(a.backAction)return{...a.backAction,onClick:a.backAction.onClick}},[a.backAction?.content,a.backAction?.href,a.backAction?.onClick?.toString()]),m=lo(()=>a.metadata,[JSON.stringify(a.metadata)]),x=lo(()=>({...a,backAction:i,metadata:m}),[a.title,a.description,a.breadcrumbs,a.primaryActions,a.secondaryActions,a.pagination,a.status,i,m]);Wn(()=>(n(x),()=>s()),[x,n,s])}return{usePageTemplate:t}}import{useState as oa}from"react";import{Copy as qn,Check as Xn,Loader2Icon as Kn}from"lucide-react";import{jsx as Pe,jsxs as aa}from"react/jsx-runtime";var co=class{static currencyFormatter=new Intl.NumberFormat("en-IN",{style:"currency",currency:"INR",maximumFractionDigits:2});static compactFormatter=new Intl.NumberFormat("en-IN",{style:"currency",currency:"INR",notation:"compact",maximumFractionDigits:1});static MONTH_NAMES_SHORT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];static async copyToClipboard(t){if(t)try{await navigator.clipboard.writeText(t)}catch(a){throw console.error("Failed to copy text:",a),a}}static CopyToClipboard=({text:t,children:a,className:n,size:s="icon",variant:i="ghost"})=>{let[m,x]=oa(!1),[p,d]=oa(!1),c=async()=>{if(!(!t||p)){d(!0);try{await this.copyToClipboard(t),x(!0),setTimeout(()=>x(!1),2e3)}catch(N){console.error("Failed to copy text:",N)}finally{d(!1)}}};return aa(Re,{children:[Pe(Me,{asChild:!0,children:Pe(g,{variant:i,size:s,className:o(s==="icon"&&"size-6",n),onClick:c,disabled:p||!t,children:p?Pe(Kn,{className:"animate-spin"}):m?Pe(Xn,{className:"h-3 w-3"}):a||Pe(qn,{className:"h-3 w-3"})})}),Pe(ze,{children:m?"Copied!":p?"Copying...":"Copy to clipboard"})]})};static formatINR(t,a={}){let{prefix:n="",suffix:s="",withSymbol:i=!0,compact:m=!1}=a;if(typeof t!="number"||isNaN(t))return`${n}${i?"\u20B9 ":""}0.00${s}`;let x=t<0,p=Math.abs(t),c=(m&&p>=1e5?this.compactFormatter:this.currencyFormatter).format(p).replace("\u20B9","");return`${n}${x?"- ":""}${i?"\u20B9 ":""}${c}${s}`}static formatDate(t,a={}){let{format:n="dd-mm-yyyy",separator:s="-"}=a,i=new Date(t);if(isNaN(i.getTime()))return"";let m=String(i.getDate()).padStart(2,"0"),x=String(i.getMonth()+1).padStart(2,"0"),p=this.MONTH_NAMES_SHORT[i.getMonth()],d=i.getFullYear();switch(n){case"dd-mmm-yyyy":return`${m}${s}${p}${s}${d}`;case"iso":return i.toISOString().split("T")[0];case"long":return i.toLocaleDateString("en-IN",{year:"numeric",month:"long",day:"numeric"});case"short":return i.toLocaleDateString("en-IN");default:return`${m}${s}${x}${s}${d}`}}static toProperCase(t){return t?t.toLowerCase().split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" "):""}static toProperCaseAdvanced(t){return t?t.toLowerCase().split(/(\s+|['-])/).map((a,n,s)=>["-","'"," "].includes(a)||n>0&&["-","'"].includes(s[n-1])?a:a.charAt(0).toUpperCase()+a.slice(1)).join(""):""}static StatusBadge=({status:t,className:a,showDot:n=!0,capitalize:s=!0,size:i="md",variant:m="outline",customColors:x,icon:p,trueMessage:d="active",falseMessage:c="inactive"})=>{let N=typeof t=="boolean"?t?d:c:typeof t=="number"?t>0?d:c:t.toLowerCase(),D={active:{label:"active",solid:{bg:"bg-emerald-500",text:"text-white",border:"border-emerald-600",dot:"bg-white"},outline:{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-100",dot:"bg-emerald-500"},subtle:{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-transparent",dot:"bg-emerald-500"}},pending:{label:"pending",solid:{bg:"bg-amber-500",text:"text-white",border:"border-amber-600",dot:"bg-white"},outline:{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-100",dot:"bg-amber-500"},subtle:{bg:"bg-amber-50",text:"text-amber-700",border:"border-transparent",dot:"bg-amber-500"}},inactive:{label:"inactive",solid:{bg:"bg-rose-500",text:"text-white",border:"border-rose-600",dot:"bg-white"},outline:{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-100",dot:"bg-rose-500"},subtle:{bg:"bg-rose-50",text:"text-rose-700",border:"border-transparent",dot:"bg-rose-500"}},draft:{label:"draft",solid:{bg:"bg-gray-500",text:"text-white",border:"border-gray-600",dot:"bg-white"},outline:{bg:"bg-gray-50",text:"text-gray-700",border:"border-gray-100",dot:"bg-gray-500"},subtle:{bg:"bg-gray-50",text:"text-gray-700",border:"border-transparent",dot:"bg-gray-500"}},completed:{label:"completed",solid:{bg:"bg-indigo-500",text:"text-white",border:"border-indigo-600",dot:"bg-white"},outline:{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-100",dot:"bg-indigo-500"},subtle:{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-transparent",dot:"bg-indigo-500"}}},M=D[N.toLowerCase()]||D.inactive,k=x||M[m],S={sm:"text-xs px-2 py-0.5",md:"text-xs px-2.5 py-0.5",lg:"text-sm px-3 py-1"},z=s?N.charAt(0).toUpperCase()+N.slice(1):N;return Pe("div",{className:"flex justify-center",children:aa("span",{className:o("inline-flex items-center gap-1.5 rounded-full border font-medium",k.bg,k.text,k.border,S[i],a),children:[n&&(p?Pe("span",{className:"flex items-center",children:p}):Pe("span",{className:o("size-2 rounded-full",k.dot),"aria-hidden":"true"})),z]})})}};import{AlertTriangleIcon as Yn}from"lucide-react";import{useRouteError as Zn,isRouteErrorResponse as Qn,useNavigate as er}from"react-router";import{Fragment as mo,jsx as ue,jsxs as it}from"react/jsx-runtime";var na=()=>{let e=Zn(),t=er();return ue("div",{className:"rounded-2xl flex justify-center items-center h-full bg-sidebar px-4",children:it("div",{className:"flex flex-col items-center space-y-4 text-center",children:[ue(Yn,{className:"h-16 w-16 text-destructive"}),Qn(e)?it(mo,{children:[it("h2",{className:"text-3xl font-semibold text-destructive",children:["Error ",e.status,": ",e.statusText]}),typeof e.data=="string"?ue("pre",{className:"text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left",children:e.data}):e.data?.message&&ue("pre",{className:"text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left",children:e.data.message})]}):e instanceof Error?it(mo,{children:[ue("h2",{className:"text-3xl font-semibold text-destructive",children:"Unexpected Error"}),ue("pre",{className:"text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left",children:e.message}),e.stack&&it("details",{className:"mt-2 text-sm text-muted-foreground max-w-4xl text-left",children:[ue("summary",{className:"cursor-pointer underline",children:"Stack Trace"}),ue("pre",{className:"whitespace-pre-wrap",children:e.stack})]})]}):it(mo,{children:[ue("h2",{className:"text-3xl font-semibold text-destructive",children:"Unknown Error"}),ue("pre",{className:"text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left",children:typeof e=="string"?e:JSON.stringify(e,null,2)})]}),ue(g,{variant:"outline",onClick:()=>t(-1),children:"Go Back"})]})})};import{motion as Te}from"framer-motion";import{jsx as G,jsxs as ie}from"react/jsx-runtime";function tr({size:e=100,strokeWidth:t=2,color:a="currentColor",className:n=""}){return ie(Te.svg,{width:e,height:e,viewBox:"0 0 100 100",initial:"hidden",animate:"visible",className:n,children:[G("title",{children:"Animated Checkmark"}),G(Te.circle,{cx:"50",cy:"50",r:"40",stroke:a,custom:0,style:{strokeWidth:t,strokeLinecap:"round",fill:"transparent"}}),G(Te.path,{d:"M30 50L45 65L70 35",stroke:a,custom:1,style:{strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round",fill:"transparent"}})]})}function ra(){return G(be,{className:"w-full max-w-sm mx-auto p-6 min-h-[300px] flex flex-col justify-center bg-background",children:ie(ve,{className:"space-y-4 flex flex-col items-center justify-center",children:[G(Te.div,{className:"flex justify-center",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:.4,ease:[.4,0,.2,1],scale:{type:"spring",damping:15,stiffness:200}},children:ie("div",{className:"relative",children:[G(Te.div,{className:"absolute inset-0 bg-primary/5 rounded-full",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{delay:.2,duration:.8,ease:"circOut"}}),G(tr,{size:80,strokeWidth:4,color:"rgb(16 185 129)",className:"relative z-10 dark:drop-shadow-[0_0_10px_rgba(0,0,0,0.1)]"})]})}),ie(Te.div,{className:"space-y-2 text-center w-full",initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.2,duration:.6,ease:[.4,0,.2,1]},children:[G(Te.h2,{className:"text-lg text-zinc-100 dark:text-zinc-900 tracking-tighter font-semibold uppercase",initial:{opacity:0,y:5},animate:{opacity:1,y:0},transition:{delay:1,duration:.4},children:"Transfer Successful"}),G("div",{className:"flex items-center gap-4",children:G(Te.div,{className:"flex-1 bg-zinc-800/50 dark:bg-zinc-50/50 rounded-xl p-3 border border-zinc-700/50 dark:border-zinc-200/50 backdrop-blur-md",initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{delay:1.2,duration:.4,ease:[.4,0,.2,1]},children:ie("div",{className:"flex flex-col items-start gap-2",children:[ie("div",{className:"space-y-1.5",children:[ie("span",{className:"text-xs font-medium text-secondary-foreground flex items-center gap-1.5",children:[ie("svg",{className:"w-3 h-3",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[G("title",{children:"From"}),G("path",{d:"M12 19V5M5 12l7-7 7 7"})]}),"From"]}),ie("div",{className:"flex items-center gap-2.5 group transition-all",children:[G("span",{className:"inline-flex items-center justify-center w-7 h-7 rounded-lg bg-zinc-900 dark:bg-white shadow-lg border border-zinc-700 dark:border-zinc-300 text-sm font-medium text-zinc-100 dark:text-zinc-900 group-hover:scale-105 transition-transform",children:"$"}),G("span",{className:"font-medium text-zinc-100 dark:text-zinc-900 tracking-tight",children:"500.00 USD"})]})]}),G("div",{className:"w-full h-px bg-gradient-to-r from-transparent via-zinc-700 dark:via-zinc-300 to-transparent"}),ie("div",{className:"space-y-1.5",children:[ie("span",{className:"text-xs font-medium text-secondary-foreground flex items-center gap-1.5",children:[ie("svg",{className:"w-3 h-3",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[G("title",{children:"To"}),G("path",{d:"M12 5v14M5 12l7 7 7-7"})]}),"To"]}),ie("div",{className:"flex items-center gap-2.5 group transition-all",children:[G("span",{className:"inline-flex items-center justify-center w-7 h-7 rounded-lg bg-zinc-900 dark:bg-white shadow-lg border border-zinc-700 dark:border-zinc-300 text-sm font-medium text-zinc-100 dark:text-zinc-900 group-hover:scale-105 transition-transform",children:"\u20AC"}),G("span",{className:"font-medium text-zinc-100 dark:text-zinc-900 tracking-tight",children:"460.00 EUR"})]})]})]})})}),G(Te.div,{className:"w-full text-xs text-secondary-foreground mt-2 text-center",initial:{opacity:0},animate:{opacity:1},transition:{delay:1.4,duration:.4},children:"Exchange Rate: 1 USD = 0.92 EUR"})]})]})})}import{jsx as Ot,jsxs as or}from"react/jsx-runtime";var ia=()=>Ot("div",{className:"rounded-2xl flex justify-center items-center h-full bg-transparent",children:or("div",{className:"flex flex-col items-center space-y-4",children:[Ot("div",{className:"animate-spin rounded-full border-t-4 border-ring h-16 w-16 mb-4"}),Ot("h2",{className:"text-xl font-semibold text-muted-foreground",children:"Loading, please wait..."}),Ot("p",{className:"text-sm text-muted-foreground",children:"Your content is on its way."})]})});import{useLocation as ar}from"react-router";import{GhostIcon as nr}from"lucide-react";import{NavLink as rr,useNavigate as ir}from"react-router";import{jsx as st,jsxs as po}from"react/jsx-runtime";var sa=()=>{let e=ar(),t=ir(),a=()=>{window.history.length>2?t(-1):t("/")};return po("div",{className:"rounded-2xl flex flex-col items-center justify-center h-full p-6 text-center bg-sidebar text-muted-foreground select-none",children:[st(nr,{className:"h-15 w-15 text-destructive mb-4"}),st("h1",{className:"text-2xl font-bold text-destructive mb-2",children:"Page Not Found"}),po("p",{className:"text-xl mb-4",children:["The page ",st("code",{className:"px-1 py-0.5 rounded bg-muted text-foreground",children:e.pathname})," doesn't exist or has been moved."]}),po("div",{className:"flex space-x-4",children:[st(g,{variant:"outline",onClick:a,children:"Go Back"}),st(g,{variant:"ghost",children:st(rr,{to:"/",children:"Return Home"})})]})]})};import{WifiOffIcon as sr}from"lucide-react";import{jsx as uo,jsxs as lr}from"react/jsx-runtime";var la=()=>lr("div",{className:"rounded-2xl flex flex-col items-center justify-center h-screen p-6 text-center text-muted-foreground bg-background select-none",children:[uo(sr,{className:"h-15 w-15 text-destructive mb-4"}),uo("h1",{className:"text-3xl font-bold text-destructive mb-2",children:"You're offline"}),uo("p",{className:"text-xl max-w-md",children:"We couldn't connect to the server."})]});import{ShieldOffIcon as dr}from"lucide-react";import{NavLink as cr,useNavigate as mr}from"react-router";import{jsx as lt,jsxs as da}from"react/jsx-runtime";var ca=()=>{let e=mr();return da("div",{className:"rounded-2xl flex flex-col items-center justify-center h-full p-6 text-center bg-sidebar text-muted-foreground select-none",children:[lt(dr,{className:"h-15 w-15 text-destructive mb-4"}),lt("h1",{className:"text-2xl font-bold text-destructive mb-2",children:"Access Denied"}),lt("p",{className:"text-xl mb-4",children:"You don't have permission to view this page. Please sign in with an authorized account or contact your administrator."}),da("div",{className:"flex space-x-4",children:[lt(g,{variant:"outline",onClick:()=>{window.history.length>2?e(-1):e("/")},children:"Go Back"}),lt(g,{variant:"ghost",children:lt(cr,{to:"/",children:"Go to Home"})})]})]})};export{$n as AppMetaProvider,ra as CurrencyTransfer,zo as DataTable,Io as DataTableActionBar,Bo as DataTableActionBarAction,Fo as DataTableActionBarSelection,Vo as DataTemplate,Eo as DataTemplateActionBar,Ho as DataTemplateActionBarAction,jo as DataTemplateActionBarSelection,na as ErrorComponent,co as GeneralHelper,ia as Loader,sa as NotFound,la as OfflineUI,ca as Unauthorized,En as createLayoutComponents,Jn as createPageTemplateHook,Un as createTypedAppMetaContext};
|
|
3
3
|
//# sourceMappingURL=index.js.map
|