@gbmtech/aurora-ui 0.4.72 → 0.4.74

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 (249) hide show
  1. package/dist/cjs/components/alert-dialog.cjs +1 -1
  2. package/dist/cjs/components/app-layout/index.cjs +1 -1
  3. package/dist/cjs/components/app-layout/index.cjs.map +1 -1
  4. package/dist/cjs/components/app-layout/sidebar/index.cjs +1 -1
  5. package/dist/cjs/components/app-layout/sidebar/index.cjs.map +1 -1
  6. package/dist/cjs/components/app-layout/sidebar/sidebar.cjs +1 -1
  7. package/dist/cjs/components/avatar.cjs +1 -1
  8. package/dist/cjs/components/badge.cjs +1 -1
  9. package/dist/cjs/components/breadcrumb.cjs +1 -1
  10. package/dist/cjs/components/button.cjs +1 -1
  11. package/dist/cjs/components/button.cjs.map +1 -1
  12. package/dist/cjs/components/button.d.ts.map +1 -1
  13. package/dist/cjs/components/command.cjs +1 -1
  14. package/dist/cjs/components/context-menu.cjs +1 -1
  15. package/dist/cjs/components/data-table/data-table-action-bar.cjs +1 -1
  16. package/dist/cjs/components/date-picker-with-range.cjs +1 -1
  17. package/dist/cjs/components/date-picker-with-range.cjs.map +1 -1
  18. package/dist/cjs/components/dialog.cjs +1 -1
  19. package/dist/cjs/components/dropdown-menu.cjs +1 -1
  20. package/dist/cjs/components/faceted.cjs +1 -1
  21. package/dist/cjs/components/form.cjs +1 -1
  22. package/dist/cjs/components/input-otp.cjs +1 -1
  23. package/dist/cjs/components/multi-select.cjs +1 -1
  24. package/dist/cjs/components/multi-select.cjs.map +1 -1
  25. package/dist/cjs/components/pagination.cjs +1 -1
  26. package/dist/cjs/components/select.cjs +1 -1
  27. package/dist/cjs/components/separator.cjs +1 -1
  28. package/dist/cjs/components/sheet/sheet.cjs +1 -1
  29. package/dist/cjs/components/sortable.cjs +1 -1
  30. package/dist/cjs/components/table-expandable.cjs +1 -1
  31. package/dist/cjs/components/table.cjs +1 -1
  32. package/dist/cjs/components/tabs/tabs-root.cjs +1 -1
  33. package/dist/cjs/components/time-picker-input.cjs +1 -1
  34. package/dist/cjs/components/time-picker-input.cjs.map +1 -1
  35. package/dist/cjs/components/tooltip.cjs +1 -1
  36. package/dist/cjs/index.cjs +1 -1
  37. package/dist/cjs/lib/composition.cjs +1 -1
  38. package/dist/cjs/lib/data-table.cjs +1 -1
  39. package/dist/cjs/lib/index.cjs +1 -1
  40. package/dist/cjs/lib/parsers.cjs +1 -1
  41. package/dist/cjs/primitive/input.cjs +1 -1
  42. package/dist/esm/components/alert-dialog.js +1 -1
  43. package/dist/esm/components/alert-dialog.js.map +1 -1
  44. package/dist/esm/components/app-layout/app-layout-breadcrumb.js +1 -1
  45. package/dist/esm/components/app-layout/app-layout-breadcrumb.js.map +1 -1
  46. package/dist/esm/components/app-layout/app-layout-content.js +1 -1
  47. package/dist/esm/components/app-layout/app-layout-content.js.map +1 -1
  48. package/dist/esm/components/app-layout/app-layout-filters.js +1 -1
  49. package/dist/esm/components/app-layout/app-layout-filters.js.map +1 -1
  50. package/dist/esm/components/app-layout/app-layout-header.js +1 -1
  51. package/dist/esm/components/app-layout/app-layout-header.js.map +1 -1
  52. package/dist/esm/components/app-layout/app-layout-provider.js +1 -1
  53. package/dist/esm/components/app-layout/app-layout-provider.js.map +1 -1
  54. package/dist/esm/components/app-layout/app-layout.js +1 -1
  55. package/dist/esm/components/app-layout/app-layout.js.map +1 -1
  56. package/dist/esm/components/app-layout/sidebar/app-sidebar.js +1 -1
  57. package/dist/esm/components/app-layout/sidebar/app-sidebar.js.map +1 -1
  58. package/dist/esm/components/app-layout/sidebar/index.js +1 -2
  59. package/dist/esm/components/app-layout/sidebar/logo.js +1 -1
  60. package/dist/esm/components/app-layout/sidebar/logo.js.map +1 -1
  61. package/dist/esm/components/app-layout/sidebar/nav-modules.js +1 -1
  62. package/dist/esm/components/app-layout/sidebar/nav-modules.js.map +1 -1
  63. package/dist/esm/components/app-layout/sidebar/nav-sub-item.js +1 -1
  64. package/dist/esm/components/app-layout/sidebar/nav-sub-item.js.map +1 -1
  65. package/dist/esm/components/app-layout/sidebar/nav-user.js +1 -1
  66. package/dist/esm/components/app-layout/sidebar/nav-user.js.map +1 -1
  67. package/dist/esm/components/app-layout/sidebar/sidebar-icons.js +1 -1
  68. package/dist/esm/components/app-layout/sidebar/sidebar-icons.js.map +1 -1
  69. package/dist/esm/components/app-layout/sidebar/sidebar.js +1 -1
  70. package/dist/esm/components/app-layout/sidebar/sidebar.js.map +1 -1
  71. package/dist/esm/components/autocomplete/autocomplete-content.js +1 -1
  72. package/dist/esm/components/autocomplete/autocomplete-content.js.map +1 -1
  73. package/dist/esm/components/autocomplete/autocomplete-context.js +1 -1
  74. package/dist/esm/components/autocomplete/autocomplete-context.js.map +1 -1
  75. package/dist/esm/components/autocomplete/autocomplete-empty.js +1 -1
  76. package/dist/esm/components/autocomplete/autocomplete-empty.js.map +1 -1
  77. package/dist/esm/components/autocomplete/autocomplete-input.js +1 -1
  78. package/dist/esm/components/autocomplete/autocomplete-input.js.map +1 -1
  79. package/dist/esm/components/autocomplete/autocomplete-item.js +1 -1
  80. package/dist/esm/components/autocomplete/autocomplete-item.js.map +1 -1
  81. package/dist/esm/components/autocomplete/autocomplete-list.js +1 -1
  82. package/dist/esm/components/autocomplete/autocomplete-list.js.map +1 -1
  83. package/dist/esm/components/autocomplete/autocomplete.js +1 -1
  84. package/dist/esm/components/autocomplete/autocomplete.js.map +1 -1
  85. package/dist/esm/components/avatar.js +1 -1
  86. package/dist/esm/components/avatar.js.map +1 -1
  87. package/dist/esm/components/badge.js +1 -1
  88. package/dist/esm/components/badge.js.map +1 -1
  89. package/dist/esm/components/breadcrumb.js +1 -1
  90. package/dist/esm/components/breadcrumb.js.map +1 -1
  91. package/dist/esm/components/button.d.ts.map +1 -1
  92. package/dist/esm/components/button.js +1 -1
  93. package/dist/esm/components/button.js.map +1 -1
  94. package/dist/esm/components/calendar.js +1 -1
  95. package/dist/esm/components/calendar.js.map +1 -1
  96. package/dist/esm/components/checkbox.js +1 -1
  97. package/dist/esm/components/checkbox.js.map +1 -1
  98. package/dist/esm/components/combobox.js +1 -1
  99. package/dist/esm/components/combobox.js.map +1 -1
  100. package/dist/esm/components/command.js +1 -1
  101. package/dist/esm/components/command.js.map +1 -1
  102. package/dist/esm/components/context-menu.js +1 -1
  103. package/dist/esm/components/context-menu.js.map +1 -1
  104. package/dist/esm/components/data-table/data-table-action-bar.js +1 -1
  105. package/dist/esm/components/data-table/data-table-action-bar.js.map +1 -1
  106. package/dist/esm/components/data-table/data-table-advanced-toolbar.js +1 -1
  107. package/dist/esm/components/data-table/data-table-advanced-toolbar.js.map +1 -1
  108. package/dist/esm/components/data-table/data-table-column-header.js +1 -1
  109. package/dist/esm/components/data-table/data-table-column-header.js.map +1 -1
  110. package/dist/esm/components/data-table/data-table-date-filter.js +1 -1
  111. package/dist/esm/components/data-table/data-table-date-filter.js.map +1 -1
  112. package/dist/esm/components/data-table/data-table-faceted-filter.js +1 -1
  113. package/dist/esm/components/data-table/data-table-faceted-filter.js.map +1 -1
  114. package/dist/esm/components/data-table/data-table-filter-list.js +1 -1
  115. package/dist/esm/components/data-table/data-table-filter-list.js.map +1 -1
  116. package/dist/esm/components/data-table/data-table-filter-menu.js +1 -1
  117. package/dist/esm/components/data-table/data-table-filter-menu.js.map +1 -1
  118. package/dist/esm/components/data-table/data-table-pagination.js +1 -1
  119. package/dist/esm/components/data-table/data-table-pagination.js.map +1 -1
  120. package/dist/esm/components/data-table/data-table-range-filter.js +1 -1
  121. package/dist/esm/components/data-table/data-table-range-filter.js.map +1 -1
  122. package/dist/esm/components/data-table/data-table-skeleton.js +1 -1
  123. package/dist/esm/components/data-table/data-table-skeleton.js.map +1 -1
  124. package/dist/esm/components/data-table/data-table-slider-filter.js +1 -1
  125. package/dist/esm/components/data-table/data-table-slider-filter.js.map +1 -1
  126. package/dist/esm/components/data-table/data-table-sort-list.js +1 -1
  127. package/dist/esm/components/data-table/data-table-sort-list.js.map +1 -1
  128. package/dist/esm/components/data-table/data-table-toolbar.js +1 -1
  129. package/dist/esm/components/data-table/data-table-toolbar.js.map +1 -1
  130. package/dist/esm/components/data-table/data-table-view-options.js +1 -1
  131. package/dist/esm/components/data-table/data-table-view-options.js.map +1 -1
  132. package/dist/esm/components/data-table/data-table.js +1 -1
  133. package/dist/esm/components/data-table/data-table.js.map +1 -1
  134. package/dist/esm/components/date-picker-with-range.js +1 -1
  135. package/dist/esm/components/date-picker-with-range.js.map +1 -1
  136. package/dist/esm/components/date-picker.js +1 -1
  137. package/dist/esm/components/date-picker.js.map +1 -1
  138. package/dist/esm/components/date-time-picker-with-range.js +1 -1
  139. package/dist/esm/components/date-time-picker-with-range.js.map +1 -1
  140. package/dist/esm/components/datetime-picker/datetime-picker.js +1 -1
  141. package/dist/esm/components/datetime-picker/datetime-picker.js.map +1 -1
  142. package/dist/esm/components/datetime-picker/month-year-picker.js +1 -1
  143. package/dist/esm/components/datetime-picker/month-year-picker.js.map +1 -1
  144. package/dist/esm/components/datetime-picker/time-item.js +1 -1
  145. package/dist/esm/components/datetime-picker/time-item.js.map +1 -1
  146. package/dist/esm/components/dialog.js +1 -1
  147. package/dist/esm/components/dialog.js.map +1 -1
  148. package/dist/esm/components/dropdown-menu.js +1 -1
  149. package/dist/esm/components/dropdown-menu.js.map +1 -1
  150. package/dist/esm/components/faceted.js +1 -1
  151. package/dist/esm/components/faceted.js.map +1 -1
  152. package/dist/esm/components/form.js +1 -1
  153. package/dist/esm/components/form.js.map +1 -1
  154. package/dist/esm/components/icons/rumo.js +1 -1
  155. package/dist/esm/components/icons/rumo.js.map +1 -1
  156. package/dist/esm/components/icons/vli.js +1 -1
  157. package/dist/esm/components/icons/vli.js.map +1 -1
  158. package/dist/esm/components/input-otp.js +1 -1
  159. package/dist/esm/components/input-otp.js.map +1 -1
  160. package/dist/esm/components/input-password.js +1 -1
  161. package/dist/esm/components/input-password.js.map +1 -1
  162. package/dist/esm/components/input.js +1 -1
  163. package/dist/esm/components/input.js.map +1 -1
  164. package/dist/esm/components/label.js +1 -1
  165. package/dist/esm/components/label.js.map +1 -1
  166. package/dist/esm/components/mask-input.js +1 -1
  167. package/dist/esm/components/mask-input.js.map +1 -1
  168. package/dist/esm/components/multi-select.js +1 -1
  169. package/dist/esm/components/multi-select.js.map +1 -1
  170. package/dist/esm/components/pagination.js +1 -1
  171. package/dist/esm/components/pagination.js.map +1 -1
  172. package/dist/esm/components/popover.js +1 -1
  173. package/dist/esm/components/popover.js.map +1 -1
  174. package/dist/esm/components/radio-group.js +1 -1
  175. package/dist/esm/components/radio-group.js.map +1 -1
  176. package/dist/esm/components/scroll-area.js +1 -1
  177. package/dist/esm/components/scroll-area.js.map +1 -1
  178. package/dist/esm/components/select.js +1 -1
  179. package/dist/esm/components/select.js.map +1 -1
  180. package/dist/esm/components/separator.js +1 -1
  181. package/dist/esm/components/separator.js.map +1 -1
  182. package/dist/esm/components/sheet/sheet-content-variants.js +1 -1
  183. package/dist/esm/components/sheet/sheet-content-variants.js.map +1 -1
  184. package/dist/esm/components/sheet/sheet.js +1 -1
  185. package/dist/esm/components/sheet/sheet.js.map +1 -1
  186. package/dist/esm/components/skeleton.js +1 -1
  187. package/dist/esm/components/skeleton.js.map +1 -1
  188. package/dist/esm/components/slider.js +1 -1
  189. package/dist/esm/components/slider.js.map +1 -1
  190. package/dist/esm/components/sortable.js +3 -3
  191. package/dist/esm/components/sortable.js.map +1 -1
  192. package/dist/esm/components/spinner.js +1 -1
  193. package/dist/esm/components/spinner.js.map +1 -1
  194. package/dist/esm/components/switch.js +1 -1
  195. package/dist/esm/components/switch.js.map +1 -1
  196. package/dist/esm/components/table-expandable.js +1 -1
  197. package/dist/esm/components/table-expandable.js.map +1 -1
  198. package/dist/esm/components/table.js +1 -1
  199. package/dist/esm/components/table.js.map +1 -1
  200. package/dist/esm/components/tabs/index.js +1 -1
  201. package/dist/esm/components/tabs/index.js.map +1 -1
  202. package/dist/esm/components/tabs/tabs-content.js +1 -1
  203. package/dist/esm/components/tabs/tabs-content.js.map +1 -1
  204. package/dist/esm/components/tabs/tabs-list.js +1 -1
  205. package/dist/esm/components/tabs/tabs-list.js.map +1 -1
  206. package/dist/esm/components/tabs/tabs-root.js +1 -1
  207. package/dist/esm/components/tabs/tabs-root.js.map +1 -1
  208. package/dist/esm/components/tabs/tabs-trigger.js +1 -1
  209. package/dist/esm/components/tabs/tabs-trigger.js.map +1 -1
  210. package/dist/esm/components/textarea.js +1 -1
  211. package/dist/esm/components/textarea.js.map +1 -1
  212. package/dist/esm/components/theme-provider.js +1 -1
  213. package/dist/esm/components/theme-provider.js.map +1 -1
  214. package/dist/esm/components/theme-toggle.js +1 -1
  215. package/dist/esm/components/theme-toggle.js.map +1 -1
  216. package/dist/esm/components/time-picker-input.js +1 -1
  217. package/dist/esm/components/time-picker-input.js.map +1 -1
  218. package/dist/esm/components/time-picker.js +1 -1
  219. package/dist/esm/components/time-picker.js.map +1 -1
  220. package/dist/esm/components/title.js +1 -1
  221. package/dist/esm/components/title.js.map +1 -1
  222. package/dist/esm/components/tokens-grid.js +1 -1
  223. package/dist/esm/components/tokens-grid.js.map +1 -1
  224. package/dist/esm/components/tooltip.js +1 -1
  225. package/dist/esm/components/tooltip.js.map +1 -1
  226. package/dist/esm/hooks/use-callback-ref.js +1 -1
  227. package/dist/esm/hooks/use-callback-ref.js.map +1 -1
  228. package/dist/esm/hooks/use-data-table.js +1 -1
  229. package/dist/esm/hooks/use-data-table.js.map +1 -1
  230. package/dist/esm/hooks/use-debounce.js +1 -1
  231. package/dist/esm/hooks/use-debounce.js.map +1 -1
  232. package/dist/esm/hooks/use-debounced-callback.js +1 -1
  233. package/dist/esm/hooks/use-debounced-callback.js.map +1 -1
  234. package/dist/esm/hooks/use-mobile.js +1 -1
  235. package/dist/esm/hooks/use-mobile.js.map +1 -1
  236. package/dist/esm/lib/composition.js +1 -1
  237. package/dist/esm/lib/composition.js.map +1 -1
  238. package/dist/esm/lib/data-table.js +1 -1
  239. package/dist/esm/lib/data-table.js.map +1 -1
  240. package/dist/esm/lib/id.js +1 -1
  241. package/dist/esm/lib/id.js.map +1 -1
  242. package/dist/esm/lib/parsers.js +1 -1
  243. package/dist/esm/lib/parsers.js.map +1 -1
  244. package/dist/esm/lib/utils.js +1 -1
  245. package/dist/esm/lib/utils.js.map +1 -1
  246. package/dist/esm/primitive/input.js +1 -1
  247. package/dist/esm/primitive/input.js.map +1 -1
  248. package/package.json +8 -8
  249. package/dist/esm/components/app-layout/sidebar/index.js.map +0 -1
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as a from"react/jsx-runtime";import*as t from"@radix-ui/react-slot";import*as e from"framer-motion";import*as i from"lucide-react";import*as r from"react";import*as n from"../lib/utils.js";function o({children:e,contentColSpan:i,isExpanded:n,onToggleExpand:o}){let[s,l]=(0,r.useState)(!1),[d,m]=e,p=void 0!==n?n:s,x=i+1;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.Slot,{onClick:()=>{o?o():l(a=>!a)},"data-expanded":p,children:d}),(0,a.jsx)(c,{colSpan:x,"aria-colspan":x,isExpanded:p,children:m})]})}function s({className:t,children:r,showIcon:o=!0,...s}){return(0,a.jsxs)("tr",{className:(0,n.cn)("cursor-pointer border-y transition-colors last:border-y-0 hover:bg-stroke/30 data-[state=selected]:bg-gray-100",t),...s,children:[(0,a.jsx)("td",{className:(0,n.cn)("w-12 p-4 align-middle [&:has([role=checkbox])]:pr-0"),children:(0,a.jsx)(e.motion.div,{initial:{rotate:0},animate:{rotate:s["data-expanded"]?-180:0},transition:{duration:.3},className:"w-min origin-center",children:(0,a.jsx)(i.ChevronDown,{size:16,className:(0,n.cn)("stroke-2 text-gbm-dark",{"text-transparent":!o})})})}),r]})}function c({className:t,isExpanded:i,...r}){return(0,a.jsx)(e.AnimatePresence,{initial:!1,children:i&&(0,a.jsx)(e.motion.tr,{className:(0,n.cn)("border-y",t),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},children:(0,a.jsx)("td",{colSpan:r.colSpan,children:(0,a.jsx)(e.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{height:{duration:.3,ease:"linear"},opacity:{duration:.2}},className:"overflow-hidden",children:(0,a.jsx)("div",{children:r.children})})})},"expandable-row")})}export{s as ExpandableTableRow,c as ExpandableTableRowContent,o as ExpandableTableRowWrapper};
2
+ import{Fragment as i,jsx as a,jsxs as t}from"react/jsx-runtime";import{Slot as e}from"@radix-ui/react-slot";import{AnimatePresence as r,motion as n}from"framer-motion";import{ChevronDown as o}from"lucide-react";import{useState as l}from"react";import{cn as d}from"../lib/utils.js";function c({children:r,contentColSpan:n,isExpanded:o,onToggleExpand:d}){let[c,s]=l(!1),[m,h]=r,u=void 0!==o?o:c,b=n+1;return t(i,{children:[a(e,{onClick:()=>{d?d():s(i=>!i)},"data-expanded":u,children:m}),a(p,{colSpan:b,"aria-colspan":b,isExpanded:u,children:h})]})}function s({className:i,children:e,showIcon:r=!0,...l}){return t("tr",{className:d("cursor-pointer border-y transition-colors last:border-y-0 hover:bg-stroke/30 data-[state=selected]:bg-gray-100",i),...l,children:[a("td",{className:d("w-12 p-4 align-middle [&:has([role=checkbox])]:pr-0"),children:a(n.div,{initial:{rotate:0},animate:{rotate:l["data-expanded"]?-180:0},transition:{duration:.3},className:"w-min origin-center",children:a(o,{size:16,className:d("stroke-2 text-gbm-dark",{"text-transparent":!r})})})}),e]})}function p({className:i,isExpanded:t,...e}){return a(r,{initial:!1,children:t&&a(n.tr,{className:d("border-y",i),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},children:a("td",{colSpan:e.colSpan,children:a(n.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{height:{duration:.3,ease:"linear"},opacity:{duration:.2}},className:"overflow-hidden",children:a("div",{children:e.children})})})},"expandable-row")})}export{s as ExpandableTableRow,p as ExpandableTableRowContent,c as ExpandableTableRowWrapper};
3
3
  //# sourceMappingURL=table-expandable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\table-expandable.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/table-expandable.tsx"],"sourcesContent":["\r\n\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport { AnimatePresence, motion } from 'framer-motion'\r\nimport { ChevronDown } from 'lucide-react'\r\nimport React, { ComponentProps, useState } from 'react'\r\n\r\nimport { cn } from '../lib/utils'\r\n\r\nfunction ExpandableTableRowWrapper({\r\n children,\r\n contentColSpan,\r\n isExpanded,\r\n onToggleExpand,\r\n}: ComponentProps<'div'> & {\r\n children: [React.ReactNode, React.ReactNode]\r\n\r\n contentColSpan: number\r\n isExpanded?: boolean\r\n onToggleExpand?: VoidFunction\r\n}) {\r\n const [internalIsExpanded, setInternalIsExpanded] = useState(false)\r\n const [Row, Content] = children\r\n\r\n const expanded = isExpanded !== undefined ? isExpanded : internalIsExpanded\r\n const toggleExpand = () => {\r\n if (onToggleExpand) {\r\n onToggleExpand()\r\n } else {\r\n setInternalIsExpanded(prev => !prev)\r\n }\r\n }\r\n\r\n const sumOfColspanAndIconColumn = contentColSpan + 1\r\n\r\n return (\r\n <>\r\n <Slot onClick={toggleExpand} data-expanded={expanded}>\r\n {Row}\r\n </Slot>\r\n <ExpandableTableRowContent\r\n colSpan={sumOfColspanAndIconColumn}\r\n aria-colspan={sumOfColspanAndIconColumn}\r\n isExpanded={expanded}\r\n >\r\n {Content}\r\n </ExpandableTableRowContent>\r\n </>\r\n )\r\n}\r\n\r\nfunction ExpandableTableRow({\r\n className,\r\n children,\r\n showIcon = true,\r\n ...props\r\n}: ComponentProps<'tr'> & {\r\n showIcon?: boolean\r\n 'data-expanded'?: boolean\r\n}) {\r\n return (\r\n <tr\r\n className={cn(\r\n 'cursor-pointer border-y transition-colors last:border-y-0 hover:bg-stroke/30 data-[state=selected]:bg-gray-100',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <td className={cn('w-12 p-4 align-middle [&:has([role=checkbox])]:pr-0')}>\r\n <motion.div\r\n initial={{ rotate: 0 }}\r\n animate={{ rotate: props['data-expanded'] ? -180 : 0 }}\r\n transition={{ duration: 0.3 }}\r\n className=\"w-min origin-center\"\r\n >\r\n <ChevronDown\r\n size={16}\r\n className={cn('stroke-2 text-gbm-dark', {\r\n 'text-transparent': !showIcon,\r\n })}\r\n />\r\n </motion.div>\r\n </td>\r\n {children}\r\n </tr>\r\n )\r\n}\r\n\r\nfunction ExpandableTableRowContent({\r\n className,\r\n isExpanded,\r\n ...props\r\n}: ComponentProps<'td'> & {\r\n isExpanded: boolean\r\n}) {\r\n return (\r\n <AnimatePresence initial={false}>\r\n {isExpanded && (\r\n <motion.tr\r\n key=\"expandable-row\"\r\n className={cn('border-y', className)}\r\n initial={{ opacity: 0 }}\r\n animate={{ opacity: 1 }}\r\n exit={{ opacity: 0 }}\r\n transition={{ duration: 0.2 }}\r\n >\r\n <td colSpan={props.colSpan}>\r\n <motion.div\r\n initial={{ height: 0, opacity: 0 }}\r\n animate={{ height: 'auto', opacity: 1 }}\r\n exit={{ height: 0, opacity: 0 }}\r\n transition={{\r\n height: { duration: 0.3, ease: 'linear' },\r\n opacity: { duration: 0.2 },\r\n }}\r\n className=\"overflow-hidden\"\r\n >\r\n <div>{props.children}</div>\r\n </motion.div>\r\n </td>\r\n </motion.tr>\r\n )}\r\n </AnimatePresence>\r\n )\r\n}\r\n\r\nexport {\r\n ExpandableTableRowWrapper,\r\n ExpandableTableRow,\r\n ExpandableTableRowContent,\r\n}\r\n"],"names":["ExpandableTableRowWrapper","children","contentColSpan","isExpanded","onToggleExpand","internalIsExpanded","setInternalIsExpanded","useState","Row","Content","expanded","undefined","sumOfColspanAndIconColumn","Slot","prev","ExpandableTableRowContent","ExpandableTableRow","className","showIcon","props","cn","motion","ChevronDown","AnimatePresence"],"mappings":";oMASA,SAASA,EAA0B,CACjCC,SAAAA,CAAQ,CACRC,eAAAA,CAAc,CACdC,WAAAA,CAAU,CACVC,eAAAA,CAAc,CAOf,EACC,GAAM,CAACC,EAAoBC,EAAsB,CAAGC,GAAAA,EAAAA,QAAAA,EAAS,IACvD,CAACC,EAAKC,EAAQ,CAAGR,EAEjBS,EAAWP,SAAAA,EAA2BA,EAAaE,EASnDO,EAA4BV,EAAiB,EAEnD,MACE,uB,UACE,UAACW,EAAAA,IAAIA,CAAAA,CAAC,QAZW,KACfT,EACFA,IAEAE,EAAsBQ,GAAQ,CAACA,EAEnC,EAMiC,gBAAeJ,E,SACzCF,C,GAEH,UAACO,EAAAA,CACC,QAASH,EACT,eAAcA,EACd,WAAYF,E,SAEXD,C,KAIT,CAEA,SAASO,EAAmB,CAC1BC,UAAAA,CAAS,CACThB,SAAAA,CAAQ,CACRiB,SAAAA,EAAW,EAAI,CACf,GAAGC,EAIJ,EACC,MACE,WAAC,MACC,UAAWC,GAAAA,EAAAA,EAAAA,EACT,iHACAH,GAED,GAAGE,CAAK,C,UAET,UAAC,MAAG,UAAWC,GAAAA,EAAAA,EAAAA,EAAG,uD,SAChB,UAACC,EAAAA,MAAAA,CAAAA,GAAU,EACT,QAAS,CAAE,OAAQ,CAAE,EACrB,QAAS,CAAE,OAAQF,CAAK,CAAC,gBAAgB,CAAG,KAAO,CAAE,EACrD,WAAY,CAAE,SAAU,EAAI,EAC5B,UAAU,sB,SAEV,UAACG,EAAAA,WAAWA,CAAAA,CACV,KAAM,GACN,UAAWF,GAAAA,EAAAA,EAAAA,EAAG,yBAA0B,CACtC,mBAAoB,CAACF,CACvB,E,OAILjB,E,EAGP,CAEA,SAASc,EAA0B,CACjCE,UAAAA,CAAS,CACTd,WAAAA,CAAU,CACV,GAAGgB,EAGJ,EACC,MACE,UAACI,EAAAA,eAAeA,CAAAA,CAAC,QAAS,G,SACvBpB,GACC,UAACkB,EAAAA,MAAAA,CAAAA,EAAS,EAER,UAAWD,GAAAA,EAAAA,EAAAA,EAAG,WAAYH,GAC1B,QAAS,CAAE,QAAS,CAAE,EACtB,QAAS,CAAE,QAAS,CAAE,EACtB,KAAM,CAAE,QAAS,CAAE,EACnB,WAAY,CAAE,SAAU,EAAI,E,SAE5B,UAAC,MAAG,QAASE,EAAM,OAAO,C,SACxB,UAACE,EAAAA,MAAAA,CAAAA,GAAU,EACT,QAAS,CAAE,OAAQ,EAAG,QAAS,CAAE,EACjC,QAAS,CAAE,OAAQ,OAAQ,QAAS,CAAE,EACtC,KAAM,CAAE,OAAQ,EAAG,QAAS,CAAE,EAC9B,WAAY,CACV,OAAQ,CAAE,SAAU,GAAK,KAAM,QAAS,EACxC,QAAS,CAAE,SAAU,EAAI,CAC3B,EACA,UAAU,kB,SAEV,UAAC,O,SAAKF,EAAM,QAAQ,QAlBpB,iB,EAyBd,Q"}
