@customafk/lunas-ui 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/dist/{button-PV-Xnryv.d.mts → button-C6s_h0K3.d.mts} +7 -7
  2. package/dist/{button-Bji_SqMI.d.cts → button-CcOrQc7g.d.cts} +5 -5
  3. package/dist/button-CpEejahy.cjs +2 -0
  4. package/dist/{button-C58TS8Pc.cjs.map → button-CpEejahy.cjs.map} +1 -1
  5. package/dist/{button-DXPSlb3I.mjs → button-D54KOmb7.mjs} +2 -2
  6. package/dist/{button-DXPSlb3I.mjs.map → button-D54KOmb7.mjs.map} +1 -1
  7. package/dist/button.variants-CS-Cmarr.cjs +2 -0
  8. package/dist/button.variants-CS-Cmarr.cjs.map +1 -0
  9. package/dist/button.variants-DRWf66hR.mjs +2 -0
  10. package/dist/button.variants-DRWf66hR.mjs.map +1 -0
  11. package/dist/{calendar-DT0NPRhB.cjs → calendar-dhPqb3aZ.cjs} +2 -2
  12. package/dist/{calendar-DT0NPRhB.cjs.map → calendar-dhPqb3aZ.cjs.map} +1 -1
  13. package/dist/{calendar-CEF9LSd4.mjs → calendar-qHQsMOj9.mjs} +2 -2
  14. package/dist/{calendar-CEF9LSd4.mjs.map → calendar-qHQsMOj9.mjs.map} +1 -1
  15. package/dist/cards/grid-product-card.cjs +1 -1
  16. package/dist/cards/grid-product-card.mjs +1 -1
  17. package/dist/cards/product-card.cjs +1 -1
  18. package/dist/cards/product-card.mjs +1 -1
  19. package/dist/data-display/empty.d.mts +2 -2
  20. package/dist/data-display/statistic.d.cts +2 -2
  21. package/dist/data-display/statistic.d.mts +2 -2
  22. package/dist/{dialog-DKZ8BLxc.d.mts → dialog-CsM9bEo6.d.cts} +12 -12
  23. package/dist/{dialog-7127ChM2.d.cts → dialog-NsKYcQwE.d.mts} +12 -12
  24. package/dist/dialogs/confirm-dialog.cjs +1 -1
  25. package/dist/dialogs/confirm-dialog.mjs +1 -1
  26. package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -1
  27. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +25 -25
  28. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +25 -25
  29. package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -1
  30. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  31. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  32. package/dist/dialogs/detail-dialog/index.mjs +1 -1
  33. package/dist/dialogs/detail-dialog/index.mjs.map +1 -1
  34. package/dist/dialogs/error-dialog.cjs +1 -1
  35. package/dist/dialogs/error-dialog.mjs +1 -1
  36. package/dist/features/search-modal/index.d.mts +2 -2
  37. package/dist/features/tables/index.cjs +1 -1
  38. package/dist/features/tables/index.d.cts +1 -1
  39. package/dist/features/tables/index.d.mts +1 -1
  40. package/dist/features/tables/index.mjs +1 -1
  41. package/dist/features/tanstack-form/index.cjs +1 -1
  42. package/dist/features/tanstack-form/index.d.cts +93 -93
  43. package/dist/features/tanstack-form/index.d.mts +93 -93
  44. package/dist/features/tanstack-form/index.mjs +1 -1
  45. package/dist/{input-DkvHV_UU.d.mts → input-B65h-l45.d.cts} +6 -6
  46. package/dist/{input-D0enZTLC.d.cts → input-C6Q4vGNC.d.mts} +6 -6
  47. package/dist/layouts/cms-layout/index.cjs +1 -1
  48. package/dist/layouts/cms-layout/index.mjs +1 -1
  49. package/dist/layouts/flex.d.cts +5 -5
  50. package/dist/layouts/flex.d.mts +9 -9
  51. package/dist/layouts/payment-layout/index.cjs +1 -1
  52. package/dist/layouts/payment-layout/index.mjs +1 -1
  53. package/dist/pages/FeatureDeveloping.cjs +1 -1
  54. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  55. package/dist/pages/FeatureDeveloping.d.mts +2 -2
  56. package/dist/pages/FeatureDeveloping.mjs +1 -1
  57. package/dist/pages/FeatureFixing.cjs +1 -1
  58. package/dist/pages/FeatureFixing.d.cts +2 -2
  59. package/dist/pages/FeatureFixing.d.mts +2 -2
  60. package/dist/pages/FeatureFixing.mjs +1 -1
  61. package/dist/pages/NotAuthorized.cjs +1 -1
  62. package/dist/pages/NotAuthorized.d.cts +2 -2
  63. package/dist/pages/NotAuthorized.d.mts +2 -2
  64. package/dist/pages/NotAuthorized.mjs +1 -1
  65. package/dist/pages/NotFound.cjs +1 -1
  66. package/dist/pages/NotFound.d.cts +2 -2
  67. package/dist/pages/NotFound.d.mts +2 -2
  68. package/dist/pages/NotFound.mjs +1 -1
  69. package/dist/typography/paragraph.d.cts +1 -1
  70. package/dist/typography/paragraph.d.mts +3 -3
  71. package/dist/typography/title.d.mts +2 -2
  72. package/dist/ui/alert-dialog.cjs +1 -1
  73. package/dist/ui/alert-dialog.d.cts +12 -12
  74. package/dist/ui/alert-dialog.d.mts +12 -12
  75. package/dist/ui/alert-dialog.mjs +1 -1
  76. package/dist/ui/alert.d.cts +5 -5
  77. package/dist/ui/alert.d.mts +7 -7
  78. package/dist/ui/aspect-ratio.d.cts +2 -2
  79. package/dist/ui/aspect-ratio.d.mts +2 -2
  80. package/dist/ui/avatar.d.cts +4 -4
  81. package/dist/ui/avatar.d.mts +4 -4
  82. package/dist/ui/badge.d.cts +5 -5
  83. package/dist/ui/badge.d.mts +5 -5
  84. package/dist/ui/breadcrumb.d.cts +8 -8
  85. package/dist/ui/breadcrumb.d.mts +8 -8
  86. package/dist/ui/button-group.d.cts +6 -6
  87. package/dist/ui/button-group.d.mts +6 -6
  88. package/dist/ui/button.cjs +1 -1
  89. package/dist/ui/button.d.cts +1 -1
  90. package/dist/ui/button.d.mts +1 -1
  91. package/dist/ui/button.mjs +1 -1
  92. package/dist/ui/buttons/add-new.cjs +1 -1
  93. package/dist/ui/buttons/add-new.mjs +1 -1
  94. package/dist/ui/buttons/edit.cjs +1 -1
  95. package/dist/ui/buttons/edit.mjs +1 -1
  96. package/dist/ui/buttons/refresh.cjs +1 -1
  97. package/dist/ui/buttons/refresh.mjs +1 -1
  98. package/dist/ui/buttons/trash.cjs +1 -1
  99. package/dist/ui/buttons/trash.mjs +1 -1
  100. package/dist/ui/buttons/upload-image.cjs +1 -1
  101. package/dist/ui/buttons/upload-image.mjs +1 -1
  102. package/dist/ui/calendar.cjs +1 -1
  103. package/dist/ui/calendar.d.cts +4 -4
  104. package/dist/ui/calendar.d.mts +4 -4
  105. package/dist/ui/calendar.mjs +1 -1
  106. package/dist/ui/card.d.cts +8 -8
  107. package/dist/ui/card.d.mts +8 -8
  108. package/dist/ui/carousel.cjs +1 -1
  109. package/dist/ui/carousel.d.cts +7 -7
  110. package/dist/ui/carousel.d.mts +7 -7
  111. package/dist/ui/carousel.mjs +1 -1
  112. package/dist/ui/checkbox.d.cts +2 -2
  113. package/dist/ui/checkbox.d.mts +2 -2
  114. package/dist/ui/collapsible.d.cts +4 -4
  115. package/dist/ui/collapsible.d.mts +4 -4
  116. package/dist/ui/command.d.cts +11 -11
  117. package/dist/ui/command.d.mts +11 -11
  118. package/dist/ui/context-menu.d.cts +16 -16
  119. package/dist/ui/context-menu.d.mts +16 -16
  120. package/dist/ui/dialog.d.cts +1 -1
  121. package/dist/ui/dialog.d.mts +1 -1
  122. package/dist/ui/drawer.d.cts +11 -11
  123. package/dist/ui/drawer.d.mts +11 -11
  124. package/dist/ui/dropdown-menu.d.cts +16 -16
  125. package/dist/ui/dropdown-menu.d.mts +16 -16
  126. package/dist/ui/empty.d.cts +9 -9
  127. package/dist/ui/empty.d.mts +9 -9
  128. package/dist/ui/field.d.cts +24 -24
  129. package/dist/ui/field.d.mts +24 -24
  130. package/dist/ui/file-uploader.cjs +1 -1
  131. package/dist/ui/file-uploader.d.cts +2 -2
  132. package/dist/ui/file-uploader.d.mts +2 -2
  133. package/dist/ui/file-uploader.mjs +1 -1
  134. package/dist/ui/form.d.cts +11 -11
  135. package/dist/ui/form.d.mts +11 -11
  136. package/dist/ui/hover-card.d.cts +4 -4
  137. package/dist/ui/hover-card.d.mts +4 -4
  138. package/dist/ui/input-otp.d.cts +5 -5
  139. package/dist/ui/input-otp.d.mts +5 -5
  140. package/dist/ui/input.d.cts +1 -1
  141. package/dist/ui/input.d.mts +1 -1
  142. package/dist/ui/inputs/search-input.d.cts +3 -3
  143. package/dist/ui/inputs/search-input.d.mts +3 -3
  144. package/dist/ui/item.d.cts +16 -16
  145. package/dist/ui/item.d.mts +16 -16
  146. package/dist/ui/label.d.cts +2 -2
  147. package/dist/ui/label.d.mts +2 -2
  148. package/dist/ui/menubar.d.cts +17 -17
  149. package/dist/ui/menubar.d.mts +17 -17
  150. package/dist/ui/multi-select.cjs +1 -1
  151. package/dist/ui/multi-select.d.cts +2 -2
  152. package/dist/ui/multi-select.d.mts +3 -3
  153. package/dist/ui/multi-select.mjs +1 -1
  154. package/dist/ui/navigation-menu.d.cts +11 -11
  155. package/dist/ui/navigation-menu.d.mts +11 -11
  156. package/dist/ui/pagination.cjs +1 -1
  157. package/dist/ui/pagination.d.cts +9 -9
  158. package/dist/ui/pagination.d.mts +9 -9
  159. package/dist/ui/pagination.mjs +1 -1
  160. package/dist/ui/popover.d.cts +6 -6
  161. package/dist/ui/progress.d.cts +2 -2
  162. package/dist/ui/progress.d.mts +2 -2
  163. package/dist/ui/radio-group.d.cts +3 -3
  164. package/dist/ui/radio-group.d.mts +3 -3
  165. package/dist/ui/resizable.d.cts +9 -9
  166. package/dist/ui/resizable.d.mts +9 -9
  167. package/dist/ui/scroll-area.d.cts +6 -6
  168. package/dist/ui/scroll-area.d.mts +6 -6
  169. package/dist/ui/select.d.cts +9 -9
  170. package/dist/ui/select.d.mts +9 -9
  171. package/dist/ui/separator.d.cts +2 -2
  172. package/dist/ui/separator.d.mts +2 -2
  173. package/dist/ui/sheet.d.cts +9 -9
  174. package/dist/ui/sheet.d.mts +9 -9
  175. package/dist/ui/sidebar.cjs +1 -1
  176. package/dist/ui/sidebar.d.cts +29 -29
  177. package/dist/ui/sidebar.d.mts +29 -29
  178. package/dist/ui/sidebar.mjs +1 -1
  179. package/dist/ui/skeleton.d.cts +2 -2
  180. package/dist/ui/skeleton.d.mts +2 -2
  181. package/dist/ui/slider.d.cts +2 -2
  182. package/dist/ui/slider.d.mts +2 -2
  183. package/dist/ui/sonner.d.cts +2 -2
  184. package/dist/ui/sonner.d.mts +2 -2
  185. package/dist/ui/spinner.d.cts +2 -2
  186. package/dist/ui/spinner.d.mts +2 -2
  187. package/dist/ui/switch.d.cts +2 -2
  188. package/dist/ui/switch.d.mts +2 -2
  189. package/dist/ui/table.d.cts +18 -18
  190. package/dist/ui/table.d.mts +18 -18
  191. package/dist/ui/tabs.d.cts +5 -5
  192. package/dist/ui/tabs.d.mts +5 -5
  193. package/dist/ui/textarea.d.cts +2 -2
  194. package/dist/ui/textarea.d.mts +2 -2
  195. package/dist/ui/toggle-group.d.cts +3 -3
  196. package/dist/ui/toggle-group.d.mts +3 -3
  197. package/dist/ui/toggle.d.cts +5 -5
  198. package/dist/ui/toggle.d.mts +5 -5
  199. package/dist/ui/tooltip.d.cts +5 -5
  200. package/dist/ui/tooltip.d.mts +5 -5
  201. package/package.json +1 -1
  202. package/dist/button-C58TS8Pc.cjs +0 -2
  203. package/dist/button.variants-DuuH1O0_.mjs +0 -2
  204. package/dist/button.variants-DuuH1O0_.mjs.map +0 -1
  205. package/dist/button.variants-rdXrPUao.cjs +0 -2
  206. package/dist/button.variants-rdXrPUao.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- import"../../button.variants-DuuH1O0_.mjs";import"../../button-DXPSlb3I.mjs";import"../../skeleton-Ba6koCVf.mjs";import{t as e}from"../../flex-BP8sTi70.mjs";import{t}from"../../date-By93kONr.mjs";import"../../tooltip-B3dTcgcc.mjs";import{Title as n}from"../../typography/title.mjs";import"../../separator-Bf0gymN4.mjs";import"../../sheet-oadGRiie.mjs";import{DetailDialogSidebarContent as r,DetailDialogSidebarFooter as i,DetailDialogSidebarHeader as a,DetailDialogSidebarMenu as o,DetailDialogSidebarMenuButton as s,DetailDialogSidebarMenuItem as c,DetailDialogSidebarTrigger as l,Sidebar as u,SidebarProvider as d}from"./components/sidebar.mjs";import{jsx as f,jsxs as p}from"react/jsx-runtime";import{CalendarIcon as m,CatIcon as h,XIcon as g}from"lucide-react";import{Dialog as _}from"radix-ui";const v=({open:v,isLoading:y,title:b,createdAt:x,onOpenChange:S,sidebar:C,children:w})=>{let{content:T,footer:E}=C||{};return f(_.Root,{"data-slot":`detail-dialog`,open:v,onOpenChange:S,children:p(_.Portal,{"data-slot":`detail-dialog-portal`,children:[f(_.Overlay,{"data-slot":`detail-dialog-overlay`,className:`data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in`}),f(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:p(_.Content,{"data-slot":`dialog-content`,className:`data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80 relative z-50 grid h-full max-h-dvh w-full max-w-svw gap-4 overflow-hidden rounded-none border-none bg-background p-0 shadow-dialog outline-none duration-200 data-[state=closed]:animate-out data-[state=open]:animate-in sm:max-w-lg md:max-h-[90dvh] md:max-w-[90svw] md:rounded-lg xl:max-h-[90dvh] xl:max-w-[90svw] 2xl:max-h-[90dvh] 2xl:max-w-[90svw]`,onInteractOutside:e=>{e.preventDefault(),e.stopPropagation()},children:[p(d,{children:[p(u,{collapsible:`icon`,children:[f(a,{children:f(o,{children:f(c,{children:p(s,{size:`lg`,tabIndex:-1,children:[f(`div`,{className:`flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground`,children:f(h,{size:16})}),p(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[f(`span`,{className:`truncate font-medium`,children:C?.title||`Detail Dialog`}),f(`span`,{className:`truncate text-xs`,children:`Lunas Enterprise`})]})]})})})}),f(r,{children:T}),f(i,{children:E})]}),f(`main`,{"data-slot":`detail-dialog-main`,className:`relative h-full flex-1`,children:p(e,{padding:`none`,gap:`none`,vertical:!0,align:`stretch`,className:`absolute inset-0 size-full`,children:[p(`header`,{className:`flex w-full flex-0 items-start gap-x-2.5 border-border-weak border-b bg-card py-2.5 pr-12 pl-2`,children:[f(l,{}),p(e,{vertical:!0,align:`start`,padding:`none`,width:`null`,wrap:!1,className:`flex-1 gap-0`,children:[f(n,{level:5,className:`line-clamp-1 truncate text-wrap`,children:b||`Detail Dialog`}),!!x&&p(e,{padding:`none`,className:`relative items-center text-text-positive-weak`,children:[f(m,{size:12}),f(t,{showTime:!0,showHoliday:!0,date:x,format:`full`})]})]})]}),y?f(e,{justify:`center`,className:`inset-shadow-sm w-full flex-1 bg-muted-muted`,children:f(`div`,{className:`loader`})}):f(`section`,{"data-slot":`detail-dialog-body-loading`,className:`relative inset-shadow-sm flex flex-1 snap-y flex-col gap-0 overflow-y-auto bg-muted-bg-subtle`,children:w})]})})]}),f(_.Close,{"data-slot":`dialog-close`,tabIndex:-1,asChild:!0,className:`absolute top-3 right-3`,children:f(`button`,{className:`flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60`,children:f(g,{size:24})})})]})})]})})};export{v as DetailDialog};
