@customafk/lunas-ui 0.2.10 → 0.2.12

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 (234) hide show
  1. package/dist/{alert-LqhAi5XB.d.cts → alert-Bi9GgWBf.d.cts} +5 -5
  2. package/dist/{alert-Dt_GDCm5.d.mts → alert-DBdAWJoD.d.mts} +7 -7
  3. package/dist/{alert-DQHE-pdI.mjs → alert-DjfDTXIK.mjs} +1 -1
  4. package/dist/{alert-DQHE-pdI.mjs.map → alert-DjfDTXIK.mjs.map} +1 -1
  5. package/dist/{alert-BqJVf4wD.cjs → alert-kJbUcjIR.cjs} +1 -1
  6. package/dist/{alert-BqJVf4wD.cjs.map → alert-kJbUcjIR.cjs.map} +1 -1
  7. package/dist/{badge-DaaGIpeV.d.mts → badge-BrBsWjjy.d.mts} +3 -3
  8. package/dist/{badge-Gsrn62XW.d.cts → badge-OocBN04L.d.cts} +3 -3
  9. package/dist/{button-gKqh2psz.d.cts → button-Bg7LOzPN.d.cts} +4 -4
  10. package/dist/{button-CjlinfYI.d.mts → button-CM0enIRc.d.mts} +4 -4
  11. package/dist/{calendar-B2V4Lv0T.cjs → calendar-BMXIBCsr.cjs} +1 -1
  12. package/dist/{calendar-B2V4Lv0T.cjs.map → calendar-BMXIBCsr.cjs.map} +1 -1
  13. package/dist/{calendar-Cw1G0sVL.mjs → calendar-WMJIKojX.mjs} +1 -1
  14. package/dist/{calendar-Cw1G0sVL.mjs.map → calendar-WMJIKojX.mjs.map} +1 -1
  15. package/dist/cards/simple-card.d.cts +2 -2
  16. package/dist/cards/simple-card.d.mts +2 -2
  17. package/dist/{cms-layout-r9TmK6hi.cjs → cms-layout-BLJpfFpE.cjs} +1 -1
  18. package/dist/{cms-layout-r9TmK6hi.cjs.map → cms-layout-BLJpfFpE.cjs.map} +1 -1
  19. package/dist/{cms-layout-Bp6rU_of.mjs → cms-layout-BYzUepEk.mjs} +1 -1
  20. package/dist/{cms-layout-Bp6rU_of.mjs.map → cms-layout-BYzUepEk.mjs.map} +1 -1
  21. package/dist/data-display/statistic.d.mts +4 -4
  22. package/dist/{dialog-DrJyRArf.d.mts → dialog-BXi5bgG0.d.cts} +12 -12
  23. package/dist/{dialog-Coe4g5Lp.d.cts → dialog-DLOes4WS.d.mts} +12 -12
  24. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +26 -26
  25. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +26 -26
  26. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  27. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  28. package/dist/dialogs/detail-dialog/index.mjs +1 -1
  29. package/dist/dialogs/detail-dialog/index.mjs.map +1 -1
  30. package/dist/features/descriptions/index.cjs +1 -1
  31. package/dist/features/descriptions/index.cjs.map +1 -1
  32. package/dist/features/descriptions/index.d.cts +25 -2
  33. package/dist/features/descriptions/index.d.mts +25 -2
  34. package/dist/features/descriptions/index.mjs +1 -1
  35. package/dist/features/descriptions/index.mjs.map +1 -1
  36. package/dist/features/search-modal/index.d.cts +2 -2
  37. package/dist/features/search-modal/index.d.mts +2 -2
  38. package/dist/features/tables/index.cjs +1 -1
  39. package/dist/features/tables/index.d.cts +90 -16
  40. package/dist/features/tables/index.d.mts +90 -16
  41. package/dist/features/tables/index.mjs +1 -1
  42. package/dist/features/tanstack-form/index.cjs +1 -1
  43. package/dist/features/tanstack-form/index.d.cts +1 -1
  44. package/dist/features/tanstack-form/index.d.mts +1 -1
  45. package/dist/features/tanstack-form/index.mjs +1 -1
  46. package/dist/{field-DfsTE4Ie.mjs → field-C5HOxxiX.mjs} +2 -2
  47. package/dist/{field-DfsTE4Ie.mjs.map → field-C5HOxxiX.mjs.map} +1 -1
  48. package/dist/{field-C51eJ6QN.cjs → field-D1wvj5Wj.cjs} +2 -2
  49. package/dist/{field-C51eJ6QN.cjs.map → field-D1wvj5Wj.cjs.map} +1 -1
  50. package/dist/{index-rnLTzTi7.d.cts → index-CkmisxOx.d.cts} +173 -173
  51. package/dist/{index-DzSTWYsk.d.mts → index-Cyc9v5Az.d.mts} +122 -122
  52. package/dist/index.cjs +1 -1
  53. package/dist/index.d.cts +8 -8
  54. package/dist/index.d.mts +8 -8
  55. package/dist/index.mjs +1 -1
  56. package/dist/{input-DpaSVQ7H.d.mts → input-CvWCE7ft.d.mts} +6 -6
  57. package/dist/{input-BRVTkuUg.d.cts → input-D9N-kPNc.d.cts} +6 -6
  58. package/dist/{label-3vAlNtF9.mjs → label-COqDQDMy.mjs} +1 -1
  59. package/dist/{label-3vAlNtF9.mjs.map → label-COqDQDMy.mjs.map} +1 -1
  60. package/dist/{label-zyBJYydC.cjs → label-DYsRdKMt.cjs} +1 -1
  61. package/dist/{label-zyBJYydC.cjs.map → label-DYsRdKMt.cjs.map} +1 -1
  62. package/dist/layouts/cms-layout/index.cjs +1 -1
  63. package/dist/layouts/cms-layout/index.mjs +1 -1
  64. package/dist/layouts/flex.d.cts +7 -7
  65. package/dist/layouts/flex.d.mts +9 -9
  66. package/dist/layouts/payment-layout/index.cjs +1 -1
  67. package/dist/layouts/payment-layout/index.mjs +1 -1
  68. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  69. package/dist/pages/FeatureDeveloping.d.mts +2 -2
  70. package/dist/pages/FeatureFixing.d.cts +2 -2
  71. package/dist/pages/FeatureFixing.d.mts +2 -2
  72. package/dist/pages/NotAuthorized.d.cts +2 -2
  73. package/dist/pages/NotAuthorized.d.mts +2 -2
  74. package/dist/pages/NotFound.d.cts +2 -2
  75. package/dist/pages/NotFound.d.mts +2 -2
  76. package/dist/{payment-layout-C9pP5HdT.cjs → payment-layout-C8_xrnVn.cjs} +1 -1
  77. package/dist/{payment-layout-C9pP5HdT.cjs.map → payment-layout-C8_xrnVn.cjs.map} +1 -1
  78. package/dist/{payment-layout-D-69gOPJ.mjs → payment-layout-CVBTGjMw.mjs} +1 -1
  79. package/dist/{payment-layout-D-69gOPJ.mjs.map → payment-layout-CVBTGjMw.mjs.map} +1 -1
  80. package/dist/{popover-CmoqhK17.cjs → popover-AEt-aSy3.cjs} +1 -1
  81. package/dist/{popover-CmoqhK17.cjs.map → popover-AEt-aSy3.cjs.map} +1 -1
  82. package/dist/{popover-BFJhuzW3.mjs → popover-OJXFbqJi.mjs} +1 -1
  83. package/dist/{popover-BFJhuzW3.mjs.map → popover-OJXFbqJi.mjs.map} +1 -1
  84. package/dist/{radio-group-D5OurBIG.mjs → radio-group-5ktXGXSv.mjs} +1 -1
  85. package/dist/{radio-group-D5OurBIG.mjs.map → radio-group-5ktXGXSv.mjs.map} +1 -1
  86. package/dist/{radio-group-DAv2EU3F.cjs → radio-group-C7FAAawm.cjs} +1 -1
  87. package/dist/{radio-group-DAv2EU3F.cjs.map → radio-group-C7FAAawm.cjs.map} +1 -1
  88. package/dist/{select-DRCKwnTV.mjs → select-DrHceSnf.mjs} +1 -1
  89. package/dist/{select-DRCKwnTV.mjs.map → select-DrHceSnf.mjs.map} +1 -1
  90. package/dist/{select-DfvSMRUq.cjs → select-DzylYFes.cjs} +1 -1
  91. package/dist/{select-DfvSMRUq.cjs.map → select-DzylYFes.cjs.map} +1 -1
  92. package/dist/tables-BQkO4mz6.cjs +4 -0
  93. package/dist/tables-BQkO4mz6.cjs.map +1 -0
  94. package/dist/tables-iT8uH25j.mjs +4 -0
  95. package/dist/tables-iT8uH25j.mjs.map +1 -0
  96. package/dist/{tanstack-form-Bb9JXuEq.cjs → tanstack-form-BUjk7DIz.cjs} +2 -2
  97. package/dist/{tanstack-form-Bb9JXuEq.cjs.map → tanstack-form-BUjk7DIz.cjs.map} +1 -1
  98. package/dist/{tanstack-form-BwyHENeF.mjs → tanstack-form-DtZdrifK.mjs} +2 -2
  99. package/dist/{tanstack-form-BwyHENeF.mjs.map → tanstack-form-DtZdrifK.mjs.map} +1 -1
  100. package/dist/{textarea-CvoBIPlJ.cjs → textarea-DZ86A_cm.cjs} +1 -1
  101. package/dist/{textarea-CvoBIPlJ.cjs.map → textarea-DZ86A_cm.cjs.map} +1 -1
  102. package/dist/{textarea-5RD9ToTV.mjs → textarea-Dd1fBf_4.mjs} +1 -1
  103. package/dist/{textarea-5RD9ToTV.mjs.map → textarea-Dd1fBf_4.mjs.map} +1 -1
  104. package/dist/typography/paragraph.d.cts +5 -5
  105. package/dist/typography/paragraph.d.mts +5 -5
  106. package/dist/typography/title.d.cts +2 -2
  107. package/dist/typography/title.d.mts +2 -2
  108. package/dist/ui/alert-dialog.d.cts +12 -12
  109. package/dist/ui/alert-dialog.d.mts +12 -12
  110. package/dist/ui/alert.cjs +1 -1
  111. package/dist/ui/alert.d.cts +1 -1
  112. package/dist/ui/alert.d.mts +1 -1
  113. package/dist/ui/alert.mjs +1 -1
  114. package/dist/ui/aspect-ratio.d.cts +2 -2
  115. package/dist/ui/aspect-ratio.d.mts +2 -2
  116. package/dist/ui/avatar.d.cts +4 -4
  117. package/dist/ui/avatar.d.mts +4 -4
  118. package/dist/ui/badge.d.cts +1 -1
  119. package/dist/ui/badge.d.mts +1 -1
  120. package/dist/ui/breadcrumb.d.cts +8 -8
  121. package/dist/ui/breadcrumb.d.mts +8 -8
  122. package/dist/ui/button-group.d.cts +7 -7
  123. package/dist/ui/button-group.d.mts +7 -7
  124. package/dist/ui/button.d.cts +1 -1
  125. package/dist/ui/button.d.mts +1 -1
  126. package/dist/ui/calendar.cjs +1 -1
  127. package/dist/ui/calendar.d.cts +4 -4
  128. package/dist/ui/calendar.d.mts +4 -4
  129. package/dist/ui/calendar.mjs +1 -1
  130. package/dist/ui/card.d.cts +8 -8
  131. package/dist/ui/card.d.mts +8 -8
  132. package/dist/ui/carousel.d.cts +7 -7
  133. package/dist/ui/carousel.d.mts +7 -7
  134. package/dist/ui/checkbox.d.cts +2 -2
  135. package/dist/ui/checkbox.d.mts +2 -2
  136. package/dist/ui/collapsible.d.cts +4 -4
  137. package/dist/ui/collapsible.d.mts +4 -4
  138. package/dist/ui/command.d.cts +11 -11
  139. package/dist/ui/command.d.mts +11 -11
  140. package/dist/ui/context-menu.d.cts +16 -16
  141. package/dist/ui/context-menu.d.mts +16 -16
  142. package/dist/ui/dialog.d.cts +1 -1
  143. package/dist/ui/dialog.d.mts +1 -1
  144. package/dist/ui/drawer.d.cts +11 -11
  145. package/dist/ui/drawer.d.mts +11 -11
  146. package/dist/ui/dropdown-menu.d.cts +16 -16
  147. package/dist/ui/dropdown-menu.d.mts +16 -16
  148. package/dist/ui/empty.d.cts +9 -9
  149. package/dist/ui/empty.d.mts +9 -9
  150. package/dist/ui/field.cjs +1 -1
  151. package/dist/ui/field.d.cts +23 -23
  152. package/dist/ui/field.d.mts +25 -25
  153. package/dist/ui/field.mjs +1 -1
  154. package/dist/ui/file-uploader.d.cts +2 -2
  155. package/dist/ui/file-uploader.d.mts +2 -2
  156. package/dist/ui/form.cjs +1 -1
  157. package/dist/ui/form.d.cts +11 -11
  158. package/dist/ui/form.d.mts +11 -11
  159. package/dist/ui/form.mjs +1 -1
  160. package/dist/ui/hover-card.d.cts +4 -4
  161. package/dist/ui/hover-card.d.mts +4 -4
  162. package/dist/ui/input-otp.d.cts +5 -5
  163. package/dist/ui/input-otp.d.mts +5 -5
  164. package/dist/ui/input.d.cts +1 -1
  165. package/dist/ui/input.d.mts +1 -1
  166. package/dist/ui/inputs/search-input.d.cts +3 -3
  167. package/dist/ui/inputs/search-input.d.mts +3 -3
  168. package/dist/ui/item.d.cts +15 -15
  169. package/dist/ui/item.d.mts +15 -15
  170. package/dist/ui/label.cjs +1 -1
  171. package/dist/ui/label.d.cts +2 -2
  172. package/dist/ui/label.d.mts +2 -2
  173. package/dist/ui/label.mjs +1 -1
  174. package/dist/ui/menubar.d.cts +17 -17
  175. package/dist/ui/menubar.d.mts +17 -17
  176. package/dist/ui/multi-select.d.cts +2 -2
  177. package/dist/ui/multi-select.d.mts +1 -1
  178. package/dist/ui/navigation-menu.d.cts +9 -9
  179. package/dist/ui/navigation-menu.d.mts +9 -9
  180. package/dist/ui/pagination.d.cts +9 -9
  181. package/dist/ui/pagination.d.mts +9 -9
  182. package/dist/ui/popover.cjs +1 -1
  183. package/dist/ui/popover.d.cts +6 -6
  184. package/dist/ui/popover.d.mts +6 -6
  185. package/dist/ui/popover.mjs +1 -1
  186. package/dist/ui/progress.d.cts +2 -2
  187. package/dist/ui/progress.d.mts +2 -2
  188. package/dist/ui/radio-group.cjs +1 -1
  189. package/dist/ui/radio-group.d.cts +3 -3
  190. package/dist/ui/radio-group.d.mts +3 -3
  191. package/dist/ui/radio-group.mjs +1 -1
  192. package/dist/ui/resizable.d.cts +9 -9
  193. package/dist/ui/resizable.d.mts +9 -9
  194. package/dist/ui/scroll-area.d.cts +6 -6
  195. package/dist/ui/scroll-area.d.mts +6 -6
  196. package/dist/ui/select.cjs +1 -1
  197. package/dist/ui/select.d.cts +9 -9
  198. package/dist/ui/select.d.mts +9 -9
  199. package/dist/ui/select.mjs +1 -1
  200. package/dist/ui/separator.d.cts +2 -2
  201. package/dist/ui/separator.d.mts +2 -2
  202. package/dist/ui/sheet.d.cts +9 -9
  203. package/dist/ui/sheet.d.mts +9 -9
  204. package/dist/ui/sidebar.d.cts +28 -28
  205. package/dist/ui/sidebar.d.mts +28 -28
  206. package/dist/ui/skeleton.d.cts +2 -2
  207. package/dist/ui/skeleton.d.mts +2 -2
  208. package/dist/ui/slider.d.cts +2 -2
  209. package/dist/ui/slider.d.mts +2 -2
  210. package/dist/ui/sonner.d.cts +2 -2
  211. package/dist/ui/sonner.d.mts +2 -2
  212. package/dist/ui/spinner.d.cts +2 -2
  213. package/dist/ui/spinner.d.mts +2 -2
  214. package/dist/ui/switch.d.cts +2 -2
  215. package/dist/ui/switch.d.mts +2 -2
  216. package/dist/ui/table.d.cts +18 -18
  217. package/dist/ui/table.d.mts +18 -18
  218. package/dist/ui/tabs.d.cts +5 -5
  219. package/dist/ui/tabs.d.mts +5 -5
  220. package/dist/ui/textarea.cjs +1 -1
  221. package/dist/ui/textarea.d.cts +2 -2
  222. package/dist/ui/textarea.d.mts +2 -2
  223. package/dist/ui/textarea.mjs +1 -1
  224. package/dist/ui/toggle-group.d.cts +3 -3
  225. package/dist/ui/toggle-group.d.mts +3 -3
  226. package/dist/ui/toggle.d.cts +4 -4
  227. package/dist/ui/toggle.d.mts +4 -4
  228. package/dist/ui/tooltip.d.cts +5 -5
  229. package/dist/ui/tooltip.d.mts +5 -5
  230. package/package.json +1 -1
  231. package/dist/tables-Chn2pQSc.cjs +0 -4
  232. package/dist/tables-Chn2pQSc.cjs.map +0 -1
  233. package/dist/tables-eLIhswqW.mjs +0 -4
  234. package/dist/tables-eLIhswqW.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"popover-BFJhuzW3.mjs","names":["Popover","PopoverPrimitive"],"sources":["../packages/components/ui/popover.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport { CloseButton } from './buttons/close';\n\n/**\n * Floating panel built on Radix UI's Popover primitives, anchored to a trigger element with animated open/close transitions.\n *\n * @example\n * ```tsx\n * import {\n * Popover, PopoverTrigger, PopoverContent, PopoverClose,\n * } from '@customafk/lunas-ui/ui/popover';\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * <Popover>\n * <PopoverTrigger asChild>\n * <Button variant=\"outline\">Open popover</Button>\n * </PopoverTrigger>\n * <PopoverContent>\n * <PopoverClose />\n * <p>Popover body content goes here.</p>\n * </PopoverContent>\n * </Popover>\n * ```\n */\nfunction Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\n/** Element that opens or closes the popover on click; use `asChild` to render a custom trigger element. */\nfunction PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\n/** Floating content panel rendered in a portal, matching the trigger width and animated on open/close. */\nfunction PopoverContent({ className, align = 'start', sideOffset = 4, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'relative bg-popover',\n 'text-text-positive',\n 'z-50',\n 'min-w-(--radix-popover-trigger-width)',\n 'max-h-(--radix-popover-content-available-height)',\n 'origin-(--radix-popover-content-transform-origin)',\n 'rounded-md p-4 shadow-dropdown outline-none',\n\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=open]:zoom-in-95',\n\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-95',\n\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\n/** Optional anchor element that overrides the trigger as the popover's positioning reference point. */\nfunction PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\n/** Close button pre-positioned at the top-right corner of `PopoverContent` using the shared `CloseButton` primitive. */\nfunction PopoverClose({ className, ...props }: React.ComponentProps<typeof PopoverPrimitive.Close>) {\n return (\n <PopoverPrimitive.Close data-slot=\"popover-close\" {...props} asChild>\n <CloseButton className=\"absolute top-2 right-2\" />\n </PopoverPrimitive.Close>\n );\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PopoverClose };\n"],"mappings":"wKA4BA,SAASA,EAAQ,CAAE,GAAG,GAA6D,CACjF,OAAO,EAACC,EAAiB,KAAA,CAAK,YAAU,UAAU,GAAI,GAAS,CAIjE,SAAS,EAAe,CAAE,GAAG,GAAgE,CAC3F,OAAO,EAACA,EAAiB,QAAA,CAAQ,YAAU,kBAAkB,GAAI,GAAS,CAI5E,SAAS,EAAe,CAAE,YAAW,QAAQ,QAAS,aAAa,EAAG,GAAG,GAAgE,CACvI,OACE,EAACA,EAAiB,OAAA,CAAA,SAChB,EAACA,EAAiB,QAAA,CAChB,YAAU,kBACH,QACK,aACZ,UAAW,EACT,sBACA,qBACA,OACA,wCACA,mDACA,oDACA,8CAEA,+BACA,8BACA,+BAEA,kCACA,iCACA,kCAEA,yCACA,yCACA,yCACA,yCACA,EACD,CACD,GAAI,GACJ,CAAA,CACsB,CAK9B,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAACA,EAAiB,OAAA,CAAO,YAAU,iBAAiB,GAAI,GAAS,CAI1E,SAAS,EAAa,CAAE,YAAW,GAAG,GAA8D,CAClG,OACE,EAACA,EAAiB,MAAA,CAAM,YAAU,gBAAgB,GAAI,EAAO,QAAA,YAC3D,EAAC,EAAA,CAAY,UAAU,yBAAA,CAA2B,EAC3B"}