1
+ {"version":3,"file":"components\\table-expandable.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/table-expandable.tsx"],"sourcesContent":["\r\n\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport { AnimatePresence, motion } from 'framer-motion'\r\nimport { ChevronDown } from 'lucide-react'\r\nimport React, { ComponentProps, useState } from 'react'\r\n\r\nimport { cn } from '../lib/utils'\r\n\r\nfunction ExpandableTableRowWrapper({\r\n children,\r\n contentColSpan,\r\n isExpanded,\r\n onToggleExpand,\r\n}: ComponentProps<'div'> & {\r\n children: [React.ReactNode, React.ReactNode]\r\n\r\n contentColSpan: number\r\n isExpanded?: boolean\r\n onToggleExpand?: VoidFunction\r\n}) {\r\n const [internalIsExpanded, setInternalIsExpanded] = useState(false)\r\n const [Row, Content] = children\r\n\r\n const expanded = isExpanded !== undefined ? isExpanded : internalIsExpanded\r\n const toggleExpand = () => {\r\n if (onToggleExpand) {\r\n onToggleExpand()\r\n } else {\r\n setInternalIsExpanded(prev => !prev)\r\n }\r\n }\r\n\r\n const sumOfColspanAndIconColumn = contentColSpan + 1\r\n\r\n return (\r\n <>\r\n <Slot onClick={toggleExpand} data-expanded={expanded}>\r\n {Row}\r\n </Slot>\r\n <ExpandableTableRowContent\r\n colSpan={sumOfColspanAndIconColumn}\r\n aria-colspan={sumOfColspanAndIconColumn}\r\n isExpanded={expanded}\r\n >\r\n {Content}\r\n </ExpandableTableRowContent>\r\n </>\r\n )\r\n}\r\n\r\nfunction ExpandableTableRow({\r\n className,\r\n children,\r\n showIcon = true,\r\n ...props\r\n}: ComponentProps<'tr'> & {\r\n showIcon?: boolean\r\n 'data-expanded'?: boolean\r\n}) {\r\n return (\r\n <tr\r\n className={cn(\r\n 'cursor-pointer border-y transition-colors last:border-y-0 hover:bg-stroke/30 data-[state=selected]:bg-gray-100',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <td className={cn('w-12 p-4 align-middle [&:has([role=checkbox])]:pr-0')}>\r\n <motion.div\r\n initial={{ rotate: 0 }}\r\n animate={{ rotate: props['data-expanded'] ? -180 : 0 }}\r\n transition={{ duration: 0.3 }}\r\n className=\"w-min origin-center\"\r\n >\r\n <ChevronDown\r\n size={16}\r\n className={cn('stroke-2 text-gbm-dark', {\r\n 'text-transparent': !showIcon,\r\n })}\r\n />\r\n </motion.div>\r\n </td>\r\n {children}\r\n </tr>\r\n )\r\n}\r\n\r\nfunction ExpandableTableRowContent({\r\n className,\r\n isExpanded,\r\n ...props\r\n}: ComponentProps<'td'> & {\r\n isExpanded: boolean\r\n}) {\r\n return (\r\n <AnimatePresence initial={false}>\r\n {isExpanded && (\r\n <motion.tr\r\n key=\"expandable-row\"\r\n className={cn('border-y', className)}\r\n initial={{ opacity: 0 }}\r\n animate={{ opacity: 1 }}\r\n exit={{ opacity: 0 }}\r\n transition={{ duration: 0.2 }}\r\n >\r\n <td colSpan={props.colSpan}>\r\n <motion.div\r\n initial={{ height: 0, opacity: 0 }}\r\n animate={{ height: 'auto', opacity: 1 }}\r\n exit={{ height: 0, opacity: 0 }}\r\n transition={{\r\n height: { duration: 0.3, ease: 'linear' },\r\n opacity: { duration: 0.2 },\r\n }}\r\n className=\"overflow-hidden\"\r\n >\r\n <div>{props.children}</div>\r\n </motion.div>\r\n </td>\r\n </motion.tr>\r\n )}\r\n </AnimatePresence>\r\n )\r\n}\r\n\r\nexport {\r\n ExpandableTableRowWrapper,\r\n ExpandableTableRow,\r\n ExpandableTableRowContent,\r\n}\r\n"],"names":["ExpandableTableRowWrapper","children","contentColSpan","isExpanded","onToggleExpand","internalIsExpanded","setInternalIsExpanded","useState","Row","Content","expanded","undefined","sumOfColspanAndIconColumn","Slot","prev","ExpandableTableRowContent","ExpandableTableRow","className","showIcon","props","cn","motion","ChevronDown","AnimatePresence"],"mappings":";yRASA,SAASA,EAA0B,CACjCC,SAAAA,CAAQ,CACRC,eAAAA,CAAc,CACdC,WAAAA,CAAU,CACVC,eAAAA,CAAc,CAOf,EACC,GAAM,CAACC,EAAoBC,EAAsB,CAAGC,EAAS,IACvD,CAACC,EAAKC,EAAQ,CAAGR,EAEjBS,EAAWP,SAAAA,EAA2BA,EAAaE,EASnDO,EAA4BV,EAAiB,EAEnD,OACE,K,UACE,EAACW,EAAIA,CAAC,QAZW,KACfT,EACFA,IAEAE,EAAsBQ,GAAQ,CAACA,EAEnC,EAMiC,gBAAeJ,E,SACzCF,C,GAEH,EAACO,EAAAA,CACC,QAASH,EACT,eAAcA,EACd,WAAYF,E,SAEXD,C,KAIT,CAEA,SAASO,EAAmB,CAC1BC,UAAAA,CAAS,CACThB,SAAAA,CAAQ,CACRiB,SAAAA,EAAW,EAAI,CACf,GAAGC,EAIJ,EACC,OACE,EAAC,MACC,UAAWC,EACT,iHACAH,GAED,GAAGE,CAAK,C,UAET,EAAC,MAAG,UAAWC,EAAG,uD,SAChB,EAACC,EAAO,GAAG,EACT,QAAS,CAAE,OAAQ,CAAE,EACrB,QAAS,CAAE,OAAQF,CAAK,CAAC,gBAAgB,CAAG,KAAO,CAAE,EACrD,WAAY,CAAE,SAAU,EAAI,EAC5B,UAAU,sB,SAEV,EAACG,EAAWA,CACV,KAAM,GACN,UAAWF,EAAG,yBAA0B,CACtC,mBAAoB,CAACF,CACvB,E,OAILjB,E,EAGP,CAEA,SAASc,EAA0B,CACjCE,UAAAA,CAAS,CACTd,WAAAA,CAAU,CACV,GAAGgB,EAGJ,EACC,OACE,EAACI,EAAeA,CAAC,QAAS,G,SACvBpB,GACC,EAACkB,EAAO,EAAE,EAER,UAAWD,EAAG,WAAYH,GAC1B,QAAS,CAAE,QAAS,CAAE,EACtB,QAAS,CAAE,QAAS,CAAE,EACtB,KAAM,CAAE,QAAS,CAAE,EACnB,WAAY,CAAE,SAAU,EAAI,E,SAE5B,EAAC,MAAG,QAASE,EAAM,OAAO,C,SACxB,EAACE,EAAO,GAAG,EACT,QAAS,CAAE,OAAQ,EAAG,QAAS,CAAE,EACjC,QAAS,CAAE,OAAQ,OAAQ,QAAS,CAAE,EACtC,KAAM,CAAE,OAAQ,EAAG,QAAS,CAAE,EAC9B,WAAY,CACV,OAAQ,CAAE,SAAU,GAAK,KAAM,QAAS,EACxC,QAAS,CAAE,SAAU,EAAI,CAC3B,EACA,UAAU,kB,SAEV,EAAC,O,SAAKF,EAAM,QAAQ,QAlBpB,iB,EAyBd,Q"}
@@ -1,2 +1,2 @@
1
- import*as a from"react/jsx-runtime";import*as e from"../lib/utils.js";function t({className:t,classNames:r,...l}){return(0,a.jsx)("div",{className:"overflow-hidden rounded-md border",children:(0,a.jsx)("div",{className:(0,e.cn)("relative w-full overflow-auto",r?.wrapper),"data-slot":"table-container",children:(0,a.jsx)("table",{className:(0,e.cn)("w-full caption-bottom text-sm",t),"data-slot":"table",...l})})})}function r({className:t,...r}){return(0,a.jsx)("thead",{className:(0,e.cn)("header *:border-b *:has-aria-expanded:bg-transparent",t),"data-slot":"table-header",...r})}function l({className:t,...r}){return(0,a.jsx)("tbody",{className:(0,e.cn)("*:last-child:border-0",t),"data-slot":"table-body",...r})}function o({className:t,...r}){return(0,a.jsx)("tfoot",{className:(0,e.cn)("bg-gray-50/50 font-medium *:border-t *:last:border-b-0 *:has-aria-expanded:bg-transparent",t),"data-slot":"table-footer",...r})}function s({className:t,...r}){return(0,a.jsx)("tr",{className:(0,e.cn)("border-b transition-colors hover:bg-gray-50/50 has-aria-expanded:bg-gray-50/50 data-[state=selected]:bg-gray-100",t),"data-slot":"table-row",...r})}function n({className:t,...r}){return(0,a.jsx)("th",{className:(0,e.cn)("h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-gbm-dark [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),"data-slot":"table-head",...r})}function d({className:t,...r}){return(0,a.jsx)("td",{className:(0,e.cn)("whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),"data-slot":"table-cell",...r})}function c({className:t,...r}){return(0,a.jsx)("caption",{className:(0,e.cn)("mt-4 text-gray-400 text-sm",t),"data-slot":"table-caption",...r})}export{t as Table,l as TableBody,c as TableCaption,d as TableCell,o as TableFooter,n as TableHead,r as TableHeader,s as TableRow};
1
+ import{jsx as a}from"react/jsx-runtime";import{cn as e}from"../lib/utils.js";function t({className:t,classNames:r,...l}){return a("div",{className:"overflow-hidden rounded-md border",children:a("div",{className:e("relative w-full overflow-auto",r?.wrapper),"data-slot":"table-container",children:a("table",{className:e("w-full caption-bottom text-sm",t),"data-slot":"table",...l})})})}function r({className:t,...r}){return a("thead",{className:e("header *:border-b *:has-aria-expanded:bg-transparent",t),"data-slot":"table-header",...r})}function l({className:t,...r}){return a("tbody",{className:e("*:last-child:border-0",t),"data-slot":"table-body",...r})}function o({className:t,...r}){return a("tfoot",{className:e("bg-gray-50/50 font-medium *:border-t *:last:border-b-0 *:has-aria-expanded:bg-transparent",t),"data-slot":"table-footer",...r})}function n({className:t,...r}){return a("tr",{className:e("border-b transition-colors hover:bg-gray-50/50 has-aria-expanded:bg-gray-50/50 data-[state=selected]:bg-gray-100",t),"data-slot":"table-row",...r})}function s({className:t,...r}){return a("th",{className:e("h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-gbm-dark [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),"data-slot":"table-head",...r})}function d({className:t,...r}){return a("td",{className:e("whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),"data-slot":"table-cell",...r})}function b({className:t,...r}){return a("caption",{className:e("mt-4 text-gray-400 text-sm",t),"data-slot":"table-caption",...r})}export{t as Table,l as TableBody,b as TableCaption,d as TableCell,o as TableFooter,s as TableHead,r as TableHeader,n as TableRow};
2
2
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\table.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/table.tsx"],"sourcesContent":["import { ComponentProps, JSX } from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Table\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Table({\r\n className,\r\n classNames,\r\n ...props\r\n}: ComponentProps<'table'> & {\r\n classNames?: {\r\n wrapper?: string\r\n }\r\n}): JSX.Element {\r\n return (\r\n <div className=\"overflow-hidden rounded-md border\">\r\n <div\r\n className={cn('relative w-full overflow-auto', classNames?.wrapper)}\r\n data-slot=\"table-container\"\r\n >\r\n <table\r\n className={cn('w-full caption-bottom text-sm', className)}\r\n data-slot=\"table\"\r\n {...props}\r\n />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableHeader\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableHeader({\r\n className,\r\n ...props\r\n}: ComponentProps<'thead'>): JSX.Element {\r\n return (\r\n <thead\r\n className={cn(\r\n 'header *:border-b *:has-aria-expanded:bg-transparent',\r\n className\r\n )}\r\n data-slot=\"table-header\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableBody\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableBody({\r\n className,\r\n ...props\r\n}: ComponentProps<'tbody'>): JSX.Element {\r\n return (\r\n <tbody\r\n className={cn('*:last-child:border-0', className)}\r\n data-slot=\"table-body\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableFooter\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableFooter({\r\n className,\r\n ...props\r\n}: ComponentProps<'tfoot'>): JSX.Element {\r\n return (\r\n <tfoot\r\n className={cn(\r\n 'bg-gray-50/50 font-medium *:border-t *:last:border-b-0 *:has-aria-expanded:bg-transparent',\r\n className\r\n )}\r\n data-slot=\"table-footer\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableRow\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableRow({ className, ...props }: ComponentProps<'tr'>): JSX.Element {\r\n return (\r\n <tr\r\n className={cn(\r\n 'border-b transition-colors hover:bg-gray-50/50 has-aria-expanded:bg-gray-50/50 data-[state=selected]:bg-gray-100',\r\n className\r\n )}\r\n data-slot=\"table-row\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableHead\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableHead({ className, ...props }: ComponentProps<'th'>): JSX.Element {\r\n return (\r\n <th\r\n className={cn(\r\n 'h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-gbm-dark [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\r\n className\r\n )}\r\n data-slot=\"table-head\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableCell\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableCell({ className, ...props }: ComponentProps<'td'>): JSX.Element {\r\n return (\r\n <td\r\n className={cn(\r\n 'whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\r\n className\r\n )}\r\n data-slot=\"table-cell\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableCaption\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableCaption({\r\n className,\r\n ...props\r\n}: ComponentProps<'caption'>): JSX.Element {\r\n return (\r\n <caption\r\n className={cn('mt-4 text-gray-400 text-sm', className)}\r\n data-slot=\"table-caption\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport {\r\n Table,\r\n TableHeader,\r\n TableBody,\r\n TableFooter,\r\n TableHead,\r\n TableRow,\r\n TableCell,\r\n TableCaption,\r\n}\r\n"],"names":["Table","className","classNames","props","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":"sEAQA,SAASA,EAAM,CACbC,UAAAA,CAAS,CACTC,WAAAA,CAAU,CACV,GAAGC,EAKJ,EACC,MACE,UAAC,OAAI,UAAU,oC,SACb,UAAC,OACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,gCAAiCF,GAAY,SAC3D,YAAU,kB,SAEV,UAAC,SACC,UAAWE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,gCAAiCH,GAC/C,YAAU,QACT,GAAGE,CAAK,A,MAKnB,CAMA,SAASE,EAAY,CACnBJ,UAAAA,CAAS,CACT,GAAGE,EACqB,EACxB,MACE,UAAC,SACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,uDACAH,GAEF,YAAU,eACT,GAAGE,CAAK,A,EAGf,CAMA,SAASG,EAAU,CACjBL,UAAAA,CAAS,CACT,GAAGE,EACqB,EACxB,MACE,UAAC,SACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,wBAAyBH,GACvC,YAAU,aACT,GAAGE,CAAK,A,EAGf,CAMA,SAASI,EAAY,CACnBN,UAAAA,CAAS,CACT,GAAGE,EACqB,EACxB,MACE,UAAC,SACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,4FACAH,GAEF,YAAU,eACT,GAAGE,CAAK,A,EAGf,CAMA,SAASK,EAAS,CAAEP,UAAAA,CAAS,CAAE,GAAGE,EAA6B,EAC7D,MACE,UAAC,MACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,mHACAH,GAEF,YAAU,YACT,GAAGE,CAAK,A,EAGf,CAMA,SAASM,EAAU,CAAER,UAAAA,CAAS,CAAE,GAAGE,EAA6B,EAC9D,MACE,UAAC,MACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,mJACAH,GAEF,YAAU,aACT,GAAGE,CAAK,A,EAGf,CAMA,SAASO,EAAU,CAAET,UAAAA,CAAS,CAAE,GAAGE,EAA6B,EAC9D,MACE,UAAC,MACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,yGACAH,GAEF,YAAU,aACT,GAAGE,CAAK,A,EAGf,CAMA,SAASQ,EAAa,CACpBV,UAAAA,CAAS,CACT,GAAGE,EACuB,EAC1B,MACE,UAAC,WACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,6BAA8BH,GAC5C,YAAU,gBACT,GAAGE,CAAK,A,EAGf,Q"}
1
+ {"version":3,"file":"components\\table.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/table.tsx"],"sourcesContent":["import { ComponentProps, JSX } from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Table\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Table({\r\n className,\r\n classNames,\r\n ...props\r\n}: ComponentProps<'table'> & {\r\n classNames?: {\r\n wrapper?: string\r\n }\r\n}): JSX.Element {\r\n return (\r\n <div className=\"overflow-hidden rounded-md border\">\r\n <div\r\n className={cn('relative w-full overflow-auto', classNames?.wrapper)}\r\n data-slot=\"table-container\"\r\n >\r\n <table\r\n className={cn('w-full caption-bottom text-sm', className)}\r\n data-slot=\"table\"\r\n {...props}\r\n />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableHeader\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableHeader({\r\n className,\r\n ...props\r\n}: ComponentProps<'thead'>): JSX.Element {\r\n return (\r\n <thead\r\n className={cn(\r\n 'header *:border-b *:has-aria-expanded:bg-transparent',\r\n className\r\n )}\r\n data-slot=\"table-header\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableBody\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableBody({\r\n className,\r\n ...props\r\n}: ComponentProps<'tbody'>): JSX.Element {\r\n return (\r\n <tbody\r\n className={cn('*:last-child:border-0', className)}\r\n data-slot=\"table-body\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableFooter\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableFooter({\r\n className,\r\n ...props\r\n}: ComponentProps<'tfoot'>): JSX.Element {\r\n return (\r\n <tfoot\r\n className={cn(\r\n 'bg-gray-50/50 font-medium *:border-t *:last:border-b-0 *:has-aria-expanded:bg-transparent',\r\n className\r\n )}\r\n data-slot=\"table-footer\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableRow\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableRow({ className, ...props }: ComponentProps<'tr'>): JSX.Element {\r\n return (\r\n <tr\r\n className={cn(\r\n 'border-b transition-colors hover:bg-gray-50/50 has-aria-expanded:bg-gray-50/50 data-[state=selected]:bg-gray-100',\r\n className\r\n )}\r\n data-slot=\"table-row\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableHead\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableHead({ className, ...props }: ComponentProps<'th'>): JSX.Element {\r\n return (\r\n <th\r\n className={cn(\r\n 'h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-gbm-dark [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\r\n className\r\n )}\r\n data-slot=\"table-head\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableCell\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableCell({ className, ...props }: ComponentProps<'td'>): JSX.Element {\r\n return (\r\n <td\r\n className={cn(\r\n 'whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\r\n className\r\n )}\r\n data-slot=\"table-cell\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TableCaption\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TableCaption({\r\n className,\r\n ...props\r\n}: ComponentProps<'caption'>): JSX.Element {\r\n return (\r\n <caption\r\n className={cn('mt-4 text-gray-400 text-sm', className)}\r\n data-slot=\"table-caption\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport {\r\n Table,\r\n TableHeader,\r\n TableBody,\r\n TableFooter,\r\n TableHead,\r\n TableRow,\r\n TableCell,\r\n TableCaption,\r\n}\r\n"],"names":["Table","className","classNames","props","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":"6EAQA,SAASA,EAAM,CACbC,UAAAA,CAAS,CACTC,WAAAA,CAAU,CACV,GAAGC,EAKJ,EACC,OACE,EAAC,OAAI,UAAU,oC,SACb,EAAC,OACC,UAAWC,EAAG,gCAAiCF,GAAY,SAC3D,YAAU,kB,SAEV,EAAC,SACC,UAAWE,EAAG,gCAAiCH,GAC/C,YAAU,QACT,GAAGE,CAAK,A,MAKnB,CAMA,SAASE,EAAY,CACnBJ,UAAAA,CAAS,CACT,GAAGE,EACqB,EACxB,OACE,EAAC,SACC,UAAWC,EACT,uDACAH,GAEF,YAAU,eACT,GAAGE,CAAK,A,EAGf,CAMA,SAASG,EAAU,CACjBL,UAAAA,CAAS,CACT,GAAGE,EACqB,EACxB,OACE,EAAC,SACC,UAAWC,EAAG,wBAAyBH,GACvC,YAAU,aACT,GAAGE,CAAK,A,EAGf,CAMA,SAASI,EAAY,CACnBN,UAAAA,CAAS,CACT,GAAGE,EACqB,EACxB,OACE,EAAC,SACC,UAAWC,EACT,4FACAH,GAEF,YAAU,eACT,GAAGE,CAAK,A,EAGf,CAMA,SAASK,EAAS,CAAEP,UAAAA,CAAS,CAAE,GAAGE,EAA6B,EAC7D,OACE,EAAC,MACC,UAAWC,EACT,mHACAH,GAEF,YAAU,YACT,GAAGE,CAAK,A,EAGf,CAMA,SAASM,EAAU,CAAER,UAAAA,CAAS,CAAE,GAAGE,EAA6B,EAC9D,OACE,EAAC,MACC,UAAWC,EACT,mJACAH,GAEF,YAAU,aACT,GAAGE,CAAK,A,EAGf,CAMA,SAASO,EAAU,CAAET,UAAAA,CAAS,CAAE,GAAGE,EAA6B,EAC9D,OACE,EAAC,MACC,UAAWC,EACT,yGACAH,GAEF,YAAU,aACT,GAAGE,CAAK,A,EAGf,CAMA,SAASQ,EAAa,CACpBV,UAAAA,CAAS,CACT,GAAGE,EACuB,EAC1B,OACE,EAAC,WACC,UAAWC,EAAG,6BAA8BH,GAC5C,YAAU,gBACT,GAAGE,CAAK,A,EAGf,Q"}
@@ -1,2 +1,2 @@
1
- import*as t from"./tabs-content.js";import*as s from"./tabs-list.js";import*as o from"./tabs-root.js";import*as r from"./tabs-trigger.js";let a={Root:o.TabsRoot,Trigger:r.TabsTrigger,List:s.TabsList,Content:t.TabsContent};export{a as Tabs};
1
+ import{TabsContent as t}from"./tabs-content.js";import{TabsList as o}from"./tabs-list.js";import{TabsRoot as r}from"./tabs-root.js";import{TabsTrigger as s}from"./tabs-trigger.js";let i={Root:r,Trigger:s,List:o,Content:t};export{i as Tabs};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\tabs\\index.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/index.ts"],"sourcesContent":["import { TabsContent } from './tabs-content'\r\nimport { TabsList } from './tabs-list'\r\nimport { TabsRoot } from './tabs-root'\r\nimport { TabsTrigger } from './tabs-trigger'\r\n\r\nexport const Tabs = {\r\n Root: TabsRoot,\r\n Trigger: TabsTrigger,\r\n List: TabsList,\r\n Content: TabsContent,\r\n}\r\n"],"names":["Tabs","TabsRoot","TabsTrigger","TabsList","TabsContent"],"mappings":"0IAKO,IAAMA,EAAO,CAClB,KAAMC,EAAAA,QAAQA,CACd,QAASC,EAAAA,WAAWA,CACpB,KAAMC,EAAAA,QAAQA,CACd,QAASC,EAAAA,WAAWA,AACtB,S"}
1
+ {"version":3,"file":"components\\tabs\\index.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/index.ts"],"sourcesContent":["import { TabsContent } from './tabs-content'\r\nimport { TabsList } from './tabs-list'\r\nimport { TabsRoot } from './tabs-root'\r\nimport { TabsTrigger } from './tabs-trigger'\r\n\r\nexport const Tabs = {\r\n Root: TabsRoot,\r\n Trigger: TabsTrigger,\r\n List: TabsList,\r\n Content: TabsContent,\r\n}\r\n"],"names":["Tabs","TabsRoot","TabsTrigger","TabsList","TabsContent"],"mappings":"oLAKO,IAAMA,EAAO,CAClB,KAAMC,EACN,QAASC,EACT,KAAMC,EACN,QAASC,CACX,S"}
@@ -1,2 +1,2 @@
1
- import*as i from"react/jsx-runtime";import*as r from"@radix-ui/react-tabs";import*as s from"react";import*as t from"../../lib/utils.js";let e=s.forwardRef(({className:s,...e},o)=>(0,i.jsx)(r.Content,{ref:o,className:(0,t.cn)("mt-2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring ",s),...e}));e.displayName="Tabs.Content";export{e as TabsContent};
1
+ import{jsx as i}from"react/jsx-runtime";import{Content as r}from"@radix-ui/react-tabs";import{forwardRef as t}from"react";import{cn as e}from"../../lib/utils.js";let o=t(({className:t,...o},s)=>i(r,{ref:s,className:e("mt-2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring ",t),...o}));o.displayName="Tabs.Content";export{o as TabsContent};
2
2
  //# sourceMappingURL=tabs-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\tabs\\tabs-content.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-content.tsx"],"sourcesContent":["import * as TabsPrimitive from '@radix-ui/react-tabs'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nconst TabsContent = React.forwardRef<\r\n React.ElementRef<typeof TabsPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <TabsPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n 'mt-2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring ',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nTabsContent.displayName = 'Tabs.Content'\r\n\r\nexport { TabsContent }\r\n"],"names":["TabsContent","React","className","props","ref","TabsPrimitive","cn"],"mappings":"wIAKA,IAAMA,EAAcC,EAAAA,UAAgB,CAGlC,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,IAC1B,UAACC,EAAAA,OAAqB,EACpB,IAAKD,EACL,UAAWE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,gFACAJ,GAED,GAAGC,CAAK,A,GAGbH,CAAAA,EAAY,WAAW,CAAG,sB"}
