@astryxdesign/core 0.2.0-canary.ea693ac → 0.2.0-canary.ebed74f

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 (951) hide show
  1. package/README.md +5 -3
  2. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  3. package/dist/AlertDialog/AlertDialog.js +1 -1
  4. package/dist/AppShell/AppShell.d.ts +2 -20
  5. package/dist/AppShell/AppShell.d.ts.map +1 -1
  6. package/dist/AppShell/AppShell.js +1 -14
  7. package/dist/AppShell/index.d.ts +20 -1
  8. package/dist/AppShell/index.d.ts.map +1 -1
  9. package/dist/AppShell/index.js +14 -0
  10. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  11. package/dist/AspectRatio/AspectRatio.js +1 -1
  12. package/dist/Avatar/Avatar.d.ts +1 -1
  13. package/dist/Avatar/Avatar.d.ts.map +1 -1
  14. package/dist/Avatar/Avatar.js +4 -4
  15. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  16. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  17. package/dist/Avatar/AvatarStatusDot.js +1 -22
  18. package/dist/Avatar/index.d.ts +26 -1
  19. package/dist/Avatar/index.d.ts.map +1 -1
  20. package/dist/Avatar/index.js +21 -0
  21. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  22. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.js +4 -8
  24. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +1 -1
  25. package/dist/AvatarGroup/AvatarGroupOverflow.js +1 -1
  26. package/dist/Badge/Badge.d.ts +2 -30
  27. package/dist/Badge/Badge.d.ts.map +1 -1
  28. package/dist/Badge/Badge.js +2 -17
  29. package/dist/Badge/index.d.ts +31 -2
  30. package/dist/Badge/index.d.ts.map +1 -1
  31. package/dist/Badge/index.js +15 -1
  32. package/dist/Banner/Banner.d.ts +2 -37
  33. package/dist/Banner/Banner.d.ts.map +1 -1
  34. package/dist/Banner/Banner.js +6 -34
  35. package/dist/Banner/index.d.ts +37 -1
  36. package/dist/Banner/index.d.ts.map +1 -1
  37. package/dist/Banner/index.js +27 -0
  38. package/dist/Blockquote/Blockquote.d.ts +1 -1
  39. package/dist/Blockquote/Blockquote.js +1 -1
  40. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  41. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  42. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  43. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  44. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  45. package/dist/Breadcrumbs/index.d.ts +18 -1
  46. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  47. package/dist/Breadcrumbs/index.js +14 -0
  48. package/dist/Button/Button.d.ts +2 -20
  49. package/dist/Button/Button.d.ts.map +1 -1
  50. package/dist/Button/Button.js +2 -17
  51. package/dist/Button/index.d.ts +21 -3
  52. package/dist/Button/index.d.ts.map +1 -1
  53. package/dist/Button/index.js +15 -1
  54. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  55. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  56. package/dist/Calendar/Calendar.js +1 -1
  57. package/dist/Calendar/styles.d.ts +2 -2
  58. package/dist/Calendar/styles.js +2 -2
  59. package/dist/Card/Card.d.ts +1 -1
  60. package/dist/Card/Card.js +1 -1
  61. package/dist/Carousel/Carousel.d.ts +54 -3
  62. package/dist/Carousel/Carousel.d.ts.map +1 -1
  63. package/dist/Carousel/Carousel.js +82 -15
  64. package/dist/Carousel/index.d.ts +1 -1
  65. package/dist/Carousel/index.d.ts.map +1 -1
  66. package/dist/Center/Center.d.ts +21 -4
  67. package/dist/Center/Center.d.ts.map +1 -1
  68. package/dist/Center/Center.js +11 -3
  69. package/dist/Chat/ChatComposer.d.ts +1 -1
  70. package/dist/Chat/ChatComposer.js +9 -9
  71. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  72. package/dist/Chat/ChatComposerDrawer.js +3 -3
  73. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  74. package/dist/Chat/ChatComposerInput.js +1 -1
  75. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  76. package/dist/Chat/ChatDictationButton.js +1 -1
  77. package/dist/Chat/ChatLayout.d.ts +8 -1
  78. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  79. package/dist/Chat/ChatLayout.js +15 -4
  80. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  81. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  82. package/dist/Chat/ChatMessage.d.ts +1 -1
  83. package/dist/Chat/ChatMessage.js +1 -1
  84. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  85. package/dist/Chat/ChatMessageBubble.js +1 -1
  86. package/dist/Chat/ChatMessageList.d.ts +1 -1
  87. package/dist/Chat/ChatMessageList.js +1 -1
  88. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  89. package/dist/Chat/ChatSendButton.js +4 -2
  90. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  91. package/dist/Chat/ChatSystemMessage.js +1 -1
  92. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  93. package/dist/Chat/ChatTokenizedText.js +1 -1
  94. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  95. package/dist/CheckboxInput/CheckboxInput.js +1 -1
  96. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  97. package/dist/CheckboxList/CheckboxList.js +1 -1
  98. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  99. package/dist/CheckboxList/CheckboxListItem.js +1 -1
  100. package/dist/Citation/Citation.d.ts +1 -1
  101. package/dist/Citation/Citation.js +1 -1
  102. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  103. package/dist/ClickableCard/ClickableCard.js +3 -3
  104. package/dist/Code/Code.d.ts +2 -2
  105. package/dist/Code/Code.js +2 -2
  106. package/dist/Collapsible/Collapsible.d.ts +1 -1
  107. package/dist/Collapsible/Collapsible.js +3 -3
  108. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  109. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  110. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  111. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  112. package/dist/CommandPalette/CommandPalette.js +1 -1
  113. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  114. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  115. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  116. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  117. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  118. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  119. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  120. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  121. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  122. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  123. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  124. package/dist/ContextMenu/ContextMenu.js +14 -5
  125. package/dist/DateInput/DateInput.js +1 -1
  126. package/dist/DateRangeInput/DateRangeInput.js +1 -1
  127. package/dist/DateTimeInput/DateTimeInput.js +1 -1
  128. package/dist/Dialog/Dialog.d.ts +46 -23
  129. package/dist/Dialog/Dialog.d.ts.map +1 -1
  130. package/dist/Dialog/Dialog.js +59 -31
  131. package/dist/Dialog/DialogHeader.d.ts +1 -1
  132. package/dist/Dialog/DialogHeader.js +1 -1
  133. package/dist/Dialog/index.d.ts +18 -1
  134. package/dist/Dialog/index.d.ts.map +1 -1
  135. package/dist/Dialog/index.js +14 -0
  136. package/dist/Divider/Divider.d.ts +2 -18
  137. package/dist/Divider/Divider.d.ts.map +1 -1
  138. package/dist/Divider/Divider.js +1 -15
  139. package/dist/Divider/index.d.ts +18 -1
  140. package/dist/Divider/index.d.ts.map +1 -1
  141. package/dist/Divider/index.js +14 -0
  142. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  143. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  144. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  145. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  146. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  147. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  148. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  149. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  150. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  151. package/dist/DropdownMenu/DropdownMenuRadioItem.js +5 -1
  152. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  153. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  154. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  155. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  156. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  157. package/dist/DropdownMenu/menuItemHover.js +1 -0
  158. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  159. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  160. package/dist/EmptyState/EmptyState.d.ts +1 -1
  161. package/dist/EmptyState/EmptyState.js +1 -1
  162. package/dist/Field/Field.d.ts +1 -1
  163. package/dist/Field/Field.js +1 -1
  164. package/dist/Field/FieldLabel.d.ts +2 -2
  165. package/dist/Field/FieldLabel.d.ts.map +1 -1
  166. package/dist/Field/FieldLabel.js +41 -2
  167. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  168. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  169. package/dist/FieldStatus/FieldStatus.js +13 -17
  170. package/dist/FieldStatus/index.d.ts +19 -1
  171. package/dist/FieldStatus/index.d.ts.map +1 -1
  172. package/dist/FieldStatus/index.js +14 -0
  173. package/dist/FileInput/FileInput.js +1 -1
  174. package/dist/FormLayout/FormLayout.d.ts +1 -1
  175. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  176. package/dist/FormLayout/FormLayout.js +1 -1
  177. package/dist/Grid/Grid.d.ts +1 -1
  178. package/dist/Grid/Grid.js +1 -1
  179. package/dist/Grid/GridSpan.d.ts +1 -1
  180. package/dist/Grid/GridSpan.js +1 -1
  181. package/dist/HStack/HStack.d.ts +1 -1
  182. package/dist/HStack/HStack.js +1 -1
  183. package/dist/Heading/Heading.d.ts +2 -2
  184. package/dist/Heading/Heading.d.ts.map +1 -1
  185. package/dist/Heading/Heading.js +5 -4
  186. package/dist/HoverCard/HoverCard.d.ts +1 -1
  187. package/dist/HoverCard/HoverCard.js +1 -1
  188. package/dist/Icon/Icon.d.ts +1 -1
  189. package/dist/Icon/Icon.d.ts.map +1 -1
  190. package/dist/Icon/Icon.js +4 -2
  191. package/dist/Icon/globalIconRegistry.d.ts +47 -5
  192. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  193. package/dist/Icon/globalIconRegistry.js +74 -7
  194. package/dist/Icon/index.d.ts +4 -3
  195. package/dist/Icon/index.d.ts.map +1 -1
  196. package/dist/Icon/index.js +2 -1
  197. package/dist/Icon/useIcon.d.ts +14 -0
  198. package/dist/Icon/useIcon.d.ts.map +1 -0
  199. package/dist/Icon/useIcon.js +21 -0
  200. package/dist/IconButton/IconButton.d.ts +1 -1
  201. package/dist/IconButton/IconButton.js +1 -1
  202. package/dist/InputGroup/InputGroup.d.ts +1 -1
  203. package/dist/InputGroup/InputGroup.js +1 -1
  204. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  205. package/dist/InputGroup/InputGroupText.js +1 -1
  206. package/dist/Item/Item.d.ts +1 -1
  207. package/dist/Item/Item.js +1 -1
  208. package/dist/Kbd/Kbd.d.ts +1 -1
  209. package/dist/Kbd/Kbd.js +1 -1
  210. package/dist/Layout/Layout.d.ts +1 -1
  211. package/dist/Layout/Layout.js +1 -1
  212. package/dist/Layout/LayoutContent.d.ts +1 -1
  213. package/dist/Layout/LayoutContent.js +1 -1
  214. package/dist/Layout/LayoutFooter.d.ts +1 -1
  215. package/dist/Layout/LayoutFooter.js +1 -1
  216. package/dist/Layout/LayoutHeader.d.ts +1 -1
  217. package/dist/Layout/LayoutHeader.js +1 -1
  218. package/dist/Layout/LayoutPanel.d.ts +1 -1
  219. package/dist/Layout/LayoutPanel.js +1 -1
  220. package/dist/Lightbox/Lightbox.d.ts +1 -1
  221. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  222. package/dist/Lightbox/Lightbox.js +16 -3
  223. package/dist/Link/Link.d.ts +1 -1
  224. package/dist/Link/Link.js +1 -1
  225. package/dist/Link/LinkProvider.d.ts +2 -2
  226. package/dist/Link/LinkProvider.js +2 -2
  227. package/dist/List/List.d.ts +1 -1
  228. package/dist/List/List.js +1 -1
  229. package/dist/List/ListItem.d.ts +1 -1
  230. package/dist/List/ListItem.js +1 -1
  231. package/dist/Markdown/Markdown.d.ts.map +1 -1
  232. package/dist/Markdown/Markdown.js +35 -13
  233. package/dist/MetadataList/MetadataList.d.ts +1 -1
  234. package/dist/MetadataList/MetadataList.js +1 -1
  235. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  236. package/dist/MetadataList/MetadataListItem.js +1 -1
  237. package/dist/MobileNav/MobileNav.d.ts +1 -1
  238. package/dist/MobileNav/MobileNav.js +1 -1
  239. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  240. package/dist/MoreMenu/MoreMenu.js +3 -3
  241. package/dist/MultiSelector/MultiSelector.d.ts +13 -4
  242. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  243. package/dist/MultiSelector/MultiSelector.js +105 -22
  244. package/dist/NavIcon/NavIcon.d.ts +1 -1
  245. package/dist/NavIcon/NavIcon.js +1 -1
  246. package/dist/NumberInput/NumberInput.d.ts +1 -1
  247. package/dist/NumberInput/NumberInput.js +1 -1
  248. package/dist/Outline/Outline.js +1 -1
  249. package/dist/OverflowList/OverflowList.d.ts +1 -1
  250. package/dist/OverflowList/OverflowList.js +1 -1
  251. package/dist/Pagination/Pagination.d.ts +1 -20
  252. package/dist/Pagination/Pagination.d.ts.map +1 -1
  253. package/dist/Pagination/Pagination.js +1 -15
  254. package/dist/Pagination/index.d.ts +21 -1
  255. package/dist/Pagination/index.d.ts.map +1 -1
  256. package/dist/Pagination/index.js +14 -0
  257. package/dist/Popover/Popover.d.ts +20 -3
  258. package/dist/Popover/Popover.d.ts.map +1 -1
  259. package/dist/Popover/Popover.js +5 -1
  260. package/dist/Popover/usePopover.d.ts.map +1 -1
  261. package/dist/Popover/usePopover.js +14 -3
  262. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  263. package/dist/PowerSearch/PowerSearch.js +1 -1
  264. package/dist/ProgressBar/ProgressBar.d.ts +1 -20
  265. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  266. package/dist/ProgressBar/ProgressBar.js +1 -15
  267. package/dist/ProgressBar/index.d.ts +21 -1
  268. package/dist/ProgressBar/index.d.ts.map +1 -1
  269. package/dist/ProgressBar/index.js +14 -0
  270. package/dist/RadioList/RadioList.d.ts +1 -1
  271. package/dist/RadioList/RadioList.js +1 -1
  272. package/dist/RadioList/RadioListItem.d.ts +1 -1
  273. package/dist/RadioList/RadioListItem.js +1 -1
  274. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  275. package/dist/Resizable/ResizeHandle.js +3 -10
  276. package/dist/Section/Section.d.ts +2 -19
  277. package/dist/Section/Section.d.ts.map +1 -1
  278. package/dist/Section/Section.js +1 -15
  279. package/dist/Section/index.d.ts +19 -1
  280. package/dist/Section/index.d.ts.map +1 -1
  281. package/dist/Section/index.js +14 -0
  282. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  283. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  284. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  285. package/dist/SegmentedControl/SegmentedControlItem.js +1 -1
  286. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  287. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  288. package/dist/SelectableCard/SelectableCard.js +15 -3
  289. package/dist/Selector/Selector.d.ts +12 -3
  290. package/dist/Selector/Selector.d.ts.map +1 -1
  291. package/dist/Selector/Selector.js +104 -21
  292. package/dist/SideNav/SideNav.d.ts +1 -1
  293. package/dist/SideNav/SideNav.js +1 -1
  294. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  295. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  296. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  297. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  298. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  299. package/dist/SideNav/SideNavHeading.js +8 -7
  300. package/dist/SideNav/SideNavItem.d.ts +2 -2
  301. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  302. package/dist/SideNav/SideNavItem.js +6 -7
  303. package/dist/SideNav/SideNavSection.d.ts +1 -1
  304. package/dist/SideNav/SideNavSection.js +1 -1
  305. package/dist/Skeleton/Skeleton.d.ts +1 -1
  306. package/dist/Skeleton/Skeleton.js +1 -1
  307. package/dist/Slider/Slider.d.ts.map +1 -1
  308. package/dist/Slider/Slider.js +78 -68
  309. package/dist/Spinner/Spinner.d.ts +1 -1
  310. package/dist/Spinner/Spinner.js +1 -1
  311. package/dist/Stack/Stack.d.ts +1 -1
  312. package/dist/Stack/Stack.js +1 -1
  313. package/dist/Stack/StackItem.d.ts +1 -1
  314. package/dist/Stack/StackItem.js +1 -1
  315. package/dist/StatusDot/StatusDot.d.ts +1 -20
  316. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  317. package/dist/StatusDot/StatusDot.js +2 -17
  318. package/dist/StatusDot/index.d.ts +21 -1
  319. package/dist/StatusDot/index.d.ts.map +1 -1
  320. package/dist/StatusDot/index.js +14 -0
  321. package/dist/Switch/Switch.d.ts +1 -1
  322. package/dist/Switch/Switch.js +1 -1
  323. package/dist/TabList/Tab.d.ts +1 -1
  324. package/dist/TabList/Tab.js +1 -1
  325. package/dist/TabList/TabList.d.ts +1 -1
  326. package/dist/TabList/TabList.js +1 -1
  327. package/dist/TabList/TabMenu.d.ts +1 -1
  328. package/dist/TabList/TabMenu.js +1 -1
  329. package/dist/Table/BaseTable.d.ts +1 -1
  330. package/dist/Table/BaseTable.js +1 -1
  331. package/dist/Table/Table.d.ts +1 -1
  332. package/dist/Table/Table.js +1 -1
  333. package/dist/Table/TableCell.d.ts +1 -1
  334. package/dist/Table/TableCell.js +1 -1
  335. package/dist/Table/TableHeaderCell.d.ts +1 -1
  336. package/dist/Table/TableHeaderCell.js +1 -1
  337. package/dist/Table/TableRow.d.ts +1 -1
  338. package/dist/Table/TableRow.js +1 -1
  339. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  340. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  341. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +21 -3
  342. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  343. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  344. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  345. package/dist/Text/Text.d.ts +11 -2
  346. package/dist/Text/Text.d.ts.map +1 -1
  347. package/dist/Text/Text.js +26 -3
  348. package/dist/Text/index.d.ts +31 -1
  349. package/dist/Text/index.d.ts.map +1 -1
  350. package/dist/Text/index.js +23 -0
  351. package/dist/TextArea/TextArea.d.ts +1 -1
  352. package/dist/TextArea/TextArea.d.ts.map +1 -1
  353. package/dist/TextArea/TextArea.js +107 -39
  354. package/dist/TextInput/TextInput.d.ts +1 -1
  355. package/dist/TextInput/TextInput.js +1 -1
  356. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  357. package/dist/Thumbnail/Thumbnail.js +52 -46
  358. package/dist/TimeInput/TimeInput.js +1 -1
  359. package/dist/Timestamp/Timestamp.d.ts +4 -1
  360. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  361. package/dist/Timestamp/Timestamp.js +78 -7
  362. package/dist/Timestamp/formatInstant.d.ts +3 -3
  363. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  364. package/dist/Timestamp/formatInstant.js +2 -2
  365. package/dist/Timestamp/tooltipEntries.d.ts +3 -2
  366. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  367. package/dist/Timestamp/tooltipEntries.js +3 -2
  368. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  369. package/dist/ToggleButton/ToggleButton.js +1 -1
  370. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  371. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  372. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  373. package/dist/Token/Token.d.ts +2 -27
  374. package/dist/Token/Token.d.ts.map +1 -1
  375. package/dist/Token/Token.js +1 -15
  376. package/dist/Token/index.d.ts +27 -1
  377. package/dist/Token/index.d.ts.map +1 -1
  378. package/dist/Token/index.js +14 -0
  379. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  380. package/dist/Tokenizer/Tokenizer.js +1 -1
  381. package/dist/Toolbar/Toolbar.d.ts +1 -1
  382. package/dist/Toolbar/Toolbar.js +1 -1
  383. package/dist/Tooltip/Tooltip.d.ts +1 -1
  384. package/dist/Tooltip/Tooltip.js +1 -1
  385. package/dist/TopNav/TopNav.d.ts +1 -1
  386. package/dist/TopNav/TopNav.js +1 -1
  387. package/dist/TopNav/TopNavHeading.d.ts +1 -1
  388. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  389. package/dist/TopNav/TopNavHeading.js +7 -6
  390. package/dist/TopNav/TopNavItem.d.ts +1 -1
  391. package/dist/TopNav/TopNavItem.js +1 -1
  392. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  393. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  394. package/dist/TopNav/TopNavMegaMenu.js +15 -7
  395. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  396. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  397. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  398. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  399. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  400. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  401. package/dist/TopNav/TopNavMenu.js +5 -4
  402. package/dist/TreeList/TreeList.d.ts +1 -1
  403. package/dist/TreeList/TreeList.js +1 -1
  404. package/dist/TreeList/TreeListBranches.js +1 -1
  405. package/dist/TreeList/TreeListItem.d.ts +1 -1
  406. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  407. package/dist/TreeList/TreeListItem.js +4 -3
  408. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  409. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  410. package/dist/TreeList/index.d.ts +18 -1
  411. package/dist/TreeList/index.d.ts.map +1 -1
  412. package/dist/TreeList/index.js +14 -0
  413. package/dist/Typeahead/BaseTypeahead.d.ts +1 -1
  414. package/dist/Typeahead/BaseTypeahead.js +1 -1
  415. package/dist/Typeahead/Typeahead.d.ts +1 -1
  416. package/dist/Typeahead/Typeahead.js +1 -1
  417. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  418. package/dist/Typeahead/TypeaheadItem.js +1 -1
  419. package/dist/VStack/VStack.d.ts +1 -1
  420. package/dist/VStack/VStack.js +1 -1
  421. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  422. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  423. package/dist/astryx.css +83 -22
  424. package/dist/astryx.umd.js +50 -50
  425. package/dist/astryx.umd.js.map +4 -4
  426. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  427. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  428. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  429. package/dist/hooks/index.d.ts +2 -0
  430. package/dist/hooks/index.d.ts.map +1 -1
  431. package/dist/hooks/index.js +2 -1
  432. package/dist/hooks/useContainerReveal.d.ts +83 -0
  433. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  434. package/dist/hooks/useContainerReveal.js +123 -0
  435. package/dist/hooks/useGridFocus.d.ts +8 -6
  436. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  437. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  438. package/dist/hooks/useInputContainer.js +29 -1
  439. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  440. package/dist/hooks/useInputStatusIcon.js +11 -0
  441. package/dist/hooks/useKeyboardHint.d.ts +1 -1
  442. package/dist/hooks/useKeyboardHint.js +1 -1
  443. package/dist/hooks/useListFocus.d.ts +8 -7
  444. package/dist/hooks/useListFocus.d.ts.map +1 -1
  445. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  446. package/dist/hooks/useTreeFocus.js +13 -2
  447. package/dist/index.d.ts +2 -1
  448. package/dist/index.d.ts.map +1 -1
  449. package/dist/index.js +5 -1
  450. package/dist/theme/Theme.d.ts.map +1 -1
  451. package/dist/theme/Theme.js +2 -7
  452. package/dist/theme/defineTheme.d.ts +6 -0
  453. package/dist/theme/defineTheme.d.ts.map +1 -1
  454. package/dist/theme/defineTheme.js +4 -1
  455. package/dist/theme/expandColorScale.d.ts +19 -2
  456. package/dist/theme/expandColorScale.d.ts.map +1 -1
  457. package/dist/theme/expandColorScale.js +38 -10
  458. package/dist/theme/index.d.ts +6 -4
  459. package/dist/theme/index.d.ts.map +1 -1
  460. package/dist/theme/index.js +2 -1
  461. package/dist/theme/themeRegistry.d.ts +32 -0
  462. package/dist/theme/themeRegistry.d.ts.map +1 -0
  463. package/dist/theme/themeRegistry.js +49 -0
  464. package/dist/theme/types.d.ts +10 -2
  465. package/dist/theme/types.d.ts.map +1 -1
  466. package/dist/theme/useTheme.d.ts +9 -0
  467. package/dist/theme/useTheme.d.ts.map +1 -1
  468. package/dist/theme/useTheme.js +82 -27
  469. package/dist/utils/rtlStyles.d.ts +21 -0
  470. package/dist/utils/rtlStyles.d.ts.map +1 -1
  471. package/dist/utils/rtlStyles.js +26 -1
  472. package/groups.doc.mjs +2 -2
  473. package/locales/en.json +8 -0
  474. package/locales/pseudo.json +6 -0
  475. package/package.json +4 -13
  476. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  477. package/src/AlertDialog/AlertDialog.tsx +1 -1
  478. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  479. package/src/AppShell/AppShell.doc.mjs +3 -3
  480. package/src/AppShell/AppShell.tsx +2 -20
  481. package/src/AppShell/index.ts +20 -1
  482. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  483. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  484. package/src/AspectRatio/AspectRatio.tsx +1 -1
  485. package/src/Avatar/Avatar.doc.mjs +3 -3
  486. package/src/Avatar/Avatar.tsx +8 -3
  487. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  488. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  489. package/src/Avatar/index.ts +26 -1
  490. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  491. package/src/AvatarGroup/AvatarGroup.tsx +3 -7
  492. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  493. package/src/AvatarGroup/AvatarGroupOverflow.tsx +1 -1
  494. package/src/Badge/Badge.doc.mjs +3 -3
  495. package/src/Badge/Badge.tsx +2 -31
  496. package/src/Badge/index.ts +32 -6
  497. package/src/Banner/Banner.doc.mjs +3 -3
  498. package/src/Banner/Banner.tsx +8 -45
  499. package/src/Banner/index.ts +39 -7
  500. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  501. package/src/Blockquote/Blockquote.tsx +1 -1
  502. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  503. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  504. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  505. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  506. package/src/Breadcrumbs/index.ts +19 -5
  507. package/src/Button/Button.doc.mjs +3 -3
  508. package/src/Button/Button.tsx +2 -21
  509. package/src/Button/index.ts +22 -7
  510. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  511. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  512. package/src/Calendar/Calendar.doc.mjs +3 -3
  513. package/src/Calendar/Calendar.test.tsx +15 -3
  514. package/src/Calendar/Calendar.tsx +1 -1
  515. package/src/Calendar/styles.ts +2 -2
  516. package/src/Card/Card.doc.mjs +3 -3
  517. package/src/Card/Card.tsx +1 -1
  518. package/src/Carousel/Carousel.doc.mjs +10 -3
  519. package/src/Carousel/Carousel.test.tsx +232 -1
  520. package/src/Carousel/Carousel.tsx +144 -21
  521. package/src/Carousel/index.ts +1 -1
  522. package/src/Center/Center.doc.mjs +41 -3
  523. package/src/Center/Center.test.tsx +75 -0
  524. package/src/Center/Center.tsx +38 -3
  525. package/src/Chat/Chat.doc.mjs +3 -3
  526. package/src/Chat/ChatComposer.doc.mjs +1 -1
  527. package/src/Chat/ChatComposer.tsx +5 -5
  528. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  529. package/src/Chat/ChatComposerDrawer.tsx +3 -3
  530. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  531. package/src/Chat/ChatComposerInput.tsx +1 -1
  532. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  533. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  534. package/src/Chat/ChatDictationButton.tsx +1 -1
  535. package/src/Chat/ChatLayout.doc.mjs +1 -1
  536. package/src/Chat/ChatLayout.test.tsx +57 -0
  537. package/src/Chat/ChatLayout.tsx +23 -2
  538. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  539. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  540. package/src/Chat/ChatMessage.doc.mjs +1 -1
  541. package/src/Chat/ChatMessage.tsx +1 -1
  542. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  543. package/src/Chat/ChatMessageBubble.tsx +1 -1
  544. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  545. package/src/Chat/ChatMessageList.tsx +1 -1
  546. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  547. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  548. package/src/Chat/ChatSendButton.tsx +5 -3
  549. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  550. package/src/Chat/ChatSystemMessage.tsx +1 -1
  551. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  552. package/src/Chat/ChatTokenizedText.tsx +1 -1
  553. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  554. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  555. package/src/CheckboxInput/CheckboxInput.test.tsx +33 -0
  556. package/src/CheckboxInput/CheckboxInput.tsx +1 -1
  557. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  558. package/src/CheckboxList/CheckboxList.tsx +1 -1
  559. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  560. package/src/CheckboxList/CheckboxListItem.tsx +1 -1
  561. package/src/Citation/Citation.doc.mjs +2 -2
  562. package/src/Citation/Citation.tsx +1 -1
  563. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  564. package/src/ClickableCard/ClickableCard.tsx +3 -3
  565. package/src/Code/Code.tsx +2 -2
  566. package/src/CodeBlock/Code.doc.mjs +1 -1
  567. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  568. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  569. package/src/Collapsible/Collapsible.tsx +3 -3
  570. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  571. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  572. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  573. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  574. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  575. package/src/CommandPalette/CommandPalette.tsx +1 -1
  576. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  577. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  578. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  579. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  580. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  581. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  582. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  583. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  584. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  585. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  586. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  587. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  588. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  589. package/src/ContextMenu/ContextMenu.tsx +17 -5
  590. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  591. package/src/DateInput/DateInput.doc.mjs +3 -3
  592. package/src/DateInput/DateInput.tsx +1 -1
  593. package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
  594. package/src/DateRangeInput/DateRangeInput.tsx +1 -1
  595. package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
  596. package/src/DateTimeInput/DateTimeInput.tsx +1 -1
  597. package/src/Dialog/Dialog.doc.mjs +9 -5
  598. package/src/Dialog/Dialog.test.tsx +84 -1
  599. package/src/Dialog/Dialog.tsx +87 -45
  600. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  601. package/src/Dialog/DialogHeader.tsx +1 -1
  602. package/src/Dialog/index.ts +18 -1
  603. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  604. package/src/Divider/Divider.doc.mjs +3 -3
  605. package/src/Divider/Divider.tsx +2 -19
  606. package/src/Divider/index.ts +19 -5
  607. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  608. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  609. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  610. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  611. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  612. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  613. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  614. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +1 -1
  615. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  616. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +10 -1
  617. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +64 -0
  618. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  619. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  620. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  621. package/src/DropdownMenu/menuItemHover.ts +1 -0
  622. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  623. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  624. package/src/EmptyState/EmptyState.tsx +1 -1
  625. package/src/Field/Field.doc.mjs +7 -3
  626. package/src/Field/Field.tsx +1 -1
  627. package/src/Field/FieldLabel.doc.mjs +1 -1
  628. package/src/Field/FieldLabel.test.tsx +78 -0
  629. package/src/Field/FieldLabel.tsx +50 -3
  630. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  631. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  632. package/src/FieldStatus/FieldStatus.tsx +16 -23
  633. package/src/FieldStatus/index.ts +20 -5
  634. package/src/FileInput/FileInput.doc.mjs +3 -3
  635. package/src/FileInput/FileInput.tsx +1 -1
  636. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  637. package/src/FormLayout/FormLayout.tsx +2 -5
  638. package/src/Grid/Grid.doc.mjs +3 -3
  639. package/src/Grid/Grid.tsx +1 -1
  640. package/src/Grid/GridSpan.doc.mjs +1 -1
  641. package/src/Grid/GridSpan.tsx +1 -1
  642. package/src/HStack/HStack.tsx +1 -1
  643. package/src/Heading/Heading.tsx +4 -3
  644. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  645. package/src/HoverCard/HoverCard.tsx +1 -1
  646. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  647. package/src/Icon/Icon.doc.mjs +4 -3
  648. package/src/Icon/Icon.test.tsx +23 -0
  649. package/src/Icon/Icon.tsx +4 -2
  650. package/src/Icon/globalIconRegistry.test.tsx +87 -1
  651. package/src/Icon/globalIconRegistry.tsx +109 -9
  652. package/src/Icon/index.ts +9 -7
  653. package/src/Icon/useIcon.ts +23 -0
  654. package/src/IconButton/IconButton.doc.mjs +2 -2
  655. package/src/IconButton/IconButton.tsx +1 -1
  656. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  657. package/src/InputGroup/InputGroup.tsx +1 -1
  658. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  659. package/src/InputGroup/InputGroupText.tsx +1 -1
  660. package/src/Item/Item.doc.mjs +3 -3
  661. package/src/Item/Item.tsx +1 -1
  662. package/src/Kbd/Kbd.doc.mjs +3 -3
  663. package/src/Kbd/Kbd.tsx +1 -1
  664. package/src/Layer/Layer.doc.mjs +2 -2
  665. package/src/Layer/useLayer.doc.mjs +2 -2
  666. package/src/Layout/Layout.doc.mjs +3 -3
  667. package/src/Layout/Layout.tsx +1 -1
  668. package/src/Layout/LayoutContent.doc.mjs +1 -1
  669. package/src/Layout/LayoutContent.tsx +1 -1
  670. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  671. package/src/Layout/LayoutFooter.tsx +1 -1
  672. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  673. package/src/Layout/LayoutHeader.tsx +1 -1
  674. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  675. package/src/Layout/LayoutPanel.tsx +1 -1
  676. package/src/Lightbox/Lightbox.doc.mjs +3 -3
  677. package/src/Lightbox/Lightbox.test.tsx +33 -0
  678. package/src/Lightbox/Lightbox.tsx +16 -4
  679. package/src/Link/Link.doc.mjs +3 -3
  680. package/src/Link/Link.tsx +1 -1
  681. package/src/Link/LinkProvider.doc.mjs +2 -2
  682. package/src/Link/LinkProvider.tsx +2 -2
  683. package/src/List/List.doc.mjs +3 -3
  684. package/src/List/List.tsx +1 -1
  685. package/src/List/ListItem.doc.mjs +2 -2
  686. package/src/List/ListItem.tsx +1 -1
  687. package/src/Markdown/Markdown.doc.mjs +81 -1
  688. package/src/Markdown/Markdown.test.tsx +92 -0
  689. package/src/Markdown/Markdown.tsx +96 -68
  690. package/src/Markdown/parser.perf.test.ts +47 -35
  691. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  692. package/src/MetadataList/MetadataList.tsx +1 -1
  693. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  694. package/src/MetadataList/MetadataListItem.tsx +1 -1
  695. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  696. package/src/MobileNav/MobileNav.tsx +1 -1
  697. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  698. package/src/MoreMenu/MoreMenu.tsx +3 -3
  699. package/src/MultiSelector/MultiSelector.doc.mjs +35 -10
  700. package/src/MultiSelector/MultiSelector.test.tsx +220 -0
  701. package/src/MultiSelector/MultiSelector.tsx +201 -56
  702. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  703. package/src/NavIcon/NavIcon.tsx +1 -1
  704. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  705. package/src/NumberInput/NumberInput.doc.mjs +3 -3
  706. package/src/NumberInput/NumberInput.tsx +1 -1
  707. package/src/Outline/Outline.doc.mjs +3 -3
  708. package/src/Outline/Outline.tsx +1 -1
  709. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  710. package/src/OverflowList/OverflowList.tsx +1 -1
  711. package/src/Overlay/Overlay.doc.mjs +2 -2
  712. package/src/Pagination/Pagination.doc.mjs +3 -3
  713. package/src/Pagination/Pagination.tsx +2 -22
  714. package/src/Pagination/index.ts +21 -1
  715. package/src/Popover/Popover.doc.mjs +31 -3
  716. package/src/Popover/Popover.test.tsx +41 -0
  717. package/src/Popover/Popover.tsx +25 -2
  718. package/src/Popover/usePopover.doc.mjs +2 -2
  719. package/src/Popover/usePopover.tsx +10 -4
  720. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  721. package/src/PowerSearch/PowerSearch.tsx +1 -1
  722. package/src/ProgressBar/ProgressBar.doc.mjs +3 -3
  723. package/src/ProgressBar/ProgressBar.tsx +2 -22
  724. package/src/ProgressBar/index.ts +22 -5
  725. package/src/RadioList/RadioList.doc.mjs +3 -3
  726. package/src/RadioList/RadioList.tsx +1 -1
  727. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  728. package/src/RadioList/RadioListItem.tsx +1 -1
  729. package/src/Resizable/Resizable.doc.mjs +2 -2
  730. package/src/Resizable/ResizeHandle.test.tsx +3 -2
  731. package/src/Resizable/ResizeHandle.tsx +8 -12
  732. package/src/Resizable/useResizable.doc.mjs +2 -2
  733. package/src/Section/Section.doc.mjs +3 -3
  734. package/src/Section/Section.tsx +2 -20
  735. package/src/Section/index.ts +20 -5
  736. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  737. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  738. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  739. package/src/SegmentedControl/SegmentedControlItem.tsx +1 -1
  740. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  741. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  742. package/src/SelectableCard/SelectableCard.tsx +19 -3
  743. package/src/Selector/Selector.doc.mjs +28 -8
  744. package/src/Selector/Selector.test.tsx +193 -0
  745. package/src/Selector/Selector.tsx +194 -51
  746. package/src/Selector/SelectorOption.doc.mjs +1 -1
  747. package/src/SideNav/SideNav.doc.mjs +3 -3
  748. package/src/SideNav/SideNav.tsx +1 -1
  749. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  750. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  751. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  752. package/src/SideNav/SideNavHeading.tsx +8 -9
  753. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  754. package/src/SideNav/SideNavItem.tsx +5 -6
  755. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  756. package/src/SideNav/SideNavSection.tsx +1 -1
  757. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  758. package/src/Skeleton/Skeleton.tsx +1 -1
  759. package/src/Slider/Slider.doc.mjs +3 -3
  760. package/src/Slider/Slider.tsx +9 -13
  761. package/src/Spinner/Spinner.doc.mjs +3 -3
  762. package/src/Spinner/Spinner.tsx +1 -1
  763. package/src/Stack/Stack.doc.mjs +3 -3
  764. package/src/Stack/Stack.tsx +1 -1
  765. package/src/Stack/StackItem.tsx +1 -1
  766. package/src/StatusDot/StatusDot.doc.mjs +3 -3
  767. package/src/StatusDot/StatusDot.tsx +2 -22
  768. package/src/StatusDot/index.ts +22 -5
  769. package/src/Switch/Switch.doc.mjs +3 -3
  770. package/src/Switch/Switch.test.tsx +34 -0
  771. package/src/Switch/Switch.tsx +1 -1
  772. package/src/TabList/Tab.doc.mjs +1 -1
  773. package/src/TabList/Tab.tsx +1 -1
  774. package/src/TabList/TabList.doc.mjs +3 -3
  775. package/src/TabList/TabList.tsx +1 -1
  776. package/src/TabList/TabMenu.doc.mjs +1 -1
  777. package/src/TabList/TabMenu.tsx +1 -1
  778. package/src/Table/BaseTable.tsx +1 -1
  779. package/src/Table/Table.doc.mjs +3 -3
  780. package/src/Table/Table.tsx +1 -1
  781. package/src/Table/TableCell.doc.mjs +1 -1
  782. package/src/Table/TableCell.tsx +1 -1
  783. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  784. package/src/Table/TableHeaderCell.tsx +1 -1
  785. package/src/Table/TableRow.doc.mjs +1 -1
  786. package/src/Table/TableRow.tsx +1 -1
  787. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +21 -3
  788. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  789. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  790. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  791. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  792. package/src/Table/useTableFilterState.doc.mjs +1 -1
  793. package/src/Table/useTableFiltering.doc.mjs +1 -1
  794. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  795. package/src/Table/useTablePagination.doc.mjs +1 -1
  796. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  797. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  798. package/src/Table/useTableRowStatus.doc.mjs +2 -2
  799. package/src/Table/useTableSelection.doc.mjs +1 -1
  800. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  801. package/src/Table/useTableSortable.doc.mjs +1 -1
  802. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  803. package/src/Table/useTableTreeData.doc.mjs +10 -1
  804. package/src/Table/useTableTreeState.doc.mjs +1 -1
  805. package/src/Text/Heading.doc.mjs +4 -4
  806. package/src/Text/Text.doc.mjs +4 -4
  807. package/src/Text/Text.test.tsx +42 -0
  808. package/src/Text/Text.tsx +26 -2
  809. package/src/Text/index.ts +32 -6
  810. package/src/TextArea/TextArea.doc.mjs +5 -5
  811. package/src/TextArea/TextArea.test.tsx +112 -7
  812. package/src/TextArea/TextArea.tsx +143 -50
  813. package/src/TextInput/TextInput.doc.mjs +3 -3
  814. package/src/TextInput/TextInput.tsx +1 -1
  815. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  816. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  817. package/src/Thumbnail/Thumbnail.tsx +28 -35
  818. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  819. package/src/TimeInput/TimeInput.tsx +1 -1
  820. package/src/Timestamp/Timestamp.doc.mjs +5 -5
  821. package/src/Timestamp/Timestamp.test.tsx +131 -0
  822. package/src/Timestamp/Timestamp.tsx +92 -9
  823. package/src/Timestamp/formatInstant.ts +3 -4
  824. package/src/Timestamp/tooltipEntries.ts +3 -2
  825. package/src/Toast/Toast.doc.mjs +3 -3
  826. package/src/Toast/useToast.doc.mjs +2 -2
  827. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  828. package/src/ToggleButton/ToggleButton.tsx +1 -1
  829. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  830. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  831. package/src/Token/Token.doc.mjs +3 -3
  832. package/src/Token/Token.tsx +2 -28
  833. package/src/Token/index.ts +28 -1
  834. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  835. package/src/Tokenizer/Tokenizer.tsx +1 -1
  836. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  837. package/src/Toolbar/Toolbar.tsx +1 -1
  838. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  839. package/src/Tooltip/Tooltip.tsx +1 -1
  840. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  841. package/src/TopNav/TopNav.doc.mjs +3 -3
  842. package/src/TopNav/TopNav.tsx +1 -1
  843. package/src/TopNav/TopNavHeading.doc.mjs +1 -1
  844. package/src/TopNav/TopNavHeading.tsx +7 -8
  845. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  846. package/src/TopNav/TopNavItem.tsx +1 -1
  847. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  848. package/src/TopNav/TopNavMegaMenu.tsx +32 -6
  849. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  850. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  851. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  852. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  853. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  854. package/src/TopNav/TopNavMenu.tsx +5 -4
  855. package/src/TreeList/TreeList.doc.mjs +3 -3
  856. package/src/TreeList/TreeList.tsx +1 -1
  857. package/src/TreeList/TreeListBranches.tsx +1 -1
  858. package/src/TreeList/TreeListItem.tsx +4 -3
  859. package/src/TreeList/TreeListTypes.ts +1 -18
  860. package/src/TreeList/index.ts +19 -1
  861. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  862. package/src/Typeahead/BaseTypeahead.tsx +1 -1
  863. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  864. package/src/Typeahead/Typeahead.tsx +1 -1
  865. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  866. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  867. package/src/VStack/VStack.tsx +1 -1
  868. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  869. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  870. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  871. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  872. package/src/doc-mjs.d.ts +5 -2
  873. package/src/docPropLiterals.test.ts +1 -1
  874. package/src/docPropReferences.test.ts +1 -1
  875. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  876. package/src/hooks/index.ts +7 -0
  877. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  878. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  879. package/src/hooks/useContainerReveal.test.tsx +116 -0
  880. package/src/hooks/useContainerReveal.ts +181 -0
  881. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  882. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  883. package/src/hooks/useGridFocus.doc.mjs +2 -2
  884. package/src/hooks/useGridFocus.ts +8 -6
  885. package/src/hooks/useHotkeys.doc.mjs +2 -2
  886. package/src/hooks/useImageMode.doc.mjs +2 -2
  887. package/src/hooks/useInputContainer.doc.mjs +2 -2
  888. package/src/hooks/useInputContainer.test.tsx +180 -0
  889. package/src/hooks/useInputContainer.ts +36 -1
  890. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  891. package/src/hooks/useInputStatusIcon.tsx +12 -1
  892. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  893. package/src/hooks/useKeyboardHint.tsx +1 -1
  894. package/src/hooks/useListFocus.doc.mjs +2 -2
  895. package/src/hooks/useListFocus.ts +8 -7
  896. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  897. package/src/hooks/useOverflow.doc.mjs +2 -2
  898. package/src/hooks/useScrollLock.doc.mjs +2 -2
  899. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  900. package/src/hooks/useStreamingText.doc.mjs +2 -2
  901. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  902. package/src/hooks/useTreeFocus.test.tsx +53 -1
  903. package/src/hooks/useTreeFocus.ts +13 -2
  904. package/src/i18n/InternationalizationProvider.doc.mjs +2 -2
  905. package/src/i18n/useTranslator.doc.mjs +2 -2
  906. package/src/index.ts +14 -10
  907. package/src/theme/MediaTheme.doc.mjs +2 -2
  908. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  909. package/src/theme/Theme.doc.mjs +2 -2
  910. package/src/theme/Theme.tsx +3 -7
  911. package/src/theme/defineTheme.ts +11 -1
  912. package/src/theme/expandColorScale.test.ts +144 -0
  913. package/src/theme/expandColorScale.ts +53 -15
  914. package/src/theme/index.ts +11 -9
  915. package/src/theme/themeRegistry.test.ts +59 -0
  916. package/src/theme/themeRegistry.ts +53 -0
  917. package/src/theme/types.ts +14 -13
  918. package/src/theme/useTheme.doc.mjs +2 -2
  919. package/src/theme/useTheme.test.tsx +48 -3
  920. package/src/theme/useTheme.ts +100 -29
  921. package/src/utils/rtlStyles.ts +22 -0
  922. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  923. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  924. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  925. package/dist/authoring/doc.d.ts +0 -145
  926. package/dist/authoring/doc.d.ts.map +0 -1
  927. package/dist/authoring/doc.js +0 -100
  928. package/dist/authoring/index.d.ts +0 -29
  929. package/dist/authoring/index.d.ts.map +0 -1
  930. package/dist/authoring/index.js +0 -28
  931. package/dist/authoring/integration.d.ts +0 -35
  932. package/dist/authoring/integration.d.ts.map +0 -1
  933. package/dist/authoring/integration.js +0 -30
  934. package/dist/authoring/template.d.ts +0 -66
  935. package/dist/authoring/template.d.ts.map +0 -1
  936. package/dist/authoring/template.js +0 -55
  937. package/dist/config.d.ts +0 -80
  938. package/dist/config.d.ts.map +0 -1
  939. package/dist/config.js +0 -40
  940. package/dist/docs-types.d.ts +0 -969
  941. package/dist/docs-types.d.ts.map +0 -1
  942. package/dist/docs-types.js +0 -1
  943. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  944. package/src/authoring/doc.ts +0 -164
  945. package/src/authoring/index.test.ts +0 -52
  946. package/src/authoring/index.ts +0 -50
  947. package/src/authoring/integration.ts +0 -42
  948. package/src/authoring/template.ts +0 -74
  949. package/src/config.test.ts +0 -16
  950. package/src/config.ts +0 -92
  951. package/src/docs-types.ts +0 -1108
