@optiaxiom/react 0.2.1 → 0.3.0

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 (170) hide show
  1. package/dist/{Link-Dc8ekUk0.d.ts → Link-DSt1ACyC.d.ts} +6 -5
  2. package/dist/assets/src/alert-dialog-content/{AlertDialogContent.css.ts.vanilla-CXU9RPlt.css → AlertDialogContent.css.ts.vanilla-Cjw-y6Yy.css} +7 -7
  3. package/dist/assets/src/alert-dialog-footer/AlertDialogFooter.css.ts.vanilla-BsT6XyGm.css +6 -0
  4. package/dist/assets/src/autocomplete-content/AutocompleteContent.css.ts.vanilla-B9mxe2pf.css +10 -0
  5. package/dist/assets/src/avatar/Avatar.css.ts.vanilla-hiaeqDOF.css +27 -0
  6. package/dist/assets/src/badge/Badge.css.ts.vanilla-BGDmv1hz.css +46 -0
  7. package/dist/assets/src/box/{Box.css.ts.vanilla-l5pxeqpC.css → Box.css.ts.vanilla-s1o67Nu2.css} +23 -23
  8. package/dist/assets/src/button/Button.css.ts.vanilla-B1QifN0w.css +146 -0
  9. package/dist/assets/src/checkbox/Checkbox.css.ts.vanilla-CExS1ZqL.css +18 -0
  10. package/dist/assets/src/code/Code.css.ts.vanilla-B4cXFjkE.css +7 -0
  11. package/dist/assets/src/data-table/DataTable.css.ts.vanilla-f32O9yLT.css +24 -0
  12. package/dist/assets/src/data-table-header/DataTableHeader.css.ts.vanilla-Mck1Jygh.css +12 -0
  13. package/dist/assets/src/dialog-content/{DialogContent.css.ts.vanilla-DYjXMRmn.css → DialogContent.css.ts.vanilla-Lsk9W2tM.css} +8 -8
  14. package/dist/assets/src/disclosure-content/DisclosureContent.css.ts.vanilla-Bmhi1C7J.css +25 -0
  15. package/dist/assets/src/disclosure-trigger/{DisclosureTrigger.css.ts.vanilla-Ut0pM30M.css → DisclosureTrigger.css.ts.vanilla-DBVCni4f.css} +7 -7
  16. package/dist/assets/src/drawer/{Drawer.css.ts.vanilla-DGdVvYDM.css → Drawer.css.ts.vanilla-Dc3kUMYt.css} +8 -8
  17. package/dist/assets/src/hover-card-content/{HoverCardContent.css.ts.vanilla-B0e1VBuB.css → HoverCardContent.css.ts.vanilla-ChTjpHlc.css} +3 -3
  18. package/dist/assets/src/indicator/Indicator.css.ts.vanilla-TsgP7JdS.css +35 -0
  19. package/dist/assets/src/input-base/{InputBase.css.ts.vanilla-xClOcyVV.css → InputBase.css.ts.vanilla-tt-5uhHu.css} +23 -23
  20. package/dist/assets/src/kbd/Kbd.css.ts.vanilla-D3n7xOyv.css +9 -0
  21. package/dist/assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css +1 -0
  22. package/dist/assets/src/link/{Link.css.ts.vanilla-BwsjRbT8.css → Link.css.ts.vanilla-BNK7NPi_.css} +12 -12
  23. package/dist/assets/src/menu-content-base/MenuContentBase.css.ts.vanilla-DKcuN3K2.css +21 -0
  24. package/dist/assets/src/menu-item-base/MenuItemBase.css.ts.vanilla-COOzjlcA.css +30 -0
  25. package/dist/assets/src/pagination/Pagination.css.ts.vanilla-COQlDCDV.css +6 -0
  26. package/dist/assets/src/pill/{Pill.css.ts.vanilla-Cr5zCRpC.css → Pill.css.ts.vanilla--TPbJMIP.css} +4 -4
  27. package/dist/assets/src/radio/Radio.css.ts.vanilla-DDwUXUbD.css +13 -0
  28. package/dist/assets/src/search-input/SearchInput.css.ts.vanilla-BX1a-Dh0.css +6 -0
  29. package/dist/assets/src/select-content/SelectContent.css.ts.vanilla-CUPdOFyq.css +7 -0
  30. package/dist/assets/src/separator/{Separator.css.ts.vanilla-DYmYJLS6.css → Separator.css.ts.vanilla-CrjVuWKL.css} +10 -10
  31. package/dist/assets/src/side-nav-item/SideNavItem.css.ts.vanilla-CDNL_Eks.css +6 -0
  32. package/dist/assets/src/skeleton/Skeleton.css.ts.vanilla-BioZnCf-.css +6 -0
  33. package/dist/assets/src/sprinkles/{properties.css.ts.vanilla-AO76vkAp.css → properties.css.ts.vanilla-BCAUDUA6.css} +2073 -2796
  34. package/dist/assets/src/switch/Switch.css.ts.vanilla-CYOtWPqb.css +26 -0
  35. package/dist/assets/src/table/Table.css.ts.vanilla-B3htktQt.css +11 -0
  36. package/dist/assets/src/table-body/TableBody.css.ts.vanilla-Bvwer8Qr.css +6 -0
  37. package/dist/assets/src/table-cell/{TableCell.css.ts.vanilla-BPLEQNTw.css → TableCell.css.ts.vanilla-B-Q4nB1K.css} +4 -4
  38. package/dist/assets/src/table-header-cell/TableHeaderCell.css.ts.vanilla-Bj126MUJ.css +6 -0
  39. package/dist/assets/src/table-row/TableRow.css.ts.vanilla-CrcN69E1.css +4 -0
  40. package/dist/assets/src/tabs/Tabs.css.ts.vanilla-s4ybMHXB.css +9 -0
  41. package/dist/assets/src/tabs-list/TabsList.css.ts.vanilla-DOzYpFuz.css +23 -0
  42. package/dist/assets/src/tabs-trigger/{TabsTrigger.css.ts.vanilla-vnwJVqiP.css → TabsTrigger.css.ts.vanilla-L3AI76M4.css} +10 -10
  43. package/dist/assets/src/text/{Text.css.ts.vanilla-CY9YMJxj.css → Text.css.ts.vanilla-7e7g59oD.css} +8 -8
  44. package/dist/assets/src/textarea-autosize/TextareaAutosize.css.ts.vanilla-D38-_uc_.css +34 -0
  45. package/dist/assets/src/toast/Toast.css.ts.vanilla-BbOSMKLI.css +92 -0
  46. package/dist/assets/src/toast-provider/{ToastProvider.css.ts.vanilla-MHbbmzSS.css → ToastProvider.css.ts.vanilla-tRhk17vi.css} +9 -9
  47. package/dist/assets/src/toggle-input/ToggleInput.css.ts.vanilla-BrGeFhyB.css +22 -0
  48. package/dist/assets/src/toggle-input-control/ToggleInputControl.css.ts.vanilla-B8FUUYbN.css +10 -0
  49. package/dist/assets/src/transition/{Transition.css.ts.vanilla-CiL90KIm.css → Transition.css.ts.vanilla-Ck3H9sjM.css} +16 -16
  50. package/dist/index.d.ts +9 -12
  51. package/dist/package.json.js +1 -1
  52. package/dist/src/alert/Alert-css.js +1 -1
  53. package/dist/src/alert/Alert.js +32 -17
  54. package/dist/src/alert-context/AlertContext.js +5 -0
  55. package/dist/src/alert-description/AlertDescription.js +3 -1
  56. package/dist/src/alert-dialog-content/AlertDialogContent-css.js +4 -4
  57. package/dist/src/alert-dialog-description/AlertDialogDescription-css.js +1 -1
  58. package/dist/src/alert-dialog-footer/AlertDialogFooter-css.js +3 -3
  59. package/dist/src/alert-title/AlertTitle.js +3 -1
  60. package/dist/src/autocomplete-content/AutocompleteContent-css.js +3 -3
  61. package/dist/src/avatar/Avatar-css.js +4 -4
  62. package/dist/src/avatar-group/AvatarGroup-css.js +3 -3
  63. package/dist/src/badge/Badge-css.js +3 -3
  64. package/dist/src/banner/Banner-css.js +1 -1
  65. package/dist/src/banner/Banner.js +32 -17
  66. package/dist/src/banner-context/BannerContext.js +5 -0
  67. package/dist/src/banner-description/BannerDescription.js +3 -1
  68. package/dist/src/banner-title/BannerTitle.js +3 -1
  69. package/dist/src/box/Box-css.js +3 -3
  70. package/dist/src/breadcrumb-ellipsis/BreadcrumbEllipsis.js +1 -1
  71. package/dist/src/breadcrumb-separator/BreadcrumbSeparator.js +1 -3
  72. package/dist/src/button/Button-css.js +8 -8
  73. package/dist/src/button/Button.js +1 -0
  74. package/dist/src/button-group/ButtonGroup-css.js +3 -3
  75. package/dist/src/checkbox/Checkbox-css.js +8 -8
  76. package/dist/src/checkbox/Checkbox.js +2 -2
  77. package/dist/src/code/Code-css.js +3 -3
  78. package/dist/src/data-table/DataTable-css.js +11 -0
  79. package/dist/src/data-table/DataTable.js +103 -0
  80. package/dist/src/data-table-header/DataTableHeader-css.js +8 -0
  81. package/dist/src/data-table-header/DataTableHeader.js +49 -0
  82. package/dist/src/dialog-body/DialogBody-css.js +1 -1
  83. package/dist/src/dialog-content/DialogContent-css.js +5 -5
  84. package/dist/src/dialog-footer/DialogFooter-css.js +1 -1
  85. package/dist/src/disclosure-content/DisclosureContent-css.js +3 -3
  86. package/dist/src/disclosure-trigger/DisclosureTrigger-css.js +4 -4
  87. package/dist/src/drawer/Drawer-css.js +5 -5
  88. package/dist/src/hover-card-content/HoverCardContent-css.js +3 -3
  89. package/dist/src/icons/CheckboxCheck.js +23 -0
  90. package/dist/src/icons/IconCheck.js +5 -9
  91. package/dist/src/icons/IconEllipsis.js +13 -9
  92. package/dist/src/icons/IconSort.js +19 -0
  93. package/dist/src/icons/IconSortDown.js +19 -0
  94. package/dist/src/icons/IconSortUp.js +19 -0
  95. package/dist/src/icons/IconX.js +4 -2
  96. package/dist/src/icons/withIcon.js +0 -1
  97. package/dist/src/indicator/Indicator-css.js +5 -5
  98. package/dist/src/indicator/Indicator.js +2 -2
  99. package/dist/src/input/Input-css.js +1 -1
  100. package/dist/src/input-base/InputBase-css.js +5 -5
  101. package/dist/src/kbd/Kbd-css.js +3 -3
  102. package/dist/src/layers/layers-css.js +3 -3
  103. package/dist/src/link/Link-css.js +4 -4
  104. package/dist/src/menu-content-base/MenuContentBase-css.js +3 -3
  105. package/dist/src/menu-item-base/MenuItemBase-css.js +3 -3
  106. package/dist/src/pagination/Pagination-css.js +3 -3
  107. package/dist/src/pagination/Pagination.js +8 -16
  108. package/dist/src/pill/Pill-css.js +3 -3
  109. package/dist/src/radio/Radio-css.js +8 -8
  110. package/dist/src/search-input/SearchInput-css.js +4 -4
  111. package/dist/src/select-content/SelectContent-css.js +3 -3
  112. package/dist/src/separator/Separator-css.js +3 -3
  113. package/dist/src/side-nav/SideNav.js +7 -4
  114. package/dist/src/side-nav-account-item/SideNavAccountItem.js +1 -0
  115. package/dist/src/side-nav-item/SideNavItem-css.js +5 -5
  116. package/dist/src/skeleton/Skeleton-css.js +3 -3
  117. package/dist/src/spinner/Spinner.js +1 -1
  118. package/dist/src/sprinkles/properties-css.js +4 -4
  119. package/dist/src/switch/Switch-css.js +8 -8
  120. package/dist/src/table/Table-css.js +4 -4
  121. package/dist/src/table-body/TableBody-css.js +3 -3
  122. package/dist/src/table-cell/TableCell-css.js +4 -4
  123. package/dist/src/table-header-cell/TableHeaderCell-css.js +3 -3
  124. package/dist/src/table-row/TableRow-css.js +3 -3
  125. package/dist/src/tabs/Tabs-css.js +3 -3
  126. package/dist/src/tabs-list/TabsList-css.js +3 -3
  127. package/dist/src/tabs-trigger/TabsTrigger-css.js +4 -4
  128. package/dist/src/text/Text-css.js +3 -3
  129. package/dist/src/textarea-autosize/TextareaAutosize-css.js +5 -5
  130. package/dist/src/toast/Toast-css.js +5 -5
  131. package/dist/src/toast-provider/ToastProvider-css.js +3 -3
  132. package/dist/src/toggle-input/ToggleInput-css.js +4 -4
  133. package/dist/src/toggle-input-control/ToggleInputControl-css.js +5 -5
  134. package/dist/src/toggle-input-hidden-input/ToggleInputHiddenInput-css.js +3 -3
  135. package/dist/src/tooltip/Tooltip.js +4 -3
  136. package/dist/src/tooltip-content/TooltipContent-css.js +1 -1
  137. package/dist/src/transition/Transition-css.js +3 -3
  138. package/dist/unstable.d.ts +22 -8
  139. package/dist/unstable.js +2 -0
  140. package/package.json +4 -2
  141. package/dist/assets/src/alert-dialog-footer/AlertDialogFooter.css.ts.vanilla-C1jTI0n3.css +0 -6
  142. package/dist/assets/src/autocomplete-content/AutocompleteContent.css.ts.vanilla-DJeeq1LR.css +0 -10
  143. package/dist/assets/src/avatar/Avatar.css.ts.vanilla-BqFo8Ckf.css +0 -27
  144. package/dist/assets/src/badge/Badge.css.ts.vanilla-hRYSETVs.css +0 -46
  145. package/dist/assets/src/button/Button.css.ts.vanilla-BiYA392f.css +0 -146
  146. package/dist/assets/src/checkbox/Checkbox.css.ts.vanilla-v8ueXwNh.css +0 -18
  147. package/dist/assets/src/code/Code.css.ts.vanilla-CgFRu84v.css +0 -7
  148. package/dist/assets/src/disclosure-content/DisclosureContent.css.ts.vanilla-C_E7EWK6.css +0 -25
  149. package/dist/assets/src/indicator/Indicator.css.ts.vanilla-BGp9E6-V.css +0 -36
  150. package/dist/assets/src/kbd/Kbd.css.ts.vanilla-BgKxZdBA.css +0 -9
  151. package/dist/assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css +0 -1
  152. package/dist/assets/src/menu-content-base/MenuContentBase.css.ts.vanilla-ZuE5SZF1.css +0 -21
  153. package/dist/assets/src/menu-item-base/MenuItemBase.css.ts.vanilla-qvZSWu96.css +0 -30
  154. package/dist/assets/src/pagination/Pagination.css.ts.vanilla-BeD33iJx.css +0 -6
  155. package/dist/assets/src/radio/Radio.css.ts.vanilla-ss7fiJd-.css +0 -13
  156. package/dist/assets/src/search-input/SearchInput.css.ts.vanilla-sXrssmhH.css +0 -6
  157. package/dist/assets/src/select-content/SelectContent.css.ts.vanilla-CA56kkFg.css +0 -7
  158. package/dist/assets/src/side-nav-item/SideNavItem.css.ts.vanilla-CbzO85Ut.css +0 -6
  159. package/dist/assets/src/skeleton/Skeleton.css.ts.vanilla-CJxzKFfW.css +0 -6
  160. package/dist/assets/src/switch/Switch.css.ts.vanilla-DhVULbgx.css +0 -26
  161. package/dist/assets/src/table/Table.css.ts.vanilla-Cf6hPQuP.css +0 -9
  162. package/dist/assets/src/table-body/TableBody.css.ts.vanilla-0F7IhhJH.css +0 -6
  163. package/dist/assets/src/table-header-cell/TableHeaderCell.css.ts.vanilla-BppOSaGb.css +0 -6
  164. package/dist/assets/src/table-row/TableRow.css.ts.vanilla-ApP8nAcG.css +0 -4
  165. package/dist/assets/src/tabs/Tabs.css.ts.vanilla-Zw8YUjIV.css +0 -9
  166. package/dist/assets/src/tabs-list/TabsList.css.ts.vanilla-C_eok-Uh.css +0 -23
  167. package/dist/assets/src/textarea-autosize/TextareaAutosize.css.ts.vanilla-LE6eeC9c.css +0 -34
  168. package/dist/assets/src/toast/Toast.css.ts.vanilla-CnzzNTMW.css +0 -92
  169. package/dist/assets/src/toggle-input/ToggleInput.css.ts.vanilla-D_YmZiLz.css +0 -22
  170. package/dist/assets/src/toggle-input-control/ToggleInputControl.css.ts.vanilla-B5HkATzv.css +0 -10
