@astryxdesign/core 0.2.0-canary.85f5022 → 0.2.0-canary.8dfd7cf

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 (966) hide show
  1. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  2. package/dist/AlertDialog/AlertDialog.js +1 -1
  3. package/dist/AppShell/AppShell.d.ts +2 -20
  4. package/dist/AppShell/AppShell.d.ts.map +1 -1
  5. package/dist/AppShell/AppShell.js +1 -14
  6. package/dist/AppShell/index.d.ts +20 -1
  7. package/dist/AppShell/index.d.ts.map +1 -1
  8. package/dist/AppShell/index.js +14 -0
  9. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  10. package/dist/AspectRatio/AspectRatio.js +1 -1
  11. package/dist/Avatar/Avatar.d.ts +1 -1
  12. package/dist/Avatar/Avatar.d.ts.map +1 -1
  13. package/dist/Avatar/Avatar.js +4 -4
  14. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  15. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  16. package/dist/Avatar/AvatarStatusDot.js +1 -22
  17. package/dist/Avatar/index.d.ts +26 -1
  18. package/dist/Avatar/index.d.ts.map +1 -1
  19. package/dist/Avatar/index.js +21 -0
  20. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  21. package/dist/AvatarGroup/AvatarGroup.js +1 -1
  22. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  23. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  24. package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
  25. package/dist/Badge/Badge.d.ts +2 -30
  26. package/dist/Badge/Badge.d.ts.map +1 -1
  27. package/dist/Badge/Badge.js +2 -17
  28. package/dist/Badge/index.d.ts +31 -2
  29. package/dist/Badge/index.d.ts.map +1 -1
  30. package/dist/Badge/index.js +15 -1
  31. package/dist/Banner/Banner.d.ts +2 -37
  32. package/dist/Banner/Banner.d.ts.map +1 -1
  33. package/dist/Banner/Banner.js +6 -34
  34. package/dist/Banner/index.d.ts +37 -1
  35. package/dist/Banner/index.d.ts.map +1 -1
  36. package/dist/Banner/index.js +27 -0
  37. package/dist/Blockquote/Blockquote.d.ts +1 -1
  38. package/dist/Blockquote/Blockquote.js +1 -1
  39. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  40. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  41. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  42. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  43. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  44. package/dist/Breadcrumbs/index.d.ts +18 -1
  45. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  46. package/dist/Breadcrumbs/index.js +14 -0
  47. package/dist/Button/Button.d.ts +3 -21
  48. package/dist/Button/Button.d.ts.map +1 -1
  49. package/dist/Button/Button.js +6 -19
  50. package/dist/Button/index.d.ts +21 -3
  51. package/dist/Button/index.d.ts.map +1 -1
  52. package/dist/Button/index.js +15 -1
  53. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  54. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  55. package/dist/Calendar/Calendar.js +1 -1
  56. package/dist/Calendar/styles.d.ts +2 -2
  57. package/dist/Calendar/styles.js +2 -2
  58. package/dist/Card/Card.d.ts +1 -1
  59. package/dist/Card/Card.js +1 -1
  60. package/dist/Carousel/Carousel.d.ts +1 -1
  61. package/dist/Carousel/Carousel.js +1 -1
  62. package/dist/Center/Center.d.ts +21 -4
  63. package/dist/Center/Center.d.ts.map +1 -1
  64. package/dist/Center/Center.js +11 -3
  65. package/dist/Chat/ChatComposer.d.ts +1 -1
  66. package/dist/Chat/ChatComposer.js +9 -9
  67. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  68. package/dist/Chat/ChatComposerDrawer.js +3 -3
  69. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  70. package/dist/Chat/ChatComposerInput.js +1 -1
  71. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  72. package/dist/Chat/ChatDictationButton.js +1 -1
  73. package/dist/Chat/ChatLayout.d.ts +8 -1
  74. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  75. package/dist/Chat/ChatLayout.js +15 -4
  76. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  77. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  78. package/dist/Chat/ChatMessage.d.ts +1 -1
  79. package/dist/Chat/ChatMessage.js +1 -1
  80. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  81. package/dist/Chat/ChatMessageBubble.js +1 -1
  82. package/dist/Chat/ChatMessageList.d.ts +1 -1
  83. package/dist/Chat/ChatMessageList.js +1 -1
  84. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  85. package/dist/Chat/ChatSendButton.js +4 -2
  86. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  87. package/dist/Chat/ChatSystemMessage.js +1 -1
  88. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  89. package/dist/Chat/ChatTokenizedText.js +1 -1
  90. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  91. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  92. package/dist/CheckboxInput/CheckboxInput.js +3 -3
  93. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  94. package/dist/CheckboxList/CheckboxList.js +1 -1
  95. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  96. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  97. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  98. package/dist/Citation/Citation.d.ts +1 -1
  99. package/dist/Citation/Citation.js +1 -1
  100. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  101. package/dist/ClickableCard/ClickableCard.js +3 -3
  102. package/dist/Code/Code.d.ts +2 -2
  103. package/dist/Code/Code.js +2 -2
  104. package/dist/CodeBlock/CodeBlock.js +2 -2
  105. package/dist/Collapsible/Collapsible.d.ts +1 -1
  106. package/dist/Collapsible/Collapsible.js +3 -3
  107. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  108. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  109. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  110. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  111. package/dist/CommandPalette/CommandPalette.js +1 -1
  112. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  113. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  114. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  115. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  116. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  117. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  118. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  119. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  120. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  121. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  122. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  123. package/dist/ContextMenu/ContextMenu.js +24 -6
  124. package/dist/DateInput/DateInput.js +1 -1
  125. package/dist/DateRangeInput/DateRangeInput.js +1 -1
  126. package/dist/DateTimeInput/DateTimeInput.js +1 -1
  127. package/dist/Dialog/Dialog.d.ts +46 -23
  128. package/dist/Dialog/Dialog.d.ts.map +1 -1
  129. package/dist/Dialog/Dialog.js +59 -31
  130. package/dist/Dialog/DialogHeader.d.ts +1 -1
  131. package/dist/Dialog/DialogHeader.js +1 -1
  132. package/dist/Dialog/index.d.ts +18 -1
  133. package/dist/Dialog/index.d.ts.map +1 -1
  134. package/dist/Dialog/index.js +14 -0
  135. package/dist/Divider/Divider.d.ts +2 -18
  136. package/dist/Divider/Divider.d.ts.map +1 -1
  137. package/dist/Divider/Divider.js +1 -15
  138. package/dist/Divider/index.d.ts +18 -1
  139. package/dist/Divider/index.d.ts.map +1 -1
  140. package/dist/Divider/index.js +14 -0
  141. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  142. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  143. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  144. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  145. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  146. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  147. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  148. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  149. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  150. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  151. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  152. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  153. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  154. package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
  155. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  156. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  157. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  158. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  159. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  160. package/dist/DropdownMenu/menuItemHover.js +1 -0
  161. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  162. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  163. package/dist/EmptyState/EmptyState.d.ts +1 -1
  164. package/dist/EmptyState/EmptyState.js +1 -1
  165. package/dist/Field/Field.d.ts +1 -1
  166. package/dist/Field/Field.js +1 -1
  167. package/dist/Field/FieldLabel.d.ts +4 -3
  168. package/dist/Field/FieldLabel.d.ts.map +1 -1
  169. package/dist/Field/FieldLabel.js +48 -5
  170. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  171. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  172. package/dist/FieldStatus/FieldStatus.js +13 -17
  173. package/dist/FieldStatus/index.d.ts +19 -1
  174. package/dist/FieldStatus/index.d.ts.map +1 -1
  175. package/dist/FieldStatus/index.js +14 -0
  176. package/dist/FileInput/FileInput.js +1 -1
  177. package/dist/FormLayout/FormLayout.d.ts +1 -1
  178. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  179. package/dist/FormLayout/FormLayout.js +1 -1
  180. package/dist/Grid/Grid.d.ts +1 -1
  181. package/dist/Grid/Grid.js +1 -1
  182. package/dist/Grid/GridSpan.d.ts +1 -1
  183. package/dist/Grid/GridSpan.js +1 -1
  184. package/dist/HStack/HStack.d.ts +1 -1
  185. package/dist/HStack/HStack.js +1 -1
  186. package/dist/Heading/Heading.d.ts +2 -2
  187. package/dist/Heading/Heading.d.ts.map +1 -1
  188. package/dist/Heading/Heading.js +5 -4
  189. package/dist/HoverCard/HoverCard.d.ts +1 -1
  190. package/dist/HoverCard/HoverCard.js +1 -1
  191. package/dist/Icon/Icon.d.ts +1 -1
  192. package/dist/Icon/Icon.d.ts.map +1 -1
  193. package/dist/Icon/Icon.js +4 -2
  194. package/dist/Icon/globalIconRegistry.d.ts +6 -4
  195. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  196. package/dist/Icon/globalIconRegistry.js +25 -6
  197. package/dist/Icon/index.d.ts +3 -2
  198. package/dist/Icon/index.d.ts.map +1 -1
  199. package/dist/Icon/index.js +1 -0
  200. package/dist/Icon/useIcon.d.ts +14 -0
  201. package/dist/Icon/useIcon.d.ts.map +1 -0
  202. package/dist/Icon/useIcon.js +21 -0
  203. package/dist/IconButton/IconButton.d.ts +1 -1
  204. package/dist/IconButton/IconButton.js +1 -1
  205. package/dist/InputGroup/InputGroup.d.ts +1 -1
  206. package/dist/InputGroup/InputGroup.js +1 -1
  207. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  208. package/dist/InputGroup/InputGroupText.js +1 -1
  209. package/dist/Item/Item.d.ts +17 -4
  210. package/dist/Item/Item.d.ts.map +1 -1
  211. package/dist/Item/Item.js +32 -7
  212. package/dist/Kbd/Kbd.d.ts +1 -1
  213. package/dist/Kbd/Kbd.js +1 -1
  214. package/dist/Layout/Layout.d.ts +1 -1
  215. package/dist/Layout/Layout.js +1 -1
  216. package/dist/Layout/LayoutContent.d.ts +1 -1
  217. package/dist/Layout/LayoutContent.js +1 -1
  218. package/dist/Layout/LayoutFooter.d.ts +1 -1
  219. package/dist/Layout/LayoutFooter.js +1 -1
  220. package/dist/Layout/LayoutHeader.d.ts +1 -1
  221. package/dist/Layout/LayoutHeader.js +1 -1
  222. package/dist/Layout/LayoutPanel.d.ts +1 -1
  223. package/dist/Layout/LayoutPanel.js +1 -1
  224. package/dist/Lightbox/Lightbox.d.ts +1 -1
  225. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  226. package/dist/Lightbox/Lightbox.js +16 -3
  227. package/dist/Link/Link.d.ts +1 -1
  228. package/dist/Link/Link.js +1 -1
  229. package/dist/Link/LinkProvider.d.ts +2 -2
  230. package/dist/Link/LinkProvider.js +2 -2
  231. package/dist/List/List.d.ts +1 -1
  232. package/dist/List/List.js +1 -1
  233. package/dist/List/ListItem.d.ts +12 -2
  234. package/dist/List/ListItem.d.ts.map +1 -1
  235. package/dist/List/ListItem.js +3 -1
  236. package/dist/Markdown/Markdown.js +4 -4
  237. package/dist/MetadataList/MetadataList.d.ts +2 -2
  238. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  239. package/dist/MetadataList/MetadataList.js +5 -3
  240. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  241. package/dist/MetadataList/MetadataListItem.js +1 -1
  242. package/dist/MobileNav/MobileNav.d.ts +1 -1
  243. package/dist/MobileNav/MobileNav.js +1 -1
  244. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  245. package/dist/MoreMenu/MoreMenu.js +3 -3
  246. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  247. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  248. package/dist/MultiSelector/MultiSelector.js +21 -6
  249. package/dist/NavIcon/NavIcon.d.ts +1 -1
  250. package/dist/NavIcon/NavIcon.js +1 -1
  251. package/dist/NumberInput/NumberInput.d.ts +1 -1
  252. package/dist/NumberInput/NumberInput.js +1 -1
  253. package/dist/Outline/Outline.js +1 -1
  254. package/dist/OverflowList/OverflowList.d.ts +1 -1
  255. package/dist/OverflowList/OverflowList.js +1 -1
  256. package/dist/Pagination/Pagination.d.ts +1 -20
  257. package/dist/Pagination/Pagination.d.ts.map +1 -1
  258. package/dist/Pagination/Pagination.js +1 -15
  259. package/dist/Pagination/index.d.ts +21 -1
  260. package/dist/Pagination/index.d.ts.map +1 -1
  261. package/dist/Pagination/index.js +14 -0
  262. package/dist/Popover/Popover.d.ts +20 -3
  263. package/dist/Popover/Popover.d.ts.map +1 -1
  264. package/dist/Popover/Popover.js +5 -1
  265. package/dist/Popover/usePopover.d.ts.map +1 -1
  266. package/dist/Popover/usePopover.js +14 -3
  267. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  268. package/dist/PowerSearch/PowerSearch.js +1 -1
  269. package/dist/ProgressBar/ProgressBar.d.ts +1 -20
  270. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  271. package/dist/ProgressBar/ProgressBar.js +1 -15
  272. package/dist/ProgressBar/index.d.ts +21 -1
  273. package/dist/ProgressBar/index.d.ts.map +1 -1
  274. package/dist/ProgressBar/index.js +14 -0
  275. package/dist/RadioList/RadioList.d.ts +1 -1
  276. package/dist/RadioList/RadioList.js +1 -1
  277. package/dist/RadioList/RadioListItem.d.ts +1 -1
  278. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  279. package/dist/RadioList/RadioListItem.js +2 -2
  280. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  281. package/dist/Resizable/ResizeHandle.js +3 -10
  282. package/dist/Section/Section.d.ts +2 -19
  283. package/dist/Section/Section.d.ts.map +1 -1
  284. package/dist/Section/Section.js +1 -15
  285. package/dist/Section/index.d.ts +19 -1
  286. package/dist/Section/index.d.ts.map +1 -1
  287. package/dist/Section/index.js +14 -0
  288. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  289. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  290. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  291. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  292. package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
  293. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  294. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  295. package/dist/SelectableCard/SelectableCard.js +15 -3
  296. package/dist/Selector/Selector.d.ts +1 -1
  297. package/dist/Selector/Selector.d.ts.map +1 -1
  298. package/dist/Selector/Selector.js +12 -3
  299. package/dist/SideNav/SideNav.d.ts +1 -1
  300. package/dist/SideNav/SideNav.js +1 -1
  301. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  302. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  303. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  304. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  305. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  306. package/dist/SideNav/SideNavHeading.js +8 -7
  307. package/dist/SideNav/SideNavItem.d.ts +2 -2
  308. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  309. package/dist/SideNav/SideNavItem.js +6 -7
  310. package/dist/SideNav/SideNavSection.d.ts +1 -1
  311. package/dist/SideNav/SideNavSection.js +1 -1
  312. package/dist/Skeleton/Skeleton.d.ts +1 -1
  313. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  314. package/dist/Skeleton/Skeleton.js +3 -3
  315. package/dist/Slider/Slider.d.ts.map +1 -1
  316. package/dist/Slider/Slider.js +78 -68
  317. package/dist/Spinner/Spinner.d.ts +1 -1
  318. package/dist/Spinner/Spinner.js +1 -1
  319. package/dist/Stack/Stack.d.ts +1 -1
  320. package/dist/Stack/Stack.js +1 -1
  321. package/dist/Stack/StackItem.d.ts +1 -1
  322. package/dist/Stack/StackItem.js +1 -1
  323. package/dist/StatusDot/StatusDot.d.ts +1 -20
  324. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  325. package/dist/StatusDot/StatusDot.js +2 -17
  326. package/dist/StatusDot/index.d.ts +21 -1
  327. package/dist/StatusDot/index.d.ts.map +1 -1
  328. package/dist/StatusDot/index.js +14 -0
  329. package/dist/Switch/Switch.d.ts +1 -1
  330. package/dist/Switch/Switch.d.ts.map +1 -1
  331. package/dist/Switch/Switch.js +16 -5
  332. package/dist/TabList/Tab.d.ts +1 -1
  333. package/dist/TabList/Tab.js +1 -1
  334. package/dist/TabList/TabList.d.ts +1 -1
  335. package/dist/TabList/TabList.js +1 -1
  336. package/dist/TabList/TabMenu.d.ts +1 -1
  337. package/dist/TabList/TabMenu.js +1 -1
  338. package/dist/Table/BaseTable.d.ts +1 -1
  339. package/dist/Table/BaseTable.js +1 -1
  340. package/dist/Table/Table.d.ts +1 -1
  341. package/dist/Table/Table.js +1 -1
  342. package/dist/Table/TableCell.d.ts +1 -1
  343. package/dist/Table/TableCell.js +1 -1
  344. package/dist/Table/TableHeaderCell.d.ts +1 -1
  345. package/dist/Table/TableHeaderCell.js +1 -1
  346. package/dist/Table/TableRow.d.ts +1 -1
  347. package/dist/Table/TableRow.js +1 -1
  348. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  349. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  350. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -4
  351. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  352. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  353. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  354. package/dist/Text/Text.d.ts +11 -2
  355. package/dist/Text/Text.d.ts.map +1 -1
  356. package/dist/Text/Text.js +26 -3
  357. package/dist/Text/index.d.ts +31 -1
  358. package/dist/Text/index.d.ts.map +1 -1
  359. package/dist/Text/index.js +23 -0
  360. package/dist/TextArea/TextArea.d.ts +1 -1
  361. package/dist/TextArea/TextArea.d.ts.map +1 -1
  362. package/dist/TextArea/TextArea.js +107 -39
  363. package/dist/TextInput/TextInput.d.ts +1 -1
  364. package/dist/TextInput/TextInput.js +1 -1
  365. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  366. package/dist/Thumbnail/Thumbnail.js +52 -46
  367. package/dist/TimeInput/TimeInput.js +1 -1
  368. package/dist/Timestamp/Timestamp.js +2 -2
  369. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  370. package/dist/Toast/ToastViewport.js +61 -9
  371. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  372. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  373. package/dist/ToggleButton/ToggleButton.js +4 -2
  374. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  375. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  376. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  377. package/dist/Token/Token.d.ts +6 -28
  378. package/dist/Token/Token.d.ts.map +1 -1
  379. package/dist/Token/Token.js +69 -58
  380. package/dist/Token/TokenLink.d.ts +62 -0
  381. package/dist/Token/TokenLink.d.ts.map +1 -0
  382. package/dist/Token/TokenLink.js +76 -0
  383. package/dist/Token/index.d.ts +27 -1
  384. package/dist/Token/index.d.ts.map +1 -1
  385. package/dist/Token/index.js +14 -0
  386. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  387. package/dist/Tokenizer/Tokenizer.js +1 -1
  388. package/dist/Toolbar/Toolbar.d.ts +1 -1
  389. package/dist/Toolbar/Toolbar.js +1 -1
  390. package/dist/Tooltip/Tooltip.d.ts +1 -1
  391. package/dist/Tooltip/Tooltip.js +1 -1
  392. package/dist/TopNav/TopNav.d.ts +1 -1
  393. package/dist/TopNav/TopNav.js +1 -1
  394. package/dist/TopNav/TopNavHeading.d.ts +1 -1
  395. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  396. package/dist/TopNav/TopNavHeading.js +7 -6
  397. package/dist/TopNav/TopNavItem.d.ts +1 -1
  398. package/dist/TopNav/TopNavItem.js +1 -1
  399. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  400. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  401. package/dist/TopNav/TopNavMegaMenu.js +15 -7
  402. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  403. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  404. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  405. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  406. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  407. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  408. package/dist/TopNav/TopNavMenu.js +5 -4
  409. package/dist/TreeList/TreeList.d.ts +1 -1
  410. package/dist/TreeList/TreeList.js +1 -1
  411. package/dist/TreeList/TreeListBranches.js +1 -1
  412. package/dist/TreeList/TreeListItem.d.ts +1 -1
  413. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  414. package/dist/TreeList/TreeListItem.js +4 -3
  415. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  416. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  417. package/dist/TreeList/index.d.ts +18 -1
  418. package/dist/TreeList/index.d.ts.map +1 -1
  419. package/dist/TreeList/index.js +14 -0
  420. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  421. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  422. package/dist/Typeahead/BaseTypeahead.js +3 -1
  423. package/dist/Typeahead/Typeahead.d.ts +1 -1
  424. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  425. package/dist/Typeahead/Typeahead.js +9 -2
  426. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  427. package/dist/Typeahead/TypeaheadItem.js +1 -1
  428. package/dist/VStack/VStack.d.ts +1 -1
  429. package/dist/VStack/VStack.js +1 -1
  430. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  431. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  432. package/dist/astryx.css +96 -24
  433. package/dist/astryx.umd.js +50 -50
  434. package/dist/astryx.umd.js.map +4 -4
  435. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  436. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  437. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  438. package/dist/hooks/index.d.ts +2 -0
  439. package/dist/hooks/index.d.ts.map +1 -1
  440. package/dist/hooks/index.js +2 -1
  441. package/dist/hooks/useContainerReveal.d.ts +83 -0
  442. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  443. package/dist/hooks/useContainerReveal.js +123 -0
  444. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  445. package/dist/hooks/useInputContainer.js +29 -1
  446. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  447. package/dist/hooks/useInputStatusIcon.js +11 -0
  448. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  449. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  450. package/dist/hooks/useKeyboardHint.js +5 -3
  451. package/dist/index.d.ts +2 -1
  452. package/dist/index.d.ts.map +1 -1
  453. package/dist/index.js +5 -1
  454. package/dist/theme/Theme.d.ts.map +1 -1
  455. package/dist/theme/Theme.js +2 -7
  456. package/dist/theme/defineTheme.d.ts +6 -0
  457. package/dist/theme/defineTheme.d.ts.map +1 -1
  458. package/dist/theme/defineTheme.js +4 -1
  459. package/dist/theme/expandColorScale.d.ts +19 -2
  460. package/dist/theme/expandColorScale.d.ts.map +1 -1
  461. package/dist/theme/expandColorScale.js +38 -10
  462. package/dist/theme/index.d.ts +6 -4
  463. package/dist/theme/index.d.ts.map +1 -1
  464. package/dist/theme/index.js +2 -1
  465. package/dist/theme/themeRegistry.d.ts +32 -0
  466. package/dist/theme/themeRegistry.d.ts.map +1 -0
  467. package/dist/theme/themeRegistry.js +49 -0
  468. package/dist/theme/types.d.ts +10 -2
  469. package/dist/theme/types.d.ts.map +1 -1
  470. package/dist/theme/useTheme.d.ts +9 -0
  471. package/dist/theme/useTheme.d.ts.map +1 -1
  472. package/dist/theme/useTheme.js +82 -27
  473. package/dist/utils/rtlStyles.d.ts +21 -0
  474. package/dist/utils/rtlStyles.d.ts.map +1 -1
  475. package/dist/utils/rtlStyles.js +26 -1
  476. package/groups.doc.mjs +2 -2
  477. package/locales/en.json +40 -0
  478. package/locales/pseudo.json +30 -0
  479. package/package.json +4 -13
  480. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  481. package/src/AlertDialog/AlertDialog.tsx +1 -1
  482. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  483. package/src/AppShell/AppShell.doc.mjs +3 -3
  484. package/src/AppShell/AppShell.tsx +2 -20
  485. package/src/AppShell/index.ts +20 -1
  486. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  487. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  488. package/src/AspectRatio/AspectRatio.tsx +1 -1
  489. package/src/Avatar/Avatar.doc.mjs +3 -3
  490. package/src/Avatar/Avatar.tsx +8 -3
  491. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  492. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  493. package/src/Avatar/index.ts +26 -1
  494. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  495. package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
  496. package/src/AvatarGroup/AvatarGroup.tsx +1 -1
  497. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  498. package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
  499. package/src/Badge/Badge.doc.mjs +3 -3
  500. package/src/Badge/Badge.tsx +2 -31
  501. package/src/Badge/index.ts +32 -6
  502. package/src/Banner/Banner.doc.mjs +3 -3
  503. package/src/Banner/Banner.tsx +8 -45
  504. package/src/Banner/index.ts +39 -7
  505. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  506. package/src/Blockquote/Blockquote.tsx +1 -1
  507. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  508. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  509. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  510. package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
  511. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  512. package/src/Breadcrumbs/index.ts +19 -5
  513. package/src/Button/Button.doc.mjs +3 -3
  514. package/src/Button/Button.test.tsx +16 -0
  515. package/src/Button/Button.tsx +6 -23
  516. package/src/Button/index.ts +22 -7
  517. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  518. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  519. package/src/Calendar/Calendar.doc.mjs +3 -3
  520. package/src/Calendar/Calendar.test.tsx +15 -3
  521. package/src/Calendar/Calendar.tsx +1 -1
  522. package/src/Calendar/styles.ts +2 -2
  523. package/src/Card/Card.doc.mjs +3 -3
  524. package/src/Card/Card.tsx +1 -1
  525. package/src/Carousel/Carousel.doc.mjs +3 -3
  526. package/src/Carousel/Carousel.tsx +1 -1
  527. package/src/Center/Center.doc.mjs +41 -3
  528. package/src/Center/Center.test.tsx +75 -0
  529. package/src/Center/Center.tsx +38 -3
  530. package/src/Chat/Chat.doc.mjs +3 -3
  531. package/src/Chat/ChatComposer.doc.mjs +1 -1
  532. package/src/Chat/ChatComposer.tsx +5 -5
  533. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  534. package/src/Chat/ChatComposerDrawer.tsx +3 -3
  535. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  536. package/src/Chat/ChatComposerInput.tsx +1 -1
  537. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  538. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  539. package/src/Chat/ChatDictationButton.tsx +1 -1
  540. package/src/Chat/ChatLayout.doc.mjs +1 -1
  541. package/src/Chat/ChatLayout.test.tsx +57 -0
  542. package/src/Chat/ChatLayout.tsx +23 -2
  543. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  544. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  545. package/src/Chat/ChatMessage.doc.mjs +1 -1
  546. package/src/Chat/ChatMessage.tsx +1 -1
  547. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  548. package/src/Chat/ChatMessageBubble.tsx +1 -1
  549. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  550. package/src/Chat/ChatMessageList.tsx +1 -1
  551. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  552. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  553. package/src/Chat/ChatSendButton.tsx +5 -3
  554. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  555. package/src/Chat/ChatSystemMessage.tsx +1 -1
  556. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  557. package/src/Chat/ChatTokenizedText.tsx +1 -1
  558. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  559. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  560. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  561. package/src/CheckboxInput/CheckboxInput.tsx +18 -3
  562. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  563. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  564. package/src/CheckboxList/CheckboxList.tsx +1 -1
  565. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  566. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  567. package/src/Citation/Citation.doc.mjs +2 -2
  568. package/src/Citation/Citation.tsx +1 -1
  569. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  570. package/src/ClickableCard/ClickableCard.tsx +3 -3
  571. package/src/Code/Code.tsx +2 -2
  572. package/src/CodeBlock/Code.doc.mjs +1 -1
  573. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  574. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  575. package/src/CodeBlock/CodeBlock.tsx +2 -2
  576. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  577. package/src/Collapsible/Collapsible.tsx +3 -3
  578. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  579. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  580. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  581. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  582. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  583. package/src/CommandPalette/CommandPalette.tsx +1 -1
  584. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  585. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  586. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  587. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  588. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  589. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  590. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  591. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  592. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  593. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  594. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  595. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  596. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  597. package/src/ContextMenu/ContextMenu.test.tsx +17 -2
  598. package/src/ContextMenu/ContextMenu.tsx +27 -6
  599. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  600. package/src/DateInput/DateInput.doc.mjs +3 -3
  601. package/src/DateInput/DateInput.tsx +1 -1
  602. package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
  603. package/src/DateRangeInput/DateRangeInput.tsx +1 -1
  604. package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
  605. package/src/DateTimeInput/DateTimeInput.tsx +1 -1
  606. package/src/Dialog/Dialog.doc.mjs +9 -5
  607. package/src/Dialog/Dialog.test.tsx +84 -1
  608. package/src/Dialog/Dialog.tsx +87 -45
  609. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  610. package/src/Dialog/DialogHeader.tsx +1 -1
  611. package/src/Dialog/index.ts +18 -1
  612. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  613. package/src/Divider/Divider.doc.mjs +3 -3
  614. package/src/Divider/Divider.tsx +2 -19
  615. package/src/Divider/index.ts +19 -5
  616. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  617. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  618. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  619. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  620. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  621. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  622. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  623. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  624. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  625. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  626. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
  627. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  628. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  629. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  630. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  631. package/src/DropdownMenu/menuItemHover.ts +1 -0
  632. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  633. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  634. package/src/EmptyState/EmptyState.tsx +1 -1
  635. package/src/Field/Field.doc.mjs +7 -3
  636. package/src/Field/Field.tsx +1 -1
  637. package/src/Field/FieldLabel.doc.mjs +1 -1
  638. package/src/Field/FieldLabel.test.tsx +103 -0
  639. package/src/Field/FieldLabel.tsx +61 -5
  640. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  641. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  642. package/src/FieldStatus/FieldStatus.tsx +16 -23
  643. package/src/FieldStatus/index.ts +20 -5
  644. package/src/FileInput/FileInput.doc.mjs +3 -3
  645. package/src/FileInput/FileInput.tsx +1 -1
  646. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  647. package/src/FormLayout/FormLayout.tsx +2 -5
  648. package/src/Grid/Grid.doc.mjs +3 -3
  649. package/src/Grid/Grid.tsx +1 -1
  650. package/src/Grid/GridSpan.doc.mjs +1 -1
  651. package/src/Grid/GridSpan.tsx +1 -1
  652. package/src/HStack/HStack.tsx +1 -1
  653. package/src/Heading/Heading.tsx +4 -3
  654. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  655. package/src/HoverCard/HoverCard.tsx +1 -1
  656. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  657. package/src/Icon/Icon.doc.mjs +3 -3
  658. package/src/Icon/Icon.test.tsx +23 -0
  659. package/src/Icon/Icon.tsx +4 -2
  660. package/src/Icon/globalIconRegistry.test.tsx +52 -1
  661. package/src/Icon/globalIconRegistry.tsx +43 -6
  662. package/src/Icon/index.ts +7 -7
  663. package/src/Icon/useIcon.ts +23 -0
  664. package/src/IconButton/IconButton.doc.mjs +2 -2
  665. package/src/IconButton/IconButton.tsx +1 -1
  666. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  667. package/src/InputGroup/InputGroup.tsx +1 -1
  668. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  669. package/src/InputGroup/InputGroupText.tsx +1 -1
  670. package/src/Item/Item.doc.mjs +8 -3
  671. package/src/Item/Item.test.tsx +88 -0
  672. package/src/Item/Item.tsx +58 -12
  673. package/src/Kbd/Kbd.doc.mjs +3 -3
  674. package/src/Kbd/Kbd.tsx +1 -1
  675. package/src/Layer/Layer.doc.mjs +2 -2
  676. package/src/Layer/useLayer.doc.mjs +2 -2
  677. package/src/Layout/Layout.doc.mjs +3 -3
  678. package/src/Layout/Layout.tsx +1 -1
  679. package/src/Layout/LayoutContent.doc.mjs +1 -1
  680. package/src/Layout/LayoutContent.tsx +1 -1
  681. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  682. package/src/Layout/LayoutFooter.tsx +1 -1
  683. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  684. package/src/Layout/LayoutHeader.tsx +1 -1
  685. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  686. package/src/Layout/LayoutPanel.tsx +1 -1
  687. package/src/Lightbox/Lightbox.doc.mjs +3 -3
  688. package/src/Lightbox/Lightbox.test.tsx +33 -0
  689. package/src/Lightbox/Lightbox.tsx +16 -4
  690. package/src/Link/Link.doc.mjs +3 -3
  691. package/src/Link/Link.tsx +1 -1
  692. package/src/Link/LinkProvider.doc.mjs +2 -2
  693. package/src/Link/LinkProvider.tsx +2 -2
  694. package/src/List/List.doc.mjs +3 -3
  695. package/src/List/List.tsx +1 -1
  696. package/src/List/ListItem.doc.mjs +13 -1
  697. package/src/List/ListItem.tsx +14 -1
  698. package/src/Markdown/Markdown.doc.mjs +1 -1
  699. package/src/Markdown/Markdown.tsx +3 -3
  700. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  701. package/src/MetadataList/MetadataList.test.tsx +24 -0
  702. package/src/MetadataList/MetadataList.tsx +7 -3
  703. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  704. package/src/MetadataList/MetadataListItem.tsx +1 -1
  705. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  706. package/src/MobileNav/MobileNav.tsx +1 -1
  707. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  708. package/src/MoreMenu/MoreMenu.tsx +3 -3
  709. package/src/MultiSelector/MultiSelector.doc.mjs +3 -3
  710. package/src/MultiSelector/MultiSelector.test.tsx +110 -0
  711. package/src/MultiSelector/MultiSelector.tsx +36 -11
  712. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  713. package/src/NavIcon/NavIcon.tsx +1 -1
  714. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  715. package/src/NumberInput/NumberInput.doc.mjs +3 -3
  716. package/src/NumberInput/NumberInput.tsx +1 -1
  717. package/src/Outline/Outline.doc.mjs +3 -3
  718. package/src/Outline/Outline.tsx +1 -1
  719. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  720. package/src/OverflowList/OverflowList.tsx +1 -1
  721. package/src/Overlay/Overlay.doc.mjs +2 -2
  722. package/src/Pagination/Pagination.doc.mjs +3 -3
  723. package/src/Pagination/Pagination.tsx +2 -22
  724. package/src/Pagination/index.ts +21 -1
  725. package/src/Popover/Popover.doc.mjs +31 -3
  726. package/src/Popover/Popover.test.tsx +41 -0
  727. package/src/Popover/Popover.tsx +25 -2
  728. package/src/Popover/usePopover.doc.mjs +2 -2
  729. package/src/Popover/usePopover.tsx +10 -4
  730. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  731. package/src/PowerSearch/PowerSearch.tsx +1 -1
  732. package/src/ProgressBar/ProgressBar.doc.mjs +3 -3
  733. package/src/ProgressBar/ProgressBar.tsx +2 -22
  734. package/src/ProgressBar/index.ts +22 -5
  735. package/src/RadioList/RadioList.doc.mjs +3 -3
  736. package/src/RadioList/RadioList.test.tsx +26 -4
  737. package/src/RadioList/RadioList.tsx +1 -1
  738. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  739. package/src/RadioList/RadioListItem.tsx +9 -2
  740. package/src/Resizable/Resizable.doc.mjs +2 -2
  741. package/src/Resizable/ResizeHandle.test.tsx +3 -2
  742. package/src/Resizable/ResizeHandle.tsx +8 -12
  743. package/src/Resizable/useResizable.doc.mjs +2 -2
  744. package/src/Section/Section.doc.mjs +3 -3
  745. package/src/Section/Section.tsx +2 -20
  746. package/src/Section/index.ts +20 -5
  747. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  748. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  749. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  750. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  751. package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
  752. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  753. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  754. package/src/SelectableCard/SelectableCard.tsx +19 -3
  755. package/src/Selector/Selector.doc.mjs +3 -3
  756. package/src/Selector/Selector.test.tsx +52 -0
  757. package/src/Selector/Selector.tsx +16 -5
  758. package/src/Selector/SelectorOption.doc.mjs +1 -1
  759. package/src/SideNav/SideNav.doc.mjs +3 -3
  760. package/src/SideNav/SideNav.tsx +1 -1
  761. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  762. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  763. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  764. package/src/SideNav/SideNavHeading.tsx +8 -9
  765. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  766. package/src/SideNav/SideNavItem.tsx +5 -6
  767. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  768. package/src/SideNav/SideNavSection.tsx +1 -1
  769. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  770. package/src/Skeleton/Skeleton.test.tsx +16 -0
  771. package/src/Skeleton/Skeleton.tsx +14 -2
  772. package/src/Slider/Slider.doc.mjs +3 -3
  773. package/src/Slider/Slider.tsx +9 -13
  774. package/src/Spinner/Spinner.doc.mjs +3 -3
  775. package/src/Spinner/Spinner.tsx +1 -1
  776. package/src/Stack/Stack.doc.mjs +3 -3
  777. package/src/Stack/Stack.tsx +1 -1
  778. package/src/Stack/StackItem.tsx +1 -1
  779. package/src/StatusDot/StatusDot.doc.mjs +3 -3
  780. package/src/StatusDot/StatusDot.tsx +2 -22
  781. package/src/StatusDot/index.ts +22 -5
  782. package/src/Switch/Switch.doc.mjs +3 -3
  783. package/src/Switch/Switch.test.tsx +71 -0
  784. package/src/Switch/Switch.tsx +53 -4
  785. package/src/TabList/Tab.doc.mjs +1 -1
  786. package/src/TabList/Tab.tsx +1 -1
  787. package/src/TabList/TabList.doc.mjs +3 -3
  788. package/src/TabList/TabList.tsx +1 -1
  789. package/src/TabList/TabMenu.doc.mjs +1 -1
  790. package/src/TabList/TabMenu.tsx +1 -1
  791. package/src/Table/BaseTable.tsx +1 -1
  792. package/src/Table/Table.doc.mjs +3 -3
  793. package/src/Table/Table.tsx +1 -1
  794. package/src/Table/TableCell.doc.mjs +1 -1
  795. package/src/Table/TableCell.tsx +1 -1
  796. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  797. package/src/Table/TableHeaderCell.tsx +1 -1
  798. package/src/Table/TableRow.doc.mjs +1 -1
  799. package/src/Table/TableRow.tsx +1 -1
  800. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  801. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +24 -4
  802. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  803. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  804. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  805. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  806. package/src/Table/useTableFilterState.doc.mjs +1 -1
  807. package/src/Table/useTableFiltering.doc.mjs +1 -1
  808. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  809. package/src/Table/useTablePagination.doc.mjs +1 -1
  810. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  811. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  812. package/src/Table/useTableRowStatus.doc.mjs +2 -2
  813. package/src/Table/useTableSelection.doc.mjs +1 -1
  814. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  815. package/src/Table/useTableSortable.doc.mjs +1 -1
  816. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  817. package/src/Table/useTableTreeData.doc.mjs +10 -1
  818. package/src/Table/useTableTreeState.doc.mjs +1 -1
  819. package/src/Text/Heading.doc.mjs +4 -4
  820. package/src/Text/Text.doc.mjs +4 -4
  821. package/src/Text/Text.test.tsx +42 -0
  822. package/src/Text/Text.tsx +26 -2
  823. package/src/Text/index.ts +32 -6
  824. package/src/TextArea/TextArea.doc.mjs +5 -5
  825. package/src/TextArea/TextArea.test.tsx +112 -7
  826. package/src/TextArea/TextArea.tsx +143 -50
  827. package/src/TextInput/TextInput.doc.mjs +3 -3
  828. package/src/TextInput/TextInput.tsx +1 -1
  829. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  830. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  831. package/src/Thumbnail/Thumbnail.tsx +28 -35
  832. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  833. package/src/TimeInput/TimeInput.tsx +1 -1
  834. package/src/Timestamp/Timestamp.doc.mjs +3 -3
  835. package/src/Timestamp/Timestamp.tsx +1 -1
  836. package/src/Toast/Toast.doc.mjs +3 -3
  837. package/src/Toast/ToastViewport.test.tsx +218 -8
  838. package/src/Toast/ToastViewport.tsx +71 -12
  839. package/src/Toast/useToast.doc.mjs +2 -2
  840. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  841. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  842. package/src/ToggleButton/ToggleButton.tsx +20 -2
  843. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  844. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  845. package/src/Token/Token.doc.mjs +3 -3
  846. package/src/Token/Token.test.tsx +145 -0
  847. package/src/Token/Token.tsx +75 -61
  848. package/src/Token/TokenLink.tsx +107 -0
  849. package/src/Token/index.ts +28 -1
  850. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  851. package/src/Tokenizer/Tokenizer.tsx +1 -1
  852. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  853. package/src/Toolbar/Toolbar.tsx +1 -1
  854. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  855. package/src/Tooltip/Tooltip.tsx +1 -1
  856. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  857. package/src/TopNav/TopNav.doc.mjs +3 -3
  858. package/src/TopNav/TopNav.tsx +1 -1
  859. package/src/TopNav/TopNavHeading.doc.mjs +1 -1
  860. package/src/TopNav/TopNavHeading.tsx +7 -8
  861. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  862. package/src/TopNav/TopNavItem.tsx +1 -1
  863. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  864. package/src/TopNav/TopNavMegaMenu.tsx +32 -6
  865. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  866. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  867. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  868. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  869. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  870. package/src/TopNav/TopNavMenu.tsx +5 -4
  871. package/src/TreeList/TreeList.doc.mjs +3 -3
  872. package/src/TreeList/TreeList.tsx +1 -1
  873. package/src/TreeList/TreeListBranches.tsx +1 -1
  874. package/src/TreeList/TreeListItem.tsx +4 -3
  875. package/src/TreeList/TreeListTypes.ts +1 -18
  876. package/src/TreeList/index.ts +19 -1
  877. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  878. package/src/Typeahead/BaseTypeahead.tsx +13 -1
  879. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  880. package/src/Typeahead/Typeahead.test.tsx +62 -0
  881. package/src/Typeahead/Typeahead.tsx +7 -1
  882. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  883. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  884. package/src/VStack/VStack.tsx +1 -1
  885. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  886. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  887. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  888. package/src/__tests__/forcedColors.ts +60 -0
  889. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  890. package/src/doc-mjs.d.ts +5 -2
  891. package/src/docPropLiterals.test.ts +1 -1
  892. package/src/docPropReferences.test.ts +1 -1
  893. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  894. package/src/hooks/index.ts +7 -0
  895. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  896. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  897. package/src/hooks/useContainerReveal.test.tsx +116 -0
  898. package/src/hooks/useContainerReveal.ts +181 -0
  899. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  900. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  901. package/src/hooks/useGridFocus.doc.mjs +2 -2
  902. package/src/hooks/useHotkeys.doc.mjs +2 -2
  903. package/src/hooks/useImageMode.doc.mjs +2 -2
  904. package/src/hooks/useInputContainer.doc.mjs +2 -2
  905. package/src/hooks/useInputContainer.test.tsx +180 -0
  906. package/src/hooks/useInputContainer.ts +36 -1
  907. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  908. package/src/hooks/useInputStatusIcon.tsx +12 -1
  909. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  910. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  911. package/src/hooks/useKeyboardHint.tsx +7 -3
  912. package/src/hooks/useListFocus.doc.mjs +2 -2
  913. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  914. package/src/hooks/useOverflow.doc.mjs +2 -2
  915. package/src/hooks/useScrollLock.doc.mjs +2 -2
  916. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  917. package/src/hooks/useStreamingText.doc.mjs +2 -2
  918. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  919. package/src/i18n/InternationalizationProvider.doc.mjs +2 -2
  920. package/src/i18n/useTranslator.doc.mjs +2 -2
  921. package/src/index.ts +14 -10
  922. package/src/theme/MediaTheme.doc.mjs +2 -2
  923. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  924. package/src/theme/Theme.doc.mjs +2 -2
  925. package/src/theme/Theme.tsx +3 -7
  926. package/src/theme/defineTheme.ts +11 -1
  927. package/src/theme/expandColorScale.test.ts +144 -0
  928. package/src/theme/expandColorScale.ts +53 -15
  929. package/src/theme/index.ts +11 -9
  930. package/src/theme/themeRegistry.test.ts +59 -0
  931. package/src/theme/themeRegistry.ts +53 -0
  932. package/src/theme/types.ts +14 -13
  933. package/src/theme/useTheme.doc.mjs +2 -2
  934. package/src/theme/useTheme.test.tsx +48 -3
  935. package/src/theme/useTheme.ts +100 -29
  936. package/src/utils/rtlStyles.ts +22 -0
  937. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  938. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  939. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  940. package/dist/authoring/doc.d.ts +0 -145
  941. package/dist/authoring/doc.d.ts.map +0 -1
  942. package/dist/authoring/doc.js +0 -100
  943. package/dist/authoring/index.d.ts +0 -29
  944. package/dist/authoring/index.d.ts.map +0 -1
  945. package/dist/authoring/index.js +0 -28
  946. package/dist/authoring/integration.d.ts +0 -35
  947. package/dist/authoring/integration.d.ts.map +0 -1
  948. package/dist/authoring/integration.js +0 -30
  949. package/dist/authoring/template.d.ts +0 -66
  950. package/dist/authoring/template.d.ts.map +0 -1
  951. package/dist/authoring/template.js +0 -55
  952. package/dist/config.d.ts +0 -80
  953. package/dist/config.d.ts.map +0 -1
  954. package/dist/config.js +0 -40
  955. package/dist/docs-types.d.ts +0 -969
  956. package/dist/docs-types.d.ts.map +0 -1
  957. package/dist/docs-types.js +0 -1
  958. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  959. package/src/authoring/doc.ts +0 -164
  960. package/src/authoring/index.test.ts +0 -52
  961. package/src/authoring/index.ts +0 -50
  962. package/src/authoring/integration.ts +0 -42
  963. package/src/authoring/template.ts +0 -74
  964. package/src/config.test.ts +0 -16
  965. package/src/config.ts +0 -92
  966. package/src/docs-types.ts +0 -1108
