@customafk/lunas-ui 0.2.19 → 0.2.20

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 (160) hide show
  1. package/dist/{alert-Beqe8m7q.d.cts → alert-CwIH3Hkd.d.mts} +8 -8
  2. package/dist/{alert-XpHbQl4p.d.mts → alert-iwPuxYjG.d.cts} +8 -8
  3. package/dist/{badge-CSIbd6Ib.d.cts → badge-CINaZwOW.d.mts} +7 -7
  4. package/dist/{badge-cDG94TBd.d.mts → badge-DBsYYM8d.d.cts} +7 -7
  5. package/dist/{button-D_PwLu6A.d.cts → button-DdwLbwWQ.d.mts} +7 -7
  6. package/dist/{button-Bu1wgqhO.d.mts → button-UgIAM1cP.d.cts} +7 -7
  7. package/dist/cards/simple-card.d.mts +2 -2
  8. package/dist/data-display/statistic.d.mts +6 -6
  9. package/dist/{dialog-CtO9ie0P.d.cts → dialog-CfbtCisP.d.mts} +12 -12
  10. package/dist/{dialog-DtknheXI.d.mts → dialog-HXH3FYKH.d.cts} +12 -12
  11. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +27 -27
  12. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +25 -25
  13. package/dist/features/descriptions/index.d.cts +1 -1
  14. package/dist/features/descriptions/index.d.mts +5 -5
  15. package/dist/features/search-modal/index.d.cts +2 -2
  16. package/dist/features/search-modal/index.d.mts +2 -2
  17. package/dist/features/tables/index.cjs +1 -1
  18. package/dist/features/tables/index.d.cts +2 -2
  19. package/dist/features/tables/index.d.mts +3 -3
  20. package/dist/features/tables/index.mjs +1 -1
  21. package/dist/features/tanstack-form/index.d.cts +1 -1
  22. package/dist/features/tanstack-form/index.d.mts +1 -1
  23. package/dist/features/text-editor/index.d.mts +1 -1
  24. package/dist/{index-tr2ndIm-.d.mts → index-3ZBP9XKI.d.mts} +4 -4
  25. package/dist/{index-DgO3fRA8.d.mts → index-BreahdZP.d.mts} +35 -31
  26. package/dist/{index-6R0zla55.d.cts → index-D09-9eQ8.d.cts} +110 -110
  27. package/dist/{index-CDGAuUDu.d.cts → index-DWGlOnex.d.cts} +9 -5
  28. package/dist/{index-D8a6GRB2.d.mts → index-DXXR4oq-.d.mts} +352 -352
  29. package/dist/index.cjs +1 -1
  30. package/dist/index.d.cts +8 -8
  31. package/dist/index.d.mts +9 -9
  32. package/dist/index.mjs +1 -1
  33. package/dist/{input-CsTijTsW.d.cts → input-BpTmuYnJ.d.mts} +5 -5
  34. package/dist/{input-BFD3ecVI.d.mts → input-DjEul_uK.d.cts} +6 -6
  35. package/dist/layouts/flex.d.cts +9 -9
  36. package/dist/layouts/flex.d.mts +9 -9
  37. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  38. package/dist/pages/FeatureDeveloping.d.mts +2 -2
  39. package/dist/pages/FeatureFixing.d.cts +2 -2
  40. package/dist/pages/FeatureFixing.d.mts +2 -2
  41. package/dist/pages/NotAuthorized.d.cts +2 -2
  42. package/dist/pages/NotAuthorized.d.mts +2 -2
  43. package/dist/pages/NotFound.d.cts +2 -2
  44. package/dist/pages/NotFound.d.mts +2 -2
  45. package/dist/{tables-BhX5FzM4.cjs → tables--hUSBZFP.cjs} +4 -4
  46. package/dist/tables--hUSBZFP.cjs.map +1 -0
  47. package/dist/tables-BZ5jLRGG.mjs +4 -0
  48. package/dist/tables-BZ5jLRGG.mjs.map +1 -0
  49. package/dist/typography/paragraph.d.cts +5 -5
  50. package/dist/typography/paragraph.d.mts +5 -5
  51. package/dist/typography/title.d.cts +2 -2
  52. package/dist/typography/title.d.mts +2 -2
  53. package/dist/ui/alert-dialog.d.cts +12 -12
  54. package/dist/ui/alert-dialog.d.mts +12 -12
  55. package/dist/ui/alert.d.cts +1 -1
  56. package/dist/ui/alert.d.mts +1 -1
  57. package/dist/ui/aspect-ratio.d.cts +2 -2
  58. package/dist/ui/aspect-ratio.d.mts +2 -2
  59. package/dist/ui/avatar.d.cts +4 -4
  60. package/dist/ui/avatar.d.mts +4 -4
  61. package/dist/ui/badge.d.cts +1 -1
  62. package/dist/ui/badge.d.mts +1 -1
  63. package/dist/ui/breadcrumb.d.cts +8 -8
  64. package/dist/ui/breadcrumb.d.mts +8 -8
  65. package/dist/ui/button-group.d.cts +7 -7
  66. package/dist/ui/button-group.d.mts +7 -7
  67. package/dist/ui/button.d.cts +1 -1
  68. package/dist/ui/button.d.mts +1 -1
  69. package/dist/ui/calendar.d.cts +4 -4
  70. package/dist/ui/calendar.d.mts +4 -4
  71. package/dist/ui/card.d.cts +8 -8
  72. package/dist/ui/card.d.mts +8 -8
  73. package/dist/ui/carousel.d.cts +7 -7
  74. package/dist/ui/carousel.d.mts +7 -7
  75. package/dist/ui/checkbox.d.cts +2 -2
  76. package/dist/ui/checkbox.d.mts +2 -2
  77. package/dist/ui/collapsible.d.cts +4 -4
  78. package/dist/ui/collapsible.d.mts +4 -4
  79. package/dist/ui/command.d.cts +11 -11
  80. package/dist/ui/command.d.mts +11 -11
  81. package/dist/ui/context-menu.d.cts +16 -16
  82. package/dist/ui/context-menu.d.mts +16 -16
  83. package/dist/ui/dialog.d.cts +1 -1
  84. package/dist/ui/dialog.d.mts +1 -1
  85. package/dist/ui/drawer.d.cts +11 -11
  86. package/dist/ui/drawer.d.mts +11 -11
  87. package/dist/ui/dropdown-menu.d.cts +16 -16
  88. package/dist/ui/dropdown-menu.d.mts +16 -16
  89. package/dist/ui/empty.d.cts +9 -9
  90. package/dist/ui/empty.d.mts +9 -9
  91. package/dist/ui/field.d.cts +25 -25
  92. package/dist/ui/field.d.mts +25 -25
  93. package/dist/ui/file-uploader.d.cts +2 -2
  94. package/dist/ui/file-uploader.d.mts +2 -2
  95. package/dist/ui/form.d.cts +11 -11
  96. package/dist/ui/form.d.mts +11 -11
  97. package/dist/ui/hover-card.d.cts +4 -4
  98. package/dist/ui/hover-card.d.mts +4 -4
  99. package/dist/ui/input-otp.d.cts +5 -5
  100. package/dist/ui/input-otp.d.mts +5 -5
  101. package/dist/ui/input.d.cts +1 -1
  102. package/dist/ui/input.d.mts +1 -1
  103. package/dist/ui/inputs/search-input.d.cts +3 -3
  104. package/dist/ui/inputs/search-input.d.mts +3 -3
  105. package/dist/ui/item.d.cts +13 -13
  106. package/dist/ui/item.d.mts +16 -16
  107. package/dist/ui/label.d.cts +2 -2
  108. package/dist/ui/label.d.mts +2 -2
  109. package/dist/ui/menubar.d.cts +17 -17
  110. package/dist/ui/menubar.d.mts +17 -17
  111. package/dist/ui/multi-select.d.cts +2 -2
  112. package/dist/ui/multi-select.d.mts +1 -1
  113. package/dist/ui/navigation-menu.d.cts +11 -11
  114. package/dist/ui/navigation-menu.d.mts +11 -11
  115. package/dist/ui/pagination.d.cts +9 -9
  116. package/dist/ui/pagination.d.mts +9 -9
  117. package/dist/ui/popover.d.cts +6 -6
  118. package/dist/ui/popover.d.mts +6 -6
  119. package/dist/ui/progress.d.cts +2 -2
  120. package/dist/ui/progress.d.mts +2 -2
  121. package/dist/ui/radio-group.d.cts +3 -3
  122. package/dist/ui/radio-group.d.mts +3 -3
  123. package/dist/ui/resizable.d.cts +9 -9
  124. package/dist/ui/resizable.d.mts +9 -9
  125. package/dist/ui/scroll-area.d.cts +6 -6
  126. package/dist/ui/scroll-area.d.mts +6 -6
  127. package/dist/ui/select.d.cts +9 -9
  128. package/dist/ui/select.d.mts +9 -9
  129. package/dist/ui/separator.d.cts +2 -2
  130. package/dist/ui/separator.d.mts +2 -2
  131. package/dist/ui/sheet.d.cts +9 -9
  132. package/dist/ui/sheet.d.mts +9 -9
  133. package/dist/ui/sidebar.d.cts +29 -29
  134. package/dist/ui/sidebar.d.mts +27 -27
  135. package/dist/ui/skeleton.d.cts +2 -2
  136. package/dist/ui/skeleton.d.mts +2 -2
  137. package/dist/ui/slider.d.cts +2 -2
  138. package/dist/ui/slider.d.mts +2 -2
  139. package/dist/ui/sonner.d.cts +2 -2
  140. package/dist/ui/sonner.d.mts +2 -2
  141. package/dist/ui/spinner.d.cts +2 -2
  142. package/dist/ui/spinner.d.mts +2 -2
  143. package/dist/ui/switch.d.cts +2 -2
  144. package/dist/ui/switch.d.mts +2 -2
  145. package/dist/ui/table.d.cts +18 -18
  146. package/dist/ui/table.d.mts +9 -9
  147. package/dist/ui/tabs.d.cts +5 -5
  148. package/dist/ui/tabs.d.mts +5 -5
  149. package/dist/ui/textarea.d.cts +2 -2
  150. package/dist/ui/textarea.d.mts +2 -2
  151. package/dist/ui/toggle-group.d.cts +3 -3
  152. package/dist/ui/toggle-group.d.mts +3 -3
  153. package/dist/ui/toggle.d.cts +5 -5
  154. package/dist/ui/toggle.d.mts +5 -5
  155. package/dist/ui/tooltip.d.cts +5 -5
  156. package/dist/ui/tooltip.d.mts +5 -5
  157. package/package.json +1 -1
  158. package/dist/tables-BhX5FzM4.cjs.map +0 -1
  159. package/dist/tables-D2za3DdW.mjs +0 -4
  160. package/dist/tables-D2za3DdW.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime126 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime28 from "react/jsx-runtime";
2
2
 
3
3
  //#region packages/components/pages/NotFound.d.ts
4
4
  interface NotFoundProps {
@@ -37,7 +37,7 @@ declare const NotFound: ({
37
37
  onButtonClick,
38
38
  className,
39
39
  iconClassName
40
- }: NotFoundProps) => react_jsx_runtime126.JSX.Element;
40
+ }: NotFoundProps) => react_jsx_runtime28.JSX.Element;
41
41
  //#endregion
42
42
  export { NotFound, NotFound as default, NotFoundProps };
43
43
  //# sourceMappingURL=NotFound.d.cts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime87 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime34 from "react/jsx-runtime";
2
2
 
3
3
  //#region packages/components/pages/NotFound.d.ts
4
4
  interface NotFoundProps {
@@ -37,7 +37,7 @@ declare const NotFound: ({
37
37
  onButtonClick,
38
38
  className,
39
39
  iconClassName
40
- }: NotFoundProps) => react_jsx_runtime87.JSX.Element;
40
+ }: NotFoundProps) => react_jsx_runtime34.JSX.Element;
41
41
  //#endregion
42
42
  export { NotFound, NotFound as default, NotFoundProps };
43
43
  //# sourceMappingURL=NotFound.d.mts.map
