@astryxdesign/core 0.2.0 → 0.3.0-canary.5f9896c

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 (1084) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +5 -3
  3. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  4. package/dist/AlertDialog/AlertDialog.js +1 -1
  5. package/dist/AppShell/AppShell.d.ts +2 -20
  6. package/dist/AppShell/AppShell.d.ts.map +1 -1
  7. package/dist/AppShell/AppShell.js +25 -18
  8. package/dist/AppShell/index.d.ts +20 -1
  9. package/dist/AppShell/index.d.ts.map +1 -1
  10. package/dist/AppShell/index.js +14 -0
  11. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  12. package/dist/AspectRatio/AspectRatio.js +1 -1
  13. package/dist/Avatar/Avatar.d.ts +1 -1
  14. package/dist/Avatar/Avatar.d.ts.map +1 -1
  15. package/dist/Avatar/Avatar.js +4 -4
  16. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  17. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  18. package/dist/Avatar/AvatarStatusDot.js +1 -22
  19. package/dist/Avatar/index.d.ts +26 -1
  20. package/dist/Avatar/index.d.ts.map +1 -1
  21. package/dist/Avatar/index.js +21 -0
  22. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  24. package/dist/AvatarGroup/AvatarGroup.js +4 -8
  25. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  26. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  27. package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
  28. package/dist/Badge/Badge.d.ts +2 -30
  29. package/dist/Badge/Badge.d.ts.map +1 -1
  30. package/dist/Badge/Badge.js +2 -17
  31. package/dist/Badge/index.d.ts +31 -2
  32. package/dist/Badge/index.d.ts.map +1 -1
  33. package/dist/Badge/index.js +15 -1
  34. package/dist/Banner/Banner.d.ts +2 -37
  35. package/dist/Banner/Banner.d.ts.map +1 -1
  36. package/dist/Banner/Banner.js +6 -34
  37. package/dist/Banner/index.d.ts +37 -1
  38. package/dist/Banner/index.d.ts.map +1 -1
  39. package/dist/Banner/index.js +27 -0
  40. package/dist/Blockquote/Blockquote.d.ts +1 -1
  41. package/dist/Blockquote/Blockquote.js +1 -1
  42. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  43. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  44. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  45. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  46. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  47. package/dist/Breadcrumbs/index.d.ts +18 -1
  48. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  49. package/dist/Breadcrumbs/index.js +14 -0
  50. package/dist/Button/Button.d.ts +3 -21
  51. package/dist/Button/Button.d.ts.map +1 -1
  52. package/dist/Button/Button.js +6 -19
  53. package/dist/Button/index.d.ts +21 -3
  54. package/dist/Button/index.d.ts.map +1 -1
  55. package/dist/Button/index.js +15 -1
  56. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  57. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  58. package/dist/Calendar/Calendar.js +1 -1
  59. package/dist/Calendar/index.d.ts +1 -1
  60. package/dist/Calendar/index.d.ts.map +1 -1
  61. package/dist/Calendar/index.js +1 -1
  62. package/dist/Calendar/styles.d.ts +2 -2
  63. package/dist/Calendar/styles.js +2 -2
  64. package/dist/Calendar/utils.d.ts +0 -4
  65. package/dist/Calendar/utils.d.ts.map +1 -1
  66. package/dist/Calendar/utils.js +1 -8
  67. package/dist/Card/Card.d.ts +1 -1
  68. package/dist/Card/Card.js +1 -1
  69. package/dist/Carousel/Carousel.d.ts +54 -3
  70. package/dist/Carousel/Carousel.d.ts.map +1 -1
  71. package/dist/Carousel/Carousel.js +82 -15
  72. package/dist/Carousel/index.d.ts +1 -1
  73. package/dist/Carousel/index.d.ts.map +1 -1
  74. package/dist/Center/Center.d.ts +21 -4
  75. package/dist/Center/Center.d.ts.map +1 -1
  76. package/dist/Center/Center.js +11 -3
  77. package/dist/Chat/ChatComposer.d.ts +1 -1
  78. package/dist/Chat/ChatComposer.js +9 -9
  79. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  80. package/dist/Chat/ChatComposerDrawer.js +5 -5
  81. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  82. package/dist/Chat/ChatComposerInput.js +1 -1
  83. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  84. package/dist/Chat/ChatDictationButton.js +1 -1
  85. package/dist/Chat/ChatLayout.d.ts +8 -1
  86. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  87. package/dist/Chat/ChatLayout.js +15 -4
  88. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  89. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  90. package/dist/Chat/ChatMessage.d.ts +1 -1
  91. package/dist/Chat/ChatMessage.js +1 -1
  92. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  93. package/dist/Chat/ChatMessageBubble.js +1 -1
  94. package/dist/Chat/ChatMessageList.d.ts +1 -1
  95. package/dist/Chat/ChatMessageList.js +1 -1
  96. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  97. package/dist/Chat/ChatSendButton.js +4 -2
  98. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  99. package/dist/Chat/ChatSystemMessage.js +1 -1
  100. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  101. package/dist/Chat/ChatTokenizedText.js +1 -1
  102. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  103. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  104. package/dist/CheckboxInput/CheckboxInput.js +3 -3
  105. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  106. package/dist/CheckboxList/CheckboxList.js +1 -1
  107. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  108. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  109. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  110. package/dist/Citation/Citation.d.ts +1 -1
  111. package/dist/Citation/Citation.js +1 -1
  112. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  113. package/dist/ClickableCard/ClickableCard.js +3 -3
  114. package/dist/Code/Code.d.ts +2 -2
  115. package/dist/Code/Code.js +2 -2
  116. package/dist/CodeBlock/CodeBlock.js +2 -2
  117. package/dist/Collapsible/Collapsible.d.ts +1 -1
  118. package/dist/Collapsible/Collapsible.js +3 -3
  119. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  120. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  121. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  122. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  123. package/dist/CommandPalette/CommandPalette.js +1 -1
  124. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  125. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  126. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  127. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  128. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  129. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  130. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  131. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  132. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  133. package/dist/ComplexSelector/ComplexSelector.d.ts +108 -0
  134. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -0
  135. package/dist/ComplexSelector/ComplexSelector.js +316 -0
  136. package/dist/ComplexSelector/index.d.ts +7 -0
  137. package/dist/ComplexSelector/index.d.ts.map +1 -0
  138. package/dist/ComplexSelector/index.js +10 -0
  139. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  140. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  141. package/dist/ContextMenu/ContextMenu.js +24 -6
  142. package/dist/DateInput/DateInput.js +1 -1
  143. package/dist/DateRangeInput/DateRangeInput.js +1 -1
  144. package/dist/DateTimeInput/DateTimeInput.js +1 -1
  145. package/dist/Dialog/Dialog.d.ts +33 -24
  146. package/dist/Dialog/Dialog.d.ts.map +1 -1
  147. package/dist/Dialog/Dialog.js +47 -31
  148. package/dist/Dialog/DialogHeader.d.ts +1 -1
  149. package/dist/Dialog/DialogHeader.js +1 -1
  150. package/dist/Dialog/index.d.ts +18 -1
  151. package/dist/Dialog/index.d.ts.map +1 -1
  152. package/dist/Dialog/index.js +14 -0
  153. package/dist/Divider/Divider.d.ts +2 -18
  154. package/dist/Divider/Divider.d.ts.map +1 -1
  155. package/dist/Divider/Divider.js +1 -15
  156. package/dist/Divider/index.d.ts +18 -1
  157. package/dist/Divider/index.d.ts.map +1 -1
  158. package/dist/Divider/index.js +14 -0
  159. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  160. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  161. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  162. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  163. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  164. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  165. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  166. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  167. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  168. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  169. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  170. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  171. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  172. package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
  173. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  174. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  175. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  176. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  177. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  178. package/dist/DropdownMenu/menuItemHover.js +1 -0
  179. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  180. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  181. package/dist/EmptyState/EmptyState.d.ts +1 -1
  182. package/dist/EmptyState/EmptyState.js +1 -1
  183. package/dist/Field/Field.d.ts +1 -1
  184. package/dist/Field/Field.js +1 -1
  185. package/dist/Field/FieldLabel.d.ts +4 -3
  186. package/dist/Field/FieldLabel.d.ts.map +1 -1
  187. package/dist/Field/FieldLabel.js +48 -5
  188. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  189. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  190. package/dist/FieldStatus/FieldStatus.js +13 -17
  191. package/dist/FieldStatus/index.d.ts +19 -1
  192. package/dist/FieldStatus/index.d.ts.map +1 -1
  193. package/dist/FieldStatus/index.js +14 -0
  194. package/dist/FileInput/FileInput.js +1 -1
  195. package/dist/FormLayout/FormLayout.d.ts +1 -1
  196. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  197. package/dist/FormLayout/FormLayout.js +1 -1
  198. package/dist/Grid/Grid.d.ts +2 -10
  199. package/dist/Grid/Grid.d.ts.map +1 -1
  200. package/dist/Grid/Grid.js +1 -10
  201. package/dist/Grid/GridSpan.d.ts +1 -1
  202. package/dist/Grid/GridSpan.js +1 -1
  203. package/dist/HStack/HStack.d.ts +1 -1
  204. package/dist/HStack/HStack.js +1 -1
  205. package/dist/Heading/Heading.d.ts +2 -2
  206. package/dist/Heading/Heading.d.ts.map +1 -1
  207. package/dist/Heading/Heading.js +5 -4
  208. package/dist/HoverCard/HoverCard.d.ts +1 -1
  209. package/dist/HoverCard/HoverCard.js +1 -1
  210. package/dist/Icon/Icon.d.ts +1 -1
  211. package/dist/Icon/Icon.d.ts.map +1 -1
  212. package/dist/Icon/Icon.js +4 -2
  213. package/dist/Icon/defaultIcons.d.ts.map +1 -1
  214. package/dist/Icon/defaultIcons.js +14 -0
  215. package/dist/Icon/globalIconRegistry.d.ts +48 -6
  216. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  217. package/dist/Icon/globalIconRegistry.js +74 -7
  218. package/dist/Icon/index.d.ts +4 -3
  219. package/dist/Icon/index.d.ts.map +1 -1
  220. package/dist/Icon/index.js +2 -1
  221. package/dist/Icon/useIcon.d.ts +14 -0
  222. package/dist/Icon/useIcon.d.ts.map +1 -0
  223. package/dist/Icon/useIcon.js +21 -0
  224. package/dist/IconButton/IconButton.d.ts +1 -1
  225. package/dist/IconButton/IconButton.js +1 -1
  226. package/dist/InputGroup/InputGroup.d.ts +1 -1
  227. package/dist/InputGroup/InputGroup.js +1 -1
  228. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  229. package/dist/InputGroup/InputGroupText.js +1 -1
  230. package/dist/Item/Item.d.ts +17 -4
  231. package/dist/Item/Item.d.ts.map +1 -1
  232. package/dist/Item/Item.js +32 -7
  233. package/dist/Kbd/Kbd.d.ts +1 -1
  234. package/dist/Kbd/Kbd.js +1 -1
  235. package/dist/Layout/Layout.d.ts +1 -1
  236. package/dist/Layout/Layout.js +1 -1
  237. package/dist/Layout/LayoutContent.d.ts +1 -1
  238. package/dist/Layout/LayoutContent.js +1 -1
  239. package/dist/Layout/LayoutFooter.d.ts +1 -1
  240. package/dist/Layout/LayoutFooter.js +1 -1
  241. package/dist/Layout/LayoutHeader.d.ts +1 -1
  242. package/dist/Layout/LayoutHeader.js +1 -1
  243. package/dist/Layout/LayoutPanel.d.ts +1 -1
  244. package/dist/Layout/LayoutPanel.js +1 -1
  245. package/dist/Lightbox/Lightbox.d.ts +6 -4
  246. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  247. package/dist/Lightbox/Lightbox.js +117 -26
  248. package/dist/Link/Link.d.ts +1 -1
  249. package/dist/Link/Link.js +1 -1
  250. package/dist/Link/LinkProvider.d.ts +2 -2
  251. package/dist/Link/LinkProvider.js +2 -2
  252. package/dist/List/List.d.ts +1 -1
  253. package/dist/List/List.js +1 -1
  254. package/dist/List/ListItem.d.ts +12 -2
  255. package/dist/List/ListItem.d.ts.map +1 -1
  256. package/dist/List/ListItem.js +3 -1
  257. package/dist/Markdown/Markdown.d.ts.map +1 -1
  258. package/dist/Markdown/Markdown.js +35 -13
  259. package/dist/MetadataList/MetadataList.d.ts +2 -2
  260. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  261. package/dist/MetadataList/MetadataList.js +38 -12
  262. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  263. package/dist/MetadataList/MetadataListItem.js +1 -1
  264. package/dist/MobileNav/MobileNav.d.ts +1 -1
  265. package/dist/MobileNav/MobileNav.js +1 -1
  266. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  267. package/dist/MoreMenu/MoreMenu.js +3 -3
  268. package/dist/MultiSelector/MultiSelector.d.ts +13 -4
  269. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  270. package/dist/MultiSelector/MultiSelector.js +118 -24
  271. package/dist/NavIcon/NavIcon.d.ts +1 -1
  272. package/dist/NavIcon/NavIcon.js +1 -1
  273. package/dist/NavMenu/index.d.ts +0 -2
  274. package/dist/NavMenu/index.d.ts.map +1 -1
  275. package/dist/NavMenu/index.js +1 -3
  276. package/dist/NumberInput/NumberInput.d.ts +1 -1
  277. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  278. package/dist/NumberInput/NumberInput.js +16 -5
  279. package/dist/Outline/Outline.js +1 -1
  280. package/dist/OverflowList/OverflowList.d.ts +1 -1
  281. package/dist/OverflowList/OverflowList.js +1 -1
  282. package/dist/Pagination/Pagination.d.ts +26 -21
  283. package/dist/Pagination/Pagination.d.ts.map +1 -1
  284. package/dist/Pagination/Pagination.js +169 -41
  285. package/dist/Pagination/index.d.ts +22 -1
  286. package/dist/Pagination/index.d.ts.map +1 -1
  287. package/dist/Pagination/index.js +14 -0
  288. package/dist/Popover/Popover.d.ts +20 -3
  289. package/dist/Popover/Popover.d.ts.map +1 -1
  290. package/dist/Popover/Popover.js +5 -1
  291. package/dist/Popover/usePopover.d.ts.map +1 -1
  292. package/dist/Popover/usePopover.js +14 -3
  293. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  294. package/dist/PowerSearch/PowerSearch.js +1 -1
  295. package/dist/ProgressBar/ProgressBar.d.ts +56 -22
  296. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  297. package/dist/ProgressBar/ProgressBar.js +169 -22
  298. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts +27 -0
  299. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts.map +1 -0
  300. package/dist/ProgressBar/ProgressBarMarkTooltip.js +35 -0
  301. package/dist/ProgressBar/index.d.ts +21 -1
  302. package/dist/ProgressBar/index.d.ts.map +1 -1
  303. package/dist/ProgressBar/index.js +14 -0
  304. package/dist/RadioList/RadioList.d.ts +1 -1
  305. package/dist/RadioList/RadioList.js +1 -1
  306. package/dist/RadioList/RadioListItem.d.ts +1 -1
  307. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  308. package/dist/RadioList/RadioListItem.js +2 -2
  309. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  310. package/dist/Resizable/ResizeHandle.js +15 -11
  311. package/dist/Section/Section.d.ts +2 -19
  312. package/dist/Section/Section.d.ts.map +1 -1
  313. package/dist/Section/Section.js +1 -15
  314. package/dist/Section/index.d.ts +19 -1
  315. package/dist/Section/index.d.ts.map +1 -1
  316. package/dist/Section/index.js +14 -0
  317. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  318. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  319. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  320. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  321. package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
  322. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  323. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  324. package/dist/SelectableCard/SelectableCard.js +15 -3
  325. package/dist/Selector/Selector.d.ts +12 -3
  326. package/dist/Selector/Selector.d.ts.map +1 -1
  327. package/dist/Selector/Selector.js +109 -21
  328. package/dist/SideNav/SideNav.d.ts +1 -1
  329. package/dist/SideNav/SideNav.js +1 -1
  330. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  331. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  332. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  333. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  334. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  335. package/dist/SideNav/SideNavHeading.js +8 -7
  336. package/dist/SideNav/SideNavItem.d.ts +2 -2
  337. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  338. package/dist/SideNav/SideNavItem.js +6 -7
  339. package/dist/SideNav/SideNavSection.d.ts +1 -1
  340. package/dist/SideNav/SideNavSection.js +1 -1
  341. package/dist/Skeleton/Skeleton.d.ts +1 -1
  342. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  343. package/dist/Skeleton/Skeleton.js +3 -3
  344. package/dist/Slider/Slider.d.ts.map +1 -1
  345. package/dist/Slider/Slider.js +78 -68
  346. package/dist/Spinner/Spinner.d.ts +1 -1
  347. package/dist/Spinner/Spinner.js +1 -1
  348. package/dist/Stack/Stack.d.ts +1 -1
  349. package/dist/Stack/Stack.js +1 -1
  350. package/dist/Stack/StackItem.d.ts +1 -1
  351. package/dist/Stack/StackItem.js +1 -1
  352. package/dist/Stack/stack.stylex.d.ts +3 -3
  353. package/dist/StatusDot/StatusDot.d.ts +1 -20
  354. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  355. package/dist/StatusDot/StatusDot.js +2 -17
  356. package/dist/StatusDot/index.d.ts +21 -1
  357. package/dist/StatusDot/index.d.ts.map +1 -1
  358. package/dist/StatusDot/index.js +14 -0
  359. package/dist/Switch/Switch.d.ts +2 -6
  360. package/dist/Switch/Switch.d.ts.map +1 -1
  361. package/dist/Switch/Switch.js +18 -10
  362. package/dist/TabList/Tab.d.ts +1 -1
  363. package/dist/TabList/Tab.js +1 -1
  364. package/dist/TabList/TabList.d.ts +1 -1
  365. package/dist/TabList/TabList.js +1 -1
  366. package/dist/TabList/TabMenu.d.ts +1 -1
  367. package/dist/TabList/TabMenu.d.ts.map +1 -1
  368. package/dist/TabList/TabMenu.js +11 -3
  369. package/dist/Table/BaseTable.d.ts +1 -1
  370. package/dist/Table/BaseTable.d.ts.map +1 -1
  371. package/dist/Table/BaseTable.js +4 -7
  372. package/dist/Table/Table.d.ts +1 -1
  373. package/dist/Table/Table.js +1 -1
  374. package/dist/Table/TableCell.d.ts +1 -1
  375. package/dist/Table/TableCell.js +4 -2
  376. package/dist/Table/TableHeaderCell.d.ts +1 -1
  377. package/dist/Table/TableHeaderCell.js +4 -2
  378. package/dist/Table/TableRow.d.ts +1 -1
  379. package/dist/Table/TableRow.js +1 -1
  380. package/dist/Table/index.d.ts +1 -1
  381. package/dist/Table/index.d.ts.map +1 -1
  382. package/dist/Table/index.js +1 -1
  383. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
  384. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
  385. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  386. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  387. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -4
  388. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  389. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  390. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  391. package/dist/Table/types.d.ts +0 -9
  392. package/dist/Table/types.d.ts.map +1 -1
  393. package/dist/Text/Text.d.ts +11 -2
  394. package/dist/Text/Text.d.ts.map +1 -1
  395. package/dist/Text/Text.js +26 -3
  396. package/dist/Text/index.d.ts +31 -1
  397. package/dist/Text/index.d.ts.map +1 -1
  398. package/dist/Text/index.js +23 -0
  399. package/dist/TextArea/TextArea.d.ts +1 -1
  400. package/dist/TextArea/TextArea.d.ts.map +1 -1
  401. package/dist/TextArea/TextArea.js +107 -39
  402. package/dist/TextInput/TextInput.d.ts +1 -1
  403. package/dist/TextInput/TextInput.js +1 -1
  404. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  405. package/dist/Thumbnail/Thumbnail.js +52 -46
  406. package/dist/TimeInput/TimeInput.js +1 -1
  407. package/dist/Timestamp/Timestamp.d.ts +26 -12
  408. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  409. package/dist/Timestamp/Timestamp.js +128 -65
  410. package/dist/Timestamp/TimestampHoverCard.d.ts +45 -0
  411. package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -0
  412. package/dist/Timestamp/TimestampHoverCard.js +228 -0
  413. package/dist/Timestamp/formatInstant.d.ts +3 -3
  414. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  415. package/dist/Timestamp/formatInstant.js +7 -2
  416. package/dist/Timestamp/tooltipEntries.d.ts +17 -2
  417. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  418. package/dist/Timestamp/tooltipEntries.js +4 -2
  419. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  420. package/dist/Toast/ToastViewport.js +61 -9
  421. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  422. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  423. package/dist/ToggleButton/ToggleButton.js +4 -2
  424. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  425. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  426. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  427. package/dist/Token/Token.d.ts +6 -28
  428. package/dist/Token/Token.d.ts.map +1 -1
  429. package/dist/Token/Token.js +69 -58
  430. package/dist/Token/TokenLink.d.ts +62 -0
  431. package/dist/Token/TokenLink.d.ts.map +1 -0
  432. package/dist/Token/TokenLink.js +76 -0
  433. package/dist/Token/index.d.ts +27 -1
  434. package/dist/Token/index.d.ts.map +1 -1
  435. package/dist/Token/index.js +14 -0
  436. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  437. package/dist/Tokenizer/Tokenizer.js +1 -1
  438. package/dist/Toolbar/Toolbar.d.ts +1 -1
  439. package/dist/Toolbar/Toolbar.js +1 -1
  440. package/dist/Tooltip/Tooltip.d.ts +1 -1
  441. package/dist/Tooltip/Tooltip.js +1 -1
  442. package/dist/TopNav/TopNav.d.ts +1 -1
  443. package/dist/TopNav/TopNav.js +1 -1
  444. package/dist/TopNav/TopNavHeading.d.ts +2 -8
  445. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  446. package/dist/TopNav/TopNavHeading.js +8 -10
  447. package/dist/TopNav/TopNavItem.d.ts +1 -1
  448. package/dist/TopNav/TopNavItem.js +1 -1
  449. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  450. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  451. package/dist/TopNav/TopNavMegaMenu.js +15 -7
  452. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  453. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  454. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  455. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  456. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  457. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  458. package/dist/TopNav/TopNavMenu.js +5 -4
  459. package/dist/TreeList/TreeList.d.ts +1 -1
  460. package/dist/TreeList/TreeList.js +1 -1
  461. package/dist/TreeList/TreeListBranches.js +1 -1
  462. package/dist/TreeList/TreeListItem.d.ts +1 -1
  463. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  464. package/dist/TreeList/TreeListItem.js +4 -3
  465. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  466. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  467. package/dist/TreeList/index.d.ts +18 -1
  468. package/dist/TreeList/index.d.ts.map +1 -1
  469. package/dist/TreeList/index.js +14 -0
  470. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  471. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  472. package/dist/Typeahead/BaseTypeahead.js +3 -1
  473. package/dist/Typeahead/Typeahead.d.ts +1 -1
  474. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  475. package/dist/Typeahead/Typeahead.js +9 -2
  476. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  477. package/dist/Typeahead/TypeaheadItem.js +1 -1
  478. package/dist/VStack/VStack.d.ts +1 -1
  479. package/dist/VStack/VStack.js +1 -1
  480. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  481. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  482. package/dist/astryx.css +115 -33
  483. package/dist/astryx.umd.js +50 -54
  484. package/dist/astryx.umd.js.map +4 -4
  485. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  486. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  487. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  488. package/dist/hooks/index.d.ts +2 -0
  489. package/dist/hooks/index.d.ts.map +1 -1
  490. package/dist/hooks/index.js +2 -1
  491. package/dist/hooks/useContainerReveal.d.ts +83 -0
  492. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  493. package/dist/hooks/useContainerReveal.js +123 -0
  494. package/dist/hooks/useGridFocus.d.ts +8 -6
  495. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  496. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  497. package/dist/hooks/useInputContainer.js +29 -1
  498. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  499. package/dist/hooks/useInputStatusIcon.js +11 -0
  500. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  501. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  502. package/dist/hooks/useKeyboardHint.js +5 -3
  503. package/dist/hooks/useListFocus.d.ts +8 -7
  504. package/dist/hooks/useListFocus.d.ts.map +1 -1
  505. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  506. package/dist/hooks/useTreeFocus.js +13 -2
  507. package/dist/i18n/InternationalizationProvider.d.ts +6 -0
  508. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  509. package/dist/i18n/useDirection.d.ts.map +1 -1
  510. package/dist/i18n/useDirection.js +6 -3
  511. package/dist/index.d.ts +2 -1
  512. package/dist/index.d.ts.map +1 -1
  513. package/dist/index.js +3 -3
  514. package/dist/theme/Theme.d.ts.map +1 -1
  515. package/dist/theme/Theme.js +2 -7
  516. package/dist/theme/contrast.d.ts +45 -0
  517. package/dist/theme/contrast.d.ts.map +1 -0
  518. package/dist/theme/contrast.js +88 -0
  519. package/dist/theme/defineTheme.d.ts +9 -3
  520. package/dist/theme/defineTheme.d.ts.map +1 -1
  521. package/dist/theme/defineTheme.js +6 -4
  522. package/dist/theme/expandColorScale.d.ts +32 -3
  523. package/dist/theme/expandColorScale.d.ts.map +1 -1
  524. package/dist/theme/expandColorScale.js +102 -13
  525. package/dist/theme/generateThemeRules.d.ts +0 -6
  526. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  527. package/dist/theme/generateThemeRules.js +0 -15
  528. package/dist/theme/index.d.ts +9 -7
  529. package/dist/theme/index.d.ts.map +1 -1
  530. package/dist/theme/index.js +4 -3
  531. package/dist/theme/themeRegistry.d.ts +32 -0
  532. package/dist/theme/themeRegistry.d.ts.map +1 -0
  533. package/dist/theme/themeRegistry.js +49 -0
  534. package/dist/theme/tokens.stylex.d.ts +0 -17
  535. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  536. package/dist/theme/tokens.stylex.js +0 -22
  537. package/dist/theme/types.d.ts +10 -2
  538. package/dist/theme/types.d.ts.map +1 -1
  539. package/dist/theme/useTheme.d.ts +9 -0
  540. package/dist/theme/useTheme.d.ts.map +1 -1
  541. package/dist/theme/useTheme.js +82 -27
  542. package/dist/utils/rtlStyles.d.ts +21 -0
  543. package/dist/utils/rtlStyles.d.ts.map +1 -1
  544. package/dist/utils/rtlStyles.js +26 -1
  545. package/groups.doc.mjs +2 -2
  546. package/locales/en.json +124 -0
  547. package/locales/pseudo.json +93 -0
  548. package/package.json +9 -13
  549. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  550. package/src/AlertDialog/AlertDialog.tsx +1 -1
  551. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  552. package/src/AppShell/AppShell.doc.mjs +3 -3
  553. package/src/AppShell/AppShell.test.tsx +55 -0
  554. package/src/AppShell/AppShell.tsx +27 -22
  555. package/src/AppShell/index.ts +20 -1
  556. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  557. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  558. package/src/AspectRatio/AspectRatio.tsx +1 -1
  559. package/src/Avatar/Avatar.doc.mjs +3 -3
  560. package/src/Avatar/Avatar.tsx +8 -3
  561. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  562. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  563. package/src/Avatar/index.ts +26 -1
  564. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  565. package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
  566. package/src/AvatarGroup/AvatarGroup.tsx +3 -7
  567. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  568. package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
  569. package/src/Badge/Badge.doc.mjs +3 -3
  570. package/src/Badge/Badge.tsx +2 -31
  571. package/src/Badge/index.ts +32 -6
  572. package/src/Banner/Banner.doc.mjs +3 -3
  573. package/src/Banner/Banner.tsx +8 -45
  574. package/src/Banner/index.ts +39 -7
  575. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  576. package/src/Blockquote/Blockquote.tsx +1 -1
  577. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  578. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  579. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  580. package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
  581. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  582. package/src/Breadcrumbs/index.ts +19 -5
  583. package/src/Button/Button.doc.mjs +3 -3
  584. package/src/Button/Button.test.tsx +16 -0
  585. package/src/Button/Button.tsx +6 -23
  586. package/src/Button/index.ts +22 -7
  587. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  588. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  589. package/src/Calendar/Calendar.doc.mjs +3 -3
  590. package/src/Calendar/Calendar.test.tsx +22 -6
  591. package/src/Calendar/Calendar.tsx +1 -1
  592. package/src/Calendar/index.ts +1 -6
  593. package/src/Calendar/styles.ts +2 -2
  594. package/src/Calendar/utils.ts +0 -11
  595. package/src/Card/Card.doc.mjs +3 -3
  596. package/src/Card/Card.tsx +1 -1
  597. package/src/Carousel/Carousel.doc.mjs +10 -3
  598. package/src/Carousel/Carousel.test.tsx +232 -1
  599. package/src/Carousel/Carousel.tsx +144 -21
  600. package/src/Carousel/index.ts +1 -1
  601. package/src/Center/Center.doc.mjs +41 -3
  602. package/src/Center/Center.test.tsx +75 -0
  603. package/src/Center/Center.tsx +38 -3
  604. package/src/Chat/Chat.doc.mjs +3 -3
  605. package/src/Chat/ChatComposer.doc.mjs +1 -1
  606. package/src/Chat/ChatComposer.tsx +5 -5
  607. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  608. package/src/Chat/ChatComposerDrawer.tsx +5 -5
  609. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  610. package/src/Chat/ChatComposerInput.tsx +1 -1
  611. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  612. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  613. package/src/Chat/ChatDictationButton.tsx +1 -1
  614. package/src/Chat/ChatLayout.doc.mjs +1 -1
  615. package/src/Chat/ChatLayout.test.tsx +57 -0
  616. package/src/Chat/ChatLayout.tsx +23 -2
  617. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  618. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  619. package/src/Chat/ChatMessage.doc.mjs +1 -1
  620. package/src/Chat/ChatMessage.tsx +1 -1
  621. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  622. package/src/Chat/ChatMessageBubble.tsx +1 -1
  623. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  624. package/src/Chat/ChatMessageList.tsx +1 -1
  625. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  626. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  627. package/src/Chat/ChatSendButton.tsx +5 -3
  628. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  629. package/src/Chat/ChatSystemMessage.tsx +1 -1
  630. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  631. package/src/Chat/ChatTokenizedText.tsx +1 -1
  632. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  633. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  634. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  635. package/src/CheckboxInput/CheckboxInput.tsx +18 -3
  636. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  637. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  638. package/src/CheckboxList/CheckboxList.tsx +1 -1
  639. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  640. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  641. package/src/Citation/Citation.doc.mjs +2 -2
  642. package/src/Citation/Citation.tsx +1 -1
  643. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  644. package/src/ClickableCard/ClickableCard.tsx +3 -3
  645. package/src/Code/Code.tsx +2 -2
  646. package/src/CodeBlock/Code.doc.mjs +1 -1
  647. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  648. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  649. package/src/CodeBlock/CodeBlock.tsx +2 -2
  650. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  651. package/src/Collapsible/Collapsible.tsx +3 -3
  652. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  653. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  654. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  655. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  656. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  657. package/src/CommandPalette/CommandPalette.tsx +1 -1
  658. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  659. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  660. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  661. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  662. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  663. package/src/CommandPalette/CommandPaletteGroup.test.tsx +6 -2
  664. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  665. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  666. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  667. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  668. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  669. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  670. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  671. package/src/ComplexSelector/ComplexSelector.doc.mjs +179 -0
  672. package/src/ComplexSelector/ComplexSelector.test.tsx +156 -0
  673. package/src/ComplexSelector/ComplexSelector.tsx +429 -0
  674. package/src/ComplexSelector/index.ts +17 -0
  675. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  676. package/src/ContextMenu/ContextMenu.test.tsx +17 -2
  677. package/src/ContextMenu/ContextMenu.tsx +27 -6
  678. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  679. package/src/DateInput/DateInput.doc.mjs +3 -3
  680. package/src/DateInput/DateInput.test.tsx +7 -3
  681. package/src/DateInput/DateInput.tsx +1 -1
  682. package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
  683. package/src/DateRangeInput/DateRangeInput.test.tsx +7 -2
  684. package/src/DateRangeInput/DateRangeInput.tsx +1 -1
  685. package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
  686. package/src/DateTimeInput/DateTimeInput.test.tsx +6 -2
  687. package/src/DateTimeInput/DateTimeInput.tsx +1 -1
  688. package/src/Dialog/Dialog.doc.mjs +7 -5
  689. package/src/Dialog/Dialog.test.tsx +46 -3
  690. package/src/Dialog/Dialog.tsx +61 -44
  691. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  692. package/src/Dialog/DialogHeader.tsx +1 -1
  693. package/src/Dialog/index.ts +18 -1
  694. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  695. package/src/Divider/Divider.doc.mjs +3 -3
  696. package/src/Divider/Divider.tsx +2 -19
  697. package/src/Divider/index.ts +19 -5
  698. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  699. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  700. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  701. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  702. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  703. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  704. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  705. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  706. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  707. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  708. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
  709. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  710. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  711. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  712. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  713. package/src/DropdownMenu/menuItemHover.ts +1 -0
  714. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  715. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  716. package/src/EmptyState/EmptyState.tsx +1 -1
  717. package/src/Field/Field.doc.mjs +7 -3
  718. package/src/Field/Field.tsx +1 -1
  719. package/src/Field/FieldLabel.doc.mjs +1 -1
  720. package/src/Field/FieldLabel.test.tsx +103 -0
  721. package/src/Field/FieldLabel.tsx +61 -5
  722. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  723. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  724. package/src/FieldStatus/FieldStatus.tsx +16 -23
  725. package/src/FieldStatus/index.ts +20 -5
  726. package/src/FileInput/FileInput.doc.mjs +3 -3
  727. package/src/FileInput/FileInput.tsx +1 -1
  728. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  729. package/src/FormLayout/FormLayout.tsx +2 -5
  730. package/src/Grid/Grid.doc.mjs +3 -8
  731. package/src/Grid/Grid.tsx +1 -25
  732. package/src/Grid/GridSpan.doc.mjs +1 -1
  733. package/src/Grid/GridSpan.tsx +1 -1
  734. package/src/HStack/HStack.tsx +1 -1
  735. package/src/Heading/Heading.tsx +4 -3
  736. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  737. package/src/HoverCard/HoverCard.tsx +1 -1
  738. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  739. package/src/Icon/Icon.doc.mjs +7 -6
  740. package/src/Icon/Icon.test.tsx +23 -0
  741. package/src/Icon/Icon.tsx +4 -2
  742. package/src/Icon/defaultIcons.tsx +14 -0
  743. package/src/Icon/globalIconRegistry.test.tsx +87 -1
  744. package/src/Icon/globalIconRegistry.tsx +111 -9
  745. package/src/Icon/index.ts +9 -7
  746. package/src/Icon/useIcon.ts +23 -0
  747. package/src/IconButton/IconButton.doc.mjs +2 -2
  748. package/src/IconButton/IconButton.tsx +1 -1
  749. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  750. package/src/InputGroup/InputGroup.tsx +1 -1
  751. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  752. package/src/InputGroup/InputGroupText.tsx +1 -1
  753. package/src/Item/Item.doc.mjs +8 -3
  754. package/src/Item/Item.test.tsx +88 -0
  755. package/src/Item/Item.tsx +58 -12
  756. package/src/Kbd/Kbd.doc.mjs +3 -3
  757. package/src/Kbd/Kbd.tsx +1 -1
  758. package/src/Layer/Layer.doc.mjs +2 -2
  759. package/src/Layer/useLayer.doc.mjs +2 -2
  760. package/src/Layout/Layout.doc.mjs +3 -3
  761. package/src/Layout/Layout.tsx +1 -1
  762. package/src/Layout/LayoutContent.doc.mjs +1 -1
  763. package/src/Layout/LayoutContent.tsx +1 -1
  764. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  765. package/src/Layout/LayoutFooter.tsx +1 -1
  766. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  767. package/src/Layout/LayoutHeader.tsx +1 -1
  768. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  769. package/src/Layout/LayoutPanel.tsx +1 -1
  770. package/src/Lightbox/Lightbox.doc.mjs +5 -5
  771. package/src/Lightbox/Lightbox.test.tsx +211 -0
  772. package/src/Lightbox/Lightbox.tsx +109 -22
  773. package/src/Link/Link.doc.mjs +3 -3
  774. package/src/Link/Link.tsx +1 -1
  775. package/src/Link/LinkProvider.doc.mjs +2 -2
  776. package/src/Link/LinkProvider.tsx +2 -2
  777. package/src/List/List.doc.mjs +3 -3
  778. package/src/List/List.tsx +1 -1
  779. package/src/List/ListItem.doc.mjs +13 -1
  780. package/src/List/ListItem.tsx +14 -1
  781. package/src/Markdown/Markdown.doc.mjs +81 -1
  782. package/src/Markdown/Markdown.test.tsx +92 -0
  783. package/src/Markdown/Markdown.tsx +96 -68
  784. package/src/Markdown/parser.perf.test.ts +47 -35
  785. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  786. package/src/MetadataList/MetadataList.test.tsx +82 -0
  787. package/src/MetadataList/MetadataList.tsx +45 -20
  788. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  789. package/src/MetadataList/MetadataListItem.tsx +1 -1
  790. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  791. package/src/MobileNav/MobileNav.tsx +1 -1
  792. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  793. package/src/MoreMenu/MoreMenu.tsx +3 -3
  794. package/src/MultiSelector/MultiSelector.doc.mjs +35 -10
  795. package/src/MultiSelector/MultiSelector.test.tsx +303 -3
  796. package/src/MultiSelector/MultiSelector.tsx +223 -58
  797. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  798. package/src/NavIcon/NavIcon.tsx +1 -1
  799. package/src/NavMenu/NavHeadingMenu.test.tsx +0 -16
  800. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  801. package/src/NavMenu/index.ts +0 -4
  802. package/src/NumberInput/NumberInput.doc.mjs +3 -6
  803. package/src/NumberInput/NumberInput.test.tsx +38 -3
  804. package/src/NumberInput/NumberInput.tsx +24 -1
  805. package/src/Outline/Outline.doc.mjs +3 -3
  806. package/src/Outline/Outline.tsx +1 -1
  807. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  808. package/src/OverflowList/OverflowList.tsx +1 -1
  809. package/src/Overlay/Overlay.doc.mjs +2 -2
  810. package/src/Pagination/Pagination.doc.mjs +55 -8
  811. package/src/Pagination/Pagination.test.tsx +567 -0
  812. package/src/Pagination/Pagination.tsx +223 -41
  813. package/src/Pagination/index.ts +22 -1
  814. package/src/Popover/Popover.doc.mjs +31 -3
  815. package/src/Popover/Popover.test.tsx +41 -0
  816. package/src/Popover/Popover.tsx +25 -2
  817. package/src/Popover/usePopover.doc.mjs +2 -2
  818. package/src/Popover/usePopover.tsx +10 -4
  819. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  820. package/src/PowerSearch/PowerSearch.tsx +1 -1
  821. package/src/ProgressBar/ProgressBar.doc.mjs +24 -3
  822. package/src/ProgressBar/ProgressBar.test.tsx +523 -2
  823. package/src/ProgressBar/ProgressBar.tsx +250 -25
  824. package/src/ProgressBar/ProgressBarMarkTooltip.tsx +43 -0
  825. package/src/ProgressBar/index.ts +22 -1
  826. package/src/RadioList/RadioList.doc.mjs +3 -3
  827. package/src/RadioList/RadioList.test.tsx +26 -4
  828. package/src/RadioList/RadioList.tsx +1 -1
  829. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  830. package/src/RadioList/RadioListItem.tsx +9 -2
  831. package/src/Resizable/Resizable.doc.mjs +2 -2
  832. package/src/Resizable/ResizeHandle.test.tsx +52 -3
  833. package/src/Resizable/ResizeHandle.tsx +25 -13
  834. package/src/Resizable/useResizable.doc.mjs +2 -2
  835. package/src/Section/Section.doc.mjs +3 -3
  836. package/src/Section/Section.tsx +2 -20
  837. package/src/Section/index.ts +20 -5
  838. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  839. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  840. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  841. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  842. package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
  843. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  844. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  845. package/src/SelectableCard/SelectableCard.tsx +19 -3
  846. package/src/Selector/Selector.doc.mjs +28 -8
  847. package/src/Selector/Selector.test.tsx +222 -3
  848. package/src/Selector/Selector.tsx +202 -52
  849. package/src/Selector/SelectorOption.doc.mjs +1 -1
  850. package/src/SideNav/SideNav.doc.mjs +3 -3
  851. package/src/SideNav/SideNav.tsx +1 -1
  852. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  853. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  854. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  855. package/src/SideNav/SideNavHeading.tsx +8 -9
  856. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  857. package/src/SideNav/SideNavItem.tsx +5 -6
  858. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  859. package/src/SideNav/SideNavSection.tsx +1 -1
  860. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  861. package/src/Skeleton/Skeleton.test.tsx +16 -0
  862. package/src/Skeleton/Skeleton.tsx +14 -2
  863. package/src/Slider/Slider.doc.mjs +3 -3
  864. package/src/Slider/Slider.tsx +9 -13
  865. package/src/Spinner/Spinner.doc.mjs +3 -3
  866. package/src/Spinner/Spinner.tsx +1 -1
  867. package/src/Stack/Stack.doc.mjs +3 -3
  868. package/src/Stack/Stack.tsx +1 -1
  869. package/src/Stack/StackItem.tsx +1 -1
  870. package/src/StatusDot/StatusDot.doc.mjs +15 -6
  871. package/src/StatusDot/StatusDot.tsx +2 -22
  872. package/src/StatusDot/index.ts +22 -5
  873. package/src/Switch/Switch.doc.mjs +5 -5
  874. package/src/Switch/Switch.test.tsx +71 -25
  875. package/src/Switch/Switch.tsx +56 -18
  876. package/src/TabList/Tab.doc.mjs +1 -1
  877. package/src/TabList/Tab.tsx +1 -1
  878. package/src/TabList/TabList.doc.mjs +3 -3
  879. package/src/TabList/TabList.test.tsx +21 -18
  880. package/src/TabList/TabList.tsx +1 -1
  881. package/src/TabList/TabMenu.doc.mjs +1 -1
  882. package/src/TabList/TabMenu.tsx +11 -3
  883. package/src/Table/BaseTable.tsx +4 -5
  884. package/src/Table/Table.doc.mjs +5 -5
  885. package/src/Table/Table.test.tsx +27 -49
  886. package/src/Table/Table.tsx +1 -1
  887. package/src/Table/TableCell.doc.mjs +1 -1
  888. package/src/Table/TableCell.tsx +2 -2
  889. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  890. package/src/Table/TableHeaderCell.tsx +2 -2
  891. package/src/Table/TableRow.doc.mjs +1 -1
  892. package/src/Table/TableRow.tsx +1 -1
  893. package/src/Table/index.ts +1 -1
  894. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
  895. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  896. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +24 -4
  897. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  898. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  899. package/src/Table/types.ts +0 -9
  900. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  901. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  902. package/src/Table/useTableFilterState.doc.mjs +1 -1
  903. package/src/Table/useTableFiltering.doc.mjs +1 -1
  904. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  905. package/src/Table/useTablePagination.doc.mjs +1 -1
  906. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  907. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  908. package/src/Table/useTableRowStatus.doc.mjs +3 -3
  909. package/src/Table/useTableSelection.doc.mjs +1 -1
  910. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  911. package/src/Table/useTableSortable.doc.mjs +1 -1
  912. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  913. package/src/Table/useTableTreeData.doc.mjs +10 -1
  914. package/src/Table/useTableTreeState.doc.mjs +1 -1
  915. package/src/Text/Heading.doc.mjs +4 -4
  916. package/src/Text/Text.doc.mjs +4 -4
  917. package/src/Text/Text.test.tsx +42 -0
  918. package/src/Text/Text.tsx +26 -2
  919. package/src/Text/index.ts +32 -6
  920. package/src/TextArea/TextArea.doc.mjs +5 -5
  921. package/src/TextArea/TextArea.test.tsx +112 -7
  922. package/src/TextArea/TextArea.tsx +143 -50
  923. package/src/TextInput/TextInput.doc.mjs +3 -3
  924. package/src/TextInput/TextInput.tsx +1 -1
  925. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  926. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  927. package/src/Thumbnail/Thumbnail.tsx +28 -35
  928. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  929. package/src/TimeInput/TimeInput.tsx +1 -1
  930. package/src/Timestamp/Timestamp.doc.mjs +29 -24
  931. package/src/Timestamp/Timestamp.test.tsx +438 -107
  932. package/src/Timestamp/Timestamp.tsx +167 -103
  933. package/src/Timestamp/TimestampHoverCard.tsx +283 -0
  934. package/src/Timestamp/formatInstant.ts +9 -4
  935. package/src/Timestamp/tooltipEntries.test.ts +9 -0
  936. package/src/Timestamp/tooltipEntries.ts +18 -2
  937. package/src/Toast/Toast.doc.mjs +3 -3
  938. package/src/Toast/ToastViewport.test.tsx +218 -8
  939. package/src/Toast/ToastViewport.tsx +71 -12
  940. package/src/Toast/useToast.doc.mjs +2 -2
  941. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  942. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  943. package/src/ToggleButton/ToggleButton.tsx +20 -2
  944. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  945. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  946. package/src/Token/Token.doc.mjs +3 -3
  947. package/src/Token/Token.test.tsx +145 -0
  948. package/src/Token/Token.tsx +75 -61
  949. package/src/Token/TokenLink.tsx +107 -0
  950. package/src/Token/index.ts +28 -1
  951. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  952. package/src/Tokenizer/Tokenizer.tsx +1 -1
  953. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  954. package/src/Toolbar/Toolbar.tsx +1 -1
  955. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  956. package/src/Tooltip/Tooltip.tsx +1 -1
  957. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  958. package/src/TopNav/TopNav.doc.mjs +3 -3
  959. package/src/TopNav/TopNav.test.tsx +2 -2
  960. package/src/TopNav/TopNav.tsx +1 -1
  961. package/src/TopNav/TopNavHeading.doc.mjs +1 -12
  962. package/src/TopNav/TopNavHeading.tsx +8 -18
  963. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  964. package/src/TopNav/TopNavItem.tsx +1 -1
  965. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  966. package/src/TopNav/TopNavMegaMenu.tsx +32 -6
  967. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  968. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  969. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  970. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  971. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  972. package/src/TopNav/TopNavMenu.tsx +5 -4
  973. package/src/TreeList/TreeList.doc.mjs +3 -3
  974. package/src/TreeList/TreeList.test.tsx +10 -6
  975. package/src/TreeList/TreeList.tsx +1 -1
  976. package/src/TreeList/TreeListBranches.tsx +1 -1
  977. package/src/TreeList/TreeListItem.tsx +4 -3
  978. package/src/TreeList/TreeListTypes.ts +1 -18
  979. package/src/TreeList/index.ts +19 -1
  980. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  981. package/src/Typeahead/BaseTypeahead.tsx +13 -1
  982. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  983. package/src/Typeahead/Typeahead.test.tsx +62 -0
  984. package/src/Typeahead/Typeahead.tsx +7 -1
  985. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  986. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  987. package/src/VStack/VStack.tsx +1 -1
  988. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  989. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  990. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  991. package/src/__tests__/forcedColors.ts +60 -0
  992. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  993. package/src/doc-mjs.d.ts +5 -2
  994. package/src/docPropLiterals.test.ts +1 -1
  995. package/src/docPropReferences.test.ts +1 -1
  996. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  997. package/src/hooks/index.ts +7 -0
  998. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  999. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  1000. package/src/hooks/useContainerReveal.test.tsx +116 -0
  1001. package/src/hooks/useContainerReveal.ts +181 -0
  1002. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  1003. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  1004. package/src/hooks/useGridFocus.doc.mjs +2 -2
  1005. package/src/hooks/useGridFocus.ts +8 -6
  1006. package/src/hooks/useHotkeys.doc.mjs +2 -2
  1007. package/src/hooks/useImageMode.doc.mjs +2 -2
  1008. package/src/hooks/useInputContainer.doc.mjs +2 -2
  1009. package/src/hooks/useInputContainer.test.tsx +180 -0
  1010. package/src/hooks/useInputContainer.ts +36 -1
  1011. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  1012. package/src/hooks/useInputStatusIcon.tsx +12 -1
  1013. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  1014. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  1015. package/src/hooks/useKeyboardHint.tsx +7 -3
  1016. package/src/hooks/useListFocus.doc.mjs +2 -2
  1017. package/src/hooks/useListFocus.ts +8 -7
  1018. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  1019. package/src/hooks/useOverflow.doc.mjs +2 -2
  1020. package/src/hooks/useScrollLock.doc.mjs +2 -2
  1021. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  1022. package/src/hooks/useStreamingText.doc.mjs +2 -2
  1023. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  1024. package/src/hooks/useTreeFocus.test.tsx +53 -1
  1025. package/src/hooks/useTreeFocus.ts +13 -2
  1026. package/src/i18n/InternationalizationProvider.doc.mjs +14 -2
  1027. package/src/i18n/InternationalizationProvider.tsx +6 -0
  1028. package/src/i18n/useDirection.ts +6 -3
  1029. package/src/i18n/useTranslator.doc.mjs +2 -2
  1030. package/src/index.ts +2 -18
  1031. package/src/theme/MediaTheme.doc.mjs +2 -2
  1032. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  1033. package/src/theme/Theme.doc.mjs +2 -2
  1034. package/src/theme/Theme.tsx +3 -7
  1035. package/src/theme/contrast.test.ts +94 -0
  1036. package/src/theme/contrast.ts +99 -0
  1037. package/src/theme/defineTheme.test.ts +29 -30
  1038. package/src/theme/defineTheme.ts +11 -5
  1039. package/src/theme/expandColorScale.test.ts +401 -1
  1040. package/src/theme/expandColorScale.ts +143 -19
  1041. package/src/theme/generateThemeRules.ts +0 -15
  1042. package/src/theme/index.ts +11 -13
  1043. package/src/theme/themeRegistry.test.ts +59 -0
  1044. package/src/theme/themeRegistry.ts +53 -0
  1045. package/src/theme/tokens.stylex.ts +0 -19
  1046. package/src/theme/types.ts +14 -13
  1047. package/src/theme/useTheme.doc.mjs +2 -2
  1048. package/src/theme/useTheme.test.tsx +48 -3
  1049. package/src/theme/useTheme.ts +100 -29
  1050. package/src/utils/rtlStyles.ts +22 -0
  1051. package/dist/NavMenu/NavMenuItem.d.ts +0 -13
  1052. package/dist/NavMenu/NavMenuItem.d.ts.map +0 -1
  1053. package/dist/NavMenu/NavMenuItem.js +0 -16
  1054. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  1055. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  1056. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  1057. package/dist/authoring/doc.d.ts +0 -145
  1058. package/dist/authoring/doc.d.ts.map +0 -1
  1059. package/dist/authoring/doc.js +0 -100
  1060. package/dist/authoring/index.d.ts +0 -29
  1061. package/dist/authoring/index.d.ts.map +0 -1
  1062. package/dist/authoring/index.js +0 -28
  1063. package/dist/authoring/integration.d.ts +0 -35
  1064. package/dist/authoring/integration.d.ts.map +0 -1
  1065. package/dist/authoring/integration.js +0 -30
  1066. package/dist/authoring/template.d.ts +0 -66
  1067. package/dist/authoring/template.d.ts.map +0 -1
  1068. package/dist/authoring/template.js +0 -55
  1069. package/dist/config.d.ts +0 -80
  1070. package/dist/config.d.ts.map +0 -1
  1071. package/dist/config.js +0 -40
  1072. package/dist/docs-types.d.ts +0 -969
  1073. package/dist/docs-types.d.ts.map +0 -1
  1074. package/dist/docs-types.js +0 -1
  1075. package/src/NavMenu/NavMenuItem.tsx +0 -19
  1076. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  1077. package/src/authoring/doc.ts +0 -164
  1078. package/src/authoring/index.test.ts +0 -52
  1079. package/src/authoring/index.ts +0 -50
  1080. package/src/authoring/integration.ts +0 -42
  1081. package/src/authoring/template.ts +0 -74
  1082. package/src/config.test.ts +0 -16
  1083. package/src/config.ts +0 -92
  1084. package/src/docs-types.ts +0 -1108
