@astryxdesign/core 0.1.5 → 0.1.6-canary.02f2602

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 (564) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +2 -0
  3. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  4. package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
  5. package/dist/AlertDialog/AlertDialog.js +21 -18
  6. package/dist/AlertDialog/useImperativeAlertDialog.d.ts +0 -2
  7. package/dist/AlertDialog/useImperativeAlertDialog.d.ts.map +1 -1
  8. package/dist/AlertDialog/useImperativeAlertDialog.js +3 -5
  9. package/dist/AppShell/AppShell.d.ts.map +1 -1
  10. package/dist/AppShell/AppShell.js +55 -53
  11. package/dist/AspectRatio/AspectRatio.js +5 -5
  12. package/dist/Avatar/Avatar.js +19 -19
  13. package/dist/Avatar/AvatarStatusDot.js +5 -5
  14. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  15. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  16. package/dist/AvatarGroup/AvatarGroup.js +9 -6
  17. package/dist/AvatarGroup/AvatarGroupOverflow.js +5 -5
  18. package/dist/Badge/Badge.js +3 -3
  19. package/dist/Banner/Banner.d.ts.map +1 -1
  20. package/dist/Banner/Banner.js +32 -30
  21. package/dist/Blockquote/Blockquote.js +7 -7
  22. package/dist/Breadcrumbs/BreadcrumbItem.js +17 -17
  23. package/dist/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  24. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  25. package/dist/Breadcrumbs/Breadcrumbs.js +11 -8
  26. package/dist/Button/Button.d.ts.map +1 -1
  27. package/dist/Button/Button.js +53 -23
  28. package/dist/ButtonGroup/ButtonGroup.d.ts +20 -5
  29. package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  30. package/dist/ButtonGroup/ButtonGroup.js +34 -18
  31. package/dist/Calendar/Calendar.d.ts.map +1 -1
  32. package/dist/Calendar/Calendar.js +51 -48
  33. package/dist/Card/Card.js +3 -3
  34. package/dist/Carousel/Carousel.d.ts +1 -1
  35. package/dist/Carousel/Carousel.d.ts.map +1 -1
  36. package/dist/Carousel/Carousel.js +27 -24
  37. package/dist/Center/Center.js +3 -3
  38. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  39. package/dist/Chat/ChatComposer.js +27 -24
  40. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  41. package/dist/Chat/ChatComposerDrawer.d.ts.map +1 -1
  42. package/dist/Chat/ChatComposerDrawer.js +23 -16
  43. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  44. package/dist/Chat/ChatComposerInput.js +20 -16
  45. package/dist/Chat/ChatDictationButton.js +10 -10
  46. package/dist/Chat/ChatLayout.d.ts +1 -11
  47. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  48. package/dist/Chat/ChatLayout.js +23 -21
  49. package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
  50. package/dist/Chat/ChatLayoutScrollButton.js +13 -11
  51. package/dist/Chat/ChatMessage.d.ts +1 -1
  52. package/dist/Chat/ChatMessage.d.ts.map +1 -1
  53. package/dist/Chat/ChatMessage.js +20 -14
  54. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  55. package/dist/Chat/ChatMessageBubble.d.ts.map +1 -1
  56. package/dist/Chat/ChatMessageBubble.js +10 -8
  57. package/dist/Chat/ChatMessageList.d.ts +1 -1
  58. package/dist/Chat/ChatMessageList.d.ts.map +1 -1
  59. package/dist/Chat/ChatMessageList.js +17 -15
  60. package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
  61. package/dist/Chat/ChatMessageMetadata.js +24 -19
  62. package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
  63. package/dist/Chat/ChatPastedTextToken.js +16 -14
  64. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  65. package/dist/Chat/ChatSendButton.js +6 -4
  66. package/dist/Chat/ChatSystemMessage.js +11 -11
  67. package/dist/Chat/ChatTokenizedText.js +8 -8
  68. package/dist/Chat/ChatToolCalls.js +73 -73
  69. package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
  70. package/dist/Chat/useSpeechRecognition.js +4 -2
  71. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  72. package/dist/Chat/useTriggerMenu.js +19 -17
  73. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  74. package/dist/CheckboxInput/CheckboxInput.js +26 -24
  75. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  76. package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
  77. package/dist/CheckboxList/CheckboxList.js +12 -10
  78. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  79. package/dist/CheckboxList/CheckboxListItem.js +8 -6
  80. package/dist/Citation/Citation.d.ts.map +1 -1
  81. package/dist/Citation/Citation.js +20 -12
  82. package/dist/ClickableCard/ClickableCard.js +6 -6
  83. package/dist/Code/Code.js +3 -3
  84. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  85. package/dist/CodeBlock/CodeBlock.js +114 -96
  86. package/dist/Collapsible/Collapsible.js +11 -11
  87. package/dist/Collapsible/CollapsibleGroup.js +7 -7
  88. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  89. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  90. package/dist/CommandPalette/CommandPalette.js +39 -34
  91. package/dist/CommandPalette/CommandPaletteEmpty.js +3 -3
  92. package/dist/CommandPalette/CommandPaletteFooter.js +16 -16
  93. package/dist/CommandPalette/CommandPaletteGroup.js +5 -5
  94. package/dist/CommandPalette/CommandPaletteInput.d.ts +1 -1
  95. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  96. package/dist/CommandPalette/CommandPaletteInput.js +17 -14
  97. package/dist/CommandPalette/CommandPaletteItem.js +3 -3
  98. package/dist/CommandPalette/CommandPaletteList.d.ts +1 -1
  99. package/dist/CommandPalette/CommandPaletteList.d.ts.map +1 -1
  100. package/dist/CommandPalette/CommandPaletteList.js +7 -4
  101. package/dist/ContextMenu/ContextMenu.d.ts +1 -1
  102. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  103. package/dist/ContextMenu/ContextMenu.js +14 -11
  104. package/dist/DateInput/DateInput.d.ts +1 -1
  105. package/dist/DateInput/DateInput.d.ts.map +1 -1
  106. package/dist/DateInput/DateInput.js +28 -23
  107. package/dist/DateRangeInput/DateRangeInput.d.ts +1 -1
  108. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  109. package/dist/DateRangeInput/DateRangeInput.js +32 -27
  110. package/dist/DateTimeInput/DateTimeInput.d.ts +1 -1
  111. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  112. package/dist/DateTimeInput/DateTimeInput.js +41 -33
  113. package/dist/Dialog/Dialog.js +9 -9
  114. package/dist/Dialog/DialogHeader.d.ts.map +1 -1
  115. package/dist/Dialog/DialogHeader.js +20 -18
  116. package/dist/Dialog/useImperativeDialog.js +3 -3
  117. package/dist/Divider/Divider.js +7 -7
  118. package/dist/DropdownMenu/DropdownMenu.d.ts +1 -1
  119. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  120. package/dist/DropdownMenu/DropdownMenu.js +21 -15
  121. package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
  122. package/dist/DropdownMenu/renderDropdownItems.js +10 -10
  123. package/dist/EmptyState/EmptyState.d.ts +4 -1
  124. package/dist/EmptyState/EmptyState.d.ts.map +1 -1
  125. package/dist/EmptyState/EmptyState.js +9 -9
  126. package/dist/Field/Field.js +17 -17
  127. package/dist/Field/FieldLabel.js +15 -15
  128. package/dist/Field/InputClearButton.js +5 -5
  129. package/dist/FieldStatus/FieldStatus.js +3 -3
  130. package/dist/FileInput/FileInput.d.ts.map +1 -1
  131. package/dist/FileInput/FileInput.js +34 -30
  132. package/dist/FormLayout/FormLayout.js +5 -5
  133. package/dist/Grid/Grid.js +3 -3
  134. package/dist/Grid/GridSpan.js +3 -3
  135. package/dist/HStack/HStack.js +3 -3
  136. package/dist/Heading/Heading.js +10 -10
  137. package/dist/HoverCard/HoverCard.js +9 -9
  138. package/dist/HoverCard/useHoverCard.js +3 -3
  139. package/dist/Icon/Icon.js +11 -11
  140. package/dist/Icon/defaultIcons.js +116 -116
  141. package/dist/IconButton/IconButton.js +3 -3
  142. package/dist/InputGroup/InputGroup.js +9 -9
  143. package/dist/InputGroup/InputGroupText.js +3 -3
  144. package/dist/Item/Item.js +17 -17
  145. package/dist/Kbd/Kbd.js +5 -5
  146. package/dist/Layer/LayerProvider.js +7 -7
  147. package/dist/Layer/useLayer.js +5 -5
  148. package/dist/Layout/Layout.js +21 -21
  149. package/dist/Layout/LayoutContent.js +3 -3
  150. package/dist/Layout/LayoutFooter.js +5 -5
  151. package/dist/Layout/LayoutHeader.js +5 -5
  152. package/dist/Layout/LayoutPanel.js +3 -3
  153. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  154. package/dist/Lightbox/Lightbox.js +35 -33
  155. package/dist/Lightbox/useLightbox.d.ts +0 -1
  156. package/dist/Lightbox/useLightbox.d.ts.map +1 -1
  157. package/dist/Lightbox/useLightbox.js +3 -4
  158. package/dist/Link/Link.d.ts +5 -3
  159. package/dist/Link/Link.d.ts.map +1 -1
  160. package/dist/Link/Link.js +47 -18
  161. package/dist/Link/LinkProvider.js +3 -3
  162. package/dist/Link/useLinkify.js +3 -3
  163. package/dist/List/List.js +11 -11
  164. package/dist/List/ListItem.js +11 -11
  165. package/dist/Markdown/Markdown.d.ts.map +1 -1
  166. package/dist/Markdown/Markdown.js +111 -109
  167. package/dist/MetadataList/MetadataList.js +10 -10
  168. package/dist/MetadataList/MetadataListItem.js +15 -15
  169. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  170. package/dist/MobileNav/MobileNav.js +19 -17
  171. package/dist/MobileNav/MobileNavToggle.d.ts +1 -1
  172. package/dist/MobileNav/MobileNavToggle.d.ts.map +1 -1
  173. package/dist/MobileNav/MobileNavToggle.js +9 -6
  174. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  175. package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
  176. package/dist/MoreMenu/MoreMenu.js +7 -4
  177. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  178. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  179. package/dist/MultiSelector/MultiSelector.js +69 -62
  180. package/dist/NavIcon/NavIcon.js +3 -3
  181. package/dist/NavMenu/NavHeadingMenu.js +5 -5
  182. package/dist/NavMenu/NavHeadingMenuItem.js +8 -8
  183. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  184. package/dist/NumberInput/NumberInput.js +21 -17
  185. package/dist/Outline/Outline.d.ts +1 -1
  186. package/dist/Outline/Outline.d.ts.map +1 -1
  187. package/dist/Outline/Outline.js +19 -16
  188. package/dist/OverflowList/OverflowList.js +8 -8
  189. package/dist/Overlay/Overlay.js +3 -3
  190. package/dist/Overlay/OverlayScrim.js +5 -5
  191. package/dist/Overlay/useOverlay.d.ts +0 -3
  192. package/dist/Overlay/useOverlay.d.ts.map +1 -1
  193. package/dist/Overlay/useOverlay.js +3 -6
  194. package/dist/Pagination/Pagination.d.ts +1 -1
  195. package/dist/Pagination/Pagination.d.ts.map +1 -1
  196. package/dist/Pagination/Pagination.js +73 -46
  197. package/dist/Popover/Popover.js +16 -16
  198. package/dist/Popover/usePopover.d.ts.map +1 -1
  199. package/dist/Popover/usePopover.js +11 -8
  200. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  201. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  202. package/dist/PowerSearch/PowerSearch.js +95 -85
  203. package/dist/PowerSearch/PowerSearchEditPopover.d.ts +1 -1
  204. package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
  205. package/dist/PowerSearch/PowerSearchEditPopover.js +109 -103
  206. package/dist/PowerSearch/PowerSearchFilterEditor.js +3 -3
  207. package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
  208. package/dist/PowerSearch/PowerSearchToken.js +12 -8
  209. package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
  210. package/dist/PowerSearch/PowerSearchValueEditor.js +88 -75
  211. package/dist/PowerSearch/formatFilterValue.d.ts +2 -1
  212. package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
  213. package/dist/PowerSearch/formatFilterValue.js +19 -9
  214. package/dist/PowerSearch/index.d.ts +2 -1
  215. package/dist/PowerSearch/index.d.ts.map +1 -1
  216. package/dist/PowerSearch/index.js +1 -0
  217. package/dist/PowerSearch/resolveOperatorLabel.d.ts +23 -0
  218. package/dist/PowerSearch/resolveOperatorLabel.d.ts.map +1 -0
  219. package/dist/PowerSearch/resolveOperatorLabel.js +28 -0
  220. package/dist/PowerSearch/types.d.ts +28 -2
  221. package/dist/PowerSearch/types.d.ts.map +1 -1
  222. package/dist/PowerSearch/usePowerSearchConfig.d.ts.map +1 -1
  223. package/dist/PowerSearch/usePowerSearchConfig.js +27 -27
  224. package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
  225. package/dist/PowerSearch/usePowerSearchSource.js +15 -8
  226. package/dist/ProgressBar/ProgressBar.js +13 -13
  227. package/dist/RadioList/RadioList.js +7 -7
  228. package/dist/RadioList/RadioListItem.js +18 -18
  229. package/dist/Resizable/ResizeHandle.d.ts +1 -1
  230. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  231. package/dist/Resizable/ResizeHandle.js +10 -7
  232. package/dist/Section/Section.js +5 -5
  233. package/dist/SegmentedControl/SegmentedControl.js +5 -5
  234. package/dist/SegmentedControl/SegmentedControlItem.js +7 -7
  235. package/dist/SelectableCard/SelectableCard.js +5 -5
  236. package/dist/Selector/Selector.d.ts.map +1 -1
  237. package/dist/Selector/Selector.js +57 -51
  238. package/dist/Selector/SelectorOption.js +3 -3
  239. package/dist/SideNav/SideNav.d.ts.map +1 -1
  240. package/dist/SideNav/SideNav.js +38 -36
  241. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  242. package/dist/SideNav/SideNavCollapseButton.js +8 -6
  243. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  244. package/dist/SideNav/SideNavHeading.js +92 -90
  245. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  246. package/dist/SideNav/SideNavItem.js +49 -43
  247. package/dist/SideNav/SideNavSection.js +14 -14
  248. package/dist/Skeleton/Skeleton.js +3 -3
  249. package/dist/Slider/Slider.js +23 -23
  250. package/dist/Spinner/Spinner.js +9 -9
  251. package/dist/StatusDot/StatusDot.js +5 -5
  252. package/dist/Switch/Switch.d.ts.map +1 -1
  253. package/dist/Switch/Switch.js +29 -27
  254. package/dist/TabList/Tab.js +18 -18
  255. package/dist/TabList/TabList.d.ts +1 -1
  256. package/dist/TabList/TabList.d.ts.map +1 -1
  257. package/dist/TabList/TabList.js +9 -6
  258. package/dist/TabList/TabMenu.js +23 -23
  259. package/dist/Table/BaseTable.d.ts.map +1 -1
  260. package/dist/Table/BaseTable.js +39 -37
  261. package/dist/Table/Table.d.ts.map +1 -1
  262. package/dist/Table/Table.js +10 -8
  263. package/dist/Table/TableBody.js +3 -3
  264. package/dist/Table/TableCell.js +3 -3
  265. package/dist/Table/TableFooter.js +3 -3
  266. package/dist/Table/TableHeader.js +3 -3
  267. package/dist/Table/TableHeaderCell.js +3 -3
  268. package/dist/Table/TableRow.js +5 -5
  269. package/dist/Table/index.d.ts +4 -0
  270. package/dist/Table/index.d.ts.map +1 -1
  271. package/dist/Table/index.js +2 -0
  272. package/dist/Table/plugins/columnResize/useTableColumnResize.js +9 -9
  273. package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  274. package/dist/Table/plugins/filtering/useTableFiltering.js +127 -90
  275. package/dist/Table/plugins/groupedRows/index.d.ts +3 -0
  276. package/dist/Table/plugins/groupedRows/index.d.ts.map +1 -0
  277. package/dist/Table/plugins/groupedRows/index.js +3 -0
  278. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +78 -0
  279. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -0
  280. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +257 -0
  281. package/dist/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
  282. package/dist/Table/plugins/pagination/useTablePagination.js +12 -9
  283. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +1 -1
  284. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  285. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +30 -28
  286. package/dist/Table/plugins/rowIndex/index.d.ts +3 -0
  287. package/dist/Table/plugins/rowIndex/index.d.ts.map +1 -0
  288. package/dist/Table/plugins/rowIndex/index.js +3 -0
  289. package/dist/Table/plugins/rowIndex/useTableRowIndex.d.ts +50 -0
  290. package/dist/Table/plugins/rowIndex/useTableRowIndex.d.ts.map +1 -0
  291. package/dist/Table/plugins/rowIndex/useTableRowIndex.js +91 -0
  292. package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  293. package/dist/Table/plugins/selection/useTableSelection.js +23 -20
  294. package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
  295. package/dist/Table/plugins/sortable/useTableSortable.js +23 -21
  296. package/dist/Table/tableContextMenu.js +9 -9
  297. package/dist/Text/Text.js +10 -10
  298. package/dist/TextArea/TextArea.js +14 -14
  299. package/dist/TextInput/TextInput.d.ts.map +1 -1
  300. package/dist/TextInput/TextInput.js +20 -16
  301. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  302. package/dist/Thumbnail/Thumbnail.js +37 -31
  303. package/dist/TimeInput/TimeInput.d.ts +1 -1
  304. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  305. package/dist/TimeInput/TimeInput.js +28 -23
  306. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  307. package/dist/Timestamp/Timestamp.js +29 -14
  308. package/dist/Toast/Toast.d.ts.map +1 -1
  309. package/dist/Toast/Toast.js +17 -15
  310. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  311. package/dist/Toast/ToastViewport.js +14 -12
  312. package/dist/Toast/useToast.js +4 -4
  313. package/dist/ToggleButton/ToggleButton.js +12 -12
  314. package/dist/ToggleButton/ToggleButtonGroup.js +5 -5
  315. package/dist/Token/Token.d.ts.map +1 -1
  316. package/dist/Token/Token.js +29 -23
  317. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  318. package/dist/Tokenizer/Tokenizer.js +33 -31
  319. package/dist/Toolbar/Toolbar.js +18 -18
  320. package/dist/Tooltip/Tooltip.js +11 -11
  321. package/dist/Tooltip/useTooltip.js +3 -3
  322. package/dist/TopNav/TopNav.d.ts +2 -1
  323. package/dist/TopNav/TopNav.d.ts.map +1 -1
  324. package/dist/TopNav/TopNav.js +36 -33
  325. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  326. package/dist/TopNav/TopNavHeading.js +72 -70
  327. package/dist/TopNav/TopNavItem.js +5 -5
  328. package/dist/TopNav/TopNavMegaMenu.js +30 -30
  329. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +10 -10
  330. package/dist/TopNav/TopNavMegaMenuItem.js +16 -16
  331. package/dist/TopNav/TopNavMenu.js +32 -32
  332. package/dist/TreeList/TreeList.d.ts.map +1 -1
  333. package/dist/TreeList/TreeList.js +13 -9
  334. package/dist/TreeList/TreeListBranches.js +11 -11
  335. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  336. package/dist/TreeList/TreeListItem.js +37 -31
  337. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  338. package/dist/Typeahead/BaseTypeahead.js +26 -22
  339. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  340. package/dist/Typeahead/Typeahead.js +15 -13
  341. package/dist/Typeahead/TypeaheadItem.js +10 -10
  342. package/dist/VStack/VStack.js +3 -3
  343. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -3
  344. package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  345. package/dist/VisuallyHidden/VisuallyHidden.js +1 -3
  346. package/dist/astryx.css +20 -2
  347. package/dist/astryx.umd.js +66 -64
  348. package/dist/astryx.umd.js.map +4 -4
  349. package/dist/authoring/doc.d.ts +145 -0
  350. package/dist/authoring/doc.d.ts.map +1 -0
  351. package/dist/authoring/doc.js +100 -0
  352. package/dist/authoring/index.d.ts +29 -0
  353. package/dist/authoring/index.d.ts.map +1 -0
  354. package/dist/authoring/index.js +28 -0
  355. package/dist/authoring/integration.d.ts +35 -0
  356. package/dist/authoring/integration.d.ts.map +1 -0
  357. package/dist/authoring/integration.js +30 -0
  358. package/dist/authoring/template.d.ts +66 -0
  359. package/dist/authoring/template.d.ts.map +1 -0
  360. package/dist/authoring/template.js +55 -0
  361. package/dist/config.d.ts +80 -0
  362. package/dist/config.d.ts.map +1 -0
  363. package/dist/config.js +40 -0
  364. package/dist/hooks/useKeyboardHint.js +9 -9
  365. package/dist/i18n/InternationalizationContext.d.ts +12 -0
  366. package/dist/i18n/InternationalizationContext.d.ts.map +1 -0
  367. package/dist/i18n/InternationalizationContext.js +29 -0
  368. package/dist/i18n/InternationalizationProvider.d.ts +62 -0
  369. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -0
  370. package/dist/i18n/InternationalizationProvider.js +44 -0
  371. package/dist/i18n/index.d.ts +24 -0
  372. package/dist/i18n/index.d.ts.map +1 -0
  373. package/dist/i18n/index.js +21 -0
  374. package/dist/i18n/resolve.d.ts +22 -0
  375. package/dist/i18n/resolve.d.ts.map +1 -0
  376. package/dist/i18n/resolve.js +141 -0
  377. package/dist/i18n/translator.d.ts +25 -0
  378. package/dist/i18n/translator.d.ts.map +1 -0
  379. package/dist/i18n/translator.js +1 -0
  380. package/dist/i18n/types.d.ts +47 -0
  381. package/dist/i18n/types.d.ts.map +1 -0
  382. package/dist/i18n/types.js +1 -0
  383. package/dist/i18n/useTranslator.d.ts +15 -0
  384. package/dist/i18n/useTranslator.d.ts.map +1 -0
  385. package/dist/i18n/useTranslator.js +39 -0
  386. package/dist/index.d.ts +1 -0
  387. package/dist/index.d.ts.map +1 -1
  388. package/dist/index.js +3 -0
  389. package/dist/theme/MediaTheme.js +3 -3
  390. package/dist/theme/Theme.js +7 -7
  391. package/dist/theme/syntax/SyntaxTheme.js +5 -5
  392. package/locales/en.json +746 -0
  393. package/locales/pseudo.json +560 -0
  394. package/package.json +24 -3
  395. package/src/AlertDialog/AlertDialog.doc.mjs +5 -0
  396. package/src/AlertDialog/AlertDialog.tsx +4 -1
  397. package/src/AlertDialog/useImperativeAlertDialog.tsx +0 -2
  398. package/src/AppShell/AppShell.doc.mjs +8 -2
  399. package/src/AppShell/AppShell.tsx +3 -1
  400. package/src/AvatarGroup/AvatarGroup.tsx +4 -1
  401. package/src/Banner/Banner.tsx +10 -5
  402. package/src/Breadcrumbs/Breadcrumbs.tsx +4 -1
  403. package/src/Button/Button.tsx +34 -4
  404. package/src/ButtonGroup/ButtonGroup.test.tsx +386 -2
  405. package/src/ButtonGroup/ButtonGroup.tsx +27 -11
  406. package/src/Calendar/Calendar.tsx +8 -5
  407. package/src/Card/Card.doc.mjs +3 -3
  408. package/src/Carousel/Carousel.tsx +10 -7
  409. package/src/Chat/ChatComposer.tsx +5 -1
  410. package/src/Chat/ChatComposerDrawer.tsx +9 -2
  411. package/src/Chat/ChatComposerInput.tsx +10 -4
  412. package/src/Chat/ChatLayout.tsx +5 -12
  413. package/src/Chat/ChatLayoutScrollButton.tsx +4 -2
  414. package/src/Chat/ChatMessage.tsx +5 -1
  415. package/src/Chat/ChatMessageBubble.tsx +2 -0
  416. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  417. package/src/Chat/ChatMessageList.tsx +2 -0
  418. package/src/Chat/ChatMessageMetadata.tsx +15 -9
  419. package/src/Chat/ChatPastedTextToken.tsx +3 -1
  420. package/src/Chat/ChatSendButton.tsx +3 -1
  421. package/src/Chat/ChatToolCalls.doc.mjs +1 -1
  422. package/src/Chat/useSpeechRecognition.ts +11 -2
  423. package/src/Chat/useTriggerMenu.tsx +4 -2
  424. package/src/CheckboxInput/CheckboxInput.test.tsx +16 -0
  425. package/src/CheckboxInput/CheckboxInput.tsx +4 -2
  426. package/src/CheckboxList/CheckboxList.doc.mjs +6 -1
  427. package/src/CheckboxList/CheckboxList.tsx +2 -0
  428. package/src/CheckboxList/CheckboxListItem.tsx +7 -1
  429. package/src/Citation/Citation.tsx +4 -2
  430. package/src/ClickableCard/ClickableCard.doc.mjs +1 -1
  431. package/src/CodeBlock/CodeBlock.tsx +91 -40
  432. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  433. package/src/CommandPalette/CommandPalette.tsx +10 -3
  434. package/src/CommandPalette/CommandPaletteInput.test.tsx +1 -1
  435. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  436. package/src/CommandPalette/CommandPaletteList.tsx +4 -1
  437. package/src/ContextMenu/ContextMenu.tsx +4 -1
  438. package/src/DateInput/DateInput.doc.mjs +2 -2
  439. package/src/DateInput/DateInput.tsx +13 -5
  440. package/src/DateRangeInput/DateRangeInput.doc.mjs +7 -7
  441. package/src/DateRangeInput/DateRangeInput.tsx +14 -6
  442. package/src/DateTimeInput/DateTimeInput.doc.mjs +2 -2
  443. package/src/DateTimeInput/DateTimeInput.tsx +17 -7
  444. package/src/Dialog/DialogHeader.tsx +4 -2
  445. package/src/DropdownMenu/DropdownMenu.tsx +12 -8
  446. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  447. package/src/EmptyState/EmptyState.tsx +4 -1
  448. package/src/Field/Field.doc.mjs +2 -2
  449. package/src/FileInput/FileInput.tsx +3 -1
  450. package/src/Grid/Grid.doc.mjs +5 -5
  451. package/src/InputGroup/InputGroup.doc.mjs +1 -1
  452. package/src/Layer/useLayer.doc.mjs +2 -2
  453. package/src/Lightbox/Lightbox.doc.mjs +7 -2
  454. package/src/Lightbox/Lightbox.tsx +6 -4
  455. package/src/Lightbox/useLightbox.tsx +0 -1
  456. package/src/Link/Link.test.tsx +74 -2
  457. package/src/Link/Link.tsx +48 -3
  458. package/src/Markdown/Markdown.tsx +12 -4
  459. package/src/MobileNav/MobileNav.tsx +4 -2
  460. package/src/MobileNav/MobileNavToggle.tsx +5 -3
  461. package/src/MoreMenu/MoreMenu.tsx +4 -1
  462. package/src/MultiSelector/MultiSelector.tsx +14 -5
  463. package/src/NumberInput/NumberInput.tsx +3 -1
  464. package/src/Outline/Outline.tsx +4 -1
  465. package/src/OverflowList/OverflowList.doc.mjs +2 -2
  466. package/src/Overlay/useOverlay.tsx +0 -3
  467. package/src/Pagination/Pagination.tsx +35 -12
  468. package/src/Popover/usePopover.tsx +6 -1
  469. package/src/PowerSearch/PowerSearch.doc.mjs +9 -4
  470. package/src/PowerSearch/PowerSearch.tsx +22 -10
  471. package/src/PowerSearch/PowerSearchEditPopover.tsx +27 -20
  472. package/src/PowerSearch/PowerSearchToken.tsx +17 -6
  473. package/src/PowerSearch/PowerSearchValueEditor.tsx +34 -21
  474. package/src/PowerSearch/formatFilterValue.test.ts +282 -0
  475. package/src/PowerSearch/formatFilterValue.ts +21 -8
  476. package/src/PowerSearch/index.ts +5 -0
  477. package/src/PowerSearch/resolveOperatorLabel.ts +34 -0
  478. package/src/PowerSearch/types.ts +33 -9
  479. package/src/PowerSearch/usePowerSearchConfig.ts +59 -27
  480. package/src/PowerSearch/usePowerSearchSource.ts +17 -8
  481. package/src/RadioList/RadioList.doc.mjs +1 -1
  482. package/src/Resizable/ResizeHandle.tsx +4 -1
  483. package/src/Section/Section.doc.mjs +4 -4
  484. package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
  485. package/src/Selector/Selector.tsx +11 -6
  486. package/src/SideNav/SideNav.tsx +4 -2
  487. package/src/SideNav/SideNavCollapseButton.tsx +3 -1
  488. package/src/SideNav/SideNavHeading.tsx +5 -3
  489. package/src/SideNav/SideNavItem.tsx +3 -1
  490. package/src/Slider/Slider.doc.mjs +2 -2
  491. package/src/Stack/Stack.doc.mjs +10 -10
  492. package/src/Switch/Switch.doc.mjs +2 -2
  493. package/src/Switch/Switch.test.tsx +16 -0
  494. package/src/Switch/Switch.tsx +4 -2
  495. package/src/TabList/TabList.tsx +4 -1
  496. package/src/Table/BaseTable.tsx +8 -1
  497. package/src/Table/Table.doc.mjs +1 -1
  498. package/src/Table/Table.tsx +3 -1
  499. package/src/Table/index.ts +7 -0
  500. package/src/Table/plugins/filtering/useTableFiltering.tsx +31 -30
  501. package/src/Table/plugins/groupedRows/index.ts +7 -0
  502. package/src/Table/plugins/groupedRows/useTableGroupedRows.test.tsx +231 -0
  503. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +351 -0
  504. package/src/Table/plugins/pagination/useTablePagination.tsx +4 -1
  505. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +8 -4
  506. package/src/Table/plugins/rowIndex/index.ts +4 -0
  507. package/src/Table/plugins/rowIndex/useTableRowIndex.test.tsx +132 -0
  508. package/src/Table/plugins/rowIndex/useTableRowIndex.tsx +114 -0
  509. package/src/Table/plugins/selection/useTableSelection.tsx +6 -7
  510. package/src/Table/plugins/sortable/useTableSortable.tsx +8 -5
  511. package/src/Table/useTableFiltering.doc.mjs +2 -2
  512. package/src/Table/useTableGroupedRows.doc.mjs +71 -0
  513. package/src/Table/useTableRowIndex.doc.mjs +50 -0
  514. package/src/Table/useTableSortable.doc.mjs +11 -11
  515. package/src/Text/Text.doc.mjs +2 -2
  516. package/src/TextInput/TextInput.tsx +3 -1
  517. package/src/Thumbnail/Thumbnail.tsx +4 -2
  518. package/src/TimeInput/TimeInput.doc.mjs +2 -2
  519. package/src/TimeInput/TimeInput.tsx +6 -2
  520. package/src/Timestamp/Timestamp.doc.mjs +4 -4
  521. package/src/Timestamp/Timestamp.test.tsx +120 -7
  522. package/src/Timestamp/Timestamp.tsx +21 -1
  523. package/src/Toast/Toast.tsx +3 -1
  524. package/src/Toast/ToastViewport.tsx +3 -1
  525. package/src/Token/Token.tsx +4 -2
  526. package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
  527. package/src/Tokenizer/Tokenizer.tsx +4 -4
  528. package/src/Toolbar/Toolbar.doc.mjs +1 -1
  529. package/src/TopNav/TopNav.doc.mjs +1 -0
  530. package/src/TopNav/TopNav.test.tsx +30 -0
  531. package/src/TopNav/TopNav.tsx +6 -4
  532. package/src/TopNav/TopNavHeading.tsx +5 -3
  533. package/src/TreeList/TreeList.tsx +5 -1
  534. package/src/TreeList/TreeListItem.tsx +6 -1
  535. package/src/Typeahead/BaseTypeahead.tsx +11 -4
  536. package/src/Typeahead/Typeahead.doc.mjs +1 -1
  537. package/src/Typeahead/Typeahead.tsx +3 -1
  538. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -3
  539. package/src/authoring/doc.ts +166 -0
  540. package/src/authoring/index.test.ts +52 -0
  541. package/src/authoring/index.ts +50 -0
  542. package/src/authoring/integration.ts +42 -0
  543. package/src/authoring/template.ts +74 -0
  544. package/src/config.test.ts +16 -0
  545. package/src/config.ts +92 -0
  546. package/src/docPropLiterals.test.ts +902 -0
  547. package/src/hooks/useHotkeys.doc.mjs +5 -5
  548. package/src/i18n/InternationalizationContext.ts +39 -0
  549. package/src/i18n/InternationalizationProvider.doc.mjs +72 -0
  550. package/src/i18n/InternationalizationProvider.tsx +83 -0
  551. package/src/i18n/__tests__/e2e-pagination.test.tsx +172 -0
  552. package/src/i18n/__tests__/e2e-powersearch.test.tsx +130 -0
  553. package/src/i18n/__tests__/resolve.test.ts +284 -0
  554. package/src/i18n/index.ts +32 -0
  555. package/src/i18n/resolve.ts +165 -0
  556. package/src/i18n/translator.ts +31 -0
  557. package/src/i18n/types.ts +53 -0
  558. package/src/i18n/useTranslator.doc.mjs +46 -0
  559. package/src/i18n/useTranslator.ts +50 -0
  560. package/src/index.ts +3 -0
  561. package/dist/NavItem/index.d.ts +0 -9
  562. package/dist/NavItem/index.d.ts.map +0 -1
  563. package/dist/NavItem/index.js +0 -10
  564. package/src/NavItem/index.ts +0 -11