@@ -0,0 +1,5 @@
1
+ import { createContext } from '@radix-ui/react-context';
2
+
3
+ const [AlertContextProvider, useAlertContext] = createContext("Alert");
4
+
5
+ export { AlertContextProvider, useAlertContext };
@@ -1,9 +1,11 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
+ import { useAlertContext } from '../alert-context/AlertContext.js';
3
4
  import { Flex } from '../flex/Flex.js';
4
5
 
5
6
  const AlertDescription = forwardRef(({ children, ...props }, ref) => {
6
- return /* @__PURE__ */ jsx(Flex, { gap: "xs", ref, ...props, children });
7
+ const { descriptionId } = useAlertContext("AlertDescription");
8
+ return /* @__PURE__ */ jsx(Flex, { gap: "xs", id: descriptionId, ref, ...props, children });
7
9
  });
8
10
  AlertDescription.displayName = "@optiaxiom/react/AlertDescription";
9
11
 
@@ -1,8 +1,8 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/alert-dialog-content/AlertDialogContent.css.ts.vanilla-CXU9RPlt.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/alert-dialog-content/AlertDialogContent.css.ts.vanilla-Cjw-y6Yy.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var content = recipeRuntime({base:[{bg:'bg.default',display:'flex',flexDirection:'column',rounded:'lg',shadow:'md',z:'popover'},'_4agbqh'],variants:{size:{sm:'_7vn4mr',md:'s0zo4b',lg:'xyb5q3'}}});
6
- var overlay = recipeRuntime({base:[{bg:'bg.overlay',z:'popover'},'_14h5a4e']});
5
+ var content = recipeRuntime({base:[{bg:'bg.default',display:'flex',flexDirection:'column',rounded:'lg',shadow:'md',z:'popover'},'_1g7le8y'],variants:{size:{sm:'cn3bd5',md:'ny2rde',lg:'g5qmt5'}}});
6
+ var overlay = recipeRuntime({base:[{bg:'bg.overlay',z:'popover'},'_1rxb4v5']});
7
7
 