1
+ {"version":3,"file":"popover-OJXFbqJi.mjs","names":["Popover","PopoverPrimitive"],"sources":["../packages/components/ui/popover.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport { CloseButton } from './buttons/close';\n\n/**\n * Floating panel built on Radix UI's Popover primitives, anchored to a trigger element with animated open/close transitions.\n *\n * @example\n * ```tsx\n * import {\n * Popover, PopoverTrigger, PopoverContent, PopoverClose,\n * } from '@customafk/lunas-ui/ui/popover';\n * import { Button } from '@customafk/lunas-ui/ui/button';\n *\n * <Popover>\n * <PopoverTrigger asChild>\n * <Button variant=\"outline\">Open popover</Button>\n * </PopoverTrigger>\n * <PopoverContent>\n * <PopoverClose />\n * <p>Popover body content goes here.</p>\n * </PopoverContent>\n * </Popover>\n * ```\n */\nfunction Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\n/** Element that opens or closes the popover on click; use `asChild` to render a custom trigger element. */\nfunction PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\n/** Floating content panel rendered in a portal, matching the trigger width and animated on open/close. */\nfunction PopoverContent({ className, align = 'start', sideOffset = 4, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'relative bg-popover',\n 'text-text-positive',\n 'z-50',\n 'min-w-(--radix-popover-trigger-width)',\n 'max-h-(--radix-popover-content-available-height)',\n 'origin-(--radix-popover-content-transform-origin)',\n 'rounded-md p-4 shadow-dropdown outline-none',\n\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=open]:zoom-in-95',\n\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-95',\n\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\n/** Optional anchor element that overrides the trigger as the popover's positioning reference point. */\nfunction PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\n/** Close button pre-positioned at the top-right corner of `PopoverContent` using the shared `CloseButton` primitive. */\nfunction PopoverClose({ className, ...props }: React.ComponentProps<typeof PopoverPrimitive.Close>) {\n return (\n <PopoverPrimitive.Close data-slot=\"popover-close\" {...props} asChild>\n <CloseButton className=\"absolute top-2 right-2\" />\n </PopoverPrimitive.Close>\n );\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PopoverClose };\n"],"mappings":"wKA4BA,SAASA,EAAQ,CAAE,GAAG,GAA6D,CACjF,OAAO,EAACC,EAAiB,KAAA,CAAK,YAAU,UAAU,GAAI,GAAS,CAIjE,SAAS,EAAe,CAAE,GAAG,GAAgE,CAC3F,OAAO,EAACA,EAAiB,QAAA,CAAQ,YAAU,kBAAkB,GAAI,GAAS,CAI5E,SAAS,EAAe,CAAE,YAAW,QAAQ,QAAS,aAAa,EAAG,GAAG,GAAgE,CACvI,OACE,EAACA,EAAiB,OAAA,CAAA,SAChB,EAACA,EAAiB,QAAA,CAChB,YAAU,kBACH,QACK,aACZ,UAAW,EACT,sBACA,qBACA,OACA,wCACA,mDACA,oDACA,8CAEA,+BACA,8BACA,+BAEA,kCACA,iCACA,kCAEA,yCACA,yCACA,yCACA,yCACA,EACD,CACD,GAAI,GACJ,CAAA,CACsB,CAK9B,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAACA,EAAiB,OAAA,CAAO,YAAU,iBAAiB,GAAI,GAAS,CAI1E,SAAS,EAAa,CAAE,YAAW,GAAG,GAA8D,CAClG,OACE,EAACA,EAAiB,MAAA,CAAM,YAAU,gBAAgB,GAAI,EAAO,QAAA,YAC3D,EAAC,EAAA,CAAY,UAAU,yBAAA,CAA2B,EAC3B"}
@@ -1,2 +1,2 @@
1
1
  import{CircleIcon as e}from"lucide-react";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{cn as r}from"@customafk/react-toolkit/utils";import{RadioGroup as i}from"radix-ui";function a({className:e,...n}){return t(i.Root,{"data-slot":`radio-group`,className:r(`grid gap-3`,e),...n})}function o({className:a,...o}){return t(i.Item,{"data-slot":`radio-group-item`,className:r(`aspect-square size-4 shrink-0 rounded-full border border-border shadow-xs outline-none transition-all`,`disabled:cursor-not-allowed disabled:opacity-50`,`focus:border-border focus:ring-4 focus:ring-primary-weak`,`aria-invalid:border-danger-strong aria-invalid:ring-danger-weak`,`aria-readonly:pointer-events-none`,`aria-readonly:[&_div]:bg-muted`,`aria-readonly:[&_svg]:fill-muted-weak`,`aria-readonly:[&_svg]:text-muted-weak`,a),...o,children:n(i.Indicator,{"data-slot":`radio-group-indicator`,className:`relative flex items-center justify-center bg-primary`,children:[t(`div`,{className:`absolute size-4 rounded-full bg-primary`}),t(e,{className:`-translate-1/2 absolute top-1/2 left-1/2 size-2 fill-text-negative-strong text-text-negative`})]})})}export{o as n,a as t};