1
+ {"version":3,"file":"components\\tabs\\tabs-content.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-content.tsx"],"sourcesContent":["import * as TabsPrimitive from '@radix-ui/react-tabs'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nconst TabsContent = React.forwardRef<\r\n React.ElementRef<typeof TabsPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <TabsPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n 'mt-2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring ',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nTabsContent.displayName = 'Tabs.Content'\r\n\r\nexport { TabsContent }\r\n"],"names":["TabsContent","React","className","props","ref","TabsPrimitive","cn"],"mappings":"kKAKA,IAAMA,EAAcC,EAGlB,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,IAC1B,EAACC,EAAqB,CACpB,IAAKD,EACL,UAAWE,EACT,gFACAJ,GAED,GAAGC,CAAK,A,GAGbH,CAAAA,EAAY,WAAW,CAAG,sB"}
@@ -1,2 +1,2 @@
1
- import*as r from"react/jsx-runtime";import*as t from"@radix-ui/react-tabs";import*as e from"react";import*as a from"../../lib/utils.js";let s=e.default.forwardRef(({className:e,...s},i)=>(0,r.jsx)(t.List,{ref:i,className:(0,a.cn)("inline-flex w-full items-center justify-center rounded-md bg-gray-50 p-1 text-gbm-dark",e),...s}));s.displayName="Tabs.List";export{s as TabsList};
1
+ import{jsx as r}from"react/jsx-runtime";import{List as t}from"@radix-ui/react-tabs";import e from"react";import{cn as i}from"../../lib/utils.js";let a=e.forwardRef(({className:e,...a},m)=>r(t,{ref:m,className:i("inline-flex w-full items-center justify-center rounded-md bg-gray-50 p-1 text-gbm-dark",e),...a}));a.displayName="Tabs.List";export{a as TabsList};
2
2
  //# sourceMappingURL=tabs-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\tabs\\tabs-list.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-list.tsx"],"sourcesContent":["import * as TabsPrimitive from '@radix-ui/react-tabs'\r\nimport React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nconst TabsList = React.forwardRef<\r\n React.ElementRef<typeof TabsPrimitive.List>,\r\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\r\n>(({ className, ...props }, ref) => (\r\n <TabsPrimitive.List\r\n ref={ref}\r\n className={cn(\r\n 'inline-flex w-full items-center justify-center rounded-md bg-gray-50 p-1 text-gbm-dark',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nTabsList.displayName = 'Tabs.List'\r\n\r\nexport { TabsList }\r\n"],"names":["TabsList","React","className","props","ref","TabsPrimitive","cn"],"mappings":"wIAKA,IAAMA,EAAWC,EAAAA,OAAAA,CAAAA,UAAgB,CAG/B,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,IAC1B,UAACC,EAAAA,IAAkB,EACjB,IAAKD,EACL,UAAWE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,yFACAJ,GAED,GAAGC,CAAK,A,GAGbH,CAAAA,EAAS,WAAW,CAAG,mB"}
1
+ {"version":3,"file":"components\\tabs\\tabs-list.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-list.tsx"],"sourcesContent":["import * as TabsPrimitive from '@radix-ui/react-tabs'\r\nimport React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nconst TabsList = React.forwardRef<\r\n React.ElementRef<typeof TabsPrimitive.List>,\r\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\r\n>(({ className, ...props }, ref) => (\r\n <TabsPrimitive.List\r\n ref={ref}\r\n className={cn(\r\n 'inline-flex w-full items-center justify-center rounded-md bg-gray-50 p-1 text-gbm-dark',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nTabsList.displayName = 'Tabs.List'\r\n\r\nexport { TabsList }\r\n"],"names":["TabsList","React","className","props","ref","TabsPrimitive","cn"],"mappings":"iJAKA,IAAMA,EAAWC,EAAAA,UAAgB,CAG/B,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,IAC1B,EAACC,EAAkB,CACjB,IAAKD,EACL,UAAWE,EACT,yFACAJ,GAED,GAAGC,CAAK,A,GAGbH,CAAAA,EAAS,WAAW,CAAG,mB"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as r from"react/jsx-runtime";import*as t from"@radix-ui/react-tabs";import*as e from"react";let a=e.default.createContext({variant:"primary"}),o=()=>{let r=(0,e.useContext)(a);if(!r)throw Error("useTabsContext must be used within a Tabs");return r},s=e.default.forwardRef(({variant:e="primary",...o},s)=>(0,r.jsx)(a.Provider,{value:{variant:e},children:(0,r.jsx)(t.Root,{ref:s,...o})}));s.displayName="Tabs.Root";export{s as TabsRoot,o as useTabsContext};
2
+ import{jsx as r}from"react/jsx-runtime";import{Root as t}from"@radix-ui/react-tabs";import e,{useContext as a}from"react";let o=e.createContext({variant:"primary"}),i=()=>{let r=a(o);if(!r)throw Error("useTabsContext must be used within a Tabs");return r},s=e.forwardRef(({variant:e="primary",...a},i)=>r(o.Provider,{value:{variant:e},children:r(t,{ref:i,...a})}));s.displayName="Tabs.Root";export{s as TabsRoot,i as useTabsContext};
3
3
  //# sourceMappingURL=tabs-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\tabs\\tabs-root.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-root.tsx"],"sourcesContent":["\r\n\r\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\r\nimport React, { useContext } from 'react'\r\n\r\ntype tabsVariant = 'primary' | 'secondary'\r\n\r\ntype TabsContext = {\r\n variant?: tabsVariant\r\n}\r\n\r\nconst TabsContext = React.createContext<TabsContext>({\r\n variant: 'primary',\r\n})\r\n\r\nconst useTabsContext = () => {\r\n const context = useContext(TabsContext)\r\n if (!context) {\r\n throw new Error('useTabsContext must be used within a Tabs')\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst TabsRoot = React.forwardRef<\r\n React.ElementRef<typeof TabsPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {\r\n variant?: tabsVariant\r\n }\r\n>(({ variant = 'primary', ...props }, ref) => {\r\n return (\r\n <TabsContext.Provider value={{ variant }}>\r\n <TabsPrimitive.Root ref={ref} {...props} />\r\n </TabsContext.Provider>\r\n )\r\n})\r\nTabsRoot.displayName = 'Tabs.Root'\r\n\r\nexport { TabsRoot, useTabsContext }\r\n"],"names":["TabsContext","React","useTabsContext","context","useContext","Error","TabsRoot","variant","props","ref","TabsPrimitive"],"mappings":";mGAWA,IAAMA,EAAcC,EAAAA,OAAAA,CAAAA,aAAmB,CAAc,CACnD,QAAS,SACX,GAEMC,EAAiB,KACrB,IAAMC,EAAUC,GAAAA,EAAAA,UAAAA,EAAWJ,GAC3B,GAAI,CAACG,EACH,MAAM,MAAU,6CAGlB,OAAOA,CACT,EAEMG,EAAWL,EAAAA,OAAAA,CAAAA,UAAgB,CAK/B,CAAC,CAAEM,QAAAA,EAAU,SAAS,CAAE,GAAGC,EAAO,CAAEC,IAElC,UAACT,EAAY,QAAQ,EAAC,MAAO,CAAEO,QAAAA,CAAQ,E,SACrC,UAACG,EAAAA,IAAkB,EAAC,IAAKD,EAAM,GAAGD,CAAK,KAI7CF,CAAAA,EAAS,WAAW,CAAG,mB"}