8
8
  export { content, overlay };
@@ -1,4 +1,4 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
2
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
3
3
 
4
4
  var body = recipeRuntime({base:[{flex:'1',fontSize:'md',overflow:'auto',px:'24',py:'16'}]});
@@ -1,7 +1,7 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/alert-dialog-footer/AlertDialogFooter.css.ts.vanilla-C1jTI0n3.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/alert-dialog-footer/AlertDialogFooter.css.ts.vanilla-BsT6XyGm.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var footer = recipeRuntime({base:[{flexDirection:['column-reverse','row'],gap:'md',justifyContent:'end',px:'24',py:'20'},'_3tt6db']});
5
+ var footer = recipeRuntime({base:[{flexDirection:['column-reverse','row'],gap:'md',justifyContent:'end',px:'24',py:'20'},'nfqh29']});
6
6
 
7
7
  export { footer };
@@ -1,10 +1,12 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
+ import { useAlertContext } from '../alert-context/AlertContext.js';
3
4
  import { Box } from '../box/Box.js';
4
5
 
5
6
  const AlertTitle = forwardRef(
6
7
  ({ children, ...props }, ref) => {
7
- return /* @__PURE__ */ jsx(Box, { fontWeight: "600", ref, ...props, children });
8
+ const { labelId } = useAlertContext("AlertTitle");
9
+ return /* @__PURE__ */ jsx(Box, { fontWeight: "600", id: labelId, ref, ...props, children });
8
10
  }
9
11
  );