2
- //# sourceMappingURL=radio-group-D5OurBIG.mjs.map
2
+ //# sourceMappingURL=radio-group-5ktXGXSv.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group-D5OurBIG.mjs","names":["RadioGroup","RadioGroupPrimitive"],"sources":["../packages/components/ui/radio-group.tsx"],"sourcesContent":["'use client';\n\nimport { CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\n\n/**\n * Accessible radio button group built on Radix UI's RadioGroup primitive, where only one option can be selected at a time.\n *\n * @example\n * ```tsx\n * import { RadioGroup, RadioGroupItem } from '@customafk/lunas-ui/ui/radio-group';\n * import { Label } from '@customafk/lunas-ui/ui/label';\n *\n * <RadioGroup defaultValue=\"monthly\">\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"monthly\" id=\"monthly\" />\n * <Label htmlFor=\"monthly\">Monthly</Label>\n * </div>\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"annually\" id=\"annually\" />\n * <Label htmlFor=\"annually\">Annually</Label>\n * </div>\n * </RadioGroup>\n * ```\n */\nfunction RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return <RadioGroupPrimitive.Root data-slot=\"radio-group\" className={cn('grid gap-3', className)} {...props} />;\n}\n\n/** Individual radio button within a `RadioGroup`; shows a filled circle indicator when selected. */\nfunction RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n 'aspect-square size-4 shrink-0 rounded-full border border-border shadow-xs outline-none transition-all',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'focus:border-border focus:ring-4 focus:ring-primary-weak',\n 'aria-invalid:border-danger-strong aria-invalid:ring-danger-weak',\n 'aria-readonly:pointer-events-none',\n 'aria-readonly:[&_div]:bg-muted',\n 'aria-readonly:[&_svg]:fill-muted-weak',\n 'aria-readonly:[&_svg]:text-muted-weak',\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator data-slot=\"radio-group-indicator\" className=\"relative flex items-center justify-center bg-primary\">\n <div className=\"absolute size-4 rounded-full bg-primary\" />\n <CircleIcon className=\"-translate-1/2 absolute top-1/2 left-1/2 size-2 fill-text-negative-strong text-text-negative\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"mappings":"sLA4BA,SAASA,EAAW,CAAE,YAAW,GAAG,GAAgE,CAClG,OAAO,EAACC,EAAoB,KAAA,CAAK,YAAU,cAAc,UAAW,EAAG,aAAc,EAAU,CAAE,GAAI,GAAS,CAIhH,SAAS,EAAe,CAAE,YAAW,GAAG,GAAgE,CACtG,OACE,EAACA,EAAoB,KAAA,CACnB,YAAU,mBACV,UAAW,EACT,wGACA,kDACA,2DACA,kEACA,oCACA,iCACA,wCACA,wCACA,EACD,CACD,GAAI,WAEJ,EAACA,EAAoB,UAAA,CAAU,YAAU,wBAAwB,UAAU,iEACzE,EAAC,MAAA,CAAI,UAAU,0CAAA,CAA4C,CAC3D,EAAC,EAAA,CAAW,UAAU,+FAAA,CAAiG,CAAA,EACzF,EACP"}
1
+ {"version":3,"file":"radio-group-5ktXGXSv.mjs","names":["RadioGroup","RadioGroupPrimitive"],"sources":["../packages/components/ui/radio-group.tsx"],"sourcesContent":["'use client';\n\nimport { CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\n\n/**\n * Accessible radio button group built on Radix UI's RadioGroup primitive, where only one option can be selected at a time.\n *\n * @example\n * ```tsx\n * import { RadioGroup, RadioGroupItem } from '@customafk/lunas-ui/ui/radio-group';\n * import { Label } from '@customafk/lunas-ui/ui/label';\n *\n * <RadioGroup defaultValue=\"monthly\">\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"monthly\" id=\"monthly\" />\n * <Label htmlFor=\"monthly\">Monthly</Label>\n * </div>\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"annually\" id=\"annually\" />\n * <Label htmlFor=\"annually\">Annually</Label>\n * </div>\n * </RadioGroup>\n * ```\n */\nfunction RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return <RadioGroupPrimitive.Root data-slot=\"radio-group\" className={cn('grid gap-3', className)} {...props} />;\n}\n\n/** Individual radio button within a `RadioGroup`; shows a filled circle indicator when selected. */\nfunction RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n 'aspect-square size-4 shrink-0 rounded-full border border-border shadow-xs outline-none transition-all',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'focus:border-border focus:ring-4 focus:ring-primary-weak',\n 'aria-invalid:border-danger-strong aria-invalid:ring-danger-weak',\n 'aria-readonly:pointer-events-none',\n 'aria-readonly:[&_div]:bg-muted',\n 'aria-readonly:[&_svg]:fill-muted-weak',\n 'aria-readonly:[&_svg]:text-muted-weak',\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator data-slot=\"radio-group-indicator\" className=\"relative flex items-center justify-center bg-primary\">\n <div className=\"absolute size-4 rounded-full bg-primary\" />\n <CircleIcon className=\"-translate-1/2 absolute top-1/2 left-1/2 size-2 fill-text-negative-strong text-text-negative\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"mappings":"sLA4BA,SAASA,EAAW,CAAE,YAAW,GAAG,GAAgE,CAClG,OAAO,EAACC,EAAoB,KAAA,CAAK,YAAU,cAAc,UAAW,EAAG,aAAc,EAAU,CAAE,GAAI,GAAS,CAIhH,SAAS,EAAe,CAAE,YAAW,GAAG,GAAgE,CACtG,OACE,EAACA,EAAoB,KAAA,CACnB,YAAU,mBACV,UAAW,EACT,wGACA,kDACA,2DACA,kEACA,oCACA,iCACA,wCACA,wCACA,EACD,CACD,GAAI,WAEJ,EAACA,EAAoB,UAAA,CAAU,YAAU,wBAAwB,UAAU,iEACzE,EAAC,MAAA,CAAI,UAAU,0CAAA,CAA4C,CAC3D,EAAC,EAAA,CAAW,UAAU,+FAAA,CAAiG,CAAA,EACzF,EACP"}
@@ -1,2 +1,2 @@
1
1
  const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`lucide-react`),n=require(`react/jsx-runtime`),r=require(`@customafk/react-toolkit/utils`),i=require(`radix-ui`);function a({className:e,...t}){return(0,n.jsx)(i.RadioGroup.Root,{"data-slot":`radio-group`,className:(0,r.cn)(`grid gap-3`,e),...t})}function o({className:e,...a}){return(0,n.jsx)(i.RadioGroup.Item,{"data-slot":`radio-group-item`,className:(0,r.cn)(`aspect-square size-4 shrink-0 rounded-full border border-border shadow-xs outline-none transition-all`,`disabled:cursor-not-allowed disabled:opacity-50`,`focus:border-border focus:ring-4 focus:ring-primary-weak`,`aria-invalid:border-danger-strong aria-invalid:ring-danger-weak`,`aria-readonly:pointer-events-none`,`aria-readonly:[&_div]:bg-muted`,`aria-readonly:[&_svg]:fill-muted-weak`,`aria-readonly:[&_svg]:text-muted-weak`,e),...a,children:(0,n.jsxs)(i.RadioGroup.Indicator,{"data-slot":`radio-group-indicator`,className:`relative flex items-center justify-center bg-primary`,children:[(0,n.jsx)(`div`,{className:`absolute size-4 rounded-full bg-primary`}),(0,n.jsx)(t.CircleIcon,{className:`-translate-1/2 absolute top-1/2 left-1/2 size-2 fill-text-negative-strong text-text-negative`})]})})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=radio-group-DAv2EU3F.cjs.map
2
+ //# sourceMappingURL=radio-group-C7FAAawm.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group-DAv2EU3F.cjs","names":["RadioGroupPrimitive","CircleIcon"],"sources":["../packages/components/ui/radio-group.tsx"],"sourcesContent":["'use client';\n\nimport { CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\n\n/**\n * Accessible radio button group built on Radix UI's RadioGroup primitive, where only one option can be selected at a time.\n *\n * @example\n * ```tsx\n * import { RadioGroup, RadioGroupItem } from '@customafk/lunas-ui/ui/radio-group';\n * import { Label } from '@customafk/lunas-ui/ui/label';\n *\n * <RadioGroup defaultValue=\"monthly\">\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"monthly\" id=\"monthly\" />\n * <Label htmlFor=\"monthly\">Monthly</Label>\n * </div>\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"annually\" id=\"annually\" />\n * <Label htmlFor=\"annually\">Annually</Label>\n * </div>\n * </RadioGroup>\n * ```\n */\nfunction RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return <RadioGroupPrimitive.Root data-slot=\"radio-group\" className={cn('grid gap-3', className)} {...props} />;\n}\n\n/** Individual radio button within a `RadioGroup`; shows a filled circle indicator when selected. */\nfunction RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n 'aspect-square size-4 shrink-0 rounded-full border border-border shadow-xs outline-none transition-all',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'focus:border-border focus:ring-4 focus:ring-primary-weak',\n 'aria-invalid:border-danger-strong aria-invalid:ring-danger-weak',\n 'aria-readonly:pointer-events-none',\n 'aria-readonly:[&_div]:bg-muted',\n 'aria-readonly:[&_svg]:fill-muted-weak',\n 'aria-readonly:[&_svg]:text-muted-weak',\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator data-slot=\"radio-group-indicator\" className=\"relative flex items-center justify-center bg-primary\">\n <div className=\"absolute size-4 rounded-full bg-primary\" />\n <CircleIcon className=\"-translate-1/2 absolute top-1/2 left-1/2 size-2 fill-text-negative-strong text-text-negative\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"mappings":"uKA4BA,SAAS,EAAW,CAAE,YAAW,GAAG,GAAgE,CAClG,OAAO,EAAA,EAAA,KAACA,EAAAA,WAAoB,KAAA,CAAK,YAAU,cAAc,WAAA,EAAA,EAAA,IAAc,aAAc,EAAU,CAAE,GAAI,GAAS,CAIhH,SAAS,EAAe,CAAE,YAAW,GAAG,GAAgE,CACtG,OACE,EAAA,EAAA,KAACA,EAAAA,WAAoB,KAAA,CACnB,YAAU,mBACV,WAAA,EAAA,EAAA,IACE,wGACA,kDACA,2DACA,kEACA,oCACA,iCACA,wCACA,wCACA,EACD,CACD,GAAI,YAEJ,EAAA,EAAA,MAACA,EAAAA,WAAoB,UAAA,CAAU,YAAU,wBAAwB,UAAU,kEACzE,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,0CAAA,CAA4C,EAC3D,EAAA,EAAA,KAACC,EAAAA,WAAAA,CAAW,UAAU,+FAAA,CAAiG,CAAA,EACzF,EACP"}
1
+ {"version":3,"file":"radio-group-C7FAAawm.cjs","names":["RadioGroupPrimitive","CircleIcon"],"sources":["../packages/components/ui/radio-group.tsx"],"sourcesContent":["'use client';\n\nimport { CircleIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\n\n/**\n * Accessible radio button group built on Radix UI's RadioGroup primitive, where only one option can be selected at a time.\n *\n * @example\n * ```tsx\n * import { RadioGroup, RadioGroupItem } from '@customafk/lunas-ui/ui/radio-group';\n * import { Label } from '@customafk/lunas-ui/ui/label';\n *\n * <RadioGroup defaultValue=\"monthly\">\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"monthly\" id=\"monthly\" />\n * <Label htmlFor=\"monthly\">Monthly</Label>\n * </div>\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"annually\" id=\"annually\" />\n * <Label htmlFor=\"annually\">Annually</Label>\n * </div>\n * </RadioGroup>\n * ```\n */\nfunction RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return <RadioGroupPrimitive.Root data-slot=\"radio-group\" className={cn('grid gap-3', className)} {...props} />;\n}\n\n/** Individual radio button within a `RadioGroup`; shows a filled circle indicator when selected. */\nfunction RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n 'aspect-square size-4 shrink-0 rounded-full border border-border shadow-xs outline-none transition-all',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'focus:border-border focus:ring-4 focus:ring-primary-weak',\n 'aria-invalid:border-danger-strong aria-invalid:ring-danger-weak',\n 'aria-readonly:pointer-events-none',\n 'aria-readonly:[&_div]:bg-muted',\n 'aria-readonly:[&_svg]:fill-muted-weak',\n 'aria-readonly:[&_svg]:text-muted-weak',\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator data-slot=\"radio-group-indicator\" className=\"relative flex items-center justify-center bg-primary\">\n <div className=\"absolute size-4 rounded-full bg-primary\" />\n <CircleIcon className=\"-translate-1/2 absolute top-1/2 left-1/2 size-2 fill-text-negative-strong text-text-negative\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"mappings":"uKA4BA,SAAS,EAAW,CAAE,YAAW,GAAG,GAAgE,CAClG,OAAO,EAAA,EAAA,KAACA,EAAAA,WAAoB,KAAA,CAAK,YAAU,cAAc,WAAA,EAAA,EAAA,IAAc,aAAc,EAAU,CAAE,GAAI,GAAS,CAIhH,SAAS,EAAe,CAAE,YAAW,GAAG,GAAgE,CACtG,OACE,EAAA,EAAA,KAACA,EAAAA,WAAoB,KAAA,CACnB,YAAU,mBACV,WAAA,EAAA,EAAA,IACE,wGACA,kDACA,2DACA,kEACA,oCACA,iCACA,wCACA,wCACA,EACD,CACD,GAAI,YAEJ,EAAA,EAAA,MAACA,EAAAA,WAAoB,UAAA,CAAU,YAAU,wBAAwB,UAAU,kEACzE,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,0CAAA,CAA4C,EAC3D,EAAA,EAAA,KAACC,EAAAA,WAAAA,CAAW,UAAU,+FAAA,CAAiG,CAAA,EACzF,EACP"}
@@ -1,2 +1,2 @@
1
1
  import{CheckIcon as e,ChevronDownIcon as t}from"lucide-react";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{cn as i}from"@customafk/react-toolkit/utils";import{Select as a}from"radix-ui";function o({...e}){return n(a.Root,{"data-slot":`select`,...e})}function s({...e}){return n(a.Group,{"data-slot":`select-group`,...e})}function c({...e}){return n(a.Value,{"data-slot":`select-value`,...e})}function l({className:e,size:o=`default`,children:s,...c}){return r(a.Trigger,{"data-slot":`select-trigger`,"data-size":o,className:i(`flex w-full items-center justify-between`,`outline-1 outline-border -outline-offset-1`,`gap-2 rounded bg-transparent px-3 py-2`,`rounded shadow-input transition-all`,`cursor-pointer whitespace-nowrap text-sm`,`focus-visible:text-text-positive-strong`,`focus-visible:outline-primary-strong`,`focus-visible:ring-4`,`focus-visible:ring-primary-weak`,`data-[state=open]:text-text-positive-muted`,`data-[state=open]:outline-primary-strong`,`data-[state=open]:ring-4`,`data-[state=open]:ring-primary-weak`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`aria-invalid:bg-danger-bg-subtle`,`aria-invalid:outline-danger`,`aria-invalid:ring-danger-weak`,`aria-invalid:focus:outline-danger-strong`,`aria-invalid:focus:ring-4`,`aria-invalid:placeholder:text-text-positive-weak`,`aria-invalid:data-[state=open]:outline-danger-strong`,`aria-invalid:data-[state=open]:ring-danger-weak`,`data-placeholder:text-text-positive-muted`,`*:data-[slot=select-value]:line-clamp-1`,`*:data-[slot=select-value]:flex`,`*:data-[slot=select-value]:items-center`,`*:data-[slot=select-value]:gap-2`,`aria-readonly:bg-muted-muted`,`aria-readonly:cursor-default`,`aria-readonly:focus:outline-none`,`aria-readonly:ring-0`,`aria-readonly:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg]:pointer-events-none`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-muted-foreground`,e),...c,children:[s,n(a.Icon,{asChild:!0,children:n(t,{size:16,opacity:50})})]})}function u({className:e,children:t,position:r=`popper`,...o}){return n(a.Portal,{children:n(a.Content,{"data-slot":`select-content`,className:i(`relative z-50 max-h-80 min-w-32 overflow-y-auto overflow-x-hidden rounded shadow-dropdown duration-300`,`bg-white`,`w-(--radix-select-trigger-width)`,`origin-(--radix-select-content-transform-origin)`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out`,`data-[side=bottom]:slide-in-from-top-8`,`data-[side=left]:slide-in-from-right-8`,`data-[side=right]:slide-in-from-left-8`,`data-[side=top]:slide-in-from-bottom-8`,r===`popper`&&`data-[side=bottom]:translate-y-1`,r===`popper`&&`data-[side=left]:-translate-x-1`,r===`popper`&&`data-[side=right]:translate-x-1`,r===`popper`&&`data-[side=top]:-translate-y-1`,e),position:r,...o,children:n(a.Viewport,{className:i(`p-1`,r===`popper`&&`w-full scroll-my-1`,r===`popper`&&`h-(--radix-select-trigger-height)`,r===`popper`&&`min-w-(--radix-select-trigger-width)`),children:t})})})}function d({className:e,...t}){return n(a.Label,{"data-slot":`select-label`,className:i(`px-2 py-1.5 text-text-positive-weak text-xs`,e),...t})}function f({className:t,children:o,...s}){return r(a.Item,{"data-slot":`select-item`,className:i(`relative flex select-none items-center`,`gap-2 rounded py-2.5 pr-8 pl-2`,`w-full`,`cursor-pointer outline-none transition-colors`,`font-medium text-sm text-text-positive-weak`,`focus:shadow-xs`,`focus:bg-muted-muted`,`data-disabled:opacity-50`,`data-disabled:pointer-events-none`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,`*:[span]:last:flex`,`*:[span]:last:items-center`,`*:[span]:last:gap-2`,t),...s,children:[n(a.ItemText,{children:o}),n(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:n(a.ItemIndicator,{children:n(e,{size:16})})})]})}function p({className:e,...t}){return n(a.Separator,{"data-slot":`select-separator`,className:i(`-mx-1 pointer-events-none my-1 h-px bg-border-weak`,e),...t})}export{d as a,c,f as i,u as n,p as o,s as r,l as s,o as t};
2
- //# sourceMappingURL=select-DRCKwnTV.mjs.map
2
+ //# sourceMappingURL=select-DrHceSnf.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-DRCKwnTV.mjs","names":["Select","SelectPrimitive"],"sources":["../packages/components/ui/select.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Select as SelectPrimitive } from 'radix-ui';\n\n/**\n * Accessible dropdown select built on Radix UI's Select primitives, composed from `Select`, `SelectTrigger`, `SelectContent`, and `SelectItem`.\n *\n * @example\n * ```tsx\n * import {\n * Select, SelectTrigger, SelectValue,\n * SelectContent, SelectItem,\n * } from '@customafk/lunas-ui/ui/select';\n *\n * <Select>\n * <SelectTrigger>\n * <SelectValue placeholder=\"Pick a fruit\" />\n * </SelectTrigger>\n * <SelectContent>\n * <SelectItem value=\"apple\">Apple</SelectItem>\n * <SelectItem value=\"banana\">Banana</SelectItem>\n * </SelectContent>\n * </Select>\n * ```\n */\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\n/** Groups related `SelectItem` elements with an optional `SelectLabel` header. */\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\n/** Renders the currently selected value (or a placeholder) inside `SelectTrigger`. */\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\n/**\n * The button that opens the select dropdown; renders the current value and a chevron icon.\n *\n * @param size - `'default'` (standard padding) or `'sm'` (compact).\n */\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n /** Controls the trigger's padding — `'default'` or `'sm'`. */\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'flex w-full items-center justify-between',\n 'outline-1 outline-border -outline-offset-1',\n 'gap-2 rounded bg-transparent px-3 py-2',\n 'rounded shadow-input transition-all',\n 'cursor-pointer whitespace-nowrap text-sm',\n\n // Text styles\n 'focus-visible:text-text-positive-strong',\n 'focus-visible:outline-primary-strong',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n\n // State styles\n 'data-[state=open]:text-text-positive-muted',\n 'data-[state=open]:outline-primary-strong',\n 'data-[state=open]:ring-4',\n 'data-[state=open]:ring-primary-weak',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n\n // Invalid state\n 'aria-invalid:bg-danger-bg-subtle',\n 'aria-invalid:outline-danger',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:focus:outline-danger-strong',\n 'aria-invalid:focus:ring-4',\n 'aria-invalid:placeholder:text-text-positive-weak',\n 'aria-invalid:data-[state=open]:outline-danger-strong',\n 'aria-invalid:data-[state=open]:ring-danger-weak',\n\n // Placeholder styles\n 'data-placeholder:text-text-positive-muted',\n '*:data-[slot=select-value]:line-clamp-1',\n '*:data-[slot=select-value]:flex',\n '*:data-[slot=select-value]:items-center',\n '*:data-[slot=select-value]:gap-2',\n\n // Readonly state\n 'aria-readonly:bg-muted-muted',\n 'aria-readonly:cursor-default',\n 'aria-readonly:focus:outline-none',\n 'aria-readonly:ring-0',\n 'aria-readonly:pointer-events-none',\n\n // Icon styles\n '[&_svg]:shrink-0',\n '[&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon size={16} opacity={50} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\n/** Floating dropdown panel that renders inside a portal with enter/exit animations. */\nfunction SelectContent({ className, children, position = 'popper', ...props }: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'relative z-50 max-h-80 min-w-32 overflow-y-auto overflow-x-hidden rounded shadow-dropdown duration-300',\n 'bg-white',\n 'w-(--radix-select-trigger-width)',\n 'origin-(--radix-select-content-transform-origin)',\n\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in',\n\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out',\n\n 'data-[side=bottom]:slide-in-from-top-8',\n 'data-[side=left]:slide-in-from-right-8',\n 'data-[side=right]:slide-in-from-left-8',\n 'data-[side=top]:slide-in-from-bottom-8',\n\n position === 'popper' && 'data-[side=bottom]:translate-y-1',\n position === 'popper' && 'data-[side=left]:-translate-x-1',\n position === 'popper' && 'data-[side=right]:translate-x-1',\n position === 'popper' && 'data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' && 'w-full scroll-my-1',\n position === 'popper' && 'h-(--radix-select-trigger-height)',\n position === 'popper' && 'min-w-(--radix-select-trigger-width)'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\n/** Non-interactive label displayed above a `SelectGroup` to describe its options. */\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return <SelectPrimitive.Label data-slot=\"select-label\" className={cn('px-2 py-1.5 text-text-positive-weak text-xs', className)} {...props} />;\n}\n\n/** A selectable option within `SelectContent`; shows a check icon when chosen. */\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n 'relative flex select-none items-center',\n 'gap-2 rounded py-2.5 pr-8 pl-2',\n 'w-full',\n 'cursor-pointer outline-none transition-colors',\n 'font-medium text-sm text-text-positive-weak',\n\n 'focus:shadow-xs',\n 'focus:bg-muted-muted',\n\n 'data-disabled:opacity-50',\n 'data-disabled:pointer-events-none',\n\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n\n '*:[span]:last:flex',\n '*:[span]:last:items-center',\n '*:[span]:last:gap-2',\n className\n )}\n {...props}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span>\n </SelectPrimitive.Item>\n );\n}\n\n/** Thin horizontal rule used to visually separate groups of `SelectItem` elements. */\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return <SelectPrimitive.Separator data-slot=\"select-separator\" className={cn('-mx-1 pointer-events-none my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\nexport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue };\n"],"mappings":"sMA6BA,SAASA,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAACC,EAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,GAAS,CAI/D,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAItE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAQtE,SAAS,EAAc,CACrB,YACA,OAAO,UACP,WACA,GAAG,GAIF,CACD,OACE,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,YAAW,EACX,UAAW,EACT,2CACA,6CACA,yCACA,sCACA,2CAGA,0CACA,uCACA,uBACA,kCAGA,6CACA,2CACA,2BACA,sCACA,8BACA,sBAGA,mCACA,8BACA,gCACA,2CACA,4BACA,mDACA,uDACA,kDAGA,4CACA,0CACA,kCACA,0CACA,mCAGA,+BACA,+BACA,mCACA,uBACA,oCAGA,mBACA,8BACA,uCACA,sDACA,EACD,CACD,GAAI,YAEH,EACD,EAACA,EAAgB,KAAA,CAAK,QAAA,YACpB,EAAC,EAAA,CAAgB,KAAM,GAAI,QAAS,IAAM,EACrB,CAAA,EACC,CAK9B,SAAS,EAAc,CAAE,YAAW,WAAU,WAAW,SAAU,GAAG,GAA+D,CACnI,OACE,EAACA,EAAgB,OAAA,CAAA,SACf,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,yGACA,WACA,mCACA,mDAEA,+BACA,4BAEA,kCACA,+BAEA,yCACA,yCACA,yCACA,yCAEA,IAAa,UAAY,mCACzB,IAAa,UAAY,kCACzB,IAAa,UAAY,kCACzB,IAAa,UAAY,iCACzB,EACD,CACS,WACV,GAAI,WAEJ,EAACA,EAAgB,SAAA,CACf,UAAW,EACT,MACA,IAAa,UAAY,qBACzB,IAAa,UAAY,oCACzB,IAAa,UAAY,uCAC1B,CAEA,YACwB,EACH,CAAA,CACH,CAK7B,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,UAAW,EAAG,8CAA+C,EAAU,CAAE,GAAI,GAAS,CAI/I,SAAS,EAAW,CAAE,YAAW,WAAU,GAAG,GAA4D,CACxG,OACE,EAACA,EAAgB,KAAA,CACf,YAAU,cACV,UAAW,EACT,yCACA,iCACA,SACA,gDACA,8CAEA,kBACA,uBAEA,2BACA,oCAEA,8BACA,mBACA,uCACA,wDAEA,qBACA,6BACA,sBACA,EACD,CACD,GAAI,YAEJ,EAACA,EAAgB,SAAA,CAAU,WAAA,CAAoC,CAC/D,EAAC,OAAA,CAAK,UAAU,sEACd,EAACA,EAAgB,cAAA,CAAA,SACf,EAAC,EAAA,CAAU,KAAM,GAAA,CAAM,CAAA,CACO,EAC3B,CAAA,EACc,CAK3B,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAiE,CACxG,OAAO,EAACA,EAAgB,UAAA,CAAU,YAAU,mBAAmB,UAAW,EAAG,qDAAsD,EAAU,CAAE,GAAI,GAAS"}
1
+ {"version":3,"file":"select-DrHceSnf.mjs","names":["Select","SelectPrimitive"],"sources":["../packages/components/ui/select.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Select as SelectPrimitive } from 'radix-ui';\n\n/**\n * Accessible dropdown select built on Radix UI's Select primitives, composed from `Select`, `SelectTrigger`, `SelectContent`, and `SelectItem`.\n *\n * @example\n * ```tsx\n * import {\n * Select, SelectTrigger, SelectValue,\n * SelectContent, SelectItem,\n * } from '@customafk/lunas-ui/ui/select';\n *\n * <Select>\n * <SelectTrigger>\n * <SelectValue placeholder=\"Pick a fruit\" />\n * </SelectTrigger>\n * <SelectContent>\n * <SelectItem value=\"apple\">Apple</SelectItem>\n * <SelectItem value=\"banana\">Banana</SelectItem>\n * </SelectContent>\n * </Select>\n * ```\n */\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\n/** Groups related `SelectItem` elements with an optional `SelectLabel` header. */\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\n/** Renders the currently selected value (or a placeholder) inside `SelectTrigger`. */\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\n/**\n * The button that opens the select dropdown; renders the current value and a chevron icon.\n *\n * @param size - `'default'` (standard padding) or `'sm'` (compact).\n */\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n /** Controls the trigger's padding — `'default'` or `'sm'`. */\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'flex w-full items-center justify-between',\n 'outline-1 outline-border -outline-offset-1',\n 'gap-2 rounded bg-transparent px-3 py-2',\n 'rounded shadow-input transition-all',\n 'cursor-pointer whitespace-nowrap text-sm',\n\n // Text styles\n 'focus-visible:text-text-positive-strong',\n 'focus-visible:outline-primary-strong',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n\n // State styles\n 'data-[state=open]:text-text-positive-muted',\n 'data-[state=open]:outline-primary-strong',\n 'data-[state=open]:ring-4',\n 'data-[state=open]:ring-primary-weak',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n\n // Invalid state\n 'aria-invalid:bg-danger-bg-subtle',\n 'aria-invalid:outline-danger',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:focus:outline-danger-strong',\n 'aria-invalid:focus:ring-4',\n 'aria-invalid:placeholder:text-text-positive-weak',\n 'aria-invalid:data-[state=open]:outline-danger-strong',\n 'aria-invalid:data-[state=open]:ring-danger-weak',\n\n // Placeholder styles\n 'data-placeholder:text-text-positive-muted',\n '*:data-[slot=select-value]:line-clamp-1',\n '*:data-[slot=select-value]:flex',\n '*:data-[slot=select-value]:items-center',\n '*:data-[slot=select-value]:gap-2',\n\n // Readonly state\n 'aria-readonly:bg-muted-muted',\n 'aria-readonly:cursor-default',\n 'aria-readonly:focus:outline-none',\n 'aria-readonly:ring-0',\n 'aria-readonly:pointer-events-none',\n\n // Icon styles\n '[&_svg]:shrink-0',\n '[&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon size={16} opacity={50} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\n/** Floating dropdown panel that renders inside a portal with enter/exit animations. */\nfunction SelectContent({ className, children, position = 'popper', ...props }: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'relative z-50 max-h-80 min-w-32 overflow-y-auto overflow-x-hidden rounded shadow-dropdown duration-300',\n 'bg-white',\n 'w-(--radix-select-trigger-width)',\n 'origin-(--radix-select-content-transform-origin)',\n\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in',\n\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out',\n\n 'data-[side=bottom]:slide-in-from-top-8',\n 'data-[side=left]:slide-in-from-right-8',\n 'data-[side=right]:slide-in-from-left-8',\n 'data-[side=top]:slide-in-from-bottom-8',\n\n position === 'popper' && 'data-[side=bottom]:translate-y-1',\n position === 'popper' && 'data-[side=left]:-translate-x-1',\n position === 'popper' && 'data-[side=right]:translate-x-1',\n position === 'popper' && 'data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' && 'w-full scroll-my-1',\n position === 'popper' && 'h-(--radix-select-trigger-height)',\n position === 'popper' && 'min-w-(--radix-select-trigger-width)'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\n/** Non-interactive label displayed above a `SelectGroup` to describe its options. */\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return <SelectPrimitive.Label data-slot=\"select-label\" className={cn('px-2 py-1.5 text-text-positive-weak text-xs', className)} {...props} />;\n}\n\n/** A selectable option within `SelectContent`; shows a check icon when chosen. */\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n 'relative flex select-none items-center',\n 'gap-2 rounded py-2.5 pr-8 pl-2',\n 'w-full',\n 'cursor-pointer outline-none transition-colors',\n 'font-medium text-sm text-text-positive-weak',\n\n 'focus:shadow-xs',\n 'focus:bg-muted-muted',\n\n 'data-disabled:opacity-50',\n 'data-disabled:pointer-events-none',\n\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n\n '*:[span]:last:flex',\n '*:[span]:last:items-center',\n '*:[span]:last:gap-2',\n className\n )}\n {...props}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span>\n </SelectPrimitive.Item>\n );\n}\n\n/** Thin horizontal rule used to visually separate groups of `SelectItem` elements. */\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return <SelectPrimitive.Separator data-slot=\"select-separator\" className={cn('-mx-1 pointer-events-none my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\nexport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue };\n"],"mappings":"sMA6BA,SAASA,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAACC,EAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,GAAS,CAI/D,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAItE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAQtE,SAAS,EAAc,CACrB,YACA,OAAO,UACP,WACA,GAAG,GAIF,CACD,OACE,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,YAAW,EACX,UAAW,EACT,2CACA,6CACA,yCACA,sCACA,2CAGA,0CACA,uCACA,uBACA,kCAGA,6CACA,2CACA,2BACA,sCACA,8BACA,sBAGA,mCACA,8BACA,gCACA,2CACA,4BACA,mDACA,uDACA,kDAGA,4CACA,0CACA,kCACA,0CACA,mCAGA,+BACA,+BACA,mCACA,uBACA,oCAGA,mBACA,8BACA,uCACA,sDACA,EACD,CACD,GAAI,YAEH,EACD,EAACA,EAAgB,KAAA,CAAK,QAAA,YACpB,EAAC,EAAA,CAAgB,KAAM,GAAI,QAAS,IAAM,EACrB,CAAA,EACC,CAK9B,SAAS,EAAc,CAAE,YAAW,WAAU,WAAW,SAAU,GAAG,GAA+D,CACnI,OACE,EAACA,EAAgB,OAAA,CAAA,SACf,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,yGACA,WACA,mCACA,mDAEA,+BACA,4BAEA,kCACA,+BAEA,yCACA,yCACA,yCACA,yCAEA,IAAa,UAAY,mCACzB,IAAa,UAAY,kCACzB,IAAa,UAAY,kCACzB,IAAa,UAAY,iCACzB,EACD,CACS,WACV,GAAI,WAEJ,EAACA,EAAgB,SAAA,CACf,UAAW,EACT,MACA,IAAa,UAAY,qBACzB,IAAa,UAAY,oCACzB,IAAa,UAAY,uCAC1B,CAEA,YACwB,EACH,CAAA,CACH,CAK7B,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,UAAW,EAAG,8CAA+C,EAAU,CAAE,GAAI,GAAS,CAI/I,SAAS,EAAW,CAAE,YAAW,WAAU,GAAG,GAA4D,CACxG,OACE,EAACA,EAAgB,KAAA,CACf,YAAU,cACV,UAAW,EACT,yCACA,iCACA,SACA,gDACA,8CAEA,kBACA,uBAEA,2BACA,oCAEA,8BACA,mBACA,uCACA,wDAEA,qBACA,6BACA,sBACA,EACD,CACD,GAAI,YAEJ,EAACA,EAAgB,SAAA,CAAU,WAAA,CAAoC,CAC/D,EAAC,OAAA,CAAK,UAAU,sEACd,EAACA,EAAgB,cAAA,CAAA,SACf,EAAC,EAAA,CAAU,KAAM,GAAA,CAAM,CAAA,CACO,EAC3B,CAAA,EACc,CAK3B,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAiE,CACxG,OAAO,EAACA,EAAgB,UAAA,CAAU,YAAU,mBAAmB,UAAW,EAAG,qDAAsD,EAAU,CAAE,GAAI,GAAS"}
@@ -1,2 +1,2 @@
1
1
  const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`lucide-react`),n=require(`react/jsx-runtime`),r=require(`@customafk/react-toolkit/utils`),i=require(`radix-ui`);function a({...e}){return(0,n.jsx)(i.Select.Root,{"data-slot":`select`,...e})}function o({...e}){return(0,n.jsx)(i.Select.Group,{"data-slot":`select-group`,...e})}function s({...e}){return(0,n.jsx)(i.Select.Value,{"data-slot":`select-value`,...e})}function c({className:e,size:a=`default`,children:o,...s}){return(0,n.jsxs)(i.Select.Trigger,{"data-slot":`select-trigger`,"data-size":a,className:(0,r.cn)(`flex w-full items-center justify-between`,`outline-1 outline-border -outline-offset-1`,`gap-2 rounded bg-transparent px-3 py-2`,`rounded shadow-input transition-all`,`cursor-pointer whitespace-nowrap text-sm`,`focus-visible:text-text-positive-strong`,`focus-visible:outline-primary-strong`,`focus-visible:ring-4`,`focus-visible:ring-primary-weak`,`data-[state=open]:text-text-positive-muted`,`data-[state=open]:outline-primary-strong`,`data-[state=open]:ring-4`,`data-[state=open]:ring-primary-weak`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`aria-invalid:bg-danger-bg-subtle`,`aria-invalid:outline-danger`,`aria-invalid:ring-danger-weak`,`aria-invalid:focus:outline-danger-strong`,`aria-invalid:focus:ring-4`,`aria-invalid:placeholder:text-text-positive-weak`,`aria-invalid:data-[state=open]:outline-danger-strong`,`aria-invalid:data-[state=open]:ring-danger-weak`,`data-placeholder:text-text-positive-muted`,`*:data-[slot=select-value]:line-clamp-1`,`*:data-[slot=select-value]:flex`,`*:data-[slot=select-value]:items-center`,`*:data-[slot=select-value]:gap-2`,`aria-readonly:bg-muted-muted`,`aria-readonly:cursor-default`,`aria-readonly:focus:outline-none`,`aria-readonly:ring-0`,`aria-readonly:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg]:pointer-events-none`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-muted-foreground`,e),...s,children:[o,(0,n.jsx)(i.Select.Icon,{asChild:!0,children:(0,n.jsx)(t.ChevronDownIcon,{size:16,opacity:50})})]})}function l({className:e,children:t,position:a=`popper`,...o}){return(0,n.jsx)(i.Select.Portal,{children:(0,n.jsx)(i.Select.Content,{"data-slot":`select-content`,className:(0,r.cn)(`relative z-50 max-h-80 min-w-32 overflow-y-auto overflow-x-hidden rounded shadow-dropdown duration-300`,`bg-white`,`w-(--radix-select-trigger-width)`,`origin-(--radix-select-content-transform-origin)`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out`,`data-[side=bottom]:slide-in-from-top-8`,`data-[side=left]:slide-in-from-right-8`,`data-[side=right]:slide-in-from-left-8`,`data-[side=top]:slide-in-from-bottom-8`,a===`popper`&&`data-[side=bottom]:translate-y-1`,a===`popper`&&`data-[side=left]:-translate-x-1`,a===`popper`&&`data-[side=right]:translate-x-1`,a===`popper`&&`data-[side=top]:-translate-y-1`,e),position:a,...o,children:(0,n.jsx)(i.Select.Viewport,{className:(0,r.cn)(`p-1`,a===`popper`&&`w-full scroll-my-1`,a===`popper`&&`h-(--radix-select-trigger-height)`,a===`popper`&&`min-w-(--radix-select-trigger-width)`),children:t})})})}function u({className:e,...t}){return(0,n.jsx)(i.Select.Label,{"data-slot":`select-label`,className:(0,r.cn)(`px-2 py-1.5 text-text-positive-weak text-xs`,e),...t})}function d({className:e,children:a,...o}){return(0,n.jsxs)(i.Select.Item,{"data-slot":`select-item`,className:(0,r.cn)(`relative flex select-none items-center`,`gap-2 rounded py-2.5 pr-8 pl-2`,`w-full`,`cursor-pointer outline-none transition-colors`,`font-medium text-sm text-text-positive-weak`,`focus:shadow-xs`,`focus:bg-muted-muted`,`data-disabled:opacity-50`,`data-disabled:pointer-events-none`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-text-positive-weak`,`*:[span]:last:flex`,`*:[span]:last:items-center`,`*:[span]:last:gap-2`,e),...o,children:[(0,n.jsx)(i.Select.ItemText,{children:a}),(0,n.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,n.jsx)(i.Select.ItemIndicator,{children:(0,n.jsx)(t.CheckIcon,{size:16})})})]})}function f({className:e,...t}){return(0,n.jsx)(i.Select.Separator,{"data-slot":`select-separator`,className:(0,r.cn)(`-mx-1 pointer-events-none my-1 h-px bg-border-weak`,e),...t})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=select-DfvSMRUq.cjs.map
2
+ //# sourceMappingURL=select-DzylYFes.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-DfvSMRUq.cjs","names":["SelectPrimitive","ChevronDownIcon","CheckIcon"],"sources":["../packages/components/ui/select.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Select as SelectPrimitive } from 'radix-ui';\n\n/**\n * Accessible dropdown select built on Radix UI's Select primitives, composed from `Select`, `SelectTrigger`, `SelectContent`, and `SelectItem`.\n *\n * @example\n * ```tsx\n * import {\n * Select, SelectTrigger, SelectValue,\n * SelectContent, SelectItem,\n * } from '@customafk/lunas-ui/ui/select';\n *\n * <Select>\n * <SelectTrigger>\n * <SelectValue placeholder=\"Pick a fruit\" />\n * </SelectTrigger>\n * <SelectContent>\n * <SelectItem value=\"apple\">Apple</SelectItem>\n * <SelectItem value=\"banana\">Banana</SelectItem>\n * </SelectContent>\n * </Select>\n * ```\n */\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\n/** Groups related `SelectItem` elements with an optional `SelectLabel` header. */\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\n/** Renders the currently selected value (or a placeholder) inside `SelectTrigger`. */\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\n/**\n * The button that opens the select dropdown; renders the current value and a chevron icon.\n *\n * @param size - `'default'` (standard padding) or `'sm'` (compact).\n */\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n /** Controls the trigger's padding — `'default'` or `'sm'`. */\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'flex w-full items-center justify-between',\n 'outline-1 outline-border -outline-offset-1',\n 'gap-2 rounded bg-transparent px-3 py-2',\n 'rounded shadow-input transition-all',\n 'cursor-pointer whitespace-nowrap text-sm',\n\n // Text styles\n 'focus-visible:text-text-positive-strong',\n 'focus-visible:outline-primary-strong',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n\n // State styles\n 'data-[state=open]:text-text-positive-muted',\n 'data-[state=open]:outline-primary-strong',\n 'data-[state=open]:ring-4',\n 'data-[state=open]:ring-primary-weak',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n\n // Invalid state\n 'aria-invalid:bg-danger-bg-subtle',\n 'aria-invalid:outline-danger',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:focus:outline-danger-strong',\n 'aria-invalid:focus:ring-4',\n 'aria-invalid:placeholder:text-text-positive-weak',\n 'aria-invalid:data-[state=open]:outline-danger-strong',\n 'aria-invalid:data-[state=open]:ring-danger-weak',\n\n // Placeholder styles\n 'data-placeholder:text-text-positive-muted',\n '*:data-[slot=select-value]:line-clamp-1',\n '*:data-[slot=select-value]:flex',\n '*:data-[slot=select-value]:items-center',\n '*:data-[slot=select-value]:gap-2',\n\n // Readonly state\n 'aria-readonly:bg-muted-muted',\n 'aria-readonly:cursor-default',\n 'aria-readonly:focus:outline-none',\n 'aria-readonly:ring-0',\n 'aria-readonly:pointer-events-none',\n\n // Icon styles\n '[&_svg]:shrink-0',\n '[&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon size={16} opacity={50} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\n/** Floating dropdown panel that renders inside a portal with enter/exit animations. */\nfunction SelectContent({ className, children, position = 'popper', ...props }: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'relative z-50 max-h-80 min-w-32 overflow-y-auto overflow-x-hidden rounded shadow-dropdown duration-300',\n 'bg-white',\n 'w-(--radix-select-trigger-width)',\n 'origin-(--radix-select-content-transform-origin)',\n\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in',\n\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out',\n\n 'data-[side=bottom]:slide-in-from-top-8',\n 'data-[side=left]:slide-in-from-right-8',\n 'data-[side=right]:slide-in-from-left-8',\n 'data-[side=top]:slide-in-from-bottom-8',\n\n position === 'popper' && 'data-[side=bottom]:translate-y-1',\n position === 'popper' && 'data-[side=left]:-translate-x-1',\n position === 'popper' && 'data-[side=right]:translate-x-1',\n position === 'popper' && 'data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' && 'w-full scroll-my-1',\n position === 'popper' && 'h-(--radix-select-trigger-height)',\n position === 'popper' && 'min-w-(--radix-select-trigger-width)'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\n/** Non-interactive label displayed above a `SelectGroup` to describe its options. */\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return <SelectPrimitive.Label data-slot=\"select-label\" className={cn('px-2 py-1.5 text-text-positive-weak text-xs', className)} {...props} />;\n}\n\n/** A selectable option within `SelectContent`; shows a check icon when chosen. */\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n 'relative flex select-none items-center',\n 'gap-2 rounded py-2.5 pr-8 pl-2',\n 'w-full',\n 'cursor-pointer outline-none transition-colors',\n 'font-medium text-sm text-text-positive-weak',\n\n 'focus:shadow-xs',\n 'focus:bg-muted-muted',\n\n 'data-disabled:opacity-50',\n 'data-disabled:pointer-events-none',\n\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n\n '*:[span]:last:flex',\n '*:[span]:last:items-center',\n '*:[span]:last:gap-2',\n className\n )}\n {...props}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span>\n </SelectPrimitive.Item>\n );\n}\n\n/** Thin horizontal rule used to visually separate groups of `SelectItem` elements. */\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return <SelectPrimitive.Separator data-slot=\"select-separator\" className={cn('-mx-1 pointer-events-none my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\nexport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue };\n"],"mappings":"uKA6BA,SAAS,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,GAAS,CAI/D,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAItE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAQtE,SAAS,EAAc,CACrB,YACA,OAAO,UACP,WACA,GAAG,GAIF,CACD,OACE,EAAA,EAAA,MAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,YAAW,EACX,WAAA,EAAA,EAAA,IACE,2CACA,6CACA,yCACA,sCACA,2CAGA,0CACA,uCACA,uBACA,kCAGA,6CACA,2CACA,2BACA,sCACA,8BACA,sBAGA,mCACA,8BACA,gCACA,2CACA,4BACA,mDACA,uDACA,kDAGA,4CACA,0CACA,kCACA,0CACA,mCAGA,+BACA,+BACA,mCACA,uBACA,oCAGA,mBACA,8BACA,uCACA,sDACA,EACD,CACD,GAAI,YAEH,GACD,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CAAK,QAAA,aACpB,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAgB,KAAM,GAAI,QAAS,IAAM,EACrB,CAAA,EACC,CAK9B,SAAS,EAAc,CAAE,YAAW,WAAU,WAAW,SAAU,GAAG,GAA+D,CACnI,OACE,EAAA,EAAA,KAACD,EAAAA,OAAgB,OAAA,CAAA,UACf,EAAA,EAAA,KAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,WAAA,EAAA,EAAA,IACE,yGACA,WACA,mCACA,mDAEA,+BACA,4BAEA,kCACA,+BAEA,yCACA,yCACA,yCACA,yCAEA,IAAa,UAAY,mCACzB,IAAa,UAAY,kCACzB,IAAa,UAAY,kCACzB,IAAa,UAAY,iCACzB,EACD,CACS,WACV,GAAI,YAEJ,EAAA,EAAA,KAACA,EAAAA,OAAgB,SAAA,CACf,WAAA,EAAA,EAAA,IACE,MACA,IAAa,UAAY,qBACzB,IAAa,UAAY,oCACzB,IAAa,UAAY,uCAC1B,CAEA,YACwB,EACH,CAAA,CACH,CAK7B,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,WAAA,EAAA,EAAA,IAAc,8CAA+C,EAAU,CAAE,GAAI,GAAS,CAI/I,SAAS,EAAW,CAAE,YAAW,WAAU,GAAG,GAA4D,CACxG,OACE,EAAA,EAAA,MAACA,EAAAA,OAAgB,KAAA,CACf,YAAU,cACV,WAAA,EAAA,EAAA,IACE,yCACA,iCACA,SACA,gDACA,8CAEA,kBACA,uBAEA,2BACA,oCAEA,8BACA,mBACA,uCACA,wDAEA,qBACA,6BACA,sBACA,EACD,CACD,GAAI,aAEJ,EAAA,EAAA,KAACA,EAAAA,OAAgB,SAAA,CAAU,WAAA,CAAoC,EAC/D,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,uEACd,EAAA,EAAA,KAACA,EAAAA,OAAgB,cAAA,CAAA,UACf,EAAA,EAAA,KAACE,EAAAA,UAAAA,CAAU,KAAM,GAAA,CAAM,CAAA,CACO,EAC3B,CAAA,EACc,CAK3B,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAiE,CACxG,OAAO,EAAA,EAAA,KAACF,EAAAA,OAAgB,UAAA,CAAU,YAAU,mBAAmB,WAAA,EAAA,EAAA,IAAc,qDAAsD,EAAU,CAAE,GAAI,GAAS"}
1
+ {"version":3,"file":"select-DzylYFes.cjs","names":["SelectPrimitive","ChevronDownIcon","CheckIcon"],"sources":["../packages/components/ui/select.tsx"],"sourcesContent":["'use client';\n\nimport { CheckIcon, ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Select as SelectPrimitive } from 'radix-ui';\n\n/**\n * Accessible dropdown select built on Radix UI's Select primitives, composed from `Select`, `SelectTrigger`, `SelectContent`, and `SelectItem`.\n *\n * @example\n * ```tsx\n * import {\n * Select, SelectTrigger, SelectValue,\n * SelectContent, SelectItem,\n * } from '@customafk/lunas-ui/ui/select';\n *\n * <Select>\n * <SelectTrigger>\n * <SelectValue placeholder=\"Pick a fruit\" />\n * </SelectTrigger>\n * <SelectContent>\n * <SelectItem value=\"apple\">Apple</SelectItem>\n * <SelectItem value=\"banana\">Banana</SelectItem>\n * </SelectContent>\n * </Select>\n * ```\n */\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\n/** Groups related `SelectItem` elements with an optional `SelectLabel` header. */\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\n/** Renders the currently selected value (or a placeholder) inside `SelectTrigger`. */\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\n/**\n * The button that opens the select dropdown; renders the current value and a chevron icon.\n *\n * @param size - `'default'` (standard padding) or `'sm'` (compact).\n */\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n /** Controls the trigger's padding — `'default'` or `'sm'`. */\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'flex w-full items-center justify-between',\n 'outline-1 outline-border -outline-offset-1',\n 'gap-2 rounded bg-transparent px-3 py-2',\n 'rounded shadow-input transition-all',\n 'cursor-pointer whitespace-nowrap text-sm',\n\n // Text styles\n 'focus-visible:text-text-positive-strong',\n 'focus-visible:outline-primary-strong',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n\n // State styles\n 'data-[state=open]:text-text-positive-muted',\n 'data-[state=open]:outline-primary-strong',\n 'data-[state=open]:ring-4',\n 'data-[state=open]:ring-primary-weak',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n\n // Invalid state\n 'aria-invalid:bg-danger-bg-subtle',\n 'aria-invalid:outline-danger',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:focus:outline-danger-strong',\n 'aria-invalid:focus:ring-4',\n 'aria-invalid:placeholder:text-text-positive-weak',\n 'aria-invalid:data-[state=open]:outline-danger-strong',\n 'aria-invalid:data-[state=open]:ring-danger-weak',\n\n // Placeholder styles\n 'data-placeholder:text-text-positive-muted',\n '*:data-[slot=select-value]:line-clamp-1',\n '*:data-[slot=select-value]:flex',\n '*:data-[slot=select-value]:items-center',\n '*:data-[slot=select-value]:gap-2',\n\n // Readonly state\n 'aria-readonly:bg-muted-muted',\n 'aria-readonly:cursor-default',\n 'aria-readonly:focus:outline-none',\n 'aria-readonly:ring-0',\n 'aria-readonly:pointer-events-none',\n\n // Icon styles\n '[&_svg]:shrink-0',\n '[&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon size={16} opacity={50} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\n/** Floating dropdown panel that renders inside a portal with enter/exit animations. */\nfunction SelectContent({ className, children, position = 'popper', ...props }: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'relative z-50 max-h-80 min-w-32 overflow-y-auto overflow-x-hidden rounded shadow-dropdown duration-300',\n 'bg-white',\n 'w-(--radix-select-trigger-width)',\n 'origin-(--radix-select-content-transform-origin)',\n\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in',\n\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out',\n\n 'data-[side=bottom]:slide-in-from-top-8',\n 'data-[side=left]:slide-in-from-right-8',\n 'data-[side=right]:slide-in-from-left-8',\n 'data-[side=top]:slide-in-from-bottom-8',\n\n position === 'popper' && 'data-[side=bottom]:translate-y-1',\n position === 'popper' && 'data-[side=left]:-translate-x-1',\n position === 'popper' && 'data-[side=right]:translate-x-1',\n position === 'popper' && 'data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' && 'w-full scroll-my-1',\n position === 'popper' && 'h-(--radix-select-trigger-height)',\n position === 'popper' && 'min-w-(--radix-select-trigger-width)'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\n/** Non-interactive label displayed above a `SelectGroup` to describe its options. */\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return <SelectPrimitive.Label data-slot=\"select-label\" className={cn('px-2 py-1.5 text-text-positive-weak text-xs', className)} {...props} />;\n}\n\n/** A selectable option within `SelectContent`; shows a check icon when chosen. */\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n 'relative flex select-none items-center',\n 'gap-2 rounded py-2.5 pr-8 pl-2',\n 'w-full',\n 'cursor-pointer outline-none transition-colors',\n 'font-medium text-sm text-text-positive-weak',\n\n 'focus:shadow-xs',\n 'focus:bg-muted-muted',\n\n 'data-disabled:opacity-50',\n 'data-disabled:pointer-events-none',\n\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-text-positive-weak\",\n\n '*:[span]:last:flex',\n '*:[span]:last:items-center',\n '*:[span]:last:gap-2',\n className\n )}\n {...props}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span>\n </SelectPrimitive.Item>\n );\n}\n\n/** Thin horizontal rule used to visually separate groups of `SelectItem` elements. */\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return <SelectPrimitive.Separator data-slot=\"select-separator\" className={cn('-mx-1 pointer-events-none my-1 h-px bg-border-weak', className)} {...props} />;\n}\n\nexport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue };\n"],"mappings":"uKA6BA,SAAS,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,GAAS,CAI/D,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAItE,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,GAAS,CAQtE,SAAS,EAAc,CACrB,YACA,OAAO,UACP,WACA,GAAG,GAIF,CACD,OACE,EAAA,EAAA,MAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,YAAW,EACX,WAAA,EAAA,EAAA,IACE,2CACA,6CACA,yCACA,sCACA,2CAGA,0CACA,uCACA,uBACA,kCAGA,6CACA,2CACA,2BACA,sCACA,8BACA,sBAGA,mCACA,8BACA,gCACA,2CACA,4BACA,mDACA,uDACA,kDAGA,4CACA,0CACA,kCACA,0CACA,mCAGA,+BACA,+BACA,mCACA,uBACA,oCAGA,mBACA,8BACA,uCACA,sDACA,EACD,CACD,GAAI,YAEH,GACD,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CAAK,QAAA,aACpB,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAgB,KAAM,GAAI,QAAS,IAAM,EACrB,CAAA,EACC,CAK9B,SAAS,EAAc,CAAE,YAAW,WAAU,WAAW,SAAU,GAAG,GAA+D,CACnI,OACE,EAAA,EAAA,KAACD,EAAAA,OAAgB,OAAA,CAAA,UACf,EAAA,EAAA,KAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,WAAA,EAAA,EAAA,IACE,yGACA,WACA,mCACA,mDAEA,+BACA,4BAEA,kCACA,+BAEA,yCACA,yCACA,yCACA,yCAEA,IAAa,UAAY,mCACzB,IAAa,UAAY,kCACzB,IAAa,UAAY,kCACzB,IAAa,UAAY,iCACzB,EACD,CACS,WACV,GAAI,YAEJ,EAAA,EAAA,KAACA,EAAAA,OAAgB,SAAA,CACf,WAAA,EAAA,EAAA,IACE,MACA,IAAa,UAAY,qBACzB,IAAa,UAAY,oCACzB,IAAa,UAAY,uCAC1B,CAEA,YACwB,EACH,CAAA,CACH,CAK7B,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,WAAA,EAAA,EAAA,IAAc,8CAA+C,EAAU,CAAE,GAAI,GAAS,CAI/I,SAAS,EAAW,CAAE,YAAW,WAAU,GAAG,GAA4D,CACxG,OACE,EAAA,EAAA,MAACA,EAAAA,OAAgB,KAAA,CACf,YAAU,cACV,WAAA,EAAA,EAAA,IACE,yCACA,iCACA,SACA,gDACA,8CAEA,kBACA,uBAEA,2BACA,oCAEA,8BACA,mBACA,uCACA,wDAEA,qBACA,6BACA,sBACA,EACD,CACD,GAAI,aAEJ,EAAA,EAAA,KAACA,EAAAA,OAAgB,SAAA,CAAU,WAAA,CAAoC,EAC/D,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,uEACd,EAAA,EAAA,KAACA,EAAAA,OAAgB,cAAA,CAAA,UACf,EAAA,EAAA,KAACE,EAAAA,UAAAA,CAAU,KAAM,GAAA,CAAM,CAAA,CACO,EAC3B,CAAA,EACc,CAK3B,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAiE,CACxG,OAAO,EAAA,EAAA,KAACF,EAAAA,OAAgB,UAAA,CAAU,YAAU,mBAAmB,WAAA,EAAA,EAAA,IAAc,qDAAsD,EAAU,CAAE,GAAI,GAAS"}
@@ -0,0 +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(`@customafk/react-toolkit/color-hash`),C=require(`@tanstack/react-table`),ee=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})]}),te=({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,{})}),E=(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,{})});E.displayName=`UITableCurrencyDisplay`;const D=({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`})})]})}),re=({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`]})]})})]}),ie=({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,{})},O=({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))})]})})]})},k=({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))})})]}),A=({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,{}),ae=({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})]}),j=({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`)})})]}),M=(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,`%`]})]})});M.displayName=`UITableProgressDisplay`;const N=({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`})})]}),oe=(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=oe(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 F=({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,` `)}),se=({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:S.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})]})]}),ce=60,le=60,ue=20,de=20,fe=(0,y.createContext)(null),pe=()=>{let e=(0,y.use)(fe);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},me=(0,y.createContext)(null),he=()=>{let e=(0,y.use)(me);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},ge=(0,y.createContext)(null),_e=()=>{let e=(0,y.use)(ge);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},I=(0,y.createContext)(null),ve=()=>{let e=(0,y.use)(I);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},ye=(0,y.createContext)(null),be=()=>{let e=(0,y.use)(ye);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},xe=(0,y.createContext)(null),L=()=>{let e=(0,y.use)(xe);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},Se=(0,y.createContext)(null),Ce=()=>{let e=(0,y.use)(Se);if(!e)throw Error(`useUITableFilterContext must be used within a UITableProvider`);return e},R=(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)(`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`,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`})})]})]})]})})]})});R.displayName=`UITableHeadCellOption`;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:(0,x.cn)(e?`sticky`:`relative`),...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 B=(0,y.memo)(({isEmpty:e,isFetching:t})=>!e&&!t?null:(0,b.jsxs)(`div`,{className:`sticky left-0 flex min-h-96 flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`,children:[t&&(0,b.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,b.jsx)(f.t,{className:`size-12`}),(0,b.jsx)(`p`,{children:`Loading data...`})]}),e&&!t&&(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`})]})]}));B.displayName=`UITableEmptyDisplay`;const we=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`div`,{slot:`table-wrapper`,className:(0,x.cn)(`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`,e),...n,children:t}));we.displayName=`UITableWrapper`;const V=(0,y.memo)(({children:e,...t})=>{let{innerWrapperId:n}=pe();return(0,b.jsx)(`div`,{id:n,slot:`table-inner-wrapper`,className:`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`,...t,children:e})});V.displayName=`UITableInnerWrapper`;const H=(0,y.memo)(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=he(),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:`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`,style:{minWidth:i},...t,children:e})});H.displayName=`UITableInnerTable`;const U=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`thead`,{slot:`table-head`,className:(0,x.cn)(`sticky top-0 z-20 h-9 w-full`,`grid select-none bg-muted-bg-subtle`,`border-b border-b-border shadow`,`font-medium text-[13px] text-text-positive-weak`,`[&_tr:not(:last-child)_td]:border-b`,`[&_th]:inline-flex`,`[&_th]:items-center`,`[&_th]:transition-all`,`[&_th]:duration-300`,`[&_th]:whitespace-nowrap`,`[&_th]:border-border`,`[&_th]:border-r`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`,e),...n,children:t}));U.displayName=`UITableHead`;const W=(0,y.memo)(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=_e(),c=o[0]?.id,l=a[a.length-1]?.id;return(0,b.jsx)(`tr`,{slot:`table-head-row`,className:(0,x.cn)(`flex`,t),...n,children:e.headers.map((e,t)=>{let n=e.column.getIsVisible(),a=i.left?.includes(e.id)?`left`:i.right?.includes(e.id)?`right`:!1;return e.id===`select`?(0,b.jsx)(z,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):(0,b.jsx)(G,{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}`)})})});W.displayName=`UITableHeadRow`;const G=(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=(0,y.useMemo)(()=>t?20:void 0,[t]),p=(0,y.useMemo)(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),m=(0,y.useMemo)(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),h=(0,y.useMemo)(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),g=(0,y.useMemo)(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),_=(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:f,left:p,right:m,width:h,minWidth:g,maxWidth:_},className:(0,x.cn)(`group flex`,a===`actions`&&`border-r-0!`,t?`sticky`:`relative`,t===`left`&&r&&`border-r border-r-border`,t===`right`&&n&&`border-l border-l-border`,o?.columnDef.meta?.position===`center`&&`justify-center`,o?.columnDef.meta?.position===`end`&&`justify-end`,o?.columnDef.meta?.position===`start`&&`justify-start`,s),...d,children:[(0,b.jsx)(`div`,{className:`truncate px-4`,children:c}),i&&(0,b.jsx)(R,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});G.displayName=`UITableHeadCell`;const K=(0,y.memo)(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isEmpty:a}=ve();return a||i?null:(0,b.jsx)(`tbody`,{slot:`table-body`,style:{height:e},className:(0,x.cn)(`relative w-full`,`grid`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:flex-none`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer [&_tr]:focus:outline-none`,`[&_tr]:border-b [&_tr]:border-b-border`,`[&_td]:z-10`,`[&_td]:transition-all`,`[&_td]:duration-300`,`[&_td]:flex`,`[&_td]:flex-none`,`[&_td]:overflow-hidden`,`[&_td]:whitespace-nowrap`,`[&_td]:px-4`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:border-border`,`[&_td]:data-[selected=true]:bg-muted-muted!`,`[&_td]:data-[selected=true]:hover:bg-muted-muted!`,`[&_td>div]:inline-flex`,`[&_td>div]:items-center`,`[&_td>div]:w-full`,`[&_td:not([data-pinned=false])]:z-20`,`[&_td:not([data-pinned=false])]:sticky`,`[&_td:not([data-pinned=false])]:bg-card`,t),...r,children:n})});K.displayName=`UITableBody`;const q=(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}=be(),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:`group [&_td]:border-r [&_td]:border-r-border [&_td]:last:border-r-0`,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)(Y,{"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)(J,{"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)(X,{"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}`)})})});q.displayName=`UITableRow`;const J=(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)(`group-hover:bg-muted-bg-subtle!`,e?`sticky`:`relative`,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})})})});J.displayName=`UITableCellSelect`;const Y=(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:`sticky border-r-0! inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`,...i,children:a})});Y.displayName=`UITableCellActions`;const X=(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}=he(),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:(0,x.cn)(`group-hover:bg-muted-bg-subtle!`,e===`left`&&n&&`border-r border-r-border`,e===`right`&&t&&`border-l border-l-border`),...s,children:(0,b.jsx)(`div`,{ref:d,slot:`table-body-cell-inner`,className:(0,x.cn)(`overflow-x-hidden`,i===`start`&&`justify-start`,i===`center`&&`justify-center`,i===`end`&&`justify-end`),children:_})})});X.displayName=`UITableCell`;const Te=(0,y.memo)(({className:e,children:t,...n})=>(0,b.jsx)(`tfoot`,{slot:`table-footer`,className:(0,x.cn)(`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`,e),...n,children:t}));Te.displayName=`UITableFooter`;const Z=(0,y.memo)(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=pe(),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:(0,x.cn)(`flex cursor-pointer gap-x-0.5`,o===`fetching`&&`cursor-not-allowed`,o===`idle`&&`text-text-positive-weak hover:text-text-positive`,o===`error`&&`text-danger hover:text-danger-strong`),onClick:u,children:[o===`idle`&&(0,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});Z.displayName=`UITableLoadMore`;const Ee=({children:e})=>{let{table:t,isEmpty:n,isFetching:r,fetchMoreData:i}=L(),{rowSelectionState:a}=ve(),o=(0,y.useRef)(null),{rows:s}=t.getRowModel(),c=(0,ee.useVirtualizer)({count:s.length+(i?1:0),estimateSize:()=>40,getScrollElement:()=>o.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),l=(0,y.useMemo)(()=>{let e=c.getTotalSize(),t=o.current?.clientHeight??0;return`${Math.max(e,t)}px`},[c.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)(V,{ref:o,children:[(0,b.jsxs)(H,{children:[(0,b.jsx)(U,{children:t.getHeaderGroups().map(e=>(0,b.jsx)(W,{headerGroup:e},e.id))}),(0,b.jsx)(K,{height:l,children:c.getVirtualItems().map(e=>{let t=s[e.index];if(!t&&i)return(0,b.jsx)(Z,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:i},e.key);let n=a[t.id]===!0;return(0,b.jsx)(q,{ref:c.measureElement,row:t,isSelected:n,virtualRowIndex:e.index,virtualRowStart:e.start},e.key)})})]}),(0,b.jsx)(B,{isEmpty:n,isFetching:r})]})}),e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(p.t,{}),e]})]})},De={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})},Oe=[{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`}],ke=[{value:`contains`,label:`Contains`},{value:`equals`,label:`Equals`},{value:`starts-with`,label:`Starts with`},{value:`ends-with`,label:`Ends with`}];function Ae(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 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.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))}),Me=({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})})]})]}),Ne=({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:Oe.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})})]}),Pe=({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:ke.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})})]}),Fe=[{label:`Yes`,value:!0},{label:`No`,value:!1},{label:`Unknow`,value:null}],Ie=({value:e,onChange:n})=>(0,b.jsx)(`div`,{className:`flex flex-col gap-1 p-3`,children:Fe.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 Le({value:e,definition:t,onChange:n}){switch(e.type){case`tag`:return(0,b.jsx)(je,{value:e,definition:t,onChange:n});case`date-range`:return(0,b.jsx)(Me,{value:e,onChange:n});case`number`:return(0,b.jsx)(Ne,{value:e,onChange:n});case`text`:return(0,b.jsx)(Pe,{value:e,onChange:n});case`boolean`:return(0,b.jsx)(Ie,{value:e,onChange:n})}}const Re=({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:Ae(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:De[n.type]}),(0,b.jsx)(`p`,{className:`font-medium`,children:n.label})]})}),(0,b.jsx)(Le,{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})})]}),ze=({checked:e,title:t,onCheckedChange:n})=>(0,b.jsxs)(`div`,{className:`flex h-fit items-center gap-2`,children:[(0,b.jsx)(d.t,{checked:e,onCheckedChange:n}),(0,b.jsx)(`p`,{className:`text-sm`,children:t})]}),Be=()=>{let{table:e}=L(),{filterDefinitions:n,activeFilters:r,addFilter:i,removeFilter:a,updateFilter:o}=Ce(),[s,u]=(0,y.useState)(null),d=n.filter(e=>!r.some(t=>t.definitionId===e.id));return(0,b.jsx)(p.n,{defaultSize:25,className:(0,x.cn)(`bg-card`,s===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.jsxs)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:[(0,b.jsx)(y.Activity,{mode:s===`columns`?`visible`:`hidden`,children:(0,b.jsxs)(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[(0,b.jsx)(`p`,{className:`px-2 font-medium`,children:`Columns Visibility`}),(0,b.jsx)(c.t,{}),(0,b.jsx)(`div`,{className:`flex flex-col gap-4 pt-4`,children:e.getAllColumns().map(e=>[`select`,`actions`].includes(e.id)?null:(0,b.jsx)(ze,{checked:e.getIsVisible(),title:String(e.columnDef.header),onCheckedChange:t=>e.toggleVisibility(!!t)},e.id))})]})}),(0,b.jsx)(y.Activity,{mode:s===`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:d.length===0,children:[(0,b.jsx)(v.ListFilterPlus,{size:13}),`Add Filter`]})}),(0,b.jsx)(l.r,{align:`end`,children:d.map(e=>(0,b.jsxs)(l.a,{className:`flex items-center gap-2`,onClick:()=>i(e.id),children:[De[e.type],e.label]},e.id))})]})]}),(0,b.jsx)(c.t,{}),r.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:r.map(e=>{let t=n.find(t=>t.id===e.definitionId);return t?(0,b.jsx)(Re,{filter:e,definition:t,onRemove:()=>a(e.id),onUpdate:t=>o(e.id,t)},e.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)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,s===`columns`&&`bg-card`),onClick:()=>u(s===`columns`?null:`columns`),children:[(0,b.jsx)(v.Columns4Icon,{size:18}),(0,b.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Columns`})]}),(0,b.jsx)(c.t,{}),(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`,s===`filters`&&`bg-card`),onClick:()=>u(s===`filters`?null:`filters`),children:[(0,b.jsx)(v.ListFilterIcon,{size:18}),r.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:r.length}),(0,b.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),(0,b.jsx)(c.t,{})]})]})})};function Ve(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 He=(0,y.memo)(({innerWrapperId:e,children:t})=>{let n=(0,y.useMemo)(()=>({innerWrapperId:e}),[e]);return(0,b.jsx)(fe.Provider,{value:n,children:t})});He.displayName=`UITableInnerWrapperProvider`;const Q=(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)(me.Provider,{value:i,children:r})});Q.displayName=`UITableInnerTableProvider`;const Ue=(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)(ge.Provider,{value:o,children:a})});Ue.displayName=`UITableHeadRowProvider`;const We=(0,y.memo)(({isFetching:e,isEmpty:t,rowSelectionState:n,children:r})=>{let i=(0,y.useMemo)(()=>({isFetching:e,isEmpty:t,rowSelectionState:n}),[e,t,n]);return(0,b.jsx)(I.Provider,{value:i,children:r})});We.displayName=`UITableBodyProvider`;const Ge=(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)(ye.Provider,{value:s,children:o})});Ge.displayName=`UITableRowProvider`;const Ke=({title:e,isFetching:t=!1,isRefetching:n=!1,data:r,columns:i,totalRows:a,leftPinnedColumns:o=[],rightPinnedColumns:s=[],keyOfClickRow:c,onClickRow:l,onRowSelection:u,onColumnPinning:d,fetchMoreData:f,csvData:p,csvFileName:m,filterDefinitions:h=[],onFilterChange:g,children:_})=>{let v=(0,y.useId)(),x=(0,y.useId)(),[S,ee]=(0,y.useState)({}),[w,T]=(0,y.useState)({right:s,left:[`select`,...o]}),[te,ne]=(0,y.useState)({}),[E,D]=(0,y.useState)([]),re=(0,y.useCallback)(e=>(ee(e),u?.(e instanceof Function?e(S):e),e),[S,u]),ie=(0,y.useCallback)(e=>{T(e),d?.(e instanceof Function?e(w):e)},[w,d]),O=(0,y.useCallback)(e=>{let t=h.find(t=>t.id===e);if(!t)return;let n={id:`${e}-${crypto.randomUUID()}`,definitionId:e,value:Ve(t.type)};D(e=>{let t=[...e,n];return g?.(t),t})},[h,g]),k=(0,y.useCallback)(e=>{D(t=>{let n=t.filter(t=>t.id!==e);return g?.(n),n})},[g]),A=(0,y.useCallback)((e,t)=>{D(n=>{let r=n.map(n=>n.id===e?{...n,value:t}:n);return g?.(r),r})},[g]),ae=(0,y.useMemo)(()=>({filterDefinitions:h,activeFilters:E,addFilter:O,removeFilter:k,updateFilter:A}),[h,E,O,k,A]),j=(0,C.useReactTable)({data:r,columns:i,state:{rowSelection:S,columnPinning:w,expanded:te},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:re,onColumnPinningChange:ie,onExpandedChange:ne}),M=(0,y.useMemo)(()=>{let{rows:e}=j.getRowModel();return e},[j.getRowModel().rows,j.getState().columnPinning]),N=(0,y.useMemo)(()=>!t&&M.length===0,[M,t]),oe=(0,y.useMemo)(()=>({title:e,table:j,isEmpty:N,isFetching:t,isRefetching:n,totalRows:a,fetchMoreData:f,csvData:p,csvFileName:m}),[e,j,N,n,t,a,f,j.getState().columnPinning,j.getState().expanded,p,m]),P=(0,y.useMemo)(()=>j.getState(),[j.getState()]),F=(0,y.useMemo)(()=>j.getIsAllRowsSelected(),[j.getIsAllRowsSelected()]),se=(0,y.useMemo)(()=>P.rowSelection,[P.rowSelection]),ce=(0,y.useMemo)(()=>P.columnPinning,[P.columnPinning]),le=(0,y.useMemo)(()=>j.getLeftHeaderGroups()[0]?.headers||[],[j.getState().columnPinning]),ue=(0,y.useMemo)(()=>j.getRightHeaderGroups()[0]?.headers||[],[j.getState().columnPinning]),de=(0,y.useMemo)(()=>j.getTotalSize(),[j.getTotalSize()]);return(0,b.jsx)(Se.Provider,{value:ae,children:(0,b.jsx)(xe.Provider,{value:oe,children:(0,b.jsx)(He,{innerWrapperId:v,children:(0,b.jsx)(Q,{table:j,innerTableId:x,totalSize:de,children:(0,b.jsx)(Ue,{isAllRowsSelected:F,columnPinningState:ce,leftPinnedHeaders:le,rightPinnedHeaders:ue,onToggleAllRowsSelected:j.toggleAllRowsSelected,children:(0,b.jsx)(We,{isFetching:t,isEmpty:N,rowSelectionState:se,children:(0,b.jsx)(Ge,{keyOfClickRow:c,isAllRowsSelected:F,columnPinningState:ce,leftPinnedHeaders:le,rightPinnedHeaders:ue,onClickRow:l,children:_})})})})})})})};function qe(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 Je(e){if(e.length===0)return``;let t=e[0].map(e=>qe(e.label)),n=e.map(e=>e.map(e=>qe(e.value)).join(`,`));return[t.join(`,`),...n].join(`
3
+ `)}function Ye(e,t){let n=Je(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 Xe=({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`})})]})},$=({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}),Ze=({onCreate:e,onDownload:t,onRefresh:n})=>{let{table:r,csvData:i,csvFileName:a,title:o}=L(),s=(0,y.useCallback)(()=>{if(t){t();return}if(!i||i.length===0)return;let e=r.getSelectedRowModel().flatRows;Ye(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)($,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:(0,b.jsx)(v.CirclePlus,{})}),(0,b.jsx)($,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,b.jsx)(v.RefreshCwIcon,{})}),(0,b.jsx)($,{disabled:!c,onClick:e=>{s(),e.stopPropagation(),e.preventDefault()},children:(0,b.jsx)(v.DownloadIcon,{})})]})},Qe=({children:e})=>{let{title:t}=L();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})]})};Qe.displayName=`TableTooltip`,Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return V}});
4
+ //# sourceMappingURL=tables-BQkO4mz6.cjs.map