@astryxdesign/core 0.1.6 → 0.1.7-canary.04cd8f7

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 (571) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +25 -14
  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 +4 -1
  6. package/dist/AppShell/AppShell.d.ts.map +1 -1
  7. package/dist/AppShell/AppShell.js +3 -1
  8. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  9. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  10. package/dist/AvatarGroup/AvatarGroup.js +4 -1
  11. package/dist/Banner/Banner.d.ts.map +1 -1
  12. package/dist/Banner/Banner.js +8 -6
  13. package/dist/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  14. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  15. package/dist/Breadcrumbs/Breadcrumbs.js +4 -1
  16. package/dist/Button/Button.d.ts +10 -2
  17. package/dist/Button/Button.d.ts.map +1 -1
  18. package/dist/Button/Button.js +49 -6
  19. package/dist/ButtonGroup/ButtonGroup.d.ts +20 -5
  20. package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  21. package/dist/ButtonGroup/ButtonGroup.js +27 -11
  22. package/dist/Calendar/Calendar.d.ts.map +1 -1
  23. package/dist/Calendar/Calendar.js +29 -7
  24. package/dist/Carousel/Carousel.d.ts +1 -1
  25. package/dist/Carousel/Carousel.d.ts.map +1 -1
  26. package/dist/Carousel/Carousel.js +8 -5
  27. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  28. package/dist/Chat/ChatComposer.js +4 -1
  29. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  30. package/dist/Chat/ChatComposerDrawer.d.ts.map +1 -1
  31. package/dist/Chat/ChatComposerDrawer.js +9 -2
  32. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  33. package/dist/Chat/ChatComposerInput.js +6 -2
  34. package/dist/Chat/ChatLayout.d.ts +1 -11
  35. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  36. package/dist/Chat/ChatLayout.js +6 -4
  37. package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
  38. package/dist/Chat/ChatLayoutScrollButton.js +4 -2
  39. package/dist/Chat/ChatMessage.d.ts +1 -1
  40. package/dist/Chat/ChatMessage.d.ts.map +1 -1
  41. package/dist/Chat/ChatMessage.js +8 -2
  42. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  43. package/dist/Chat/ChatMessageBubble.d.ts.map +1 -1
  44. package/dist/Chat/ChatMessageBubble.js +3 -1
  45. package/dist/Chat/ChatMessageList.d.ts +1 -1
  46. package/dist/Chat/ChatMessageList.d.ts.map +1 -1
  47. package/dist/Chat/ChatMessageList.js +3 -1
  48. package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
  49. package/dist/Chat/ChatMessageMetadata.js +13 -8
  50. package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
  51. package/dist/Chat/ChatPastedTextToken.js +3 -1
  52. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  53. package/dist/Chat/ChatSendButton.js +3 -1
  54. package/dist/Chat/index.d.ts +1 -1
  55. package/dist/Chat/index.d.ts.map +1 -1
  56. package/dist/Chat/useChatStreamScroll.d.ts +12 -1
  57. package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
  58. package/dist/Chat/useChatStreamScroll.js +43 -6
  59. package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
  60. package/dist/Chat/useSpeechRecognition.js +4 -2
  61. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  62. package/dist/Chat/useTriggerMenu.js +4 -2
  63. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  64. package/dist/CheckboxInput/CheckboxInput.js +4 -2
  65. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  66. package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
  67. package/dist/CheckboxList/CheckboxList.js +3 -1
  68. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  69. package/dist/CheckboxList/CheckboxListItem.js +3 -1
  70. package/dist/Citation/Citation.d.ts.map +1 -1
  71. package/dist/Citation/Citation.js +10 -2
  72. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  73. package/dist/CodeBlock/CodeBlock.js +71 -53
  74. package/dist/Collapsible/Collapsible.d.ts +11 -1
  75. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  76. package/dist/Collapsible/Collapsible.js +36 -4
  77. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  78. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  79. package/dist/CommandPalette/CommandPalette.js +8 -3
  80. package/dist/CommandPalette/CommandPaletteInput.d.ts +1 -1
  81. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  82. package/dist/CommandPalette/CommandPaletteInput.js +4 -1
  83. package/dist/CommandPalette/CommandPaletteList.d.ts +1 -1
  84. package/dist/CommandPalette/CommandPaletteList.d.ts.map +1 -1
  85. package/dist/CommandPalette/CommandPaletteList.js +4 -1
  86. package/dist/ContextMenu/ContextMenu.d.ts +1 -1
  87. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  88. package/dist/ContextMenu/ContextMenu.js +8 -4
  89. package/dist/ContextMenu/index.d.ts +3 -0
  90. package/dist/ContextMenu/index.d.ts.map +1 -1
  91. package/dist/ContextMenu/index.js +7 -1
  92. package/dist/DateInput/DateInput.d.ts +1 -1
  93. package/dist/DateInput/DateInput.d.ts.map +1 -1
  94. package/dist/DateInput/DateInput.js +10 -5
  95. package/dist/DateRangeInput/DateRangeInput.d.ts +1 -1
  96. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  97. package/dist/DateRangeInput/DateRangeInput.js +11 -6
  98. package/dist/DateTimeInput/DateTimeInput.d.ts +1 -1
  99. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  100. package/dist/DateTimeInput/DateTimeInput.js +15 -7
  101. package/dist/Dialog/Dialog.d.ts.map +1 -1
  102. package/dist/Dialog/Dialog.js +15 -12
  103. package/dist/Dialog/DialogHeader.d.ts +1 -1
  104. package/dist/Dialog/DialogHeader.d.ts.map +1 -1
  105. package/dist/Dialog/DialogHeader.js +7 -3
  106. package/dist/DropdownMenu/DropdownMenu.d.ts +1 -1
  107. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  108. package/dist/DropdownMenu/DropdownMenu.js +19 -9
  109. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +89 -0
  110. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -0
  111. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +170 -0
  112. package/dist/DropdownMenu/DropdownMenuContext.d.ts +17 -1
  113. package/dist/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
  114. package/dist/DropdownMenu/DropdownMenuContext.js +18 -0
  115. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +69 -0
  116. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -0
  117. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +70 -0
  118. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +69 -0
  119. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -0
  120. package/dist/DropdownMenu/DropdownMenuRadioItem.js +178 -0
  121. package/dist/DropdownMenu/index.d.ts +5 -1
  122. package/dist/DropdownMenu/index.d.ts.map +1 -1
  123. package/dist/DropdownMenu/index.js +10 -1
  124. package/dist/DropdownMenu/menuItemRoles.d.ts +13 -0
  125. package/dist/DropdownMenu/menuItemRoles.d.ts.map +1 -0
  126. package/dist/DropdownMenu/menuItemRoles.js +15 -0
  127. package/dist/EmptyState/EmptyState.d.ts +4 -1
  128. package/dist/EmptyState/EmptyState.d.ts.map +1 -1
  129. package/dist/FileInput/FileInput.d.ts.map +1 -1
  130. package/dist/FileInput/FileInput.js +11 -1
  131. package/dist/Icon/Icon.d.ts +17 -12
  132. package/dist/Icon/Icon.d.ts.map +1 -1
  133. package/dist/Icon/Icon.js +28 -20
  134. package/dist/Kbd/Kbd.js +1 -1
  135. package/dist/Layer/useLayer.d.ts +10 -0
  136. package/dist/Layer/useLayer.d.ts.map +1 -1
  137. package/dist/Layer/useLayer.js +23 -1
  138. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  139. package/dist/Lightbox/Lightbox.js +6 -4
  140. package/dist/Link/Link.d.ts +5 -1
  141. package/dist/Link/Link.d.ts.map +1 -1
  142. package/dist/Link/Link.js +32 -1
  143. package/dist/Markdown/Markdown.d.ts.map +1 -1
  144. package/dist/Markdown/Markdown.js +10 -8
  145. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  146. package/dist/MobileNav/MobileNav.js +4 -2
  147. package/dist/MobileNav/MobileNavToggle.d.ts +1 -1
  148. package/dist/MobileNav/MobileNavToggle.d.ts.map +1 -1
  149. package/dist/MobileNav/MobileNavToggle.js +4 -1
  150. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  151. package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
  152. package/dist/MoreMenu/MoreMenu.js +4 -1
  153. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  154. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  155. package/dist/MultiSelector/MultiSelector.js +13 -6
  156. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  157. package/dist/NumberInput/NumberInput.js +5 -1
  158. package/dist/Outline/Outline.d.ts +1 -1
  159. package/dist/Outline/Outline.d.ts.map +1 -1
  160. package/dist/Outline/Outline.js +4 -1
  161. package/dist/Pagination/Pagination.d.ts +1 -1
  162. package/dist/Pagination/Pagination.d.ts.map +1 -1
  163. package/dist/Pagination/Pagination.js +38 -11
  164. package/dist/Popover/usePopover.d.ts.map +1 -1
  165. package/dist/Popover/usePopover.js +4 -1
  166. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  167. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  168. package/dist/PowerSearch/PowerSearch.js +22 -12
  169. package/dist/PowerSearch/PowerSearchEditPopover.d.ts +1 -1
  170. package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
  171. package/dist/PowerSearch/PowerSearchEditPopover.js +26 -20
  172. package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
  173. package/dist/PowerSearch/PowerSearchToken.js +7 -3
  174. package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
  175. package/dist/PowerSearch/PowerSearchValueEditor.js +34 -21
  176. package/dist/PowerSearch/formatFilterValue.d.ts +2 -1
  177. package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
  178. package/dist/PowerSearch/formatFilterValue.js +19 -9
  179. package/dist/PowerSearch/index.d.ts +2 -1
  180. package/dist/PowerSearch/index.d.ts.map +1 -1
  181. package/dist/PowerSearch/index.js +1 -0
  182. package/dist/PowerSearch/resolveOperatorLabel.d.ts +23 -0
  183. package/dist/PowerSearch/resolveOperatorLabel.d.ts.map +1 -0
  184. package/dist/PowerSearch/resolveOperatorLabel.js +28 -0
  185. package/dist/PowerSearch/types.d.ts +28 -2
  186. package/dist/PowerSearch/types.d.ts.map +1 -1
  187. package/dist/PowerSearch/usePowerSearchConfig.d.ts.map +1 -1
  188. package/dist/PowerSearch/usePowerSearchConfig.js +27 -27
  189. package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
  190. package/dist/PowerSearch/usePowerSearchSource.js +15 -8
  191. package/dist/Resizable/ResizeHandle.d.ts +1 -1
  192. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  193. package/dist/Resizable/ResizeHandle.js +4 -1
  194. package/dist/Selector/Selector.d.ts.map +1 -1
  195. package/dist/Selector/Selector.js +52 -14
  196. package/dist/SideNav/SideNav.d.ts.map +1 -1
  197. package/dist/SideNav/SideNav.js +4 -2
  198. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  199. package/dist/SideNav/SideNavCollapseButton.js +3 -1
  200. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  201. package/dist/SideNav/SideNavHeading.js +5 -3
  202. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  203. package/dist/SideNav/SideNavItem.js +7 -1
  204. package/dist/Switch/Switch.d.ts.map +1 -1
  205. package/dist/Switch/Switch.js +4 -2
  206. package/dist/TabList/Tab.d.ts.map +1 -1
  207. package/dist/TabList/Tab.js +2 -2
  208. package/dist/TabList/TabList.d.ts +1 -1
  209. package/dist/TabList/TabList.d.ts.map +1 -1
  210. package/dist/TabList/TabList.js +6 -1
  211. package/dist/TabList/TabMenu.d.ts.map +1 -1
  212. package/dist/TabList/TabMenu.js +1 -1
  213. package/dist/Table/BaseTable.d.ts.map +1 -1
  214. package/dist/Table/BaseTable.js +29 -16
  215. package/dist/Table/Table.d.ts.map +1 -1
  216. package/dist/Table/Table.js +5 -3
  217. package/dist/Table/index.d.ts +2 -0
  218. package/dist/Table/index.d.ts.map +1 -1
  219. package/dist/Table/index.js +1 -0
  220. package/dist/Table/plugins/columnResize/useTableColumnResize.js +1 -1
  221. package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  222. package/dist/Table/plugins/filtering/useTableFiltering.js +56 -19
  223. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
  224. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
  225. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +12 -5
  226. package/dist/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
  227. package/dist/Table/plugins/pagination/useTablePagination.js +6 -3
  228. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  229. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +8 -6
  230. package/dist/Table/plugins/rowIndex/useTableRowIndex.d.ts +1 -1
  231. package/dist/Table/plugins/rowIndex/useTableRowIndex.js +1 -1
  232. package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  233. package/dist/Table/plugins/selection/useTableSelection.js +5 -2
  234. package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
  235. package/dist/Table/plugins/sortable/useTableSortable.js +6 -4
  236. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +2 -2
  237. package/dist/Table/plugins/tree/index.d.ts +5 -0
  238. package/dist/Table/plugins/tree/index.d.ts.map +1 -0
  239. package/dist/Table/plugins/tree/index.js +4 -0
  240. package/dist/Table/plugins/tree/useTableTreeData.d.ts +38 -0
  241. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -0
  242. package/dist/Table/plugins/tree/useTableTreeData.js +358 -0
  243. package/dist/Table/plugins/tree/useTableTreeState.d.ts +51 -0
  244. package/dist/Table/plugins/tree/useTableTreeState.d.ts.map +1 -0
  245. package/dist/Table/plugins/tree/useTableTreeState.js +175 -0
  246. package/dist/Table/types.d.ts +17 -10
  247. package/dist/Table/types.d.ts.map +1 -1
  248. package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
  249. package/dist/Table/useBaseTablePlugins.js +6 -3
  250. package/dist/TextInput/TextInput.d.ts.map +1 -1
  251. package/dist/TextInput/TextInput.js +5 -1
  252. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  253. package/dist/Thumbnail/Thumbnail.js +8 -2
  254. package/dist/TimeInput/TimeInput.d.ts +1 -1
  255. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  256. package/dist/TimeInput/TimeInput.js +7 -2
  257. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  258. package/dist/Timestamp/Timestamp.js +18 -3
  259. package/dist/Toast/Toast.d.ts.map +1 -1
  260. package/dist/Toast/Toast.js +3 -1
  261. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  262. package/dist/Toast/ToastViewport.js +3 -1
  263. package/dist/Token/Token.d.ts.map +1 -1
  264. package/dist/Token/Token.js +8 -2
  265. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  266. package/dist/Tokenizer/Tokenizer.js +3 -1
  267. package/dist/Toolbar/Toolbar.d.ts.map +1 -1
  268. package/dist/Toolbar/Toolbar.js +8 -1
  269. package/dist/TopNav/TopNav.d.ts +2 -1
  270. package/dist/TopNav/TopNav.d.ts.map +1 -1
  271. package/dist/TopNav/TopNav.js +4 -1
  272. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  273. package/dist/TopNav/TopNavHeading.js +5 -3
  274. package/dist/TreeList/TreeList.d.ts.map +1 -1
  275. package/dist/TreeList/TreeList.js +5 -1
  276. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  277. package/dist/TreeList/TreeListItem.js +7 -1
  278. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  279. package/dist/Typeahead/BaseTypeahead.js +8 -4
  280. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  281. package/dist/Typeahead/Typeahead.js +3 -1
  282. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -0
  283. package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  284. package/dist/VisuallyHidden/VisuallyHidden.js +1 -0
  285. package/dist/astryx.css +38 -4
  286. package/dist/astryx.umd.js +62 -60
  287. package/dist/astryx.umd.js.map +4 -4
  288. package/dist/authoring/doc.d.ts +145 -0
  289. package/dist/authoring/doc.d.ts.map +1 -0
  290. package/dist/authoring/doc.js +100 -0
  291. package/dist/authoring/index.d.ts +29 -0
  292. package/dist/authoring/index.d.ts.map +1 -0
  293. package/dist/authoring/index.js +28 -0
  294. package/dist/authoring/integration.d.ts +35 -0
  295. package/dist/authoring/integration.d.ts.map +1 -0
  296. package/dist/authoring/integration.js +30 -0
  297. package/dist/authoring/template.d.ts +66 -0
  298. package/dist/authoring/template.d.ts.map +1 -0
  299. package/dist/authoring/template.js +55 -0
  300. package/dist/config.d.ts +80 -0
  301. package/dist/config.d.ts.map +1 -0
  302. package/dist/config.js +40 -0
  303. package/dist/docs-types.d.ts +13 -4
  304. package/dist/docs-types.d.ts.map +1 -1
  305. package/dist/i18n/InternationalizationContext.d.ts +12 -0
  306. package/dist/i18n/InternationalizationContext.d.ts.map +1 -0
  307. package/dist/i18n/InternationalizationContext.js +29 -0
  308. package/dist/i18n/InternationalizationProvider.d.ts +61 -0
  309. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -0
  310. package/dist/i18n/InternationalizationProvider.js +44 -0
  311. package/dist/i18n/index.d.ts +24 -0
  312. package/dist/i18n/index.d.ts.map +1 -0
  313. package/dist/i18n/index.js +21 -0
  314. package/dist/i18n/resolve.d.ts +22 -0
  315. package/dist/i18n/resolve.d.ts.map +1 -0
  316. package/dist/i18n/resolve.js +141 -0
  317. package/dist/i18n/translator.d.ts +25 -0
  318. package/dist/i18n/translator.d.ts.map +1 -0
  319. package/dist/i18n/translator.js +1 -0
  320. package/dist/i18n/types.d.ts +47 -0
  321. package/dist/i18n/types.d.ts.map +1 -0
  322. package/dist/i18n/types.js +1 -0
  323. package/dist/i18n/useTranslator.d.ts +15 -0
  324. package/dist/i18n/useTranslator.d.ts.map +1 -0
  325. package/dist/i18n/useTranslator.js +39 -0
  326. package/dist/index.d.ts +1 -0
  327. package/dist/index.d.ts.map +1 -1
  328. package/dist/index.js +3 -0
  329. package/dist/theme/Theme.js +1 -1
  330. package/dist/theme/defineTheme.d.ts +1 -1
  331. package/dist/theme/defineTheme.js +1 -1
  332. package/dist/theme/hct.d.ts +0 -1
  333. package/dist/theme/hct.d.ts.map +1 -1
  334. package/dist/theme/hct.js +0 -3
  335. package/dist/utils/color.d.ts +13 -1
  336. package/dist/utils/color.d.ts.map +1 -1
  337. package/dist/utils/color.js +23 -1
  338. package/dist/utils/index.d.ts +1 -1
  339. package/dist/utils/index.d.ts.map +1 -1
  340. package/dist/utils/index.js +1 -1
  341. package/locales/en.json +754 -0
  342. package/locales/pseudo.json +566 -0
  343. package/package.json +23 -2
  344. package/src/AlertDialog/AlertDialog.doc.mjs +5 -0
  345. package/src/AlertDialog/AlertDialog.tsx +4 -1
  346. package/src/AppShell/AppShell.doc.mjs +8 -2
  347. package/src/AppShell/AppShell.tsx +3 -1
  348. package/src/AvatarGroup/AvatarGroup.tsx +4 -1
  349. package/src/Banner/Banner.tsx +10 -5
  350. package/src/Breadcrumbs/Breadcrumbs.tsx +4 -1
  351. package/src/Button/Button.doc.mjs +8 -0
  352. package/src/Button/Button.test.tsx +27 -0
  353. package/src/Button/Button.tsx +51 -5
  354. package/src/ButtonGroup/ButtonGroup.test.tsx +386 -2
  355. package/src/ButtonGroup/ButtonGroup.tsx +27 -11
  356. package/src/Calendar/Calendar.test.tsx +103 -2
  357. package/src/Calendar/Calendar.tsx +29 -6
  358. package/src/Card/Card.doc.mjs +3 -3
  359. package/src/Carousel/Carousel.tsx +10 -7
  360. package/src/Chat/ChatComposer.tsx +5 -1
  361. package/src/Chat/ChatComposerDrawer.tsx +9 -2
  362. package/src/Chat/ChatComposerInput.tsx +10 -4
  363. package/src/Chat/ChatLayout.test.tsx +127 -2
  364. package/src/Chat/ChatLayout.tsx +5 -12
  365. package/src/Chat/ChatLayoutScrollButton.tsx +4 -2
  366. package/src/Chat/ChatMessage.tsx +5 -1
  367. package/src/Chat/ChatMessageBubble.tsx +2 -0
  368. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  369. package/src/Chat/ChatMessageList.tsx +2 -0
  370. package/src/Chat/ChatMessageMetadata.tsx +15 -9
  371. package/src/Chat/ChatPastedTextToken.tsx +3 -1
  372. package/src/Chat/ChatSendButton.tsx +3 -1
  373. package/src/Chat/ChatToolCalls.doc.mjs +1 -1
  374. package/src/Chat/index.ts +1 -0
  375. package/src/Chat/useChatStreamScroll.test.tsx +168 -0
  376. package/src/Chat/useChatStreamScroll.ts +67 -11
  377. package/src/Chat/useSpeechRecognition.ts +11 -2
  378. package/src/Chat/useTriggerMenu.tsx +4 -2
  379. package/src/CheckboxInput/CheckboxInput.doc.mjs +1 -1
  380. package/src/CheckboxInput/CheckboxInput.test.tsx +16 -0
  381. package/src/CheckboxInput/CheckboxInput.tsx +4 -2
  382. package/src/CheckboxList/CheckboxList.doc.mjs +6 -1
  383. package/src/CheckboxList/CheckboxList.tsx +2 -0
  384. package/src/CheckboxList/CheckboxListItem.tsx +7 -1
  385. package/src/Citation/Citation.tsx +4 -2
  386. package/src/ClickableCard/ClickableCard.doc.mjs +1 -1
  387. package/src/CodeBlock/CodeBlock.tsx +91 -40
  388. package/src/Collapsible/Collapsible.doc.mjs +7 -0
  389. package/src/Collapsible/Collapsible.test.tsx +80 -0
  390. package/src/Collapsible/Collapsible.tsx +58 -5
  391. package/src/CommandPalette/CommandPalette.tsx +10 -3
  392. package/src/CommandPalette/CommandPaletteInput.test.tsx +1 -1
  393. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  394. package/src/CommandPalette/CommandPaletteList.tsx +4 -1
  395. package/src/ContextMenu/ContextMenu.test.tsx +75 -1
  396. package/src/ContextMenu/ContextMenu.tsx +14 -6
  397. package/src/ContextMenu/index.ts +15 -0
  398. package/src/DateInput/DateInput.doc.mjs +2 -2
  399. package/src/DateInput/DateInput.test.tsx +17 -5
  400. package/src/DateInput/DateInput.tsx +13 -5
  401. package/src/DateRangeInput/DateRangeInput.doc.mjs +1 -1
  402. package/src/DateRangeInput/DateRangeInput.tsx +14 -6
  403. package/src/DateTimeInput/DateTimeInput.doc.mjs +2 -2
  404. package/src/DateTimeInput/DateTimeInput.tsx +17 -7
  405. package/src/Dialog/Dialog.tsx +11 -15
  406. package/src/Dialog/DialogHeader.tsx +7 -3
  407. package/src/DropdownMenu/DropdownMenu.doc.mjs +23 -0
  408. package/src/DropdownMenu/DropdownMenu.tsx +23 -14
  409. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +95 -0
  410. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +237 -0
  411. package/src/DropdownMenu/DropdownMenuContext.tsx +29 -1
  412. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +7 -1
  413. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +80 -0
  414. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +119 -0
  415. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +80 -0
  416. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +232 -0
  417. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +163 -0
  418. package/src/DropdownMenu/index.ts +23 -3
  419. package/src/DropdownMenu/menuItemRoles.ts +22 -0
  420. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  421. package/src/EmptyState/EmptyState.tsx +4 -1
  422. package/src/Field/Field.doc.mjs +3 -3
  423. package/src/Field/FieldLabel.doc.mjs +1 -1
  424. package/src/FileInput/FileInput.test.tsx +40 -1
  425. package/src/FileInput/FileInput.tsx +12 -1
  426. package/src/Grid/Grid.doc.mjs +5 -5
  427. package/src/Icon/Icon.test.tsx +46 -0
  428. package/src/Icon/Icon.tsx +37 -24
  429. package/src/InputGroup/InputGroup.doc.mjs +1 -1
  430. package/src/Kbd/Kbd.test.tsx +26 -0
  431. package/src/Kbd/Kbd.tsx +1 -1
  432. package/src/Layer/useLayer.doc.mjs +8 -5
  433. package/src/Layer/useLayer.test.tsx +136 -1
  434. package/src/Layer/useLayer.tsx +34 -2
  435. package/src/Lightbox/Lightbox.doc.mjs +7 -2
  436. package/src/Lightbox/Lightbox.tsx +6 -4
  437. package/src/Link/Link.test.tsx +74 -2
  438. package/src/Link/Link.tsx +48 -1
  439. package/src/Markdown/Markdown.tsx +12 -4
  440. package/src/MobileNav/MobileNav.tsx +4 -2
  441. package/src/MobileNav/MobileNavToggle.tsx +5 -3
  442. package/src/MoreMenu/MoreMenu.tsx +4 -1
  443. package/src/MultiSelector/MultiSelector.tsx +14 -5
  444. package/src/NumberInput/NumberInput.doc.mjs +2 -2
  445. package/src/NumberInput/NumberInput.tsx +3 -1
  446. package/src/Outline/Outline.tsx +4 -1
  447. package/src/OverflowList/OverflowList.doc.mjs +2 -2
  448. package/src/Pagination/Pagination.tsx +35 -12
  449. package/src/Popover/usePopover.tsx +6 -1
  450. package/src/PowerSearch/PowerSearch.doc.mjs +9 -4
  451. package/src/PowerSearch/PowerSearch.tsx +22 -10
  452. package/src/PowerSearch/PowerSearchEditPopover.tsx +27 -20
  453. package/src/PowerSearch/PowerSearchToken.tsx +17 -6
  454. package/src/PowerSearch/PowerSearchValueEditor.tsx +34 -21
  455. package/src/PowerSearch/formatFilterValue.test.ts +282 -0
  456. package/src/PowerSearch/formatFilterValue.ts +21 -8
  457. package/src/PowerSearch/index.ts +5 -0
  458. package/src/PowerSearch/resolveOperatorLabel.ts +34 -0
  459. package/src/PowerSearch/types.ts +33 -9
  460. package/src/PowerSearch/usePowerSearchConfig.ts +59 -27
  461. package/src/PowerSearch/usePowerSearchSource.ts +17 -8
  462. package/src/RadioList/RadioList.doc.mjs +1 -1
  463. package/src/Resizable/ResizeHandle.tsx +4 -1
  464. package/src/Section/Section.doc.mjs +4 -4
  465. package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
  466. package/src/Selector/Selector.doc.mjs +6 -3
  467. package/src/Selector/Selector.test.tsx +114 -6
  468. package/src/Selector/Selector.tsx +68 -17
  469. package/src/Selector/SelectorOption.doc.mjs +1 -1
  470. package/src/SideNav/SideNav.tsx +4 -2
  471. package/src/SideNav/SideNavCollapseButton.tsx +3 -1
  472. package/src/SideNav/SideNavHeading.tsx +5 -3
  473. package/src/SideNav/SideNavItem.doc.mjs +2 -2
  474. package/src/SideNav/SideNavItem.tsx +3 -1
  475. package/src/Slider/Slider.doc.mjs +2 -2
  476. package/src/Stack/Stack.doc.mjs +10 -10
  477. package/src/Switch/Switch.doc.mjs +3 -3
  478. package/src/Switch/Switch.test.tsx +16 -0
  479. package/src/Switch/Switch.tsx +4 -2
  480. package/src/TabList/Tab.tsx +5 -1
  481. package/src/TabList/TabList.doc.mjs +3 -3
  482. package/src/TabList/TabList.test.tsx +66 -0
  483. package/src/TabList/TabList.tsx +12 -1
  484. package/src/TabList/TabMenu.tsx +4 -1
  485. package/src/Table/BaseTable.tsx +36 -19
  486. package/src/Table/Table.doc.mjs +2 -0
  487. package/src/Table/Table.test.tsx +132 -1
  488. package/src/Table/Table.tsx +6 -4
  489. package/src/Table/index.ts +7 -0
  490. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +1 -1
  491. package/src/Table/plugins/filtering/useTableFiltering.tsx +31 -30
  492. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +7 -5
  493. package/src/Table/plugins/pagination/useTablePagination.tsx +4 -1
  494. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +9 -8
  495. package/src/Table/plugins/rowIndex/useTableRowIndex.tsx +1 -1
  496. package/src/Table/plugins/selection/useTableSelection.tsx +6 -7
  497. package/src/Table/plugins/sortable/useTableSortable.tsx +8 -5
  498. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +4 -4
  499. package/src/Table/plugins/tree/index.ts +12 -0
  500. package/src/Table/plugins/tree/useTableTreeData-perf.test.tsx +163 -0
  501. package/src/Table/plugins/tree/useTableTreeData.test.tsx +594 -0
  502. package/src/Table/plugins/tree/useTableTreeData.tsx +495 -0
  503. package/src/Table/plugins/tree/useTableTreeState.test.tsx +636 -0
  504. package/src/Table/plugins/tree/useTableTreeState.tsx +253 -0
  505. package/src/Table/types.ts +18 -12
  506. package/src/Table/useBaseTablePlugins.ts +6 -2
  507. package/src/Table/useTableFiltering.doc.mjs +2 -2
  508. package/src/Table/useTableGroupedRows.doc.mjs +3 -3
  509. package/src/Table/useTableSortable.doc.mjs +11 -11
  510. package/src/Table/useTableTreeData.doc.mjs +75 -0
  511. package/src/Table/useTableTreeState.doc.mjs +98 -0
  512. package/src/Text/Text.doc.mjs +2 -2
  513. package/src/TextArea/TextArea.doc.mjs +1 -1
  514. package/src/TextInput/TextInput.doc.mjs +1 -1
  515. package/src/TextInput/TextInput.tsx +3 -1
  516. package/src/Thumbnail/Thumbnail.tsx +4 -2
  517. package/src/TimeInput/TimeInput.doc.mjs +2 -2
  518. package/src/TimeInput/TimeInput.tsx +6 -2
  519. package/src/Timestamp/Timestamp.doc.mjs +4 -4
  520. package/src/Timestamp/Timestamp.test.tsx +120 -7
  521. package/src/Timestamp/Timestamp.tsx +21 -1
  522. package/src/Toast/Toast.tsx +3 -1
  523. package/src/Toast/ToastViewport.tsx +3 -1
  524. package/src/Token/Token.tsx +4 -2
  525. package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
  526. package/src/Tokenizer/Tokenizer.tsx +4 -4
  527. package/src/Toolbar/Toolbar.doc.mjs +1 -1
  528. package/src/Toolbar/Toolbar.tsx +10 -3
  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 -0
  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 +938 -0
  547. package/src/docs-types.ts +15 -10
  548. package/src/i18n/InternationalizationContext.ts +39 -0
  549. package/src/i18n/InternationalizationProvider.doc.mjs +72 -0
  550. package/src/i18n/InternationalizationProvider.tsx +82 -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/src/theme/Theme.doc.mjs +4 -4
  562. package/src/theme/Theme.tsx +1 -1
  563. package/src/theme/defineTheme.ts +1 -1
  564. package/src/theme/hct.ts +0 -4
  565. package/src/utils/color.test.ts +101 -1
  566. package/src/utils/color.ts +23 -1
  567. package/src/utils/index.ts +8 -1
  568. package/dist/NavItem/index.d.ts +0 -9
  569. package/dist/NavItem/index.d.ts.map +0 -1
  570. package/dist/NavItem/index.js +0 -10
  571. package/src/NavItem/index.ts +0 -11