10
12
  AlertTitle.displayName = "@optiaxiom/react/AlertTitle";
@@ -1,7 +1,7 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/autocomplete-content/AutocompleteContent.css.ts.vanilla-DJeeq1LR.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/autocomplete-content/AutocompleteContent.css.ts.vanilla-B9mxe2pf.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var content = recipeRuntime({base:[{p:'4'},'_8yc5mk']});
5
+ var content = recipeRuntime({base:[{p:'4'},'y6zzyz']});
6
6
 
7
7
  export { content };
@@ -1,9 +1,9 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/table-row/TableRow.css.ts.vanilla-ApP8nAcG.css';
3
- import './../../assets/src/avatar/Avatar.css.ts.vanilla-BqFo8Ckf.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/table-row/TableRow.css.ts.vanilla-CrcN69E1.css';
3
+ import './../../assets/src/avatar/Avatar.css.ts.vanilla-hiaeqDOF.css';
4
4
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
5
5
 
6
- var avatar = recipeRuntime({base:[{alignItems:'center',display:'inline-flex',fontWeight:'500',justifyContent:'center',overflow:'hidden',rounded:'full'},'eyn7pe'],variants:{colorScheme:{blue:{bg:'avatar.bg.blue',color:'avatar.fg.blue'},cyan:{bg:'avatar.bg.cyan',color:'avatar.fg.cyan'},green:{bg:'avatar.bg.green',color:'avatar.fg.green'},magenta:{bg:'avatar.bg.magenta',color:'avatar.fg.magenta'},neutral:{bg:'bg.secondary',color:'fg.default'},purple:{bg:'avatar.bg.purple',color:'avatar.fg.purple'},red:{bg:'bg.error.subtle',color:'fg.error.strong'},yellow:{bg:'avatar.bg.yellow',color:'avatar.fg.yellow'}},size:{xs:[{fontSize:'xs',fontWeight:'400',size:'xs'},'ddvs1n'],sm:[{fontSize:'xs',size:'sm'},'pbq83z'],md:[{fontSize:'md',size:'md'},'_1s252x2'],lg:[{fontSize:'lg',size:'lg'},'_12icwkh'],xl:[{fontSize:'2xl',size:'xl'},'injbr8'],'5xl':[{fontSize:'4xl',size:'5xl'},'_10qp5p6']}}});
6
+ var avatar = recipeRuntime({base:[{alignItems:'center',display:'inline-flex',fontWeight:'500',justifyContent:'center',overflow:'hidden',rounded:'full'},'xze9na'],variants:{colorScheme:{blue:{bg:'avatar.bg.blue',color:'avatar.fg.blue'},cyan:{bg:'avatar.bg.cyan',color:'avatar.fg.cyan'},green:{bg:'avatar.bg.green',color:'avatar.fg.green'},magenta:{bg:'avatar.bg.magenta',color:'avatar.fg.magenta'},neutral:{bg:'bg.secondary',color:'fg.default'},purple:{bg:'avatar.bg.purple',color:'avatar.fg.purple'},red:{bg:'bg.error.subtle',color:'fg.error.strong'},yellow:{bg:'avatar.bg.yellow',color:'avatar.fg.yellow'}},size:{xs:[{fontSize:'xs',fontWeight:'400',size:'xs'},'_1e7or4v'],sm:[{fontSize:'xs',size:'sm'},'_17ozpbu'],md:[{fontSize:'md',size:'md'},'_7p5dks'],lg:[{fontSize:'lg',size:'lg'},'ethjpt'],xl:[{fontSize:'2xl',size:'xl'},'_1bxo80m'],'5xl':[{fontSize:'4xl',size:'5xl'},'ghb47u']}}});
7
7
  var fallback = recipeRuntime({base:{alignItems:'center',display:'flex',justifyContent:'center',rounded:'inherit',size:'full',textTransform:'uppercase'}});
8
8
  var icon = recipeRuntime({base:[{h:'auto'}],variants:{size:{xs:{w:'12'},sm:{w:'12'},md:{w:'16'},lg:{w:'20'},xl:{w:'20'},'5xl':{w:'32'}}}});
9
9
 
@@ -1,7 +1,7 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/table-row/TableRow.css.ts.vanilla-ApP8nAcG.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/table-row/TableRow.css.ts.vanilla-CrcN69E1.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var avatarGroup = recipeRuntime({base:['pullcv',{display:'flex'}]});
5
+ var avatarGroup = recipeRuntime({base:['_1aq2l5y',{display:'flex'}]});
6
6
 
7
7
  export { avatarGroup };
@@ -1,7 +1,7 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/badge/Badge.css.ts.vanilla-hRYSETVs.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/badge/Badge.css.ts.vanilla-BGDmv1hz.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var badge = recipeRuntime({base:[{display:'inline-flex',fontSize:'sm',fontWeight:'500',justifyContent:'center',px:'xs',py:'2',rounded:'full'},'_23puf6'],variants:{colorScheme:{danger:'_1xw54gy',information:'_1n8plxt',neutral:'_19zs5ef',primary:'jf181d',success:'_17b1bj6',warning:'j9557h'},variant:{light:'fwod71',solid:'_1reguyi'}}});
5
+ var badge = recipeRuntime({base:[{display:'inline-flex',fontSize:'sm',fontWeight:'500',justifyContent:'center',px:'xs',py:'2',rounded:'full'},'qnam8u'],variants:{colorScheme:{danger:'hn1rzl',information:'zfe98y',neutral:'_1mwxer4',primary:'_1g8jsk7',success:'ssn6hs',warning:'hds9jj'},variant:{light:'_1eaou4m',solid:'_9teq84'}}});
6
6
 
7
7
  export { badge };
@@ -1,4 +1,4 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
2
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
3
3
 