@@ -160,3 +160,62 @@ describe('useInputStatusIcon — no dangling aria-describedby (WCAG 1.3.1)', ()
160
160
  expectNoDanglingDescribedBy(container);
161
161
  });
162
162
  });
163
+
164
+ describe('useInputStatusIcon — input-status-icon theme target', () => {
165
+ // The stable theme target lands on the on-field status glyph itself, so a
166
+ // theme can restyle (e.g. resize) just this icon via `defineTheme`. It is
167
+ // rendered by the attached and tooltip variants; detached suppresses the
168
+ // on-field icon in favour of the detached message box's leading glyph.
169
+ const getStatusIcon = (root: HTMLElement): HTMLElement => {
170
+ const icon = root.querySelector('.astryx-input-status-icon');
171
+ if (icon == null) {
172
+ throw new Error('status icon not found');
173
+ }
174
+ return icon as HTMLElement;
175
+ };
176
+
177
+ for (const variant of ['attached', 'tooltip'] as const) {
178
+ it(`renders the target on the on-field icon (statusVariant="${variant}")`, () => {
179
+ const {container} = render(
180
+ <TextInput
181
+ label="Field"
182
+ value=""
183
+ onChange={() => {}}
184
+ status={{type: 'warning', message: 'Message'}}
185
+ statusVariant={variant}
186
+ />,
187
+ );
188
+ const icon = getStatusIcon(container);
189
+ expect(icon).toHaveClass('astryx-input-status-icon');
190
+ expect(icon).toHaveClass('astryx-icon');
191
+ expect(icon).toHaveAttribute('data-size', 'md');
192
+ expect(icon).toHaveAttribute('data-status', 'warning');
193
+ });
194
+ }
195
+
196
+ it('reflects the status type per status', () => {
197
+ const {container} = render(
198
+ <TextInput
199
+ label="Field"
200
+ value=""
201
+ onChange={() => {}}
202
+ status={{type: 'success', message: 'Message'}}
203
+ statusVariant="attached"
204
+ />,
205
+ );
206
+ expect(getStatusIcon(container)).toHaveAttribute('data-status', 'success');
207
+ });
208
+
209
+ it('does not render the on-field target for the detached variant', () => {
210
+ const {container} = render(
211
+ <TextInput
212
+ label="Field"
213
+ value=""
214
+ onChange={() => {}}
215
+ status={{type: 'error', message: 'Message'}}
216
+ statusVariant="detached"
217
+ />,
218
+ );
219
+ expect(container.querySelector('.astryx-input-status-icon')).toBeNull();
220
+ });
221
+ });
@@ -41,6 +41,7 @@ import type {InputStatus, InputStatusType} from '../Field/types';
41
41
  import {useTooltip} from '../Tooltip';