1
+ {"version":3,"file":"components\\tabs\\tabs-root.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-root.tsx"],"sourcesContent":["\r\n\r\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\r\nimport React, { useContext } from 'react'\r\n\r\ntype tabsVariant = 'primary' | 'secondary'\r\n\r\ntype TabsContext = {\r\n variant?: tabsVariant\r\n}\r\n\r\nconst TabsContext = React.createContext<TabsContext>({\r\n variant: 'primary',\r\n})\r\n\r\nconst useTabsContext = () => {\r\n const context = useContext(TabsContext)\r\n if (!context) {\r\n throw new Error('useTabsContext must be used within a Tabs')\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst TabsRoot = React.forwardRef<\r\n React.ElementRef<typeof TabsPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {\r\n variant?: tabsVariant\r\n }\r\n>(({ variant = 'primary', ...props }, ref) => {\r\n return (\r\n <TabsContext.Provider value={{ variant }}>\r\n <TabsPrimitive.Root ref={ref} {...props} />\r\n </TabsContext.Provider>\r\n )\r\n})\r\nTabsRoot.displayName = 'Tabs.Root'\r\n\r\nexport { TabsRoot, useTabsContext }\r\n"],"names":["TabsContext","React","useTabsContext","context","useContext","Error","TabsRoot","variant","props","ref","TabsPrimitive"],"mappings":";0HAWA,IAAMA,EAAcC,EAAAA,aAAmB,CAAc,CACnD,QAAS,SACX,GAEMC,EAAiB,KACrB,IAAMC,EAAUC,EAAWJ,GAC3B,GAAI,CAACG,EACH,MAAM,MAAU,6CAGlB,OAAOA,CACT,EAEMG,EAAWL,EAAAA,UAAgB,CAK/B,CAAC,CAAEM,QAAAA,EAAU,SAAS,CAAE,GAAGC,EAAO,CAAEC,IAElC,EAACT,EAAY,QAAQ,EAAC,MAAO,CAAEO,QAAAA,CAAQ,E,SACrC,EAACG,EAAkB,CAAC,IAAKD,EAAM,GAAGD,CAAK,KAI7CF,CAAAA,EAAS,WAAW,CAAG,mB"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as t from"react/jsx-runtime";import*as e from"@radix-ui/react-tabs";import*as a from"react";import*as r from"../../lib/utils.js";import*as i from"./tabs-root.js";let s=a.forwardRef(({className:a,...s},o)=>{let{variant:n}=(0,i.useTabsContext)();return(0,t.jsx)(e.Trigger,{ref:o,className:(0,r.cn)("inline-flex h-10 w-full cursor-pointer items-center justify-center whitespace-nowrap rounded px-3 py-1.5 font-medium text-gbm-dark/60 text-sm transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-gbm-dark data-[state=active]:shadow-sm",{"data-[state=active]:text-primary":"secondary"===n},a),...s})});s.displayName="Tabs.Trigger";export{s as TabsTrigger};
2
+ import{jsx as t}from"react/jsx-runtime";import{Trigger as e}from"@radix-ui/react-tabs";import{forwardRef as r}from"react";import{cn as a}from"../../lib/utils.js";import{useTabsContext as i}from"./tabs-root.js";let s=r(({className:r,...s},o)=>{let{variant:n}=i();return t(e,{ref:o,className:a("inline-flex h-10 w-full cursor-pointer items-center justify-center whitespace-nowrap rounded px-3 py-1.5 font-medium text-gbm-dark/60 text-sm transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-gbm-dark data-[state=active]:shadow-sm",{"data-[state=active]:text-primary":"secondary"===n},r),...s})});s.displayName="Tabs.Trigger";export{s as TabsTrigger};
3
3
  //# sourceMappingURL=tabs-trigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\tabs\\tabs-trigger.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-trigger.tsx"],"sourcesContent":["\r\n\r\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\nimport { useTabsContext } from './tabs-root'\r\n\r\nconst TabsTrigger = React.forwardRef<\r\n React.ElementRef<typeof TabsPrimitive.Trigger>,\r\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\r\n>(({ className, ...props }, ref) => {\r\n const { variant } = useTabsContext()\r\n\r\n return (\r\n <TabsPrimitive.Trigger\r\n ref={ref}\r\n className={cn(\r\n 'inline-flex h-10 w-full cursor-pointer items-center justify-center whitespace-nowrap rounded px-3 py-1.5 font-medium text-gbm-dark/60 text-sm transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-gbm-dark data-[state=active]:shadow-sm',\r\n {\r\n 'data-[state=active]:text-primary': variant === 'secondary',\r\n },\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n})\r\nTabsTrigger.displayName = 'Tabs.Trigger'\r\n\r\nexport { TabsTrigger }\r\n"],"names":["TabsTrigger","React","className","props","ref","variant","useTabsContext","TabsPrimitive","cn"],"mappings":";yKAQA,IAAMA,EAAcC,EAAAA,UAAgB,CAGlC,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,KAC1B,GAAM,CAAEC,QAAAA,CAAO,CAAE,CAAGC,GAAAA,EAAAA,cAAAA,IAEpB,MACE,UAACC,EAAAA,OAAqB,EACpB,IAAKH,EACL,UAAWI,GAAAA,EAAAA,EAAAA,EACT,0XACA,CACE,mCAAoCH,cAAAA,CACtC,EACAH,GAED,GAAGC,CAAK,EAGf,EACAH,CAAAA,EAAY,WAAW,CAAG,sB"}
1
+ {"version":3,"file":"components\\tabs\\tabs-trigger.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tabs/tabs-trigger.tsx"],"sourcesContent":["\r\n\r\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\nimport { useTabsContext } from './tabs-root'\r\n\r\nconst TabsTrigger = React.forwardRef<\r\n React.ElementRef<typeof TabsPrimitive.Trigger>,\r\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\r\n>(({ className, ...props }, ref) => {\r\n const { variant } = useTabsContext()\r\n\r\n return (\r\n <TabsPrimitive.Trigger\r\n ref={ref}\r\n className={cn(\r\n 'inline-flex h-10 w-full cursor-pointer items-center justify-center whitespace-nowrap rounded px-3 py-1.5 font-medium text-gbm-dark/60 text-sm transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-gbm-dark data-[state=active]:shadow-sm',\r\n {\r\n 'data-[state=active]:text-primary': variant === 'secondary',\r\n },\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n})\r\nTabsTrigger.displayName = 'Tabs.Trigger'\r\n\r\nexport { TabsTrigger }\r\n"],"names":["TabsTrigger","React","className","props","ref","variant","useTabsContext","TabsPrimitive","cn"],"mappings":";kNAQA,IAAMA,EAAcC,EAGlB,CAAC,CAAEC,UAAAA,CAAS,CAAE,GAAGC,EAAO,CAAEC,KAC1B,GAAM,CAAEC,QAAAA,CAAO,CAAE,CAAGC,IAEpB,OACE,EAACC,EAAqB,CACpB,IAAKH,EACL,UAAWI,EACT,0XACA,CACE,mCAAoCH,cAAAA,CACtC,EACAH,GAED,GAAGC,CAAK,EAGf,EACAH,CAAAA,EAAY,WAAW,CAAG,sB"}
@@ -1,2 +1,2 @@
1
- import*as e from"react/jsx-runtime";import*as r from"../lib/utils.js";function t({className:t,...a}){return(0,e.jsx)("textarea",{className:(0,r.cn)("flex min-h-16 w-full grow rounded-lg border border-input px-3 py-2 text-base shadow-xs outline-hidden transition placeholder:text-muted-foreground focus-visible:border-primary disabled:opacity-50 aria-invalid:border-destructive md:text-sm",t),"data-slot":"textarea",...a})}export{t as Textarea};
1
+ import{jsx as e}from"react/jsx-runtime";import{cn as r}from"../lib/utils.js";function t({className:t,...a}){return e("textarea",{className:r("flex min-h-16 w-full grow rounded-lg border border-input px-3 py-2 text-base shadow-xs outline-hidden transition placeholder:text-muted-foreground focus-visible:border-primary disabled:opacity-50 aria-invalid:border-destructive md:text-sm",t),"data-slot":"textarea",...a})}export{t as Textarea};
2
2
  //# sourceMappingURL=textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\textarea.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/textarea.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Textarea\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Textarea({\r\n className,\r\n ...props\r\n}: ComponentProps<'textarea'>): JSX.Element {\r\n return (\r\n <textarea\r\n className={cn(\r\n 'flex min-h-16 w-full grow rounded-lg border border-input px-3 py-2 text-base shadow-xs outline-hidden transition placeholder:text-muted-foreground focus-visible:border-primary disabled:opacity-50 aria-invalid:border-destructive md:text-sm',\r\n className\r\n )}\r\n data-slot=\"textarea\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport { Textarea }\r\n"],"names":["Textarea","className","props","cn"],"mappings":"sEAQA,SAASA,EAAS,CAChBC,UAAAA,CAAS,CACT,GAAGC,EACwB,EAC3B,MACE,UAAC,YACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,iPACAF,GAEF,YAAU,WACT,GAAGC,CAAK,A,EAGf,Q"}
1
+ {"version":3,"file":"components\\textarea.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/textarea.tsx"],"sourcesContent":["import type { ComponentProps, JSX } from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Textarea\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Textarea({\r\n className,\r\n ...props\r\n}: ComponentProps<'textarea'>): JSX.Element {\r\n return (\r\n <textarea\r\n className={cn(\r\n 'flex min-h-16 w-full grow rounded-lg border border-input px-3 py-2 text-base shadow-xs outline-hidden transition placeholder:text-muted-foreground focus-visible:border-primary disabled:opacity-50 aria-invalid:border-destructive md:text-sm',\r\n className\r\n )}\r\n data-slot=\"textarea\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport { Textarea }\r\n"],"names":["Textarea","className","props","cn"],"mappings":"6EAQA,SAASA,EAAS,CAChBC,UAAAA,CAAS,CACT,GAAGC,EACwB,EAC3B,OACE,EAAC,YACC,UAAWC,EACT,iPACAF,GAEF,YAAU,WACT,GAAGC,CAAK,A,EAGf,Q"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as r from"next-themes";function t({children:t,...s}){return(0,e.jsx)(r.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,...s,children:t})}export{t as ThemeProvider};
2
+ import{jsx as e}from"react/jsx-runtime";import{ThemeProvider as r}from"next-themes";function t({children:t,...i}){return e(r,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,...i,children:t})}export{t as ThemeProvider};
3
3
  //# sourceMappingURL=theme-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\theme-provider.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/theme-provider.tsx"],"sourcesContent":["\n\nimport { ThemeProvider as NextThemesProvider } from 'next-themes'\nimport { ComponentProps } from 'react'\n\nfunction ThemeProvider({\n children,\n ...props\n}: ComponentProps<typeof NextThemesProvider>) {\n return (\n <NextThemesProvider\n attribute=\"class\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n {...props}\n >\n {children}\n </NextThemesProvider>\n )\n}\n\nexport { ThemeProvider }\n"],"names":["ThemeProvider","children","props","NextThemesProvider"],"mappings":";kEAKA,SAASA,EAAc,CACrBC,SAAAA,CAAQ,CACR,GAAGC,EACuC,EAC1C,MACE,UAACC,EAAAA,aAAkBA,CAAAA,CACjB,UAAU,QACV,aAAa,SACb,aAAY,GACZ,0BAAyB,GACxB,GAAGD,CAAK,C,SAERD,C,EAGP,Q"}