@@ -18,9 +18,11 @@ import { Selector } from "../Selector/index.js";
18
18
  import { HStack, VStack } from "../Stack/index.js";
19
19
  import { Icon } from "../Icon/index.js";
20
20
  import { TreeList } from "../TreeList/index.js";
21
+ import { useTranslator } from "../i18n/index.js";
21
22
  import "../theme/tokens.stylex.js";
22
23
  import { spacingVars, typeScaleVars } from "../theme/tokens.stylex.js";
23
24
  import { PowerSearchValueEditor } from "./PowerSearchValueEditor.js";
25
+ import { resolveOperatorLabel } from "./resolveOperatorLabel.js";
24
26
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
27
  // =============================================================================
26
28
  // Editable filter state for recursive nesting
@@ -129,6 +131,7 @@ function NestedSubFilterRow({
129
131
  onChange,
130
132
  isReadOnly
131
133
  }) {
134
+ const t = useTranslator();
132
135
  const fieldOptions = useMemo(() => config.getVisibleFields().map(field => ({
133
136
  value: field.key,
134
137
  label: field.label
@@ -137,9 +140,9 @@ function NestedSubFilterRow({
137
140
  const operators = config.getVisibleOperators(subFilter.field);
138
141
  return operators.map(op => ({
139
142
  value: op.key,
140
- label: op.label
143
+ label: resolveOperatorLabel(op, t)
141
144
  }));
142
- }, [config, subFilter.field]);
145
+ }, [config, subFilter.field, t]);
143
146
  const currentOperator = subFilter.operator ? config.getOperator(subFilter.field, subFilter.operator) : undefined;
144
147
  const operatorValue = currentOperator?.value;
145
148
  const isEmptyType = operatorValue?.type === 'empty';
@@ -179,7 +182,7 @@ function NestedSubFilterRow({
179
182
  className: "x2lah0s x1oysuqx"
180
183
  },
181
184
  children: /*#__PURE__*/_jsx(Selector, {
182
- label: "Field",
185
+ label: t('@astryx.powersearch.editor.field'),
183
186
  isLabelHidden: true,
184
187
  options: fieldOptions,
185
188
  value: subFilter.field,
@@ -192,7 +195,7 @@ function NestedSubFilterRow({
192
195
  className: "x2lah0s xzjbwwf"
193
196
  },
194
197
  children: /*#__PURE__*/_jsx(Selector, {
195
- label: "Operator",
198
+ label: t('@astryx.powersearch.editor.operator'),
196
199
  isLabelHidden: true,
197
200
  options: operatorOptions,
198
201
  value: subFilter.operator,
@@ -227,6 +230,7 @@ function NestedEditor({
227
230
  onPartialFilterChange,
228
231
  isReadOnly
229
232
  }) {
233
+ const t = useTranslator();
230
234
  const [subFilters, setSubFilters] = useState(() => {
231
235
  if (partialFilter.value && partialFilter.value.type === 'nested') {
232
236
  return partialFilter.value.value.map(f => initEditableFilter(config, f));
@@ -294,7 +298,7 @@ function NestedEditor({
294
298
  children.push({
295
299
  id: `${itemPath.join('-')}-add`,
296
300
  label: /*#__PURE__*/_jsx(Button, {
297
- label: "+ Add filter",
301
+ label: t('@astryx.powersearch.editor.addFilter'),
298
302
  onClick: () => handleAdd(itemPath),
299
303
  variant: "ghost",
300
304
  size: "sm"
@@ -312,7 +316,7 @@ function NestedEditor({
312
316
  isExpanded: true,
313
317
  children,
314
318
  endContent: !isReadOnly ? /*#__PURE__*/_jsx(Button, {
315
- label: "Remove filter",
319
+ label: t('@astryx.powersearch.editor.removeFilter'),
316
320
  icon: /*#__PURE__*/_jsx(Icon, {
317
321
  icon: "close",
318
322
  size: "sm"
@@ -334,7 +338,7 @@ function NestedEditor({
334
338
  isReadOnly: isReadOnly
335
339
  }),
336
340
  endContent: !isReadOnly ? /*#__PURE__*/_jsx(Button, {
337
- label: "Remove filter",
341
+ label: t('@astryx.powersearch.editor.removeFilter'),
338
342
  icon: /*#__PURE__*/_jsx(Icon, {
339
343
  icon: "close",
340
344
  size: "sm"
@@ -353,7 +357,7 @@ function NestedEditor({
353
357
  treeChildren.push({
354
358
  id: 'add-filter',
355
359
  label: /*#__PURE__*/_jsx(Button, {
356
- label: "+ Add filter",
360
+ label: t('@astryx.powersearch.editor.addFilter'),
357
361
  onClick: () => handleAdd([]),
358
362
  variant: "ghost",
359
363
  size: "sm"
@@ -369,7 +373,7 @@ function NestedEditor({
369
373
  className: "x1iyjqo2 x2lah0s"
370
374
  },
371
375
  children: /*#__PURE__*/_jsx(Selector, {
372
- label: "Group operator",
376
+ label: t('@astryx.powersearch.editor.groupOperator'),
373
377
  isLabelHidden: true,
374
378
  options: operatorOptions,
375
379
  value: partialFilter.operator,
@@ -377,7 +381,7 @@ function NestedEditor({
377
381
  isDisabled: isReadOnly,
378
382
  size: "md"
379
383
  })
380
- }) : operatorOptions[0]?.label ?? 'Group'
384
+ }) : operatorOptions[0]?.label ?? t('@astryx.powersearch.editor.group')
381
385
  });
382
386
  const items = [{
383
387
  id: 'nested-root',
@@ -401,9 +405,11 @@ export function PowerSearchEditPopover({
401
405
  mode,
402
406
  onSave,
403
407
  onCancel,
404
- saveButtonLabel = 'Apply',
408
+ saveButtonLabel: saveButtonLabelFromProps,
405
409
  isReadOnly = false
406
410
  }) {
411
+ const t = useTranslator();
412
+ const saveButtonLabel = saveButtonLabelFromProps ?? t('@astryx.powersearch.editor.apply');
407
413
  const [partialFilter, setPartialFilter] = useState(initialFilter);
408
414
  const valueEditorRef = useRef(null);
409
415
 
@@ -432,9 +438,9 @@ export function PowerSearchEditPopover({
432
438
  const operators = config.getVisibleOperators(partialFilter.field);
433
439
  return operators.map(op => ({
434
440
  value: op.key,
435
- label: op.label
441
+ label: resolveOperatorLabel(op, t)
436
442
  }));
437
- }, [config, partialFilter.field]);
443
+ }, [config, partialFilter.field, t]);
438
444
  const handleFieldChange = useCallback(fieldKey => {
439
445
  const defaultOp = config.getDefaultOperator(fieldKey);
440
446
  setPartialFilter({
@@ -531,7 +537,7 @@ export function PowerSearchEditPopover({
531
537
  className: "x1iyjqo2 xs83m0k xeuugli"
532
538
  },
533
539
  children: /*#__PURE__*/_jsx(Selector, {
534
- label: "Field",
540
+ label: t('@astryx.powersearch.editor.field'),
535
541
  isLabelHidden: true,
536
542
  options: fieldOptions,
537
543
  value: partialFilter.field,
@@ -557,14 +563,14 @@ export function PowerSearchEditPopover({
557
563
  gap: 2,
558
564
  hAlign: "between",
559
565
  children: [!isReadOnly && mode === 'edit' ? /*#__PURE__*/_jsx(Button, {
560
- label: "Delete",
566
+ label: t('@astryx.powersearch.editor.delete'),
561
567
  onClick: handleDelete,
562
568
  variant: "ghost",
563
569
  size: "sm"
564
570
  }) : /*#__PURE__*/_jsx("div", {}), /*#__PURE__*/_jsxs(HStack, {
565
571
  gap: 2,
566
572
  children: [/*#__PURE__*/_jsx(Button, {
567
- label: "Cancel",
573
+ label: t('@astryx.powersearch.editor.cancel'),
568
574
  onClick: onCancel,
569
575
  variant: "ghost",
570
576
  size: "sm"
@@ -596,7 +602,7 @@ export function PowerSearchEditPopover({
596
602
  className: "x1iyjqo2 xs83m0k xeuugli"
597
603
  },
598
604
  children: /*#__PURE__*/_jsx(Selector, {
599
- label: "Field",
605
+ label: t('@astryx.powersearch.editor.field'),
600
606
  isLabelHidden: true,
601
607
  options: fieldOptions,
602
608
  value: partialFilter.field,
@@ -609,7 +615,7 @@ export function PowerSearchEditPopover({
609
615
  className: "x1iyjqo2 x2lah0s"
610
616
  },
611
617
  children: /*#__PURE__*/_jsx(Selector, {
612
- label: "Operator",
618
+ label: t('@astryx.powersearch.editor.operator'),
613
619
  isLabelHidden: true,
614
620
  options: operatorOptions,
615
621
  value: partialFilter.operator,
@@ -640,14 +646,14 @@ export function PowerSearchEditPopover({
640
646
  gap: 2,
641
647
  hAlign: "between",
642
648
  children: [!isReadOnly && mode === 'edit' ? /*#__PURE__*/_jsx(Button, {
643
- label: "Delete",
649
+ label: t('@astryx.powersearch.editor.delete'),
644
650
  onClick: handleDelete,
645
651
  variant: "ghost",
646
652
  size: "sm"
647
653
  }) : /*#__PURE__*/_jsx("div", {}), /*#__PURE__*/_jsxs(HStack, {
648
654
  gap: 2,
649
655
  children: [/*#__PURE__*/_jsx(Button, {
650
- label: "Cancel",
656
+ label: t('@astryx.powersearch.editor.cancel'),
651
657
  onClick: onCancel,
652
658
  variant: "ghost",
653
659
  size: "sm"
@@ -1 +1 @@
1
- {"version":3,"file":"PowerSearchToken.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/PowerSearchToken.tsx"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAC;AAQnD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EAAE,UAAU,EAClB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,GACX,EAAE,qBAAqB,qBAmCvB;yBA5Ce,gBAAgB"}
1
+ {"version":3,"file":"PowerSearchToken.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/PowerSearchToken.tsx"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAC;AAQnD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EAAE,UAAU,EAClB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,GACX,EAAE,qBAAqB,qBA4CvB;yBArDe,gBAAgB"}
@@ -11,9 +11,11 @@
11
11
  import React from 'react';
12
12
  import * as stylex from '@stylexjs/stylex';
13
13
  import { Token } from "../Token/index.js";
14
+ import { useTranslator } from "../i18n/index.js";
14
15
  import "../theme/tokens.stylex.js";
15
16
  import { fontWeightVars } from "../theme/tokens.stylex.js";
16
17
  import { formatFilterValue } from "./formatFilterValue.js";
18
+ import { resolveOperatorLabel } from "./resolveOperatorLabel.js";
17
19
  import { useInternalConfig } from "./useInternalConfig.js";
18
20
  import { jsx as _jsx } from "react/jsx-runtime";
19
21
  /**
@@ -34,11 +36,13 @@ export function PowerSearchToken({
34
36
  isDisabled
35
37
  }) {
36
38
  const config = useInternalConfig(configProp);
39
+ const t = useTranslator();
37
40
  const fieldLabel = field.label;
38
- const operatorLabel = operator.label ? `: ${operator.label}` : '';
41
+ const resolvedOperatorLabel = resolveOperatorLabel(operator, t);
42
+ const operatorLabel = resolvedOperatorLabel ? `: ${resolvedOperatorLabel}` : '';
39
43
  const tokenLabel = `${fieldLabel}${operatorLabel}`;
40
- const adjustedMaxLength = Math.max(maxLength - fieldLabel.length - (operator.label?.length ?? 0), 10);
41
- const valueStr = formatFilterValue(config, operator.value, filter.value, adjustedMaxLength);
44
+ const adjustedMaxLength = Math.max(maxLength - fieldLabel.length - resolvedOperatorLabel.length, 10);
45
+ const valueStr = formatFilterValue(config, operator.value, filter.value, adjustedMaxLength, t);
42
46
  const valueContent = valueStr ? /*#__PURE__*/_jsx("span", {
43
47
  ...{
44
48
  className: "x1lvx875"
@@ -1 +1 @@
1
- {"version":3,"file":"PowerSearchValueEditor.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/PowerSearchValueEditor.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAGZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAcxD,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA4jBD,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,2BAA2B,4BA0H7B"}
1
+ {"version":3,"file":"PowerSearchValueEditor.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/PowerSearchValueEditor.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAGZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAexD,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAwkBD,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,2BAA2B,4BA0H7B"}
@@ -20,6 +20,7 @@ import { TimeInput } from "../TimeInput/index.js";
20
20
  import { Selector } from "../Selector/index.js";
21
21
  import { Tokenizer } from "../Tokenizer/index.js";
22
22
  import { Typeahead } from "../Typeahead/index.js";
23
+ import { useTranslator } from "../i18n/index.js";
23
24
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
24
25
  // =============================================================================
25
26
  // Helpers
@@ -53,6 +54,7 @@ function StringEditor({
53
54
  onChange,
54
55
  onEnter: _onEnter
55
56
  }) {
57
+ const t = useTranslator();
56
58
  const currentValue = filterValue?.type === 'string' ? filterValue.value : '';
57
59
 
58
60
  // When a searchSource is provided, render a typeahead instead of a plain
@@ -63,7 +65,7 @@ function StringEditor({
63
65
  label: currentValue
64
66
  } : null;
65
67
  return /*#__PURE__*/_jsx(Typeahead, {
66
- label: "Value",
68
+ label: t('@astryx.powersearch.valueEditor.value'),
67
69
  isLabelHidden: true,
68
70
  searchSource: operatorValue.searchSource,
69
71
  value: selectedItem,
@@ -80,15 +82,15 @@ function StringEditor({
80
82
  });
81
83
  }
82
84
  },
83
- placeholder: "Search...",
85
+ placeholder: t('@astryx.powersearch.valueEditor.searchPlaceholder'),
84
86
  debounceMs: 150
85
87
  });
86
88
  }
87
89
  return /*#__PURE__*/_jsx(TextInput, {
88
- label: "Value",
90
+ label: t('@astryx.powersearch.valueEditor.value'),
89
91
  isLabelHidden: true,
90
92
  value: currentValue,
91
- placeholder: "Enter value...",
93
+ placeholder: t('@astryx.powersearch.valueEditor.enterValuePlaceholder'),
92
94
  onChange: value => {
93
95
  onChange({
94
96
  type: 'string',
@@ -102,6 +104,7 @@ function StringListEditor({
102
104
  filterValue,
103
105
  onChange
104
106
  }) {
107
+ const t = useTranslator();
105
108
  const currentValue = useMemo(() => {
106
109
  if (filterValue?.type !== 'string_list') {
107
110
  return [];
@@ -126,7 +129,7 @@ function StringListEditor({
126
129
  // or when isArbitraryStringAllowed is explicitly set (#1107).
127
130
  const hasCreate = operatorValue.isArbitraryStringAllowed || !operatorValue.searchSource;
128
131
  return /*#__PURE__*/_jsx(Tokenizer, {
129
- label: "Values",
132
+ label: t('@astryx.powersearch.valueEditor.values'),
130
133
  isLabelHidden: true,
131
134
  searchSource: source,
132
135
  value: currentValue,
@@ -136,7 +139,7 @@ function StringListEditor({
136
139
  value: items.map(item => item.label)
137
140
  });
138
141
  },
139
- placeholder: "Add values...",
142
+ placeholder: t('@astryx.powersearch.valueEditor.addValuesPlaceholder'),
140
143
  debounceMs: operatorValue.searchSource ? 150 : 0,
141
144
  hasCreate: hasCreate
142
145
  });
@@ -146,9 +149,10 @@ function IntegerEditor({
146
149
  filterValue,
147
150
  onChange
148
151
  }) {
152
+ const t = useTranslator();
149
153
  const currentValue = filterValue?.type === 'integer' ? filterValue.value : undefined;
150
154
  return /*#__PURE__*/_jsx(NumberInput, {
151
- label: "Value",
155
+ label: t('@astryx.powersearch.valueEditor.value'),
152
156
  isLabelHidden: true,
153
157
  value: currentValue ?? null,
154
158
  onChange: value => {
@@ -161,7 +165,7 @@ function IntegerEditor({
161
165
  max: operatorValue.maxValue,
162
166
  units: operatorValue.units,
163
167
  isIntegerOnly: true,
164
- placeholder: "Enter number..."
168
+ placeholder: t('@astryx.powersearch.valueEditor.enterNumberPlaceholder')
165
169
  });
166
170
  }
167
171
  function FloatEditor({
@@ -169,9 +173,10 @@ function FloatEditor({
169
173
  filterValue,
170
174
  onChange
171
175
  }) {
176
+ const t = useTranslator();
172
177
  const currentValue = filterValue?.type === 'float' ? filterValue.value : undefined;
173
178
  return /*#__PURE__*/_jsx(NumberInput, {
174
- label: "Value",
179
+ label: t('@astryx.powersearch.valueEditor.value'),
175
180
  isLabelHidden: true,
176
181
  value: currentValue ?? null,
177
182
  onChange: value => {
@@ -183,7 +188,7 @@ function FloatEditor({
183
188
  min: operatorValue.minValue,
184
189
  max: operatorValue.maxValue,
185
190
  units: operatorValue.units,
186
- placeholder: "Enter number..."
191
+ placeholder: t('@astryx.powersearch.valueEditor.enterNumberPlaceholder')
187
192
  });
188
193
  }
189
194
  function TimeEditor({
@@ -191,9 +196,10 @@ function TimeEditor({
191
196
  filterValue,
192
197
  onChange
193
198
  }) {
199
+ const t = useTranslator();
194
200
  const currentValue = filterValue?.type === 'time' ? filterValue.value : undefined;
195
201
  return /*#__PURE__*/_jsx(TimeInput, {
196
- label: "Time",
202
+ label: t('@astryx.powersearch.valueEditor.time'),
197
203
  isLabelHidden: true,
198
204
  value: currentValue,
199
205
  onChange: value => {
@@ -212,6 +218,7 @@ function DateAbsoluteEditor({
212
218
  filterValue,
213
219
  onChange
214
220
  }) {
221
+ const t = useTranslator();
215
222
  // Convert unixSeconds to ISO date string for the date input
216
223
  const currentValue = useMemo(() => {
217
224
  if (filterValue?.type !== 'date_absolute') {
@@ -221,7 +228,7 @@ function DateAbsoluteEditor({
221
228
  return date.toISOString().split('T')[0];
222
229
  }, [filterValue]);
223
230
  return /*#__PURE__*/_jsx(DateInput, {
224
- label: "Date",
231
+ label: t('@astryx.powersearch.valueEditor.date'),
225
232
  isLabelHidden: true,
226
233
  value: currentValue,
227
234
  onChange: value => {
@@ -240,6 +247,7 @@ function DateRelativeEditor({
240
247
  filterValue,
241
248
  onChange
242
249
  }) {
250
+ const t = useTranslator();
243
251
  const currentValue = filterValue?.type === 'date_relative' ? filterValue.value : undefined;
244
252
  const options = useMemo(() => {
245
253
  const result = [];
@@ -276,7 +284,7 @@ function DateRelativeEditor({
276
284
  return result;
277
285
  }, [operatorValue.isPastAllowed, operatorValue.isFutureAllowed]);
278
286
  return /*#__PURE__*/_jsx(Selector, {
279
- label: "Relative date",
287
+ label: t('@astryx.powersearch.valueEditor.relativeDate'),
280
288
  isLabelHidden: true,
281
289
  options: options,
282
290
  value: currentValue,
@@ -292,6 +300,7 @@ function DateRangeEditor({
292
300
  filterValue,
293
301
  onChange
294
302
  }) {
303
+ const t = useTranslator();
295
304
  const startValue = useMemo(() => {
296
305
  if (filterValue?.type !== 'date_range') {
297
306
  return undefined;
@@ -346,12 +355,12 @@ function DateRangeEditor({
346
355
  }, [filterValue, onChange]);
347
356
  return /*#__PURE__*/_jsxs(_Fragment, {
348
357
  children: [/*#__PURE__*/_jsx(DateInput, {
349
- label: "Start date",
358
+ label: t('@astryx.powersearch.valueEditor.startDate'),
350
359
  isLabelHidden: true,
351
360
  value: startValue,
352
361
  onChange: handleStartChange
353
362
  }), /*#__PURE__*/_jsx(DateInput, {
354
- label: "End date",
363
+ label: t('@astryx.powersearch.valueEditor.endDate'),
355
364
  isLabelHidden: true,
356
365
  value: endValue,
357
366
  onChange: handleEndChange
@@ -363,13 +372,14 @@ function EnumEditor({
363
372
  filterValue,
364
373
  onChange
365
374
  }) {
375
+ const t = useTranslator();
366
376
  const currentValue = filterValue?.type === 'enum' ? filterValue.value : undefined;
367
377
  const options = useMemo(() => operatorValue.values.map(item => ({
368
378
  value: item.value,
369
379
  label: item.label
370
380
  })), [operatorValue.values]);
371
381
  return /*#__PURE__*/_jsx(Selector, {
372
- label: "Value",
382
+ label: t('@astryx.powersearch.valueEditor.value'),
373
383
  isLabelHidden: true,
374
384
  options: options,
375
385
  value: currentValue,
@@ -386,6 +396,7 @@ function EnumListEditor({
386
396
  filterValue,
387
397
  onChange
388
398
  }) {
399
+ const t = useTranslator();
389
400
  const items = useMemo(() => enumItemsToSearchableItems(operatorValue.values), [operatorValue.values]);
390
401
  const source = useMemo(() => createStaticSource(items), [items]);
391
402
  const currentValue = useMemo(() => {
@@ -401,7 +412,7 @@ function EnumListEditor({
401
412
  });
402
413
  }, [filterValue, operatorValue.values]);
403
414
  return /*#__PURE__*/_jsx(Tokenizer, {
404
- label: "Values",
415
+ label: t('@astryx.powersearch.valueEditor.values'),
405
416
  isLabelHidden: true,
406
417
  searchSource: source,
407
418
  value: currentValue,
@@ -411,7 +422,7 @@ function EnumListEditor({
411
422
  value: selectedItems.map(item => item.id)
412
423
  });
413
424
  },
414
- placeholder: "Select values...",
425
+ placeholder: t('@astryx.powersearch.valueEditor.selectValuesPlaceholder'),
415
426
  hasEntriesOnFocus: true,
416
427
  debounceMs: 0
417
428
  });
@@ -421,6 +432,7 @@ function EntityListEditor({
421
432
  filterValue,
422
433
  onChange
423
434
  }) {
435
+ const t = useTranslator();
424
436
  const source = useMemo(() => {
425
437
  if (operatorValue.searchSource) {
426
438
  return operatorValue.searchSource;
@@ -445,7 +457,7 @@ function EntityListEditor({
445
457
  }));
446
458
  }, [filterValue]);
447
459
  return /*#__PURE__*/_jsx(Tokenizer, {
448
- label: "Entities",
460
+ label: t('@astryx.powersearch.valueEditor.entities'),
449
461
  isLabelHidden: true,
450
462
  searchSource: source,
451
463
  value: currentValue,
@@ -466,7 +478,7 @@ function EntityListEditor({
466
478
  });
467
479
  },
468
480
  renderItem: operatorValue.renderItem,
469
- placeholder: "Search...",
481
+ placeholder: t('@astryx.powersearch.valueEditor.searchPlaceholder'),
470
482
  debounceMs: operatorValue.searchSource ? 150 : 0
471
483
  });
472
484
  }
@@ -476,6 +488,7 @@ function CustomEditor({
476
488
  onChange,
477
489
  isDisabled
478
490
  }) {
491
+ const t = useTranslator();
479
492
  const currentValue = filterValue?.type === 'custom' ? filterValue.value : null;
480
493
  const EditorComponent = operatorValue.Editor;
481
494
  return /*#__PURE__*/_jsx(EditorComponent, {
@@ -488,7 +501,7 @@ function CustomEditor({
488
501
  });
489
502
  }
490
503
  },
491
- placeholder: "Enter value...",
504
+ placeholder: t('@astryx.powersearch.valueEditor.enterValuePlaceholder'),
492
505
  value: currentValue
493
506
  });
494
507
  }
@@ -9,5 +9,6 @@
9
9
  */
10
10
  import type { OperatorValue, FilterValue } from './types';
11
11
  import type { InternalConfig } from './useInternalConfig';
12
- export declare function formatFilterValue(_config: InternalConfig, operatorValue: OperatorValue, filterValue: FilterValue, maxLength: number, timezoneID?: string): string;
12
+ import type { TranslatorFn } from '../i18n';
13
+ export declare function formatFilterValue(_config: InternalConfig, operatorValue: OperatorValue, filterValue: FilterValue, maxLength: number, t: TranslatorFn, timezoneID?: string): string;
13
14
  //# sourceMappingURL=formatFilterValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatFilterValue.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/formatFilterValue.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,WAAW,EAAW,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AA2CxD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CA8GR"}
1
+ {"version":3,"file":"formatFilterValue.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/formatFilterValue.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,WAAW,EAAW,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AA8C1C,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,YAAY,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAsHR"}
@@ -41,10 +41,10 @@ function formatRelativeDate(value) {
41
41
  // value is stored as a descriptive string like "7d" or "1w"
42
42
  return value;
43
43
  }
44
- function formatDateRange(_value) {
45
- return 'date range';
44
+ function formatDateRange(_value, t) {
45
+ return t('@astryx.powersearch.valueEditor.dateRange');
46
46
  }
47
- export function formatFilterValue(_config, operatorValue, filterValue, maxLength, timezoneID) {
47
+ export function formatFilterValue(_config, operatorValue, filterValue, maxLength, t, timezoneID) {
48
48
  switch (filterValue.type) {
49
49
  case 'empty':
50
50
  return '';
@@ -72,7 +72,9 @@ export function formatFilterValue(_config, operatorValue, filterValue, maxLength
72
72
  if (joined.length <= maxLength) {
73
73
  return joined;
74
74
  }
75
- return `${items.length} items`;
75
+ return t('@astryx.powersearch.valueEditor.itemsCount', {
76
+ count: items.length
77
+ });
76
78
  }
77
79
  case 'enum_list':
78
80
  {
@@ -89,12 +91,16 @@ export function formatFilterValue(_config, operatorValue, filterValue, maxLength
89
91
  if (joined.length <= maxLength) {
90
92
  return joined;
91
93
  }
92
- return `${labels.length} items`;
94
+ return t('@astryx.powersearch.valueEditor.itemsCount', {
95
+ count: labels.length
96
+ });
93
97
  }
94
98
  if (items.length === 1) {
95
99
  return truncate(items[0], maxLength);
96
100
  }
97
- return `${items.length} items`;
101
+ return t('@astryx.powersearch.valueEditor.itemsCount', {
102
+ count: items.length
103
+ });
98
104
  }
99
105
  case 'entity_list':
100
106
  {
@@ -109,7 +115,9 @@ export function formatFilterValue(_config, operatorValue, filterValue, maxLength
109
115
  if (joined.length <= maxLength) {
110
116
  return joined;
111
117
  }
112
- return `${entities.length} entities`;
118
+ return t('@astryx.powersearch.valueEditor.entitiesCount', {
119
+ count: entities.length
120
+ });
113
121
  }
114
122
  case 'time':
115
123
  return filterValue.value;
@@ -118,7 +126,7 @@ export function formatFilterValue(_config, operatorValue, filterValue, maxLength
118
126
  case 'date_relative':
119
127
  return formatRelativeDate(filterValue.value);
120
128
  case 'date_range':
121
- return formatDateRange(filterValue.value);
129
+ return formatDateRange(filterValue.value, t);
122
130
  case 'custom':
123
131
  if (operatorValue.type === 'custom') {
124
132
  return truncate(operatorValue.getString(filterValue.value), maxLength);
@@ -127,7 +135,9 @@ export function formatFilterValue(_config, operatorValue, filterValue, maxLength
127
135
  case 'nested':
128
136
  {
129
137
  const count = filterValue.value.length;
130
- return count === 1 ? '1 filter' : `${count} filters`;
138
+ return t('@astryx.powersearch.valueEditor.filtersCount', {
139
+ count
140
+ });
131
141
  }
132
142
  default:
133
143
  return '';
@@ -10,7 +10,8 @@ export { PowerSearch } from './PowerSearch';
10
10
  export type { PowerSearchProps, PowerSearchSize } from './PowerSearch';
11
11
  export { PowerSearchToken } from './PowerSearchToken';
12
12
  export { PowerSearchFilterEditor } from './PowerSearchFilterEditor';
13
+ export { resolveOperatorLabel } from './resolveOperatorLabel';
13
14
  export { createPowerSearchConfig, usePowerSearchConfig, } from './usePowerSearchConfig';
14
15
  export type { FieldDefinition, InferData } from './usePowerSearchConfig';
15
- export type { PowerSearchConfig, PowerSearchField, PowerSearchOperator, OperatorValue, EmptyOperatorValue, StringOperatorValue, StringListOperatorValue, IntegerOperatorValue, FloatOperatorValue, TimeOperatorValue, DateAbsoluteOperatorValue, DateRelativeOperatorValue, DateRangeOperatorValue, EnumOperatorValue, EnumListOperatorValue, EntityListOperatorValue, CustomOperatorValue, NestedOperatorValue, FilterValue, FilterValueEmpty, FilterValueString, FilterValueStringList, FilterValueInteger, FilterValueFloat, FilterValueTime, FilterValueDateAbsolute, FilterValueDateRelative, FilterValueDateRange, FilterValueEnum, FilterValueEnumList, FilterValueEntityList, FilterValueCustom, FilterValueNested, PowerSearchFilter, PartialFilter, EnumItem, PowerSearchEntity, DateTimeRange, DateTimeRangePart, DateRangeFilterPreset, RelativeDateFilterPreset, OperatorTokenizationConfig, PowerSearchChangeType, PowerSearchHandle, PowerSearchTokenProps, PowerSearchEditorProps, PowerSearchComponentOverride, PowerSearchComponents, } from './types';
16
+ export type { PowerSearchConfig, PowerSearchField, PowerSearchOperator, PowerSearchOperatorBase, PowerSearchOperatorWithLabel, PowerSearchOperatorWithI18nKey, OperatorValue, EmptyOperatorValue, StringOperatorValue, StringListOperatorValue, IntegerOperatorValue, FloatOperatorValue, TimeOperatorValue, DateAbsoluteOperatorValue, DateRelativeOperatorValue, DateRangeOperatorValue, EnumOperatorValue, EnumListOperatorValue, EntityListOperatorValue, CustomOperatorValue, NestedOperatorValue, FilterValue, FilterValueEmpty, FilterValueString, FilterValueStringList, FilterValueInteger, FilterValueFloat, FilterValueTime, FilterValueDateAbsolute, FilterValueDateRelative, FilterValueDateRange, FilterValueEnum, FilterValueEnumList, FilterValueEntityList, FilterValueCustom, FilterValueNested, PowerSearchFilter, PartialFilter, EnumItem, PowerSearchEntity, DateTimeRange, DateTimeRangePart, DateRangeFilterPreset, RelativeDateFilterPreset, OperatorTokenizationConfig, PowerSearchChangeType, PowerSearchHandle, PowerSearchTokenProps, PowerSearchEditorProps, PowerSearchComponentOverride, PowerSearchComponents, } from './types';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,gBAAgB,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAErE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAElE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEvE,YAAY,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAGnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EAGnB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAGjB,iBAAiB,EACjB,aAAa,EAGb,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EAGjB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,gBAAgB,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAErE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEvE,YAAY,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAG9B,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EAGnB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAGjB,iBAAiB,EACjB,aAAa,EAGb,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EAGjB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
@@ -13,4 +13,5 @@
13
13
  export { PowerSearch } from "./PowerSearch.js";
14
14
  export { PowerSearchToken } from "./PowerSearchToken.js";
15
15
  export { PowerSearchFilterEditor } from "./PowerSearchFilterEditor.js";
16
+ export { resolveOperatorLabel } from "./resolveOperatorLabel.js";
16
17
  export { createPowerSearchConfig, usePowerSearchConfig } from "./usePowerSearchConfig.js";
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @file resolveOperatorLabel.ts
3
+ * @input PowerSearchOperator + translator function
4
+ * @output Display string for the operator label
5
+ * @position Shared label-resolution helper used at every render site that
6
+ * reads an operator's display text (PowerSearch.tsx, PowerSearchToken.tsx,
7
+ * PowerSearchEditPopover.tsx, usePowerSearchSource.ts).
8
+ *
9
+ * A PowerSearchOperator is a discriminated union of two variants:
10
+ * - `{key, value, label}` — consumer-supplied raw text (used verbatim)
11
+ * - `{key, value, i18nKey}` — catalog-driven text (looked up via t())
12
+ *
13
+ * Astryx's shipped default operators use the i18nKey variant; consumers
14
+ * writing custom operators typically use the label variant.
15
+ *
16
+ * SYNC: When modified, update:
17
+ * - /packages/core/src/PowerSearch/types.ts (PowerSearchOperator type)
18
+ * - /packages/core/src/PowerSearch/index.ts (re-export)
19
+ */
20
+ import type { TranslatorFn } from '../i18n';
21
+ import type { PowerSearchOperator } from './types';
22
+ export declare function resolveOperatorLabel(operator: PowerSearchOperator, t: TranslatorFn): string;
23
+ //# sourceMappingURL=resolveOperatorLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveOperatorLabel.d.ts","sourceRoot":"","sources":["../../src/PowerSearch/resolveOperatorLabel.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAEjD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,mBAAmB,EAC7B,CAAC,EAAE,YAAY,GACd,MAAM,CAKR"}