4
4
  var banner = recipeRuntime({base:[{alignItems:'start',color:'fg.default',flexDirection:'row',fontSize:'md',fontWeight:'500',gap:'sm',justifyContent:'space-between',px:'lg',py:'sm'}],variants:{colorScheme:{danger:{bg:'bg.error.light'},information:{bg:'bg.information.light'},neutral:{bg:'bg.tertiary'},success:{bg:'bg.success.light'},warning:{bg:'bg.warning.light'}}}});
@@ -1,5 +1,7 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useId } from '@reach/auto-id';
2
3
  import { forwardRef, createElement } from 'react';
4
+ import { BannerContextProvider } from '../banner-context/BannerContext.js';
3
5
  import { Button } from '../button/Button.js';
4
6
  import { Flex } from '../flex/Flex.js';
5
7
  import { Icon } from '../icon/Icon.js';
@@ -19,22 +21,35 @@ const iconMap = {
19
21
  };
20
22
  const Banner = forwardRef(
21
23
  ({ children, className, colorScheme = "neutral", onClose, ...props }, ref) => {
22
- return /* @__PURE__ */ jsxs(Flex, { ref, ...banner({ colorScheme }, className), ...props, children: [
23
- /* @__PURE__ */ jsx(Icon, { asChild: true, ...icon({ colorScheme }), children: createElement(iconMap[colorScheme]) }),
24
- /* @__PURE__ */ jsx(Flex, { flex: "1", gap: "xs", my: "2", children }),
25
- !!onClose && /* @__PURE__ */ jsx(
26
- Button,
27
- {
28
- appearance: "subtle",
29
- "aria-label": "close",
30
- color: "fg.default",
31
- flex: "none",
32
- icon: /* @__PURE__ */ jsx(IconX, {}),
33
- onClick: onClose,
34
- size: "sm"
35
- }
36
- )
37
- ] });
24
+ const descriptionId = useId();
25
+ const labelId = useId();
26
+ return /* @__PURE__ */ jsx(BannerContextProvider, { descriptionId, labelId, children: /* @__PURE__ */ jsxs(
27
+ Flex,
28
+ {
29
+ "aria-describedby": descriptionId,
30
+ "aria-labelledby": labelId,
31
+ ref,
32
+ role: "alert",
33
+ ...banner({ colorScheme }, className),
34
+ ...props,
35
+ children: [
36
+ /* @__PURE__ */ jsx(Icon, { asChild: true, ...icon({ colorScheme }), children: createElement(iconMap[colorScheme]) }),
37
+ /* @__PURE__ */ jsx(Flex, { flex: "1", gap: "xs", my: "2", children }),
38
+ !!onClose && /* @__PURE__ */ jsx(
39
+ Button,
40
+ {
41
+ appearance: "subtle",
42
+ "aria-label": "close",
43
+ color: "fg.default",
44
+ flex: "none",
45
+ icon: /* @__PURE__ */ jsx(IconX, {}),
46
+ onClick: onClose,
47
+ size: "sm"
48
+ }
49
+ )
50
+ ]
51
+ }
52
+ ) });
38
53
  }
39
54
  );
40
55
  Banner.displayName = "@optiaxiom/react/Banner";
@@ -0,0 +1,5 @@
1
+ import { createContext } from '@radix-ui/react-context';
2
+
3
+ const [BannerContextProvider, useBannerContext] = createContext("Banner");
4
+
5
+ export { BannerContextProvider, useBannerContext };
@@ -1,9 +1,11 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
+ import { useBannerContext } from '../banner-context/BannerContext.js';
3
4
  import { Flex } from '../flex/Flex.js';
4
5
 
5
6
  const BannerDescription = forwardRef(({ children, ...props }, ref) => {
6
- return /* @__PURE__ */ jsx(Flex, { gap: "xs", ref, ...props, children });
7
+ const { descriptionId } = useBannerContext("BannerDescription");
8
+ return /* @__PURE__ */ jsx(Flex, { gap: "xs", id: descriptionId, ref, ...props, children });
7
9
  });
8
10
  BannerDescription.displayName = "@optiaxiom/react/BannerDescription";
9
11
 
@@ -1,10 +1,12 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
+ import { useBannerContext } from '../banner-context/BannerContext.js';
3
4
  import { Box } from '../box/Box.js';
4
5
 
5
6
  const BannerTitle = forwardRef(
6
7
  ({ children, ...props }, ref) => {
7
- return /* @__PURE__ */ jsx(Box, { fontWeight: "600", ref, ...props, children });
8
+ const { labelId } = useBannerContext("BannerTitle");
9
+ return /* @__PURE__ */ jsx(Box, { fontWeight: "600", id: labelId, ref, ...props, children });
8
10
  }
9
11
  );
10
12
  BannerTitle.displayName = "@optiaxiom/react/BannerTitle";
@@ -1,7 +1,7 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/box/Box.css.ts.vanilla-l5pxeqpC.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/box/Box.css.ts.vanilla-s1o67Nu2.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var box = recipeRuntime({base:'_1iwktq8'});
5
+ var box = recipeRuntime({base:'_10gfdsp'});
6
6
 
7
7
  export { box };
@@ -3,7 +3,7 @@ import { Box } from '../box/Box.js';
3
3
  import { IconEllipsis } from '../icons/IconEllipsis.js';
4
4
 
5
5
  function BreadcrumbEllipsis({ ...props }) {
6
- return /* @__PURE__ */ jsx(Box, { asChild: true, display: "flex", ...props, children: /* @__PURE__ */ jsx(IconEllipsis, {}) });
6
+ return /* @__PURE__ */ jsx(Box, { display: "grid", placeItems: "center", ...props, children: /* @__PURE__ */ jsx(IconEllipsis, {}) });
7
7
  }
8
8
  BreadcrumbEllipsis.displayName = "@optiaxiom/react/BreadcrumbEllipsis";
9
9
 
@@ -2,12 +2,10 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { Box } from '../box/Box.js';
3
3
 
4
4
  function BreadcrumbSeparator({
5
- asChild,
6
5
  children,
7
6
  ...props
8
7
  }) {
9
- const Comp = asChild ? Box : "span";
10
- return /* @__PURE__ */ jsx(Comp, { ...props, children: children ?? /* @__PURE__ */ jsx("span", { children: "/" }) });
8
+ return /* @__PURE__ */ jsx(Box, { asChild: true, ...props, children: /* @__PURE__ */ jsx("li", { children: children ?? /* @__PURE__ */ jsx("span", { children: "/" }) }) });
11
9
  }
12
10
  BreadcrumbSeparator.displayName = "@optiaxiom/react/BreadcrumbSeparator";
13
11
 