@@ -27,6 +27,7 @@ import { Selector } from "../../../Selector/index.js";
27
27
  import { MultiSelector } from "../../../MultiSelector/index.js";
28
28
  import { Tokenizer } from "../../../Tokenizer/index.js";
29
29
  import { proportional } from "../../columnUtils.js";
30
+ import { useTranslator } from "../../../i18n/index.js";
30
31
 
31
32
  // =============================================================================
32
33
  // Filter Value Types
@@ -48,7 +49,7 @@ import { proportional } from "../../columnUtils.js";
48
49
  *
49
50
  * Both require `searchConfig` on the plugin config.
50
51
  */
51
- import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
52
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
52
53
  // =============================================================================
53
54
  // PowerSearch → Table Filter Resolution
54
55
  // =============================================================================
@@ -288,21 +289,26 @@ function TextFilterControl({
288
289
  size,
289
290
  hasClear
290
291
  }) {
292
+ const t = useTranslator();
291
293
  const store = useFilterStore();
292
294
  const config = store.getConfig();
293
295
  const value = config.filters[columnKey];
294
296
  const strValue = typeof value === 'string' ? value : '';
295
- return /*#__PURE__*/_jsxDEV(TextInput, {
296
- label: `Filter ${header}`,
297
+ return /*#__PURE__*/_jsx(TextInput, {
298
+ label: t('@astryx.tableFiltering.filterByColumn', {
299
+ header
300
+ }),
297
301
  isLabelHidden: true,
298
302
  value: strValue,
299
303
  onChange: newValue => {
300
304
  store.getConfig().onFilterChange(columnKey, newValue === '' ? null : newValue);
301
305
  },
302
- placeholder: `Filter ${header}`,
306
+ placeholder: t('@astryx.tableFiltering.filterByColumn', {
307
+ header
308
+ }),
303
309
  size: size,
304
310
  hasClear: hasClear
305
- }, void 0, false);
311
+ });
306
312
  }