@@ -12,7 +12,7 @@
12
12
  * - /packages/core/src/SegmentedControl/SegmentedControl.doc.mjs
13
13
  * - /packages/core/src/SegmentedControl/index.ts
14
14
  * - /packages/core/src/SegmentedControl/SegmentedControl.test.tsx
15
- * - /packages/cli/templates/blocks/components/SegmentedControl/ (showcase blocks)
15
+ * - /packages/cli/assets/templates/blocks/components/SegmentedControl/ (showcase blocks)
16
16
  */
17
17
 
18
18
  import React, {type ReactNode} from 'react';
@@ -103,9 +103,27 @@ const styles = stylex.create({
103
103
  },
104
104
  },
105
105
  selected: {
106
- color: colorVars['--color-text-primary'],
106
+ // Forced colors (Windows High Contrast) strips the painted surface fill
107
+ // and box shadow, which would leave the selected segment with no state
108
+ // indication beyond font weight. Highlight/HighlightText is the platform
109
+ // convention for a selected item (WCAG 1.4.11).
110
+ //
111
+ // forced-color-adjust must be `none` here: the segment is a <button>, and
112
+ // the UA keeps native form-control colors (ButtonFace surface) for it under
113
+ // forced colors, ignoring the authored Highlight fill — the label kept its
114
+ // HighlightText color, giving white text on a white surface. Opting the
115
+ // selected segment out of UA remapping makes both the Highlight surface and
116
+ // the HighlightText label render as authored, restoring figure-ground.
117
+ forcedColorAdjust: 'none',
118
+ color: {
119
+ default: colorVars['--color-text-primary'],
120
+ '@media (forced-colors: active)': 'HighlightText',
121
+ },
107
122
  fontWeight: fontWeightVars['--font-weight-semibold'],
108
- backgroundColor: colorVars['--color-background-surface'],
123
+ backgroundColor: {
124
+ default: colorVars['--color-background-surface'],
125
+ '@media (forced-colors: active)': 'Highlight',
126
+ },
109
127
  boxShadow: shadowVars['--shadow-low'],
110
128
  },