1
+ {"version":3,"file":"components\\theme-provider.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/theme-provider.tsx"],"sourcesContent":["\n\nimport { ThemeProvider as NextThemesProvider } from 'next-themes'\nimport { ComponentProps } from 'react'\n\nfunction ThemeProvider({\n children,\n ...props\n}: ComponentProps<typeof NextThemesProvider>) {\n return (\n <NextThemesProvider\n attribute=\"class\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n {...props}\n >\n {children}\n </NextThemesProvider>\n )\n}\n\nexport { ThemeProvider }\n"],"names":["ThemeProvider","children","props","NextThemesProvider"],"mappings":";oFAKA,SAASA,EAAc,CACrBC,SAAAA,CAAQ,CACR,GAAGC,EACuC,EAC1C,OACE,EAACC,EAAkBA,CACjB,UAAU,QACV,aAAa,SACb,aAAY,GACZ,0BAAyB,GACxB,GAAGD,CAAK,C,SAERD,C,EAGP,Q"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as r from"lucide-react";import*as n from"next-themes";import*as o from"./button.js";import*as t from"./dropdown-menu.js";function s(){let{setTheme:s}=(0,n.useTheme)();return(0,e.jsxs)(t.DropdownMenu,{children:[(0,e.jsx)(t.DropdownMenuTrigger,{asChild:!0,children:(0,e.jsxs)(o.Button,{variant:"outline",size:"icon",children:[(0,e.jsx)(r.Sun,{className:"dark:-rotate-90 h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:scale-0"}),(0,e.jsx)(r.MoonStar,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),(0,e.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}),(0,e.jsxs)(t.DropdownMenuContent,{align:"end",children:[(0,e.jsx)(t.DropdownMenuItem,{onClick:()=>s("light"),children:"Light"}),(0,e.jsx)(t.DropdownMenuItem,{onClick:()=>s("dark"),children:"Dark"}),(0,e.jsx)(t.DropdownMenuItem,{onClick:()=>s("system"),children:"System"})]})]})}export{s as ThemeToggle};
2
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{MoonStar as t,Sun as a}from"lucide-react";import{useTheme as l}from"next-themes";import{Button as i}from"./button.js";import{DropdownMenu as n,DropdownMenuContent as o,DropdownMenuItem as m,DropdownMenuTrigger as s}from"./dropdown-menu.js";function c(){let{setTheme:c}=l();return r(n,{children:[e(s,{asChild:!0,children:r(i,{variant:"outline",size:"icon",children:[e(a,{className:"dark:-rotate-90 h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:scale-0"}),e(t,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),e("span",{className:"sr-only",children:"Toggle theme"})]})}),r(o,{align:"end",children:[e(m,{onClick:()=>c("light"),children:"Light"}),e(m,{onClick:()=>c("dark"),children:"Dark"}),e(m,{onClick:()=>c("system"),children:"System"})]})]})}export{c as ThemeToggle};
3
3
  //# sourceMappingURL=theme-toggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\theme-toggle.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/theme-toggle.tsx"],"sourcesContent":["\n\nimport { MoonStar, Sun } from 'lucide-react'\nimport { useTheme } from 'next-themes'\n\nimport { Button } from './button'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from './dropdown-menu'\n\nfunction ThemeToggle() {\n const { setTheme } = useTheme()\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"icon\">\n <Sun className=\"dark:-rotate-90 h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:scale-0\" />\n <MoonStar className=\"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\" />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => setTheme('light')}>\n Light\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('dark')}>\n Dark\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('system')}>\n System\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n\nexport { ThemeToggle }\n"],"names":["ThemeToggle","setTheme","useTheme","DropdownMenu","DropdownMenuTrigger","Button","Sun","MoonStar","DropdownMenuContent","DropdownMenuItem"],"mappings":";oKAaA,SAASA,IACP,GAAM,CAAEC,SAAAA,CAAQ,CAAE,CAAGC,GAAAA,EAAAA,QAAAA,IAErB,MACE,WAACC,EAAAA,YAAYA,CAAAA,C,UACX,UAACC,EAAAA,mBAAmBA,CAAAA,CAAC,QAAO,G,SAC1B,WAACC,EAAAA,MAAMA,CAAAA,CAAC,QAAQ,UAAU,KAAK,O,UAC7B,UAACC,EAAAA,GAAGA,CAAAA,CAAC,UAAU,sF,GACf,UAACC,EAAAA,QAAQA,CAAAA,CAAC,UAAU,8F,GACpB,UAAC,QAAK,UAAU,U,SAAU,c,QAG9B,WAACC,EAAAA,mBAAmBA,CAAAA,CAAC,MAAM,M,UACzB,UAACC,EAAAA,gBAAgBA,CAAAA,CAAC,QAAS,IAAMR,EAAS,S,SAAU,O,GAGpD,UAACQ,EAAAA,gBAAgBA,CAAAA,CAAC,QAAS,IAAMR,EAAS,Q,SAAS,M,GAGnD,UAACQ,EAAAA,gBAAgBA,CAAAA,CAAC,QAAS,IAAMR,EAAS,U,SAAW,Q,QAM7D,Q"}
1
+ {"version":3,"file":"components\\theme-toggle.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/theme-toggle.tsx"],"sourcesContent":["\n\nimport { MoonStar, Sun } from 'lucide-react'\nimport { useTheme } from 'next-themes'\n\nimport { Button } from './button'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from './dropdown-menu'\n\nfunction ThemeToggle() {\n const { setTheme } = useTheme()\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"icon\">\n <Sun className=\"dark:-rotate-90 h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:scale-0\" />\n <MoonStar className=\"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\" />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => setTheme('light')}>\n Light\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('dark')}>\n Dark\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('system')}>\n System\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n\nexport { ThemeToggle }\n"],"names":["ThemeToggle","setTheme","useTheme","DropdownMenu","DropdownMenuTrigger","Button","Sun","MoonStar","DropdownMenuContent","DropdownMenuItem"],"mappings":";ySAaA,SAASA,IACP,GAAM,CAAEC,SAAAA,CAAQ,CAAE,CAAGC,IAErB,OACE,EAACC,EAAYA,C,UACX,EAACC,EAAmBA,CAAC,QAAO,G,SAC1B,EAACC,EAAMA,CAAC,QAAQ,UAAU,KAAK,O,UAC7B,EAACC,EAAGA,CAAC,UAAU,sF,GACf,EAACC,EAAQA,CAAC,UAAU,8F,GACpB,EAAC,QAAK,UAAU,U,SAAU,c,QAG9B,EAACC,EAAmBA,CAAC,MAAM,M,UACzB,EAACC,EAAgBA,CAAC,QAAS,IAAMR,EAAS,S,SAAU,O,GAGpD,EAACQ,EAAgBA,CAAC,QAAS,IAAMR,EAAS,Q,SAAS,M,GAGnD,EAACQ,EAAgBA,CAAC,QAAS,IAAMR,EAAS,U,SAAW,Q,QAM7D,Q"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as t from"react";import*as r from"../lib/utils.js";import*as a from"../utils/time-picker.js";import*as n from"./input.js";let i=t.default.forwardRef(({className:i,type:o="tel",value:s,id:p,name:u,date:l=new Date(new Date().setHours(0,0,0,0)),setDate:m,onChange:f,onKeyDown:y,picker:c,onLeftFocus:w,onRightFocus:k,...D},d)=>{let[T,A]=t.default.useState(!1);t.default.useEffect(()=>{if(T){let e=setTimeout(()=>{A(!1)},2e3);return()=>clearTimeout(e)}},[T]);let b=t.default.useMemo(()=>(0,a.getDateByType)(l,c),[l,c]),j=e=>{if("Tab"!==e.key){if(e.preventDefault(),"ArrowRight"===e.key&&k?.(),"ArrowLeft"===e.key&&w?.(),["ArrowUp","ArrowDown"].includes(e.key)){let t="ArrowUp"===e.key?1:-1,r=(0,a.getArrowByType)(b,t,c);T&&A(!1);let n=new Date(l);m((0,a.setDateByType)(n,r,c))}if(e.key>="0"&&e.key<="9"){let t=T?b.slice(1,2)+e.key:"0"+e.key;T&&k?.(),A(e=>!e);let r=new Date(l);m((0,a.setDateByType)(r,t,c))}}};return(0,e.jsx)(n.Input,{ref:d,id:p||c,name:u||c,className:(0,r.cn)("w-[52px] text-center font-mono tabular-nums caret-transparent [&::-webkit-inner-spin-button]:appearance-none",i),value:s||b,onChange:e=>{e.preventDefault(),f?.(e)},type:o,inputMode:"decimal",onKeyDown:e=>{y?.(e),j(e)},...D})});i.displayName="TimePickerInput";export{i as TimePickerInput};
2
+ import{jsx as e}from"react/jsx-runtime";import t from"react";import{cn as r}from"../lib/utils.js";import{getArrowByType as n,getDateByType as i,setDateByType as o}from"../utils/time-picker.js";import{Input as a}from"./input.js";let m=t.forwardRef(({className:m,type:p="tel",value:u,id:l,name:s,date:f=new Date(new Date().setHours(0,0,0,0)),setDate:c,onChange:w,onKeyDown:k,picker:y,onLeftFocus:D,onRightFocus:d,...b},A)=>{let[T,j]=t.useState(!1);t.useEffect(()=>{if(T){let e=setTimeout(()=>{j(!1)},2e3);return()=>clearTimeout(e)}},[T]);let x=t.useMemo(()=>i(f,y),[f,y]);return e(a,{ref:A,id:l||y,name:s||y,className:r("w-[52px] text-center font-mono tabular-nums caret-transparent [&::-webkit-inner-spin-button]:appearance-none",m),value:u||x,onChange:e=>{e.preventDefault(),w?.(e)},type:p,inputMode:"decimal",onKeyDown:e=>{k?.(e);if("Tab"!==e.key){if(e.preventDefault(),"ArrowRight"===e.key&&d?.(),"ArrowLeft"===e.key&&D?.(),["ArrowUp","ArrowDown"].includes(e.key)){let t=n(x,"ArrowUp"===e.key?1:-1,y);T&&j(!1),c(o(new Date(f),t,y))}if(e.key>="0"&&e.key<="9"){let t=T?x.slice(1,2)+e.key:"0"+e.key;T&&d?.(),j(e=>!e),c(o(new Date(f),t,y))}}},...b})});m.displayName="TimePickerInput";export{m as TimePickerInput};
3
3
  //# sourceMappingURL=time-picker-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\time-picker-input.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/time-picker-input.tsx"],"sourcesContent":["\r\n\r\nimport React, { ComponentProps } from 'react'\r\n\r\nimport { cn } from '../lib/utils'\r\nimport {\r\n TimePickerType,\r\n getArrowByType,\r\n getDateByType,\r\n setDateByType,\r\n} from '../utils/time-picker'\r\n\r\nimport { Input } from './input'\r\n\r\nexport interface TimePickerInputProps extends ComponentProps<typeof Input> {\r\n picker: TimePickerType\r\n date: Date | undefined\r\n setDate: (date: Date | undefined) => void\r\n onRightFocus?: () => void\r\n onLeftFocus?: () => void\r\n}\r\n\r\nconst TimePickerInput = React.forwardRef<\r\n HTMLInputElement,\r\n TimePickerInputProps\r\n>(\r\n (\r\n {\r\n className,\r\n type = 'tel',\r\n value,\r\n id,\r\n name,\r\n date = new Date(new Date().setHours(0, 0, 0, 0)),\r\n setDate,\r\n onChange,\r\n onKeyDown,\r\n picker,\r\n onLeftFocus,\r\n onRightFocus,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [flag, setFlag] = React.useState<boolean>(false)\r\n\r\n React.useEffect(() => {\r\n if (flag) {\r\n const timer = setTimeout(() => {\r\n setFlag(false)\r\n }, 2000)\r\n\r\n return () => clearTimeout(timer)\r\n }\r\n }, [flag])\r\n\r\n const calculatedValue = React.useMemo(\r\n () => getDateByType(date, picker),\r\n [date, picker]\r\n )\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Tab') return\r\n e.preventDefault()\r\n if (e.key === 'ArrowRight') onRightFocus?.()\r\n if (e.key === 'ArrowLeft') onLeftFocus?.()\r\n if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\r\n const step = e.key === 'ArrowUp' ? 1 : -1\r\n const newValue = getArrowByType(calculatedValue, step, picker)\r\n if (flag) setFlag(false)\r\n const tempDate = new Date(date)\r\n setDate(setDateByType(tempDate, newValue, picker))\r\n }\r\n if (e.key >= '0' && e.key <= '9') {\r\n const newValue = !flag\r\n ? '0' + e.key\r\n : calculatedValue.slice(1, 2) + e.key\r\n if (flag) onRightFocus?.()\r\n setFlag(prev => !prev)\r\n const tempDate = new Date(date)\r\n setDate(setDateByType(tempDate, newValue, picker))\r\n }\r\n }\r\n\r\n return (\r\n <Input\r\n ref={ref}\r\n id={id || picker}\r\n name={name || picker}\r\n className={cn(\r\n 'w-[52px] text-center font-mono tabular-nums caret-transparent [&::-webkit-inner-spin-button]:appearance-none',\r\n className\r\n )}\r\n value={value || calculatedValue}\r\n onChange={e => {\r\n e.preventDefault()\r\n onChange?.(e)\r\n }}\r\n type={type}\r\n inputMode=\"decimal\"\r\n onKeyDown={e => {\r\n onKeyDown?.(e)\r\n handleKeyDown(e)\r\n }}\r\n {...props}\r\n />\r\n )\r\n }\r\n)\r\n\r\nTimePickerInput.displayName = 'TimePickerInput'\r\n\r\nexport { TimePickerInput }\r\n"],"names":["TimePickerInput","React","className","type","value","id","name","date","Date","setDate","onChange","onKeyDown","picker","onLeftFocus","onRightFocus","props","ref","flag","setFlag","timer","setTimeout","clearTimeout","calculatedValue","getDateByType","handleKeyDown","e","step","newValue","getArrowByType","tempDate","setDateByType","prev","Input","cn"],"mappings":";qKAsBA,IAAMA,EAAkBC,EAAAA,OAAAA,CAAAA,UAAgB,CAItC,CACE,CACEC,UAAAA,CAAS,CACTC,KAAAA,EAAO,KAAK,CACZC,MAAAA,CAAK,CACLC,GAAAA,CAAE,CACFC,KAAAA,CAAI,CACJC,KAAAA,EAAO,IAAIC,KAAK,IAAIA,OAAO,QAAQ,CAAC,EAAG,EAAG,EAAG,GAAG,CAChDC,QAAAA,CAAO,CACPC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACTC,OAAAA,CAAM,CACNC,YAAAA,CAAW,CACXC,aAAAA,CAAY,CACZ,GAAGC,EACJ,CACDC,KAEA,GAAM,CAACC,EAAMC,EAAQ,CAAGjB,EAAAA,OAAAA,CAAAA,QAAc,CAAU,IAEhDA,EAAAA,OAAAA,CAAAA,SAAe,CAAC,KACd,GAAIgB,EAAM,CACR,IAAME,EAAQC,WAAW,KACvBF,EAAQ,GACV,EAAG,KAEH,MAAO,IAAMG,aAAaF,EAC5B,CACF,EAAG,CAACF,EAAK,EAET,IAAMK,EAAkBrB,EAAAA,OAAAA,CAAAA,OAAa,CACnC,IAAMsB,GAAAA,EAAAA,aAAAA,EAAchB,EAAMK,GAC1B,CAACL,EAAMK,EAAO,EAGVY,EAAgB,IACpB,GAAIC,QAAAA,EAAE,GAAG,EAIT,GAHAA,EAAE,cAAc,GACZA,eAAAA,EAAE,GAAG,EAAmBX,MACxBW,cAAAA,EAAE,GAAG,EAAkBZ,MACvB,CAAC,UAAW,YAAY,CAAC,QAAQ,CAACY,EAAE,GAAG,EAAG,CAC5C,IAAMC,EAAOD,YAAAA,EAAE,GAAG,CAAiB,EAAI,GACjCE,EAAWC,GAAAA,EAAAA,cAAAA,EAAeN,EAAiBI,EAAMd,EACnDK,CAAAA,GAAMC,EAAQ,IAClB,IAAMW,EAAW,IAAIrB,KAAKD,GAC1BE,EAAQqB,GAAAA,EAAAA,aAAAA,EAAcD,EAAUF,EAAUf,GAC5C,CACA,GAAIa,EAAE,GAAG,EAAI,KAAOA,EAAE,GAAG,EAAI,IAAK,CAChC,IAAME,EAAW,EAEbL,EAAgB,KAAK,CAAC,EAAG,GAAKG,EAAE,GAAG,CADnC,IAAMA,EAAE,GAAG,CAEXR,GAAMH,MACVI,EAAQa,GAAQ,CAACA,GACjB,IAAMF,EAAW,IAAIrB,KAAKD,GAC1BE,EAAQqB,GAAAA,EAAAA,aAAAA,EAAcD,EAAUF,EAAUf,GAC5C,EACF,EAEA,MACE,UAACoB,EAAAA,KAAKA,CAAAA,CACJ,IAAKhB,EACL,GAAIX,GAAMO,EACV,KAAMN,GAAQM,EACd,UAAWqB,GAAAA,EAAAA,EAAAA,EACT,+GACA/B,GAEF,MAAOE,GAASkB,EAChB,SAAUG,IACRA,EAAE,cAAc,GAChBf,IAAWe,EACb,EACA,KAAMtB,EACN,UAAU,UACV,UAAWsB,IACTd,IAAYc,GACZD,EAAcC,EAChB,EACC,GAAGV,CAAK,EAGf,EAGFf,CAAAA,EAAgB,WAAW,CAAG,yB"}
1
+ {"version":3,"file":"components\\time-picker-input.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/time-picker-input.tsx"],"sourcesContent":["\r\n\r\nimport React, { ComponentProps } from 'react'\r\n\r\nimport { cn } from '../lib/utils'\r\nimport {\r\n TimePickerType,\r\n getArrowByType,\r\n getDateByType,\r\n setDateByType,\r\n} from '../utils/time-picker'\r\n\r\nimport { Input } from './input'\r\n\r\nexport interface TimePickerInputProps extends ComponentProps<typeof Input> {\r\n picker: TimePickerType\r\n date: Date | undefined\r\n setDate: (date: Date | undefined) => void\r\n onRightFocus?: () => void\r\n onLeftFocus?: () => void\r\n}\r\n\r\nconst TimePickerInput = React.forwardRef<\r\n HTMLInputElement,\r\n TimePickerInputProps\r\n>(\r\n (\r\n {\r\n className,\r\n type = 'tel',\r\n value,\r\n id,\r\n name,\r\n date = new Date(new Date().setHours(0, 0, 0, 0)),\r\n setDate,\r\n onChange,\r\n onKeyDown,\r\n picker,\r\n onLeftFocus,\r\n onRightFocus,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [flag, setFlag] = React.useState<boolean>(false)\r\n\r\n React.useEffect(() => {\r\n if (flag) {\r\n const timer = setTimeout(() => {\r\n setFlag(false)\r\n }, 2000)\r\n\r\n return () => clearTimeout(timer)\r\n }\r\n }, [flag])\r\n\r\n const calculatedValue = React.useMemo(\r\n () => getDateByType(date, picker),\r\n [date, picker]\r\n )\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Tab') return\r\n e.preventDefault()\r\n if (e.key === 'ArrowRight') onRightFocus?.()\r\n if (e.key === 'ArrowLeft') onLeftFocus?.()\r\n if (['ArrowUp', 'ArrowDown'].includes(e.key)) {\r\n const step = e.key === 'ArrowUp' ? 1 : -1\r\n const newValue = getArrowByType(calculatedValue, step, picker)\r\n if (flag) setFlag(false)\r\n const tempDate = new Date(date)\r\n setDate(setDateByType(tempDate, newValue, picker))\r\n }\r\n if (e.key >= '0' && e.key <= '9') {\r\n const newValue = !flag\r\n ? '0' + e.key\r\n : calculatedValue.slice(1, 2) + e.key\r\n if (flag) onRightFocus?.()\r\n setFlag(prev => !prev)\r\n const tempDate = new Date(date)\r\n setDate(setDateByType(tempDate, newValue, picker))\r\n }\r\n }\r\n\r\n return (\r\n <Input\r\n ref={ref}\r\n id={id || picker}\r\n name={name || picker}\r\n className={cn(\r\n 'w-[52px] text-center font-mono tabular-nums caret-transparent [&::-webkit-inner-spin-button]:appearance-none',\r\n className\r\n )}\r\n value={value || calculatedValue}\r\n onChange={e => {\r\n e.preventDefault()\r\n onChange?.(e)\r\n }}\r\n type={type}\r\n inputMode=\"decimal\"\r\n onKeyDown={e => {\r\n onKeyDown?.(e)\r\n handleKeyDown(e)\r\n }}\r\n {...props}\r\n />\r\n )\r\n }\r\n)\r\n\r\nTimePickerInput.displayName = 'TimePickerInput'\r\n\r\nexport { TimePickerInput }\r\n"],"names":["TimePickerInput","React","className","type","value","id","name","date","Date","setDate","onChange","onKeyDown","picker","onLeftFocus","onRightFocus","props","ref","flag","setFlag","timer","setTimeout","clearTimeout","calculatedValue","getDateByType","Input","cn","e","newValue","getArrowByType","setDateByType","prev"],"mappings":";oOAsBA,IAAMA,EAAkBC,EAAAA,UAAgB,CAItC,CACE,CACEC,UAAAA,CAAS,CACTC,KAAAA,EAAO,KAAK,CACZC,MAAAA,CAAK,CACLC,GAAAA,CAAE,CACFC,KAAAA,CAAI,CACJC,KAAAA,EAAO,IAAIC,KAAK,IAAIA,OAAO,QAAQ,CAAC,EAAG,EAAG,EAAG,GAAG,CAChDC,QAAAA,CAAO,CACPC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACTC,OAAAA,CAAM,CACNC,YAAAA,CAAW,CACXC,aAAAA,CAAY,CACZ,GAAGC,EACJ,CACDC,KAEA,GAAM,CAACC,EAAMC,EAAQ,CAAGjB,EAAAA,QAAc,CAAU,IAEhDA,EAAAA,SAAe,CAAC,KACd,GAAIgB,EAAM,CACR,IAAME,EAAQC,WAAW,KACvBF,EAAQ,GACV,EAAG,KAEH,MAAO,IAAMG,aAAaF,EAC5B,CACF,EAAG,CAACF,EAAK,EAET,IAAMK,EAAkBrB,EAAAA,OAAa,CACnC,IAAMsB,EAAchB,EAAMK,GAC1B,CAACL,EAAMK,EAAO,EA0BhB,OACE,EAACY,EAAKA,CACJ,IAAKR,EACL,GAAIX,GAAMO,EACV,KAAMN,GAAQM,EACd,UAAWa,EACT,+GACAvB,GAEF,MAAOE,GAASkB,EAChB,SAAUI,IACRA,EAAE,cAAc,GAChBhB,IAAWgB,EACb,EACA,KAAMvB,EACN,UAAU,UACV,UAAWuB,IACTf,IAAYe,GAvChB,GAAIA,QAAAA,EAAE,GAAG,EAIT,GAHAA,EAAE,cAAc,GACZA,eAAAA,EAAE,GAAG,EAAmBZ,MACxBY,cAAAA,EAAE,GAAG,EAAkBb,MACvB,CAAC,UAAW,YAAY,CAAC,QAAQ,CAACa,EAAE,GAAG,EAAG,CAE5C,IAAMC,EAAWC,EAAeN,EADnBI,YAAAA,EAAE,GAAG,CAAiB,EAAI,GACgBd,EACnDK,CAAAA,GAAMC,EAAQ,IAElBT,EAAQoB,EADS,IAAIrB,KAAKD,GACMoB,EAAUf,GAC5C,CACA,GAAIc,EAAE,GAAG,EAAI,KAAOA,EAAE,GAAG,EAAI,IAAK,CAChC,IAAMC,EAAW,EAEbL,EAAgB,KAAK,CAAC,EAAG,GAAKI,EAAE,GAAG,CADnC,IAAMA,EAAE,GAAG,CAEXT,GAAMH,MACVI,EAAQY,GAAQ,CAACA,GAEjBrB,EAAQoB,EADS,IAAIrB,KAAKD,GACMoB,EAAUf,GAC5C,EAsBE,EACC,GAAGG,CAAK,EAGf,EAGFf,CAAAA,EAAgB,WAAW,CAAG,yB"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as s from"@phosphor-icons/react";import*as r from"react";import*as t from"./label.js";import*as i from"./time-picker-input.js";function c({date:c,defaultValue:a,onTimeChange:l}){let n=(0,r.useRef)(null),o=(0,r.useRef)(null),m=(0,r.useRef)(null);return(0,e.jsxs)("div",{className:"flex items-end gap-2",children:[(0,e.jsxs)("div",{className:"grid gap-1 text-center",children:[(0,e.jsx)(t.Label,{htmlFor:"hours",className:"text-xs",children:"Hours"}),(0,e.jsx)(i.TimePickerInput,{picker:"hours",date:c??a,setDate:l,ref:o,onRightFocus:()=>n.current?.focus()})]}),(0,e.jsxs)("div",{className:"grid gap-1 text-center",children:[(0,e.jsx)(t.Label,{htmlFor:"minutes",className:"text-xs",children:"Minutes"}),(0,e.jsx)(i.TimePickerInput,{picker:"minutes",date:c??a,setDate:l,ref:n,onLeftFocus:()=>o.current?.focus(),onRightFocus:()=>m.current?.focus()})]}),(0,e.jsx)("div",{className:"flex h-12 items-center",children:(0,e.jsx)(s.Clock,{size:16,className:"ml-2"})})]})}export{c as TimePicker};
2
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Clock as t}from"@phosphor-icons/react";import{useRef as s}from"react";import{Label as i}from"./label.js";import{TimePickerInput as c}from"./time-picker-input.js";function o({date:o,defaultValue:n,onTimeChange:l}){let m=s(null),a=s(null),u=s(null);return r("div",{className:"flex items-end gap-2",children:[r("div",{className:"grid gap-1 text-center",children:[e(i,{htmlFor:"hours",className:"text-xs",children:"Hours"}),e(c,{picker:"hours",date:o??n,setDate:l,ref:a,onRightFocus:()=>m.current?.focus()})]}),r("div",{className:"grid gap-1 text-center",children:[e(i,{htmlFor:"minutes",className:"text-xs",children:"Minutes"}),e(c,{picker:"minutes",date:o??n,setDate:l,ref:m,onLeftFocus:()=>a.current?.focus(),onRightFocus:()=>u.current?.focus()})]}),e("div",{className:"flex h-12 items-center",children:e(t,{size:16,className:"ml-2"})})]})}export{o as TimePicker};
3
3
  //# sourceMappingURL=time-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\time-picker.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/time-picker.tsx"],"sourcesContent":["\r\n\r\nimport { Clock } from '@phosphor-icons/react'\r\nimport { useRef } from 'react'\r\n\r\nimport { Label } from './label'\r\nimport { TimePickerInput } from './time-picker-input'\r\n\r\ninterface TimePickerProps {\r\n date: Date | undefined\r\n defaultValue?: Date\r\n onTimeChange: (date: Date | undefined) => void\r\n}\r\n\r\nexport function TimePicker({\r\n date,\r\n defaultValue,\r\n onTimeChange,\r\n}: TimePickerProps) {\r\n const minuteRef = useRef<HTMLInputElement>(null)\r\n const hourRef = useRef<HTMLInputElement>(null)\r\n const secondRef = useRef<HTMLInputElement>(null)\r\n\r\n return (\r\n <div className=\"flex items-end gap-2\">\r\n <div className=\"grid gap-1 text-center\">\r\n <Label htmlFor=\"hours\" className=\"text-xs\">\r\n Hours\r\n </Label>\r\n <TimePickerInput\r\n picker=\"hours\"\r\n date={date ?? defaultValue}\r\n setDate={onTimeChange}\r\n ref={hourRef}\r\n onRightFocus={() => minuteRef.current?.focus()}\r\n />\r\n </div>\r\n\r\n <div className=\"grid gap-1 text-center\">\r\n <Label htmlFor=\"minutes\" className=\"text-xs\">\r\n Minutes\r\n </Label>\r\n <TimePickerInput\r\n picker=\"minutes\"\r\n date={date ?? defaultValue}\r\n setDate={onTimeChange}\r\n ref={minuteRef}\r\n onLeftFocus={() => hourRef.current?.focus()}\r\n onRightFocus={() => secondRef.current?.focus()}\r\n />\r\n </div>\r\n\r\n <div className=\"flex h-12 items-center\">\r\n <Clock size={16} className=\"ml-2\" />\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"names":["TimePicker","date","defaultValue","onTimeChange","minuteRef","useRef","hourRef","secondRef","Label","TimePickerInput","Clock"],"mappings":";0KAcO,SAASA,EAAW,CACzBC,KAAAA,CAAI,CACJC,aAAAA,CAAY,CACZC,aAAAA,CAAY,CACI,EAChB,IAAMC,EAAYC,GAAAA,EAAAA,MAAAA,EAAyB,MACrCC,EAAUD,GAAAA,EAAAA,MAAAA,EAAyB,MACnCE,EAAYF,GAAAA,EAAAA,MAAAA,EAAyB,MAE3C,MACE,WAAC,OAAI,UAAU,uB,UACb,WAAC,OAAI,UAAU,yB,UACb,UAACG,EAAAA,KAAKA,CAAAA,CAAC,QAAQ,QAAQ,UAAU,U,SAAU,O,GAG3C,UAACC,EAAAA,eAAeA,CAAAA,CACd,OAAO,QACP,KAAMR,GAAQC,EACd,QAASC,EACT,IAAKG,EACL,aAAc,IAAMF,EAAU,OAAO,EAAE,O,MAI3C,WAAC,OAAI,UAAU,yB,UACb,UAACI,EAAAA,KAAKA,CAAAA,CAAC,QAAQ,UAAU,UAAU,U,SAAU,S,GAG7C,UAACC,EAAAA,eAAeA,CAAAA,CACd,OAAO,UACP,KAAMR,GAAQC,EACd,QAASC,EACT,IAAKC,EACL,YAAa,IAAME,EAAQ,OAAO,EAAE,QACpC,aAAc,IAAMC,EAAU,OAAO,EAAE,O,MAI3C,UAAC,OAAI,UAAU,yB,SACb,UAACG,EAAAA,KAAKA,CAAAA,CAAC,KAAM,GAAI,UAAU,M,OAInC,Q"}
1
+ {"version":3,"file":"components\\time-picker.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/time-picker.tsx"],"sourcesContent":["\r\n\r\nimport { Clock } from '@phosphor-icons/react'\r\nimport { useRef } from 'react'\r\n\r\nimport { Label } from './label'\r\nimport { TimePickerInput } from './time-picker-input'\r\n\r\ninterface TimePickerProps {\r\n date: Date | undefined\r\n defaultValue?: Date\r\n onTimeChange: (date: Date | undefined) => void\r\n}\r\n\r\nexport function TimePicker({\r\n date,\r\n defaultValue,\r\n onTimeChange,\r\n}: TimePickerProps) {\r\n const minuteRef = useRef<HTMLInputElement>(null)\r\n const hourRef = useRef<HTMLInputElement>(null)\r\n const secondRef = useRef<HTMLInputElement>(null)\r\n\r\n return (\r\n <div className=\"flex items-end gap-2\">\r\n <div className=\"grid gap-1 text-center\">\r\n <Label htmlFor=\"hours\" className=\"text-xs\">\r\n Hours\r\n </Label>\r\n <TimePickerInput\r\n picker=\"hours\"\r\n date={date ?? defaultValue}\r\n setDate={onTimeChange}\r\n ref={hourRef}\r\n onRightFocus={() => minuteRef.current?.focus()}\r\n />\r\n </div>\r\n\r\n <div className=\"grid gap-1 text-center\">\r\n <Label htmlFor=\"minutes\" className=\"text-xs\">\r\n Minutes\r\n </Label>\r\n <TimePickerInput\r\n picker=\"minutes\"\r\n date={date ?? defaultValue}\r\n setDate={onTimeChange}\r\n ref={minuteRef}\r\n onLeftFocus={() => hourRef.current?.focus()}\r\n onRightFocus={() => secondRef.current?.focus()}\r\n />\r\n </div>\r\n\r\n <div className=\"flex h-12 items-center\">\r\n <Clock size={16} className=\"ml-2\" />\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"names":["TimePicker","date","defaultValue","onTimeChange","minuteRef","useRef","hourRef","secondRef","Label","TimePickerInput","Clock"],"mappings":";2NAcO,SAASA,EAAW,CACzBC,KAAAA,CAAI,CACJC,aAAAA,CAAY,CACZC,aAAAA,CAAY,CACI,EAChB,IAAMC,EAAYC,EAAyB,MACrCC,EAAUD,EAAyB,MACnCE,EAAYF,EAAyB,MAE3C,OACE,EAAC,OAAI,UAAU,uB,UACb,EAAC,OAAI,UAAU,yB,UACb,EAACG,EAAKA,CAAC,QAAQ,QAAQ,UAAU,U,SAAU,O,GAG3C,EAACC,EAAeA,CACd,OAAO,QACP,KAAMR,GAAQC,EACd,QAASC,EACT,IAAKG,EACL,aAAc,IAAMF,EAAU,OAAO,EAAE,O,MAI3C,EAAC,OAAI,UAAU,yB,UACb,EAACI,EAAKA,CAAC,QAAQ,UAAU,UAAU,U,SAAU,S,GAG7C,EAACC,EAAeA,CACd,OAAO,UACP,KAAMR,GAAQC,EACd,QAASC,EACT,IAAKC,EACL,YAAa,IAAME,EAAQ,OAAO,EAAE,QACpC,aAAc,IAAMC,EAAU,OAAO,EAAE,O,MAI3C,EAAC,OAAI,UAAU,yB,SACb,EAACG,EAAKA,CAAC,KAAM,GAAI,UAAU,M,OAInC,Q"}
@@ -1,2 +1,2 @@
1
- import*as t from"react/jsx-runtime";import*as r from"@radix-ui/react-slot";import*as e from"../lib/utils.js";function o({asChild:o,className:i,...s}){let a=o?r.Slot:"h1";return(0,t.jsx)(a,{className:(0,e.cn)("font-semibold text-[1.625rem] text-foreground leading-8",i),"data-slot":"title",...s})}export{o as Title};
1
+ import{jsx as t}from"react/jsx-runtime";import{Slot as r}from"@radix-ui/react-slot";import{cn as e}from"../lib/utils.js";function o({asChild:o,className:i,...m}){return t(o?r:"h1",{className:e("font-semibold text-[1.625rem] text-foreground leading-8",i),"data-slot":"title",...m})}export{o as Title};
2
2
  //# sourceMappingURL=title.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\title.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/title.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\r\nimport { ComponentProps, JSX } from 'react'\r\n\r\nimport { cn } from '../lib/utils'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Title\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Title({\r\n asChild,\r\n className,\r\n ...props\r\n}: ComponentProps<'h1'> & {\r\n asChild?: boolean\r\n}): JSX.Element {\r\n const Comp = asChild ? Slot : 'h1'\r\n\r\n return (\r\n <Comp\r\n className={cn(\r\n 'font-semibold text-[1.625rem] text-foreground leading-8',\r\n className\r\n )}\r\n data-slot=\"title\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Title }\r\n"],"names":["Title","asChild","className","props","Comp","Slot","cn"],"mappings":"6GASA,SAASA,EAAM,CACbC,QAAAA,CAAO,CACPC,UAAAA,CAAS,CACT,GAAGC,EAGJ,EACC,IAAMC,EAAOH,EAAUI,EAAAA,IAAIA,CAAG,KAE9B,MACE,UAACD,EAAAA,CACC,UAAWE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,0DACAJ,GAEF,YAAU,QACT,GAAGC,CAAK,A,EAGf,Q"}
1
+ {"version":3,"file":"components\\title.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/title.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\r\nimport { ComponentProps, JSX } from 'react'\r\n\r\nimport { cn } from '../lib/utils'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Title\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Title({\r\n asChild,\r\n className,\r\n ...props\r\n}: ComponentProps<'h1'> & {\r\n asChild?: boolean\r\n}): JSX.Element {\r\n const Comp = asChild ? Slot : 'h1'\r\n\r\n return (\r\n <Comp\r\n className={cn(\r\n 'font-semibold text-[1.625rem] text-foreground leading-8',\r\n className\r\n )}\r\n data-slot=\"title\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Title }\r\n"],"names":["Title","asChild","className","props","Slot","Comp","cn"],"mappings":"yHASA,SAASA,EAAM,CACbC,QAAAA,CAAO,CACPC,UAAAA,CAAS,CACT,GAAGC,EAGJ,EAGC,OACE,EAHWF,EAAUG,EAAO,KAG3BC,CACC,UAAWC,EACT,0DACAJ,GAEF,YAAU,QACT,GAAGC,CAAK,A,EAGf,Q"}
@@ -1,2 +1,2 @@
1
- import*as t from"react/jsx-runtime";function e({tokens:e,hasRemValue:r=!1}){return(0,t.jsxs)("table",{className:"w-full border-collapse [&>tbody>tr>td]:px-8 [&>tbody>tr>td]:py-3 [&>tbody>tr>td]:text-[#2F343C] [&>thead>tr>th]:px-8 [&>thead>tr>th]:py-3 [&>thead>tr>th]:text-left",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{children:"Name"}),(0,t.jsx)("th",{children:"Value"}),r&&(0,t.jsx)("th",{children:"Pixels"})]})}),(0,t.jsx)("tbody",{children:Object.entries(e).map(([e,d])=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{children:e}),(0,t.jsx)("td",{children:d}),r&&(0,t.jsxs)("td",{children:[16*Number(d.replace("rem","")),"px"]})]},e))})]})}export{e as TokensGrid};
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";function r({tokens:r,hasRemValue:d=!1}){return e("table",{className:"w-full border-collapse [&>tbody>tr>td]:px-8 [&>tbody>tr>td]:py-3 [&>tbody>tr>td]:text-[#2F343C] [&>thead>tr>th]:px-8 [&>thead>tr>th]:py-3 [&>thead>tr>th]:text-left",children:[t("thead",{children:e("tr",{children:[t("th",{children:"Name"}),t("th",{children:"Value"}),d&&t("th",{children:"Pixels"})]})}),t("tbody",{children:Object.entries(r).map(([r,h])=>e("tr",{children:[t("td",{children:r}),t("td",{children:h}),d&&e("td",{children:[16*Number(h.replace("rem","")),"px"]})]},r))})]})}export{r as TokensGrid};
2
2
  //# sourceMappingURL=tokens-grid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\tokens-grid.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tokens-grid.tsx"],"sourcesContent":["interface TokensGridProps {\r\n tokens: Record<string, string>\r\n hasRemValue?: boolean\r\n}\r\n\r\nexport function TokensGrid({ tokens, hasRemValue = false }: TokensGridProps) {\r\n return (\r\n <table className=\"w-full border-collapse [&>tbody>tr>td]:px-8 [&>tbody>tr>td]:py-3 [&>tbody>tr>td]:text-[#2F343C] [&>thead>tr>th]:px-8 [&>thead>tr>th]:py-3 [&>thead>tr>th]:text-left\">\r\n <thead>\r\n <tr>\r\n <th>Name</th>\r\n <th>Value</th>\r\n {hasRemValue && <th>Pixels</th>}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {Object.entries(tokens).map(([key, value]) => {\r\n return (\r\n <tr key={key}>\r\n <td>{key}</td>\r\n <td>{value}</td>\r\n {hasRemValue && (\r\n <td>{Number(value.replace('rem', '')) * 16}px</td>\r\n )}\r\n </tr>\r\n )\r\n })}\r\n </tbody>\r\n </table>\r\n )\r\n}\r\n"],"names":["TokensGrid","tokens","hasRemValue","Object","key","value","Number"],"mappings":"oCAKO,SAASA,EAAW,CAAEC,OAAAA,CAAM,CAAEC,YAAAA,EAAc,EAAK,CAAmB,EACzE,MACE,WAAC,SAAM,UAAU,sK,UACf,UAAC,S,SACC,WAAC,M,UACC,UAAC,M,SAAG,M,GACJ,UAAC,M,SAAG,O,GACHA,GAAe,UAAC,M,SAAG,Q,QAGxB,UAAC,S,SACEC,OAAO,OAAO,CAACF,GAAQ,GAAG,CAAC,CAAC,CAACG,EAAKC,EAAM,GAErC,WAAC,M,UACC,UAAC,M,SAAID,C,GACL,UAAC,M,SAAIC,C,GACJH,GACC,WAAC,M,UAAII,AAAmC,GAAnCA,OAAOD,EAAM,OAAO,CAAC,MAAO,KAAU,K,KAJtCD,G,KAYrB,Q"}
1
+ {"version":3,"file":"components\\tokens-grid.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tokens-grid.tsx"],"sourcesContent":["interface TokensGridProps {\r\n tokens: Record<string, string>\r\n hasRemValue?: boolean\r\n}\r\n\r\nexport function TokensGrid({ tokens, hasRemValue = false }: TokensGridProps) {\r\n return (\r\n <table className=\"w-full border-collapse [&>tbody>tr>td]:px-8 [&>tbody>tr>td]:py-3 [&>tbody>tr>td]:text-[#2F343C] [&>thead>tr>th]:px-8 [&>thead>tr>th]:py-3 [&>thead>tr>th]:text-left\">\r\n <thead>\r\n <tr>\r\n <th>Name</th>\r\n <th>Value</th>\r\n {hasRemValue && <th>Pixels</th>}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {Object.entries(tokens).map(([key, value]) => {\r\n return (\r\n <tr key={key}>\r\n <td>{key}</td>\r\n <td>{value}</td>\r\n {hasRemValue && (\r\n <td>{Number(value.replace('rem', '')) * 16}px</td>\r\n )}\r\n </tr>\r\n )\r\n })}\r\n </tbody>\r\n </table>\r\n )\r\n}\r\n"],"names":["TokensGrid","tokens","hasRemValue","Object","key","value","Number"],"mappings":"kDAKO,SAASA,EAAW,CAAEC,OAAAA,CAAM,CAAEC,YAAAA,EAAc,EAAK,CAAmB,EACzE,OACE,EAAC,SAAM,UAAU,sK,UACf,EAAC,S,SACC,EAAC,M,UACC,EAAC,M,SAAG,M,GACJ,EAAC,M,SAAG,O,GACHA,GAAe,EAAC,M,SAAG,Q,QAGxB,EAAC,S,SACEC,OAAO,OAAO,CAACF,GAAQ,GAAG,CAAC,CAAC,CAACG,EAAKC,EAAM,GAErC,EAAC,M,UACC,EAAC,M,SAAID,C,GACL,EAAC,M,SAAIC,C,GACJH,GACC,EAAC,M,UAAII,AAAmC,GAAnCA,OAAOD,EAAM,OAAO,CAAC,MAAO,KAAU,K,KAJtCD,G,KAYrB,Q"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as t from"react/jsx-runtime";import*as e from"@radix-ui/react-tooltip";import*as a from"../lib/utils.js";function o({...a}){return(0,t.jsx)(e.Provider,{"data-slot":"tooltip-provider",...a})}function d({...a}){return(0,t.jsx)(e.Root,{"data-slot":"tooltip",...a})}function i({...a}){return(0,t.jsx)(e.Trigger,{"data-slot":"tooltip-trigger",...a})}function r({className:o,children:d,sideOffset:i=4,variant:r="primary",...s}){return(0,t.jsx)(e.Portal,{children:(0,t.jsx)(e.Content,{className:(0,a.cn)("data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md border bg-white px-3 py-1.5 text-gbm-dark text-xs data-[state=closed]:animate-out data-[state=delayed-open]:animate-in","max-w-(--radix-tooltip-content-available-width)",{"border-stroke bg-white text-gbm-dark":"primary"===r,"border-gbm-dark bg-gbm-dark text-white":"secondary"===r},o),collisionPadding:8,"data-slot":"tooltip-content",sideOffset:i,...s,children:d})})}export{d as Tooltip,r as TooltipContent,o as TooltipProvider,i as TooltipTrigger};
2
+ import{jsx as t}from"react/jsx-runtime";import{Content as e,Portal as a,Provider as o,Root as d,Trigger as i}from"@radix-ui/react-tooltip";import{cn as r}from"../lib/utils.js";function s({...e}){return t(o,{"data-slot":"tooltip-provider",...e})}function l({...e}){return t(d,{"data-slot":"tooltip",...e})}function n({...e}){return t(i,{"data-slot":"tooltip-trigger",...e})}function p({className:o,children:d,sideOffset:i=4,variant:s="primary",...l}){return t(a,{children:t(e,{className:r("data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md border bg-white px-3 py-1.5 text-gbm-dark text-xs data-[state=closed]:animate-out data-[state=delayed-open]:animate-in","max-w-(--radix-tooltip-content-available-width)",{"border-stroke bg-white text-gbm-dark":"primary"===s,"border-gbm-dark bg-gbm-dark text-white":"secondary"===s},o),collisionPadding:8,"data-slot":"tooltip-content",sideOffset:i,...l,children:d})})}export{l as Tooltip,p as TooltipContent,s as TooltipProvider,n as TooltipTrigger};
3
3
  //# sourceMappingURL=tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\tooltip.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tooltip.tsx"],"sourcesContent":["\r\n\r\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\r\n\r\nimport { ComponentProps, JSX } from 'react'\r\nimport { cn } from '../lib/utils'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TooltipProvider\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TooltipProvider({\r\n ...props\r\n}: ComponentProps<typeof TooltipPrimitive.Provider>): JSX.Element {\r\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Tooltip\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Tooltip({\r\n ...props\r\n}: ComponentProps<typeof TooltipPrimitive.Root>): JSX.Element {\r\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TooltipTrigger\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TooltipTrigger({\r\n ...props\r\n}: ComponentProps<typeof TooltipPrimitive.Trigger>): JSX.Element {\r\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TooltipContent\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TooltipContent({\r\n className,\r\n children,\r\n sideOffset = 4,\r\n variant = 'primary',\r\n ...props\r\n}: ComponentProps<typeof TooltipPrimitive.Content> & {\r\n variant?: 'primary' | 'secondary'\r\n}): JSX.Element {\r\n return (\r\n <TooltipPrimitive.Portal>\r\n <TooltipPrimitive.Content\r\n className={cn(\r\n 'data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md border bg-white px-3 py-1.5 text-gbm-dark text-xs data-[state=closed]:animate-out data-[state=delayed-open]:animate-in',\r\n 'max-w-(--radix-tooltip-content-available-width)',\r\n {\r\n 'border-stroke bg-white text-gbm-dark': variant === 'primary',\r\n 'border-gbm-dark bg-gbm-dark text-white': variant === 'secondary',\r\n },\r\n className\r\n )}\r\n collisionPadding={8}\r\n data-slot=\"tooltip-content\"\r\n sideOffset={sideOffset}\r\n {...props}\r\n >\r\n {children}\r\n </TooltipPrimitive.Content>\r\n </TooltipPrimitive.Portal>\r\n )\r\n}\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n"],"names":["TooltipProvider","props","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","className","children","sideOffset","variant","cn"],"mappings":";gHAWA,SAASA,EAAgB,CACvB,GAAGC,EAC8C,EACjD,MAAO,UAACC,EAAAA,QAAyB,EAAC,YAAU,mBAAoB,GAAGD,CAAK,EAC1E,CAMA,SAASE,EAAQ,CACf,GAAGF,EAC0C,EAC7C,MAAO,UAACC,EAAAA,IAAqB,EAAC,YAAU,UAAW,GAAGD,CAAK,EAC7D,CAMA,SAASG,EAAe,CACtB,GAAGH,EAC6C,EAChD,MAAO,UAACC,EAAAA,OAAwB,EAAC,YAAU,kBAAmB,GAAGD,CAAK,EACxE,CAMA,SAASI,EAAe,CACtBC,UAAAA,CAAS,CACTC,SAAAA,CAAQ,CACRC,WAAAA,EAAa,CAAC,CACdC,QAAAA,EAAU,SAAS,CACnB,GAAGR,EAGJ,EACC,MACE,UAACC,EAAAA,MAAuB,E,SACtB,UAACA,EAAAA,OAAwB,EACvB,UAAWQ,GAAAA,EAAAA,EAAAA,EACT,6vBACA,kDACA,CACE,uCAAwCD,YAAAA,EACxC,yCAA0CA,cAAAA,CAC5C,EACAH,GAEF,iBAAkB,EAClB,YAAU,kBACV,WAAYE,EACX,GAAGP,CAAK,C,SAERM,C,IAIT,Q"}
1
+ {"version":3,"file":"components\\tooltip.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/tooltip.tsx"],"sourcesContent":["\r\n\r\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\r\n\r\nimport { ComponentProps, JSX } from 'react'\r\nimport { cn } from '../lib/utils'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TooltipProvider\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TooltipProvider({\r\n ...props\r\n}: ComponentProps<typeof TooltipPrimitive.Provider>): JSX.Element {\r\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Tooltip\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Tooltip({\r\n ...props\r\n}: ComponentProps<typeof TooltipPrimitive.Root>): JSX.Element {\r\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TooltipTrigger\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TooltipTrigger({\r\n ...props\r\n}: ComponentProps<typeof TooltipPrimitive.Trigger>): JSX.Element {\r\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: TooltipContent\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction TooltipContent({\r\n className,\r\n children,\r\n sideOffset = 4,\r\n variant = 'primary',\r\n ...props\r\n}: ComponentProps<typeof TooltipPrimitive.Content> & {\r\n variant?: 'primary' | 'secondary'\r\n}): JSX.Element {\r\n return (\r\n <TooltipPrimitive.Portal>\r\n <TooltipPrimitive.Content\r\n className={cn(\r\n 'data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md border bg-white px-3 py-1.5 text-gbm-dark text-xs data-[state=closed]:animate-out data-[state=delayed-open]:animate-in',\r\n 'max-w-(--radix-tooltip-content-available-width)',\r\n {\r\n 'border-stroke bg-white text-gbm-dark': variant === 'primary',\r\n 'border-gbm-dark bg-gbm-dark text-white': variant === 'secondary',\r\n },\r\n className\r\n )}\r\n collisionPadding={8}\r\n data-slot=\"tooltip-content\"\r\n sideOffset={sideOffset}\r\n {...props}\r\n >\r\n {children}\r\n </TooltipPrimitive.Content>\r\n </TooltipPrimitive.Portal>\r\n )\r\n}\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n"],"names":["TooltipProvider","props","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","className","children","sideOffset","variant","cn"],"mappings":";gLAWA,SAASA,EAAgB,CACvB,GAAGC,EAC8C,EACjD,OAAO,EAACC,EAAyB,CAAC,YAAU,mBAAoB,GAAGD,CAAK,EAC1E,CAMA,SAASE,EAAQ,CACf,GAAGF,EAC0C,EAC7C,OAAO,EAACC,EAAqB,CAAC,YAAU,UAAW,GAAGD,CAAK,EAC7D,CAMA,SAASG,EAAe,CACtB,GAAGH,EAC6C,EAChD,OAAO,EAACC,EAAwB,CAAC,YAAU,kBAAmB,GAAGD,CAAK,EACxE,CAMA,SAASI,EAAe,CACtBC,UAAAA,CAAS,CACTC,SAAAA,CAAQ,CACRC,WAAAA,EAAa,CAAC,CACdC,QAAAA,EAAU,SAAS,CACnB,GAAGR,EAGJ,EACC,OACE,EAACC,EAAuB,C,SACtB,EAACA,EAAwB,CACvB,UAAWQ,EACT,6vBACA,kDACA,CACE,uCAAwCD,YAAAA,EACxC,yCAA0CA,cAAAA,CAC5C,EACAH,GAEF,iBAAkB,EAClB,YAAU,kBACV,WAAYE,EACX,GAAGP,CAAK,C,SAERM,C,IAIT,Q"}
@@ -1,2 +1,2 @@
1
- import*as e from"react";function r(r){let t=e.useRef(r);return e.useEffect(()=>{t.current=r}),e.useMemo(()=>(...e)=>t.current?.(...e),[])}export{r as useCallbackRef};
1
+ import{useEffect as r,useMemo as e,useRef as t}from"react";function c(c){let n=t(c);return r(()=>{n.current=c}),e(()=>(...r)=>n.current?.(...r),[])}export{c as useCallbackRef};
2
2
  //# sourceMappingURL=use-callback-ref.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks\\use-callback-ref.js","sources":["webpack://@gbmtech/aurora-ui/./src/hooks/use-callback-ref.ts"],"sourcesContent":["import * as React from 'react'\r\n\r\n/**\r\n * @see https://github.com/radix-ui/primitives/blob/main/packages/react/use-callback-ref/src/useCallbackRef.tsx\r\n */\r\n\r\n/**\r\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\r\n * prop or avoid re-executing effects when passed as a dependency\r\n */\r\nfunction useCallbackRef<T extends (...args: never[]) => unknown>(\r\n callback: T | undefined\r\n): T {\r\n const callbackRef = React.useRef(callback)\r\n\r\n React.useEffect(() => {\r\n callbackRef.current = callback\r\n })\r\n\r\n // https://github.com/facebook/react/issues/19240\r\n return React.useMemo(\r\n () => ((...args) => callbackRef.current?.(...args)) as T,\r\n []\r\n )\r\n}\r\n\r\nexport { useCallbackRef }\r\n"],"names":["useCallbackRef","callback","callbackRef","React","args"],"mappings":"wBAUA,SAASA,EACPC,CAAuB,EAEvB,IAAMC,EAAcC,EAAAA,MAAY,CAACF,GAOjC,OALAE,EAAAA,SAAe,CAAC,KACdD,EAAY,OAAO,CAAGD,CACxB,GAGOE,EAAAA,OAAa,CAClB,IAAO,CAAC,GAAGC,IAASF,EAAY,OAAO,MAAME,GAC7C,EAAE,CAEN,Q"}