42
42
  import {useTranslator} from '../i18n';
43
43
  import {colorVars, radiusVars} from '../theme/tokens.stylex';
44
+ import {themeProps} from '../utils/themeProps';
44
45
 
45
46
  /**
46
47
  * Maps each status type to its glyph. Shared so every input shows the same icon
@@ -194,7 +195,17 @@ export function useInputStatusIcon({
194
195
  }
195
196
 
196
197
  const icon = (
197
- <Icon icon={STATUS_ICON[status.type]} size={size} color={status.type} />
198
+ <Icon
199
+ icon={STATUS_ICON[status.type]}
200
+ size={size}
201
+ color={status.type}
202
+ // Stable theme target on the status glyph itself, so a theme can restyle
203
+ // just this icon (color, size) — and each status — via `defineTheme`.
204
+ // Same-element rules in @layer astryx-theme win over the icon's own base
205
+ // width/height/fontSize, which a field-level target could not reach.
206
+ // Shared by the attached and tooltip variants across all bordered inputs.
207
+ {...themeProps('input-status-icon', {size, status: status.type})}
208
+ />
198
209
  );
199
210
 
200
211
  // Attached (and tooltip-without-message) variants: plain, non-interactive
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useKeyboardHint',
6
6
  displayName: 'useKeyboardHint',
@@ -72,7 +72,7 @@ export const docs = {
72
72
  category: 'focus',
73
73
  };
74
74
 
75
- /** @type {import('../docs-types').HookTranslationDoc} */
75
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
76
76
  export const docsDense = {
77
77
  description:
78
78
  'Ephemeral "← → to navigate" hint anchored to the focused item on first keyboard focus of a roving-tabindex composite (Toolbar/TabList/SegmentedControl). Teaches sighted keyboard users that arrows move within the group. Kbd-rendered arrows in a top-layer popover="manual", CSS-anchor-positioned (never clipped by overflow), aria-hidden. Auto-dismisses on first arrow press, timeout, or blur; never re-shows for that instance.',
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/hooks/index.ts
14
14
  * - /packages/core/src/hooks/useKeyboardHint.doc.mjs
15
15
  * - /apps/storybook/stories/useKeyboardHint.stories.tsx
16
- * - /packages/cli/templates/blocks/components/Hooks/useKeyboardHintHookUsage.tsx
16
+ * - /packages/cli/assets/templates/blocks/components/Hooks/useKeyboardHintHookUsage.tsx
17
17
  */
18
18
 
19
19
  import React, {useCallback, useEffect, useRef, type ReactNode} from 'react';
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useListFocus',
6
6
  displayName: 'useListFocus',
@@ -135,7 +135,7 @@ export const docs = {
135
135
  category: 'focus',
136
136
  };
137
137
 
138
- /** @type {import('../docs-types').HookTranslationDoc} */
138
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
139
139
  export const docsDense = {
140
140
  description:
141
141
  'Manages keyboard navigation within linear list following WAI-ARIA menu/listbox/toolbar patterns. Supports arrow key navigation (vertical / horizontal), Home/End for boundaries, optional wrap-around, Escape to close. Suitable for dropdown menus, toolbars, any 1D focusable list.',
@@ -82,14 +82,15 @@ export interface UseListFocusOptions {
82
82
  hasHomeEnd?: boolean;
83
83
 
84
84
  /**
85
- * Whether the list is in a right-to-left context. When true, ArrowLeft and
86
- * ArrowRight are swapped so horizontal navigation follows visual direction.
87
- * Only affects horizontal (`'horizontal'`/`'both'`) navigation.
85
+ * @deprecated Direction is auto-detected from the container's computed
86
+ * `direction` — omit this. The explicit override is redundant (there's no
87
+ * valid reason to force RTL arrows in an LTR context) and will be removed in
88
+ * an upcoming major.
88
89
  *
89
- * When omitted, the direction is auto-detected from the container's computed
90
- * `direction` (read lazily on keydown, only for horizontal arrow keys), so
91
- * lists inside `dir="rtl"` subtrees flip automatically. Pass an explicit
92
- * boolean to override detection.
90
+ * When set, forces whether the list is right-to-left: ArrowLeft/ArrowRight
91
+ * are swapped so horizontal navigation follows visual direction. When
92
+ * omitted (preferred), the direction is auto-detected from the container's
93
+ * computed `direction` (read lazily on keydown, horizontal arrows only).
93
94
  * @default undefined (auto-detect from the container)
94
95
  */
95
96
  isRtl?: boolean;
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useMediaQuery',
6
6
  displayName: 'useMediaQuery',
@@ -34,7 +34,7 @@ export const docs = {
34
34
  category: 'media',
35
35
  };
36
36
 
37
- /** @type {import('../docs-types').HookTranslationDoc} */
37
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
38
38
  export const docsDense = {
39
39
  description: 'SSR-safe media query hook subscribing to window.matchMedia changes. Returns whether given media query matches. Always returns false on first render for SSR compatibility.',
40
40
  paramDescriptions: {
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useOverflow',
6
6
  displayName: 'useOverflow',
@@ -84,7 +84,7 @@ export const docs = {
84
84
  category: 'layout',
85
85
  };
86
86
 
87
- /** @type {import('../docs-types').HookTranslationDoc} */
87
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
88
88
  export const docsDense = {
89
89
  description:
90
90
  'Measures children rendered in hidden container to determine how many fit in available width w/o flickering. Uses ResizeObserver to react to container size changes. Measurement container should hold all items plus optional overflow indicator element (identified by data-overflow-indicator attribute).',
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useScrollLock',
6
6
  displayName: 'useScrollLock',
@@ -29,7 +29,7 @@ export const docs = {
29
29
  category: 'layout',
30
30
  };
31
31
 
32
- /** @type {import('../docs-types').HookTranslationDoc} */
32
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
33
33
  export const docsDense = {
34
34
  description:
35
35
  'Locks body scroll when active by pinning body w/ position: fixed. Prevents background scrolling behind modals + dialogs, necessary for iOS Safari where overscroll-behavior: contain does not work. Restores original scroll position when unlocked.',
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useScrollOverflow',
6
6
  displayName: 'useScrollOverflow',
@@ -43,7 +43,7 @@ export const docs = {
43
43
  category: 'layout',
44
44
  };
45
45
 
46
- /** @type {import('../docs-types').HookTranslationDoc} */
46
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
47
47
  export const docsDense = {
48
48
  description:
49
49
  'Tracks scroll overflow state for horizontally scrollable container. Returns ref callback + state booleans that update as user scrolls / container resizes. Uses scroll event listeners + ResizeObserver for reactive updates. Tolerance of 1px applied to avoid sub-pixel false positives.',
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useStreamingText',
6
6
  displayName: 'useStreamingText',
@@ -55,7 +55,7 @@ export const docs = {
55
55
  category: 'streaming',
56
56
  };
57
57
 
58
- /** @type {import('../docs-types').HookTranslationDoc} */
58
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
59
59
  export const docsDense = {
60
60
  description:
61
61
  'Smooths bursty streamed text into steady character-by-character reveal using requestAnimationFrame. Decouples arrival rate from display rate. Advances on word + syntax boundaries to avoid slicing mid-markdown / mid-word, preventing visual glitches w/ markdown renderers. Animation timing derives from Astryx motion tokens via useTheme when available, w/ sensible fallbacks outside theme provider. Snaps to full text when isStreaming becomes false.',
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useTreeFocus',
6
6
  displayName: 'useTreeFocus',
@@ -106,7 +106,7 @@ export const docs = {
106
106
  category: 'focus',
107
107
  };
108
108
 
109
- /** @type {import('../docs-types').HookTranslationDoc} */
109
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
110
110
  export const docsDense = {
111
111
  description:
112
112
  'Manages roving-tabindex focus + WAI-ARIA tree keyboard model. ArrowUp/Down/Home/End roam linearly over visible treeitems (skip disabled); ArrowRight/Left carry tree semantics (expand/collapse, move to first-child/parent). Enter/Space activate; printable chars trigger typeahead.',
@@ -35,10 +35,12 @@ function Tree({
35
35
  collapsed = NO_NODES,
36
36
  expanded = NO_NODES,
37
37
  onActivate,
38
+ dir,
38
39
  }: {
39
40
  collapsed?: Node[];
40
41
  expanded?: Node[];
41
42
  onActivate?: (id: string | undefined) => boolean | undefined;
43
+ dir?: 'ltr' | 'rtl';
42
44
  }) {
43
45
  const [isOpen, setIsOpen] = useState(false);
44
46
  const nodes = isOpen && expanded.length > 0 ? expanded : collapsed;
@@ -47,7 +49,7 @@ function Tree({
47
49
  onActivate: onActivate ? (_item, id) => onActivate(id) : undefined,
48
50
  });
49
51
  return (
50
- <ul ref={treeRef} role="tree" onKeyDown={handleKeyDown}>
52
+ <ul ref={treeRef} role="tree" dir={dir} onKeyDown={handleKeyDown}>
51
53
  {nodes.map(n => (
52
54
  <li
53
55
  key={n.id}
@@ -172,6 +174,56 @@ describe('useTreeFocus tree semantics (Arrow Left/Right)', () => {
172
174
  });
173
175
  });
174
176
 
177
+ describe('useTreeFocus RTL tree semantics (WAI-ARIA Tree View)', () => {
178
+ const COLLAPSED: Node[] = [
179
+ {id: 'p', label: 'Parent', level: 1, expanded: false},
180
+ ];
181
+ const EXPANDED: Node[] = [
182
+ {id: 'p', label: 'Parent', level: 1, expanded: true},
183
+ {id: 'c1', label: 'Child 1', level: 2},
184
+ {id: 'c2', label: 'Child 2', level: 2},
185
+ ];
186
+
187
+ it('auto-detects dir="rtl": ArrowLeft expands a collapsed parent, then enters the first child', () => {
188
+ render(<Tree collapsed={COLLAPSED} expanded={EXPANDED} dir="rtl" />);
189
+ const tree = screen.getByRole('tree');
190
+ screen.getByTestId('p').focus();
191
+
192
+ expect(screen.queryByTestId('c1')).not.toBeInTheDocument();
193
+ fireEvent.keyDown(tree, {key: 'ArrowLeft'}); // RTL: descend → expand
194
+ expect(screen.getByTestId('c1')).toBeInTheDocument();
195
+ expect(screen.getByTestId('p')).toHaveFocus();
196
+
197
+ fireEvent.keyDown(tree, {key: 'ArrowLeft'}); // RTL: descend → into first child
198
+ expect(screen.getByTestId('c1')).toHaveFocus();
199
+ });
200
+
201
+ it('auto-detects dir="rtl": ArrowRight moves to parent, then collapses', () => {
202
+ render(<Tree collapsed={COLLAPSED} expanded={EXPANDED} dir="rtl" />);
203
+ const tree = screen.getByRole('tree');
204
+ screen.getByTestId('p').focus();
205
+ fireEvent.keyDown(tree, {key: 'ArrowLeft'}); // expand
206
+ fireEvent.keyDown(tree, {key: 'ArrowLeft'}); // into child 1
207
+ expect(screen.getByTestId('c1')).toHaveFocus();
208
+
209
+ fireEvent.keyDown(tree, {key: 'ArrowRight'}); // RTL: ascend → child leaf → parent
210
+ expect(screen.getByTestId('p')).toHaveFocus();
211
+
212
+ fireEvent.keyDown(tree, {key: 'ArrowRight'}); // RTL: ascend → expanded parent → collapse
213
+ expect(screen.queryByTestId('c1')).not.toBeInTheDocument();
214
+ });
215
+
216
+ it('vertical keys (ArrowDown/ArrowUp) are unaffected by RTL', () => {
217
+ render(<Tree collapsed={FLAT} dir="rtl" />);
218
+ const tree = screen.getByRole('tree');
219
+ screen.getByTestId('a').focus();
220
+ fireEvent.keyDown(tree, {key: 'ArrowDown'});
221
+ expect(screen.getByTestId('b')).toHaveFocus();
222
+ fireEvent.keyDown(tree, {key: 'ArrowUp'});
223
+ expect(screen.getByTestId('a')).toHaveFocus();
224
+ });
225
+ });
226
+
175
227
  describe('useTreeFocus activation + typeahead', () => {
176
228
  it('Enter/Space call onActivate for the focused item', () => {
177
229
  const onActivate = vi.fn(() => true);
@@ -4,7 +4,7 @@
4
4
 
5
5
  /**
6
6
  * @file useTreeFocus.ts
7
- * @input Uses React useCallback, useRef, useIsomorphicLayoutEffect
7
+ * @input Uses React useCallback, useRef, useIsomorphicLayoutEffect, isRtlElement
8
8
  * @output Exports useTreeFocus hook for WAI-ARIA tree keyboard navigation
9
9
  * @position Core hook; used by TreeList for roving tabindex + APG tree keyboard model
10
10
  *
@@ -16,6 +16,7 @@
16
16
 
17
17
  import {useCallback, useRef} from 'react';
18
18
  import {useIsomorphicLayoutEffect} from './useIsomorphicLayoutEffect';
19
+ import {isRtlElement} from './isRtlElement';
19
20
 
20
21
  /** Keys handled by the tree keyboard model (used to gate typeahead). */
21
22
  const NAVIGATION_KEYS = new Set([
@@ -429,7 +430,17 @@ export function useTreeFocus<T extends HTMLElement = HTMLElement>(
429
430
  return;
430
431
  }
431
432
 
432
- switch (e.key) {
433
+ // Under RTL, swap the horizontal arrows to a logical key so the
434
+ // expand/collapse case bodies (written LTR-first) stay unchanged.
435
+ let key = e.key;
436
+ if (key === 'ArrowLeft' || key === 'ArrowRight') {
437
+ const rtl = isRtlElement(treeRef.current);
438
+ if (rtl) {
439
+ key = key === 'ArrowLeft' ? 'ArrowRight' : 'ArrowLeft';
440
+ }
441
+ }
442
+
443
+ switch (key) {
433
444
  case 'ArrowDown': {
434
445
  e.preventDefault();
435
446
  focusEnabledFrom(items, currentIndex < 0 ? 0 : currentIndex + 1, 1);
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'InternationalizationProvider',
@@ -128,7 +128,7 @@ export function AppI18n({children}: {children: ReactNode}) {
128
128
  ],
129
129
  };
130
130
 
131
- /** @type {import('../docs-types').TranslationDoc} */
131
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
132
132
  export const docsDense = {
133
133
  description:
134
134
  'Wraps app to set active locale and (optionally) merge translation catalogs + per-locale overrides. Astryx components resolve strings against this context; missing keys fall back to shipped English.',
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useTranslator',
6
6
  displayName: 'useTranslator',
@@ -31,7 +31,7 @@ export const docs = {
31
31
  importPath: '@astryxdesign/core',
32
32
  };
33
33
 
34
- /** @type {import('../docs-types').HookTranslationDoc} */
34
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
35
35
  export const docsDense = {
36
36
  description:
37
37
  'Hook returning a translator function bound to the current InternationalizationProvider context. Call with an ICU MessageFormat key and values to get the formatted string for the active locale.',
package/src/index.ts CHANGED
@@ -168,25 +168,29 @@ export * from './hooks';
168
168
  export * from './utils';
169
169
 
170
170
  // Theme
171
+ export type {TextColorMap} from './Text';
171
172
  export * from './theme';
172
173
 
173
174
  // Internationalization
174
175
  export * from './i18n';
175
176
 
176
- // Doc types — for external library authors writing .doc.mjs files
177
+ // Doc types — for external library authors writing .doc.mjs files.
178
+ // @deprecated Import these from `@astryxdesign/cli/authoring` instead. These
179
+ // re-exports are kept for one release cycle and will be removed; `astryx upgrade`
180
+ // repoints them automatically.
177
181
  export type {
178
182
  ComponentDoc,
179
183
  SingleComponentDoc,
180
184
  MultiComponentDoc,
181
- PropDoc,
185
+ ComponentPropDoc,
182
186
  ComponentEntry,
183
- ThemingTarget,
184
- ComponentVar,
185
- DerivedVar,
186
- TranslationDoc,
187
- GroupDoc,
187
+ ComponentThemingTarget,
188
+ ComponentThemingVar,
189
+ ComponentThemingDerivedVar,
190
+ ComponentTranslationDoc,
191
+ ComponentGroupDoc,
188
192
  ReferenceDoc,
189
193
  ReferenceSection,
190
- ContentBlock,
191
- TokenPreviewType,
192
- } from './docs-types';
194
+ ReferenceContentBlock,
195
+ ReferenceTokenPreviewType,
196
+ } from '@astryxdesign/cli/authoring';
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'MediaTheme',
@@ -100,7 +100,7 @@ export const docs = {
100
100
  ],
101
101
  };
102
102
 
103
- /** @type {import('../docs-types').TranslationDoc} */
103
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
104
104
  export const docsDense = {
105
105
  usage: {
106
106
  description:
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'SyntaxTheme',
@@ -74,7 +74,7 @@ export const docs = {
74
74
  ],
75
75
  };
76
76
 
77
- /** @type {import('../docs-types').TranslationDoc} */
77
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
78
78
  export const docsDense = {
79
79
  usage: {
80
80
  description:
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'Theme',
@@ -86,7 +86,7 @@ export const docs = {
86
86
  ],
87
87
  };
88
88
 
89
- /** @type {import('../docs-types').TranslationDoc} */
89
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
90
90
  export const docsDense = {
91
91
  usage: {
92
92
  description:
@@ -41,8 +41,8 @@ import {useIsomorphicLayoutEffect} from '../hooks/useIsomorphicLayoutEffect';
41
41
  import * as stylex from '@stylexjs/stylex';
42
42
  import type {ThemeMode} from './types';
43
43
  import {colorVars, typographyVars} from './tokens.stylex';
44
- import {registerIcons} from '../Icon/globalIconRegistry';
45
44
  import {generateThemeCSS, type DefinedTheme} from './defineTheme';
45
+ import {registerTheme} from './themeRegistry';
46
46
  import {dataAttr} from '../naming';
47
47
  import {ThemeContext} from './useTheme';
48
48
  import {warnOnce} from '../utils/devWarning';
@@ -243,6 +243,8 @@ export function Theme({
243
243
  }: ThemeProps): React.ReactElement {
244
244
  const isNested = use(ThemeNestingContext);
245
245
 
246
+ registerTheme(theme);
247
+
246
248
  useThemeStyleInjection(theme);
247
249
  useRootThemeSync(isNested, mode, theme.name);
248
250
 
@@ -254,12 +256,6 @@ export function Theme({
254
256
  ? wrapperStyles.light
255
257
  : wrapperStyles.system;
256
258
 
257
- // Icons — register globally (works in both server and client environments)
258
- const icons = theme.icons;
259
- if (icons != null) {
260
- registerIcons(icons);
261
- }
262
-
263
259
  // Memoize the context value to prevent unnecessary re-renders
264
260
  const ctxValue = useMemo(() => ({theme, mode}), [theme, mode]);
265
261
 
@@ -63,6 +63,7 @@ import {expandColorScale, type ColorScaleConfig} from './expandColorScale';
63
63
  import type {DomainTokenName} from './domainTokens';
64
64
  import {domainTokenDefaults} from './domainTokens';
65
65
  import type {SyntaxThemeDefinition} from './syntax';
66
+ import {registerTheme} from './themeRegistry';
66
67
 
67
68
  // =============================================================================
68
69
  // Types
@@ -239,9 +240,15 @@ export interface DefineThemeInput {
239
240
  * categorical hues, and fixed tokens (on-dark/on-light) use defaults.
240
241
  * Explicit `tokens` entries always take precedence.
241
242
  *
243
+ * `accent` is optional — omit it for a neutral-only theme, which keeps
244
+ * the default accent tokens and only themes the neutrals.
245
+ *
242
246
  * @example
243
247
  * ```tsx
244
248
  * color: { accent: '#0064E0', neutralStyle: 'cool', contrast: 'standard' }
249
+ *
250
+ * // Neutral-only — accent tokens stay at their defaults
251
+ * color: { neutralStyle: 'warm' }
245
252
  * ```
246
253
  */
247
254
  color?: ColorScaleConfig;
@@ -618,7 +625,7 @@ export function defineTheme(input: DefineThemeInput): DefinedTheme {
618
625
  ? {...base.icons, ...input.icons}
619
626
  : (input.icons ?? base?.icons);
620
627
 
621
- return {
628
+ const theme: DefinedTheme = {
622
629
  name: input.name,
623
630
  tokens,
624
631
  components,
@@ -627,6 +634,9 @@ export function defineTheme(input: DefineThemeInput): DefinedTheme {
627
634
  __onDark,
628
635
  __onLight,
629
636
  };
637
+
638
+ registerTheme(theme);
639
+ return theme;
630
640
  }
631
641
 
632
642
  // =============================================================================