111
129
  disabled: {
@@ -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
  export const docs = {
5
5
  name: 'SelectableCard',
6
6
  displayName: 'Selectable Card',
@@ -12,6 +12,7 @@ export const docs = {
12
12
  bestPractices: [
13
13
  {guidance: true, description: 'Use for plan pickers, filter chips, or option grids.'},
14
14
  {guidance: true, description: 'For single-select track one ID; for multi-select use a Set.'},
15
+ {guidance: true, description: 'When focused, toggle selection with Space or Enter.'},
15
16
  {guidance: false, description: 'Use for navigation; use ClickableCard for that.'},
16
17
  ],
17
18
  anatomy: [
@@ -54,7 +55,7 @@ export const docs = {
54
55
  },
55
56
  };
56
57
 
57
- /** @type {import('../docs-types').TranslationDoc} */
58
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
58
59
  export const docsDense = {
59
60
  description: 'Card toggling between selected/unselected states w/ accent border. For navigation use ClickableCard instead.',
60
61
  usage: {
@@ -62,6 +63,7 @@ export const docsDense = {
62
63
  bestPractices: [
63
64
  {guidance: true, description: 'Use for plan pickers, filter chips, option grids.'},
64
65
  {guidance: true, description: 'For single-select track one ID; for multi-select use a Set.'},
66
+ {guidance: true, description: 'When focused, toggle selection with Space or Enter.'},
65
67
  {guidance: false, description: 'Use for navigation; use ClickableCard instead.'},
66
68
  ],
67
69
  },
@@ -108,6 +108,61 @@ describe('SelectableCard', () => {
108
108
  expect(handleChange).not.toHaveBeenCalled();
109
109
  });
110
110
 
111
+ it('calls onChange with true when Enter is pressed on the checkbox (unselected)', () => {
112
+ const handleChange = vi.fn();
113
+ render(
114
+ <SelectableCard label="Test" isSelected={false} onChange={handleChange}>
115
+ Content
116
+ </SelectableCard>,
117
+ );
118
+ const checkbox = screen.getByRole('checkbox', {name: 'Test'});
119
+ fireEvent.keyDown(checkbox, {key: 'Enter'});
120
+ expect(handleChange).toHaveBeenCalledWith(true);
121
+ });
122
+
123
+ it('calls onChange with false when Enter is pressed on the checkbox (selected)', () => {
124
+ const handleChange = vi.fn();
125
+ render(
126
+ <SelectableCard label="Test" isSelected={true} onChange={handleChange}>
127
+ Content
128
+ </SelectableCard>,
129
+ );
130
+ const checkbox = screen.getByRole('checkbox', {name: 'Test'});
131
+ fireEvent.keyDown(checkbox, {key: 'Enter'});
132
+ expect(handleChange).toHaveBeenCalledWith(false);
133
+ });
134
+
135
+ it('does not toggle on Enter when disabled', () => {
136
+ const handleChange = vi.fn();
137
+ render(
138
+ <SelectableCard
139
+ label="Disabled"
140
+ isSelected={false}
141
+ onChange={handleChange}
142
+ isDisabled>
143
+ Content
144
+ </SelectableCard>,
145
+ );
146
+ const checkbox = screen.getByRole('checkbox', {name: 'Disabled'});
147
+ fireEvent.keyDown(checkbox, {key: 'Enter'});
148
+ expect(handleChange).not.toHaveBeenCalled();
149
+ });
150
+
151
+ it('toggles exactly once on Space (native), not doubled by the Enter handler', () => {
152
+ const handleChange = vi.fn();
153
+ render(
154
+ <SelectableCard label="Test" isSelected={false} onChange={handleChange}>
155
+ Content
156
+ </SelectableCard>,
157
+ );
158
+ const checkbox = screen.getByRole('checkbox', {name: 'Test'});
159
+ // Space activates the native checkbox, firing a single change event.
160
+ fireEvent.click(checkbox);
161
+ fireEvent.keyDown(checkbox, {key: ' '});
162
+ expect(handleChange).toHaveBeenCalledTimes(1);
163
+ expect(handleChange).toHaveBeenCalledWith(true);
164
+ });
165
+
111
166
  describe('elevation', () => {
112
167
  const noop = () => {};
113
168
 
@@ -12,9 +12,9 @@
12
12
  * - /packages/core/src/SelectableCard/SelectableCard.doc.mjs (props table, features)
13
13
  * - /packages/core/src/SelectableCard/index.ts (exports if types change)
14
14
  * - /apps/storybook/stories/SelectableCard.stories.tsx (storybook stories)
15
- * - /packages/cli/templates/blocks/components/Card/SelectableCardShowcase.tsx (showcase block)
16
- * - /packages/cli/templates/blocks/components/Card/SelectableCardMulti.tsx (block)
17
- * - /packages/cli/templates/blocks/components/Card/SelectableCardElevated.tsx (block)
15
+ * - /packages/cli/assets/templates/blocks/components/Card/SelectableCardShowcase.tsx (showcase block)
16
+ * - /packages/cli/assets/templates/blocks/components/Card/SelectableCardMulti.tsx (block)
17
+ * - /packages/cli/assets/templates/blocks/components/Card/SelectableCardElevated.tsx (block)
18
18
  *
19
19
  * Composes Card for all visual styling. Adds selection state with
20
20
  * an inset box-shadow (zero layout jitter) and useClickableContainer
@@ -22,6 +22,7 @@
22
22
  *
23
23
  * A hidden <input type="checkbox"> inside the card provides the accessible
24
24
  * role, label, and checked state — the card surface itself has no role/tabIndex.
25
+ * Space toggles it natively; Enter is wired up as an additional toggle key.
25
26
  *
26
27
  * For static display, use Card.
27
28
  * For navigation or action cards, use ClickableCard.
@@ -30,6 +31,7 @@
30
31
  import {
31
32
  type ReactNode,
32
33
  type MouseEvent,
34
+ type KeyboardEvent,
33
35
  useRef,
34
36
  useCallback,
35
37
  type Ref,
@@ -311,6 +313,19 @@ export function SelectableCard({
311
313
  [isDisabled, isSelected, onChange],
312
314
  );
313
315
 
316
+ // The focusable control is a native checkbox, which toggles on Space but
317
+ // ignores Enter. Add Enter as an extra toggle key; Space keeps its native
318
+ // handling, so we deliberately do not toggle on Space here (would double).
319
+ const handleKeyDown = useCallback(
320
+ (event: KeyboardEvent<HTMLInputElement>) => {
321
+ if (!isDisabled && event.key === 'Enter') {
322
+ event.preventDefault();
323
+ onChange(!isSelected);
324
+ }
325
+ },
326
+ [isDisabled, isSelected, onChange],
327
+ );
328
+
314
329
  const {onClick, onMouseUp} = useClickableContainer({
315
330
  containerRef,
316
331
  interactiveRef,
@@ -369,6 +384,7 @@ export function SelectableCard({
369
384
  aria-label={label}
370
385
  disabled={isDisabled}
371
386
  onChange={() => onChange(!isSelected)}
387
+ onKeyDown={handleKeyDown}
372
388
  {...stylex.props(styles.srOnly)}
373
389
  />
374
390
  {children}
@@ -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: 'Selector',
@@ -252,7 +252,7 @@ export const docs = {
252
252
  },
253
253
  };
254
254
 
255
- /** @type {import('../docs-types').TranslationDoc} */
255
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
256
256
  export const docsZh = {
257
257
  usage: {
258
258
  description:
@@ -344,7 +344,7 @@ export const docsZh = {
344
344
  },
345
345
  };
346
346
 
347
- /** @type {import('../docs-types').TranslationDoc} */
347
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
348
348
  export const docsDense = {
349
349
  usage: {
350
350
  description:
@@ -613,6 +613,28 @@ describe('Selector', () => {
613
613
  expect(within(listbox).getByText('No results found')).toBeInTheDocument();
614
614
  });
615
615
 
616
+ it('empty-state message is not exposed as a listbox child', async () => {
617
+ const user = userEvent.setup();
618
+ render(
619
+ <Selector
620
+ label="Fruit"
621
+ options={OPTIONS}
622
+ value="Apple"
623
+ onChange={() => {}}
624
+ hasSearch
625
+ />,
626
+ );
627
+ await user.click(screen.getByRole('button', {name: 'Fruit'}));
628
+ await user.type(screen.getByRole('combobox', h), 'xyz');
629
+
630
+ // role="listbox" only permits option/group children — the visual
631
+ // empty-state message must be presentational (it is announced through
632
+ // the result-count live region instead).
633
+ const listbox = screen.getByRole('listbox', h);
634
+ const empty = within(listbox).getByText('No results found');
635
+ expect(empty).toHaveAttribute('role', 'presentation');
636
+ });
637
+
616
638
  it('calls onChange when selecting a filtered option', async () => {
617
639
  const user = userEvent.setup();
618
640
  const onChange = vi.fn();
@@ -1219,6 +1241,36 @@ describe('Selector statusVariant forwarding', () => {
1219
1241
  'detached',
1220
1242
  );
1221
1243
  });
1244
+
1245
+ it('keeps the on-field status icon for the attached variant', () => {
1246
+ const {container} = render(
1247
+ <Selector
1248
+ label="Fruit"
1249
+ options={['Apple', 'Banana']}
1250
+ status={{type: 'error', message: 'Required'}}
1251
+ />,
1252
+ );
1253
+ // Attached: the status glyph replaces the chevron indicator on the field.
1254
+ expect(
1255
+ container.querySelector('.astryx-selector-indicator-icon'),
1256
+ ).toBeNull();
1257
+ });
1258
+
1259
+ it('suppresses the on-field status icon for the detached variant', () => {
1260
+ const {container} = render(
1261
+ <Selector
1262
+ label="Fruit"
1263
+ options={['Apple', 'Banana']}
1264
+ status={{type: 'error', message: 'Required'}}
1265
+ statusVariant="detached"
1266
+ />,
1267
+ );
1268
+ // Detached: the message box below carries its own leading icon, so the
1269
+ // field keeps its chevron indicator rather than duplicating the glyph.
1270
+ expect(
1271
+ container.querySelector('.astryx-selector-indicator-icon'),
1272
+ ).not.toBeNull();
1273
+ });
1222
1274
  });
1223
1275
 
1224
1276
  describe('Selector clear icon theme target', () => {
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/Selector/Selector.test.tsx
14
14
  * - /packages/core/src/Selector/index.ts
15
15
  * - /apps/storybook/stories/InputGroup.stories.tsx
16
- * - /packages/cli/templates/blocks/components/Selector/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/Selector/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import React, {
@@ -963,8 +963,15 @@ export function Selector<T extends SelectorOptionType>(
963
963
 
964
964
  // Nothing matched across every group/option: show the empty state.
965
965
  if (isSearching && filteredItems.length === 0) {
966
+ // role="presentation" keeps the message out of the listbox's
967
+ // accessibility tree (role="listbox" only permits option/group
968
+ // children); the no-results outcome is announced via the
969
+ // result-count live region instead.
966
970
  return [
967
- <div key="empty" {...stylex.props(styles.emptyState)}>
971
+ <div
972
+ key="empty"
973
+ role="presentation"
974
+ {...stylex.props(styles.emptyState)}>
968
975
  No results found
969
976
  </div>,
970
977
  ];
@@ -1025,6 +1032,10 @@ export function Selector<T extends SelectorOptionType>(
1025
1032
  return elements;
1026
1033
  }, [options, renderItem, hasSearch, searchQuery, filteredItems]);
1027
1034
 
1035
+ // The detached message box renders its own leading status icon, so the
1036
+ // on-field icon would duplicate it — keep the chevron indicator instead.
1037
+ const showStatusIcon = status != null && statusVariant !== 'detached';
1038
+
1028
1039
  const selectorContent = (
1029
1040
  <>
1030
1041
  <div
@@ -1125,10 +1136,10 @@ export function Selector<T extends SelectorOptionType>(
1125
1136
  <span
1126
1137
  {...stylex.props(
1127
1138
  styles.triggerIcon,
1128
- !status && popover.isOpen && styles.triggerIconOpen,
1129
- status && styles.triggerIconStatus,
1139
+ !showStatusIcon && popover.isOpen && styles.triggerIconOpen,
1140
+ showStatusIcon && styles.triggerIconStatus,
1130
1141
  )}>
1131
- {status ? (
1142
+ {showStatusIcon ? (
1132
1143
  <Icon
1133
1144
  icon={STATUS_ICON_MAP[status.type]}
1134
1145
  size="sm"
@@ -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: 'SelectorOption',
@@ -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: 'SideNav',
@@ -142,7 +142,7 @@ export const docs = {
142
142
  },
143
143
  };
144
144
 
145
- /** @type {import('../docs-types').TranslationDoc} */
145
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
146
146
  export const docsZh = {
147
147
  usage: {
148
148
  description:
@@ -161,7 +161,7 @@ export const docsZh = {
161
161
  },
162
162
  };
163
163
 
164
- /** @type {import('../docs-types').TranslationDoc} */
164
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
165
165
  export const docsDense = {
166
166
  usage: {
167
167
  description:
@@ -18,7 +18,7 @@
18
18
  * - /packages/core/src/SideNav/SideNav.test.tsx
19
19
  * - /packages/core/src/SideNav/index.ts
20
20
  * - /apps/storybook/stories/SideNav.stories.tsx
21
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
21
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
22
22
  */
23
23
 
24
24
  import {
@@ -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: 'SideNavCollapseButton',
@@ -14,13 +14,13 @@
14
14
  * SYNC: When modified, update:
15
15
  * - /packages/core/src/SideNav/SideNav.doc.mjs
16
16
  * - /packages/core/src/SideNav/index.ts
17
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
17
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
18
18
  */
19
19
 
20
20
  import React, {type ReactNode} from 'react';
21
21
  import * as stylex from '@stylexjs/stylex';
22
22
  import {durationVars, easeVars} from '../theme/tokens.stylex';
23
- import {getIcon} from '../Icon/globalIconRegistry';
23
+ import {useIcon} from '../Icon';
24
24
  import {Button} from '../Button';
25
25
  import type {BaseProps} from '../BaseProps';
26
26
  import {composeEventHandlers, rtlStyles} from '../utils';
@@ -107,6 +107,7 @@ export function SideNavCollapseButton({
107
107
  ...props
108
108
  }: SideNavCollapseButtonProps) {
109
109
  const t = useTranslator();
110
+ const chevronLeftIcon = useIcon('chevronLeft');
110
111
  const {isCollapsed, toggle, isCollapsible} =
111
112
  useSideNavCollapseState(handleRef);
112
113
  const {isMobile} = useAppShellMobile();
@@ -137,7 +138,7 @@ export function SideNavCollapseButton({
137
138
  styles.chevron,
138
139
  isCollapsed && styles.chevronCollapsed,
139
140
  )}>
140
- {getIcon('chevronLeft')}
141
+ {chevronLeftIcon}
141
142
  </span>
142
143
  </span>
143
144
  )
@@ -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: 'SideNavHeading',
@@ -16,7 +16,7 @@
16
16
  * - /packages/core/src/SideNav/SideNav.test.tsx
17
17
  * - /packages/core/src/SideNav/index.ts
18
18
  * - /apps/storybook/stories/SideNav.stories.tsx
19
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
19
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
20
20
  */
21
21
 
22
22
  import {useMemo, useRef, type ReactNode} from 'react';
@@ -33,7 +33,7 @@ import {
33
33
  // of lazy loading layer resources.
34
34
  import {usePopover} from '../Popover/usePopover';
35
35
  import {Link} from '../Link';
36
- import {getIcon} from '../Icon/globalIconRegistry';
36
+ import {useIcon} from '../Icon';
37
37
  import {Tooltip} from '../Tooltip';
38
38
  import {navItemStyles} from '../NavItem/navItemStyles.stylex';
39
39
  import {useSideNavCollapse} from './SideNavCollapseContext';
@@ -344,6 +344,7 @@ export function SideNavHeading({
344
344
  ...props
345
345
  }: SideNavHeadingProps) {
346
346
  const t = useTranslator();
347
+ const chevronDownIcon = useIcon('chevronDown');
347
348
  const LinkComponent = useLinkComponent(as);
348
349
  const {isCollapsed} = useSideNavCollapse();
349
350
  const rootRef = useRef<HTMLDivElement>(null);
@@ -454,7 +455,7 @@ export function SideNavHeading({
454
455
  {heading}
455
456
  </span>
456
457
  <span {...stylex.props(styles.popoverChevron)}>
457
- {getIcon('chevronDown')}
458
+ {chevronDownIcon}
458
459
  </span>
459
460
  </span>
460
461
  {subheading && (
@@ -550,7 +551,7 @@ export function SideNavHeading({
550
551
  );
551
552
 
552
553
  const chevronElement = showChevron && (
553
- <span {...stylex.props(styles.chevron)}>{getIcon('chevronDown')}</span>
554
+ <span {...stylex.props(styles.chevron)}>{chevronDownIcon}</span>
554
555
  );
555
556
 
556
557
  const headerEndContentElement = headerEndContent && (
@@ -566,9 +567,7 @@ export function SideNavHeading({
566
567
  onClick={triggerProps.onClick}>
567
568
  {icon && <span {...stylex.props(styles.icon)}>{icon}</span>}
568
569
  {renderTextContent(
569
- <span {...stylex.props(styles.popoverChevron)}>
570
- {getIcon('chevronDown')}
571
- </span>,
570
+ <span {...stylex.props(styles.popoverChevron)}>{chevronDownIcon}</span>,
572
571
  )}
573
572
  </button>
574
573
  );
@@ -620,7 +619,7 @@ export function SideNavHeading({
620
619
  }}
621
620
  {...popover.triggerProps}
622
621
  {...stylex.props(styles.chevron, styles.interactive)}>
623
- {getIcon('chevronDown')}
622
+ {chevronDownIcon}
624
623
  </button>,
625
624
  )}
626
625
  {headerEndContentElement}
@@ -686,7 +685,7 @@ export function SideNavHeading({
686
685
  }}
687
686
  {...popover.triggerProps}
688
687
  {...stylex.props(styles.chevron, styles.interactive)}>
689
- {getIcon('chevronDown')}
688
+ {chevronDownIcon}
690
689
  </button>
691
690
  ) : undefined,
692
691
  )}
@@ -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: 'SideNavItem',
@@ -15,7 +15,7 @@
15
15
  * - /packages/core/src/SideNav/SideNav.test.tsx
16
16
  * - /packages/core/src/SideNav/index.ts
17
17
  * - /apps/storybook/stories/SideNav.stories.tsx
18
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
18
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
19
19
  */
20
20
 
21
21
  import {
@@ -38,7 +38,7 @@ import {
38
38
  borderVars,
39
39
  radiusVars,
40
40
  } from '../theme/tokens.stylex';
41
- import {renderIconSlot, type IconType} from '../Icon';
41
+ import {renderIconSlot, useIcon, type IconType} from '../Icon';
42
42
  import {useLinkComponent} from '../Link/useLinkComponent';
43
43
  import type {LinkComponentType} from '../Link/types';
44
44
  import {usePopover} from '../Popover/usePopover';
@@ -50,7 +50,6 @@ import {
50
50
  useSideNavCollapse,
51
51
  SideNavCollapseContext,
52
52
  } from './SideNavCollapseContext';
53
- import {getIcon} from '../Icon/globalIconRegistry';
54
53
  import {useSideNavRenderMode} from './SideNavRenderContext';
55
54
  import {useAppShellMobile} from '../AppShell/AppShellMobileContext';
56
55
  import {themeProps} from '../utils/themeProps';
@@ -357,9 +356,9 @@ export function SideNavItem({
357
356
  'data-testid': testId,
358
357
  ref,
359
358
  xstyle,
360
- ...rest
361
359
  }: SideNavItemProps) {
362
360
  const t = useTranslator();
361
+ const chevronDownIcon = useIcon('chevronDown');
363
362
  const {isCollapsed} = useSideNavCollapse();
364
363
  const renderMode = useSideNavRenderMode();
365
364
  const {closeMobileNav} = useAppShellMobile();
@@ -580,7 +579,7 @@ export function SideNavItem({
580
579
  styles.expandChevron,
581
580
  !isItemCollapsed && styles.expandChevronExpanded,
582
581
  )}>
583
- {getIcon('chevronDown')}
582
+ {chevronDownIcon}
584
583
  </span>
585
584
  )}
586
585
  </>
@@ -643,7 +642,7 @@ export function SideNavItem({
643
642
  styles.expandChevron,
644
643
  !isItemCollapsed && styles.expandChevronExpanded,
645
644
  )}>
646
- {getIcon('chevronDown')}
645
+ {chevronDownIcon}
647
646
  </span>
648
647
  </button>
649
648
  </div>
@@ -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: 'SideNavSection',
@@ -15,7 +15,7 @@
15
15
  * - /packages/core/src/SideNav/SideNav.test.tsx
16
16
  * - /packages/core/src/SideNav/index.ts
17
17
  * - /apps/storybook/stories/SideNav.stories.tsx
18
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
18
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
19
19
  */
20
20
 
21
21
  import React, {useId, type ReactNode} from 'react';
@@ -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: 'Skeleton',
@@ -61,7 +61,7 @@ export const docs = {
61
61
  },
62
62
  };
63
63
 
64
- /** @type {import('../docs-types').ComponentDoc} */
64
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
65
65
  export const docsZh = {
66
66
  name: 'Skeleton',
67
67
  displayName: 'Skeleton',
@@ -110,7 +110,7 @@ export const docsZh = {
110
110
  },
111
111
  };
112
112
 
113
- /** @type {import('../docs-types').TranslationDoc} */
113
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
114
114
  export const docsDense = {
115
115
  usage: {
116
116
  description:
@@ -3,6 +3,7 @@
3
3
  import {describe, it, expect} from 'vitest';
4
4
  import {render, screen} from '@testing-library/react';
5
5
  import {Skeleton} from './Skeleton';
6
+ import {getForcedColorsRules} from '../__tests__/forcedColors';
6
7
 
7
8
  describe('Skeleton', () => {
8
9
  it('renders a placeholder element', () => {
@@ -23,3 +24,18 @@ describe('Skeleton', () => {
23
24
  expect(screen.getByTestId('sk')).toHaveAttribute('aria-hidden', 'false');
24
25
  });
25
26
  });
27
+
28
+ // jsdom cannot emulate forced-colors rendering, so these assert that the
29
+ // compiled output includes the forced-colors rules; visual behavior needs
30
+ // manual verification under Windows High Contrast.
31
+ describe('forced colors (WCAG 1.4.11)', () => {
32
+ it('compiles forced-colors overrides so the placeholder stays visible under Windows High Contrast', () => {
33
+ render(<Skeleton width={200} height={20} data-testid="sk" />);
34
+ const css = getForcedColorsRules();
35
+ // The painted fill is stripped to Canvas (invisible); GrayText is a
36
+ // system color, so it survives forcing.
37
+ expect(css).toContain('background-color: graytext;');
38
+ // The resting 0.25 opacity is lifted so the static placeholder reads.
39
+ expect(css).toContain('opacity: 1;');
40
+ });
41
+ });