1
+ import"../../button.variants-DRWf66hR.mjs";import"../../button-D54KOmb7.mjs";import"../../skeleton-Ba6koCVf.mjs";import{t as e}from"../../flex-BP8sTi70.mjs";import{t}from"../../date-By93kONr.mjs";import"../../tooltip-B3dTcgcc.mjs";import{Title as n}from"../../typography/title.mjs";import"../../separator-Bf0gymN4.mjs";import"../../sheet-oadGRiie.mjs";import{DetailDialogSidebarContent as r,DetailDialogSidebarFooter as i,DetailDialogSidebarHeader as a,DetailDialogSidebarMenu as o,DetailDialogSidebarMenuButton as s,DetailDialogSidebarMenuItem as c,DetailDialogSidebarTrigger as l,Sidebar as u,SidebarProvider as d}from"./components/sidebar.mjs";import{cn as f}from"@customafk/react-toolkit/utils";import{useCallback as p}from"react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{CalendarIcon as g,CatIcon as _,XIcon as v}from"lucide-react";import{Dialog as y}from"radix-ui";const b=({open:b,isLoading:x,title:S,createdAt:C,onOpenChange:w,sidebar:T,children:E})=>{let{content:D,footer:O}=T||{},k=p(e=>{e.preventDefault(),e.stopPropagation()},[]);return m(y.Root,{"data-slot":`detail-dialog`,open:b,onOpenChange:w,children:h(y.Portal,{"data-slot":`detail-dialog-portal`,children:[m(y.Overlay,{"data-slot":`detail-dialog-overlay`,className:`data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in`}),m(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:h(y.Content,{"data-slot":`dialog-content`,className:f(`data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80`,`data-[state=closed]:animate-out data-[state=open]:animate-in`,`relative z-50 grid`,`gap-4 overflow-hidden rounded-none border-none bg-background p-0 shadow-dialog outline-none duration-200`,`h-full max-h-dvh w-full max-w-svw`,`sm:max-w-lg`,`sm:rounded-lg`,`md:max-h-[calc(100dvh-2rem)]`,`md:max-w-[calc(100svw-2rem)]`),onInteractOutside:k,children:[h(d,{children:[h(u,{collapsible:`icon`,children:[m(a,{children:m(o,{children:m(c,{children:h(s,{size:`lg`,tabIndex:-1,children:[m(`div`,{className:`flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground`,children:m(_,{size:16})}),h(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[m(`span`,{className:`truncate font-medium`,children:T?.title||`Detail Dialog`}),m(`span`,{className:`truncate text-xs`,children:`Lunas Enterprise`})]})]})})})}),m(r,{children:D}),m(i,{children:O})]}),m(`main`,{"data-slot":`detail-dialog-main`,className:`relative h-full flex-1`,children:h(e,{padding:`none`,gap:`none`,vertical:!0,align:`stretch`,className:`absolute inset-0 size-full`,children:[h(`header`,{className:`flex w-full flex-0 items-start gap-x-2.5 border-border-weak border-b bg-card py-2.5 pr-12 pl-2`,children:[m(l,{}),h(e,{vertical:!0,align:`start`,padding:`none`,width:`null`,wrap:!1,className:`flex-1 gap-0`,children:[m(n,{level:5,className:`line-clamp-1 truncate text-wrap`,children:S||`Detail Dialog`}),!!C&&h(e,{padding:`none`,className:`relative items-center text-text-positive-weak`,children:[m(g,{size:12}),m(t,{showTime:!0,showHoliday:!0,date:C,format:`full`})]})]})]}),x?m(e,{justify:`center`,className:`inset-shadow-sm w-full flex-1 bg-muted-muted`,children:m(`div`,{className:`loader`})}):m(`section`,{"data-slot":`detail-dialog-body-loading`,className:`relative inset-shadow-sm flex flex-1 snap-y flex-col gap-0 overflow-y-auto bg-muted-bg-subtle`,children:E})]})})]}),m(y.Close,{"data-slot":`dialog-close`,tabIndex:-1,asChild:!0,className:`absolute top-3 right-3`,children:m(`button`,{className:`flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60`,children:m(v,{size:24})})})]})})]})})};export{b as DetailDialog};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["DetailDialog: React.FC<\n React.PropsWithChildren<{\n open?: boolean;\n isLoading?: boolean;\n\n title: string;\n createdAt?: string | Date | number | null;\n\n sidebar?: {\n title?: string;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n };\n\n onOpenChange?: (open: boolean) => void;\n }>\n>","DialogPrimitive"],"sources":["../../../packages/components/dialogs/detail-dialog/index.tsx"],"sourcesContent":["import { CalendarIcon, CatIcon, XIcon } from 'lucide-react';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { DateDisplay } from '@/components/data-display/date';\nimport { Flex } from '@/components/layouts/flex';\nimport { Title } from '@/components/typography/title';\nimport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarProvider,\n} from './components/sidebar';\n\nexport const DetailDialog: React.FC<\n React.PropsWithChildren<{\n open?: boolean;\n isLoading?: boolean;\n\n title: string;\n createdAt?: string | Date | number | null;\n\n sidebar?: {\n title?: string;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n };\n\n onOpenChange?: (open: boolean) => void;\n }>\n> = ({ open, isLoading, title, createdAt, onOpenChange, sidebar, children }) => {\n const { content: SidebarContent, footer: SidebarFooter } = sidebar || {};\n return (\n <DialogPrimitive.Root data-slot=\"detail-dialog\" open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal data-slot=\"detail-dialog-portal\">\n <DialogPrimitive.Overlay\n data-slot=\"detail-dialog-overlay\"\n className=\"data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in\"\n />\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className=\"data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80 relative z-50 grid h-full max-h-dvh w-full max-w-svw gap-4 overflow-hidden rounded-none border-none bg-background p-0 shadow-dialog outline-none duration-200 data-[state=closed]:animate-out data-[state=open]:animate-in sm:max-w-lg md:max-h-[90dvh] md:max-w-[90svw] md:rounded-lg xl:max-h-[90dvh] xl:max-w-[90svw] 2xl:max-h-[90dvh] 2xl:max-w-[90svw]\"\n onInteractOutside={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <SidebarProvider>\n <Sidebar collapsible=\"icon\">\n <DetailDialogSidebarHeader>\n <DetailDialogSidebarMenu>\n <DetailDialogSidebarMenuItem>\n <DetailDialogSidebarMenuButton size=\"lg\" tabIndex={-1}>\n <div className=\"flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground\">\n <CatIcon size={16} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{sidebar?.title || 'Detail Dialog'}</span>\n <span className=\"truncate text-xs\">Lunas Enterprise</span>\n </div>\n </DetailDialogSidebarMenuButton>\n </DetailDialogSidebarMenuItem>\n </DetailDialogSidebarMenu>\n </DetailDialogSidebarHeader>\n <DetailDialogSidebarContent>{SidebarContent}</DetailDialogSidebarContent>\n <DetailDialogSidebarFooter>{SidebarFooter}</DetailDialogSidebarFooter>\n </Sidebar>\n\n <main data-slot=\"detail-dialog-main\" className=\"relative h-full flex-1\">\n <Flex padding=\"none\" gap=\"none\" vertical align=\"stretch\" className=\"absolute inset-0 size-full\">\n <header className=\"flex w-full flex-0 items-start gap-x-2.5 border-border-weak border-b bg-card py-2.5 pr-12 pl-2\">\n <DetailDialogSidebarTrigger />\n <Flex vertical align=\"start\" padding=\"none\" width=\"null\" wrap={false} className=\"flex-1 gap-0\">\n <Title level={5} className=\"line-clamp-1 truncate text-wrap\">\n {title || 'Detail Dialog'}\n </Title>\n {!!createdAt && (\n <Flex padding=\"none\" className=\"relative items-center text-text-positive-weak\">\n <CalendarIcon size={12} />\n <DateDisplay showTime showHoliday date={createdAt} format=\"full\" />\n </Flex>\n )}\n </Flex>\n </header>\n {isLoading ? (\n <Flex justify=\"center\" className=\"inset-shadow-sm w-full flex-1 bg-muted-muted\">\n <div className=\"loader\" />\n </Flex>\n ) : (\n <section\n data-slot=\"detail-dialog-body-loading\"\n className=\"relative inset-shadow-sm flex flex-1 snap-y flex-col gap-0 overflow-y-auto bg-muted-bg-subtle\"\n >\n {children}\n </section>\n )}\n </Flex>\n </main>\n </SidebarProvider>\n\n <DialogPrimitive.Close data-slot=\"dialog-close\" tabIndex={-1} asChild className=\"absolute top-3 right-3\">\n <button className=\"flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60\">\n <XIcon size={24} />\n </button>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </div>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n};\n"],"mappings":"+xBAkBA,MAAaA,GAgBR,CAAE,OAAM,YAAW,QAAO,YAAW,eAAc,UAAS,cAAe,CAC9E,GAAM,CAAE,QAAS,EAAgB,OAAQ,GAAkB,GAAW,EAAE,CACxE,OACE,EAACC,EAAgB,KAAA,CAAK,YAAU,gBAAsB,OAAoB,wBACxE,EAACA,EAAgB,OAAA,CAAO,YAAU,iCAChC,EAACA,EAAgB,QAAA,CACf,YAAU,wBACV,UAAU,0JACV,CACF,EAAC,MAAA,CAAI,UAAU,+DACb,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAU,udACV,kBAAmB,GAAK,CACtB,EAAE,gBAAgB,CAClB,EAAE,iBAAiB,YAGrB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAQ,YAAY,iBACnB,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAA8B,KAAK,KAAK,SAAU,aACjD,EAAC,MAAA,CAAI,UAAU,+HACb,EAAC,EAAA,CAAQ,KAAM,GAAA,CAAM,EACjB,CACN,EAAC,MAAA,CAAI,UAAU,wDACb,EAAC,OAAA,CAAK,UAAU,gCAAwB,GAAS,OAAS,iBAAuB,CACjF,EAAC,OAAA,CAAK,UAAU,4BAAmB,oBAAuB,CAAA,EACtD,CAAA,EACwB,CAAA,CACJ,CAAA,CACN,CAAA,CACA,CAC5B,EAAC,EAAA,CAAA,SAA4B,EAAA,CAA4C,CACzE,EAAC,EAAA,CAAA,SAA2B,EAAA,CAA0C,GAC9D,CAEV,EAAC,OAAA,CAAK,YAAU,qBAAqB,UAAU,kCAC7C,EAAC,EAAA,CAAK,QAAQ,OAAO,IAAI,OAAO,SAAA,GAAS,MAAM,UAAU,UAAU,uCACjE,EAAC,SAAA,CAAO,UAAU,2GAChB,EAAC,EAAA,EAAA,CAA6B,CAC9B,EAAC,EAAA,CAAK,SAAA,GAAS,MAAM,QAAQ,QAAQ,OAAO,MAAM,OAAO,KAAM,GAAO,UAAU,yBAC9E,EAAC,EAAA,CAAM,MAAO,EAAG,UAAU,2CACxB,GAAS,iBACJ,CACP,CAAC,CAAC,GACD,EAAC,EAAA,CAAK,QAAQ,OAAO,UAAU,0DAC7B,EAAC,EAAA,CAAa,KAAM,GAAA,CAAM,CAC1B,EAAC,EAAA,CAAY,SAAA,GAAS,YAAA,GAAY,KAAM,EAAW,OAAO,QAAS,CAAA,EAC9D,CAAA,EAEJ,CAAA,EACA,CACR,EACC,EAAC,EAAA,CAAK,QAAQ,SAAS,UAAU,wDAC/B,EAAC,MAAA,CAAI,UAAU,SAAA,CAAW,EACrB,CAEP,EAAC,UAAA,CACC,YAAU,6BACV,UAAU,gGAET,YACO,CAAA,EAEP,EACF,CAAA,CAAA,CACS,CAElB,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,SAAU,GAAI,QAAA,GAAQ,UAAU,kCAC9E,EAAC,SAAA,CAAO,UAAU,8QAChB,EAAC,EAAA,CAAM,KAAM,GAAA,CAAM,EACZ,EACa,CAAA,EACA,EACtB,CAAA,EACiB,EACJ"}
1
+ {"version":3,"file":"index.mjs","names":["DetailDialog: React.FC<\n React.PropsWithChildren<{\n open?: boolean;\n isLoading?: boolean;\n\n title: string;\n createdAt?: string | Date | number | null;\n\n sidebar?: {\n title?: string;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n };\n\n onOpenChange?: (open: boolean) => void;\n }>\n>","DialogPrimitive"],"sources":["../../../packages/components/dialogs/detail-dialog/index.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { CalendarIcon, CatIcon, XIcon } from 'lucide-react';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { DateDisplay } from '@/components/data-display/date';\nimport { Flex } from '@/components/layouts/flex';\nimport { Title } from '@/components/typography/title';\nimport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarProvider,\n} from './components/sidebar';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nexport const DetailDialog: React.FC<\n React.PropsWithChildren<{\n open?: boolean;\n isLoading?: boolean;\n\n title: string;\n createdAt?: string | Date | number | null;\n\n sidebar?: {\n title?: string;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n };\n\n onOpenChange?: (open: boolean) => void;\n }>\n> = ({ open, isLoading, title, createdAt, onOpenChange, sidebar, children }) => {\n const { content: SidebarContent, footer: SidebarFooter } = sidebar || {};\n const handleInteractOutside = useCallback<NonNullable<React.ComponentProps<typeof DialogPrimitive.Content>['onInteractOutside']>>(event => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n return (\n <DialogPrimitive.Root data-slot=\"detail-dialog\" open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal data-slot=\"detail-dialog-portal\">\n <DialogPrimitive.Overlay\n data-slot=\"detail-dialog-overlay\"\n className=\"data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in\"\n />\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'data-[state=open]:fade-in-0 data-[state=open]:zoom-in-80 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-80',\n 'data-[state=closed]:animate-out data-[state=open]:animate-in',\n 'relative z-50 grid',\n 'gap-4 overflow-hidden rounded-none border-none bg-background p-0 shadow-dialog outline-none duration-200',\n 'h-full max-h-dvh w-full max-w-svw',\n 'sm:max-w-lg',\n 'sm:rounded-lg',\n 'md:max-h-[calc(100dvh-2rem)]',\n 'md:max-w-[calc(100svw-2rem)]'\n )}\n onInteractOutside={handleInteractOutside}\n >\n <SidebarProvider>\n <Sidebar collapsible=\"icon\">\n <DetailDialogSidebarHeader>\n <DetailDialogSidebarMenu>\n <DetailDialogSidebarMenuItem>\n <DetailDialogSidebarMenuButton size=\"lg\" tabIndex={-1}>\n <div className=\"flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground\">\n <CatIcon size={16} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{sidebar?.title || 'Detail Dialog'}</span>\n <span className=\"truncate text-xs\">Lunas Enterprise</span>\n </div>\n </DetailDialogSidebarMenuButton>\n </DetailDialogSidebarMenuItem>\n </DetailDialogSidebarMenu>\n </DetailDialogSidebarHeader>\n <DetailDialogSidebarContent>{SidebarContent}</DetailDialogSidebarContent>\n <DetailDialogSidebarFooter>{SidebarFooter}</DetailDialogSidebarFooter>\n </Sidebar>\n\n <main data-slot=\"detail-dialog-main\" className=\"relative h-full flex-1\">\n <Flex padding=\"none\" gap=\"none\" vertical align=\"stretch\" className=\"absolute inset-0 size-full\">\n <header className=\"flex w-full flex-0 items-start gap-x-2.5 border-border-weak border-b bg-card py-2.5 pr-12 pl-2\">\n <DetailDialogSidebarTrigger />\n <Flex vertical align=\"start\" padding=\"none\" width=\"null\" wrap={false} className=\"flex-1 gap-0\">\n <Title level={5} className=\"line-clamp-1 truncate text-wrap\">\n {title || 'Detail Dialog'}\n </Title>\n {!!createdAt && (\n <Flex padding=\"none\" className=\"relative items-center text-text-positive-weak\">\n <CalendarIcon size={12} />\n <DateDisplay showTime showHoliday date={createdAt} format=\"full\" />\n </Flex>\n )}\n </Flex>\n </header>\n {isLoading ? (\n <Flex justify=\"center\" className=\"inset-shadow-sm w-full flex-1 bg-muted-muted\">\n <div className=\"loader\" />\n </Flex>\n ) : (\n <section\n data-slot=\"detail-dialog-body-loading\"\n className=\"relative inset-shadow-sm flex flex-1 snap-y flex-col gap-0 overflow-y-auto bg-muted-bg-subtle\"\n >\n {children}\n </section>\n )}\n </Flex>\n </main>\n </SidebarProvider>\n\n <DialogPrimitive.Close data-slot=\"dialog-close\" tabIndex={-1} asChild className=\"absolute top-3 right-3\">\n <button className=\"flex cursor-pointer items-center justify-center rounded-[100px] p-2 text-text-positive-weak transition-colors hover:bg-muted-muted hover:text-text-positive active:bg-muted-weak active:text-text-positive-strong disabled:pointer-events-none disabled:opacity-60\">\n <XIcon size={24} />\n </button>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </div>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n};\n"],"mappings":"u3BAqBA,MAAaA,GAgBR,CAAE,OAAM,YAAW,QAAO,YAAW,eAAc,UAAS,cAAe,CAC9E,GAAM,CAAE,QAAS,EAAgB,OAAQ,GAAkB,GAAW,EAAE,CAClE,EAAwB,EAAoG,GAAS,CACzI,EAAM,gBAAgB,CACtB,EAAM,iBAAiB,EACtB,EAAE,CAAC,CACN,OACE,EAACC,EAAgB,KAAA,CAAK,YAAU,gBAAsB,OAAoB,wBACxE,EAACA,EAAgB,OAAA,CAAO,YAAU,iCAChC,EAACA,EAAgB,QAAA,CACf,YAAU,wBACV,UAAU,0JACV,CACF,EAAC,MAAA,CAAI,UAAU,+DACb,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,0HACA,+DACA,qBACA,2GACA,oCACA,cACA,gBACA,+BACA,+BACD,CACD,kBAAmB,YAEnB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAQ,YAAY,iBACnB,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAA8B,KAAK,KAAK,SAAU,aACjD,EAAC,MAAA,CAAI,UAAU,+HACb,EAAC,EAAA,CAAQ,KAAM,GAAA,CAAM,EACjB,CACN,EAAC,MAAA,CAAI,UAAU,wDACb,EAAC,OAAA,CAAK,UAAU,gCAAwB,GAAS,OAAS,iBAAuB,CACjF,EAAC,OAAA,CAAK,UAAU,4BAAmB,oBAAuB,CAAA,EACtD,CAAA,EACwB,CAAA,CACJ,CAAA,CACN,CAAA,CACA,CAC5B,EAAC,EAAA,CAAA,SAA4B,EAAA,CAA4C,CACzE,EAAC,EAAA,CAAA,SAA2B,EAAA,CAA0C,GAC9D,CAEV,EAAC,OAAA,CAAK,YAAU,qBAAqB,UAAU,kCAC7C,EAAC,EAAA,CAAK,QAAQ,OAAO,IAAI,OAAO,SAAA,GAAS,MAAM,UAAU,UAAU,uCACjE,EAAC,SAAA,CAAO,UAAU,2GAChB,EAAC,EAAA,EAAA,CAA6B,CAC9B,EAAC,EAAA,CAAK,SAAA,GAAS,MAAM,QAAQ,QAAQ,OAAO,MAAM,OAAO,KAAM,GAAO,UAAU,yBAC9E,EAAC,EAAA,CAAM,MAAO,EAAG,UAAU,2CACxB,GAAS,iBACJ,CACP,CAAC,CAAC,GACD,EAAC,EAAA,CAAK,QAAQ,OAAO,UAAU,0DAC7B,EAAC,EAAA,CAAa,KAAM,GAAA,CAAM,CAC1B,EAAC,EAAA,CAAY,SAAA,GAAS,YAAA,GAAY,KAAM,EAAW,OAAO,QAAS,CAAA,EAC9D,CAAA,EAEJ,CAAA,EACA,CACR,EACC,EAAC,EAAA,CAAK,QAAQ,SAAS,UAAU,wDAC/B,EAAC,MAAA,CAAI,UAAU,SAAA,CAAW,EACrB,CAEP,EAAC,UAAA,CACC,YAAU,6BACV,UAAU,gGAET,YACO,CAAA,EAEP,EACF,CAAA,CAAA,CACS,CAElB,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,SAAU,GAAI,QAAA,GAAQ,UAAU,kCAC9E,EAAC,SAAA,CAAO,UAAU,8QAChB,EAAC,EAAA,CAAM,KAAM,GAAA,CAAM,EACZ,EACa,CAAA,EACA,EACtB,CAAA,EACiB,EACJ"}
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-BEm5CCSE.cjs`),require(`../paragraph-B72bHMf7.cjs`),require(`../button.variants-rdXrPUao.cjs`);const t=require(`../ui/alert-dialog.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`),i=require(`lucide-react`);const a=({open:e,title:a,children:o,onOpenChange:s})=>{let c=(0,n.useCallback)(()=>{s?.(!1)},[s]);return(0,r.jsx)(t.AlertDialog,{open:e,onOpenChange:s,children:(0,r.jsxs)(t.AlertDialogContent,{className:`gap-8 p-4 sm:max-w-md`,children:[(0,r.jsx)(t.AlertDialogHeader,{children:(0,r.jsxs)(`div`,{className:`text-destructive flex flex-col items-center`,children:[(0,r.jsx)(i.AlertTriangleIcon,{size:42}),(0,r.jsx)(t.AlertDialogTitle,{className:`text-xl font-medium`,children:a||`An error occurred`})]})}),o,(0,r.jsx)(t.AlertDialogFooter,{children:(0,r.jsx)(t.AlertDialogAction,{className:`w-full sm:w-28`,onClick:c,children:`Close`})})]})})};exports.ErrorDialog=a;
1
+ const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../heading-BEm5CCSE.cjs`),require(`../paragraph-B72bHMf7.cjs`),require(`../button.variants-CS-Cmarr.cjs`);const t=require(`../ui/alert-dialog.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`),i=require(`lucide-react`);const a=({open:e,title:a,children:o,onOpenChange:s})=>{let c=(0,n.useCallback)(()=>{s?.(!1)},[s]);return(0,r.jsx)(t.AlertDialog,{open:e,onOpenChange:s,children:(0,r.jsxs)(t.AlertDialogContent,{className:`gap-8 p-4 sm:max-w-md`,children:[(0,r.jsx)(t.AlertDialogHeader,{children:(0,r.jsxs)(`div`,{className:`text-destructive flex flex-col items-center`,children:[(0,r.jsx)(i.AlertTriangleIcon,{size:42}),(0,r.jsx)(t.AlertDialogTitle,{className:`text-xl font-medium`,children:a||`An error occurred`})]})}),o,(0,r.jsx)(t.AlertDialogFooter,{children:(0,r.jsx)(t.AlertDialogAction,{className:`w-full sm:w-28`,onClick:c,children:`Close`})})]})})};exports.ErrorDialog=a;
2
2
  //# sourceMappingURL=error-dialog.cjs.map