@@ -1,4 +1,4 @@
1
- const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./button-CwDT3m4m.cjs`),n=require(`./paragraph-DN85Huc4.cjs`),r=require(`./flex-BbbogTsZ.cjs`),i=require(`./date-a3RI5Pwo.cjs`),a=require(`./badge-uQ0pIZbQ.cjs`),o=require(`./tooltip-itUmYz9k.cjs`),s=require(`./avatar-CTS9-raY.cjs`),c=require(`./separator-BwZb12bh.cjs`),l=require(`./dropdown-menu-Ct9BLGfa.cjs`),u=require(`./progress-DE1FdQ1J.cjs`),d=require(`./checkbox-Di7ACavC.cjs`),f=require(`./spinner-rA8pMY6v.cjs`),p=require(`./resizable-DDPMwd28.cjs`),m=require(`./input-BMOYFJYM.cjs`),h=require(`./popover-AEt-aSy3.cjs`),g=require(`./select-DzylYFes.cjs`),_=require(`./label-DYsRdKMt.cjs`);let v=require(`lucide-react`),y=require(`react`),b=require(`react/jsx-runtime`),x=require(`@customafk/react-toolkit/utils`),S=require(`class-variance-authority`),ee=require(`@customafk/react-toolkit/color-hash`),C=require(`@tanstack/react-table`),te=require(`@tanstack/react-virtual`),w=require(`@customafk/react-toolkit/hooks/useDebounceCallback`);const T=()=>(0,b.jsxs)(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[(0,b.jsx)(v.MinusIcon,{size:16}),(0,b.jsx)(v.MinusIcon,{size:16})]}),E=({label:e,onClick:t,onRemove:n})=>e?n?(0,b.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,b.jsx)(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,b.jsx)(v.XIcon,{size:12})})]}):(0,b.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,b.jsx)(T,{}),ne=({value:e})=>e==null?(0,b.jsx)(T,{}):e===!1?(0,b.jsx)(`div`,{className:`text-danger-strong`,children:(0,b.jsx)(v.XIcon,{})}):(0,b.jsx)(`div`,{className:`text-success-strong`,children:(0,b.jsx)(v.CheckIcon,{})}),re=(0,y.memo)(({value:e,currency:t=`USD`,locale:n=`en-US`,display:r=`symbol`,size:i=`md`,colorize:a=!1})=>{let o=(0,y.useMemo)(()=>{let i=typeof e==`string`?Number(e.trim()):e;return i==null||Number.isNaN(i)||!Number.isFinite(i)?null:new Intl.NumberFormat(n,{style:`currency`,currency:t,currencyDisplay:r,minimumFractionDigits:2,maximumFractionDigits:2}).format(i)},[e,t,n,r]),s=(0,y.useMemo)(()=>{let t=typeof e==`string`?Number(e.trim()):e;return typeof t==`number`&&t<0},[e]);return o?(0,b.jsx)(`p`,{className:(0,x.cn)(`font-number tabular-nums`,i===`xs`&&`text-xs`,i===`sm`&&`text-sm`,i===`md`&&`text-base`,i===`lg`&&`text-lg`,i===`xl`&&`text-xl`,!a&&`text-text-positive`,a&&s&&`text-danger-strong`,a&&!s&&`text-success-strong`),children:o}):(0,b.jsx)(T,{})});re.displayName=`UITableCurrencyDisplay`;const ie=({date:e})=>e==null?(0,b.jsx)(T,{}):(0,b.jsx)(o.r,{children:(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{asChild:!0,children:(0,b.jsx)(a.t,{className:`h-fit`,children:(0,b.jsx)(i.t,{date:e,format:`medium`,className:`font-normal text-white`})})}),(0,b.jsx)(o.n,{className:`rounded px-2`,children:(0,b.jsx)(i.t,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),ae=({content:e})=>e==null?(0,b.jsx)(T,{}):(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{children:(0,b.jsx)(n.t,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:e})}),(0,b.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,b.jsx)(n.t,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:e}),(0,b.jsxs)(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),D=({email:e,linkable:t=!0})=>{let[n,r]=(0,y.useState)(!1);return e?(0,b.jsx)(o.r,{children:(0,b.jsxs)(`div`,{className:`group flex items-center gap-x-1.5`,children:[(0,b.jsx)(v.MailIcon,{size:13,className:`shrink-0 text-text-positive-weak`}),t?(0,b.jsx)(`a`,{href:`mailto:${e}`,className:`truncate text-primary text-sm underline-offset-2 hover:underline`,onClick:e=>e.stopPropagation(),children:e}):(0,b.jsx)(`span`,{className:`truncate text-text-positive text-sm`,children:e}),(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{asChild:!0,children:(0,b.jsx)(`button`,{onClick:t=>{t.stopPropagation(),t.preventDefault(),navigator.clipboard.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)})},className:`shrink-0 cursor-pointer text-text-positive-weak opacity-0 transition-opacity group-hover:opacity-100 hover:text-text-positive`,children:n?(0,b.jsx)(v.CheckIcon,{size:13,className:`text-success-strong`}):(0,b.jsx)(v.CopyIcon,{size:13})})}),(0,b.jsx)(o.n,{children:n?`Copied!`:`Copy email`})]})]})}):(0,b.jsx)(T,{})},oe=({items:e,maxVisible:t=3})=>{if(!e||e.length===0)return(0,b.jsx)(T,{});let n=e.slice(0,t),r=e.slice(t);return(0,b.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[n.map((e,t)=>(0,b.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-border bg-muted-weak px-2 py-0.5 text-text-positive text-xs`,children:e},t)),r.length>0&&(0,b.jsx)(o.r,{children:(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{asChild:!0,children:(0,b.jsxs)(`span`,{className:`inline-flex cursor-default items-center rounded-full bg-primary-bg-subtle px-2 py-0.5 text-primary-intense text-xs`,children:[`+`,r.length,` more`]})}),(0,b.jsx)(o.n,{align:`start`,className:`flex max-w-64 flex-wrap gap-1 p-2`,children:r.map((e,t)=>(0,b.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-border px-2 py-0.5 text-text-negative text-xs`,children:e},t))})]})})]})},se=({items:e=[]})=>(0,b.jsxs)(l.t,{children:[(0,b.jsx)(l.h,{asChild:!0,children:(0,b.jsx)(t.t,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:(0,b.jsx)(v.MoreVerticalIcon,{})})}),(0,b.jsx)(l.r,{children:(0,b.jsx)(l.i,{children:e.map(e=>(0,b.jsx)(l.a,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.stopPropagation()},children:e.label},e.id))})})]}),O=({name:e})=>e?(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{children:(0,b.jsx)(n.t,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start`,children:e})}),(0,b.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,b.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,b.jsxs)(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):(0,b.jsx)(T,{}),k=({href:e,label:t})=>(0,b.jsxs)(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[(0,b.jsx)(`span`,{children:t||e}),(0,b.jsx)(v.ExternalLinkIcon,{size:14})]}),A=({value:e})=>(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{asChild:!0,children:(0,b.jsx)(`p`,{className:`font-number text-text-positive text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,b.jsx)(o.n,{align:`start`,children:(0,b.jsx)(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),j=(0,y.memo)(({value:e,showLabel:t=!0,successThreshold:n=70,warningThreshold:r=40})=>{if(e==null)return(0,b.jsx)(T,{});let i=Math.min(100,Math.max(0,e));return(0,b.jsxs)(`div`,{className:`flex w-full min-w-24 items-center gap-x-2`,children:[(0,b.jsx)(u.t,{value:i,className:(0,x.cn)(`flex-1`,i>=n?`[&>[data-slot=progress-indicator]]:bg-success`:i>=r?`[&>[data-slot=progress-indicator]]:bg-warning`:`[&>[data-slot=progress-indicator]]:bg-danger`)}),t&&(0,b.jsxs)(`span`,{className:`w-9 shrink-0 text-right font-number text-text-positive-weak text-xs tabular-nums`,children:[i,`%`]})]})});j.displayName=`UITableProgressDisplay`;const M=({title:e,onClick:n})=>(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{children:(0,b.jsx)(t.t,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:(0,y.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),await n?.()},[n]),children:(0,b.jsx)(v.Trash2Icon,{})})}),(0,b.jsx)(o.n,{children:(0,b.jsx)(`p`,{children:e||`Remove item from list table`})})]}),N=(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}},P=(0,y.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,y.useMemo)(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=(0,y.useCallback)(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=N(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=(0,y.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,y.useMemo)(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?(0,b.jsx)(T,{}):(0,b.jsxs)(r.t,{padding:`none`,className:(0,x.cn)(`font-number text-lg text-text-positive 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,b.jsx)(`p`,{children:p}),i]})});P.displayName=`UITableStatisticDisplay`;const ce=({value:e,colorMap:t,defaultColor:n=`muted`,variant:r=`soft`})=>e==null||e===``?(0,b.jsx)(T,{}):(0,b.jsx)(a.t,{variant:r,color:(t&&t[e])??n,className:`min-w-16 justify-center capitalize`,children:e.charAt(0).toUpperCase()+e.slice(1).replace(/_/g,` `)}),F=({uuid:e,username:t,email:i})=>(0,b.jsxs)(r.t,{wrap:!1,gap:`sm`,padding:`none`,children:[!e&&(0,b.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,b.jsx)(s.n,{className:`bg-muted-weak`,children:(0,b.jsx)(v.UserRoundIcon,{size:28,className:`text-text-negative`})})}),e&&(0,b.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,b.jsx)(s.n,{style:{backgroundColor:ee.colorHashLight.hex(e)},children:(0,b.jsx)(v.UserRoundIcon,{size:28,className:`text-white`})})}),(0,b.jsxs)(r.t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[(0,b.jsx)(n.t,{className:`font-medium text-sm text-text-positive-weak`,children:t??`Unknown User`}),(0,b.jsx)(n.t,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),I=(0,y.createContext)(null),L=()=>{let e=(0,y.use)(I);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},R=(0,y.createContext)(null),z=()=>{let e=(0,y.use)(R);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},B=(0,y.createContext)(null),le=()=>{let e=(0,y.use)(B);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},ue=(0,y.createContext)(null),de=()=>{let e=(0,y.use)(ue);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},fe=(0,y.createContext)(null),pe=()=>{let e=(0,y.use)(fe);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},me=(0,y.createContext)(null),V=()=>{let e=(0,y.use)(me);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},he=(0,y.createContext)(null),ge=()=>{let e=(0,y.use)(he);if(!e)throw Error(`useUITableFilterContext must be used within a UITableProvider`);return e},_e=(0,S.cva)([`absolute right-2 z-10 p-0.5 opacity-0 bg-card`,`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`]),ve=(0,S.cva)([`sticky left-0 flex flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`]),ye=(0,S.cva)([`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`]),be=(0,S.cva)([`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`]),xe=(0,S.cva)([`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`]),Se=(0,S.cva)([`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]:border-r`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`]),Ce=(0,S.cva)([`flex`]),we=(0,S.cva)([`group flex`],{variants:{isPinned:{left:`sticky`,right:`sticky`,false:`relative`},isActions:{true:`border-r-0!`,false:``},isLastCell:{true:``,false:``},isFirstCell:{true:``,false:``},position:{start:`justify-start`,center:`justify-center`,end:`justify-end`}},compoundVariants:[{isPinned:`left`,isLastCell:void 0,className:`border-r border-r-border`},{isPinned:`right`,isFirstCell:void 0,className:`border-l border-l-border`}]}),Te=(0,S.cva)(`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`.split(`,`)),Ee=(0,S.cva)([`group [&_td]:border-r [&_td]:border-r-border [&_td]:last:border-r-0`]),H=(0,S.cva)([`group-hover:bg-muted-bg-subtle!`],{variants:{isPinned:{left:`sticky`,right:`sticky`,false:`relative`}},defaultVariants:{isPinned:void 0}}),De=(0,S.cva)([`sticky border-r-0! inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`]),Oe=(0,S.cva)([`group-hover:bg-muted-bg-subtle!`],{variants:{isPinned:{left:``,right:``,false:``},isLastCell:{true:``,false:``},isFirstCell:{true:``,false:``}},compoundVariants:[{isPinned:`left`,isLastCell:void 0,className:`border-r border-r-border`},{isPinned:`right`,isFirstCell:void 0,className:`border-l border-l-border`}]}),ke=(0,S.cva)([`overflow-x-hidden`],{variants:{position:{start:`justify-start`,center:`justify-center`,end:`justify-end`}},defaultVariants:{position:`start`}}),Ae=(0,S.cva)([`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`]),je=(0,S.cva)([`flex cursor-pointer gap-x-0.5`],{variants:{state:{idle:`text-text-positive-weak hover:text-text-positive`,fetching:`cursor-not-allowed`,error:`text-danger hover:text-danger-strong`}},defaultVariants:{state:`idle`}}),U=(0,y.memo)(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isRefetching:a,isEmpty:o}=de();return o||i||a?null:(0,b.jsx)(`tbody`,{slot:`table-body`,style:{height:e},className:(0,x.cn)(Te(),t),...r,children:n})});U.displayName=`UITableBody`;const W=(0,y.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}=z(),u=(0,y.useRef)(null),d=(0,y.useRef)(null),f=(0,y.useMemo)(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=(0,y.useMemo)(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),m=(0,y.useMemo)(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),h=(0,y.useMemo)(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),g=(0,y.useMemo)(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),_=(0,y.useMemo)(()=>(0,C.flexRender)(a?.columnDef.cell,o()),[a,o]);return(0,y.useEffect)(()=>{u.current=document.querySelector(`table[id="${c}"]`)},[c]),(0,y.useEffect)(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t!=null&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),(0,b.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:m,minWidth:h,maxWidth:g},className:Oe({isPinned:e||void 0,isLastCell:n,isFirstCell:t}),...s,children:(0,b.jsx)(`div`,{ref:d,slot:`table-body-cell-inner`,className:ke({position:i}),children:_})})});W.displayName=`UITableCell`;const G=(0,y.memo)(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=(0,y.useMemo)(()=>(0,C.flexRender)(t?.columnDef.cell,n()),[t,n]);return(0,b.jsx)(`td`,{"data-col":`actions`,"data-cell":e,className:De(),...i,children:a})});G.displayName=`UITableCellActions`;const Me=60,Ne=60,Pe=20,Fe=20,K=(0,y.memo)(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=(0,y.useCallback)(e=>{r?.(!!e)},[r]);return(0,b.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,x.cn)(H({isPinned:e}),n),...i,children:(0,b.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,b.jsx)(d.t,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});K.displayName=`UITableCellSelect`;const Ie=(0,y.memo)(()=>{let{table:e,isFetching:t,isRefetching:n,loadingDisplayRow:r=3}=V();return!t&&!n?null:(0,b.jsx)(`tbody`,{className:(0,x.cn)(Te(),`pointer-events-none`),children:Array.from({length:r}).map((t,n)=>(0,b.jsx)(`tr`,{"data-slot":`table-row`,"data-index":n,className:(0,x.cn)(Ee(),`animate-pulse relative!`),children:e.getAllColumns().map((t,r)=>{let i=t.getIsPinned(),a=t.getStart(`left`),o=t.getAfter(`right`);return t.id===`actions`?(0,b.jsx)(`td`,{"data-slot":`table-body-cell`,"data-col":t.id,"data-cell":r,style:{width:60},className:De(),children:(0,b.jsx)(`div`,{className:`w-full h-4 bg-muted-muted rounded-full`})},`${t.id}-${r}`):t.id===`select`?(0,b.jsx)(`td`,{"data-slot":`table-body-cell`,"data-col":t.id,"data-cell":r,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:H({isPinned:`left`}),children:(0,b.jsx)(`div`,{className:`w-full flex justify-center`,children:(0,b.jsx)(`div`,{className:`size-4 bg-muted-muted rounded-full`})})},`${t.id}-${n}`):(0,b.jsx)(`td`,{"data-col":t.id,"data-cell":r,"data-selected":void 0,"data-lastcell":t.id===e.getAllColumns()[e.getAllColumns().length-1].id||void 0,"data-firstcell":t.id===e.getAllColumns()[0].id||void 0,style:{zIndex:i?20:0,left:i===`left`&&typeof a==`number`?`${a}px`:void 0,right:i===`right`&&typeof o==`number`?`${o}px`:void 0,width:`calc(var(--col-${t.id}-size) * 1px)`,minWidth:t.columnDef.minSize?`calc(var(--col-${t.id}-minSize) * 1px)`:void 0,maxWidth:t.columnDef.maxSize?`calc(var(--col-${t.id}-maxSize) * 1px)`:void 0},className:Oe({isPinned:t.getIsPinned(),isFirstCell:t.id===e.getRightHeaderGroups()[0]?.headers[0]?.id,isLastCell:t.id===e.getLeftHeaderGroups()[0]?.headers[e.getLeftHeaderGroups()[0].headers.length-1]?.id}),children:(0,b.jsx)(`div`,{className:ke({position:t.columnDef.meta?.position??`start`}),children:(0,b.jsx)(`div`,{className:`w-full h-4 bg-muted-muted rounded-full`})})},`${t.id}-${r}`)})},n))})}),q=(0,y.memo)(()=>{let{isEmpty:e,emptyDisplayHeight:t}=V();return e?(0,b.jsx)(b.Fragment,{children:e&&(0,b.jsx)(`div`,{className:ve(),style:{minHeight:t??`24rem`},children:(0,b.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,b.jsx)(v.BoxIcon,{strokeWidth:1,size:48}),(0,b.jsx)(`p`,{children:`No data available`})]})})}):null});q.displayName=`UITableEmptyDisplay`;const Le=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`tfoot`,{slot:`table-footer`,className:(0,x.cn)(Ae(),e),...n,children:t}));Le.displayName=`UITableFooter`;const J=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`thead`,{slot:`table-head`,className:(0,x.cn)(Se(),e),...n,children:t}));J.displayName=`UITableHead`;const Y=(0,y.memo)(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=(0,y.useCallback)(()=>{t?.(`left`)},[t]),o=(0,y.useCallback)(()=>{n?.(`right`)},[n]),s=(0,y.useCallback)(()=>{r?.(!1)},[r]);return(0,b.jsxs)(l.t,{children:[(0,b.jsx)(l.h,{asChild:!0,children:(0,b.jsx)(`button`,{type:`button`,className:(0,x.cn)(_e(),i),children:(0,b.jsx)(v.EllipsisVerticalIcon,{})})}),(0,b.jsx)(l.r,{align:`end`,className:`w-64 p-4`,children:(0,b.jsxs)(l.i,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[(0,b.jsx)(y.Activity,{mode:e?`visible`:`hidden`,children:(0,b.jsxs)(l.a,{onClick:s,children:[!!e&&`Unpin`,(0,b.jsx)(l.d,{children:(0,b.jsx)(v.PinOffIcon,{className:`size-4`})})]})}),(0,b.jsxs)(y.Activity,{mode:e?`hidden`:`visible`,children:[(0,b.jsxs)(l.a,{onClick:a,children:[e?`Unpin`:`Pin to Left`,(0,b.jsx)(l.d,{children:(0,b.jsx)(v.MoveLeftIcon,{className:`size-4`})})]}),(0,b.jsxs)(l.a,{onClick:o,children:[e?`Unpin`:`Pin to Right`,(0,b.jsx)(l.d,{children:(0,b.jsx)(v.MoveRightIcon,{className:`size-4`})})]})]})]})})]})});Y.displayName=`UITableHeadCellOption`;const X=(0,y.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=o?.columnDef.meta?.position,p=(0,y.useMemo)(()=>t?20:void 0,[t]),m=(0,y.useMemo)(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),h=(0,y.useMemo)(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),g=(0,y.useMemo)(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),_=(0,y.useMemo)(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),v=(0,y.useMemo)(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return(0,b.jsxs)(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:p,left:m,right:h,width:g,minWidth:_,maxWidth:v},className:(0,x.cn)(we({isPinned:t||`false`,isActions:a===`actions`,isLastCell:r,isFirstCell:n,position:f}),s),...d,children:[(0,b.jsx)(`div`,{className:`truncate px-4`,children:c}),i&&(0,b.jsx)(Y,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});X.displayName=`UITableHeadCell`;const Z=(0,y.memo)(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=(0,y.useCallback)(e=>{r?.(!!e)},[r]);return(0,b.jsx)(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:H({isPinned:e}),...i,children:(0,b.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,b.jsx)(d.t,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});Z.displayName=`UITableHeadCellSelect`;const Q=(0,y.memo)(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=le(),c=o[0]?.id,l=a[a.length-1]?.id;return(0,b.jsx)(`tr`,{slot:`table-head-row`,className:(0,x.cn)(Ce(),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,b.jsx)(Z,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):(0,b.jsx)(X,{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,C.flexRender)(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});Q.displayName=`UITableHeadRow`;const $=(0,y.memo)(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=z(),a=(0,y.useRef)(null);return(0,y.useEffect)(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t,r=new ResizeObserver(r=>{t!==void 0&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{let t=r[0];if(!t)return;let i=t.target;if(!(i instanceof HTMLTableElement))return;let a=t.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;i.style.setProperty(`--header-${e.id}-size`,`${t}`),i.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&i.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else i.style.setProperty(`--header-${e.id}-size`,`${e.width}`),i.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})})});return r.observe(a.current),()=>{t!==void 0&&cancelAnimationFrame(t),r.disconnect()}},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),(0,b.jsx)(`table`,{id:r,ref:a,slot:`table-inner-table`,className:xe(),style:{minWidth:i},...t,children:e})});$.displayName=`UITableInnerTable`;const Re=(0,y.memo)(({children:e,...t})=>{let{innerWrapperId:n}=L();return(0,b.jsx)(`div`,{id:n,slot:`table-inner-wrapper`,className:be(),...t,children:e})});Re.displayName=`UITableInnerWrapper`;const ze=(0,y.memo)(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=L(),i=(0,y.useRef)(null),a=(0,y.useRef)(null),[o,s]=(0,y.useState)(`idle`),[c,l]=(0,y.useState)(0),u=(0,y.useCallback)(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return(0,y.useEffect)(()=>{if(i.current=document.querySelector(`div[id="${r}"]`),!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[r]),n?(0,b.jsx)(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:(0,b.jsx)(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:(0,b.jsxs)(`button`,{type:`button`,disabled:o===`fetching`,className:je({state:o}),onClick:u,children:[o===`idle`&&(0,b.jsx)(v.ChevronDown,{className:`size-4`}),o===`fetching`&&(0,b.jsx)(f.t,{className:`size-4 animate-spin`}),o===`error`&&(0,b.jsx)(v.AlertTriangle,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})}):null});ze.displayName=`UITableLoadMore`;const Be=(0,y.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}=pe(),f=(0,y.useMemo)(()=>c.left??[],[c]),p=(0,y.useMemo)(()=>c.right??[],[c]),m=(0,y.useMemo)(()=>u?.[0]?.id,[u]),h=(0,y.useMemo)(()=>l?.[l.length-1]?.id,[l]),g=(0,y.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,b.jsx)(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:Ee(),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`?(0,b.jsx)(G,{"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,b.jsx)(K,{"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,b.jsx)(W,{"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}`)})})});Be.displayName=`UITableRow`;const Ve=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`div`,{slot:`table-wrapper`,className:(0,x.cn)(ye(),e),...n,children:t}));Ve.displayName=`UITableWrapper`;const He=({children:e})=>{let{table:t,fetchMoreData:n}=V(),{rowSelectionState:r}=de(),i=(0,y.useRef)(null),{rows:a}=t.getRowModel(),o=(0,te.useVirtualizer)({count:a.length+(n?1:0),estimateSize:()=>40,getScrollElement:()=>i.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),s=(0,y.useMemo)(()=>{let e=o.getTotalSize(),t=i.current?.clientHeight??0;return`${Math.max(e,t)}px`},[o.getTotalSize()]);return(0,b.jsxs)(p.r,{direction:`horizontal`,style:{direction:t.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,b.jsx)(p.n,{className:`relative`,children:(0,b.jsxs)(Re,{ref:i,children:[(0,b.jsxs)($,{children:[(0,b.jsx)(J,{children:t.getHeaderGroups().map(e=>(0,b.jsx)(Q,{headerGroup:e},e.id))}),(0,b.jsx)(U,{height:s,children:o.getVirtualItems().map(e=>{let t=a[e.index];if(!t&&n)return(0,b.jsx)(ze,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:n},e.key);let i=r[t.id]===!0;return(0,b.jsx)(Be,{ref:o.measureElement,row:t,isSelected:i,virtualRowIndex:e.index,virtualRowStart:e.start},e.key)})}),(0,b.jsx)(Ie,{})]}),(0,b.jsx)(q,{})]})}),e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(p.t,{}),e]})]})},Ue={tag:(0,b.jsx)(v.TagIcon,{size:14}),"date-range":(0,b.jsx)(v.CalendarIcon,{size:14}),number:(0,b.jsx)(v.HashIcon,{size:14}),text:(0,b.jsx)(v.TypeIcon,{size:14}),boolean:(0,b.jsx)(v.ToggleLeftIcon,{size:14})},We=[{value:`eq`,label:`Equals (=)`},{value:`ne`,label:`not equals (≠)`},{value:`gt`,label:`greater than (>)`},{value:`gte`,label:`At least (≥)`},{value:`lt`,label:`less than (<)`},{value:`lte`,label:`at most (≤)`},{value:`between`,label:`Between`}],Ge=[{value:`contains`,label:`Contains`},{value:`equals`,label:`Equals`},{value:`starts-with`,label:`Starts with`},{value:`ends-with`,label:`Ends with`}];function Ke(e,t){switch(e.type){case`tag`:return e.values.length?e.values.map(e=>t.options?.find(t=>t.value===e)?.label??e).join(`, `):`Unset`;case`date-range`:return!e.from&&!e.to?`Unknow date`:e.from&&e.to?`${e.from} → ${e.to}`:e.from?`from ${e.from}`:`until ${e.to}`;case`number`:{let t={eq:`=`,ne:`≠`,gt:`>`,gte:`≥`,lt:`<`,lte:`≤`,between:`between`}[e.operator];return e.value===void 0?t:e.operator===`between`?`${t} ${e.value} – ${e.valueTo??`?`}`:`${t} ${e.value}`}case`text`:{let t={contains:`contains`,equals:`is`,"starts-with":`starts with`,"ends-with":`ends with`}[e.operator];return e.value?`${t} "${e.value}"`:t}case`boolean`:return e.value===null?`Unknow`:e.value?`Yes`:`No`}}const qe=({value:e,definition:t,onChange:n})=>(0,b.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:(t.options??[]).length===0?(0,b.jsx)(`p`,{className:`text-xs text-text-positive-muted`,children:`No options defined`}):t.options.map(t=>(0,b.jsxs)(_.t,{className:(0,x.cn)(`flex items-center gap-2 bg-secondary-bg-subtle hover:bg-secondary-muted px-4 py-2 rounded transition-colors`,e.values.includes(t.value)&&`bg-primary-muted hover:bg-primary-subtle`),children:[(0,b.jsx)(d.t,{checked:e.values.includes(t.value),onCheckedChange:r=>{n({type:`tag`,values:r?[...e.values,t.value]:e.values.filter(e=>e!==t.value)})}}),(0,b.jsx)(`span`,{className:`text-sm`,children:t.label})]},t.value))}),Je=({value:e,onChange:t})=>(0,b.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,children:[(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`span`,{className:`text-xs text-text-positive-muted`,children:`From`}),(0,b.jsx)(m.t,{type:`date`,size:`md`,value:e.from??``,onValueChange:n=>t({...e,from:n||void 0})})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`span`,{className:`text-xs text-text-positive-muted`,children:`To`}),(0,b.jsx)(m.t,{type:`date`,size:`md`,value:e.to??``,onValueChange:n=>t({...e,to:n||void 0})})]})]}),Ye=({value:e,onChange:t})=>(0,b.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,children:[(0,b.jsxs)(g.t,{value:e.operator,onValueChange:n=>t({...e,operator:n}),children:[(0,b.jsx)(g.s,{size:`sm`,children:(0,b.jsx)(g.c,{})}),(0,b.jsx)(g.n,{children:We.map(e=>(0,b.jsx)(g.i,{value:e.value,children:e.label},e.value))})]}),(0,b.jsx)(m.t,{type:`number`,size:`md`,placeholder:`Value`,value:e.value??``,onValueChange:n=>t({...e,value:n?Number(n):void 0})}),e.operator===`between`&&(0,b.jsx)(m.t,{type:`number`,size:`md`,placeholder:`To value`,value:e.valueTo??``,onValueChange:n=>t({...e,valueTo:n?Number(n):void 0})})]}),Xe=({value:e,onChange:t})=>(0,b.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,children:[(0,b.jsxs)(g.t,{value:e.operator,onValueChange:n=>t({...e,operator:n}),children:[(0,b.jsx)(g.s,{size:`sm`,children:(0,b.jsx)(g.c,{})}),(0,b.jsx)(g.n,{children:Ge.map(e=>(0,b.jsx)(g.i,{value:e.value,children:e.label},e.value))})]}),(0,b.jsx)(m.t,{type:`text`,size:`md`,placeholder:`Enter text...`,value:e.value,onValueChange:n=>t({...e,value:n})})]}),Ze=[{label:`Yes`,value:!0},{label:`No`,value:!1},{label:`Unknow`,value:null}],Qe=({value:e,onChange:n})=>(0,b.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:Ze.map(({label:r,value:i})=>(0,b.jsx)(t.t,{type:`button`,tabIndex:-1,variant:`outline`,className:(0,x.cn)(`rounded px-3 py-1.5 text-left text-sm transition-colors`,e.value===i?`bg-primary-muted font-medium`:`hover:bg-muted-bg-subtle`),onClick:()=>n({type:`boolean`,value:i}),children:r},r))});function $e({value:e,definition:t,onChange:n}){switch(e.type){case`tag`:return(0,b.jsx)(qe,{value:e,definition:t,onChange:n});case`date-range`:return(0,b.jsx)(Je,{value:e,onChange:n});case`number`:return(0,b.jsx)(Ye,{value:e,onChange:n});case`text`:return(0,b.jsx)(Xe,{value:e,onChange:n});case`boolean`:return(0,b.jsx)(Qe,{value:e,onChange:n})}}const et=({filter:e,definition:n,onRemove:r,onUpdate:i})=>(0,b.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,b.jsxs)(h.t,{children:[(0,b.jsx)(h.a,{asChild:!0,children:(0,b.jsxs)(t.t,{type:`button`,variant:`outline`,color:`muted`,className:`flex-1 bg-white max-w-[calc(100%-32px)] justify-start`,innerClassName:`flex truncate gap-1.5`,children:[(0,b.jsx)(`span`,{className:`shrink-0 text-text-positive font-medium`,children:n.label}),(0,b.jsx)(`span`,{className:`truncate text-xs text-text-positive-weak`,children:Ke(e.value,n)})]})}),(0,b.jsxs)(h.i,{className:`w-64 p-0`,align:`start`,side:`bottom`,children:[(0,b.jsx)(`div`,{className:`border-b border-border px-3 py-2`,children:(0,b.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,b.jsx)(`span`,{className:`text-text-positive-muted`,children:Ue[n.type]}),(0,b.jsx)(`p`,{className:`font-medium`,children:n.label})]})}),(0,b.jsx)($e,{value:e.value,definition:n,onChange:i})]})]}),(0,b.jsx)(t.t,{type:`button`,size:`icon`,variant:`soft`,color:`danger`,className:`shrink`,onClick:r,children:(0,b.jsx)(v.Trash2Icon,{size:13})})]}),tt=()=>{let{filterDefinitions:e,activeFilters:n,addFilter:r,removeFilter:i,updateFilter:a}=ge(),[o,s]=(0,y.useState)(null),u=e.filter(e=>!n.some(t=>t.definitionId===e.id));return(0,b.jsx)(p.n,{defaultSize:25,className:(0,x.cn)(`bg-card`,o===null?`max-w-8!`:`min-w-64`),children:(0,b.jsxs)(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[(0,b.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,b.jsx)(y.Activity,{mode:o===`filters`?`visible`:`hidden`,children:(0,b.jsxs)(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,b.jsx)(`p`,{className:`font-medium`,children:`Filters`}),(0,b.jsxs)(l.t,{children:[(0,b.jsx)(l.h,{asChild:!0,children:(0,b.jsxs)(t.t,{variant:`outline`,color:`muted`,disabled:u.length===0,children:[(0,b.jsx)(v.ListFilterPlus,{size:13}),`Add Filter`]})}),(0,b.jsx)(l.r,{align:`end`,children:u.map(e=>(0,b.jsxs)(l.a,{className:`flex items-center gap-2`,onClick:()=>r(e.id),children:[Ue[e.type],e.label]},e.id))})]})]}),(0,b.jsx)(c.t,{}),n.length===0?(0,b.jsx)(`p`,{className:`py-6 text-center text-xs text-text-positive-muted`,children:`No active filters`}):(0,b.jsx)(`div`,{className:`flex flex-col gap-2 pt-1`,children:n.map(t=>{let n=e.find(e=>e.id===t.definitionId);return n?(0,b.jsx)(et,{filter:t,definition:n,onRemove:()=>i(t.id),onUpdate:e=>a(t.id,e)},t.id):null})})]})})}),(0,b.jsxs)(`div`,{className:`flex h-full flex-col border-l border-border bg-muted-bg-subtle text-sm`,children:[(0,b.jsxs)(`button`,{type:`button`,className:(0,x.cn)(`relative flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,o===`filters`&&`bg-card`),onClick:()=>s(o===`filters`?null:`filters`),children:[(0,b.jsx)(v.ListFilterIcon,{size:18}),n.length>0&&(0,b.jsx)(`span`,{className:`absolute top-2 right-1.5 flex h-4 w-4 items-center justify-center rounded-full bg-primary text-[10px] leading-none text-primary-foreground`,children:n.length}),(0,b.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),(0,b.jsx)(c.t,{})]})]})})};function nt(e){switch(e){case`tag`:return{type:`tag`,values:[]};case`date-range`:return{type:`date-range`};case`number`:return{type:`number`,operator:`eq`};case`text`:return{type:`text`,operator:`contains`,value:``};case`boolean`:return{type:`boolean`,value:null}}}const rt=(0,y.memo)(({innerWrapperId:e,children:t})=>{let n=(0,y.useMemo)(()=>({innerWrapperId:e}),[e]);return(0,b.jsx)(I.Provider,{value:n,children:t})});rt.displayName=`UITableInnerWrapperProvider`;const it=(0,y.memo)(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=(0,y.useMemo)(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return(0,b.jsx)(R.Provider,{value:i,children:r})});it.displayName=`UITableInnerTableProvider`;const at=(0,y.memo)(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=(0,y.useMemo)(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return(0,b.jsx)(B.Provider,{value:o,children:a})});at.displayName=`UITableHeadRowProvider`;const ot=(0,y.memo)(({isFetching:e,isRefetching:t,isEmpty:n,rowSelectionState:r,children:i})=>{let a=(0,y.useMemo)(()=>({isFetching:e,isRefetching:t,isEmpty:n,rowSelectionState:r}),[e,n,r]);return(0,b.jsx)(ue.Provider,{value:a,children:i})});ot.displayName=`UITableBodyProvider`;const st=(0,y.memo)(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=(0,y.useMemo)(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return(0,b.jsx)(fe.Provider,{value:s,children:o})});st.displayName=`UITableRowProvider`;const ct=({title:e,isFetching:t=!1,isRefetching:n=!1,isLoading:r=!1,loadingDisplayRow:i=3,data:a,columns:o,totalRows:s,leftPinnedColumns:c=[],rightPinnedColumns:l=[],keyOfClickRow:u,onClickRow:d,onRowSelection:f,onColumnPinning:p,fetchMoreData:m,emptyDisplayHeight:h,csvData:g,csvFileName:_,filterDefinitions:v=[],onFilterChange:x,children:S})=>{let ee=(0,y.useId)(),te=(0,y.useId)(),[w,T]=(0,y.useState)({}),[E,ne]=(0,y.useState)({right:l,left:[`select`,...c]}),[re,ie]=(0,y.useState)({}),[ae,D]=(0,y.useState)([]),oe=(0,y.useCallback)(e=>(T(e),f?.(e instanceof Function?e(w):e),e),[w,f]),se=(0,y.useCallback)(e=>{ne(e),p?.(e instanceof Function?e(E):e)},[E,p]),O=(0,y.useCallback)(e=>{let t=v.find(t=>t.id===e);if(!t)return;let n={id:`${e}-${crypto.randomUUID()}`,definitionId:e,value:nt(t.type)};D(e=>{let t=[...e,n];return x?.(t),t})},[v,x]),k=(0,y.useCallback)(e=>{D(t=>{let n=t.filter(t=>t.id!==e);return x?.(n),n})},[x]),A=(0,y.useCallback)((e,t)=>{D(n=>{let r=n.map(n=>n.id===e?{...n,value:t}:n);return x?.(r),r})},[x]),j=(0,y.useMemo)(()=>({filterDefinitions:v,activeFilters:ae,addFilter:O,removeFilter:k,updateFilter:A}),[v,ae,O,k,A]),M=(0,C.useReactTable)({data:a,columns:o,state:{rowSelection:w,columnPinning:E,expanded:re},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,C.getCoreRowModel)(),getGroupedRowModel:(0,C.getGroupedRowModel)(),getExpandedRowModel:(0,C.getExpandedRowModel)(),onRowSelectionChange:oe,onColumnPinningChange:se,onExpandedChange:ie}),N=(0,y.useMemo)(()=>{let{rows:e}=M.getRowModel();return e},[M.getRowModel().rows,M.getState().columnPinning]),P=(0,y.useMemo)(()=>!t&&!n&&N.length===0,[N,t,n]),ce=(0,y.useMemo)(()=>({title:e,table:M,isEmpty:P,isFetching:t,isRefetching:n,isLoading:r,loadingDisplayRow:i,totalRows:s,fetchMoreData:m,emptyDisplayHeight:h,csvData:g,csvFileName:_}),[e,M,P,n,t,r,i,s,m,h,M.getState().columnPinning,M.getState().expanded,g,_]),F=(0,y.useMemo)(()=>M.getState(),[M.getState()]),I=(0,y.useMemo)(()=>M.getIsAllRowsSelected(),[M.getIsAllRowsSelected()]),L=(0,y.useMemo)(()=>F.rowSelection,[F.rowSelection]),R=(0,y.useMemo)(()=>F.columnPinning,[F.columnPinning]),z=(0,y.useMemo)(()=>M.getLeftHeaderGroups()[0]?.headers||[],[M.getState().columnPinning]),B=(0,y.useMemo)(()=>M.getRightHeaderGroups()[0]?.headers||[],[M.getState().columnPinning]),le=(0,y.useMemo)(()=>M.getTotalSize(),[M.getTotalSize()]);return(0,b.jsx)(he.Provider,{value:j,children:(0,b.jsx)(me.Provider,{value:ce,children:(0,b.jsx)(rt,{innerWrapperId:ee,children:(0,b.jsx)(it,{table:M,innerTableId:te,totalSize:le,children:(0,b.jsx)(at,{isAllRowsSelected:I,columnPinningState:R,leftPinnedHeaders:z,rightPinnedHeaders:B,onToggleAllRowsSelected:M.toggleAllRowsSelected,children:(0,b.jsx)(ot,{isFetching:t,isRefetching:n,isEmpty:P,rowSelectionState:L,children:(0,b.jsx)(st,{keyOfClickRow:u,isAllRowsSelected:I,columnPinningState:R,leftPinnedHeaders:z,rightPinnedHeaders:B,onClickRow:d,children:S})})})})})})})};function lt(e){if(e==null)return``;if(typeof e==`number`)return String(e);if(typeof e==`boolean`)return e?`true`:`false`;let t=String(e);return t.includes(`,`)||t.includes(`"`)||t.includes(`
2
- `)||t.includes(`\r`)?`"${t.replace(/"/g,`""`)}"`:t}function ut(e){if(e.length===0)return``;let t=e[0].map(e=>lt(e.label)),n=e.map(e=>e.map(e=>lt(e.value)).join(`,`));return[t.join(`,`),...n].join(`
3
- `)}function dt(e,t){let n=ut(e);if(!n)return;let r=new Blob([n],{type:`text/csv;charset=utf-8;`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${t}.csv`,a.click(),URL.revokeObjectURL(i)}const ft=({onSearch:e,onChange:t,...n})=>{let r=(0,w.useDebounceCallback)(t=>{e?.(t)},500);return(0,b.jsxs)(`div`,{className:`relative w-full max-w-80 flex-1`,children:[(0,b.jsx)(m.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,b.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 inset-s-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:(0,b.jsx)(v.SearchIcon,{size:16})}),(0,b.jsx)(`button`,{className:`absolute inset-y-0 inset-e-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,b.jsx)(v.ArrowRightIcon,{size:16,"aria-hidden":`true`})})]})},pt=({children:e,disabled:t,onClick:n})=>(0,b.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}),mt=({onCreate:e,onDownload:t,onRefresh:n})=>{let{table:r,csvData:i,csvFileName:a,title:o}=V(),s=(0,y.useCallback)(()=>{if(t){t();return}if(!i||i.length===0)return;let e=r.getSelectedRowModel().flatRows;dt(e.length>0?e.map(e=>i[e.index]).filter(Boolean):i,a||o)},[t,i,a,r,o]),c=!!(t||i&&i.length>0);return(0,b.jsxs)(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[(0,b.jsx)(pt,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:(0,b.jsx)(v.CirclePlus,{})}),(0,b.jsx)(pt,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,b.jsx)(v.RefreshCwIcon,{})}),(0,b.jsx)(pt,{disabled:!c,onClick:e=>{s(),e.stopPropagation(),e.preventDefault()},children:(0,b.jsx)(v.DownloadIcon,{})})]})},ht=({children:e})=>{let{title:t}=V();return(0,b.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,b.jsx)(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),(0,b.jsx)(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};ht.displayName=`TableTooltip`,Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return K}});
4
- //# sourceMappingURL=tables-BhX5FzM4.cjs.map
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./button-CwDT3m4m.cjs`),n=require(`./paragraph-DN85Huc4.cjs`),r=require(`./flex-BbbogTsZ.cjs`),i=require(`./date-a3RI5Pwo.cjs`),a=require(`./badge-uQ0pIZbQ.cjs`),o=require(`./tooltip-itUmYz9k.cjs`),s=require(`./avatar-CTS9-raY.cjs`),c=require(`./separator-BwZb12bh.cjs`),l=require(`./dropdown-menu-Ct9BLGfa.cjs`),u=require(`./progress-DE1FdQ1J.cjs`),d=require(`./checkbox-Di7ACavC.cjs`),f=require(`./spinner-rA8pMY6v.cjs`),p=require(`./resizable-DDPMwd28.cjs`),m=require(`./input-BMOYFJYM.cjs`),h=require(`./popover-AEt-aSy3.cjs`),g=require(`./select-DzylYFes.cjs`),_=require(`./label-DYsRdKMt.cjs`);let v=require(`lucide-react`),y=require(`react`),b=require(`react/jsx-runtime`),x=require(`@customafk/react-toolkit/utils`),S=require(`class-variance-authority`),ee=require(`@customafk/react-toolkit/color-hash`),C=require(`@tanstack/react-table`),te=require(`@tanstack/react-virtual`),w=require(`@customafk/react-toolkit/hooks/useDebounceCallback`);const T=()=>(0,b.jsxs)(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[(0,b.jsx)(v.MinusIcon,{size:16}),(0,b.jsx)(v.MinusIcon,{size:16})]}),E=({label:e,onClick:t,onRemove:n})=>e?n?(0,b.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,b.jsx)(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,b.jsx)(v.XIcon,{size:12})})]}):(0,b.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,b.jsx)(T,{}),ne=({value:e})=>e==null?(0,b.jsx)(T,{}):e===!1?(0,b.jsx)(`div`,{className:`text-danger-strong`,children:(0,b.jsx)(v.XIcon,{})}):(0,b.jsx)(`div`,{className:`text-success-strong`,children:(0,b.jsx)(v.CheckIcon,{})}),re=(0,y.memo)(({value:e,currency:t=`USD`,locale:n=`en-US`,display:r=`symbol`,size:i=`md`,colorize:a=!1})=>{let o=(0,y.useMemo)(()=>{let i=typeof e==`string`?Number(e.trim()):e;return i==null||Number.isNaN(i)||!Number.isFinite(i)?null:new Intl.NumberFormat(n,{style:`currency`,currency:t,currencyDisplay:r,minimumFractionDigits:2,maximumFractionDigits:2}).format(i)},[e,t,n,r]),s=(0,y.useMemo)(()=>{let t=typeof e==`string`?Number(e.trim()):e;return typeof t==`number`&&t<0},[e]);return o?(0,b.jsx)(`p`,{className:(0,x.cn)(`font-number tabular-nums`,i===`xs`&&`text-xs`,i===`sm`&&`text-sm`,i===`md`&&`text-base`,i===`lg`&&`text-lg`,i===`xl`&&`text-xl`,!a&&`text-text-positive`,a&&s&&`text-danger-strong`,a&&!s&&`text-success-strong`),children:o}):(0,b.jsx)(T,{})});re.displayName=`UITableCurrencyDisplay`;const ie=({date:e})=>e==null?(0,b.jsx)(T,{}):(0,b.jsx)(o.r,{children:(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{asChild:!0,children:(0,b.jsx)(a.t,{className:`h-fit`,children:(0,b.jsx)(i.t,{date:e,format:`medium`,className:`font-normal text-white`})})}),(0,b.jsx)(o.n,{className:`rounded px-2`,children:(0,b.jsx)(i.t,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),ae=({content:e})=>e==null?(0,b.jsx)(T,{}):(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{children:(0,b.jsx)(n.t,{variant:`sm`,className:`line-clamp-2 whitespace-pre-line break-all`,children:e})}),(0,b.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,b.jsx)(n.t,{variant:`xs`,className:`whitespace-pre-line text-wrap break-keep text-text-negative-weak`,children:e}),(0,b.jsxs)(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),D=({email:e,linkable:t=!0})=>{let[n,r]=(0,y.useState)(!1);return e?(0,b.jsx)(o.r,{children:(0,b.jsxs)(`div`,{className:`group flex items-center gap-x-1.5`,children:[(0,b.jsx)(v.MailIcon,{size:13,className:`shrink-0 text-text-positive-weak`}),t?(0,b.jsx)(`a`,{href:`mailto:${e}`,className:`truncate text-primary text-sm underline-offset-2 hover:underline`,onClick:e=>e.stopPropagation(),children:e}):(0,b.jsx)(`span`,{className:`truncate text-text-positive text-sm`,children:e}),(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{asChild:!0,children:(0,b.jsx)(`button`,{onClick:t=>{t.stopPropagation(),t.preventDefault(),navigator.clipboard.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)})},className:`shrink-0 cursor-pointer text-text-positive-weak opacity-0 transition-opacity group-hover:opacity-100 hover:text-text-positive`,children:n?(0,b.jsx)(v.CheckIcon,{size:13,className:`text-success-strong`}):(0,b.jsx)(v.CopyIcon,{size:13})})}),(0,b.jsx)(o.n,{children:n?`Copied!`:`Copy email`})]})]})}):(0,b.jsx)(T,{})},oe=({items:e,maxVisible:t=3})=>{if(!e||e.length===0)return(0,b.jsx)(T,{});let n=e.slice(0,t),r=e.slice(t);return(0,b.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[n.map((e,t)=>(0,b.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-border bg-muted-weak px-2 py-0.5 text-text-positive text-xs`,children:e},t)),r.length>0&&(0,b.jsx)(o.r,{children:(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{asChild:!0,children:(0,b.jsxs)(`span`,{className:`inline-flex cursor-default items-center rounded-full bg-primary-bg-subtle px-2 py-0.5 text-primary-intense text-xs`,children:[`+`,r.length,` more`]})}),(0,b.jsx)(o.n,{align:`start`,className:`flex max-w-64 flex-wrap gap-1 p-2`,children:r.map((e,t)=>(0,b.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-border px-2 py-0.5 text-text-negative text-xs`,children:e},t))})]})})]})},se=({items:e=[]})=>(0,b.jsxs)(l.t,{children:[(0,b.jsx)(l.h,{asChild:!0,children:(0,b.jsx)(t.t,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:(0,b.jsx)(v.MoreVerticalIcon,{})})}),(0,b.jsx)(l.r,{children:(0,b.jsx)(l.i,{children:e.map(e=>(0,b.jsx)(l.a,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.stopPropagation()},children:e.label},e.id))})})]}),O=({name:e})=>e?(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{children:(0,b.jsx)(n.t,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start`,children:e})}),(0,b.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,b.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,b.jsxs)(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):(0,b.jsx)(T,{}),k=({href:e,label:t})=>(0,b.jsxs)(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[(0,b.jsx)(`span`,{children:t||e}),(0,b.jsx)(v.ExternalLinkIcon,{size:14})]}),A=({value:e})=>(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{asChild:!0,children:(0,b.jsx)(`p`,{className:`font-number text-text-positive text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,b.jsx)(o.n,{align:`start`,children:(0,b.jsx)(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),j=(0,y.memo)(({value:e,showLabel:t=!0,successThreshold:n=70,warningThreshold:r=40})=>{if(e==null)return(0,b.jsx)(T,{});let i=Math.min(100,Math.max(0,e));return(0,b.jsxs)(`div`,{className:`flex w-full min-w-24 items-center gap-x-2`,children:[(0,b.jsx)(u.t,{value:i,className:(0,x.cn)(`flex-1`,i>=n?`[&>[data-slot=progress-indicator]]:bg-success`:i>=r?`[&>[data-slot=progress-indicator]]:bg-warning`:`[&>[data-slot=progress-indicator]]:bg-danger`)}),t&&(0,b.jsxs)(`span`,{className:`w-9 shrink-0 text-right font-number text-text-positive-weak text-xs tabular-nums`,children:[i,`%`]})]})});j.displayName=`UITableProgressDisplay`;const M=({title:e,onClick:n})=>(0,b.jsxs)(o.t,{children:[(0,b.jsx)(o.i,{children:(0,b.jsx)(t.t,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:(0,y.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),await n?.()},[n]),children:(0,b.jsx)(v.Trash2Icon,{})})}),(0,b.jsx)(o.n,{children:(0,b.jsx)(`p`,{children:e||`Remove item from list table`})})]}),N=(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}},P=(0,y.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,y.useMemo)(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=(0,y.useCallback)(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=N(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=(0,y.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,y.useMemo)(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?(0,b.jsx)(T,{}):(0,b.jsxs)(r.t,{padding:`none`,className:(0,x.cn)(`font-number text-lg text-text-positive 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,b.jsx)(`p`,{children:p}),i]})});P.displayName=`UITableStatisticDisplay`;const ce=({value:e,colorMap:t,defaultColor:n=`muted`,variant:r=`soft`})=>e==null||e===``?(0,b.jsx)(T,{}):(0,b.jsx)(a.t,{variant:r,color:(t&&t[e])??n,className:`min-w-16 justify-center capitalize`,children:e.charAt(0).toUpperCase()+e.slice(1).replace(/_/g,` `)}),F=({uuid:e,username:t,email:i})=>(0,b.jsxs)(r.t,{wrap:!1,gap:`sm`,padding:`none`,children:[!e&&(0,b.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,b.jsx)(s.n,{className:`bg-muted-weak`,children:(0,b.jsx)(v.UserRoundIcon,{size:28,className:`text-text-negative`})})}),e&&(0,b.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,b.jsx)(s.n,{style:{backgroundColor:ee.colorHashLight.hex(e)},children:(0,b.jsx)(v.UserRoundIcon,{size:28,className:`text-white`})})}),(0,b.jsxs)(r.t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[(0,b.jsx)(n.t,{className:`font-medium text-sm text-text-positive-weak`,children:t??`Unknown User`}),(0,b.jsx)(n.t,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),I=(0,y.createContext)(null),L=()=>{let e=(0,y.use)(I);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},R=(0,y.createContext)(null),z=()=>{let e=(0,y.use)(R);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},B=(0,y.createContext)(null),le=()=>{let e=(0,y.use)(B);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},ue=(0,y.createContext)(null),de=()=>{let e=(0,y.use)(ue);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},fe=(0,y.createContext)(null),pe=()=>{let e=(0,y.use)(fe);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},me=(0,y.createContext)(null),V=()=>{let e=(0,y.use)(me);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},he=(0,y.createContext)(null),ge=()=>{let e=(0,y.use)(he);if(!e)throw Error(`useUITableFilterContext must be used within a UITableProvider`);return e},_e=(0,S.cva)([`absolute right-2 z-10 p-0.5 opacity-0 bg-card`,`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`]),ve=(0,S.cva)([`sticky left-0 flex flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`]),ye=(0,S.cva)([`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`]),be=(0,S.cva)([`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`]),xe=(0,S.cva)([`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`]),Se=(0,S.cva)([`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]:border-r`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`]),Ce=(0,S.cva)([`flex`]),we=(0,S.cva)([`group flex`],{variants:{isPinned:{left:`sticky`,right:`sticky`,false:`relative`},isActions:{true:`border-r-0!`,false:``},isLastCell:{true:``,false:``},isFirstCell:{true:``,false:``},position:{start:`justify-start`,center:`justify-center`,end:`justify-end`}},compoundVariants:[{isPinned:`left`,isLastCell:void 0,className:`border-r border-r-border`},{isPinned:`right`,isFirstCell:void 0,className:`border-l border-l-border`}]}),Te=(0,S.cva)(`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`.split(`,`)),Ee=(0,S.cva)([`group [&_td]:border-r [&_td]:border-r-border [&_td]:last:border-r-0`]),H=(0,S.cva)([`group-hover:bg-muted-bg-subtle!`],{variants:{isPinned:{left:`sticky`,right:`sticky`,false:`relative`}},defaultVariants:{isPinned:void 0}}),De=(0,S.cva)([`sticky border-r-0! inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`]),Oe=(0,S.cva)([`group-hover:bg-muted-bg-subtle!`],{variants:{isPinned:{left:``,right:``,false:``},isLastCell:{true:``,false:``},isFirstCell:{true:``,false:``}},compoundVariants:[{isPinned:`left`,isLastCell:void 0,className:`border-r border-r-border`},{isPinned:`right`,isFirstCell:void 0,className:`border-l border-l-border`}]}),ke=(0,S.cva)([`overflow-x-hidden`],{variants:{position:{start:`justify-start`,center:`justify-center`,end:`justify-end`}},defaultVariants:{position:`start`}}),Ae=(0,S.cva)([`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`]),je=(0,S.cva)([`flex cursor-pointer gap-x-0.5`],{variants:{state:{idle:`text-text-positive-weak hover:text-text-positive`,fetching:`cursor-not-allowed`,error:`text-danger hover:text-danger-strong`}},defaultVariants:{state:`idle`}}),U=(0,y.memo)(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isRefetching:a,isEmpty:o}=de();return o||i||a?null:(0,b.jsx)(`tbody`,{slot:`table-body`,style:{height:e},className:(0,x.cn)(Te(),t),...r,children:n})});U.displayName=`UITableBody`;const W=(0,y.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}=z(),u=(0,y.useRef)(null),d=(0,y.useRef)(null),f=(0,y.useMemo)(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=(0,y.useMemo)(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),m=(0,y.useMemo)(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),h=(0,y.useMemo)(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),g=(0,y.useMemo)(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),_=(0,y.useMemo)(()=>(0,C.flexRender)(a?.columnDef.cell,o()),[a,o]);return(0,y.useEffect)(()=>{u.current=document.querySelector(`table[id="${c}"]`)},[c]),(0,y.useEffect)(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t!=null&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),(0,b.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:m,minWidth:h,maxWidth:g},className:Oe({isPinned:e||void 0,isLastCell:n,isFirstCell:t}),...s,children:(0,b.jsx)(`div`,{ref:d,slot:`table-body-cell-inner`,className:ke({position:i}),children:_})})});W.displayName=`UITableCell`;const G=(0,y.memo)(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=(0,y.useMemo)(()=>(0,C.flexRender)(t?.columnDef.cell,n()),[t,n]);return(0,b.jsx)(`td`,{"data-col":`actions`,"data-cell":e,className:De(),...i,children:a})});G.displayName=`UITableCellActions`;const Me=60,Ne=60,Pe=20,Fe=20,K=(0,y.memo)(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=(0,y.useCallback)(e=>{r?.(!!e)},[r]);return(0,b.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,x.cn)(H({isPinned:e}),n),...i,children:(0,b.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,b.jsx)(d.t,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});K.displayName=`UITableCellSelect`;const Ie=(0,y.memo)(()=>{let{table:e,isFetching:t,isRefetching:n,loadingDisplayRow:r=3}=V();return!t&&!n?null:(0,b.jsx)(`tbody`,{className:(0,x.cn)(Te(),`pointer-events-none`),children:Array.from({length:r}).map((t,n)=>(0,b.jsx)(`tr`,{"data-slot":`table-row`,"data-index":n,className:(0,x.cn)(Ee(),`animate-pulse relative!`),children:e.getAllColumns().map((t,r)=>{let i=t.getIsPinned(),a=t.getStart(`left`),o=t.getAfter(`right`);return t.id===`actions`?(0,b.jsx)(`td`,{"data-slot":`table-body-cell`,"data-col":t.id,"data-cell":r,style:{width:60},className:De(),children:(0,b.jsx)(`div`,{className:`w-full h-4 bg-muted-muted rounded-full`})},`${t.id}-${r}`):t.id===`select`?(0,b.jsx)(`td`,{"data-slot":`table-body-cell`,"data-col":t.id,"data-cell":r,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:H({isPinned:`left`}),children:(0,b.jsx)(`div`,{className:`w-full flex justify-center`,children:(0,b.jsx)(`div`,{className:`size-4 bg-muted-muted rounded-full`})})},`${t.id}-${n}`):(0,b.jsx)(`td`,{"data-col":t.id,"data-cell":r,"data-selected":void 0,"data-lastcell":t.id===e.getAllColumns()[e.getAllColumns().length-1].id||void 0,"data-firstcell":t.id===e.getAllColumns()[0].id||void 0,style:{zIndex:i?20:0,left:i===`left`&&typeof a==`number`?`${a}px`:void 0,right:i===`right`&&typeof o==`number`?`${o}px`:void 0,width:`calc(var(--col-${t.id}-size) * 1px)`,minWidth:t.columnDef.minSize?`calc(var(--col-${t.id}-minSize) * 1px)`:void 0,maxWidth:t.columnDef.maxSize?`calc(var(--col-${t.id}-maxSize) * 1px)`:void 0},className:Oe({isPinned:t.getIsPinned(),isFirstCell:t.id===e.getRightHeaderGroups()[0]?.headers[0]?.id,isLastCell:t.id===e.getLeftHeaderGroups()[0]?.headers[e.getLeftHeaderGroups()[0].headers.length-1]?.id}),children:(0,b.jsx)(`div`,{className:ke({position:t.columnDef.meta?.position??`start`}),children:(0,b.jsx)(`div`,{className:`w-full h-4 bg-muted-muted rounded-full`})})},`${t.id}-${r}`)})},n))})}),q=(0,y.memo)(()=>{let{isEmpty:e,emptyDisplayHeight:t}=V();return e?(0,b.jsx)(b.Fragment,{children:e&&(0,b.jsx)(`div`,{className:ve(),style:{minHeight:t??`24rem`},children:(0,b.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,b.jsx)(v.BoxIcon,{strokeWidth:1,size:48}),(0,b.jsx)(`p`,{children:`No data available`})]})})}):null});q.displayName=`UITableEmptyDisplay`;const Le=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`tfoot`,{slot:`table-footer`,className:(0,x.cn)(Ae(),e),...n,children:t}));Le.displayName=`UITableFooter`;const J=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`thead`,{slot:`table-head`,className:(0,x.cn)(Se(),e),...n,children:t}));J.displayName=`UITableHead`;const Y=(0,y.memo)(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=(0,y.useCallback)(()=>{t?.(`left`)},[t]),o=(0,y.useCallback)(()=>{n?.(`right`)},[n]),s=(0,y.useCallback)(()=>{r?.(!1)},[r]);return(0,b.jsxs)(l.t,{children:[(0,b.jsx)(l.h,{asChild:!0,children:(0,b.jsx)(`button`,{type:`button`,className:(0,x.cn)(_e(),i),children:(0,b.jsx)(v.EllipsisVerticalIcon,{})})}),(0,b.jsx)(l.r,{align:`end`,className:`w-64 p-4`,children:(0,b.jsxs)(l.i,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[(0,b.jsx)(y.Activity,{mode:e?`visible`:`hidden`,children:(0,b.jsxs)(l.a,{onClick:s,children:[!!e&&`Unpin`,(0,b.jsx)(l.d,{children:(0,b.jsx)(v.PinOffIcon,{className:`size-4`})})]})}),(0,b.jsxs)(y.Activity,{mode:e?`hidden`:`visible`,children:[(0,b.jsxs)(l.a,{onClick:a,children:[e?`Unpin`:`Pin to Left`,(0,b.jsx)(l.d,{children:(0,b.jsx)(v.MoveLeftIcon,{className:`size-4`})})]}),(0,b.jsxs)(l.a,{onClick:o,children:[e?`Unpin`:`Pin to Right`,(0,b.jsx)(l.d,{children:(0,b.jsx)(v.MoveRightIcon,{className:`size-4`})})]})]})]})})]})});Y.displayName=`UITableHeadCellOption`;const X=(0,y.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=o?.columnDef.meta?.position,p=(0,y.useMemo)(()=>t?20:void 0,[t]),m=(0,y.useMemo)(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),h=(0,y.useMemo)(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),g=(0,y.useMemo)(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),_=(0,y.useMemo)(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),v=(0,y.useMemo)(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return(0,b.jsxs)(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:p,left:m,right:h,width:g,minWidth:_,maxWidth:v},className:(0,x.cn)(we({isPinned:t||`false`,isActions:a===`actions`,isLastCell:r,isFirstCell:n,position:f}),s),...d,children:[(0,b.jsx)(`div`,{className:`truncate px-4`,children:c}),i&&(0,b.jsx)(Y,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});X.displayName=`UITableHeadCell`;const Z=(0,y.memo)(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=(0,y.useCallback)(e=>{r?.(!!e)},[r]);return(0,b.jsx)(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:H({isPinned:e}),...i,children:(0,b.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,b.jsx)(d.t,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});Z.displayName=`UITableHeadCellSelect`;const Q=(0,y.memo)(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=le(),c=o[0]?.id,l=a[a.length-1]?.id;return(0,b.jsx)(`tr`,{slot:`table-head-row`,className:(0,x.cn)(Ce(),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,b.jsx)(Z,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):(0,b.jsx)(X,{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,C.flexRender)(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});Q.displayName=`UITableHeadRow`;const $=(0,y.memo)(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=z(),a=(0,y.useRef)(null);return(0,y.useEffect)(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t,r=new ResizeObserver(r=>{t!==void 0&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{let t=r[0];if(!t)return;let i=t.target;if(!(i instanceof HTMLTableElement))return;let a=t.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;i.style.setProperty(`--header-${e.id}-size`,`${t}`),i.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&i.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else i.style.setProperty(`--header-${e.id}-size`,`${e.width}`),i.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})})});return r.observe(a.current),()=>{t!==void 0&&cancelAnimationFrame(t),r.disconnect()}},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),(0,b.jsx)(`table`,{id:r,ref:a,slot:`table-inner-table`,className:xe(),style:{minWidth:i},...t,children:e})});$.displayName=`UITableInnerTable`;const Re=(0,y.memo)(({children:e,...t})=>{let{innerWrapperId:n}=L();return(0,b.jsx)(`div`,{id:n,slot:`table-inner-wrapper`,className:be(),...t,children:e})});Re.displayName=`UITableInnerWrapper`;const ze=(0,y.memo)(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=L(),i=(0,y.useRef)(null),a=(0,y.useRef)(null),[o,s]=(0,y.useState)(`idle`),[c,l]=(0,y.useState)(0),u=(0,y.useCallback)(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return(0,y.useEffect)(()=>{if(i.current=document.querySelector(`div[id="${r}"]`),!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[r]),n?(0,b.jsx)(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:(0,b.jsx)(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:(0,b.jsxs)(`button`,{type:`button`,disabled:o===`fetching`,className:je({state:o}),onClick:u,children:[o===`idle`&&(0,b.jsx)(v.ChevronDown,{className:`size-4`}),o===`fetching`&&(0,b.jsx)(f.t,{className:`size-4 animate-spin`}),o===`error`&&(0,b.jsx)(v.AlertTriangle,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})}):null});ze.displayName=`UITableLoadMore`;const Be=(0,y.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}=pe(),f=(0,y.useMemo)(()=>c.left??[],[c]),p=(0,y.useMemo)(()=>c.right??[],[c]),m=(0,y.useMemo)(()=>u?.[0]?.id,[u]),h=(0,y.useMemo)(()=>l?.[l.length-1]?.id,[l]),g=(0,y.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,b.jsx)(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:Ee(),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`?(0,b.jsx)(G,{"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,b.jsx)(K,{"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,b.jsx)(W,{"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}`)})})});Be.displayName=`UITableRow`;const Ve=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`div`,{slot:`table-wrapper`,className:(0,x.cn)(ye(),e),...n,children:t}));Ve.displayName=`UITableWrapper`;const He=({children:e})=>{let{table:t,fetchMoreData:n}=V(),{rowSelectionState:r}=de(),i=(0,y.useRef)(null),{rows:a}=t.getRowModel(),o=(0,te.useVirtualizer)({count:a.length+(n?1:0),estimateSize:()=>40,getScrollElement:()=>i.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),s=(0,y.useMemo)(()=>{let e=o.getTotalSize(),t=i.current?.clientHeight??0;return`${Math.max(e,t)}px`},[o.getTotalSize()]);return(0,b.jsxs)(p.r,{direction:`horizontal`,style:{direction:t.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,b.jsx)(p.n,{className:`relative`,children:(0,b.jsxs)(Re,{ref:i,children:[(0,b.jsxs)($,{children:[(0,b.jsx)(J,{children:t.getHeaderGroups().map(e=>(0,b.jsx)(Q,{headerGroup:e},e.id))}),(0,b.jsx)(U,{height:s,children:o.getVirtualItems().map(e=>{let t=a[e.index];if(!t&&n)return(0,b.jsx)(ze,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:n},e.key);let i=r[t.id]===!0;return(0,b.jsx)(Be,{ref:o.measureElement,row:t,isSelected:i,virtualRowIndex:e.index,virtualRowStart:e.start},e.key)})}),(0,b.jsx)(Ie,{})]}),(0,b.jsx)(q,{})]})}),e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(p.t,{}),e]})]})},Ue={tag:(0,b.jsx)(v.TagIcon,{size:14}),"single-tag":(0,b.jsx)(v.TagIcon,{size:14}),"date-range":(0,b.jsx)(v.CalendarIcon,{size:14}),number:(0,b.jsx)(v.HashIcon,{size:14}),text:(0,b.jsx)(v.TypeIcon,{size:14}),boolean:(0,b.jsx)(v.ToggleLeftIcon,{size:14})},We=[{value:`eq`,label:`Equals (=)`},{value:`ne`,label:`not equals (≠)`},{value:`gt`,label:`greater than (>)`},{value:`gte`,label:`At least (≥)`},{value:`lt`,label:`less than (<)`},{value:`lte`,label:`at most (≤)`},{value:`between`,label:`Between`}],Ge=[{value:`contains`,label:`Contains`},{value:`equals`,label:`Equals`},{value:`starts-with`,label:`Starts with`},{value:`ends-with`,label:`Ends with`}];function Ke(e,t){switch(e.type){case`single-tag`:return e.value?t.options?.find(t=>t.value===e.value)?.label??e.value:`Unset`;case`tag`:return e.values.length?e.values.map(e=>t.options?.find(t=>t.value===e)?.label??e).join(`, `):`Unset`;case`date-range`:return!e.from&&!e.to?`Unknow date`:e.from&&e.to?`${e.from} → ${e.to}`:e.from?`from ${e.from}`:`until ${e.to}`;case`number`:{let t={eq:`=`,ne:`≠`,gt:`>`,gte:`≥`,lt:`<`,lte:`≤`,between:`between`}[e.operator];return e.value===void 0?t:e.operator===`between`?`${t} ${e.value} – ${e.valueTo??`?`}`:`${t} ${e.value}`}case`text`:{let t={contains:`contains`,equals:`is`,"starts-with":`starts with`,"ends-with":`ends with`}[e.operator];return e.value?`${t} "${e.value}"`:t}case`boolean`:return e.value===null?`Unknow`:e.value?`Yes`:`No`}}const qe=({value:e,definition:t,onChange:n})=>(0,b.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:(t.options??[]).length===0?(0,b.jsx)(`p`,{className:`text-xs text-text-positive-muted`,children:`No options defined`}):t.options.map(t=>(0,b.jsxs)(_.t,{className:(0,x.cn)(`flex items-center gap-2 bg-secondary-bg-subtle hover:bg-secondary-muted px-4 py-2 rounded transition-colors`,e.values.includes(t.value)&&`bg-primary-muted hover:bg-primary-subtle`),children:[(0,b.jsx)(d.t,{checked:e.values.includes(t.value),onCheckedChange:r=>{n({type:`tag`,values:r?[...e.values,t.value]:e.values.filter(e=>e!==t.value)})}}),(0,b.jsx)(`span`,{className:`text-sm`,children:t.label})]},t.value))}),Je=({value:e,definition:t,onChange:n})=>(0,b.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:(t.options??[]).length===0?(0,b.jsx)(`p`,{className:`text-xs text-text-positive-muted`,children:`No options defined`}):t.options.map(t=>(0,b.jsxs)(_.t,{className:(0,x.cn)(`flex items-center gap-2 bg-secondary-bg-subtle hover:bg-secondary-muted px-4 py-2 rounded transition-colors`,e.value===t.value&&`bg-primary-muted hover:bg-primary-subtle`),children:[(0,b.jsx)(d.t,{checked:e.value===t.value,onCheckedChange:e=>{n({type:`single-tag`,value:e?t.value:null})}}),(0,b.jsx)(`span`,{className:`text-sm`,children:t.label})]},t.value))}),Ye=({value:e,onChange:t})=>(0,b.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,children:[(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`span`,{className:`text-xs text-text-positive-muted`,children:`From`}),(0,b.jsx)(m.t,{type:`date`,size:`md`,value:e.from??``,onValueChange:n=>t({...e,from:n||void 0})})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`span`,{className:`text-xs text-text-positive-muted`,children:`To`}),(0,b.jsx)(m.t,{type:`date`,size:`md`,value:e.to??``,onValueChange:n=>t({...e,to:n||void 0})})]})]}),Xe=({value:e,onChange:t})=>(0,b.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,children:[(0,b.jsxs)(g.t,{value:e.operator,onValueChange:n=>t({...e,operator:n}),children:[(0,b.jsx)(g.s,{size:`sm`,children:(0,b.jsx)(g.c,{})}),(0,b.jsx)(g.n,{children:We.map(e=>(0,b.jsx)(g.i,{value:e.value,children:e.label},e.value))})]}),(0,b.jsx)(m.t,{type:`number`,size:`md`,placeholder:`Value`,value:e.value??``,onValueChange:n=>t({...e,value:n?Number(n):void 0})}),e.operator===`between`&&(0,b.jsx)(m.t,{type:`number`,size:`md`,placeholder:`To value`,value:e.valueTo??``,onValueChange:n=>t({...e,valueTo:n?Number(n):void 0})})]}),Ze=({value:e,onChange:t})=>(0,b.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,children:[(0,b.jsxs)(g.t,{value:e.operator,onValueChange:n=>t({...e,operator:n}),children:[(0,b.jsx)(g.s,{size:`sm`,children:(0,b.jsx)(g.c,{})}),(0,b.jsx)(g.n,{children:Ge.map(e=>(0,b.jsx)(g.i,{value:e.value,children:e.label},e.value))})]}),(0,b.jsx)(m.t,{type:`text`,size:`md`,placeholder:`Enter text...`,value:e.value,onValueChange:n=>t({...e,value:n})})]}),Qe=[{label:`Yes`,value:!0},{label:`No`,value:!1},{label:`Unknow`,value:null}],$e=({value:e,onChange:n})=>(0,b.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:Qe.map(({label:r,value:i})=>(0,b.jsx)(t.t,{type:`button`,tabIndex:-1,variant:`outline`,className:(0,x.cn)(`rounded px-3 py-1.5 text-left text-sm transition-colors`,e.value===i?`bg-primary-muted font-medium`:`hover:bg-muted-bg-subtle`),onClick:()=>n({type:`boolean`,value:i}),children:r},r))});function et({value:e,definition:t,onChange:n}){switch(e.type){case`tag`:return(0,b.jsx)(qe,{value:e,definition:t,onChange:n});case`single-tag`:return(0,b.jsx)(Je,{value:e,definition:t,onChange:n});case`date-range`:return(0,b.jsx)(Ye,{value:e,onChange:n});case`number`:return(0,b.jsx)(Xe,{value:e,onChange:n});case`text`:return(0,b.jsx)(Ze,{value:e,onChange:n});case`boolean`:return(0,b.jsx)($e,{value:e,onChange:n})}}const tt=({filter:e,definition:n,onRemove:r,onUpdate:i})=>(0,b.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,b.jsxs)(h.t,{children:[(0,b.jsx)(h.a,{asChild:!0,children:(0,b.jsxs)(t.t,{type:`button`,variant:`outline`,color:`muted`,className:`flex-1 bg-white max-w-[calc(100%-32px)] justify-start`,innerClassName:`flex truncate gap-1.5`,children:[(0,b.jsx)(`span`,{className:`shrink-0 text-text-positive font-medium`,children:n.label}),(0,b.jsx)(`span`,{className:`truncate text-xs text-text-positive-weak`,children:Ke(e.value,n)})]})}),(0,b.jsxs)(h.i,{className:`w-64 p-0`,align:`start`,side:`bottom`,children:[(0,b.jsx)(`div`,{className:`border-b border-border px-3 py-2`,children:(0,b.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,b.jsx)(`span`,{className:`text-text-positive-muted`,children:Ue[n.type]}),(0,b.jsx)(`p`,{className:`font-medium`,children:n.label})]})}),(0,b.jsx)(et,{value:e.value,definition:n,onChange:i})]})]}),(0,b.jsx)(t.t,{type:`button`,size:`icon`,variant:`soft`,color:`danger`,className:`shrink`,onClick:r,children:(0,b.jsx)(v.Trash2Icon,{size:13})})]}),nt=()=>{let{filterDefinitions:e,activeFilters:n,addFilter:r,removeFilter:i,updateFilter:a}=ge(),[o,s]=(0,y.useState)(null),u=e.filter(e=>!n.some(t=>t.definitionId===e.id));return(0,b.jsx)(p.n,{defaultSize:25,className:(0,x.cn)(`bg-card`,o===null?`max-w-8!`:`min-w-64`),children:(0,b.jsxs)(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[(0,b.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,b.jsx)(y.Activity,{mode:o===`filters`?`visible`:`hidden`,children:(0,b.jsxs)(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,b.jsx)(`p`,{className:`font-medium`,children:`Filters`}),(0,b.jsxs)(l.t,{children:[(0,b.jsx)(l.h,{asChild:!0,children:(0,b.jsxs)(t.t,{variant:`outline`,color:`muted`,disabled:u.length===0,children:[(0,b.jsx)(v.ListFilterPlus,{size:13}),`Add Filter`]})}),(0,b.jsx)(l.r,{align:`end`,children:u.map(e=>(0,b.jsxs)(l.a,{className:`flex items-center gap-2`,onClick:()=>r(e.id),children:[Ue[e.type],e.label]},e.id))})]})]}),(0,b.jsx)(c.t,{}),n.length===0?(0,b.jsx)(`p`,{className:`py-6 text-center text-xs text-text-positive-muted`,children:`No active filters`}):(0,b.jsx)(`div`,{className:`flex flex-col gap-2 pt-1`,children:n.map(t=>{let n=e.find(e=>e.id===t.definitionId);return n?(0,b.jsx)(tt,{filter:t,definition:n,onRemove:()=>i(t.id),onUpdate:e=>a(t.id,e)},t.id):null})})]})})}),(0,b.jsxs)(`div`,{className:`flex h-full flex-col border-l border-border bg-muted-bg-subtle text-sm`,children:[(0,b.jsxs)(`button`,{type:`button`,className:(0,x.cn)(`relative flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,o===`filters`&&`bg-card`),onClick:()=>s(o===`filters`?null:`filters`),children:[(0,b.jsx)(v.ListFilterIcon,{size:18}),n.length>0&&(0,b.jsx)(`span`,{className:`absolute top-2 right-1.5 flex h-4 w-4 items-center justify-center rounded-full bg-primary text-[10px] leading-none text-primary-foreground`,children:n.length}),(0,b.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),(0,b.jsx)(c.t,{})]})]})})};function rt(e){switch(e){case`tag`:return{type:`tag`,values:[]};case`single-tag`:return{type:`single-tag`,value:null};case`date-range`:return{type:`date-range`};case`number`:return{type:`number`,operator:`eq`};case`text`:return{type:`text`,operator:`contains`,value:``};case`boolean`:return{type:`boolean`,value:null}}}const it=(0,y.memo)(({innerWrapperId:e,children:t})=>{let n=(0,y.useMemo)(()=>({innerWrapperId:e}),[e]);return(0,b.jsx)(I.Provider,{value:n,children:t})});it.displayName=`UITableInnerWrapperProvider`;const at=(0,y.memo)(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=(0,y.useMemo)(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return(0,b.jsx)(R.Provider,{value:i,children:r})});at.displayName=`UITableInnerTableProvider`;const ot=(0,y.memo)(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=(0,y.useMemo)(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return(0,b.jsx)(B.Provider,{value:o,children:a})});ot.displayName=`UITableHeadRowProvider`;const st=(0,y.memo)(({isFetching:e,isRefetching:t,isEmpty:n,rowSelectionState:r,children:i})=>{let a=(0,y.useMemo)(()=>({isFetching:e,isRefetching:t,isEmpty:n,rowSelectionState:r}),[e,n,r]);return(0,b.jsx)(ue.Provider,{value:a,children:i})});st.displayName=`UITableBodyProvider`;const ct=(0,y.memo)(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=(0,y.useMemo)(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return(0,b.jsx)(fe.Provider,{value:s,children:o})});ct.displayName=`UITableRowProvider`;const lt=({title:e,isFetching:t=!1,isRefetching:n=!1,isLoading:r=!1,loadingDisplayRow:i=3,data:a,columns:o,totalRows:s,leftPinnedColumns:c=[],rightPinnedColumns:l=[],keyOfClickRow:u,onClickRow:d,onRowSelection:f,onColumnPinning:p,fetchMoreData:m,emptyDisplayHeight:h,csvData:g,csvFileName:_,filterDefinitions:v=[],onFilterChange:x,children:S})=>{let ee=(0,y.useId)(),te=(0,y.useId)(),[w,T]=(0,y.useState)({}),[E,ne]=(0,y.useState)({right:l,left:[`select`,...c]}),[re,ie]=(0,y.useState)({}),[ae,D]=(0,y.useState)([]),oe=(0,y.useCallback)(e=>(T(e),f?.(e instanceof Function?e(w):e),e),[w,f]),se=(0,y.useCallback)(e=>{ne(e),p?.(e instanceof Function?e(E):e)},[E,p]),O=(0,y.useCallback)(e=>{let t=v.find(t=>t.id===e);if(!t)return;let n={id:`${e}-${crypto.randomUUID()}`,definitionId:e,value:rt(t.type)};D(e=>{let t=[...e,n];return x?.(t),t})},[v,x]),k=(0,y.useCallback)(e=>{D(t=>{let n=t.filter(t=>t.id!==e);return x?.(n),n})},[x]),A=(0,y.useCallback)((e,t)=>{D(n=>{let r=n.map(n=>n.id===e?{...n,value:t}:n);return x?.(r),r})},[x]),j=(0,y.useMemo)(()=>({filterDefinitions:v,activeFilters:ae,addFilter:O,removeFilter:k,updateFilter:A}),[v,ae,O,k,A]),M=(0,C.useReactTable)({data:a,columns:o,state:{rowSelection:w,columnPinning:E,expanded:re},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,C.getCoreRowModel)(),getGroupedRowModel:(0,C.getGroupedRowModel)(),getExpandedRowModel:(0,C.getExpandedRowModel)(),onRowSelectionChange:oe,onColumnPinningChange:se,onExpandedChange:ie}),N=(0,y.useMemo)(()=>{let{rows:e}=M.getRowModel();return e},[M.getRowModel().rows,M.getState().columnPinning]),P=(0,y.useMemo)(()=>!t&&!n&&N.length===0,[N,t,n]),ce=(0,y.useMemo)(()=>({title:e,table:M,isEmpty:P,isFetching:t,isRefetching:n,isLoading:r,loadingDisplayRow:i,totalRows:s,fetchMoreData:m,emptyDisplayHeight:h,csvData:g,csvFileName:_}),[e,M,P,n,t,r,i,s,m,h,M.getState().columnPinning,M.getState().expanded,g,_]),F=(0,y.useMemo)(()=>M.getState(),[M.getState()]),I=(0,y.useMemo)(()=>M.getIsAllRowsSelected(),[M.getIsAllRowsSelected()]),L=(0,y.useMemo)(()=>F.rowSelection,[F.rowSelection]),R=(0,y.useMemo)(()=>F.columnPinning,[F.columnPinning]),z=(0,y.useMemo)(()=>M.getLeftHeaderGroups()[0]?.headers||[],[M.getState().columnPinning]),B=(0,y.useMemo)(()=>M.getRightHeaderGroups()[0]?.headers||[],[M.getState().columnPinning]),le=(0,y.useMemo)(()=>M.getTotalSize(),[M.getTotalSize()]);return(0,b.jsx)(he.Provider,{value:j,children:(0,b.jsx)(me.Provider,{value:ce,children:(0,b.jsx)(it,{innerWrapperId:ee,children:(0,b.jsx)(at,{table:M,innerTableId:te,totalSize:le,children:(0,b.jsx)(ot,{isAllRowsSelected:I,columnPinningState:R,leftPinnedHeaders:z,rightPinnedHeaders:B,onToggleAllRowsSelected:M.toggleAllRowsSelected,children:(0,b.jsx)(st,{isFetching:t,isRefetching:n,isEmpty:P,rowSelectionState:L,children:(0,b.jsx)(ct,{keyOfClickRow:u,isAllRowsSelected:I,columnPinningState:R,leftPinnedHeaders:z,rightPinnedHeaders:B,onClickRow:d,children:S})})})})})})})};function ut(e){if(e==null)return``;if(typeof e==`number`)return String(e);if(typeof e==`boolean`)return e?`true`:`false`;let t=String(e);return t.includes(`,`)||t.includes(`"`)||t.includes(`
2
+ `)||t.includes(`\r`)?`"${t.replace(/"/g,`""`)}"`:t}function dt(e){if(e.length===0)return``;let t=e[0].map(e=>ut(e.label)),n=e.map(e=>e.map(e=>ut(e.value)).join(`,`));return[t.join(`,`),...n].join(`
3
+ `)}function ft(e,t){let n=dt(e);if(!n)return;let r=new Blob([n],{type:`text/csv;charset=utf-8;`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${t}.csv`,a.click(),URL.revokeObjectURL(i)}const pt=({onSearch:e,onChange:t,...n})=>{let r=(0,w.useDebounceCallback)(t=>{e?.(t)},500);return(0,b.jsxs)(`div`,{className:`relative w-full max-w-80 flex-1`,children:[(0,b.jsx)(m.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,b.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 inset-s-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:(0,b.jsx)(v.SearchIcon,{size:16})}),(0,b.jsx)(`button`,{className:`absolute inset-y-0 inset-e-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,b.jsx)(v.ArrowRightIcon,{size:16,"aria-hidden":`true`})})]})},mt=({children:e,disabled:t,onClick:n})=>(0,b.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}),ht=({onCreate:e,onDownload:t,onRefresh:n})=>{let{table:r,csvData:i,csvFileName:a,title:o}=V(),s=(0,y.useCallback)(()=>{if(t){t();return}if(!i||i.length===0)return;let e=r.getSelectedRowModel().flatRows;ft(e.length>0?e.map(e=>i[e.index]).filter(Boolean):i,a||o)},[t,i,a,r,o]),c=!!(t||i&&i.length>0);return(0,b.jsxs)(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[(0,b.jsx)(mt,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:(0,b.jsx)(v.CirclePlus,{})}),(0,b.jsx)(mt,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,b.jsx)(v.RefreshCwIcon,{})}),(0,b.jsx)(mt,{disabled:!c,onClick:e=>{s(),e.stopPropagation(),e.preventDefault()},children:(0,b.jsx)(v.DownloadIcon,{})})]})},gt=({children:e})=>{let{title:t}=V();return(0,b.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,b.jsx)(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),(0,b.jsx)(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};gt.displayName=`TableTooltip`,Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return K}});
4
+ //# sourceMappingURL=tables--hUSBZFP.cjs.map