@@ -1,12 +1,12 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/table-row/TableRow.css.ts.vanilla-ApP8nAcG.css';
3
- import './../../assets/src/button/Button.css.ts.vanilla-BiYA392f.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/table-row/TableRow.css.ts.vanilla-CrcN69E1.css';
3
+ import './../../assets/src/button/Button.css.ts.vanilla-B1QifN0w.css';
4
4
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
5
5
 
6
- var addon = recipeRuntime({base:[{transition:'opacity'},'i5ot4w']});
7
- var button = recipeRuntime({base:['pvd8yv',{alignItems:'center',display:'inline-flex',flexDirection:'row',justifyContent:'center',transition:'colors'},'_10oo7xe'],variants:{colorScheme:{danger:'efdrg9',neutral:'_1yqlj65',primary:'wan7jv'},iconOnly:{false:'lbnmsc',true:{}},size:{sm:{fontSize:'sm',h:'sm'},md:{fontSize:'md',gap:'2',h:'md'},lg:{fontSize:'md',gap:'4',h:'lg'}},variant:{outline:'_22dmcp',solid:'zh1ybk',subtle:'_503k7b'}},variantsCompounded:[{style:{w:'sm'},variants:{iconOnly:true,size:'sm'}},{style:'trzodf',variants:{iconOnly:false,size:'sm'}},{style:{w:'md'},variants:{iconOnly:true,size:'md'}},{style:'yus9ei',variants:{iconOnly:false,size:'md'}},{style:{w:'lg'},variants:{iconOnly:true,size:'lg'}},{style:'ttoro1',variants:{iconOnly:false,size:'lg'}}]});
8
- var icon = recipeRuntime({base:[{transition:'opacity'},'i5ot4w']});
9
- var label = recipeRuntime({base:[{flexDirection:'row',gap:'4',mx:'4'},{transition:'opacity'},'i5ot4w']});
10
- var spinner = recipeRuntime({base:'l7xneb'});
6
+ var addon = recipeRuntime({base:[{transition:'opacity'},'_14yf7lh']});
7
+ var button = recipeRuntime({base:['_1t6d3d7',{alignItems:'center',display:'inline-flex',flexDirection:'row',justifyContent:'center',transition:'colors'},'_193lbiv'],variants:{colorScheme:{danger:'ionh8j',neutral:'_1odcqwd',primary:'ygedj7'},iconOnly:{false:'kwsewx',true:{}},size:{sm:{fontSize:'sm',h:'sm'},md:{fontSize:'md',gap:'2',h:'md'},lg:{fontSize:'md',gap:'4',h:'lg'}},variant:{outline:'_11v077j',solid:'_2fb49j',subtle:'ib2j35'}},variantsCompounded:[{style:{w:'sm'},variants:{iconOnly:true,size:'sm'}},{style:'eioh5h',variants:{iconOnly:false,size:'sm'}},{style:{w:'md'},variants:{iconOnly:true,size:'md'}},{style:'_1wpbprr',variants:{iconOnly:false,size:'md'}},{style:{w:'lg'},variants:{iconOnly:true,size:'lg'}},{style:'yvtso',variants:{iconOnly:false,size:'lg'}}]});
8
+ var icon = recipeRuntime({base:[{transition:'opacity'},'_14yf7lh']});
9
+ var label = recipeRuntime({base:[{flexDirection:'row',gap:'4',mx:'4'},{transition:'opacity'},'_14yf7lh']});
10
+ var spinner = recipeRuntime({base:'iarkek'});
11
11
 
12
12
  export { addon, button, icon, label, spinner };
@@ -85,6 +85,7 @@ const Button = forwardRef(
85
85
  className
86
86
  ),
87
87
  ...sprinkleProps,