@@ -1,2 +1,2 @@
1
- import"../heading--VmdIi7C.mjs";import"../paragraph-moBSTPmT.mjs";import"../button.variants-DuuH1O0_.mjs";import{AlertDialog as e,AlertDialogAction as t,AlertDialogContent as n,AlertDialogFooter as r,AlertDialogHeader as i,AlertDialogTitle as a}from"../ui/alert-dialog.mjs";import{useCallback as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{AlertTriangleIcon as l}from"lucide-react";const u=({open:u,title:d,children:f,onOpenChange:p})=>{let m=o(()=>{p?.(!1)},[p]);return s(e,{open:u,onOpenChange:p,children:c(n,{className:`gap-8 p-4 sm:max-w-md`,children:[s(i,{children:c(`div`,{className:`text-destructive flex flex-col items-center`,children:[s(l,{size:42}),s(a,{className:`text-xl font-medium`,children:d||`An error occurred`})]})}),f,s(r,{children:s(t,{className:`w-full sm:w-28`,onClick:m,children:`Close`})})]})})};export{u as ErrorDialog};
1
+ import"../heading--VmdIi7C.mjs";import"../paragraph-moBSTPmT.mjs";import"../button.variants-DRWf66hR.mjs";import{AlertDialog as e,AlertDialogAction as t,AlertDialogContent as n,AlertDialogFooter as r,AlertDialogHeader as i,AlertDialogTitle as a}from"../ui/alert-dialog.mjs";import{useCallback as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{AlertTriangleIcon as l}from"lucide-react";const u=({open:u,title:d,children:f,onOpenChange:p})=>{let m=o(()=>{p?.(!1)},[p]);return s(e,{open:u,onOpenChange:p,children:c(n,{className:`gap-8 p-4 sm:max-w-md`,children:[s(i,{children:c(`div`,{className:`text-destructive flex flex-col items-center`,children:[s(l,{size:42}),s(a,{className:`text-xl font-medium`,children:d||`An error occurred`})]})}),f,s(r,{children:s(t,{className:`w-full sm:w-28`,onClick:m,children:`Close`})})]})})};export{u as ErrorDialog};
2
2
  //# sourceMappingURL=error-dialog.mjs.map
@@ -1,7 +1,7 @@
1
- import * as react_jsx_runtime2 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime83 from "react/jsx-runtime";
2
2
 
3
3
  //#region packages/components/features/search-modal/index.d.ts
4
- declare const SearchModal: () => react_jsx_runtime2.JSX.Element;
4
+ declare const SearchModal: () => react_jsx_runtime83.JSX.Element;
5
5
  //#endregion
6
6
  export { SearchModal };
7
7
  //# sourceMappingURL=index.d.mts.map
@@ -1,2 +1,2 @@
1
- const e=require(`../../chunk-Bmb41Sf3.cjs`),t=require(`../../paragraph-B72bHMf7.cjs`);require(`../../button.variants-rdXrPUao.cjs`);const n=require(`../../button-C58TS8Pc.cjs`),r=require(`../../flex-twCgWyx1.cjs`),i=require(`../../date-em5f7hCx.cjs`),a=require(`../../badge-cvLJyaCA.cjs`),o=require(`../../tooltip-DC6i1A25.cjs`),s=require(`../../avatar-aVxo69zP.cjs`),c=require(`../../separator-C3ip6sbh.cjs`),l=require(`../../dropdown-menu-BuyuU6uF.cjs`),u=require(`../../checkbox-C0fSWwmD.cjs`),d=require(`../../spinner-Chm_2fLr.cjs`),f=require(`../../resizable-mlGS6Zto.cjs`),p=require(`../../input-BFWWaN-v.cjs`);let m=require(`@customafk/react-toolkit/utils`),h=require(`react`),g=require(`react/jsx-runtime`),_=require(`lucide-react`),v=require(`@customafk/react-toolkit/color-hash`),y=require(`@tanstack/react-table`),b=require(`@tanstack/react-virtual`),x=require(`@customafk/react-toolkit/hooks/useDebounceCallback`);const S=()=>(0,g.jsxs)(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[(0,g.jsx)(_.MinusIcon,{size:16}),(0,g.jsx)(_.MinusIcon,{size:16})]}),C=({label:e,onClick:t,onRemove:n})=>e?n?(0,g.jsxs)(`div`,{className:`flex w-fit gap-x-0.5 rounded-full border border-border py-1 pr-2 pl-3 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:[e,(0,g.jsx)(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.XIcon,{size:12})})]}):(0,g.jsx)(`button`,{className:`w-fit rounded-full border border-border px-3 py-1 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:e}):(0,g.jsx)(S,{}),w=({value:e})=>e==null?(0,g.jsx)(S,{}):e===!1?(0,g.jsx)(`div`,{className:`text-danger-strong`,children:(0,g.jsx)(_.XIcon,{})}):(0,g.jsx)(`div`,{className:`text-success-strong`,children:(0,g.jsx)(_.CheckIcon,{})}),ee=({date:e})=>e==null?(0,g.jsx)(S,{}):(0,g.jsx)(o.r,{children:(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(a.t,{className:`h-fit`,children:(0,g.jsx)(i.t,{date:e,format:`medium`,className:`font-normal text-white`})})}),(0,g.jsx)(o.n,{className:`rounded px-2`,children:(0,g.jsx)(i.t,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),T=({content:e})=>e==null?(0,g.jsx)(S,{}):(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(t.t,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:e})}),(0,g.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,g.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,g.jsx)(t.t,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:e}),(0,g.jsxs)(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),E=({items:e=[]})=>(0,g.jsxs)(l.t,{children:[(0,g.jsx)(l.h,{asChild:!0,children:(0,g.jsx)(n.t,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:(0,g.jsx)(_.MoreVerticalIcon,{})})}),(0,g.jsx)(l.r,{children:(0,g.jsx)(l.i,{children:e.map(e=>(0,g.jsx)(l.a,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.stopPropagation()},children:e.label},e.id))})})]}),D=({name:e})=>e?(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(t.t,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start`,children:e})}),(0,g.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,g.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,g.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,g.jsxs)(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):(0,g.jsx)(S,{}),O=({href:e,label:t})=>(0,g.jsxs)(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[(0,g.jsx)(`span`,{children:t||e}),(0,g.jsx)(_.ExternalLinkIcon,{size:14})]}),k=({value:e})=>(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(`p`,{className:`font-number text-secondary-foreground text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,g.jsx)(o.n,{align:`start`,children:(0,g.jsx)(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),A=({title:e,onClick:t})=>(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(n.t,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:(0,h.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),await t?.()},[t]),children:(0,g.jsx)(_.Trash2Icon,{})})}),(0,g.jsx)(o.n,{children:(0,g.jsx)(`p`,{children:e||`Remove item from list table`})})]}),j=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},M=(0,h.memo)(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:n,suffix:i,precision:a,roundingMode:o=`round`,showTrailingZeros:s=!1,size:c=`lg`,value:l=0})=>{let u=(0,h.useMemo)(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=(0,h.useCallback)(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=j(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=(0,h.useMemo)(()=>{if(typeof l==`number`)return Number.isNaN(l)||!Number.isFinite(l)?`N/A`:d(l);if(typeof l==`string`){let e=l.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:d(t)}return`N/A`},[l,d]),p=(0,h.useMemo)(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?(0,g.jsx)(S,{}):(0,g.jsxs)(r.t,{padding:`none`,className:(0,m.cn)(`font-number text-lg text-secondary-foreground tabular-nums`,c===`xs`&&`text-xs`,c===`sm`&&`text-sm`,c===`md`&&`text-base`,c===`lg`&&`text-lg`,c===`xl`&&`text-xl`),children:[n,(0,g.jsx)(`p`,{children:p}),i]})});M.displayName=`UITableStatisticDisplay`;const N=({uuid:e,username:n,email:i})=>(0,g.jsxs)(r.t,{wrap:!1,gap:`sm`,padding:`none`,children:[!e&&(0,g.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,g.jsx)(s.n,{className:`bg-muted-weak`,children:(0,g.jsx)(_.UserRoundIcon,{size:28,className:`text-text-negative`})})}),e&&(0,g.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,g.jsx)(s.n,{style:{backgroundColor:v.colorHashLight.hex(e)},children:(0,g.jsx)(_.UserRoundIcon,{size:28,className:`text-white`})})}),(0,g.jsxs)(r.t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[(0,g.jsx)(t.t,{className:`font-medium text-sm text-text-positive-weak`,children:n??`Unknown User`}),(0,g.jsx)(t.t,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),te=60,ne=60,re=20,ie=20,ae=(0,h.createContext)(null),oe=()=>{let e=(0,h.use)(ae);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},se=(0,h.createContext)(null),ce=()=>{let e=(0,h.use)(se);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},le=(0,h.createContext)(null),ue=()=>{let e=(0,h.use)(le);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},de=(0,h.createContext)(null),fe=()=>{let e=(0,h.use)(de);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},pe=(0,h.createContext)(null),me=()=>{let e=(0,h.use)(pe);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},P=(0,h.createContext)(null),F=()=>{let e=(0,h.use)(P);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},I=(0,h.memo)(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=(0,h.useCallback)(()=>{t?.(`left`)},[t]),o=(0,h.useCallback)(()=>{n?.(`right`)},[n]),s=(0,h.useCallback)(()=>{r?.(!1)},[r]);return(0,g.jsxs)(l.t,{children:[(0,g.jsx)(l.h,{asChild:!0,children:(0,g.jsx)(`button`,{className:(0,m.cn)(`absolute right-2 z-10 p-0.5 opacity-0`,`cursor-pointer rounded-full transition-all`,`text-text-positive-weak`,`[&>svg]:size-4`,`group-hover:opacity-100`,`hover:bg-muted-muted hover:text-text-positive`,i),children:(0,g.jsx)(_.EllipsisVerticalIcon,{})})}),(0,g.jsx)(l.r,{align:`end`,className:`w-64 p-4`,children:(0,g.jsxs)(l.i,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[(0,g.jsx)(h.Activity,{mode:e?`visible`:`hidden`,children:(0,g.jsxs)(l.a,{onClick:s,children:[!!e&&`Unpin`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.PinOffIcon,{className:`size-4`})})]})}),(0,g.jsxs)(h.Activity,{mode:e?`hidden`:`visible`,children:[(0,g.jsxs)(l.a,{onClick:a,children:[e?`Unpin`:`Pin to Left`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.MoveLeftIcon,{className:`size-4`})})]}),(0,g.jsxs)(l.a,{onClick:o,children:[e?`Unpin`:`Pin to Right`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.MoveRightIcon,{className:`size-4`})})]})]})]})})]})});I.displayName=`UITableHeadCellOption`;const L=(0,h.memo)(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=(0,h.useCallback)(e=>{r?.(!!e)},[r]);return(0,g.jsx)(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,m.cn)(e?`sticky`:`relative`),...i,children:(0,g.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,g.jsx)(u.t,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});L.displayName=`UITableHeadCellSelect`;const R=(0,h.memo)(({isEmpty:e,isFetching:t})=>!e&&!t?null:(0,g.jsxs)(`div`,{className:`sticky left-0 flex min-h-96 flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`,children:[t&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,g.jsx)(d.t,{className:`size-12`}),(0,g.jsx)(`p`,{children:`Loading data...`})]}),e&&!t&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,g.jsx)(_.BoxIcon,{strokeWidth:1,size:48}),(0,g.jsx)(`p`,{children:`No data available`})]})]}));R.displayName=`UITableEmptyDisplay`;const z=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`div`,{slot:`table-wrapper`,className:(0,m.cn)(`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`,e),...n,children:t}));z.displayName=`UITableWrapper`;const B=(0,h.memo)(({children:e,...t})=>{let{innerWrapperId:n}=oe();return(0,g.jsx)(`div`,{id:n,slot:`table-inner-wrapper`,className:`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`,...t,children:e})});B.displayName=`UITableInnerWrapper`;const V=(0,h.memo)(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=ce(),a=(0,h.useRef)(null);return(0,h.useEffect)(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t=new ResizeObserver(t=>{requestAnimationFrame(()=>{let r=t[0].target;if(r instanceof HTMLTableElement){let i=t[0];if(!i)return;let a=i.contentRect.width,{left:o=[],right:s=[]}=n.getState().columnPinning,c=0,l=0,u=0,d=e.map(e=>{let{id:t}=e,n=t===`select`||t===`actions`,r=o.includes(t)||s.includes(t),i=e.getSize(),a=e.column.columnDef.maxSize;return n?(c+=60,{id:t,isFlex:!1,width:60}):r?(c+=i,{id:t,isFlex:!1,width:i}):e.column.columnDef.size||i!==150?(u+=i,{id:t,isFlex:!1,width:i}):(l++,{id:t,isFlex:!0,maxSize:a})}),f=a-c-u,p=l>0?Math.max(0,Math.floor(f/l)):0;d.forEach(e=>{if(e.isFlex){let t=e.maxSize?Math.min(p,e.maxSize):p;r.style.setProperty(`--header-${e.id}-size`,`${t}`),r.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&r.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else r.style.setProperty(`--header-${e.id}-size`,`${e.width}`),r.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})}})});return t.observe(a.current),()=>t.disconnect()},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),(0,g.jsx)(`table`,{id:r,ref:a,slot:`table-inner-table`,className:`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`,style:{minWidth:i},...t,children:e})});V.displayName=`UITableInnerTable`;const H=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`thead`,{slot:`table-head`,className:(0,m.cn)(`sticky top-0 z-20 h-9 w-full`,`grid select-none bg-muted-bg-subtle`,`border-b border-b-border shadow`,`font-medium text-[13px] text-text-positive-weak`,`[&_tr:not(:last-child)_td]:border-b`,`[&_th]:inline-flex`,`[&_th]:items-center`,`[&_th]:transition-all`,`[&_th]:duration-300`,`[&_th]:whitespace-nowrap`,`[&_th]:border-border`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`,e),...n,children:t}));H.displayName=`UITableHead`;const U=(0,h.memo)(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=ue(),c=o[0]?.id,l=a[a.length-1]?.id;return(0,g.jsx)(`tr`,{slot:`table-head-row`,className:(0,m.cn)(`flex`,t),...n,children:e.headers.map((e,t)=>{let n=e.column.getIsVisible(),a=i.left?.includes(e.id)?`left`:i.right?.includes(e.id)?`right`:!1;return e.id===`select`?(0,g.jsx)(L,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):(0,g.jsx)(W,{isVisible:n,isPinned:a,isFirstCell:e.id===c,isLastCell:e.id===l,isOptionsVisible:![`select`,`actions`].includes(e.id),headerId:e.id,headerColumn:e.column,colSpan:e.colSpan,onColumnPin:e.column.pin,onToggleVisibility:e.column.toggleVisibility,children:(0,y.flexRender)(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});U.displayName=`UITableHeadRow`;const W=(0,h.memo)(({isVisible:e=!0,isPinned:t=!1,isFirstCell:n=!1,isLastCell:r=!1,isOptionsVisible:i=!0,headerId:a,headerColumn:o,className:s,children:c,onColumnPin:l,onToggleVisibility:u,...d})=>{let f=(0,h.useMemo)(()=>t?20:void 0,[t]),p=(0,h.useMemo)(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),_=(0,h.useMemo)(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),v=(0,h.useMemo)(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),y=(0,h.useMemo)(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),b=(0,h.useMemo)(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return(0,g.jsxs)(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:f,left:p,right:_,width:v,minWidth:y,maxWidth:b},className:(0,m.cn)(`group flex`,t?`sticky`:`relative`,t===`left`&&r&&`border-r border-r-border`,t===`right`&&n&&`border-l border-l-border`,o?.columnDef.meta?.position===`center`&&`justify-center`,o?.columnDef.meta?.position===`end`&&`justify-end`,o?.columnDef.meta?.position===`start`&&`justify-start`,s),...d,children:[(0,g.jsx)(`div`,{className:`truncate pl-4`,children:c}),i&&(0,g.jsx)(I,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});W.displayName=`UITableHeadCell`;const G=(0,h.memo)(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isEmpty:a}=fe();return a||i?null:(0,g.jsx)(`tbody`,{slot:`table-body`,style:{height:e},className:(0,m.cn)(`relative w-full`,`grid`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:flex-none`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer [&_tr]:focus:outline-none`,`[&_tr]:border-b [&_tr]:border-b-border`,`[&_td]:z-10`,`[&_td]:transition-all`,`[&_td]:duration-300`,`[&_td]:flex`,`[&_td]:flex-none`,`[&_td]:overflow-hidden`,`[&_td]:whitespace-nowrap`,`[&_td]:px-4`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:border-border`,`[&_td]:data-[selected=true]:bg-muted-muted!`,`[&_td]:data-[selected=true]:hover:bg-muted-muted!`,`[&_td>div]:inline-flex`,`[&_td>div]:items-center`,`[&_td>div]:w-full`,`[&_td:not([data-pinned=false])]:z-20`,`[&_td:not([data-pinned=false])]:sticky`,`[&_td:not([data-pinned=false])]:bg-card`,`**:data-lastcell:border-r`,`**:data-firstcell:border-l`,t),...r,children:n})});G.displayName=`UITableBody`;const K=(0,h.memo)(({row:e,isSelected:t,virtualRowIndex:n,virtualRowStart:r,children:i,...a})=>{let{keyOfClickRow:o,isAllRowsSelected:s,columnPinningState:c,leftPinnedHeaders:l,rightPinnedHeaders:u,onClickRow:d}=me(),f=(0,h.useMemo)(()=>c.left??[],[c]),p=(0,h.useMemo)(()=>c.right??[],[c]),m=(0,h.useMemo)(()=>u?.[0]?.id,[u]),_=(0,h.useMemo)(()=>l?.[l.length-1]?.id,[l]),v=(0,h.useCallback)(t=>{let r=o?e.original?.[o]:void 0;d?.(n,typeof r==`string`||typeof r==`number`?r:void 0),t.preventDefault(),t.stopPropagation()},[o,d,e,n]);return(0,g.jsx)(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:`group`,onClick:v,...a,children:e.getVisibleCells().map((e,r)=>{let i=f.includes(e.column.id),a=p.includes(e.column.id),o=i?`left`:a?`right`:!1;return e.column.id===`actions`?(0,g.jsx)(J,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,virtualRowIndex:n,column:e.column,getContext:e.getContext},`${e.id}-${r}`):e.column.id===`select`?(0,g.jsx)(q,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isSelected:s||t,onToggleRowSelected:e.row.toggleSelected},`${e.id}-${r}`):(0,g.jsx)(Y,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isFirstCell:e.column.id===m,isLastCell:e.column.id===_,colId:e.column.id,position:e.column.columnDef.meta?.position??`start`,column:e.column,getContext:e.getContext},`${e.id}-${r}`)})})});K.displayName=`UITableRow`;const q=(0,h.memo)(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=(0,h.useCallback)(e=>{r?.(!!e)},[r]);return(0,g.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,m.cn)(`group-hover:bg-muted-bg-subtle!`,e?`sticky`:`relative`,n),...i,children:(0,g.jsx)(`div`,{"data-slot":`table-cell-inner`,className:`flex! w-full! items-center justify-center bg-transparent text-center align-middle`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,g.jsx)(u.t,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});q.displayName=`UITableCellSelect`;const J=(0,h.memo)(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=(0,h.useMemo)(()=>(0,y.flexRender)(t?.columnDef.cell,n()),[t,n]);return(0,g.jsx)(`td`,{"data-col":`actions`,"data-cell":e,className:`sticky inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`,...i,children:a})});J.displayName=`UITableCellActions`;const Y=(0,h.memo)(({isPinned:e=!1,isFirstCell:t=!1,isLastCell:n=!1,colId:r,position:i=`start`,column:a,getContext:o,...s})=>{let{innerTableId:c,table:l}=ce(),u=(0,h.useRef)(document.querySelector(`table[id="${c}"]`)),d=(0,h.useRef)(null),f=(0,h.useMemo)(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=(0,h.useMemo)(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),_=(0,h.useMemo)(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),v=(0,h.useMemo)(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),b=(0,h.useMemo)(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),x=(0,h.useMemo)(()=>(0,y.flexRender)(a?.columnDef.cell,o()),[a,o]);return(0,h.useEffect)(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),(0,g.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":e,"data-lastcell":n||void 0,"data-firstcell":t||void 0,style:{left:f,right:p,width:_,minWidth:v,maxWidth:b},className:`group-hover:bg-muted-bg-subtle!`,...s,children:(0,g.jsx)(`div`,{ref:d,slot:`table-body-cell-inner`,className:(0,m.cn)(i===`start`&&`justify-start`,i===`center`&&`justify-center`,i===`end`&&`justify-end`),children:x})})});Y.displayName=`UITableCell`;const he=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`tfoot`,{slot:`table-footer`,className:(0,m.cn)(`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`,e),...n,children:t}));he.displayName=`UITableFooter`;const X=(0,h.memo)(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=oe(),i=(0,h.useRef)(document.querySelector(`div[id="${r}"]`)),a=(0,h.useRef)(null),[o,s]=(0,h.useState)(`idle`),[c,l]=(0,h.useState)(0),u=(0,h.useCallback)(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return(0,h.useEffect)(()=>{if(!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[]),n?(0,g.jsx)(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:(0,g.jsx)(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:(0,g.jsxs)(`button`,{type:`button`,disabled:o===`fetching`,className:(0,m.cn)(`flex cursor-pointer gap-x-0.5`,o===`fetching`&&`cursor-not-allowed`,o===`idle`&&`text-text-positive-weak hover:text-text-positive`,o===`error`&&`text-danger hover:text-danger-strong`),onClick:u,children:[o===`idle`&&(0,g.jsx)(_.ChevronDown,{className:`size-4`}),o===`fetching`&&(0,g.jsx)(d.t,{className:`size-4 animate-spin`}),o===`error`&&(0,g.jsx)(_.AlertTriangle,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})}):null});X.displayName=`UITableLoadMore`;const ge=()=>{let{table:e,isEmpty:t,isFetching:n,fetchMoreData:r}=F(),{rowSelectionState:i}=fe(),a=(0,h.useRef)(null),{rows:o}=e.getRowModel(),s=(0,b.useVirtualizer)({count:o.length+1,estimateSize:()=>40,getScrollElement:()=>a.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),c=(0,h.useMemo)(()=>{let e=s.getTotalSize(),t=a.current?.clientHeight||0;return e<t?`${t}px`:`${e}px`},[s.getTotalSize()]);return(0,g.jsx)(f.r,{direction:`horizontal`,style:{direction:e.options.columnResizeDirection},className:`relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border border-r border-r-border bg-slate-50 p-0 text-sm`,children:(0,g.jsx)(f.n,{className:`relative`,children:(0,g.jsxs)(B,{ref:a,children:[(0,g.jsxs)(V,{children:[(0,g.jsx)(H,{children:e.getHeaderGroups().map(e=>(0,g.jsx)(U,{headerGroup:e},e.id))}),(0,g.jsx)(G,{height:c,children:s.getVirtualItems().map(e=>{let t=o[e.index],n=Object.entries(i).some(([e,n])=>e===`${t?.id}`&&n);return t?(0,g.jsx)(K,{ref:s.measureElement,row:t,isSelected:n,virtualRowIndex:e.index,virtualRowStart:e.start},e.index):(0,g.jsx)(X,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:r},e.index)})})]}),(0,g.jsx)(R,{isEmpty:t,isFetching:n})]})})})},_e=({checked:e,title:t,onCheckedChange:n})=>(0,g.jsxs)(`div`,{className:`flex h-fit items-center gap-2`,children:[(0,g.jsx)(u.t,{checked:e,onCheckedChange:n}),(0,g.jsx)(`p`,{className:`text-sm`,children:t})]}),ve=()=>{let{table:e}=F(),[t,r]=(0,h.useState)(null);return(0,g.jsx)(f.n,{defaultSize:25,className:(0,m.cn)(`bg-card`,t===null?`max-w-8!`:`min-w-64`),children:(0,g.jsxs)(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[(0,g.jsxs)(`div`,{className:`flex-1`,children:[(0,g.jsx)(h.Activity,{mode:t===`columns`?`visible`:`hidden`,children:(0,g.jsxs)(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[(0,g.jsx)(`p`,{className:`px-2 font-medium`,children:`Columns Visibility`}),(0,g.jsx)(c.t,{}),(0,g.jsx)(`div`,{className:`flex flex-col gap-4 pt-4`,children:e.getAllColumns().map(e=>[`select`,`actions`].includes(e.id)?null:(0,g.jsx)(_e,{checked:e.getIsVisible(),title:String(e.columnDef.header),onCheckedChange:t=>e.toggleVisibility(!!t)},e.id))})]})}),(0,g.jsx)(h.Activity,{mode:t===`filters`?`visible`:`hidden`,children:(0,g.jsx)(`div`,{className:`flex size-full flex-col p-2`,children:(0,g.jsxs)(n.t,{variant:`outline`,color:`muted`,children:[(0,g.jsx)(_.ListFilterPlus,{}),`Add Filter`]})})})]}),(0,g.jsxs)(`div`,{className:`flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm`,children:[(0,g.jsxs)(`button`,{className:(0,m.cn)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,t===`columns`&&`bg-card`),onClick:()=>r(t===`columns`?null:`columns`),children:[(0,g.jsx)(_.Columns4Icon,{size:18}),(0,g.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Columns`})]}),(0,g.jsx)(c.t,{}),(0,g.jsxs)(`button`,{className:(0,m.cn)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,t===`filters`&&`bg-card`),onClick:()=>r(t===`filters`?null:`filters`),children:[(0,g.jsx)(_.ListFilterIcon,{size:18}),(0,g.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),(0,g.jsx)(c.t,{})]})]})})},ye=(0,h.memo)(({innerWrapperId:e,children:t})=>{let n=(0,h.useMemo)(()=>({innerWrapperId:e}),[e]);return(0,g.jsx)(ae.Provider,{value:n,children:t})});ye.displayName=`UITableInnerWrapperProvider`;const be=(0,h.memo)(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=(0,h.useMemo)(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return(0,g.jsx)(se.Provider,{value:i,children:r})});be.displayName=`UITableInnerTableProvider`;const xe=(0,h.memo)(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=(0,h.useMemo)(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return(0,g.jsx)(le.Provider,{value:o,children:a})});xe.displayName=`UITableHeadRowProvider`;const Se=(0,h.memo)(({isFetching:e,isEmpty:t,rowSelectionState:n,children:r})=>{let i=(0,h.useMemo)(()=>({isFetching:e,isEmpty:t,rowSelectionState:n}),[e,t,n]);return(0,g.jsx)(de.Provider,{value:i,children:r})});Se.displayName=`UITableBodyProvider`;const Z=(0,h.memo)(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=(0,h.useMemo)(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return(0,g.jsx)(pe.Provider,{value:s,children:o})});Z.displayName=`UITableRowProvider`;const Ce=({title:e,isFetching:t=!1,isRefetching:n=!1,data:r,columns:i,totalRows:a,leftPinnedColumns:o=[],rightPinnedColumns:s=[],keyOfClickRow:c,onClickRow:l,onRowSelection:u,onColumnPinning:d,fetchMoreData:f,children:p})=>{let m=(0,h.useId)(),_=(0,h.useId)(),[v,b]=(0,h.useState)({}),[x,S]=(0,h.useState)({right:s,left:[`select`,...o]}),[C,w]=(0,h.useState)({}),ee=(0,h.useCallback)(e=>(b(e),u?.(e instanceof Function?e(v):e),e),[v,u]),T=(0,h.useCallback)(e=>{S(e),d?.(e instanceof Function?e(x):e)},[x,d]),E=(0,y.useReactTable)({data:r,columns:i,state:{rowSelection:v,columnPinning:x,expanded:C},defaultColumn:{enableResizing:!1,size:void 0,minSize:void 0,maxSize:void 0},columnResizeMode:`onChange`,columnResizeDirection:`ltr`,enableColumnPinning:!0,enableRowSelection:!0,enableColumnResizing:!0,enableMultiRowSelection:!0,autoResetAll:!1,autoResetExpanded:!1,autoResetPageIndex:!1,getSubRows:e=>e.subRows,getCoreRowModel:(0,y.getCoreRowModel)(),getGroupedRowModel:(0,y.getGroupedRowModel)(),getExpandedRowModel:(0,y.getExpandedRowModel)(),onRowSelectionChange:ee,onColumnPinningChange:T,onExpandedChange:w}),D=(0,h.useMemo)(()=>{let{rows:e}=E.getRowModel();return e},[E.getRowModel().rows,E.getState().columnPinning]),O=(0,h.useMemo)(()=>!t&&D.length===0,[D,t]),k=(0,h.useMemo)(()=>({title:e,table:E,isEmpty:O,isFetching:t,isRefetching:n,totalRows:a,fetchMoreData:f}),[e,E,O,n,t,a,f,E.getState().columnPinning,E.getState().expanded]),A=(0,h.useMemo)(()=>E.getState(),[E.getState()]),j=(0,h.useMemo)(()=>E.getIsAllRowsSelected(),[E.getIsAllRowsSelected()]),M=(0,h.useMemo)(()=>A.rowSelection,[A.rowSelection]),N=(0,h.useMemo)(()=>A.columnPinning,[A.columnPinning]),te=(0,h.useMemo)(()=>E.getLeftHeaderGroups()[0]?.headers||[],[E.getState().columnPinning]),ne=(0,h.useMemo)(()=>E.getRightHeaderGroups()[0]?.headers||[],[E.getState().columnPinning]),re=(0,h.useMemo)(()=>E.getTotalSize(),[E.getTotalSize()]);return(0,g.jsx)(P.Provider,{value:k,children:(0,g.jsx)(ye,{innerWrapperId:m,children:(0,g.jsx)(be,{table:E,innerTableId:_,totalSize:re,children:(0,g.jsx)(xe,{isAllRowsSelected:j,columnPinningState:N,leftPinnedHeaders:te,rightPinnedHeaders:ne,onToggleAllRowsSelected:E.toggleAllRowsSelected,children:(0,g.jsx)(Se,{isFetching:t,isEmpty:O,rowSelectionState:M,children:(0,g.jsx)(Z,{keyOfClickRow:c,isAllRowsSelected:j,columnPinningState:N,leftPinnedHeaders:te,rightPinnedHeaders:ne,onClickRow:l,children:p})})})})})})},we=({onSearch:e,onChange:t,...n})=>{let r=(0,x.useDebounceCallback)(t=>{e?.(t)},500);return(0,g.jsxs)(`div`,{className:`relative w-full max-w-80 flex-1`,children:[(0,g.jsx)(p.t,{...n,size:`lg`,type:`search`,placeholder:`Search records...`,className:`flex-1 ps-9 pe-9`,onChange:e=>{t?.(e),r(e.target.value??``)}}),(0,g.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:(0,g.jsx)(_.SearchIcon,{size:16})}),(0,g.jsx)(`button`,{className:`absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:(0,g.jsx)(_.ArrowRightIcon,{size:16,"aria-hidden":`true`})})]})},Q=({children:e,disabled:t,onClick:n})=>(0,g.jsx)(`button`,{type:`button`,disabled:t,className:`flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive disabled:pointer-events-none disabled:cursor-default disabled:opacity-60 [&_svg]:size-3.5`,onClick:n,children:e}),Te=({onCreate:e,onDownload:t,onRefresh:n})=>(0,g.jsxs)(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[(0,g.jsx)(Q,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:(0,g.jsx)(_.CirclePlus,{})}),(0,g.jsx)(Q,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.RefreshCwIcon,{})}),(0,g.jsx)(Q,{disabled:!t,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.DownloadIcon,{})})]}),$=({children:e})=>{let{title:t}=F();return(0,g.jsxs)(`div`,{"data-slot":`table-tooltip`,className:`relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm`,children:[(0,g.jsx)(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),(0,g.jsx)(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};$.displayName=`TableTooltip`,exports.UITableBadgeDisplay=C,exports.UITableBody=G,exports.UITableBooleanDisplay=w,exports.UITableCell=Y,exports.UITableCellActions=J,exports.UITableCellSelect=q,exports.UITableContainer=ge,exports.UITableDateDisplay=ee,exports.UITableDescriptionDisplay=T,exports.UITableEmptyDisplay=R,exports.UITableFilter=ve,exports.UITableFooter=he,exports.UITableHead=H,exports.UITableHeadCell=W,exports.UITableHeadCellOption=I,exports.UITableHeadCellSelect=L,exports.UITableHeadRow=U,exports.UITableInnerTable=V,exports.UITableInnerWrapper=B,exports.UITableLoadMore=X,exports.UITableMoreButton=E,exports.UITableNameDisplay=D,exports.UITablePermalink=O,exports.UITablePhoneNumberDisplay=k,exports.UITableProvider=Ce,exports.UITableRemoveButton=A,exports.UITableRow=K,exports.UITableStatisticDisplay=M,exports.UITableTooltip=$,exports.UITableTooltipActions=Te,exports.UITableTooltipFilter=we,exports.UITableUserDataDisplay=N,exports.UITableWrapper=z;
1
+ const e=require(`../../chunk-Bmb41Sf3.cjs`),t=require(`../../paragraph-B72bHMf7.cjs`);require(`../../button.variants-CS-Cmarr.cjs`);const n=require(`../../button-CpEejahy.cjs`),r=require(`../../flex-twCgWyx1.cjs`),i=require(`../../date-em5f7hCx.cjs`),a=require(`../../badge-cvLJyaCA.cjs`),o=require(`../../tooltip-DC6i1A25.cjs`),s=require(`../../avatar-aVxo69zP.cjs`),c=require(`../../separator-C3ip6sbh.cjs`),l=require(`../../dropdown-menu-BuyuU6uF.cjs`),u=require(`../../checkbox-C0fSWwmD.cjs`),d=require(`../../spinner-Chm_2fLr.cjs`),f=require(`../../resizable-mlGS6Zto.cjs`),p=require(`../../input-BFWWaN-v.cjs`);let m=require(`@customafk/react-toolkit/utils`),h=require(`react`),g=require(`react/jsx-runtime`),_=require(`lucide-react`),v=require(`@customafk/react-toolkit/color-hash`),y=require(`@tanstack/react-table`),b=require(`@tanstack/react-virtual`),x=require(`@customafk/react-toolkit/hooks/useDebounceCallback`);const S=()=>(0,g.jsxs)(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[(0,g.jsx)(_.MinusIcon,{size:16}),(0,g.jsx)(_.MinusIcon,{size:16})]}),C=({label:e,onClick:t,onRemove:n})=>e?n?(0,g.jsxs)(`div`,{className:`flex w-fit gap-x-0.5 rounded-full border border-border py-1 pr-2 pl-3 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:[e,(0,g.jsx)(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.XIcon,{size:12})})]}):(0,g.jsx)(`button`,{className:`w-fit rounded-full border border-border px-3 py-1 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:e}):(0,g.jsx)(S,{}),w=({value:e})=>e==null?(0,g.jsx)(S,{}):e===!1?(0,g.jsx)(`div`,{className:`text-danger-strong`,children:(0,g.jsx)(_.XIcon,{})}):(0,g.jsx)(`div`,{className:`text-success-strong`,children:(0,g.jsx)(_.CheckIcon,{})}),ee=({date:e})=>e==null?(0,g.jsx)(S,{}):(0,g.jsx)(o.r,{children:(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(a.t,{className:`h-fit`,children:(0,g.jsx)(i.t,{date:e,format:`medium`,className:`font-normal text-white`})})}),(0,g.jsx)(o.n,{className:`rounded px-2`,children:(0,g.jsx)(i.t,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),T=({content:e})=>e==null?(0,g.jsx)(S,{}):(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(t.t,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:e})}),(0,g.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,g.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,g.jsx)(t.t,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:e}),(0,g.jsxs)(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),E=({items:e=[]})=>(0,g.jsxs)(l.t,{children:[(0,g.jsx)(l.h,{asChild:!0,children:(0,g.jsx)(n.t,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:(0,g.jsx)(_.MoreVerticalIcon,{})})}),(0,g.jsx)(l.r,{children:(0,g.jsx)(l.i,{children:e.map(e=>(0,g.jsx)(l.a,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.stopPropagation()},children:e.label},e.id))})})]}),D=({name:e})=>e?(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(t.t,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start`,children:e})}),(0,g.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,g.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,g.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,g.jsxs)(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):(0,g.jsx)(S,{}),O=({href:e,label:t})=>(0,g.jsxs)(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[(0,g.jsx)(`span`,{children:t||e}),(0,g.jsx)(_.ExternalLinkIcon,{size:14})]}),k=({value:e})=>(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(`p`,{className:`font-number text-secondary-foreground text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,g.jsx)(o.n,{align:`start`,children:(0,g.jsx)(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),A=({title:e,onClick:t})=>(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(n.t,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:(0,h.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),await t?.()},[t]),children:(0,g.jsx)(_.Trash2Icon,{})})}),(0,g.jsx)(o.n,{children:(0,g.jsx)(`p`,{children:e||`Remove item from list table`})})]}),j=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},M=(0,h.memo)(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:n,suffix:i,precision:a,roundingMode:o=`round`,showTrailingZeros:s=!1,size:c=`lg`,value:l=0})=>{let u=(0,h.useMemo)(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=(0,h.useCallback)(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=j(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=(0,h.useMemo)(()=>{if(typeof l==`number`)return Number.isNaN(l)||!Number.isFinite(l)?`N/A`:d(l);if(typeof l==`string`){let e=l.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:d(t)}return`N/A`},[l,d]),p=(0,h.useMemo)(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?(0,g.jsx)(S,{}):(0,g.jsxs)(r.t,{padding:`none`,className:(0,m.cn)(`font-number text-lg text-secondary-foreground tabular-nums`,c===`xs`&&`text-xs`,c===`sm`&&`text-sm`,c===`md`&&`text-base`,c===`lg`&&`text-lg`,c===`xl`&&`text-xl`),children:[n,(0,g.jsx)(`p`,{children:p}),i]})});M.displayName=`UITableStatisticDisplay`;const N=({uuid:e,username:n,email:i})=>(0,g.jsxs)(r.t,{wrap:!1,gap:`sm`,padding:`none`,children:[!e&&(0,g.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,g.jsx)(s.n,{className:`bg-muted-weak`,children:(0,g.jsx)(_.UserRoundIcon,{size:28,className:`text-text-negative`})})}),e&&(0,g.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,g.jsx)(s.n,{style:{backgroundColor:v.colorHashLight.hex(e)},children:(0,g.jsx)(_.UserRoundIcon,{size:28,className:`text-white`})})}),(0,g.jsxs)(r.t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[(0,g.jsx)(t.t,{className:`font-medium text-sm text-text-positive-weak`,children:n??`Unknown User`}),(0,g.jsx)(t.t,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),te=60,ne=60,re=20,ie=20,ae=(0,h.createContext)(null),oe=()=>{let e=(0,h.use)(ae);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},se=(0,h.createContext)(null),ce=()=>{let e=(0,h.use)(se);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},le=(0,h.createContext)(null),ue=()=>{let e=(0,h.use)(le);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},de=(0,h.createContext)(null),fe=()=>{let e=(0,h.use)(de);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},pe=(0,h.createContext)(null),me=()=>{let e=(0,h.use)(pe);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},P=(0,h.createContext)(null),F=()=>{let e=(0,h.use)(P);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},I=(0,h.memo)(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=(0,h.useCallback)(()=>{t?.(`left`)},[t]),o=(0,h.useCallback)(()=>{n?.(`right`)},[n]),s=(0,h.useCallback)(()=>{r?.(!1)},[r]);return(0,g.jsxs)(l.t,{children:[(0,g.jsx)(l.h,{asChild:!0,children:(0,g.jsx)(`button`,{className:(0,m.cn)(`absolute right-2 z-10 p-0.5 opacity-0`,`cursor-pointer rounded-full transition-all`,`text-text-positive-weak`,`[&>svg]:size-4`,`group-hover:opacity-100`,`hover:bg-muted-muted hover:text-text-positive`,i),children:(0,g.jsx)(_.EllipsisVerticalIcon,{})})}),(0,g.jsx)(l.r,{align:`end`,className:`w-64 p-4`,children:(0,g.jsxs)(l.i,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[(0,g.jsx)(h.Activity,{mode:e?`visible`:`hidden`,children:(0,g.jsxs)(l.a,{onClick:s,children:[!!e&&`Unpin`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.PinOffIcon,{className:`size-4`})})]})}),(0,g.jsxs)(h.Activity,{mode:e?`hidden`:`visible`,children:[(0,g.jsxs)(l.a,{onClick:a,children:[e?`Unpin`:`Pin to Left`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.MoveLeftIcon,{className:`size-4`})})]}),(0,g.jsxs)(l.a,{onClick:o,children:[e?`Unpin`:`Pin to Right`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.MoveRightIcon,{className:`size-4`})})]})]})]})})]})});I.displayName=`UITableHeadCellOption`;const L=(0,h.memo)(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=(0,h.useCallback)(e=>{r?.(!!e)},[r]);return(0,g.jsx)(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,m.cn)(e?`sticky`:`relative`),...i,children:(0,g.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,g.jsx)(u.t,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});L.displayName=`UITableHeadCellSelect`;const R=(0,h.memo)(({isEmpty:e,isFetching:t})=>!e&&!t?null:(0,g.jsxs)(`div`,{className:`sticky left-0 flex min-h-96 flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`,children:[t&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,g.jsx)(d.t,{className:`size-12`}),(0,g.jsx)(`p`,{children:`Loading data...`})]}),e&&!t&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,g.jsx)(_.BoxIcon,{strokeWidth:1,size:48}),(0,g.jsx)(`p`,{children:`No data available`})]})]}));R.displayName=`UITableEmptyDisplay`;const z=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`div`,{slot:`table-wrapper`,className:(0,m.cn)(`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`,e),...n,children:t}));z.displayName=`UITableWrapper`;const B=(0,h.memo)(({children:e,...t})=>{let{innerWrapperId:n}=oe();return(0,g.jsx)(`div`,{id:n,slot:`table-inner-wrapper`,className:`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`,...t,children:e})});B.displayName=`UITableInnerWrapper`;const V=(0,h.memo)(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=ce(),a=(0,h.useRef)(null);return(0,h.useEffect)(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t=new ResizeObserver(t=>{requestAnimationFrame(()=>{let r=t[0].target;if(r instanceof HTMLTableElement){let i=t[0];if(!i)return;let a=i.contentRect.width,{left:o=[],right:s=[]}=n.getState().columnPinning,c=0,l=0,u=0,d=e.map(e=>{let{id:t}=e,n=t===`select`||t===`actions`,r=o.includes(t)||s.includes(t),i=e.getSize(),a=e.column.columnDef.maxSize;return n?(c+=60,{id:t,isFlex:!1,width:60}):r?(c+=i,{id:t,isFlex:!1,width:i}):e.column.columnDef.size||i!==150?(u+=i,{id:t,isFlex:!1,width:i}):(l++,{id:t,isFlex:!0,maxSize:a})}),f=a-c-u,p=l>0?Math.max(0,Math.floor(f/l)):0;d.forEach(e=>{if(e.isFlex){let t=e.maxSize?Math.min(p,e.maxSize):p;r.style.setProperty(`--header-${e.id}-size`,`${t}`),r.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&r.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else r.style.setProperty(`--header-${e.id}-size`,`${e.width}`),r.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})}})});return t.observe(a.current),()=>t.disconnect()},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),(0,g.jsx)(`table`,{id:r,ref:a,slot:`table-inner-table`,className:`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`,style:{minWidth:i},...t,children:e})});V.displayName=`UITableInnerTable`;const H=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`thead`,{slot:`table-head`,className:(0,m.cn)(`sticky top-0 z-20 h-9 w-full`,`grid select-none bg-muted-bg-subtle`,`border-b border-b-border shadow`,`font-medium text-[13px] text-text-positive-weak`,`[&_tr:not(:last-child)_td]:border-b`,`[&_th]:inline-flex`,`[&_th]:items-center`,`[&_th]:transition-all`,`[&_th]:duration-300`,`[&_th]:whitespace-nowrap`,`[&_th]:border-border`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`,e),...n,children:t}));H.displayName=`UITableHead`;const U=(0,h.memo)(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=ue(),c=o[0]?.id,l=a[a.length-1]?.id;return(0,g.jsx)(`tr`,{slot:`table-head-row`,className:(0,m.cn)(`flex`,t),...n,children:e.headers.map((e,t)=>{let n=e.column.getIsVisible(),a=i.left?.includes(e.id)?`left`:i.right?.includes(e.id)?`right`:!1;return e.id===`select`?(0,g.jsx)(L,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):(0,g.jsx)(W,{isVisible:n,isPinned:a,isFirstCell:e.id===c,isLastCell:e.id===l,isOptionsVisible:![`select`,`actions`].includes(e.id),headerId:e.id,headerColumn:e.column,colSpan:e.colSpan,onColumnPin:e.column.pin,onToggleVisibility:e.column.toggleVisibility,children:(0,y.flexRender)(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});U.displayName=`UITableHeadRow`;const W=(0,h.memo)(({isVisible:e=!0,isPinned:t=!1,isFirstCell:n=!1,isLastCell:r=!1,isOptionsVisible:i=!0,headerId:a,headerColumn:o,className:s,children:c,onColumnPin:l,onToggleVisibility:u,...d})=>{let f=(0,h.useMemo)(()=>t?20:void 0,[t]),p=(0,h.useMemo)(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),_=(0,h.useMemo)(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),v=(0,h.useMemo)(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),y=(0,h.useMemo)(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),b=(0,h.useMemo)(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return(0,g.jsxs)(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:f,left:p,right:_,width:v,minWidth:y,maxWidth:b},className:(0,m.cn)(`group flex`,t?`sticky`:`relative`,t===`left`&&r&&`border-r border-r-border`,t===`right`&&n&&`border-l border-l-border`,o?.columnDef.meta?.position===`center`&&`justify-center`,o?.columnDef.meta?.position===`end`&&`justify-end`,o?.columnDef.meta?.position===`start`&&`justify-start`,s),...d,children:[(0,g.jsx)(`div`,{className:`truncate pl-4`,children:c}),i&&(0,g.jsx)(I,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});W.displayName=`UITableHeadCell`;const G=(0,h.memo)(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isEmpty:a}=fe();return a||i?null:(0,g.jsx)(`tbody`,{slot:`table-body`,style:{height:e},className:(0,m.cn)(`relative w-full`,`grid`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:flex-none`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer [&_tr]:focus:outline-none`,`[&_tr]:border-b [&_tr]:border-b-border`,`[&_td]:z-10`,`[&_td]:transition-all`,`[&_td]:duration-300`,`[&_td]:flex`,`[&_td]:flex-none`,`[&_td]:overflow-hidden`,`[&_td]:whitespace-nowrap`,`[&_td]:px-4`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:border-border`,`[&_td]:data-[selected=true]:bg-muted-muted!`,`[&_td]:data-[selected=true]:hover:bg-muted-muted!`,`[&_td>div]:inline-flex`,`[&_td>div]:items-center`,`[&_td>div]:w-full`,`[&_td:not([data-pinned=false])]:z-20`,`[&_td:not([data-pinned=false])]:sticky`,`[&_td:not([data-pinned=false])]:bg-card`,`**:data-lastcell:border-r`,`**:data-firstcell:border-l`,t),...r,children:n})});G.displayName=`UITableBody`;const K=(0,h.memo)(({row:e,isSelected:t,virtualRowIndex:n,virtualRowStart:r,children:i,...a})=>{let{keyOfClickRow:o,isAllRowsSelected:s,columnPinningState:c,leftPinnedHeaders:l,rightPinnedHeaders:u,onClickRow:d}=me(),f=(0,h.useMemo)(()=>c.left??[],[c]),p=(0,h.useMemo)(()=>c.right??[],[c]),m=(0,h.useMemo)(()=>u?.[0]?.id,[u]),_=(0,h.useMemo)(()=>l?.[l.length-1]?.id,[l]),v=(0,h.useCallback)(t=>{let r=o?e.original?.[o]:void 0;d?.(n,typeof r==`string`||typeof r==`number`?r:void 0),t.preventDefault(),t.stopPropagation()},[o,d,e,n]);return(0,g.jsx)(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:`group`,onClick:v,...a,children:e.getVisibleCells().map((e,r)=>{let i=f.includes(e.column.id),a=p.includes(e.column.id),o=i?`left`:a?`right`:!1;return e.column.id===`actions`?(0,g.jsx)(J,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,virtualRowIndex:n,column:e.column,getContext:e.getContext},`${e.id}-${r}`):e.column.id===`select`?(0,g.jsx)(q,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isSelected:s||t,onToggleRowSelected:e.row.toggleSelected},`${e.id}-${r}`):(0,g.jsx)(Y,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isFirstCell:e.column.id===m,isLastCell:e.column.id===_,colId:e.column.id,position:e.column.columnDef.meta?.position??`start`,column:e.column,getContext:e.getContext},`${e.id}-${r}`)})})});K.displayName=`UITableRow`;const q=(0,h.memo)(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=(0,h.useCallback)(e=>{r?.(!!e)},[r]);return(0,g.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,m.cn)(`group-hover:bg-muted-bg-subtle!`,e?`sticky`:`relative`,n),...i,children:(0,g.jsx)(`div`,{"data-slot":`table-cell-inner`,className:`flex! w-full! items-center justify-center bg-transparent text-center align-middle`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,g.jsx)(u.t,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});q.displayName=`UITableCellSelect`;const J=(0,h.memo)(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=(0,h.useMemo)(()=>(0,y.flexRender)(t?.columnDef.cell,n()),[t,n]);return(0,g.jsx)(`td`,{"data-col":`actions`,"data-cell":e,className:`sticky inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`,...i,children:a})});J.displayName=`UITableCellActions`;const Y=(0,h.memo)(({isPinned:e=!1,isFirstCell:t=!1,isLastCell:n=!1,colId:r,position:i=`start`,column:a,getContext:o,...s})=>{let{innerTableId:c,table:l}=ce(),u=(0,h.useRef)(document.querySelector(`table[id="${c}"]`)),d=(0,h.useRef)(null),f=(0,h.useMemo)(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=(0,h.useMemo)(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),_=(0,h.useMemo)(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),v=(0,h.useMemo)(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),b=(0,h.useMemo)(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),x=(0,h.useMemo)(()=>(0,y.flexRender)(a?.columnDef.cell,o()),[a,o]);return(0,h.useEffect)(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),(0,g.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":e,"data-lastcell":n||void 0,"data-firstcell":t||void 0,style:{left:f,right:p,width:_,minWidth:v,maxWidth:b},className:`group-hover:bg-muted-bg-subtle!`,...s,children:(0,g.jsx)(`div`,{ref:d,slot:`table-body-cell-inner`,className:(0,m.cn)(i===`start`&&`justify-start`,i===`center`&&`justify-center`,i===`end`&&`justify-end`),children:x})})});Y.displayName=`UITableCell`;const he=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`tfoot`,{slot:`table-footer`,className:(0,m.cn)(`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`,e),...n,children:t}));he.displayName=`UITableFooter`;const X=(0,h.memo)(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=oe(),i=(0,h.useRef)(document.querySelector(`div[id="${r}"]`)),a=(0,h.useRef)(null),[o,s]=(0,h.useState)(`idle`),[c,l]=(0,h.useState)(0),u=(0,h.useCallback)(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return(0,h.useEffect)(()=>{if(!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[]),n?(0,g.jsx)(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:(0,g.jsx)(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:(0,g.jsxs)(`button`,{type:`button`,disabled:o===`fetching`,className:(0,m.cn)(`flex cursor-pointer gap-x-0.5`,o===`fetching`&&`cursor-not-allowed`,o===`idle`&&`text-text-positive-weak hover:text-text-positive`,o===`error`&&`text-danger hover:text-danger-strong`),onClick:u,children:[o===`idle`&&(0,g.jsx)(_.ChevronDown,{className:`size-4`}),o===`fetching`&&(0,g.jsx)(d.t,{className:`size-4 animate-spin`}),o===`error`&&(0,g.jsx)(_.AlertTriangle,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})}):null});X.displayName=`UITableLoadMore`;const ge=()=>{let{table:e,isEmpty:t,isFetching:n,fetchMoreData:r}=F(),{rowSelectionState:i}=fe(),a=(0,h.useRef)(null),{rows:o}=e.getRowModel(),s=(0,b.useVirtualizer)({count:o.length+1,estimateSize:()=>40,getScrollElement:()=>a.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),c=(0,h.useMemo)(()=>{let e=s.getTotalSize(),t=a.current?.clientHeight||0;return e<t?`${t}px`:`${e}px`},[s.getTotalSize()]);return(0,g.jsx)(f.r,{direction:`horizontal`,style:{direction:e.options.columnResizeDirection},className:`relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border border-r border-r-border bg-slate-50 p-0 text-sm`,children:(0,g.jsx)(f.n,{className:`relative`,children:(0,g.jsxs)(B,{ref:a,children:[(0,g.jsxs)(V,{children:[(0,g.jsx)(H,{children:e.getHeaderGroups().map(e=>(0,g.jsx)(U,{headerGroup:e},e.id))}),(0,g.jsx)(G,{height:c,children:s.getVirtualItems().map(e=>{let t=o[e.index],n=Object.entries(i).some(([e,n])=>e===`${t?.id}`&&n);return t?(0,g.jsx)(K,{ref:s.measureElement,row:t,isSelected:n,virtualRowIndex:e.index,virtualRowStart:e.start},e.index):(0,g.jsx)(X,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:r},e.index)})})]}),(0,g.jsx)(R,{isEmpty:t,isFetching:n})]})})})},_e=({checked:e,title:t,onCheckedChange:n})=>(0,g.jsxs)(`div`,{className:`flex h-fit items-center gap-2`,children:[(0,g.jsx)(u.t,{checked:e,onCheckedChange:n}),(0,g.jsx)(`p`,{className:`text-sm`,children:t})]}),ve=()=>{let{table:e}=F(),[t,r]=(0,h.useState)(null);return(0,g.jsx)(f.n,{defaultSize:25,className:(0,m.cn)(`bg-card`,t===null?`max-w-8!`:`min-w-64`),children:(0,g.jsxs)(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[(0,g.jsxs)(`div`,{className:`flex-1`,children:[(0,g.jsx)(h.Activity,{mode:t===`columns`?`visible`:`hidden`,children:(0,g.jsxs)(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[(0,g.jsx)(`p`,{className:`px-2 font-medium`,children:`Columns Visibility`}),(0,g.jsx)(c.t,{}),(0,g.jsx)(`div`,{className:`flex flex-col gap-4 pt-4`,children:e.getAllColumns().map(e=>[`select`,`actions`].includes(e.id)?null:(0,g.jsx)(_e,{checked:e.getIsVisible(),title:String(e.columnDef.header),onCheckedChange:t=>e.toggleVisibility(!!t)},e.id))})]})}),(0,g.jsx)(h.Activity,{mode:t===`filters`?`visible`:`hidden`,children:(0,g.jsx)(`div`,{className:`flex size-full flex-col p-2`,children:(0,g.jsxs)(n.t,{variant:`outline`,color:`muted`,children:[(0,g.jsx)(_.ListFilterPlus,{}),`Add Filter`]})})})]}),(0,g.jsxs)(`div`,{className:`flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm`,children:[(0,g.jsxs)(`button`,{className:(0,m.cn)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,t===`columns`&&`bg-card`),onClick:()=>r(t===`columns`?null:`columns`),children:[(0,g.jsx)(_.Columns4Icon,{size:18}),(0,g.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Columns`})]}),(0,g.jsx)(c.t,{}),(0,g.jsxs)(`button`,{className:(0,m.cn)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,t===`filters`&&`bg-card`),onClick:()=>r(t===`filters`?null:`filters`),children:[(0,g.jsx)(_.ListFilterIcon,{size:18}),(0,g.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),(0,g.jsx)(c.t,{})]})]})})},ye=(0,h.memo)(({innerWrapperId:e,children:t})=>{let n=(0,h.useMemo)(()=>({innerWrapperId:e}),[e]);return(0,g.jsx)(ae.Provider,{value:n,children:t})});ye.displayName=`UITableInnerWrapperProvider`;const be=(0,h.memo)(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=(0,h.useMemo)(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return(0,g.jsx)(se.Provider,{value:i,children:r})});be.displayName=`UITableInnerTableProvider`;const xe=(0,h.memo)(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=(0,h.useMemo)(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return(0,g.jsx)(le.Provider,{value:o,children:a})});xe.displayName=`UITableHeadRowProvider`;const Se=(0,h.memo)(({isFetching:e,isEmpty:t,rowSelectionState:n,children:r})=>{let i=(0,h.useMemo)(()=>({isFetching:e,isEmpty:t,rowSelectionState:n}),[e,t,n]);return(0,g.jsx)(de.Provider,{value:i,children:r})});Se.displayName=`UITableBodyProvider`;const Z=(0,h.memo)(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=(0,h.useMemo)(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return(0,g.jsx)(pe.Provider,{value:s,children:o})});Z.displayName=`UITableRowProvider`;const Ce=({title:e,isFetching:t=!1,isRefetching:n=!1,data:r,columns:i,totalRows:a,leftPinnedColumns:o=[],rightPinnedColumns:s=[],keyOfClickRow:c,onClickRow:l,onRowSelection:u,onColumnPinning:d,fetchMoreData:f,children:p})=>{let m=(0,h.useId)(),_=(0,h.useId)(),[v,b]=(0,h.useState)({}),[x,S]=(0,h.useState)({right:s,left:[`select`,...o]}),[C,w]=(0,h.useState)({}),ee=(0,h.useCallback)(e=>(b(e),u?.(e instanceof Function?e(v):e),e),[v,u]),T=(0,h.useCallback)(e=>{S(e),d?.(e instanceof Function?e(x):e)},[x,d]),E=(0,y.useReactTable)({data:r,columns:i,state:{rowSelection:v,columnPinning:x,expanded:C},defaultColumn:{enableResizing:!1,size:void 0,minSize:void 0,maxSize:void 0},columnResizeMode:`onChange`,columnResizeDirection:`ltr`,enableColumnPinning:!0,enableRowSelection:!0,enableColumnResizing:!0,enableMultiRowSelection:!0,autoResetAll:!1,autoResetExpanded:!1,autoResetPageIndex:!1,getSubRows:e=>e.subRows,getCoreRowModel:(0,y.getCoreRowModel)(),getGroupedRowModel:(0,y.getGroupedRowModel)(),getExpandedRowModel:(0,y.getExpandedRowModel)(),onRowSelectionChange:ee,onColumnPinningChange:T,onExpandedChange:w}),D=(0,h.useMemo)(()=>{let{rows:e}=E.getRowModel();return e},[E.getRowModel().rows,E.getState().columnPinning]),O=(0,h.useMemo)(()=>!t&&D.length===0,[D,t]),k=(0,h.useMemo)(()=>({title:e,table:E,isEmpty:O,isFetching:t,isRefetching:n,totalRows:a,fetchMoreData:f}),[e,E,O,n,t,a,f,E.getState().columnPinning,E.getState().expanded]),A=(0,h.useMemo)(()=>E.getState(),[E.getState()]),j=(0,h.useMemo)(()=>E.getIsAllRowsSelected(),[E.getIsAllRowsSelected()]),M=(0,h.useMemo)(()=>A.rowSelection,[A.rowSelection]),N=(0,h.useMemo)(()=>A.columnPinning,[A.columnPinning]),te=(0,h.useMemo)(()=>E.getLeftHeaderGroups()[0]?.headers||[],[E.getState().columnPinning]),ne=(0,h.useMemo)(()=>E.getRightHeaderGroups()[0]?.headers||[],[E.getState().columnPinning]),re=(0,h.useMemo)(()=>E.getTotalSize(),[E.getTotalSize()]);return(0,g.jsx)(P.Provider,{value:k,children:(0,g.jsx)(ye,{innerWrapperId:m,children:(0,g.jsx)(be,{table:E,innerTableId:_,totalSize:re,children:(0,g.jsx)(xe,{isAllRowsSelected:j,columnPinningState:N,leftPinnedHeaders:te,rightPinnedHeaders:ne,onToggleAllRowsSelected:E.toggleAllRowsSelected,children:(0,g.jsx)(Se,{isFetching:t,isEmpty:O,rowSelectionState:M,children:(0,g.jsx)(Z,{keyOfClickRow:c,isAllRowsSelected:j,columnPinningState:N,leftPinnedHeaders:te,rightPinnedHeaders:ne,onClickRow:l,children:p})})})})})})},we=({onSearch:e,onChange:t,...n})=>{let r=(0,x.useDebounceCallback)(t=>{e?.(t)},500);return(0,g.jsxs)(`div`,{className:`relative w-full max-w-80 flex-1`,children:[(0,g.jsx)(p.t,{...n,size:`lg`,type:`search`,placeholder:`Search records...`,className:`flex-1 ps-9 pe-9`,onChange:e=>{t?.(e),r(e.target.value??``)}}),(0,g.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:(0,g.jsx)(_.SearchIcon,{size:16})}),(0,g.jsx)(`button`,{className:`absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:(0,g.jsx)(_.ArrowRightIcon,{size:16,"aria-hidden":`true`})})]})},Q=({children:e,disabled:t,onClick:n})=>(0,g.jsx)(`button`,{type:`button`,disabled:t,className:`flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive disabled:pointer-events-none disabled:cursor-default disabled:opacity-60 [&_svg]:size-3.5`,onClick:n,children:e}),Te=({onCreate:e,onDownload:t,onRefresh:n})=>(0,g.jsxs)(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[(0,g.jsx)(Q,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:(0,g.jsx)(_.CirclePlus,{})}),(0,g.jsx)(Q,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.RefreshCwIcon,{})}),(0,g.jsx)(Q,{disabled:!t,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.DownloadIcon,{})})]}),$=({children:e})=>{let{title:t}=F();return(0,g.jsxs)(`div`,{"data-slot":`table-tooltip`,className:`relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm`,children:[(0,g.jsx)(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),(0,g.jsx)(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};$.displayName=`TableTooltip`,exports.UITableBadgeDisplay=C,exports.UITableBody=G,exports.UITableBooleanDisplay=w,exports.UITableCell=Y,exports.UITableCellActions=J,exports.UITableCellSelect=q,exports.UITableContainer=ge,exports.UITableDateDisplay=ee,exports.UITableDescriptionDisplay=T,exports.UITableEmptyDisplay=R,exports.UITableFilter=ve,exports.UITableFooter=he,exports.UITableHead=H,exports.UITableHeadCell=W,exports.UITableHeadCellOption=I,exports.UITableHeadCellSelect=L,exports.UITableHeadRow=U,exports.UITableInnerTable=V,exports.UITableInnerWrapper=B,exports.UITableLoadMore=X,exports.UITableMoreButton=E,exports.UITableNameDisplay=D,exports.UITablePermalink=O,exports.UITablePhoneNumberDisplay=k,exports.UITableProvider=Ce,exports.UITableRemoveButton=A,exports.UITableRow=K,exports.UITableStatisticDisplay=M,exports.UITableTooltip=$,exports.UITableTooltipActions=Te,exports.UITableTooltipFilter=we,exports.UITableUserDataDisplay=N,exports.UITableWrapper=z;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { t as AnyEntity } from "../../types-Bd0JePtp.cjs";
2
- import { t as Input } from "../../input-D0enZTLC.cjs";
2
+ import { t as Input } from "../../input-B65h-l45.cjs";
3
3
  import * as react_jsx_runtime346 from "react/jsx-runtime";
4
4
  import * as react267 from "react";
5
5
  import { AccessorKeyColumnDef, CellContext, Column, ColumnPinningPosition, ColumnPinningState, Header, HeaderGroup, Row, RowSelectionState, Table } from "@tanstack/react-table";
@@ -1,5 +1,5 @@
1
1
  import { t as AnyEntity } from "../../types-BpHcqlOI.mjs";
2
- import { t as Input } from "../../input-DkvHV_UU.mjs";
2
+ import { t as Input } from "../../input-C6Q4vGNC.mjs";
3
3
  import * as react267 from "react";
4
4
  import * as react_jsx_runtime346 from "react/jsx-runtime";
5
5
  import { AccessorKeyColumnDef, CellContext, Column, ColumnPinningPosition, ColumnPinningState, Header, HeaderGroup, Row, RowSelectionState, Table } from "@tanstack/react-table";
@@ -1,2 +1,2 @@
1
- import{t as e}from"../../paragraph-moBSTPmT.mjs";import"../../button.variants-DuuH1O0_.mjs";import{t}from"../../button-DXPSlb3I.mjs";import{t as n}from"../../flex-BP8sTi70.mjs";import{t as r}from"../../date-By93kONr.mjs";import{t as i}from"../../badge-B4Fa7-J3.mjs";import{i as a,n as o,r as s,t as c}from"../../tooltip-B3dTcgcc.mjs";import{n as l,t as u}from"../../avatar-DReNH6rV.mjs";import{t as d}from"../../separator-Bf0gymN4.mjs";import{a as f,d as p,h as m,i as h,r as g,t as _}from"../../dropdown-menu-B8GUTfTp.mjs";import{t as v}from"../../checkbox-Bg2FiuQw.mjs";import{t as y}from"../../spinner-D1v3Bard.mjs";import{n as b,r as ee}from"../../resizable-DXHfkbaz.mjs";import{t as te}from"../../input-DBtIgQB6.mjs";import{cn as x}from"@customafk/react-toolkit/utils";import{Activity as S,createContext as C,memo as w,use as T,useCallback as E,useEffect as D,useId as ne,useMemo as O,useRef as k,useState as A}from"react";import{jsx as j,jsxs as M}from"react/jsx-runtime";import{AlertTriangle as N,ArrowRightIcon as P,BoxIcon as F,CheckIcon as re,ChevronDown as ie,CirclePlus as ae,Columns4Icon as oe,DownloadIcon as se,EllipsisVerticalIcon as ce,ExternalLinkIcon as le,ListFilterIcon as ue,ListFilterPlus as de,MinusIcon as fe,MoreVerticalIcon as pe,MoveLeftIcon as me,MoveRightIcon as he,PinOffIcon as ge,RefreshCwIcon as _e,SearchIcon as ve,Trash2Icon as ye,UserRoundIcon as be,XIcon as xe}from"lucide-react";import{colorHashLight as Se}from"@customafk/react-toolkit/color-hash";import{flexRender as I,getCoreRowModel as Ce,getExpandedRowModel as we,getGroupedRowModel as Te,useReactTable as Ee}from"@tanstack/react-table";import{useVirtualizer as De}from"@tanstack/react-virtual";import{useDebounceCallback as Oe}from"@customafk/react-toolkit/hooks/useDebounceCallback";const L=()=>M(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[j(fe,{size:16}),j(fe,{size:16})]}),ke=({label:e,onClick:t,onRemove:n})=>e?n?M(`div`,{className:`flex w-fit gap-x-0.5 rounded-full border border-border py-1 pr-2 pl-3 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:[e,j(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:j(xe,{size:12})})]}):j(`button`,{className:`w-fit rounded-full border border-border px-3 py-1 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:e}):j(L,{}),Ae=({value:e})=>e==null?j(L,{}):e===!1?j(`div`,{className:`text-danger-strong`,children:j(xe,{})}):j(`div`,{className:`text-success-strong`,children:j(re,{})}),je=({date:e})=>e==null?j(L,{}):j(s,{children:M(c,{children:[j(a,{asChild:!0,children:j(i,{className:`h-fit`,children:j(r,{date:e,format:`medium`,className:`font-normal text-white`})})}),j(o,{className:`rounded px-2`,children:j(r,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),Me=({content:t})=>t==null?j(L,{}):M(c,{children:[j(a,{children:j(e,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:t})}),j(o,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:M(`div`,{className:`flex flex-col gap-y-2`,children:[j(e,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:t}),M(`p`,{className:`w-full text-end`,children:[t.toString().length,` chars`]})]})})]}),Ne=({items:e=[]})=>M(_,{children:[j(m,{asChild:!0,children:j(t,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:j(pe,{})})}),j(g,{children:j(h,{children:e.map(e=>j(f,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.stopPropagation()},children:e.label},e.id))})})]}),Pe=({name:t})=>t?M(c,{children:[j(a,{children:j(e,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start`,children:t})}),j(o,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:M(`div`,{className:`flex flex-col gap-y-2`,children:[j(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:t}),M(`p`,{className:`w-full text-end`,children:[t.length,` chars`]})]})})]}):j(L,{}),Fe=({href:e,label:t})=>M(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[j(`span`,{children:t||e}),j(le,{size:14})]}),Ie=({value:e})=>M(c,{children:[j(a,{asChild:!0,children:j(`p`,{className:`font-number text-secondary-foreground text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),j(o,{align:`start`,children:j(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),Le=({title:e,onClick:n})=>M(c,{children:[j(a,{children:j(t,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:E(async e=>{e.preventDefault(),e.stopPropagation(),await n?.()},[n]),children:j(ye,{})})}),j(o,{children:j(`p`,{children:e||`Remove item from list table`})})]}),Re=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},ze=w(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:r,suffix:i,precision:a,roundingMode:o=`round`,showTrailingZeros:s=!1,size:c=`lg`,value:l=0})=>{let u=O(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=E(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=Re(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=O(()=>{if(typeof l==`number`)return Number.isNaN(l)||!Number.isFinite(l)?`N/A`:d(l);if(typeof l==`string`){let e=l.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:d(t)}return`N/A`},[l,d]),p=O(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?j(L,{}):M(n,{padding:`none`,className:x(`font-number text-lg text-secondary-foreground tabular-nums`,c===`xs`&&`text-xs`,c===`sm`&&`text-sm`,c===`md`&&`text-base`,c===`lg`&&`text-lg`,c===`xl`&&`text-xl`),children:[r,j(`p`,{children:p}),i]})});ze.displayName=`UITableStatisticDisplay`;const Be=({uuid:t,username:r,email:i})=>M(n,{wrap:!1,gap:`sm`,padding:`none`,children:[!t&&j(u,{className:`size-10 shadow-card`,children:j(l,{className:`bg-muted-weak`,children:j(be,{size:28,className:`text-text-negative`})})}),t&&j(u,{className:`size-10 shadow-card`,children:j(l,{style:{backgroundColor:Se.hex(t)},children:j(be,{size:28,className:`text-white`})})}),M(n,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[j(e,{className:`font-medium text-sm text-text-positive-weak`,children:r??`Unknown User`}),j(e,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),Ve=C(null),He=()=>{let e=T(Ve);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},Ue=C(null),We=()=>{let e=T(Ue);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},Ge=C(null),Ke=()=>{let e=T(Ge);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},qe=C(null),Je=()=>{let e=T(qe);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},Ye=C(null),Xe=()=>{let e=T(Ye);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},Ze=C(null),R=()=>{let e=T(Ze);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},z=w(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=E(()=>{t?.(`left`)},[t]),o=E(()=>{n?.(`right`)},[n]),s=E(()=>{r?.(!1)},[r]);return M(_,{children:[j(m,{asChild:!0,children:j(`button`,{className:x(`absolute right-2 z-10 p-0.5 opacity-0`,`cursor-pointer rounded-full transition-all`,`text-text-positive-weak`,`[&>svg]:size-4`,`group-hover:opacity-100`,`hover:bg-muted-muted hover:text-text-positive`,i),children:j(ce,{})})}),j(g,{align:`end`,className:`w-64 p-4`,children:M(h,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[j(S,{mode:e?`visible`:`hidden`,children:M(f,{onClick:s,children:[!!e&&`Unpin`,j(p,{children:j(ge,{className:`size-4`})})]})}),M(S,{mode:e?`hidden`:`visible`,children:[M(f,{onClick:a,children:[e?`Unpin`:`Pin to Left`,j(p,{children:j(me,{className:`size-4`})})]}),M(f,{onClick:o,children:[e?`Unpin`:`Pin to Right`,j(p,{children:j(he,{className:`size-4`})})]})]})]})})]})});z.displayName=`UITableHeadCellOption`;const B=w(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=E(e=>{r?.(!!e)},[r]);return j(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:x(e?`sticky`:`relative`),...i,children:j(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:j(v,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});B.displayName=`UITableHeadCellSelect`;const V=w(({isEmpty:e,isFetching:t})=>!e&&!t?null:M(`div`,{className:`sticky left-0 flex min-h-96 flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`,children:[t&&M(`div`,{className:`flex flex-col items-center gap-1`,children:[j(y,{className:`size-12`}),j(`p`,{children:`Loading data...`})]}),e&&!t&&M(`div`,{className:`flex flex-col items-center gap-1`,children:[j(F,{strokeWidth:1,size:48}),j(`p`,{children:`No data available`})]})]}));V.displayName=`UITableEmptyDisplay`;const Qe=w(({className:e,children:t,...n})=>j(`div`,{slot:`table-wrapper`,className:x(`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`,e),...n,children:t}));Qe.displayName=`UITableWrapper`;const H=w(({children:e,...t})=>{let{innerWrapperId:n}=He();return j(`div`,{id:n,slot:`table-inner-wrapper`,className:`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`,...t,children:e})});H.displayName=`UITableInnerWrapper`;const U=w(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=We(),a=k(null);return D(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t=new ResizeObserver(t=>{requestAnimationFrame(()=>{let r=t[0].target;if(r instanceof HTMLTableElement){let i=t[0];if(!i)return;let a=i.contentRect.width,{left:o=[],right:s=[]}=n.getState().columnPinning,c=0,l=0,u=0,d=e.map(e=>{let{id:t}=e,n=t===`select`||t===`actions`,r=o.includes(t)||s.includes(t),i=e.getSize(),a=e.column.columnDef.maxSize;return n?(c+=60,{id:t,isFlex:!1,width:60}):r?(c+=i,{id:t,isFlex:!1,width:i}):e.column.columnDef.size||i!==150?(u+=i,{id:t,isFlex:!1,width:i}):(l++,{id:t,isFlex:!0,maxSize:a})}),f=a-c-u,p=l>0?Math.max(0,Math.floor(f/l)):0;d.forEach(e=>{if(e.isFlex){let t=e.maxSize?Math.min(p,e.maxSize):p;r.style.setProperty(`--header-${e.id}-size`,`${t}`),r.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&r.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else r.style.setProperty(`--header-${e.id}-size`,`${e.width}`),r.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})}})});return t.observe(a.current),()=>t.disconnect()},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),j(`table`,{id:r,ref:a,slot:`table-inner-table`,className:`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`,style:{minWidth:i},...t,children:e})});U.displayName=`UITableInnerTable`;const W=w(({className:e,children:t,...n})=>j(`thead`,{slot:`table-head`,className:x(`sticky top-0 z-20 h-9 w-full`,`grid select-none bg-muted-bg-subtle`,`border-b border-b-border shadow`,`font-medium text-[13px] text-text-positive-weak`,`[&_tr:not(:last-child)_td]:border-b`,`[&_th]:inline-flex`,`[&_th]:items-center`,`[&_th]:transition-all`,`[&_th]:duration-300`,`[&_th]:whitespace-nowrap`,`[&_th]:border-border`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`,e),...n,children:t}));W.displayName=`UITableHead`;const G=w(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=Ke(),c=o[0]?.id,l=a[a.length-1]?.id;return j(`tr`,{slot:`table-head-row`,className:x(`flex`,t),...n,children:e.headers.map((e,t)=>{let n=e.column.getIsVisible(),a=i.left?.includes(e.id)?`left`:i.right?.includes(e.id)?`right`:!1;return e.id===`select`?j(B,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):j(K,{isVisible:n,isPinned:a,isFirstCell:e.id===c,isLastCell:e.id===l,isOptionsVisible:![`select`,`actions`].includes(e.id),headerId:e.id,headerColumn:e.column,colSpan:e.colSpan,onColumnPin:e.column.pin,onToggleVisibility:e.column.toggleVisibility,children:I(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});G.displayName=`UITableHeadRow`;const K=w(({isVisible:e=!0,isPinned:t=!1,isFirstCell:n=!1,isLastCell:r=!1,isOptionsVisible:i=!0,headerId:a,headerColumn:o,className:s,children:c,onColumnPin:l,onToggleVisibility:u,...d})=>{let f=O(()=>t?20:void 0,[t]),p=O(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),m=O(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),h=O(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),g=O(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),_=O(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return M(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:f,left:p,right:m,width:h,minWidth:g,maxWidth:_},className:x(`group flex`,t?`sticky`:`relative`,t===`left`&&r&&`border-r border-r-border`,t===`right`&&n&&`border-l border-l-border`,o?.columnDef.meta?.position===`center`&&`justify-center`,o?.columnDef.meta?.position===`end`&&`justify-end`,o?.columnDef.meta?.position===`start`&&`justify-start`,s),...d,children:[j(`div`,{className:`truncate pl-4`,children:c}),i&&j(z,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});K.displayName=`UITableHeadCell`;const q=w(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isEmpty:a}=Je();return a||i?null:j(`tbody`,{slot:`table-body`,style:{height:e},className:x(`relative w-full`,`grid`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:flex-none`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer [&_tr]:focus:outline-none`,`[&_tr]:border-b [&_tr]:border-b-border`,`[&_td]:z-10`,`[&_td]:transition-all`,`[&_td]:duration-300`,`[&_td]:flex`,`[&_td]:flex-none`,`[&_td]:overflow-hidden`,`[&_td]:whitespace-nowrap`,`[&_td]:px-4`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:border-border`,`[&_td]:data-[selected=true]:bg-muted-muted!`,`[&_td]:data-[selected=true]:hover:bg-muted-muted!`,`[&_td>div]:inline-flex`,`[&_td>div]:items-center`,`[&_td>div]:w-full`,`[&_td:not([data-pinned=false])]:z-20`,`[&_td:not([data-pinned=false])]:sticky`,`[&_td:not([data-pinned=false])]:bg-card`,`**:data-lastcell:border-r`,`**:data-firstcell:border-l`,t),...r,children:n})});q.displayName=`UITableBody`;const J=w(({row:e,isSelected:t,virtualRowIndex:n,virtualRowStart:r,children:i,...a})=>{let{keyOfClickRow:o,isAllRowsSelected:s,columnPinningState:c,leftPinnedHeaders:l,rightPinnedHeaders:u,onClickRow:d}=Xe(),f=O(()=>c.left??[],[c]),p=O(()=>c.right??[],[c]),m=O(()=>u?.[0]?.id,[u]),h=O(()=>l?.[l.length-1]?.id,[l]),g=E(t=>{let r=o?e.original?.[o]:void 0;d?.(n,typeof r==`string`||typeof r==`number`?r:void 0),t.preventDefault(),t.stopPropagation()},[o,d,e,n]);return j(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:`group`,onClick:g,...a,children:e.getVisibleCells().map((e,r)=>{let i=f.includes(e.column.id),a=p.includes(e.column.id),o=i?`left`:a?`right`:!1;return e.column.id===`actions`?j(X,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,virtualRowIndex:n,column:e.column,getContext:e.getContext},`${e.id}-${r}`):e.column.id===`select`?j(Y,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isSelected:s||t,onToggleRowSelected:e.row.toggleSelected},`${e.id}-${r}`):j(Z,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isFirstCell:e.column.id===m,isLastCell:e.column.id===h,colId:e.column.id,position:e.column.columnDef.meta?.position??`start`,column:e.column,getContext:e.getContext},`${e.id}-${r}`)})})});J.displayName=`UITableRow`;const Y=w(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=E(e=>{r?.(!!e)},[r]);return j(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:x(`group-hover:bg-muted-bg-subtle!`,e?`sticky`:`relative`,n),...i,children:j(`div`,{"data-slot":`table-cell-inner`,className:`flex! w-full! items-center justify-center bg-transparent text-center align-middle`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:j(v,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});Y.displayName=`UITableCellSelect`;const X=w(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=O(()=>I(t?.columnDef.cell,n()),[t,n]);return j(`td`,{"data-col":`actions`,"data-cell":e,className:`sticky inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`,...i,children:a})});X.displayName=`UITableCellActions`;const Z=w(({isPinned:e=!1,isFirstCell:t=!1,isLastCell:n=!1,colId:r,position:i=`start`,column:a,getContext:o,...s})=>{let{innerTableId:c,table:l}=We(),u=k(document.querySelector(`table[id="${c}"]`)),d=k(null),f=O(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=O(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),m=O(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),h=O(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),g=O(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),_=O(()=>I(a?.columnDef.cell,o()),[a,o]);return D(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),j(`td`,{slot:`table-body-cell`,"data-pinned":e,"data-lastcell":n||void 0,"data-firstcell":t||void 0,style:{left:f,right:p,width:m,minWidth:h,maxWidth:g},className:`group-hover:bg-muted-bg-subtle!`,...s,children:j(`div`,{ref:d,slot:`table-body-cell-inner`,className:x(i===`start`&&`justify-start`,i===`center`&&`justify-center`,i===`end`&&`justify-end`),children:_})})});Z.displayName=`UITableCell`;const $e=w(({className:e,children:t,...n})=>j(`tfoot`,{slot:`table-footer`,className:x(`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`,e),...n,children:t}));$e.displayName=`UITableFooter`;const Q=w(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=He(),i=k(document.querySelector(`div[id="${r}"]`)),a=k(null),[o,s]=A(`idle`),[c,l]=A(0),u=E(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return D(()=>{if(!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[]),n?j(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:j(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:M(`button`,{type:`button`,disabled:o===`fetching`,className:x(`flex cursor-pointer gap-x-0.5`,o===`fetching`&&`cursor-not-allowed`,o===`idle`&&`text-text-positive-weak hover:text-text-positive`,o===`error`&&`text-danger hover:text-danger-strong`),onClick:u,children:[o===`idle`&&j(ie,{className:`size-4`}),o===`fetching`&&j(y,{className:`size-4 animate-spin`}),o===`error`&&j(N,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})}):null});Q.displayName=`UITableLoadMore`;const et=()=>{let{table:e,isEmpty:t,isFetching:n,fetchMoreData:r}=R(),{rowSelectionState:i}=Je(),a=k(null),{rows:o}=e.getRowModel(),s=De({count:o.length+1,estimateSize:()=>40,getScrollElement:()=>a.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),c=O(()=>{let e=s.getTotalSize(),t=a.current?.clientHeight||0;return e<t?`${t}px`:`${e}px`},[s.getTotalSize()]);return j(ee,{direction:`horizontal`,style:{direction:e.options.columnResizeDirection},className:`relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border border-r border-r-border bg-slate-50 p-0 text-sm`,children:j(b,{className:`relative`,children:M(H,{ref:a,children:[M(U,{children:[j(W,{children:e.getHeaderGroups().map(e=>j(G,{headerGroup:e},e.id))}),j(q,{height:c,children:s.getVirtualItems().map(e=>{let t=o[e.index],n=Object.entries(i).some(([e,n])=>e===`${t?.id}`&&n);return t?j(J,{ref:s.measureElement,row:t,isSelected:n,virtualRowIndex:e.index,virtualRowStart:e.start},e.index):j(Q,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:r},e.index)})})]}),j(V,{isEmpty:t,isFetching:n})]})})})},tt=({checked:e,title:t,onCheckedChange:n})=>M(`div`,{className:`flex h-fit items-center gap-2`,children:[j(v,{checked:e,onCheckedChange:n}),j(`p`,{className:`text-sm`,children:t})]}),nt=()=>{let{table:e}=R(),[n,r]=A(null);return j(b,{defaultSize:25,className:x(`bg-card`,n===null?`max-w-8!`:`min-w-64`),children:M(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[M(`div`,{className:`flex-1`,children:[j(S,{mode:n===`columns`?`visible`:`hidden`,children:M(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[j(`p`,{className:`px-2 font-medium`,children:`Columns Visibility`}),j(d,{}),j(`div`,{className:`flex flex-col gap-4 pt-4`,children:e.getAllColumns().map(e=>[`select`,`actions`].includes(e.id)?null:j(tt,{checked:e.getIsVisible(),title:String(e.columnDef.header),onCheckedChange:t=>e.toggleVisibility(!!t)},e.id))})]})}),j(S,{mode:n===`filters`?`visible`:`hidden`,children:j(`div`,{className:`flex size-full flex-col p-2`,children:M(t,{variant:`outline`,color:`muted`,children:[j(de,{}),`Add Filter`]})})})]}),M(`div`,{className:`flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm`,children:[M(`button`,{className:x(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,n===`columns`&&`bg-card`),onClick:()=>r(n===`columns`?null:`columns`),children:[j(oe,{size:18}),j(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Columns`})]}),j(d,{}),M(`button`,{className:x(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,n===`filters`&&`bg-card`),onClick:()=>r(n===`filters`?null:`filters`),children:[j(ue,{size:18}),j(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),j(d,{})]})]})})},rt=w(({innerWrapperId:e,children:t})=>{let n=O(()=>({innerWrapperId:e}),[e]);return j(Ve.Provider,{value:n,children:t})});rt.displayName=`UITableInnerWrapperProvider`;const it=w(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=O(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return j(Ue.Provider,{value:i,children:r})});it.displayName=`UITableInnerTableProvider`;const at=w(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=O(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return j(Ge.Provider,{value:o,children:a})});at.displayName=`UITableHeadRowProvider`;const ot=w(({isFetching:e,isEmpty:t,rowSelectionState:n,children:r})=>{let i=O(()=>({isFetching:e,isEmpty:t,rowSelectionState:n}),[e,t,n]);return j(qe.Provider,{value:i,children:r})});ot.displayName=`UITableBodyProvider`;const st=w(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=O(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return j(Ye.Provider,{value:s,children:o})});st.displayName=`UITableRowProvider`;const ct=({title:e,isFetching:t=!1,isRefetching:n=!1,data:r,columns:i,totalRows:a,leftPinnedColumns:o=[],rightPinnedColumns:s=[],keyOfClickRow:c,onClickRow:l,onRowSelection:u,onColumnPinning:d,fetchMoreData:f,children:p})=>{let m=ne(),h=ne(),[g,_]=A({}),[v,y]=A({right:s,left:[`select`,...o]}),[b,ee]=A({}),te=E(e=>(_(e),u?.(e instanceof Function?e(g):e),e),[g,u]),x=E(e=>{y(e),d?.(e instanceof Function?e(v):e)},[v,d]),S=Ee({data:r,columns:i,state:{rowSelection:g,columnPinning:v,expanded:b},defaultColumn:{enableResizing:!1,size:void 0,minSize:void 0,maxSize:void 0},columnResizeMode:`onChange`,columnResizeDirection:`ltr`,enableColumnPinning:!0,enableRowSelection:!0,enableColumnResizing:!0,enableMultiRowSelection:!0,autoResetAll:!1,autoResetExpanded:!1,autoResetPageIndex:!1,getSubRows:e=>e.subRows,getCoreRowModel:Ce(),getGroupedRowModel:Te(),getExpandedRowModel:we(),onRowSelectionChange:te,onColumnPinningChange:x,onExpandedChange:ee}),C=O(()=>{let{rows:e}=S.getRowModel();return e},[S.getRowModel().rows,S.getState().columnPinning]),w=O(()=>!t&&C.length===0,[C,t]),T=O(()=>({title:e,table:S,isEmpty:w,isFetching:t,isRefetching:n,totalRows:a,fetchMoreData:f}),[e,S,w,n,t,a,f,S.getState().columnPinning,S.getState().expanded]),D=O(()=>S.getState(),[S.getState()]),k=O(()=>S.getIsAllRowsSelected(),[S.getIsAllRowsSelected()]),M=O(()=>D.rowSelection,[D.rowSelection]),N=O(()=>D.columnPinning,[D.columnPinning]),P=O(()=>S.getLeftHeaderGroups()[0]?.headers||[],[S.getState().columnPinning]),F=O(()=>S.getRightHeaderGroups()[0]?.headers||[],[S.getState().columnPinning]),re=O(()=>S.getTotalSize(),[S.getTotalSize()]);return j(Ze.Provider,{value:T,children:j(rt,{innerWrapperId:m,children:j(it,{table:S,innerTableId:h,totalSize:re,children:j(at,{isAllRowsSelected:k,columnPinningState:N,leftPinnedHeaders:P,rightPinnedHeaders:F,onToggleAllRowsSelected:S.toggleAllRowsSelected,children:j(ot,{isFetching:t,isEmpty:w,rowSelectionState:M,children:j(st,{keyOfClickRow:c,isAllRowsSelected:k,columnPinningState:N,leftPinnedHeaders:P,rightPinnedHeaders:F,onClickRow:l,children:p})})})})})})},lt=({onSearch:e,onChange:t,...n})=>{let r=Oe(t=>{e?.(t)},500);return M(`div`,{className:`relative w-full max-w-80 flex-1`,children:[j(te,{...n,size:`lg`,type:`search`,placeholder:`Search records...`,className:`flex-1 ps-9 pe-9`,onChange:e=>{t?.(e),r(e.target.value??``)}}),j(`div`,{className:`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:j(ve,{size:16})}),j(`button`,{className:`absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:j(P,{size:16,"aria-hidden":`true`})})]})},$=({children:e,disabled:t,onClick:n})=>j(`button`,{type:`button`,disabled:t,className:`flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive disabled:pointer-events-none disabled:cursor-default disabled:opacity-60 [&_svg]:size-3.5`,onClick:n,children:e}),ut=({onCreate:e,onDownload:t,onRefresh:n})=>M(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[j($,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:j(ae,{})}),j($,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:j(_e,{})}),j($,{disabled:!t,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:j(se,{})})]}),dt=({children:e})=>{let{title:t}=R();return M(`div`,{"data-slot":`table-tooltip`,className:`relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm`,children:[j(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),j(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};dt.displayName=`TableTooltip`;export{ke as UITableBadgeDisplay,q as UITableBody,Ae as UITableBooleanDisplay,Z as UITableCell,X as UITableCellActions,Y as UITableCellSelect,et as UITableContainer,je as UITableDateDisplay,Me as UITableDescriptionDisplay,V as UITableEmptyDisplay,nt as UITableFilter,$e as UITableFooter,W as UITableHead,K as UITableHeadCell,z as UITableHeadCellOption,B as UITableHeadCellSelect,G as UITableHeadRow,U as UITableInnerTable,H as UITableInnerWrapper,Q as UITableLoadMore,Ne as UITableMoreButton,Pe as UITableNameDisplay,Fe as UITablePermalink,Ie as UITablePhoneNumberDisplay,ct as UITableProvider,Le as UITableRemoveButton,J as UITableRow,ze as UITableStatisticDisplay,dt as UITableTooltip,ut as UITableTooltipActions,lt as UITableTooltipFilter,Be as UITableUserDataDisplay,Qe as UITableWrapper};
1
+ import{t as e}from"../../paragraph-moBSTPmT.mjs";import"../../button.variants-DRWf66hR.mjs";import{t}from"../../button-D54KOmb7.mjs";import{t as n}from"../../flex-BP8sTi70.mjs";import{t as r}from"../../date-By93kONr.mjs";import{t as i}from"../../badge-B4Fa7-J3.mjs";import{i as a,n as o,r as s,t as c}from"../../tooltip-B3dTcgcc.mjs";import{n as l,t as u}from"../../avatar-DReNH6rV.mjs";import{t as d}from"../../separator-Bf0gymN4.mjs";import{a as f,d as p,h as m,i as h,r as g,t as _}from"../../dropdown-menu-B8GUTfTp.mjs";import{t as v}from"../../checkbox-Bg2FiuQw.mjs";import{t as y}from"../../spinner-D1v3Bard.mjs";import{n as b,r as ee}from"../../resizable-DXHfkbaz.mjs";import{t as te}from"../../input-DBtIgQB6.mjs";import{cn as x}from"@customafk/react-toolkit/utils";import{Activity as S,createContext as C,memo as w,use as T,useCallback as E,useEffect as D,useId as ne,useMemo as O,useRef as k,useState as A}from"react";import{jsx as j,jsxs as M}from"react/jsx-runtime";import{AlertTriangle as N,ArrowRightIcon as P,BoxIcon as F,CheckIcon as re,ChevronDown as ie,CirclePlus as ae,Columns4Icon as oe,DownloadIcon as se,EllipsisVerticalIcon as ce,ExternalLinkIcon as le,ListFilterIcon as ue,ListFilterPlus as de,MinusIcon as fe,MoreVerticalIcon as pe,MoveLeftIcon as me,MoveRightIcon as he,PinOffIcon as ge,RefreshCwIcon as _e,SearchIcon as ve,Trash2Icon as ye,UserRoundIcon as be,XIcon as xe}from"lucide-react";import{colorHashLight as Se}from"@customafk/react-toolkit/color-hash";import{flexRender as I,getCoreRowModel as Ce,getExpandedRowModel as we,getGroupedRowModel as Te,useReactTable as Ee}from"@tanstack/react-table";import{useVirtualizer as De}from"@tanstack/react-virtual";import{useDebounceCallback as Oe}from"@customafk/react-toolkit/hooks/useDebounceCallback";const L=()=>M(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[j(fe,{size:16}),j(fe,{size:16})]}),ke=({label:e,onClick:t,onRemove:n})=>e?n?M(`div`,{className:`flex w-fit gap-x-0.5 rounded-full border border-border py-1 pr-2 pl-3 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:[e,j(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:j(xe,{size:12})})]}):j(`button`,{className:`w-fit rounded-full border border-border px-3 py-1 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:e}):j(L,{}),Ae=({value:e})=>e==null?j(L,{}):e===!1?j(`div`,{className:`text-danger-strong`,children:j(xe,{})}):j(`div`,{className:`text-success-strong`,children:j(re,{})}),je=({date:e})=>e==null?j(L,{}):j(s,{children:M(c,{children:[j(a,{asChild:!0,children:j(i,{className:`h-fit`,children:j(r,{date:e,format:`medium`,className:`font-normal text-white`})})}),j(o,{className:`rounded px-2`,children:j(r,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),Me=({content:t})=>t==null?j(L,{}):M(c,{children:[j(a,{children:j(e,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:t})}),j(o,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:M(`div`,{className:`flex flex-col gap-y-2`,children:[j(e,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:t}),M(`p`,{className:`w-full text-end`,children:[t.toString().length,` chars`]})]})})]}),Ne=({items:e=[]})=>M(_,{children:[j(m,{asChild:!0,children:j(t,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:j(pe,{})})}),j(g,{children:j(h,{children:e.map(e=>j(f,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.stopPropagation()},children:e.label},e.id))})})]}),Pe=({name:t})=>t?M(c,{children:[j(a,{children:j(e,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start`,children:t})}),j(o,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:M(`div`,{className:`flex flex-col gap-y-2`,children:[j(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:t}),M(`p`,{className:`w-full text-end`,children:[t.length,` chars`]})]})})]}):j(L,{}),Fe=({href:e,label:t})=>M(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[j(`span`,{children:t||e}),j(le,{size:14})]}),Ie=({value:e})=>M(c,{children:[j(a,{asChild:!0,children:j(`p`,{className:`font-number text-secondary-foreground text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),j(o,{align:`start`,children:j(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),Le=({title:e,onClick:n})=>M(c,{children:[j(a,{children:j(t,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:E(async e=>{e.preventDefault(),e.stopPropagation(),await n?.()},[n]),children:j(ye,{})})}),j(o,{children:j(`p`,{children:e||`Remove item from list table`})})]}),Re=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},ze=w(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:r,suffix:i,precision:a,roundingMode:o=`round`,showTrailingZeros:s=!1,size:c=`lg`,value:l=0})=>{let u=O(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=E(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=Re(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=O(()=>{if(typeof l==`number`)return Number.isNaN(l)||!Number.isFinite(l)?`N/A`:d(l);if(typeof l==`string`){let e=l.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:d(t)}return`N/A`},[l,d]),p=O(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?j(L,{}):M(n,{padding:`none`,className:x(`font-number text-lg text-secondary-foreground tabular-nums`,c===`xs`&&`text-xs`,c===`sm`&&`text-sm`,c===`md`&&`text-base`,c===`lg`&&`text-lg`,c===`xl`&&`text-xl`),children:[r,j(`p`,{children:p}),i]})});ze.displayName=`UITableStatisticDisplay`;const Be=({uuid:t,username:r,email:i})=>M(n,{wrap:!1,gap:`sm`,padding:`none`,children:[!t&&j(u,{className:`size-10 shadow-card`,children:j(l,{className:`bg-muted-weak`,children:j(be,{size:28,className:`text-text-negative`})})}),t&&j(u,{className:`size-10 shadow-card`,children:j(l,{style:{backgroundColor:Se.hex(t)},children:j(be,{size:28,className:`text-white`})})}),M(n,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[j(e,{className:`font-medium text-sm text-text-positive-weak`,children:r??`Unknown User`}),j(e,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),Ve=C(null),He=()=>{let e=T(Ve);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},Ue=C(null),We=()=>{let e=T(Ue);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},Ge=C(null),Ke=()=>{let e=T(Ge);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},qe=C(null),Je=()=>{let e=T(qe);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},Ye=C(null),Xe=()=>{let e=T(Ye);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},Ze=C(null),R=()=>{let e=T(Ze);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},z=w(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=E(()=>{t?.(`left`)},[t]),o=E(()=>{n?.(`right`)},[n]),s=E(()=>{r?.(!1)},[r]);return M(_,{children:[j(m,{asChild:!0,children:j(`button`,{className:x(`absolute right-2 z-10 p-0.5 opacity-0`,`cursor-pointer rounded-full transition-all`,`text-text-positive-weak`,`[&>svg]:size-4`,`group-hover:opacity-100`,`hover:bg-muted-muted hover:text-text-positive`,i),children:j(ce,{})})}),j(g,{align:`end`,className:`w-64 p-4`,children:M(h,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[j(S,{mode:e?`visible`:`hidden`,children:M(f,{onClick:s,children:[!!e&&`Unpin`,j(p,{children:j(ge,{className:`size-4`})})]})}),M(S,{mode:e?`hidden`:`visible`,children:[M(f,{onClick:a,children:[e?`Unpin`:`Pin to Left`,j(p,{children:j(me,{className:`size-4`})})]}),M(f,{onClick:o,children:[e?`Unpin`:`Pin to Right`,j(p,{children:j(he,{className:`size-4`})})]})]})]})})]})});z.displayName=`UITableHeadCellOption`;const B=w(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=E(e=>{r?.(!!e)},[r]);return j(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:x(e?`sticky`:`relative`),...i,children:j(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:j(v,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});B.displayName=`UITableHeadCellSelect`;const V=w(({isEmpty:e,isFetching:t})=>!e&&!t?null:M(`div`,{className:`sticky left-0 flex min-h-96 flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`,children:[t&&M(`div`,{className:`flex flex-col items-center gap-1`,children:[j(y,{className:`size-12`}),j(`p`,{children:`Loading data...`})]}),e&&!t&&M(`div`,{className:`flex flex-col items-center gap-1`,children:[j(F,{strokeWidth:1,size:48}),j(`p`,{children:`No data available`})]})]}));V.displayName=`UITableEmptyDisplay`;const Qe=w(({className:e,children:t,...n})=>j(`div`,{slot:`table-wrapper`,className:x(`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`,e),...n,children:t}));Qe.displayName=`UITableWrapper`;const H=w(({children:e,...t})=>{let{innerWrapperId:n}=He();return j(`div`,{id:n,slot:`table-inner-wrapper`,className:`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`,...t,children:e})});H.displayName=`UITableInnerWrapper`;const U=w(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=We(),a=k(null);return D(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t=new ResizeObserver(t=>{requestAnimationFrame(()=>{let r=t[0].target;if(r instanceof HTMLTableElement){let i=t[0];if(!i)return;let a=i.contentRect.width,{left:o=[],right:s=[]}=n.getState().columnPinning,c=0,l=0,u=0,d=e.map(e=>{let{id:t}=e,n=t===`select`||t===`actions`,r=o.includes(t)||s.includes(t),i=e.getSize(),a=e.column.columnDef.maxSize;return n?(c+=60,{id:t,isFlex:!1,width:60}):r?(c+=i,{id:t,isFlex:!1,width:i}):e.column.columnDef.size||i!==150?(u+=i,{id:t,isFlex:!1,width:i}):(l++,{id:t,isFlex:!0,maxSize:a})}),f=a-c-u,p=l>0?Math.max(0,Math.floor(f/l)):0;d.forEach(e=>{if(e.isFlex){let t=e.maxSize?Math.min(p,e.maxSize):p;r.style.setProperty(`--header-${e.id}-size`,`${t}`),r.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&r.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else r.style.setProperty(`--header-${e.id}-size`,`${e.width}`),r.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})}})});return t.observe(a.current),()=>t.disconnect()},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),j(`table`,{id:r,ref:a,slot:`table-inner-table`,className:`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`,style:{minWidth:i},...t,children:e})});U.displayName=`UITableInnerTable`;const W=w(({className:e,children:t,...n})=>j(`thead`,{slot:`table-head`,className:x(`sticky top-0 z-20 h-9 w-full`,`grid select-none bg-muted-bg-subtle`,`border-b border-b-border shadow`,`font-medium text-[13px] text-text-positive-weak`,`[&_tr:not(:last-child)_td]:border-b`,`[&_th]:inline-flex`,`[&_th]:items-center`,`[&_th]:transition-all`,`[&_th]:duration-300`,`[&_th]:whitespace-nowrap`,`[&_th]:border-border`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`,e),...n,children:t}));W.displayName=`UITableHead`;const G=w(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=Ke(),c=o[0]?.id,l=a[a.length-1]?.id;return j(`tr`,{slot:`table-head-row`,className:x(`flex`,t),...n,children:e.headers.map((e,t)=>{let n=e.column.getIsVisible(),a=i.left?.includes(e.id)?`left`:i.right?.includes(e.id)?`right`:!1;return e.id===`select`?j(B,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):j(K,{isVisible:n,isPinned:a,isFirstCell:e.id===c,isLastCell:e.id===l,isOptionsVisible:![`select`,`actions`].includes(e.id),headerId:e.id,headerColumn:e.column,colSpan:e.colSpan,onColumnPin:e.column.pin,onToggleVisibility:e.column.toggleVisibility,children:I(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});G.displayName=`UITableHeadRow`;const K=w(({isVisible:e=!0,isPinned:t=!1,isFirstCell:n=!1,isLastCell:r=!1,isOptionsVisible:i=!0,headerId:a,headerColumn:o,className:s,children:c,onColumnPin:l,onToggleVisibility:u,...d})=>{let f=O(()=>t?20:void 0,[t]),p=O(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),m=O(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),h=O(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),g=O(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),_=O(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return M(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:f,left:p,right:m,width:h,minWidth:g,maxWidth:_},className:x(`group flex`,t?`sticky`:`relative`,t===`left`&&r&&`border-r border-r-border`,t===`right`&&n&&`border-l border-l-border`,o?.columnDef.meta?.position===`center`&&`justify-center`,o?.columnDef.meta?.position===`end`&&`justify-end`,o?.columnDef.meta?.position===`start`&&`justify-start`,s),...d,children:[j(`div`,{className:`truncate pl-4`,children:c}),i&&j(z,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});K.displayName=`UITableHeadCell`;const q=w(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isEmpty:a}=Je();return a||i?null:j(`tbody`,{slot:`table-body`,style:{height:e},className:x(`relative w-full`,`grid`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:flex-none`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer [&_tr]:focus:outline-none`,`[&_tr]:border-b [&_tr]:border-b-border`,`[&_td]:z-10`,`[&_td]:transition-all`,`[&_td]:duration-300`,`[&_td]:flex`,`[&_td]:flex-none`,`[&_td]:overflow-hidden`,`[&_td]:whitespace-nowrap`,`[&_td]:px-4`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:border-border`,`[&_td]:data-[selected=true]:bg-muted-muted!`,`[&_td]:data-[selected=true]:hover:bg-muted-muted!`,`[&_td>div]:inline-flex`,`[&_td>div]:items-center`,`[&_td>div]:w-full`,`[&_td:not([data-pinned=false])]:z-20`,`[&_td:not([data-pinned=false])]:sticky`,`[&_td:not([data-pinned=false])]:bg-card`,`**:data-lastcell:border-r`,`**:data-firstcell:border-l`,t),...r,children:n})});q.displayName=`UITableBody`;const J=w(({row:e,isSelected:t,virtualRowIndex:n,virtualRowStart:r,children:i,...a})=>{let{keyOfClickRow:o,isAllRowsSelected:s,columnPinningState:c,leftPinnedHeaders:l,rightPinnedHeaders:u,onClickRow:d}=Xe(),f=O(()=>c.left??[],[c]),p=O(()=>c.right??[],[c]),m=O(()=>u?.[0]?.id,[u]),h=O(()=>l?.[l.length-1]?.id,[l]),g=E(t=>{let r=o?e.original?.[o]:void 0;d?.(n,typeof r==`string`||typeof r==`number`?r:void 0),t.preventDefault(),t.stopPropagation()},[o,d,e,n]);return j(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:`group`,onClick:g,...a,children:e.getVisibleCells().map((e,r)=>{let i=f.includes(e.column.id),a=p.includes(e.column.id),o=i?`left`:a?`right`:!1;return e.column.id===`actions`?j(X,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,virtualRowIndex:n,column:e.column,getContext:e.getContext},`${e.id}-${r}`):e.column.id===`select`?j(Y,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isSelected:s||t,onToggleRowSelected:e.row.toggleSelected},`${e.id}-${r}`):j(Z,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isFirstCell:e.column.id===m,isLastCell:e.column.id===h,colId:e.column.id,position:e.column.columnDef.meta?.position??`start`,column:e.column,getContext:e.getContext},`${e.id}-${r}`)})})});J.displayName=`UITableRow`;const Y=w(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=E(e=>{r?.(!!e)},[r]);return j(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:x(`group-hover:bg-muted-bg-subtle!`,e?`sticky`:`relative`,n),...i,children:j(`div`,{"data-slot":`table-cell-inner`,className:`flex! w-full! items-center justify-center bg-transparent text-center align-middle`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:j(v,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});Y.displayName=`UITableCellSelect`;const X=w(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=O(()=>I(t?.columnDef.cell,n()),[t,n]);return j(`td`,{"data-col":`actions`,"data-cell":e,className:`sticky inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`,...i,children:a})});X.displayName=`UITableCellActions`;const Z=w(({isPinned:e=!1,isFirstCell:t=!1,isLastCell:n=!1,colId:r,position:i=`start`,column:a,getContext:o,...s})=>{let{innerTableId:c,table:l}=We(),u=k(document.querySelector(`table[id="${c}"]`)),d=k(null),f=O(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=O(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),m=O(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),h=O(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),g=O(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),_=O(()=>I(a?.columnDef.cell,o()),[a,o]);return D(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),j(`td`,{slot:`table-body-cell`,"data-pinned":e,"data-lastcell":n||void 0,"data-firstcell":t||void 0,style:{left:f,right:p,width:m,minWidth:h,maxWidth:g},className:`group-hover:bg-muted-bg-subtle!`,...s,children:j(`div`,{ref:d,slot:`table-body-cell-inner`,className:x(i===`start`&&`justify-start`,i===`center`&&`justify-center`,i===`end`&&`justify-end`),children:_})})});Z.displayName=`UITableCell`;const $e=w(({className:e,children:t,...n})=>j(`tfoot`,{slot:`table-footer`,className:x(`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`,e),...n,children:t}));$e.displayName=`UITableFooter`;const Q=w(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=He(),i=k(document.querySelector(`div[id="${r}"]`)),a=k(null),[o,s]=A(`idle`),[c,l]=A(0),u=E(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return D(()=>{if(!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[]),n?j(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:j(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:M(`button`,{type:`button`,disabled:o===`fetching`,className:x(`flex cursor-pointer gap-x-0.5`,o===`fetching`&&`cursor-not-allowed`,o===`idle`&&`text-text-positive-weak hover:text-text-positive`,o===`error`&&`text-danger hover:text-danger-strong`),onClick:u,children:[o===`idle`&&j(ie,{className:`size-4`}),o===`fetching`&&j(y,{className:`size-4 animate-spin`}),o===`error`&&j(N,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})}):null});Q.displayName=`UITableLoadMore`;const et=()=>{let{table:e,isEmpty:t,isFetching:n,fetchMoreData:r}=R(),{rowSelectionState:i}=Je(),a=k(null),{rows:o}=e.getRowModel(),s=De({count:o.length+1,estimateSize:()=>40,getScrollElement:()=>a.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),c=O(()=>{let e=s.getTotalSize(),t=a.current?.clientHeight||0;return e<t?`${t}px`:`${e}px`},[s.getTotalSize()]);return j(ee,{direction:`horizontal`,style:{direction:e.options.columnResizeDirection},className:`relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border border-r border-r-border bg-slate-50 p-0 text-sm`,children:j(b,{className:`relative`,children:M(H,{ref:a,children:[M(U,{children:[j(W,{children:e.getHeaderGroups().map(e=>j(G,{headerGroup:e},e.id))}),j(q,{height:c,children:s.getVirtualItems().map(e=>{let t=o[e.index],n=Object.entries(i).some(([e,n])=>e===`${t?.id}`&&n);return t?j(J,{ref:s.measureElement,row:t,isSelected:n,virtualRowIndex:e.index,virtualRowStart:e.start},e.index):j(Q,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:r},e.index)})})]}),j(V,{isEmpty:t,isFetching:n})]})})})},tt=({checked:e,title:t,onCheckedChange:n})=>M(`div`,{className:`flex h-fit items-center gap-2`,children:[j(v,{checked:e,onCheckedChange:n}),j(`p`,{className:`text-sm`,children:t})]}),nt=()=>{let{table:e}=R(),[n,r]=A(null);return j(b,{defaultSize:25,className:x(`bg-card`,n===null?`max-w-8!`:`min-w-64`),children:M(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[M(`div`,{className:`flex-1`,children:[j(S,{mode:n===`columns`?`visible`:`hidden`,children:M(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[j(`p`,{className:`px-2 font-medium`,children:`Columns Visibility`}),j(d,{}),j(`div`,{className:`flex flex-col gap-4 pt-4`,children:e.getAllColumns().map(e=>[`select`,`actions`].includes(e.id)?null:j(tt,{checked:e.getIsVisible(),title:String(e.columnDef.header),onCheckedChange:t=>e.toggleVisibility(!!t)},e.id))})]})}),j(S,{mode:n===`filters`?`visible`:`hidden`,children:j(`div`,{className:`flex size-full flex-col p-2`,children:M(t,{variant:`outline`,color:`muted`,children:[j(de,{}),`Add Filter`]})})})]}),M(`div`,{className:`flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm`,children:[M(`button`,{className:x(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,n===`columns`&&`bg-card`),onClick:()=>r(n===`columns`?null:`columns`),children:[j(oe,{size:18}),j(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Columns`})]}),j(d,{}),M(`button`,{className:x(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,n===`filters`&&`bg-card`),onClick:()=>r(n===`filters`?null:`filters`),children:[j(ue,{size:18}),j(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),j(d,{})]})]})})},rt=w(({innerWrapperId:e,children:t})=>{let n=O(()=>({innerWrapperId:e}),[e]);return j(Ve.Provider,{value:n,children:t})});rt.displayName=`UITableInnerWrapperProvider`;const it=w(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=O(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return j(Ue.Provider,{value:i,children:r})});it.displayName=`UITableInnerTableProvider`;const at=w(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=O(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return j(Ge.Provider,{value:o,children:a})});at.displayName=`UITableHeadRowProvider`;const ot=w(({isFetching:e,isEmpty:t,rowSelectionState:n,children:r})=>{let i=O(()=>({isFetching:e,isEmpty:t,rowSelectionState:n}),[e,t,n]);return j(qe.Provider,{value:i,children:r})});ot.displayName=`UITableBodyProvider`;const st=w(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=O(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return j(Ye.Provider,{value:s,children:o})});st.displayName=`UITableRowProvider`;const ct=({title:e,isFetching:t=!1,isRefetching:n=!1,data:r,columns:i,totalRows:a,leftPinnedColumns:o=[],rightPinnedColumns:s=[],keyOfClickRow:c,onClickRow:l,onRowSelection:u,onColumnPinning:d,fetchMoreData:f,children:p})=>{let m=ne(),h=ne(),[g,_]=A({}),[v,y]=A({right:s,left:[`select`,...o]}),[b,ee]=A({}),te=E(e=>(_(e),u?.(e instanceof Function?e(g):e),e),[g,u]),x=E(e=>{y(e),d?.(e instanceof Function?e(v):e)},[v,d]),S=Ee({data:r,columns:i,state:{rowSelection:g,columnPinning:v,expanded:b},defaultColumn:{enableResizing:!1,size:void 0,minSize:void 0,maxSize:void 0},columnResizeMode:`onChange`,columnResizeDirection:`ltr`,enableColumnPinning:!0,enableRowSelection:!0,enableColumnResizing:!0,enableMultiRowSelection:!0,autoResetAll:!1,autoResetExpanded:!1,autoResetPageIndex:!1,getSubRows:e=>e.subRows,getCoreRowModel:Ce(),getGroupedRowModel:Te(),getExpandedRowModel:we(),onRowSelectionChange:te,onColumnPinningChange:x,onExpandedChange:ee}),C=O(()=>{let{rows:e}=S.getRowModel();return e},[S.getRowModel().rows,S.getState().columnPinning]),w=O(()=>!t&&C.length===0,[C,t]),T=O(()=>({title:e,table:S,isEmpty:w,isFetching:t,isRefetching:n,totalRows:a,fetchMoreData:f}),[e,S,w,n,t,a,f,S.getState().columnPinning,S.getState().expanded]),D=O(()=>S.getState(),[S.getState()]),k=O(()=>S.getIsAllRowsSelected(),[S.getIsAllRowsSelected()]),M=O(()=>D.rowSelection,[D.rowSelection]),N=O(()=>D.columnPinning,[D.columnPinning]),P=O(()=>S.getLeftHeaderGroups()[0]?.headers||[],[S.getState().columnPinning]),F=O(()=>S.getRightHeaderGroups()[0]?.headers||[],[S.getState().columnPinning]),re=O(()=>S.getTotalSize(),[S.getTotalSize()]);return j(Ze.Provider,{value:T,children:j(rt,{innerWrapperId:m,children:j(it,{table:S,innerTableId:h,totalSize:re,children:j(at,{isAllRowsSelected:k,columnPinningState:N,leftPinnedHeaders:P,rightPinnedHeaders:F,onToggleAllRowsSelected:S.toggleAllRowsSelected,children:j(ot,{isFetching:t,isEmpty:w,rowSelectionState:M,children:j(st,{keyOfClickRow:c,isAllRowsSelected:k,columnPinningState:N,leftPinnedHeaders:P,rightPinnedHeaders:F,onClickRow:l,children:p})})})})})})},lt=({onSearch:e,onChange:t,...n})=>{let r=Oe(t=>{e?.(t)},500);return M(`div`,{className:`relative w-full max-w-80 flex-1`,children:[j(te,{...n,size:`lg`,type:`search`,placeholder:`Search records...`,className:`flex-1 ps-9 pe-9`,onChange:e=>{t?.(e),r(e.target.value??``)}}),j(`div`,{className:`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:j(ve,{size:16})}),j(`button`,{className:`absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:j(P,{size:16,"aria-hidden":`true`})})]})},$=({children:e,disabled:t,onClick:n})=>j(`button`,{type:`button`,disabled:t,className:`flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive disabled:pointer-events-none disabled:cursor-default disabled:opacity-60 [&_svg]:size-3.5`,onClick:n,children:e}),ut=({onCreate:e,onDownload:t,onRefresh:n})=>M(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[j($,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:j(ae,{})}),j($,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:j(_e,{})}),j($,{disabled:!t,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:j(se,{})})]}),dt=({children:e})=>{let{title:t}=R();return M(`div`,{"data-slot":`table-tooltip`,className:`relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm`,children:[j(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),j(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};dt.displayName=`TableTooltip`;export{ke as UITableBadgeDisplay,q as UITableBody,Ae as UITableBooleanDisplay,Z as UITableCell,X as UITableCellActions,Y as UITableCellSelect,et as UITableContainer,je as UITableDateDisplay,Me as UITableDescriptionDisplay,V as UITableEmptyDisplay,nt as UITableFilter,$e as UITableFooter,W as UITableHead,K as UITableHeadCell,z as UITableHeadCellOption,B as UITableHeadCellSelect,G as UITableHeadRow,U as UITableInnerTable,H as UITableInnerWrapper,Q as UITableLoadMore,Ne as UITableMoreButton,Pe as UITableNameDisplay,Fe as UITablePermalink,Ie as UITablePhoneNumberDisplay,ct as UITableProvider,Le as UITableRemoveButton,J as UITableRow,ze as UITableStatisticDisplay,dt as UITableTooltip,ut as UITableTooltipActions,lt as UITableTooltipFilter,Be as UITableUserDataDisplay,Qe as UITableWrapper};
2
2
  //# sourceMappingURL=index.mjs.map