@@ -11,12 +11,13 @@
11
11
  * SYNC: When modified, update these files to stay in sync:
12
12
  * - /packages/core/src/ProgressBar/ProgressBar.doc.mjs (props table, features, implementation notes)
13
13
  * - /packages/core/src/ProgressBar/ProgressBar.test.tsx (tests for new/changed behavior)
14
+ * - /packages/core/src/ProgressBar/ProgressBarMarkTooltip.tsx (the lazy Tooltip wrapper for labeled marks)
14
15
  * - /packages/core/src/ProgressBar/index.ts (exports if types change)
15
16
  * - /apps/storybook/stories/ProgressBar.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/ProgressBar/ (showcase blocks)
17
+ * - /packages/cli/assets/templates/blocks/components/ProgressBar/ (showcase blocks)
17
18
  */
18
19
 
19
- import {useId} from 'react';
20
+ import {lazy, Suspense, useId} from 'react';
20
21
  import * as stylex from '@stylexjs/stylex';
21
22
 
22
23
  import {
@@ -32,27 +33,15 @@ import {mergeProps} from '../utils';
32
33
  import type {BaseProps} from '../BaseProps';
33
34
  import {themeProps} from '../utils/themeProps';
34
35
  import {VisuallyHidden} from '../VisuallyHidden';
36
+ import type {ProgressBarVariantMap} from './index';
35
37
 
36
- /**
37
- * Extensible variant map for ProgressBar.
38
- *
39
- * Theme packages can add custom variants via TypeScript module augmentation:
40
- * @example
41
- * ```
42
- * declare module '@astryxdesign/core/ProgressBar' {
43
- * interface ProgressBarVariantMap {
44
- * 'brand': true;
45
- * }
46
- * }
47
- * ```
48
- */
49
- export interface ProgressBarVariantMap {
50
- accent: true;
51
- success: true;
52
- warning: true;
53
- neutral: true;
54
- error: true;
55
- }
38
+ // Every mark is wrapped in a Tooltip (marks always carry a label), so load it
39
+ // lazily: a ProgressBar with no marks never bundles the Tooltip chunk. While it
40
+ // loads, the Suspense fallback shows the bare mark, so nothing disappears; the
41
+ // tooltip simply attaches once the chunk is ready.
42
+ const LazyProgressBarMarkTooltip = lazy(
43
+ async () => import('./ProgressBarMarkTooltip'),
44
+ );
56
45
 
57
46
  /**
58
47
  * Progress bar variant type — maps to semantic color tokens.
@@ -60,6 +49,29 @@ export interface ProgressBarVariantMap {
60
49
  */
61
50
  export type ProgressBarVariant = keyof ProgressBarVariantMap;
62
51
 
52
+ /**
53
+ * A fixed target mark drawn on the progress track.
54
+ *
55
+ * Positioned by `value` in the same `0..max` scale as the bar's `value` prop —
56
+ * mirroring the object shape of Slider's `marks` so the two APIs stay
57
+ * consistent.
58
+ */
59
+ export interface ProgressBarMark {
60
+ /**
61
+ * Position of the mark in the same `0..max` scale as `value`. Values
62
+ * outside the range are clamped to the track edges.
63
+ */
64
+ value: number;
65
+ /**
66
+ * Names the mark. A mark stands for something meaningful on the track — a
67
+ * goal, a threshold, a quarter target — so a label is required: it is the
68
+ * mark's accessible name and the text revealed in a `Tooltip` on hover and
69
+ * keyboard focus. Can be the value itself (e.g. `'70%'`) or something richer
70
+ * (e.g. `'Q1 target: 50%'`).
71
+ */
72
+ label: string;
73
+ }
74
+
63
75
  export interface ProgressBarProps extends BaseProps<HTMLDivElement> {
64
76
  /** Ref forwarded to the root element */
65
77
  ref?: React.Ref<HTMLDivElement>;
@@ -107,6 +119,18 @@ export interface ProgressBarProps extends BaseProps<HTMLDivElement> {
107
119
  * @default false
108
120
  */
109
121
  isIndeterminate?: boolean;
122
+ /**
123
+ * Target marks drawn on the track at fixed points in the same `0..max`
124
+ * scale as `value` — e.g. a goal line. Marks stay visible whether progress
125
+ * is below or past them, and take their color from what they sit on: a mark
126
+ * inside the filled area uses the fill variant's on-color (on-accent,
127
+ * on-warning, on-error, …), while a mark still out on the bare track uses
128
+ * `--color-text-primary` (`--color-text-secondary` on a disabled bar, which
129
+ * dims everything it draws). Each mark's required `label` names it for
130
+ * assistive tech and is revealed via a `Tooltip` on hover/focus. Ignored when
131
+ * `isIndeterminate` is true.
132
+ */
133
+ marks?: ReadonlyArray<ProgressBarMark>;
110
134
  /**
111
135
  * When true, the progress bar is visually disabled — the fill bar and
112
136
  * text use disabled colors. Use for canceled or inactive operations.
@@ -190,11 +214,27 @@ const styles = stylex.create({
190
214
  whiteSpace: 'nowrap',
191
215
  borderWidth: 0,
192
216
  },
217
+ // The `role="progressbar"` element. In determinate mode it does NOT clip its
218
+ // content (`overflow` stays visible) so a themed mark taller than the bar can
219
+ // overhang it; the determinate fill rounds its own corners via `border-radius`
220
+ // (see `fill`) and is always inside the track box, so dropping the clip does
221
+ // not change its appearance at any progress. Indeterminate mode re-adds the
222
+ // clip via `trackClipped` (see below) — its sliding fill travels outside the
223
+ // track and must be clipped, and marks are ignored while indeterminate, so
224
+ // there is nothing to overhang.
193
225
  track: {
226
+ position: 'relative',
194
227
  width: '100%',
195
228
  height: '8px',
196
229
  backgroundColor: colorVars['--color-background-muted'],
197
230
  borderRadius: radiusVars['--radius-full'],
231
+ },
232
+ // Indeterminate-only clip. The indeterminate fill slides from translateX
233
+ // -100% to 250%, so it deliberately overshoots the track on both sides and
234
+ // relies on the track clipping it to the visible window. Applied only when
235
+ // `isIndeterminate` (marks are suppressed then, so nothing needs to overhang)
236
+ // so it never re-clips a themed tall mark in determinate mode.
237
+ trackClipped: {
198
238
  overflow: 'hidden',
199
239
  },
200
240
  fill: {
@@ -219,6 +259,37 @@ const styles = stylex.create({
219
259
  animationTimingFunction: 'ease-in-out',
220
260
  animationIterationCount: 'infinite',
221
261
  },
262
+ // A mark is a vertical tick centered on the track, a child of the
263
+ // `role="progressbar"` element (unchanged DOM). The track no longer clips, so
264
+ // its height — 8px by default, directly overridable via the `progressbar-mark`
265
+ // theme target — may exceed the bar and overhang; the centering translate
266
+ // keeps any overhang symmetric. Positioned horizontally via `insetInlineStart`;
267
+ // the translate mirrors under RTL.
268
+ //
269
+ // The tick's color is not set here: it depends on what the mark sits on, so
270
+ // it comes from `markOnFillStyles[variant]` (mark inside the filled area) or
271
+ // `markOnTrackStyles.track` (mark out on the bare track). Both remain
272
+ // directly overridable via the `progressbar-mark` theme target — a theme can
273
+ // set `backgroundColor`, `width`, and `height` (e.g. a taller "flag" tick
274
+ // that overhangs the bar) with `defineTheme`; no dedicated CSS vars needed.
275
+ mark: {
276
+ position: 'absolute',
277
+ top: '50%',
278
+ width: 2,
279
+ height: 8,
280
+ outline: {
281
+ default: 'none',
282
+ ':focus-visible': `2px solid ${colorVars['--color-accent']}`,
283
+ },
284
+ outlineOffset: {
285
+ default: '0',
286
+ ':focus-visible': '2px',
287
+ },
288
+ transform: {
289
+ default: 'translate(-50%, -50%)',
290
+ ':is([dir="rtl"] *)': 'translate(50%, -50%)',
291
+ },
292
+ },
222
293
  });
223
294
 
224
295
  const variantStyles = stylex.create({
@@ -242,6 +313,64 @@ const variantStyles = stylex.create({
242
313
  },
243
314
  });
244
315
 
316
+ // A mark sitting inside the filled area is drawn *on* the bar, so it takes the
317
+ // on-color that pairs with the fill's own variant color — the same pairing
318
+ // Badge uses for solid semantic backgrounds.
319
+ //
320
+ // `neutral` and `disabled` both fill with the muted `--color-text-disabled`
321
+ // gray, which carries no semantic weight and has no dedicated on-token, so
322
+ // they fall back to a plain foreground. They pick different ones: a `neutral`
323
+ // bar is live, so its mark keeps the full-contrast `--color-text-primary` a
324
+ // mark uses out on the track; a `disabled` bar is deliberately low-emphasis —
325
+ // its own label and value text drop to muted colors — so its mark steps down
326
+ // to `--color-text-secondary` rather than becoming the loudest thing on a
327
+ // grayed-out component.
328
+ const markOnFillStyles = stylex.create({
329
+ accent: {
330
+ backgroundColor: colorVars['--color-on-accent'],
331
+ },
332
+ success: {
333
+ backgroundColor: colorVars['--color-on-success'],
334
+ },
335
+ warning: {
336
+ backgroundColor: colorVars['--color-on-warning'],
337
+ },
338
+ error: {
339
+ backgroundColor: colorVars['--color-on-error'],
340
+ },
341
+ neutral: {
342
+ backgroundColor: colorVars['--color-text-primary'],
343
+ },
344
+ disabled: {
345
+ backgroundColor: colorVars['--color-text-secondary'],
346
+ },
347
+ });
348
+
349
+ // A mark out on the bare track is a foreground tick over the muted track
350
+ // background, so it takes `--color-text-primary`.
351
+ //
352
+ // The obvious candidate was `--color-border-emphasized` — the emphasized
353
+ // divider color `Divider`'s `strong` variant and `Slider`'s marks use — but
354
+ // divider tokens sit a step or two from the track on the same neutral ramp, so
355
+ // a mark drawn in one is at or near invisible: measured against each shipped
356
+ // theme's track it lands between 1.00:1 (theme-neutral, both modes, where the
357
+ // track is aliased to that very token) and 2.9:1, under the 3:1 WCAG 1.4.11
358
+ // non-text floor in 7 of 8 themes. `--color-text-secondary` still misses in
359
+ // two. `--color-text-primary` is the one foreground guaranteed to read against
360
+ // every surface a theme defines: 5.8:1 to 15.7:1 on the track across all
361
+ // themes and both modes.
362
+ const markOnTrackStyles = stylex.create({
363
+ track: {
364
+ backgroundColor: colorVars['--color-text-primary'],
365
+ },
366
+ // A disabled bar dims everything it draws, so its track marks step down to
367
+ // the secondary foreground for the same reason the disabled on-fill mark
368
+ // does — matching the muted label and value text.
369
+ trackDisabled: {
370
+ backgroundColor: colorVars['--color-text-secondary'],
371
+ },
372
+ });
373
+
245
374
  function defaultFormatValueLabel(value: number, max: number): string {
246
375
  const pct = max > 0 ? Math.round((value / max) * 100) : 0;
247
376
  return `${pct}%`;
@@ -256,7 +385,8 @@ function defaultFormatValueLabel(value: number, max: number): string {
256
385
  *
257
386
  * ProgressBar is intentionally minimal — compose additional labels, status
258
387
  * icons, and descriptions alongside the bar using layout components rather
259
- * than adding props to ProgressBar itself.
388
+ * than adding props to ProgressBar itself. The exception is on-track content
389
+ * like `marks`, which are positioned by value over the track.
260
390
  *
261
391
  * Styles use Astryx theme tokens via StyleX.
262
392
  * Wrap your app in <Theme> to apply a theme.
@@ -268,6 +398,24 @@ function defaultFormatValueLabel(value: number, max: number): string {
268
398
  * <ProgressBar value={3.2} max={5} label="Disk usage" hasValueLabel
269
399
  * formatValueLabel={(v, m) => `${v} GB / ${m} GB`} />
270
400
  * <ProgressBar value={30} label="Canceled" isDisabled hasValueLabel />
401
+ * <ProgressBar value={45} label="Fundraiser" marks={[{value: 80, label: 'Goal'}]} />
402
+ * ```
403
+ *
404
+ * A mark's height, width, and color are directly themeable via the
405
+ * `progressbar-mark` target. The target reflects `data-placement`
406
+ * (`"fill"` when the mark sits inside the filled area, `"track"` when it is
407
+ * still out on the bare track) and `data-variant` (the fill's variant), so a
408
+ * theme can style the two cases separately — e.g. a taller "goal flag" tick
409
+ * that overhangs the bar (centered, so the overhang is symmetric):
410
+ *
411
+ * @example
412
+ * ```
413
+ * defineTheme({
414
+ * name: 'campaign',
415
+ * components: {
416
+ * 'progressbar-mark': {base: {height: '16px', backgroundColor: 'red'}},
417
+ * },
418
+ * });
271
419
  * ```
272
420
  */
273
421
  export function ProgressBar({
@@ -280,6 +428,7 @@ export function ProgressBar({
280
428
  variant = 'accent',
281
429
  isIndeterminate = false,
282
430
  isDisabled = false,
431
+ marks,
283
432
  xstyle,
284
433
  className,
285
434
  style,
@@ -302,6 +451,32 @@ export function ProgressBar({
302
451
 
303
452
  const fillVariant = isDisabled ? 'disabled' : variant;
304
453
 
454
+ // Marks make no sense without a determinate value, so they are only drawn
455
+ // in determinate mode. Non-finite mark values are dropped; the rest are
456
+ // clamped to the track edges, matching the bar's own `clampedValue`.
457
+ //
458
+ // Each mark also records whether it lands on the filled part of the bar
459
+ // (`isOnFill`), which decides its color: a mark inside the fill reads against
460
+ // the variant color, one out on the bare track reads against the track. A
461
+ // mark exactly at the fill's leading edge counts as on the fill — it is the
462
+ // "reached the target" moment — except at zero progress, where there is no
463
+ // fill for it to sit on.
464
+ const resolvedMarks =
465
+ !isIndeterminate && marks
466
+ ? marks
467
+ .filter(mark => Number.isFinite(mark.value))
468
+ .map(mark => {
469
+ const clamped = Math.min(Math.max(0, mark.value), safeMax);
470
+ const pct = safeMax > 0 ? (clamped / safeMax) * 100 : 0;
471
+ return {
472
+ value: mark.value,
473
+ label: mark.label,
474
+ pct,
475
+ isOnFill: percentage > 0 && pct <= percentage,
476
+ };
477
+ })
478
+ : [];
479
+
305
480
  return (
306
481
  <div
307
482
  ref={ref}
@@ -339,7 +514,10 @@ export function ProgressBar({
339
514
  <VisuallyHidden id={labelId}>{label}</VisuallyHidden>
340
515
  )}
341
516
 
342
- {/* Progress track */}
517
+ {/* Progress track — the `role="progressbar"` element, holding the fill
518
+ and marks as its children (unchanged DOM shape). It no longer clips
519
+ (`overflow` is visible), so a themed taller mark can overhang it;
520
+ the fill preserves its rounded shape via its own `border-radius`. */}
343
521
  <div
344
522
  role="progressbar"
345
523
  aria-valuenow={isIndeterminate ? undefined : clampedValue}
@@ -349,7 +527,7 @@ export function ProgressBar({
349
527
  aria-valuetext={isIndeterminate ? undefined : valueText}
350
528
  {...mergeProps(
351
529
  themeProps('progressbar-track'),
352
- stylex.props(styles.track),
530
+ stylex.props(styles.track, isIndeterminate && styles.trackClipped),
353
531
  )}>
354
532
  {isIndeterminate ? (
355
533
  <div
@@ -370,6 +548,53 @@ export function ProgressBar({
370
548
  style={{width: `${percentage}%`}}
371
549
  />
372
550
  )}
551
+ {/* Target marks — children of the progressbar element (unchanged),
552
+ layered above the fill so they show whether progress is below or
553
+ past them. A mark's color follows what it sits on: inside the fill
554
+ it uses the fill variant's on-color, out on the bare track it uses
555
+ the emphasized divider color. Each mark is labeled, so it is a
556
+ focusable Tooltip trigger: the label is visible on hover/focus and
557
+ names the mark for assistive tech via the Tooltip's
558
+ aria-describedby, without adding a labeled child to the
559
+ progressbar's own a11y subtree. */}
560
+ {resolvedMarks.map(mark => {
561
+ // The tick element. It is both the Tooltip's anchor and the Suspense
562
+ // fallback shown while the lazy Tooltip chunk loads, so the tick is
563
+ // always visible and the label attaches once ready. The list `key`
564
+ // lives on the mapped <Suspense>, not here.
565
+ //
566
+ // `placement` is reflected as `data-placement` (and a class) so a
567
+ // theme can style the two cases separately on the
568
+ // `progressbar-mark` target; `variant` mirrors the fill's variant
569
+ // for the same reason.
570
+ const markEl = (
571
+ <span
572
+ tabIndex={0}
573
+ {...mergeProps(
574
+ themeProps('progressbar-mark', {
575
+ variant: fillVariant,
576
+ placement: mark.isOnFill ? 'fill' : 'track',
577
+ }),
578
+ stylex.props(
579
+ styles.mark,
580
+ mark.isOnFill
581
+ ? markOnFillStyles[fillVariant]
582
+ : isDisabled
583
+ ? markOnTrackStyles.trackDisabled
584
+ : markOnTrackStyles.track,
585
+ ),
586
+ )}
587
+ style={{insetInlineStart: `${mark.pct}%`}}
588
+ />
589
+ );
590
+ return (
591
+ <Suspense key={`${mark.value}:${mark.label}`} fallback={markEl}>
592
+ <LazyProgressBarMarkTooltip content={mark.label}>
593
+ {markEl}
594
+ </LazyProgressBarMarkTooltip>
595
+ </Suspense>
596
+ );
597
+ })}
373
598
  </div>
374
599
  </div>
375
600
  );
@@ -0,0 +1,43 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file ProgressBarMarkTooltip.tsx
7
+ * @input Uses React, Tooltip, the mark element to wrap, and its label
8
+ * @output Default-exports the lazily-loaded Tooltip wrapper for a labeled mark
9
+ * @position Split out of ProgressBar so the Tooltip only loads when a mark is
10
+ * actually rendered — a ProgressBar with no marks never bundles the Tooltip
11
+ * chunk.
12
+ *
13
+ * SYNC: When modified, update these files to stay in sync:
14
+ * - /packages/core/src/ProgressBar/ProgressBar.tsx (the lazy() + Suspense wrapper)
15
+ * - /packages/core/src/ProgressBar/ProgressBar.test.tsx
16
+ */
17
+
18
+ import type {ReactElement} from 'react';
19
+ import {Tooltip} from '../Tooltip/Tooltip';
20
+
21
+ export interface ProgressBarMarkTooltipProps {
22
+ /** The mark's accessible name / visible tooltip text. */
23
+ content: string;
24
+ /** The bare mark element the tooltip anchors to (also the Suspense fallback). */
25
+ children: ReactElement;
26
+ }
27
+
28
+ /**
29
+ * Wraps a labeled mark in a `Tooltip` that reveals its label on hover and
30
+ * keyboard focus. Placement and focus behavior match the inline usage this
31
+ * split replaced (`placement="above"`, `focusTrigger="always"`), so the
32
+ * rendered result is identical — only the load timing changes.
33
+ */
34
+ export default function ProgressBarMarkTooltip({
35
+ content,
36
+ children,
37
+ }: ProgressBarMarkTooltipProps): ReactElement {
38
+ return (
39
+ <Tooltip content={content} placement="above" focusTrigger="always">
40
+ {children}
41
+ </Tooltip>
42
+ );
43
+ }
@@ -6,9 +6,30 @@
6
6
  * @file ProgressBar component barrel export
7
7
  */
8
8
 
9
+ /**
10
+ * Extensible variant map for ProgressBar.
11
+ *
12
+ * Theme packages can add custom variants via TypeScript module augmentation:
13
+ * @example
14
+ * ```
15
+ * declare module '@astryxdesign/core/ProgressBar' {
16
+ * interface ProgressBarVariantMap {
17
+ * 'brand': true;
18
+ * }
19
+ * }
20
+ * ```
21
+ */
22
+ export interface ProgressBarVariantMap {
23
+ accent: true;
24
+ success: true;
25
+ warning: true;
26
+ neutral: true;
27
+ error: true;
28
+ }
29
+
9
30
  export {ProgressBar} from './ProgressBar';
10
31
  export type {
11
32
  ProgressBarProps,
33
+ ProgressBarMark,
12
34
  ProgressBarVariant,
13
- ProgressBarVariantMap,
14
35
  } from './ProgressBar';
@@ -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: 'RadioList',
@@ -149,7 +149,7 @@ export const docs = {
149
149
  },
150
150
  };
151
151
 
152
- /** @type {import('../docs-types').TranslationDoc} */
152
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
153
153
  export const docsZh = {
154
154
  usage: {
155
155
  description:
@@ -171,7 +171,7 @@ export const docsZh = {
171
171
  },
172
172
  };
173
173
 
174
- /** @type {import('../docs-types').TranslationDoc} */
174
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
175
175
  export const docsDense = {
176
176
  description:
177
177
  'Radio group component for single-value selection from list of options.',
@@ -14,6 +14,7 @@ import {render, screen, fireEvent, waitFor} from '@testing-library/react';
14
14
  import userEvent from '@testing-library/user-event';
15
15
  import {RadioList} from './RadioList';
16
16
  import {RadioListItem} from './RadioListItem';
17
+ import {getForcedColorsRules} from '../__tests__/forcedColors';
17
18
 
18
19
  // Mock showPopover/hidePopover (not implemented in jsdom) so the tooltip layer
19
20
  // reflects its open state via a `popover-open` attribute the tests can assert.
@@ -580,7 +581,11 @@ describe('RadioList', () => {
580
581
  it('submits the selected value under htmlName', () => {
581
582
  const {container} = render(
582
583
  <form>
583
- <RadioList label="Preference" htmlName="pref" value="b" onChange={() => {}}>
584
+ <RadioList
585
+ label="Preference"
586
+ htmlName="pref"
587
+ value="b"
588
+ onChange={() => {}}>
584
589
  <RadioListItem label="Option A" value="a" />
585
590
  <RadioListItem label="Option B" value="b" />
586
591
  </RadioList>
@@ -599,13 +604,14 @@ describe('RadioList', () => {
599
604
  value="a"
600
605
  onChange={() => {}}
601
606
  isDisabled
602
- disabledMessage="Locked"
603
- >
607
+ disabledMessage="Locked">
604
608
  <RadioListItem label="Option A" value="a" />
605
609
  </RadioList>
606
610
  </form>,
607
611
  );
608
- expect([...new FormData(container.querySelector('form')!).keys()]).toEqual([]);
612
+ expect([
613
+ ...new FormData(container.querySelector('form')!).keys(),
614
+ ]).toEqual([]);
609
615
  });
610
616
 
611
617
  it('keeps working as an isolated group when htmlName is omitted', () => {
@@ -642,3 +648,19 @@ describe('RadioList', () => {
642
648
  });
643
649
  });
644
650
  });
651
+
652
+ // jsdom cannot emulate forced-colors rendering, so this asserts that the
653
+ // compiled output includes the forced-colors rule; visual behavior needs
654
+ // manual verification under Windows High Contrast.
655
+ describe('forced colors (WCAG 1.4.11)', () => {
656
+ it('compiles a forced-colors fill so the selected dot survives Windows High Contrast', () => {
657
+ render(
658
+ <RadioList label="Preference" value="a" onChange={() => {}}>
659
+ <RadioListItem label="Option A" value="a" />
660
+ </RadioList>,
661
+ );
662
+ // The painted inner dot would be stripped to Canvas (invisible), making
663
+ // checked and unchecked radios identical; CanvasText keeps it perceivable.
664
+ expect(getForcedColorsRules()).toContain('background-color: canvastext;');
665
+ });
666
+ });
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/RadioList/RadioList.test.tsx
14
14
  * - /packages/core/src/RadioList/index.ts
15
15
  * - /apps/storybook/stories/RadioList.stories.tsx
16
- * - /packages/cli/templates/blocks/components/RadioList/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/RadioList/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import 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: 'RadioListItem',
@@ -15,7 +15,7 @@
15
15
  * - /packages/core/src/RadioList/RadioList.test.tsx
16
16
  * - /packages/core/src/RadioList/index.ts
17
17
  * - /apps/storybook/stories/RadioList.stories.tsx
18
- * - /packages/cli/templates/blocks/components/RadioList/ (showcase blocks)
18
+ * - /packages/cli/assets/templates/blocks/components/RadioList/ (showcase blocks)
19
19
  */
20
20
 
21
21
  import React, {use, useId, type ReactNode} from 'react';
@@ -119,7 +119,14 @@ const styles = stylex.create({
119
119
  },
120
120
  innerDot: {
121
121
  borderRadius: '50%',
122
- backgroundColor: colorVars['--color-on-accent'],
122
+ backgroundColor: {
123
+ default: colorVars['--color-on-accent'],
124
+ // Forced colors (Windows High Contrast) strips painted backgrounds,
125
+ // which would make the selected dot invisible — checked and unchecked
126
+ // radios would look identical. CanvasText keeps the dot perceivable on
127
+ // the Canvas circle fill (WCAG 1.4.11).
128
+ '@media (forced-colors: active)': 'CanvasText',
129
+ },
123
130
  },
124
131
  labelDisabled: {
125
132
  color: colorVars['--color-text-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: 'Resizable',
6
6
  displayName: 'Resizable',
@@ -188,7 +188,7 @@ export const docs = {
188
188
  ],
189
189
  };
190
190
 
191
- /** @type {import('../docs-types').TranslationDoc} */
191
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
192
192
  export const docsDense = {
193
193
  description: 'Hook-based resizable panel system. useResizable() manages size state; ResizeHandle provides interactive pill-grip separator.',
194
194
  usage: {
@@ -150,7 +150,55 @@ describe('ResizeHandle', () => {
150
150
  const separator = getSeparator();
151
151
  act(() => separator.focus());
152
152
  fireEvent.keyDown(separator, {key: 'Enter'});
153
- expect(separator).toHaveAttribute('aria-valuenow', '0');
153
+ // The panel's real size is 0, but aria-valuenow must never drop below
154
+ // aria-valuemin (WCAG 4.1.2) — it clamps to the minimum and the state
155
+ // is announced via aria-valuetext instead.
156
+ expect(separator).toHaveAttribute('aria-valuenow', '100');
157
+ expect(separator).toHaveAttribute('aria-valuetext', 'Collapsed');
158
+ });
159
+
160
+ it('keeps aria-valuenow >= aria-valuemin and announces "Collapsed" while collapsed', () => {
161
+ render(
162
+ <Harness
163
+ config={{
164
+ defaultSize: 200,
165
+ minSizePx: 100,
166
+ maxSizePx: 400,
167
+ collapsible: true,
168
+ }}
169
+ />,
170
+ );
171
+ const separator = getSeparator();
172
+ act(() => separator.focus());
173
+ fireEvent.keyDown(separator, {key: 'Enter'});
174
+
175
+ const valueNow = Number(separator.getAttribute('aria-valuenow'));
176
+ const valueMin = Number(separator.getAttribute('aria-valuemin'));
177
+ expect(valueNow).toBeGreaterThanOrEqual(valueMin);
178
+ expect(separator).toHaveAttribute('aria-valuetext', 'Collapsed');
179
+ });
180
+
181
+ it('removes aria-valuetext when the panel is expanded', () => {
182
+ render(
183
+ <Harness
184
+ config={{
185
+ defaultSize: 200,
186
+ minSizePx: 100,
187
+ maxSizePx: 400,
188
+ collapsible: true,
189
+ }}
190
+ />,
191
+ );
192
+ const separator = getSeparator();
193
+ expect(separator).not.toHaveAttribute('aria-valuetext');
194
+
195
+ act(() => separator.focus());
196
+ fireEvent.keyDown(separator, {key: 'Enter'}); // collapse
197
+ expect(separator).toHaveAttribute('aria-valuetext', 'Collapsed');
198
+
199
+ fireEvent.keyDown(separator, {key: 'Enter'}); // expand again
200
+ expect(separator).not.toHaveAttribute('aria-valuetext');
201
+ expect(separator).toHaveAttribute('aria-valuenow', '100');
154
202
  });
155
203
 
156
204
  // --- Disabled guard ---
@@ -290,8 +338,9 @@ describe('ResizeHandle', () => {
290
338
  it('centers the grab zone on the divider when the pill is centered (no bias)', () => {
291
339
  render(<Harness handleProps={{pillPlacement: 'center'}} />);
292
340
  const hitArea = getSeparator().firstElementChild as HTMLElement;
293
- // No physical offset — a plain logical centering class, no biased transform.
294
- expect(hitArea.className).toContain('hitAreaCenteredX');
341
+ // Centered via the shared rtlStyles.centerInline helper (direction-symmetric
342
+ // left+translateX), not a biased offset.
343
+ expect(hitArea.className).toContain('centerInline');
295
344
  expect(hitArea.className).not.toContain('hitAreaOffsetX');
296
345
  });
297
346