307
313
  function NumberFilterControl({
308
314
  columnKey,
@@ -311,6 +317,7 @@ function NumberFilterControl({
311
317
  size,
312
318
  hasClear
313
319
  }) {
320
+ const t = useTranslator();
314
321
  const store = useFilterStore();
315
322
  const config = store.getConfig();
316
323
  const value = config.filters[columnKey];
@@ -320,30 +327,38 @@ function NumberFilterControl({
320
327
  store.getConfig().onFilterChange(columnKey, newValue);
321
328
  }, [store, columnKey]);
322
329
  if (hasClear) {
323
- return /*#__PURE__*/_jsxDEV(NumberInput, {
324
- label: `Filter ${header}`,
330
+ return /*#__PURE__*/_jsx(NumberInput, {
331
+ label: t('@astryx.tableFiltering.filterByColumn', {
332
+ header
333
+ }),
325
334
  isLabelHidden: true,
326
335
  value: numValue,
327
336
  onChange: handleChange,
328
- placeholder: `Filter ${header}`,
337
+ placeholder: t('@astryx.tableFiltering.filterByColumn', {
338
+ header
339
+ }),
329
340
  min: operatorValue.minValue ?? null,
330
341
  max: operatorValue.maxValue ?? null,
331
342
  step: step,
332
343
  size: size,
333
344
  hasClear: true
334
- }, void 0, false);
345
+ });
335
346
  }
336
- return /*#__PURE__*/_jsxDEV(NumberInput, {
337
- label: `Filter ${header}`,
347
+ return /*#__PURE__*/_jsx(NumberInput, {
348
+ label: t('@astryx.tableFiltering.filterByColumn', {
349
+ header
350
+ }),
338
351
  isLabelHidden: true,
339
352
  value: numValue,
340
353
  onChange: handleChange,
341
- placeholder: `Filter ${header}`,
354
+ placeholder: t('@astryx.tableFiltering.filterByColumn', {
355
+ header
356
+ }),
342
357
  min: operatorValue.minValue ?? null,
343
358
  max: operatorValue.maxValue ?? null,
344
359
  step: step,
345
360
  size: size
346
- }, void 0, false);
361
+ });
347
362
  }
348
363
  function SelectorFilterControl({
349
364
  columnKey,
@@ -352,6 +367,7 @@ function SelectorFilterControl({
352
367
  size,
353
368
  hasClear
354
369
  }) {
370
+ const t = useTranslator();
355
371
  const store = useFilterStore();
356
372
  const config = store.getConfig();
357
373
  const value = config.filters[columnKey];
@@ -364,26 +380,30 @@ function SelectorFilterControl({
364
380
  store.getConfig().onFilterChange(columnKey, newValue === '' || newValue == null ? null : newValue);
365
381
  }, [store, columnKey]);
366
382
  if (hasClear) {
367
- return /*#__PURE__*/_jsxDEV(Selector, {
368
- label: `Filter ${header}`,
383
+ return /*#__PURE__*/_jsx(Selector, {
384
+ label: t('@astryx.tableFiltering.filterByColumn', {
385
+ header
386
+ }),
369
387
  isLabelHidden: true,
370
388
  options: options,
371
389
  value: strValue || null,
372
390
  onChange: handleChange,
373
- placeholder: "All",
391
+ placeholder: t('@astryx.table.filter.allPlaceholder'),
374
392
  size: size,
375
393
  hasClear: true
376
- }, void 0, false);
394
+ });
377
395
  }
378
- return /*#__PURE__*/_jsxDEV(Selector, {
379
- label: `Filter ${header}`,
396
+ return /*#__PURE__*/_jsx(Selector, {
397
+ label: t('@astryx.tableFiltering.filterByColumn', {
398
+ header
399
+ }),
380
400
  isLabelHidden: true,
381
401
  options: options,
382
402
  value: strValue,
383
403
  onChange: handleChange,
384
- placeholder: "All",
404
+ placeholder: t('@astryx.table.filter.allPlaceholder'),
385
405
  size: size
386
- }, void 0, false);
406
+ });
387
407
  }
388
408
  function MultiSelectorFilterControl({
389
409
  columnKey,
@@ -392,6 +412,7 @@ function MultiSelectorFilterControl({
392
412
  size,
393
413
  hasClear
394
414
  }) {
415
+ const t = useTranslator();
395
416
  const store = useFilterStore();
396
417
  const config = store.getConfig();
397
418
  const value = config.filters[columnKey];
@@ -400,20 +421,22 @@ function MultiSelectorFilterControl({
400
421
  value: v.value,
401
422
  label: v.label
402
423
  }));
403
- return /*#__PURE__*/_jsxDEV(MultiSelector, {
404
- label: `Filter ${header}`,
424
+ return /*#__PURE__*/_jsx(MultiSelector, {
425
+ label: t('@astryx.tableFiltering.filterByColumn', {
426
+ header
427
+ }),
405
428
  isLabelHidden: true,
406
429
  options: options,
407
430
  value: arrValue,
408
431
  onChange: newValue => {
409
432
  store.getConfig().onFilterChange(columnKey, newValue.length === 0 ? null : newValue);
410
433
  },
411
- placeholder: "All",
434
+ placeholder: t('@astryx.table.filter.allPlaceholder'),
412
435
  size: size,
413
436
  hasSelectAll: true,
414
437
  hasSearch: false,
415
438
  hasClear: hasClear
416
- }, void 0, false);
439
+ });
417
440
  }
418
441
  function DateFilterControl({
419
442
  columnKey,
@@ -421,10 +444,13 @@ function DateFilterControl({
421
444
  size,
422
445
  hasClear
423
446
  }) {
447
+ const t = useTranslator();
424
448
  const store = useFilterStore();
425
449
  const value = store.getConfig().filters[columnKey];
426
- return /*#__PURE__*/_jsxDEV(DateInput, {
427
- label: `Filter ${header}`,
450
+ return /*#__PURE__*/_jsx(DateInput, {
451
+ label: t('@astryx.tableFiltering.filterByColumn', {
452
+ header
453
+ }),
428
454
  isLabelHidden: true,
429
455
  value: value ?? undefined,
430
456
  onChange: newValue => {
@@ -432,7 +458,7 @@ function DateFilterControl({
432
458
  },
433
459
  size: size,
434
460
  hasClear: hasClear
435
- }, void 0, false);
461
+ });
436
462
  }
437
463
  function TimeFilterControl({
438
464
  columnKey,
@@ -440,10 +466,13 @@ function TimeFilterControl({
440
466
  size,
441
467
  hasClear
442
468
  }) {
469
+ const t = useTranslator();
443
470
  const store = useFilterStore();
444
471
  const value = store.getConfig().filters[columnKey];
445
- return /*#__PURE__*/_jsxDEV(TimeInput, {
446
- label: `Filter ${header}`,
472
+ return /*#__PURE__*/_jsx(TimeInput, {
473
+ label: t('@astryx.tableFiltering.filterByColumn', {
474
+ header
475
+ }),
447
476
  isLabelHidden: true,
448
477
  value: value ?? undefined,
449
478
  onChange: newValue => {
@@ -451,7 +480,7 @@ function TimeFilterControl({
451
480
  },
452
481
  size: size,
453
482
  hasClear: hasClear
454
- }, void 0, false);
483
+ });
455
484
  }
456
485
  function StringListFilterControl({
457
486
  columnKey,
@@ -460,6 +489,7 @@ function StringListFilterControl({
460
489
  size,
461
490
  hasClear
462
491
  }) {
492
+ const t = useTranslator();
463
493
  const store = useFilterStore();
464
494
  const value = store.getConfig().filters[columnKey] ?? [];
465
495
 
@@ -473,8 +503,10 @@ function StringListFilterControl({
473
503
  bootstrap: () => []
474
504
  }), []);
475
505
  const searchSource = operatorValue.searchSource ?? fallbackSource;
476
- return /*#__PURE__*/_jsxDEV(Tokenizer, {
477
- label: `Filter ${header}`,
506
+ return /*#__PURE__*/_jsx(Tokenizer, {
507
+ label: t('@astryx.tableFiltering.filterByColumn', {
508
+ header
509
+ }),
478
510
  isLabelHidden: true,
479
511
  searchSource: searchSource,
480
512
  value: value.map(v => ({
@@ -487,7 +519,7 @@ function StringListFilterControl({
487
519
  },
488
520
  size: size,
489
521
  hasClear: hasClear
490
- }, void 0, false);
522
+ });
491
523
  }
492
524
 
493
525
  /** Renders the appropriate filter control for a column's operator value type. */
@@ -500,60 +532,60 @@ function FilterControl({
500
532
  }) {
501
533
  switch (operatorValue.type) {
502
534
  case 'string':
503
- return /*#__PURE__*/_jsxDEV(TextFilterControl, {
535
+ return /*#__PURE__*/_jsx(TextFilterControl, {
504
536
  columnKey: columnKey,
505
537
  header: header,
506
538
  size: size,
507
539
  hasClear: hasClear
508
- }, void 0, false);
540
+ });
509
541
  case 'integer':
510
542
  case 'float':
511
- return /*#__PURE__*/_jsxDEV(NumberFilterControl, {
543
+ return /*#__PURE__*/_jsx(NumberFilterControl, {
512
544
  columnKey: columnKey,
513
545
  header: header,
514
546
  operatorValue: operatorValue,
515
547
  size: size,
516
548
  hasClear: hasClear
517
- }, void 0, false);
549
+ });
518
550
  case 'enum':
519
- return /*#__PURE__*/_jsxDEV(SelectorFilterControl, {
551
+ return /*#__PURE__*/_jsx(SelectorFilterControl, {
520
552
  columnKey: columnKey,
521
553
  header: header,
522
554
  operatorValue: operatorValue,
523
555
  size: size,
524
556
  hasClear: hasClear
525
- }, void 0, false);
557
+ });
526
558
  case 'enum_list':
527
- return /*#__PURE__*/_jsxDEV(MultiSelectorFilterControl, {
559
+ return /*#__PURE__*/_jsx(MultiSelectorFilterControl, {
528
560
  columnKey: columnKey,
529
561
  header: header,
530
562
  operatorValue: operatorValue,
531
563
  size: size,
532
564
  hasClear: hasClear
533
- }, void 0, false);
565
+ });
534
566
  case 'date_absolute':
535
- return /*#__PURE__*/_jsxDEV(DateFilterControl, {
567
+ return /*#__PURE__*/_jsx(DateFilterControl, {
536
568
  columnKey: columnKey,
537
569
  header: header,
538
570
  size: size,
539
571
  hasClear: hasClear
540
- }, void 0, false);
572
+ });
541
573
  case 'time':
542
- return /*#__PURE__*/_jsxDEV(TimeFilterControl, {
574
+ return /*#__PURE__*/_jsx(TimeFilterControl, {
543
575
  columnKey: columnKey,
544
576
  header: header,
545
577
  size: size,
546
578
  hasClear: hasClear
547
- }, void 0, false);
579
+ });
548
580
  case 'string_list':
549
581
  case 'entity_list':
550
- return /*#__PURE__*/_jsxDEV(StringListFilterControl, {
582
+ return /*#__PURE__*/_jsx(StringListFilterControl, {
551
583
  columnKey: columnKey,
552
584
  header: header,
553
585
  operatorValue: operatorValue,
554
586
  size: size,
555
587
  hasClear: hasClear
556
- }, void 0, false);
588
+ });
557
589
  case 'nested':
558
590
  case 'empty':
559
591
  case 'date_relative':
@@ -572,6 +604,7 @@ function PopoverFilterTrigger({
572
604
  header,
573
605
  operatorValue
574
606
  }) {
607
+ const t = useTranslator();
575
608
  const store = useFilterStore();
576
609
  const config = store.getConfig();
577
610
  const value = config.filters[columnKey];
@@ -613,48 +646,52 @@ function PopoverFilterTrigger({
613
646
  };
614
647
  }
615
648
  }), [store, columnKey, draft, setDraft]);
616
- return /*#__PURE__*/_jsxDEV(Popover, {
649
+ return /*#__PURE__*/_jsx(Popover, {
617
650
  isOpen: isOpen,
618
651
  onOpenChange: handleOpen,
619
- label: `Filter ${header}`,
652
+ label: t('@astryx.tableFiltering.filterByColumn', {
653
+ header
654
+ }),
620
655
  placement: "below",
621
656
  alignment: "start",
622
- content: /*#__PURE__*/_jsxDEV(FilterStoreContext, {
657
+ content: /*#__PURE__*/_jsx(FilterStoreContext, {
623
658
  value: draftStore,
624
- children: /*#__PURE__*/_jsxDEV("div", {
659
+ children: /*#__PURE__*/_jsxs("div", {
625
660
  ...{
626
661
  className: "xafpxmx"
627
662
  },
628
- children: [/*#__PURE__*/_jsxDEV(FilterControl, {
663
+ children: [/*#__PURE__*/_jsx(FilterControl, {
629
664
  columnKey: columnKey,
630
665
  header: header,
631
666
  operatorValue: operatorValue,
632
667
  size: "md"
633
- }, void 0, false), /*#__PURE__*/_jsxDEV("div", {
668
+ }), /*#__PURE__*/_jsxs("div", {
634
669
  ...{
635
670
  className: "x78zum5 x1txdalj xtbrsbv"
636
671
  },
637
- children: [/*#__PURE__*/_jsxDEV(Button, {
638
- label: "Reset",
672
+ children: [/*#__PURE__*/_jsx(Button, {
673
+ label: t('@astryx.table.filter.reset'),
639
674
  variant: "ghost",
640
675
  size: "sm",
641
676
  onClick: handleClear
642
- }, void 0, false), /*#__PURE__*/_jsxDEV("div", {
677
+ }), /*#__PURE__*/_jsx("div", {
643
678
  ...{
644
679
  className: "x98rzlu"
645
680
  }
646
- }, void 0, false), /*#__PURE__*/_jsxDEV(Button, {
647
- label: "Apply",
681
+ }), /*#__PURE__*/_jsx(Button, {
682
+ label: t('@astryx.table.filter.apply'),
648
683
  variant: "primary",
649
684
  size: "sm",
650
685
  onClick: handleApply
651
- }, void 0, false)]
652
- }, void 0, true)]
653
- }, void 0, true)
654
- }, void 0, false),
655
- children: /*#__PURE__*/_jsxDEV("button", {
686
+ })]
687
+ })]
688
+ })
689
+ }),
690
+ children: /*#__PURE__*/_jsx("button", {
656
691
  type: "button",
657
- "aria-label": `Filter ${header}`,
692
+ "aria-label": t('@astryx.tableFiltering.filterByColumn', {
693
+ header
694
+ }),
658
695
  "aria-haspopup": "dialog",
659
696
  ...{
660
697
  0: {
@@ -664,13 +701,13 @@ function PopoverFilterTrigger({
664
701
  className: "x1ypdohk x3nfvp2 x6s0dn4 xl56j7k x1717udv xh6dtrn x2lah0s x1xrq5m x17aqpur x1hc1fzr"
665
702
  }
666
703
  }[!!hasValue << 0],
667
- children: /*#__PURE__*/_jsxDEV(Icon, {
704
+ children: /*#__PURE__*/_jsx(Icon, {
668
705
  icon: "funnel",
669
706
  size: "xsm",
670
707
  color: hasValue ? 'accent' : 'secondary'
671
- }, void 0, false)
672
- }, void 0, false)
673
- }, void 0, false);
708
+ })
709
+ })
710
+ });
674
711
  }
675
712
 
676
713
  // =============================================================================
@@ -703,16 +740,16 @@ function FilterSlot({
703
740
  header,
704
741
  operatorValue
705
742
  }) {
706
- return /*#__PURE__*/_jsxDEV("div", {
743
+ return /*#__PURE__*/_jsx("div", {
707
744
  ...{
708
745
  className: "x78zum5 x6s0dn4 x2lah0s"
709
746
  },
710
- children: /*#__PURE__*/_jsxDEV(PopoverFilterTrigger, {
747
+ children: /*#__PURE__*/_jsx(PopoverFilterTrigger, {
711
748
  columnKey: columnKey,
712
749
  header: header,
713
750
  operatorValue: operatorValue
714
- }, void 0, false)
715
- }, void 0, false);
751
+ })
752
+ });
716
753
  }
717
754
 
718
755
  /**
@@ -727,21 +764,21 @@ function InlineFilterSlot({
727
764
  const variant = use(FilterVariantContext);
728
765
  const size = 'sm';
729
766
  const placeholderStyle = variant === 'inline-compact' ? filterStyles.placeholderCompact : filterStyles.placeholder;
730
- return /*#__PURE__*/_jsxDEV("div", {
767
+ return /*#__PURE__*/_jsx("div", {
731
768
  ...{
732
769
  className: "x78zum5 xdt5ytf xzye2dw xcsaf9d xeuugli"
733
770
  },
734
- children: operatorValue != null ? /*#__PURE__*/_jsxDEV(FilterControl, {
771
+ children: operatorValue != null ? /*#__PURE__*/_jsx(FilterControl, {
735
772
  columnKey: columnKey,
736
773
  header: header,
737
774
  operatorValue: operatorValue,
738
775
  size: size,
739
776
  hasClear: true
740
- }, void 0, false) : /*#__PURE__*/_jsxDEV("div", {
777
+ }) : /*#__PURE__*/_jsx("div", {
741
778
  "aria-hidden": "true",
742
779
  ...stylex.props(placeholderStyle)
743
- }, void 0, false)
744
- }, void 0, false);
780
+ })
781
+ });
745
782
  }
746
783
 
747
784
  // =============================================================================
@@ -806,13 +843,13 @@ export function useTableFiltering(config) {
806
843
  return col;
807
844
  }) : undefined,
808
845
  transformTableContext(children) {
809
- return /*#__PURE__*/_jsxDEV(FilterStoreContext, {
846
+ return /*#__PURE__*/_jsx(FilterStoreContext, {
810
847
  value: store,
811
- children: /*#__PURE__*/_jsxDEV(FilterVariantContext, {
848
+ children: /*#__PURE__*/_jsx(FilterVariantContext, {
812
849
  value: variant,
813
850
  children: children
814
- }, void 0, false)
815
- }, void 0, false);
851
+ })
852
+ });
816
853
  },
817
854
  transformHeaderCell(props, column) {
818
855
  const rawFilter = column.filter;
@@ -827,13 +864,13 @@ export function useTableFiltering(config) {
827
864
  }
828
865
  return {
829
866
  ...props,
830
- after: /*#__PURE__*/_jsxDEV(_Fragment, {
831
- children: [props.after, /*#__PURE__*/_jsxDEV(FilterSlot, {
867
+ after: /*#__PURE__*/_jsxs(_Fragment, {
868
+ children: [props.after, /*#__PURE__*/_jsx(FilterSlot, {
832
869
  columnKey: column.key,
833
870
  header: header,
834
871
  operatorValue: operatorValue
835
- }, void 0, false)]
836
- }, void 0, true)
872
+ })]
873
+ })
837
874
  };
838
875
  }
839
876
 
@@ -842,13 +879,13 @@ export function useTableFiltering(config) {
842
879
  // header content rather than inline after it.
843
880
  return {
844
881
  ...props,
845
- below: /*#__PURE__*/_jsxDEV(_Fragment, {
846
- children: [props.below, /*#__PURE__*/_jsxDEV(InlineFilterSlot, {
882
+ below: /*#__PURE__*/_jsxs(_Fragment, {
883
+ children: [props.below, /*#__PURE__*/_jsx(InlineFilterSlot, {
847
884
  columnKey: column.key,
848
885
  header: header,
849
886
  operatorValue: operatorValue
850
- }, void 0, false)]
851
- }, void 0, true)
887
+ })]
888
+ })
852
889
  };
853
890
  }
854
891
  }), [store, variant]);
@@ -0,0 +1,3 @@
1
+ export { useTableGroupedRows } from './useTableGroupedRows';
2
+ export type { UseTableGroupedRowsConfig, UseTableGroupedRowsResult, } from './useTableGroupedRows';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/groupedRows/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EACV,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ export { useTableGroupedRows } from "./useTableGroupedRows.js";
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @file useTableGroupedRows.tsx
3
+ * @input React, StyleX, Icon, Table types + the flat data array
4
+ * @output Exports useTableGroupedRows hook + config/result types
5
+ * @position Grouped-rows plugin; consumed by Table via plugins prop
6
+ *
7
+ * SYNC: When modified, update these files to stay in sync:
8
+ * - /packages/core/src/Table/index.ts (exports)
9
+ */
10
+ import { type ReactNode } from 'react';
11
+ import type { TablePlugin } from '../../types';
12
+ /** Configuration for {@link useTableGroupedRows}. */
13
+ export interface UseTableGroupedRowsConfig<T extends Record<string, unknown>> {
14
+ /** The flat data to group. */
15
+ data: T[];
16
+ /** Derive the group key for a row. Rows with the same key share a section. */
17
+ groupBy: (item: T) => string;
18
+ /** Set of currently-collapsed group keys. */
19
+ collapsedGroups: Set<string>;
20
+ /** Called with a group key when its header is toggled. */
21
+ onToggleGroup: (groupKey: string) => void;
22
+ /**
23
+ * Custom renderer for a group header's content (right of the chevron).
24
+ * Defaults to `<groupKey> (<count>)`.
25
+ */
26
+ renderGroupHeader?: (groupKey: string, count: number, collapsed: boolean) => ReactNode;
27
+ /** Stable key for a real row. Falls back to a positional key when omitted. */
28
+ getRowKey?: (item: T) => string;
29
+ /** Explicit group ordering; groups not listed keep first-seen order after these. */
30
+ groupOrder?: string[];
31
+ }
32
+ export interface UseTableGroupedRowsResult<T extends Record<string, unknown>> {
33
+ /** Ready-to-use plugin for `<Table plugins>`. */
34
+ plugin: TablePlugin<T>;
35
+ /** Flattened rows: `[header, ...visibleRows, header, ...visibleRows]`. */
36
+ data: T[];
37
+ /**
38
+ * Row-key resolver (also keys synthetic headers as `__group_<key>`). Pass to
39
+ * `<Table idKey>` — named for parallelism with the Table prop:
40
+ * `<Table idKey={grouped.idKey} />`.
41
+ */
42
+ idKey: (item: T) => string;
43
+ }
44
+ /**
45
+ * Groups a flat data array into collapsible section rows. Each distinct
46
+ * `groupBy` value becomes a full-width section-header row with a chevron
47
+ * toggle, the group label, and a member count; collapsing hides that group's
48
+ * data rows while keeping the header visible.
49
+ *
50
+ * Mirrors {@link useTableRowExpansionState}: the consumer owns the
51
+ * `collapsedGroups` set and this hook returns `{data, plugin, idKey}` —
52
+ * pass all three to `<Table>`.
53
+ *
54
+ * @example
55
+ * ```
56
+ * const [collapsed, setCollapsed] = useState<Set<string>>(new Set());
57
+ * const grouped = useTableGroupedRows({
58
+ * data: rows,
59
+ * groupBy: r => r.team,
60
+ * collapsedGroups: collapsed,
61
+ * onToggleGroup: key =>
62
+ * setCollapsed(prev => {
63
+ * const next = new Set(prev);
64
+ * next.has(key) ? next.delete(key) : next.add(key);
65
+ * return next;
66
+ * }),
67
+ * getRowKey: r => r.id,
68
+ * });
69
+ * <Table
70
+ * data={grouped.data}
71
+ * columns={columns}
72
+ * idKey={grouped.idKey}
73
+ * plugins={{grouped: grouped.plugin}}
74
+ * />;
75
+ * ```
76
+ */
77
+ export declare function useTableGroupedRows<T extends Record<string, unknown>>(config: UseTableGroupedRowsConfig<T>): UseTableGroupedRowsResult<T>;
78
+ //# sourceMappingURL=useTableGroupedRows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableGroupedRows.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/groupedRows/useTableGroupedRows.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAAuB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAqD7C,qDAAqD;AACrD,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,8BAA8B;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,8EAA8E;IAC9E,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC7B,6CAA6C;IAC7C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,0DAA0D;IAC1D,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,KACf,SAAS,CAAC;IACf,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAChC,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,iDAAiD;IACjD,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,0EAA0E;IAC1E,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;;OAIG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CAC5B;AA6DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACnC,yBAAyB,CAAC,CAAC,CAAC,CA+I9B"}