88
+ ...isIconOnly && { justifyContent: "center" },
88
89
  children: /* @__PURE__ */ jsxs(Comp, { disabled: disabled || loading, ref, ...restProps, children: [
89
90
  /* @__PURE__ */ jsx(AnimatePresence, { children: loading && /* @__PURE__ */ jsx(
90
91
  Spinner,
@@ -1,7 +1,7 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/table-row/TableRow.css.ts.vanilla-ApP8nAcG.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/table-row/TableRow.css.ts.vanilla-CrcN69E1.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var buttonGroup = recipeRuntime({base:'_1t97w3x'});
5
+ var buttonGroup = recipeRuntime({base:'dqcfz2'});
6
6
 
7
7
  export { buttonGroup };
@@ -1,13 +1,13 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/table-row/TableRow.css.ts.vanilla-ApP8nAcG.css';
3
- import './../../assets/src/toggle-input/ToggleInput.css.ts.vanilla-D_YmZiLz.css';
4
- import './../../assets/src/checkbox/Checkbox.css.ts.vanilla-v8ueXwNh.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/table-row/TableRow.css.ts.vanilla-CrcN69E1.css';
3
+ import './../../assets/src/toggle-input/ToggleInput.css.ts.vanilla-BrGeFhyB.css';
4
+ import './../../assets/src/checkbox/Checkbox.css.ts.vanilla-CExS1ZqL.css';
5
5
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
6
6
 
7
- var checkbox = recipeRuntime({base:'_8f437s'});
8
- var control = recipeRuntime({base:[{color:'fg.default.inverse',mt:'2',rounded:'xs',size:'16'},'_1r6j2fg']});
9
- var icon = recipeRuntime({base:['_1y90mf7']});
7
+ var checkbox = recipeRuntime({base:'_1d48mat'});
8
+ var control = recipeRuntime({base:[{color:'fg.default.inverse',mt:'2',rounded:'xs',size:'16'},'_1b6ozsy']});
9
+ var icon = recipeRuntime({base:['wsrswe']});
10
10
  var indicator = recipeRuntime({base:[{alignItems:'center',display:'flex',justifyContent:'center',p:'2',size:'full'}]});
11
- var input = recipeRuntime({base:'jyev48'});
11
+ var input = recipeRuntime({base:'_4tpd91'});
12
12
 
13
13
  export { checkbox, control, icon, indicator, input };
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { Box } from '../box/Box.js';
4
- import { IconCheck } from '../icons/IconCheck.js';
4
+ import { CheckboxCheck } from '../icons/CheckboxCheck.js';
5
5
  import { IconMinus } from '../icons/IconMinus.js';
6
6
  import { extractSprinkles } from '../sprinkles/extractSprinkles.js';
7
7
  import '../sprinkles/sprinkles.js';
@@ -25,7 +25,7 @@ const Checkbox = forwardRef(
25
25
  ...sprinkleProps,
26
26
  children: [
27
27
  /* @__PURE__ */ jsx(ToggleInputHiddenInput, { ref, ...input(), ...restProps }),
28
- /* @__PURE__ */ jsx(ToggleInputControl, { ...control(), children: /* @__PURE__ */ jsx(Box, { ...indicator(), children: /* @__PURE__ */ jsx(Box, { asChild: true, ...icon(), children: indeterminate ? /* @__PURE__ */ jsx(IconMinus, {}) : /* @__PURE__ */ jsx(IconCheck, {}) }) }) }),
28
+ /* @__PURE__ */ jsx(ToggleInputControl, { ...control(), children: /* @__PURE__ */ jsx(Box, { ...indicator(), children: /* @__PURE__ */ jsx(Box, { asChild: true, ...icon(), children: indeterminate ? /* @__PURE__ */ jsx(IconMinus, {}) : /* @__PURE__ */ jsx(CheckboxCheck, {}) }) }) }),
29
29
  /* @__PURE__ */ jsxs(ToggleInputContent, { children: [
30
30
  /* @__PURE__ */ jsx(ToggleInputLabel, { children }),
31
31
  description && /* @__PURE__ */ jsx(ToggleInputDescription, { children: description })
@@ -1,7 +1,7 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/code/Code.css.ts.vanilla-CgFRu84v.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/code/Code.css.ts.vanilla-B4cXFjkE.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var code = recipeRuntime({base:[{bg:'bg.secondary',display:'inline-block',px:'4',rounded:'sm'},'_6e5p5i']});
5
+ var code = recipeRuntime({base:[{bg:'bg.secondary',display:'inline-block',px:'4',rounded:'sm'},'_1t01fhs']});
6
6
 
7
7
  export { code };
@@ -0,0 +1,11 @@
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/data-table/DataTable.css.ts.vanilla-f32O9yLT.css';
3
+ import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
+
5
+ var cellOffsetVar = 'var(--_1e45muq)';
6
+ var columnWidthVar = 'var(--_9jb8x0)';
7
+ var tableCell = recipeRuntime({base:[{bg:'bg.default'},'_17uhrmk'],variants:{pinned:{false:{},left:'_8cdgxd',right:{}}}});
8
+ var tableHead = recipeRuntime({base:[{bg:'bg.default'},'_7h1350'],variants:{pinned:{false:{},left:'_1paes0m',right:{}}}});
9
+ var tableHeader = recipeRuntime({base:[{bg:'bg.default'},'vqm9j5']});
10
+
11
+ export { cellOffsetVar, columnWidthVar, tableCell, tableHead, tableHeader };
@@ -0,0 +1,103 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useReactTable, getCoreRowModel, getPaginationRowModel, getSortedRowModel, flexRender } from '@tanstack/react-table';
3
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
4
+ import { useState, createElement } from 'react';
5
+ import { Box } from '../box/Box.js';
6
+ import { DataTableHeader } from '../data-table-header/DataTableHeader.js';
7
+ import { Pagination } from '../pagination/Pagination.js';
8
+ import { Table } from '../table/Table.js';
9
+ import { TableBody } from '../table-body/TableBody.js';
10
+ import { TableCell } from '../table-cell/TableCell.js';
11
+ import { TableHead } from '../table-head/TableHead.js';
12
+ import { TableHeaderCell } from '../table-header-cell/TableHeaderCell.js';
13
+ import { TableRow } from '../table-row/TableRow.js';
14
+ import { tableHeader, cellOffsetVar, columnWidthVar, tableHead, tableCell } from './DataTable-css.js';
15
+
16
+ const DataTable = ({
17
+ columns,
18
+ data,
19
+ ...props
20
+ }) => {
21
+ const [sorting, setSorting] = useState([]);
22
+ const [{ pageIndex, pageSize }, setPagination] = useState({
23
+ pageIndex: 0,
24
+ pageSize: 10
25
+ });
26
+ const table = useReactTable({
27
+ ...props,
28
+ columns,
29
+ data,
30
+ getCoreRowModel: getCoreRowModel(),
31
+ getPaginationRowModel: getPaginationRowModel(),
32
+ getSortedRowModel: getSortedRowModel(),
33
+ onPaginationChange: setPagination,
34
+ onSortingChange: setSorting,
35
+ state: {
36
+ ...props.state,
37
+ pagination: {
38
+ pageIndex,
39
+ pageSize
40
+ },
41
+ sorting
42
+ }
43
+ });
44
+ let offset = 0;
45
+ const offsets = Object.fromEntries(
46
+ table.getAllColumns().flatMap((column) => [
47
+ [column.id, (offset += column.getSize()) - column.getSize()]
48
+ ])
49
+ );
50
+ return /* @__PURE__ */ jsxs(Box, { alignItems: "center", display: "flex", flexDirection: "column", children: [
51
+ /* @__PURE__ */ jsxs(Table, { children: [
52
+ /* @__PURE__ */ jsx(TableHead, { ...tableHeader(), children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableRow, { children: headerGroup.headers.map((header) => {
53
+ return /* @__PURE__ */ jsx(
54
+ TableHeaderCell,
55
+ {
56
+ style: {
57
+ ...assignInlineVars({
58
+ [cellOffsetVar]: header.column.getIsPinned() ? `${offsets[header.column.id]}px` : void 0,
59
+ [columnWidthVar]: `${header.getSize()}px`
60
+ })
61
+ },
62
+ ...tableHead({
63
+ pinned: header.column.getIsPinned() ?? void 0
64
+ }),
65
+ children: header.column.columnDef.header && typeof header.column.columnDef.header !== "string" ? createElement(
66
+ header.column.columnDef.header,
67
+ header.getContext()
68
+ ) : /* @__PURE__ */ jsx(DataTableHeader, { ...header.getContext(), children: header.column.columnDef.header })
69
+ },
70
+ header.id
71
+ );
72
+ }) }, headerGroup.id)) }),
73
+ /* @__PURE__ */ jsx(TableBody, { children: table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx(TableRow, { children: row.getVisibleCells().map((cell) => {
74
+ return /* @__PURE__ */ jsx(
75
+ TableCell,
76
+ {
77
+ style: {
78
+ ...assignInlineVars({
79
+ [cellOffsetVar]: cell.column.getIsPinned() ? `${offsets[cell.column.id]}px` : void 0,
80
+ [columnWidthVar]: `${cell.column.getSize()}px`
81
+ })
82
+ },
83
+ ...tableCell({
84
+ pinned: cell.column.getIsPinned() ?? void 0
85
+ }),
86
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
87
+ },
88
+ cell.id
89
+ );
90
+ }) }, row.id)) })
91
+ ] }),
92
+ data.length > table.getState().pagination.pageSize && /* @__PURE__ */ jsx(Box, { mt: "8", children: /* @__PURE__ */ jsx(
93
+ Pagination,
94
+ {
95
+ onPageChange: (newPage) => table.setPageIndex(newPage - 1),
96
+ page: table.getState().pagination.pageIndex + 1,
97
+ total: table.getPageCount()
98
+ }
99
+ ) })
100
+ ] });
101
+ };
102
+
103
+ export { DataTable };
@@ -0,0 +1,8 @@
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/data-table-header/DataTableHeader.css.ts.vanilla-Mck1Jygh.css';
3
+ import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
+
5
+ var header = recipeRuntime({base:[{gap:'4'},'_16dd48f'],variants:{sortable:{false:'z193qz',true:'_1gkcchz'},variant:{number:{flexDirection:'row-reverse',justifyContent:'end'},text:{flexDirection:'row'}}}});
6
+ var icon = recipeRuntime({base:[{border:'0',color:'fg.tertiary'}],variants:{sorted:{false:'_1i6d1w6',true:{}}}});
7
+
8
+ export { header, icon };
@@ -0,0 +1,49 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Flex } from '../flex/Flex.js';
3
+ import { Icon } from '../icon/Icon.js';
4
+ import { IconSort } from '../icons/IconSort.js';
5
+ import { IconSortDown } from '../icons/IconSortDown.js';
6
+ import { IconSortUp } from '../icons/IconSortUp.js';
7
+ import { Tooltip } from '../tooltip/Tooltip.js';
8
+ import { header, icon } from './DataTableHeader-css.js';
9
+
10
+ const DataTableHeader = ({
11
+ children,
12
+ column,
13
+ variant = "text"
14
+ }) => {
15
+ if (!column)
16
+ return null;
17
+ return /* @__PURE__ */ jsxs(
18
+ Flex,
19
+ {
20
+ ...header({
21
+ sortable: column.columnDef.enableSorting,
22
+ variant
23
+ }),
24
+ onClick: () => column.columnDef.enableSorting && column.toggleSorting(),
25
+ children: [
26
+ children,
27
+ column.columnDef.enableSorting && /* @__PURE__ */ jsx(
28
+ Tooltip,
29
+ {
30
+ content: column.getCanSort() ? column.getNextSortingOrder() === "asc" ? "Sort ascending" : column.getNextSortingOrder() === "desc" ? "Sort descending" : "Clear sort" : void 0,
31
+ children: /* @__PURE__ */ jsx(
32
+ Icon,
33
+ {
34
+ asChild: true,
35
+ ...icon({
36
+ sorted: column.getIsSorted() === false ? false : true
37
+ }),
38
+ children: column.getIsSorted() === false ? /* @__PURE__ */ jsx(IconSort, {}) : column.getIsSorted() === "asc" ? /* @__PURE__ */ jsx(IconSortUp, {}) : /* @__PURE__ */ jsx(IconSortDown, {})
39
+ }
40
+ )
41
+ }
42
+ )
43
+ ]
44
+ }
45
+ );
46
+ };
47
+ DataTableHeader.displayName = "@optiaxiom/react/DataTableHeader";
48
+
49
+ export { DataTableHeader };
@@ -1,4 +1,4 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
2
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
3
3
 
4
4
  var body = recipeRuntime({base:[{flex:'1',fontSize:'md',overflow:'auto',pb:'md',pt:'lg',px:'lg'}]});
@@ -1,9 +1,9 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/dialog-content/DialogContent.css.ts.vanilla-DYjXMRmn.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/dialog-content/DialogContent.css.ts.vanilla-Lsk9W2tM.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var close = recipeRuntime({base:[{rounded:'full'},'dgkqoj']});
6
- var content = recipeRuntime({base:[{bg:'bg.default',display:'flex',flexDirection:'column',rounded:'lg',shadow:'md',z:'popover'},'_1f8afo'],variants:{size:{sm:'j0yw89',md:'_1iq1x68',lg:'hi7b7p'}}});
7
- var overlay = recipeRuntime({base:[{bg:'bg.overlay',z:'popover'},'_1egklxj']});
5
+ var close = recipeRuntime({base:[{rounded:'full'},'_17m6std']});
6
+ var content = recipeRuntime({base:[{bg:'bg.default',display:'flex',flexDirection:'column',rounded:'lg',shadow:'md',z:'popover'},'_2f4nab'],variants:{size:{sm:'t1jvec',md:'_6l72ql',lg:'_1ako8ny'}}});
7
+ var overlay = recipeRuntime({base:[{bg:'bg.overlay',z:'popover'},'_3xfkw9']});
8
8
 
9
9
  export { close, content, overlay };
@@ -1,4 +1,4 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
2
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
3
3
 
4
4
  var footer = recipeRuntime({base:[{borderColor:'border.secondary',borderT:'1',flexDirection:'row',gap:'md',justifyContent:'end',px:'lg',py:'20'}]});
@@ -1,7 +1,7 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/disclosure-content/DisclosureContent.css.ts.vanilla-C_E7EWK6.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/disclosure-content/DisclosureContent.css.ts.vanilla-Bmhi1C7J.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var content = recipeRuntime({base:[{overflow:'hidden'},'qmrzgk']});
5
+ var content = recipeRuntime({base:[{overflow:'hidden'},'d95bp6']});
6
6
 
7
7
  export { content };
@@ -1,8 +1,8 @@
1
- import './../../assets/src/layers/layers.css.ts.vanilla-Crev7Ydc.css';
2
- import './../../assets/src/disclosure-trigger/DisclosureTrigger.css.ts.vanilla-Ut0pM30M.css';
1
+ import './../../assets/src/layers/layers.css.ts.vanilla-WPx7EAgK.css';
2
+ import './../../assets/src/disclosure-trigger/DisclosureTrigger.css.ts.vanilla-DBVCni4f.css';
3
3
  import { recipeRuntime } from '../vanilla-extract/recipeRuntime.js';
4
4
 
5
- var icon = recipeRuntime({base:[{transition:'transform'}],variants:{chevronPosition:{end:'_1opkqoa',start:'v9jya7'}}});
6
- var trigger = recipeRuntime({base:[{flexDirection:'row',fontSize:'md',fontWeight:'500',gap:'4',p:'xs',px:'4',rounded:'md',textAlign:'start',w:'full'},'_1yfpbmr']});
5
+ var icon = recipeRuntime({base:[{transition:'transform'}],variants:{chevronPosition:{end:'_9hb62s',start:'_1ru8j5m'}}});
6
+ var trigger = recipeRuntime({base:[{flexDirection:'row',fontSize:'md',fontWeight:'500',gap:'4',p:'xs',px:'4',rounded:'md',textAlign:'start',w:'full'},'_1f1gbbn']});
7
7
 
8
8
  export { icon, trigger };