1
+ {"version":3,"file":"hooks\\use-callback-ref.js","sources":["webpack://@gbmtech/aurora-ui/./src/hooks/use-callback-ref.ts"],"sourcesContent":["import * as React from 'react'\r\n\r\n/**\r\n * @see https://github.com/radix-ui/primitives/blob/main/packages/react/use-callback-ref/src/useCallbackRef.tsx\r\n */\r\n\r\n/**\r\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\r\n * prop or avoid re-executing effects when passed as a dependency\r\n */\r\nfunction useCallbackRef<T extends (...args: never[]) => unknown>(\r\n callback: T | undefined\r\n): T {\r\n const callbackRef = React.useRef(callback)\r\n\r\n React.useEffect(() => {\r\n callbackRef.current = callback\r\n })\r\n\r\n // https://github.com/facebook/react/issues/19240\r\n return React.useMemo(\r\n () => ((...args) => callbackRef.current?.(...args)) as T,\r\n []\r\n )\r\n}\r\n\r\nexport { useCallbackRef }\r\n"],"names":["useCallbackRef","callback","callbackRef","React","args"],"mappings":"2DAUA,SAASA,EACPC,CAAuB,EAEvB,IAAMC,EAAcC,EAAaF,GAOjC,OALAE,EAAgB,KACdD,EAAY,OAAO,CAAGD,CACxB,GAGOE,EACL,IAAO,CAAC,GAAGC,IAASF,EAAY,OAAO,MAAME,GAC7C,EAAE,CAEN,Q"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"@tanstack/react-table";import*as t from"nuqs";import*as a from"react";import*as o from"./use-debounced-callback.js";import*as i from"../lib/parsers.js";function l(l){let{columns:n,pageCount:r=-1,initialState:s,history:u="replace",debounceMs:d=300,throttleMs:g=50,clearOnDefault:p=!1,enableAdvancedFilter:c=!1,scroll:m=!1,shallow:f=!0,startTransition:w,globalFilter:S,...M}=l,b=a.useMemo(()=>({history:u,scroll:m,shallow:f,throttleMs:g,debounceMs:d,clearOnDefault:p,startTransition:w}),[u,m,f,g,d,p,w]),[y,C]=a.useState(s?.rowSelection??{}),[R,h]=a.useState(s?.columnVisibility??{}),[F,A]=(0,t.useQueryState)("page",t.parseAsInteger.withOptions(b).withDefault(1)),[O,k]=(0,t.useQueryState)("perPage",t.parseAsInteger.withOptions(b).withDefault(s?.pagination?.pageSize??10)),x=a.useMemo(()=>({pageIndex:F-1,pageSize:O}),[F,O]),z=a.useCallback(e=>{if("function"==typeof e){let t=e(x);A(t.pageIndex+1),k(t.pageSize)}else A(e.pageIndex+1),k(e.pageSize)},[x,A,k]),V=a.useMemo(()=>new Set(n.map(e=>e.id).filter(Boolean)),[n]),[D,I]=(0,t.useQueryState)("sort",(0,i.getSortingStateParser)(V).withOptions(b).withDefault(s?.sorting??[])),P=a.useCallback(e=>{"function"==typeof e?I(e(D)):I(e)},[D,I]),Q=a.useMemo(()=>c?[]:n.filter(e=>e.enableColumnFilter),[n,c]),j=a.useMemo(()=>c?{}:Q.reduce((e,a)=>(a.meta?.options?e[a.id??""]=(0,t.parseAsArrayOf)(t.parseAsString,",").withOptions(b):e[a.id??""]=t.parseAsString.withOptions(b),e),{}),[Q,b,c]),[q,v]=(0,t.useQueryStates)(j),B=(0,o.useDebouncedCallback)(e=>{A(1),v(e)},d),T=a.useMemo(()=>c?[]:Object.entries(q).reduce((e,[t,a])=>{if(null!==a){let o=Array.isArray(a)?a:"string"==typeof a&&/[^a-zA-Z0-9]/.test(a)?a.split(/[^a-zA-Z0-9]+/).filter(Boolean):[a];e.push({id:t,value:o})}return e},[]),[q,c]),[U,Z]=a.useState(T),E=a.useCallback(e=>{c||Z(t=>{let a="function"==typeof e?e(t):e,o=a.reduce((e,t)=>(Q.find(e=>e.id===t.id)&&(e[t.id]=t.value),e),{});for(let e of t)a.some(t=>t.id===e.id)||(o[e.id]=null);return B(o),a})},[B,Q,c]);return{table:(0,e.useReactTable)({...M,columns:n,initialState:s,pageCount:r,state:{pagination:x,sorting:D,columnVisibility:R,rowSelection:y,columnFilters:U,globalFilter:S},defaultColumn:{...M.defaultColumn,enableColumnFilter:!1},enableRowSelection:!0,onRowSelectionChange:C,onPaginationChange:z,onSortingChange:P,onColumnFiltersChange:E,onColumnVisibilityChange:h,getCoreRowModel:(0,e.getCoreRowModel)(),getFilteredRowModel:(0,e.getFilteredRowModel)(),getPaginationRowModel:(0,e.getPaginationRowModel)(),getSortedRowModel:(0,e.getSortedRowModel)(),getFacetedRowModel:(0,e.getFacetedRowModel)(),getFacetedUniqueValues:(0,e.getFacetedUniqueValues)(),getFacetedMinMaxValues:(0,e.getFacetedMinMaxValues)(),manualPagination:!0,manualSorting:!0,manualFiltering:!0}),shallow:f,debounceMs:d,throttleMs:g}}export{l as useDataTable};
2
+ import{getCoreRowModel as e,getFacetedMinMaxValues as t,getFacetedRowModel as i,getFacetedUniqueValues as o,getFilteredRowModel as a,getPaginationRowModel as n,getSortedRowModel as l,useReactTable as r}from"@tanstack/react-table";import{parseAsArrayOf as u,parseAsInteger as d,parseAsString as p,useQueryState as s,useQueryStates as f}from"nuqs";import{useCallback as g,useMemo as c,useState as m}from"react";import{useDebouncedCallback as w}from"./use-debounced-callback.js";import{getSortingStateParser as b}from"../lib/parsers.js";function h(h){let{columns:S,pageCount:y=-1,initialState:C,history:F="replace",debounceMs:M=300,throttleMs:R=50,clearOnDefault:z=!1,enableAdvancedFilter:O=!1,scroll:x=!1,shallow:A=!0,startTransition:D,globalFilter:V,...j}=h,I=c(()=>({history:F,scroll:x,shallow:A,throttleMs:R,debounceMs:M,clearOnDefault:z,startTransition:D}),[F,x,A,R,M,z,D]),[P,k]=m(C?.rowSelection??{}),[q,v]=m(C?.columnVisibility??{}),[B,Z]=s("page",d.withOptions(I).withDefault(1)),[T,U]=s("perPage",d.withOptions(I).withDefault(C?.pagination?.pageSize??10)),E=c(()=>({pageIndex:B-1,pageSize:T}),[B,T]),G=g(e=>{if("function"==typeof e){let t=e(E);Z(t.pageIndex+1),U(t.pageSize)}else Z(e.pageIndex+1),U(e.pageSize)},[E,Z,U]),[H,J]=s("sort",b(c(()=>new Set(S.map(e=>e.id).filter(Boolean)),[S])).withOptions(I).withDefault(C?.sorting??[])),K=g(e=>{"function"==typeof e?J(e(H)):J(e)},[H,J]),L=c(()=>O?[]:S.filter(e=>e.enableColumnFilter),[S,O]),[N,Q]=f(c(()=>O?{}:L.reduce((e,t)=>(t.meta?.options?e[t.id??""]=u(p,",").withOptions(I):e[t.id??""]=p.withOptions(I),e),{}),[L,I,O])),W=w(e=>{Z(1),Q(e)},M),[X,Y]=m(c(()=>O?[]:Object.entries(N).reduce((e,[t,i])=>{if(null!==i){let o=Array.isArray(i)?i:"string"==typeof i&&/[^a-zA-Z0-9]/.test(i)?i.split(/[^a-zA-Z0-9]+/).filter(Boolean):[i];e.push({id:t,value:o})}return e},[]),[N,O])),$=g(e=>{O||Y(t=>{let i="function"==typeof e?e(t):e,o=i.reduce((e,t)=>(L.find(e=>e.id===t.id)&&(e[t.id]=t.value),e),{});for(let e of t)i.some(t=>t.id===e.id)||(o[e.id]=null);return W(o),i})},[W,L,O]);return{table:r({...j,columns:S,initialState:C,pageCount:y,state:{pagination:E,sorting:H,columnVisibility:q,rowSelection:P,columnFilters:X,globalFilter:V},defaultColumn:{...j.defaultColumn,enableColumnFilter:!1},enableRowSelection:!0,onRowSelectionChange:k,onPaginationChange:G,onSortingChange:K,onColumnFiltersChange:$,onColumnVisibilityChange:v,getCoreRowModel:e(),getFilteredRowModel:a(),getPaginationRowModel:n(),getSortedRowModel:l(),getFacetedRowModel:i(),getFacetedUniqueValues:o(),getFacetedMinMaxValues:t(),manualPagination:!0,manualSorting:!0,manualFiltering:!0}),shallow:A,debounceMs:M,throttleMs:R}}export{h as useDataTable};
3
3
  //# sourceMappingURL=use-data-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks\\use-data-table.js","sources":["webpack://@gbmtech/aurora-ui/./src/hooks/use-data-table.ts"],"sourcesContent":["\r\n\r\nimport {\r\n type ColumnFiltersState,\r\n type PaginationState,\r\n type RowSelectionState,\r\n type SortingState,\r\n type TableOptions,\r\n type TableState,\r\n type Updater,\r\n type VisibilityState,\r\n getCoreRowModel,\r\n getFacetedMinMaxValues,\r\n getFacetedRowModel,\r\n getFacetedUniqueValues,\r\n getFilteredRowModel,\r\n getPaginationRowModel,\r\n getSortedRowModel,\r\n useReactTable,\r\n} from '@tanstack/react-table'\r\nimport {\r\n type Parser,\r\n type UseQueryStateOptions,\r\n parseAsArrayOf,\r\n parseAsInteger,\r\n parseAsString,\r\n useQueryState,\r\n useQueryStates,\r\n} from 'nuqs'\r\nimport * as React from 'react'\r\n\r\nimport { useDebouncedCallback } from '@/hooks/use-debounced-callback'\r\nimport { getSortingStateParser } from '@/lib/parsers'\r\nimport type { ExtendedColumnSort } from '@/types/data-table'\r\n\r\nconst PAGE_KEY = 'page'\r\nconst PER_PAGE_KEY = 'perPage'\r\nconst SORT_KEY = 'sort'\r\nconst ARRAY_SEPARATOR = ','\r\nconst DEBOUNCE_MS = 300\r\nconst THROTTLE_MS = 50\r\n\r\ninterface UseDataTableProps<TData>\r\n extends Omit<\r\n TableOptions<TData>,\r\n | 'state'\r\n | 'pageCount'\r\n | 'getCoreRowModel'\r\n | 'manualFiltering'\r\n | 'manualPagination'\r\n | 'manualSorting'\r\n >,\r\n Required<Pick<TableOptions<TData>, 'pageCount'>> {\r\n initialState?: Omit<Partial<TableState>, 'sorting'> & {\r\n sorting?: ExtendedColumnSort<TData>[]\r\n }\r\n history?: 'push' | 'replace'\r\n debounceMs?: number\r\n throttleMs?: number\r\n clearOnDefault?: boolean\r\n enableAdvancedFilter?: boolean\r\n scroll?: boolean\r\n shallow?: boolean\r\n startTransition?: React.TransitionStartFunction\r\n globalFilter?: string | null\r\n}\r\n\r\nexport function useDataTable<TData>(props: UseDataTableProps<TData>) {\r\n const {\r\n columns,\r\n pageCount = -1,\r\n initialState,\r\n history = 'replace',\r\n debounceMs = DEBOUNCE_MS,\r\n throttleMs = THROTTLE_MS,\r\n clearOnDefault = false,\r\n enableAdvancedFilter = false,\r\n scroll = false,\r\n shallow = true,\r\n startTransition,\r\n globalFilter,\r\n ...tableProps\r\n } = props\r\n\r\n const queryStateOptions = React.useMemo<\r\n Omit<UseQueryStateOptions<string>, 'parse'>\r\n >(\r\n () => ({\r\n history,\r\n scroll,\r\n shallow,\r\n throttleMs,\r\n debounceMs,\r\n clearOnDefault,\r\n startTransition,\r\n }),\r\n [\r\n history,\r\n scroll,\r\n shallow,\r\n throttleMs,\r\n debounceMs,\r\n clearOnDefault,\r\n startTransition,\r\n ]\r\n )\r\n\r\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>(\r\n initialState?.rowSelection ?? {}\r\n )\r\n const [columnVisibility, setColumnVisibility] =\r\n React.useState<VisibilityState>(initialState?.columnVisibility ?? {})\r\n\r\n const [page, setPage] = useQueryState(\r\n PAGE_KEY,\r\n parseAsInteger.withOptions(queryStateOptions).withDefault(1)\r\n )\r\n const [perPage, setPerPage] = useQueryState(\r\n PER_PAGE_KEY,\r\n parseAsInteger\r\n .withOptions(queryStateOptions)\r\n .withDefault(initialState?.pagination?.pageSize ?? 10)\r\n )\r\n\r\n const pagination: PaginationState = React.useMemo(() => {\r\n return {\r\n pageIndex: page - 1, // zero-based index -> one-based index\r\n pageSize: perPage,\r\n }\r\n }, [page, perPage])\r\n\r\n const onPaginationChange = React.useCallback(\r\n (updaterOrValue: Updater<PaginationState>) => {\r\n if (typeof updaterOrValue === 'function') {\r\n const newPagination = updaterOrValue(pagination)\r\n void setPage(newPagination.pageIndex + 1)\r\n void setPerPage(newPagination.pageSize)\r\n } else {\r\n void setPage(updaterOrValue.pageIndex + 1)\r\n void setPerPage(updaterOrValue.pageSize)\r\n }\r\n },\r\n [pagination, setPage, setPerPage]\r\n )\r\n\r\n const columnIds = React.useMemo(() => {\r\n return new Set(columns.map(column => column.id).filter(Boolean) as string[])\r\n }, [columns])\r\n\r\n const [sorting, setSorting] = useQueryState(\r\n SORT_KEY,\r\n getSortingStateParser<TData>(columnIds)\r\n .withOptions(queryStateOptions)\r\n .withDefault(initialState?.sorting ?? [])\r\n )\r\n\r\n const onSortingChange = React.useCallback(\r\n (updaterOrValue: Updater<SortingState>) => {\r\n if (typeof updaterOrValue === 'function') {\r\n const newSorting = updaterOrValue(sorting)\r\n setSorting(newSorting as ExtendedColumnSort<TData>[])\r\n } else {\r\n setSorting(updaterOrValue as ExtendedColumnSort<TData>[])\r\n }\r\n },\r\n [sorting, setSorting]\r\n )\r\n\r\n const filterableColumns = React.useMemo(() => {\r\n if (enableAdvancedFilter) return []\r\n\r\n return columns.filter(column => column.enableColumnFilter)\r\n }, [columns, enableAdvancedFilter])\r\n\r\n const filterParsers = React.useMemo(() => {\r\n if (enableAdvancedFilter) return {}\r\n\r\n return filterableColumns.reduce<\r\n Record<string, Parser<string> | Parser<string[]>>\r\n >((acc, column) => {\r\n if (column.meta?.options) {\r\n acc[column.id ?? ''] = parseAsArrayOf(\r\n parseAsString,\r\n ARRAY_SEPARATOR\r\n ).withOptions(queryStateOptions)\r\n } else {\r\n acc[column.id ?? ''] = parseAsString.withOptions(queryStateOptions)\r\n }\r\n return acc\r\n }, {})\r\n }, [filterableColumns, queryStateOptions, enableAdvancedFilter])\r\n\r\n const [filterValues, setFilterValues] = useQueryStates(filterParsers)\r\n\r\n const debouncedSetFilterValues = useDebouncedCallback(\r\n (values: typeof filterValues) => {\r\n void setPage(1)\r\n void setFilterValues(values)\r\n },\r\n debounceMs\r\n )\r\n\r\n const initialColumnFilters: ColumnFiltersState = React.useMemo(() => {\r\n if (enableAdvancedFilter) return []\r\n\r\n return Object.entries(filterValues).reduce<ColumnFiltersState>(\r\n (filters, [key, value]) => {\r\n if (value !== null) {\r\n const processedValue = Array.isArray(value)\r\n ? value\r\n : typeof value === 'string' && /[^a-zA-Z0-9]/.test(value)\r\n ? value.split(/[^a-zA-Z0-9]+/).filter(Boolean)\r\n : [value]\r\n\r\n filters.push({\r\n id: key,\r\n value: processedValue,\r\n })\r\n }\r\n return filters\r\n },\r\n []\r\n )\r\n }, [filterValues, enableAdvancedFilter])\r\n\r\n const [columnFilters, setColumnFilters] =\r\n React.useState<ColumnFiltersState>(initialColumnFilters)\r\n\r\n const onColumnFiltersChange = React.useCallback(\r\n (updaterOrValue: Updater<ColumnFiltersState>) => {\r\n if (enableAdvancedFilter) return\r\n\r\n setColumnFilters(prev => {\r\n const next =\r\n typeof updaterOrValue === 'function'\r\n ? updaterOrValue(prev)\r\n : updaterOrValue\r\n\r\n const filterUpdates = next.reduce<\r\n Record<string, string | string[] | null>\r\n >((acc, filter) => {\r\n if (filterableColumns.find(column => column.id === filter.id)) {\r\n acc[filter.id] = filter.value as string | string[]\r\n }\r\n return acc\r\n }, {})\r\n\r\n for (const prevFilter of prev) {\r\n if (!next.some(filter => filter.id === prevFilter.id)) {\r\n filterUpdates[prevFilter.id] = null\r\n }\r\n }\r\n\r\n debouncedSetFilterValues(filterUpdates)\r\n return next\r\n })\r\n },\r\n [debouncedSetFilterValues, filterableColumns, enableAdvancedFilter]\r\n )\r\n\r\n const table = useReactTable({\r\n ...tableProps,\r\n columns,\r\n initialState,\r\n pageCount,\r\n state: {\r\n pagination,\r\n sorting,\r\n columnVisibility,\r\n rowSelection,\r\n columnFilters,\r\n globalFilter,\r\n },\r\n defaultColumn: {\r\n ...tableProps.defaultColumn,\r\n enableColumnFilter: false,\r\n },\r\n enableRowSelection: true,\r\n onRowSelectionChange: setRowSelection,\r\n onPaginationChange,\r\n onSortingChange,\r\n onColumnFiltersChange,\r\n onColumnVisibilityChange: setColumnVisibility,\r\n getCoreRowModel: getCoreRowModel(),\r\n getFilteredRowModel: getFilteredRowModel(),\r\n getPaginationRowModel: getPaginationRowModel(),\r\n getSortedRowModel: getSortedRowModel(),\r\n getFacetedRowModel: getFacetedRowModel(),\r\n getFacetedUniqueValues: getFacetedUniqueValues(),\r\n getFacetedMinMaxValues: getFacetedMinMaxValues(),\r\n manualPagination: true,\r\n manualSorting: true,\r\n manualFiltering: true,\r\n })\r\n\r\n return { table, shallow, debounceMs, throttleMs }\r\n}\r\n"],"names":["useDataTable","props","columns","pageCount","initialState","history","debounceMs","throttleMs","clearOnDefault","enableAdvancedFilter","scroll","shallow","startTransition","globalFilter","tableProps","queryStateOptions","React","rowSelection","setRowSelection","columnVisibility","setColumnVisibility","page","setPage","useQueryState","parseAsInteger","perPage","setPerPage","pagination","onPaginationChange","updaterOrValue","newPagination","columnIds","Set","column","Boolean","sorting","setSorting","getSortingStateParser","onSortingChange","filterableColumns","filterParsers","acc","parseAsArrayOf","parseAsString","filterValues","setFilterValues","useQueryStates","debouncedSetFilterValues","useDebouncedCallback","values","initialColumnFilters","Object","filters","key","value","processedValue","Array","columnFilters","setColumnFilters","onColumnFiltersChange","prev","next","filterUpdates","filter","prevFilter","table","useReactTable","getCoreRowModel","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getFacetedMinMaxValues"],"mappings":"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"}
1
+ {"version":3,"file":"hooks\\use-data-table.js","sources":["webpack://@gbmtech/aurora-ui/./src/hooks/use-data-table.ts"],"sourcesContent":["\r\n\r\nimport {\r\n type ColumnFiltersState,\r\n type PaginationState,\r\n type RowSelectionState,\r\n type SortingState,\r\n type TableOptions,\r\n type TableState,\r\n type Updater,\r\n type VisibilityState,\r\n getCoreRowModel,\r\n getFacetedMinMaxValues,\r\n getFacetedRowModel,\r\n getFacetedUniqueValues,\r\n getFilteredRowModel,\r\n getPaginationRowModel,\r\n getSortedRowModel,\r\n useReactTable,\r\n} from '@tanstack/react-table'\r\nimport {\r\n type Parser,\r\n type UseQueryStateOptions,\r\n parseAsArrayOf,\r\n parseAsInteger,\r\n parseAsString,\r\n useQueryState,\r\n useQueryStates,\r\n} from 'nuqs'\r\nimport * as React from 'react'\r\n\r\nimport { useDebouncedCallback } from '@/hooks/use-debounced-callback'\r\nimport { getSortingStateParser } from '@/lib/parsers'\r\nimport type { ExtendedColumnSort } from '@/types/data-table'\r\n\r\nconst PAGE_KEY = 'page'\r\nconst PER_PAGE_KEY = 'perPage'\r\nconst SORT_KEY = 'sort'\r\nconst ARRAY_SEPARATOR = ','\r\nconst DEBOUNCE_MS = 300\r\nconst THROTTLE_MS = 50\r\n\r\ninterface UseDataTableProps<TData>\r\n extends Omit<\r\n TableOptions<TData>,\r\n | 'state'\r\n | 'pageCount'\r\n | 'getCoreRowModel'\r\n | 'manualFiltering'\r\n | 'manualPagination'\r\n | 'manualSorting'\r\n >,\r\n Required<Pick<TableOptions<TData>, 'pageCount'>> {\r\n initialState?: Omit<Partial<TableState>, 'sorting'> & {\r\n sorting?: ExtendedColumnSort<TData>[]\r\n }\r\n history?: 'push' | 'replace'\r\n debounceMs?: number\r\n throttleMs?: number\r\n clearOnDefault?: boolean\r\n enableAdvancedFilter?: boolean\r\n scroll?: boolean\r\n shallow?: boolean\r\n startTransition?: React.TransitionStartFunction\r\n globalFilter?: string | null\r\n}\r\n\r\nexport function useDataTable<TData>(props: UseDataTableProps<TData>) {\r\n const {\r\n columns,\r\n pageCount = -1,\r\n initialState,\r\n history = 'replace',\r\n debounceMs = DEBOUNCE_MS,\r\n throttleMs = THROTTLE_MS,\r\n clearOnDefault = false,\r\n enableAdvancedFilter = false,\r\n scroll = false,\r\n shallow = true,\r\n startTransition,\r\n globalFilter,\r\n ...tableProps\r\n } = props\r\n\r\n const queryStateOptions = React.useMemo<\r\n Omit<UseQueryStateOptions<string>, 'parse'>\r\n >(\r\n () => ({\r\n history,\r\n scroll,\r\n shallow,\r\n throttleMs,\r\n debounceMs,\r\n clearOnDefault,\r\n startTransition,\r\n }),\r\n [\r\n history,\r\n scroll,\r\n shallow,\r\n throttleMs,\r\n debounceMs,\r\n clearOnDefault,\r\n startTransition,\r\n ]\r\n )\r\n\r\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>(\r\n initialState?.rowSelection ?? {}\r\n )\r\n const [columnVisibility, setColumnVisibility] =\r\n React.useState<VisibilityState>(initialState?.columnVisibility ?? {})\r\n\r\n const [page, setPage] = useQueryState(\r\n PAGE_KEY,\r\n parseAsInteger.withOptions(queryStateOptions).withDefault(1)\r\n )\r\n const [perPage, setPerPage] = useQueryState(\r\n PER_PAGE_KEY,\r\n parseAsInteger\r\n .withOptions(queryStateOptions)\r\n .withDefault(initialState?.pagination?.pageSize ?? 10)\r\n )\r\n\r\n const pagination: PaginationState = React.useMemo(() => {\r\n return {\r\n pageIndex: page - 1, // zero-based index -> one-based index\r\n pageSize: perPage,\r\n }\r\n }, [page, perPage])\r\n\r\n const onPaginationChange = React.useCallback(\r\n (updaterOrValue: Updater<PaginationState>) => {\r\n if (typeof updaterOrValue === 'function') {\r\n const newPagination = updaterOrValue(pagination)\r\n void setPage(newPagination.pageIndex + 1)\r\n void setPerPage(newPagination.pageSize)\r\n } else {\r\n void setPage(updaterOrValue.pageIndex + 1)\r\n void setPerPage(updaterOrValue.pageSize)\r\n }\r\n },\r\n [pagination, setPage, setPerPage]\r\n )\r\n\r\n const columnIds = React.useMemo(() => {\r\n return new Set(columns.map(column => column.id).filter(Boolean) as string[])\r\n }, [columns])\r\n\r\n const [sorting, setSorting] = useQueryState(\r\n SORT_KEY,\r\n getSortingStateParser<TData>(columnIds)\r\n .withOptions(queryStateOptions)\r\n .withDefault(initialState?.sorting ?? [])\r\n )\r\n\r\n const onSortingChange = React.useCallback(\r\n (updaterOrValue: Updater<SortingState>) => {\r\n if (typeof updaterOrValue === 'function') {\r\n const newSorting = updaterOrValue(sorting)\r\n setSorting(newSorting as ExtendedColumnSort<TData>[])\r\n } else {\r\n setSorting(updaterOrValue as ExtendedColumnSort<TData>[])\r\n }\r\n },\r\n [sorting, setSorting]\r\n )\r\n\r\n const filterableColumns = React.useMemo(() => {\r\n if (enableAdvancedFilter) return []\r\n\r\n return columns.filter(column => column.enableColumnFilter)\r\n }, [columns, enableAdvancedFilter])\r\n\r\n const filterParsers = React.useMemo(() => {\r\n if (enableAdvancedFilter) return {}\r\n\r\n return filterableColumns.reduce<\r\n Record<string, Parser<string> | Parser<string[]>>\r\n >((acc, column) => {\r\n if (column.meta?.options) {\r\n acc[column.id ?? ''] = parseAsArrayOf(\r\n parseAsString,\r\n ARRAY_SEPARATOR\r\n ).withOptions(queryStateOptions)\r\n } else {\r\n acc[column.id ?? ''] = parseAsString.withOptions(queryStateOptions)\r\n }\r\n return acc\r\n }, {})\r\n }, [filterableColumns, queryStateOptions, enableAdvancedFilter])\r\n\r\n const [filterValues, setFilterValues] = useQueryStates(filterParsers)\r\n\r\n const debouncedSetFilterValues = useDebouncedCallback(\r\n (values: typeof filterValues) => {\r\n void setPage(1)\r\n void setFilterValues(values)\r\n },\r\n debounceMs\r\n )\r\n\r\n const initialColumnFilters: ColumnFiltersState = React.useMemo(() => {\r\n if (enableAdvancedFilter) return []\r\n\r\n return Object.entries(filterValues).reduce<ColumnFiltersState>(\r\n (filters, [key, value]) => {\r\n if (value !== null) {\r\n const processedValue = Array.isArray(value)\r\n ? value\r\n : typeof value === 'string' && /[^a-zA-Z0-9]/.test(value)\r\n ? value.split(/[^a-zA-Z0-9]+/).filter(Boolean)\r\n : [value]\r\n\r\n filters.push({\r\n id: key,\r\n value: processedValue,\r\n })\r\n }\r\n return filters\r\n },\r\n []\r\n )\r\n }, [filterValues, enableAdvancedFilter])\r\n\r\n const [columnFilters, setColumnFilters] =\r\n React.useState<ColumnFiltersState>(initialColumnFilters)\r\n\r\n const onColumnFiltersChange = React.useCallback(\r\n (updaterOrValue: Updater<ColumnFiltersState>) => {\r\n if (enableAdvancedFilter) return\r\n\r\n setColumnFilters(prev => {\r\n const next =\r\n typeof updaterOrValue === 'function'\r\n ? updaterOrValue(prev)\r\n : updaterOrValue\r\n\r\n const filterUpdates = next.reduce<\r\n Record<string, string | string[] | null>\r\n >((acc, filter) => {\r\n if (filterableColumns.find(column => column.id === filter.id)) {\r\n acc[filter.id] = filter.value as string | string[]\r\n }\r\n return acc\r\n }, {})\r\n\r\n for (const prevFilter of prev) {\r\n if (!next.some(filter => filter.id === prevFilter.id)) {\r\n filterUpdates[prevFilter.id] = null\r\n }\r\n }\r\n\r\n debouncedSetFilterValues(filterUpdates)\r\n return next\r\n })\r\n },\r\n [debouncedSetFilterValues, filterableColumns, enableAdvancedFilter]\r\n )\r\n\r\n const table = useReactTable({\r\n ...tableProps,\r\n columns,\r\n initialState,\r\n pageCount,\r\n state: {\r\n pagination,\r\n sorting,\r\n columnVisibility,\r\n rowSelection,\r\n columnFilters,\r\n globalFilter,\r\n },\r\n defaultColumn: {\r\n ...tableProps.defaultColumn,\r\n enableColumnFilter: false,\r\n },\r\n enableRowSelection: true,\r\n onRowSelectionChange: setRowSelection,\r\n onPaginationChange,\r\n onSortingChange,\r\n onColumnFiltersChange,\r\n onColumnVisibilityChange: setColumnVisibility,\r\n getCoreRowModel: getCoreRowModel(),\r\n getFilteredRowModel: getFilteredRowModel(),\r\n getPaginationRowModel: getPaginationRowModel(),\r\n getSortedRowModel: getSortedRowModel(),\r\n getFacetedRowModel: getFacetedRowModel(),\r\n getFacetedUniqueValues: getFacetedUniqueValues(),\r\n getFacetedMinMaxValues: getFacetedMinMaxValues(),\r\n manualPagination: true,\r\n manualSorting: true,\r\n manualFiltering: true,\r\n })\r\n\r\n return { table, shallow, debounceMs, throttleMs }\r\n}\r\n"],"names":["useDataTable","props","columns","pageCount","initialState","history","debounceMs","throttleMs","clearOnDefault","enableAdvancedFilter","scroll","shallow","startTransition","globalFilter","tableProps","queryStateOptions","React","rowSelection","setRowSelection","columnVisibility","setColumnVisibility","page","setPage","useQueryState","parseAsInteger","perPage","setPerPage","pagination","onPaginationChange","updaterOrValue","newPagination","sorting","setSorting","getSortingStateParser","Set","column","Boolean","onSortingChange","filterableColumns","filterValues","setFilterValues","useQueryStates","acc","parseAsArrayOf","parseAsString","debouncedSetFilterValues","useDebouncedCallback","values","columnFilters","setColumnFilters","Object","filters","key","value","processedValue","Array","onColumnFiltersChange","prev","next","filterUpdates","filter","prevFilter","table","useReactTable","getCoreRowModel","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getFacetedMinMaxValues"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import*as e from"react";function t(t,r){let[u,o]=(0,e.useState)(t);return(0,e.useEffect)(()=>{let e=setTimeout(()=>{o(t)},r);return()=>{clearTimeout(e)}},[t,r]),u}export{t as useDebounce};
1
+ import{useEffect as e,useState as t}from"react";function r(r,o){let[u,n]=t(r);return e(()=>{let e=setTimeout(()=>{n(r)},o);return()=>{clearTimeout(e)}},[r,o]),u}export{r as useDebounce};
2
2
  //# sourceMappingURL=use-debounce.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks\\use-debounce.js","sources":["webpack://@gbmtech/aurora-ui/./src/hooks/use-debounce.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport function useDebounce<T>(value: T, delay: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value)\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedValue(value)\n }, delay)\n\n return () => {\n clearTimeout(timer)\n }\n }, [value, delay])\n\n return debouncedValue\n}\n"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","timer","setTimeout","clearTimeout"],"mappings":"wBAEO,SAASA,EAAeC,CAAQ,CAAEC,CAAa,EACpD,GAAM,CAACC,EAAgBC,EAAkB,CAAGC,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAYJ,GAYxD,MAVAK,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR,IAAMC,EAAQC,WAAW,KACvBJ,EAAkBH,EACpB,EAAGC,GAEH,MAAO,KACLO,aAAaF,EACf,CACF,EAAG,CAACN,EAAOC,EAAM,EAEVC,CACT,Q"}
1
+ {"version":3,"file":"hooks\\use-debounce.js","sources":["webpack://@gbmtech/aurora-ui/./src/hooks/use-debounce.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport function useDebounce<T>(value: T, delay: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value)\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedValue(value)\n }, delay)\n\n return () => {\n clearTimeout(timer)\n }\n }, [value, delay])\n\n return debouncedValue\n}\n"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","timer","setTimeout","clearTimeout"],"mappings":"gDAEO,SAASA,EAAeC,CAAQ,CAAEC,CAAa,EACpD,GAAM,CAACC,EAAgBC,EAAkB,CAAGC,EAAYJ,GAYxD,OAVAK,EAAU,KACR,IAAMC,EAAQC,WAAW,KACvBJ,EAAkBH,EACpB,EAAGC,GAEH,MAAO,KACLO,aAAaF,EACf,CACF,EAAG,CAACN,EAAOC,EAAM,EAEVC,CACT,Q"}
@@ -1,2 +1,2 @@
1
- import*as e from"react";import*as r from"./use-callback-ref.js";function t(t,u){let c=(0,r.useCallbackRef)(t),a=e.useRef(0);return e.useEffect(()=>()=>window.clearTimeout(a.current),[]),e.useCallback((...e)=>{window.clearTimeout(a.current),a.current=window.setTimeout(()=>c(...e),u)},[c,u])}export{t as useDebouncedCallback};
1
+ import{useCallback as e,useEffect as r,useRef as t}from"react";import{useCallbackRef as o}from"./use-callback-ref.js";function c(c,u){let n=o(c),i=t(0);return r(()=>()=>window.clearTimeout(i.current),[]),e((...e)=>{window.clearTimeout(i.current),i.current=window.setTimeout(()=>n(...e),u)},[n,u])}export{c as useDebouncedCallback};
2
2
  //# sourceMappingURL=use-debounced-callback.js.map