@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
@@ -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
+ });
@@ -12,7 +12,7 @@
12
12
  * - /packages/core/src/Skeleton/Skeleton.doc.mjs
13
13
  * - /packages/core/src/Skeleton/index.ts
14
14
  * - /apps/storybook/stories/Skeleton.stories.tsx
15
- * - /packages/cli/templates/blocks/components/Skeleton/ (showcase blocks)
15
+ * - /packages/cli/assets/templates/blocks/components/Skeleton/ (showcase blocks)
16
16
  */
17
17
 
18
18
  import type {BaseProps} from '../BaseProps';
@@ -55,8 +55,20 @@ const styles = stylex.create({
55
55
  backgroundColor: {
56
56
  default: colorVars['--color-skeleton'],
57
57
  '@media (prefers-contrast: more)': `color-mix(in srgb, ${colorVars['--color-skeleton']}, ${colorVars['--color-text-primary']} 30%)`,
58
+ // Forced colors (Windows High Contrast) strips painted backgrounds,
59
+ // which would make the placeholder invisible. GrayText is a system
60
+ // color, so it survives forcing and keeps the placeholder visible
61
+ // (WCAG 1.4.11). Listed after prefers-contrast so it wins when both
62
+ // media features are active.
63
+ '@media (forced-colors: active)': 'GrayText',
64
+ },
65
+ opacity: {
66
+ default: 0.25,
67
+ // The resting 0.25 opacity would render GrayText nearly invisible on
68
+ // Canvas; full opacity keeps the static placeholder perceivable (the
69
+ // fade animation still pulses when motion is allowed).
70
+ '@media (forced-colors: active)': 1,
58
71
  },
59
- opacity: 0.25,
60
72
  },
61
73
  animate: {
62
74
  animationDirection: 'alternate',
@@ -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: 'Slider',
@@ -174,7 +174,7 @@ export const docs = {
174
174
  },
175
175
  };
176
176
 
177
- /** @type {import('../docs-types').ComponentDoc} */
177
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
178
178
  export const docsZh = {
179
179
  name: 'Slider',
180
180
  displayName: 'Slider',
@@ -328,7 +328,7 @@ export const docsZh = {
328
328
  },
329
329
  };
330
330
 
331
- /** @type {import('../docs-types').TranslationDoc} */
331
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
332
332
  export const docsDense = {
333
333
  usage: {
334
334
  description:
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/Slider/Slider.test.tsx
14
14
  * - /packages/core/src/Slider/index.ts
15
15
  * - /apps/storybook/stories/Slider.stories.tsx
16
- * - /packages/cli/templates/blocks/components/Slider/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/Slider/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import {
@@ -40,7 +40,7 @@ import {Tooltip} from '../Tooltip/Tooltip';
40
40
  import {useTooltip} from '../Tooltip';
41
41
  import {VisuallyHidden} from '../VisuallyHidden';
42
42
  import type {InputStatus} from '../Field/types';
43
- import {mergeProps, mergeRefs} from '../utils';
43
+ import {mergeProps, mergeRefs, rtlStyles} from '../utils';
44
44
  import {isRtlElement} from '../hooks/isRtlElement';
45
45
  import type {BaseProps} from '../BaseProps';
46
46
  import type {SizeValue} from '../utils/types';
@@ -203,8 +203,6 @@ const styles = stylex.create({
203
203
  top: 0,
204
204
  bottom: 0,
205
205
  width: TRACK_SIZE,
206
- insetInlineStart: '50%',
207
- transform: 'translateX(-50%)',
208
206
  },
209
207
  filledTrack: {
210
208
  position: 'absolute',
@@ -218,8 +216,6 @@ const styles = stylex.create({
218
216
  },
219
217
  filledTrackVertical: {
220
218
  width: TRACK_SIZE,
221
- insetInlineStart: '50%',
222
- transform: 'translateX(-50%)',
223
219
  },
224
220
  thumb: {
225
221
  position: 'absolute',
@@ -249,10 +245,6 @@ const styles = stylex.create({
249
245
  ':is([dir="rtl"] *)': 'translate(50%, -50%)',
250
246
  },
251
247
  },
252
- thumbVertical: {
253
- insetInlineStart: '50%',
254
- transform: 'translate(-50%, 50%)',
255
- },
256
248
  thumbHover: {
257
249
  backgroundColor: {
258
250
  default: colorVars['--color-accent'],
@@ -796,7 +788,9 @@ export function Slider({ref, ...props}: SliderProps) {
796
788
  }),
797
789
  stylex.props(
798
790
  styles.thumb,
799
- isHorizontal ? styles.thumbHorizontal : styles.thumbVertical,
791
+ isHorizontal
792
+ ? styles.thumbHorizontal
793
+ : rtlStyles.centerInline('50%'),
800
794
  !isDisabled && styles.thumbHover,
801
795
  !isDisabled && styles.thumbFocusVisible,
802
796
  isDisabled && styles.thumbDisabled,
@@ -930,7 +924,9 @@ export function Slider({ref, ...props}: SliderProps) {
930
924
  themeProps('slider-track', {orientation}),
931
925
  stylex.props(
932
926
  styles.track,
933
- isHorizontal ? styles.trackHorizontal : styles.trackVertical,
927
+ isHorizontal
928
+ ? styles.trackHorizontal
929
+ : [styles.trackVertical, rtlStyles.centerInline('0px')],
934
930
  ),
935
931
  )}
936
932
  />
@@ -943,7 +939,7 @@ export function Slider({ref, ...props}: SliderProps) {
943
939
  styles.filledTrack,
944
940
  isHorizontal
945
941
  ? styles.filledTrackHorizontal
946
- : styles.filledTrackVertical,
942
+ : [styles.filledTrackVertical, rtlStyles.centerInline('0px')],
947
943
  ),
948
944
  {style: filledStyle},
949
945
  )}
@@ -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: 'Spinner',
@@ -56,7 +56,7 @@ export const docs = {
56
56
  },
57
57
  };
58
58
 
59
- /** @type {import('../docs-types').ComponentDoc} */
59
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
60
60
  export const docsZh = {
61
61
  name: 'Spinner',
62
62
  displayName: 'Spinner',
@@ -108,7 +108,7 @@ export const docsZh = {
108
108
  },
109
109
  };
110
110
 
111
- /** @type {import('../docs-types').TranslationDoc} */
111
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
112
112
  export const docsDense = {
113
113
  usage: {
114
114
  description:
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/Spinner/Spinner.test.tsx
14
14
  * - /packages/core/src/Spinner/index.ts
15
15
  * - /apps/storybook/stories/Spinner.stories.tsx
16
- * - /packages/cli/templates/blocks/components/Spinner/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/Spinner/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import {useEffect, useId, useRef, type ReactNode} from 'react';
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'Stack',
@@ -268,7 +268,7 @@ export const docs = {
268
268
  },
269
269
  };
270
270
 
271
- /** @type {import('../docs-types').ComponentDoc} */
271
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
272
272
  export const docsZh = {
273
273
  name: 'Stack',
274
274
  displayName: 'Stack',
@@ -457,7 +457,7 @@ export const docsZh = {
457
457
  },
458
458
  };
459
459
 
460
- /** @type {import('../docs-types').TranslationDoc} */
460
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
461
461
  export const docsDense = {
462
462
  description: 'Stack layout primitives for horizontal/vertical sequences using flexbox w/ themed spacing tokens.',
463
463
  usage: {
@@ -9,7 +9,7 @@
9
9
  * SYNC: When modified, update these files to stay in sync:
10
10
  * - /packages/core/src/Stack/Stack.doc.mjs
11
11
  * - /apps/storybook/stories/Stack.stories.tsx
12
- * - /packages/cli/templates/blocks/components/Stack/ (showcase blocks)
12
+ * - /packages/cli/assets/templates/blocks/components/Stack/ (showcase blocks)
13
13
  */
14
14
 
15
15
  import {createElement, type ElementType, type ReactNode, type Ref} from 'react';
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * SYNC: When modified, update these files to stay in sync:
10
10
  * - /packages/core/src/Stack/Stack.doc.mjs
11
- * - /packages/cli/templates/blocks/components/Stack/ (showcase blocks)
11
+ * - /packages/cli/assets/templates/blocks/components/Stack/ (showcase blocks)
12
12
  */
13
13
 
14
14
  import {createElement, type ElementType, type ReactNode, type Ref} 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: 'StatusDot',
@@ -49,15 +49,18 @@ export const docs = {
49
49
  description:
50
50
  'A small colored dot that communicates status like online/offline presence or severity levels. Supports five semantic variants and an optional pulse animation. Always pair with a visible text label, as color alone should not carry meaning.',
51
51
  bestPractices: [
52
+ { guidance: true, description: 'Use StatusDot as a binary present/absent signal; avoid encoding many distinct states in a single dot, since color and size alone cannot reliably distinguish them.' },
52
53
  { guidance: true, description: 'Always pair with a visible text label so status is not conveyed by color alone.' },
53
54
  { guidance: true, description: 'Provide a descriptive `label` prop for screen reader accessibility.' },
55
+ { guidance: true, description: 'Pair the dot with an icon that carries the status as a distinct shape when it must stand on its own without adjacent text, so meaning survives without color.' },
56
+ { guidance: true, description: 'If you can\'t add a label or an icon, make sure the status is conveyed elsewhere accessibly (e.g. adjacent text, a table column, or a live region).' },
57
+ { guidance: false, description: 'Rely on color alone to communicate status; StatusDot is not fully accessible in isolation, so the builder must make the status distinguishable in context via a label, an icon, or an accessible alternative.' },
54
58
  { guidance: false, description: 'Use the pulse animation for purely decorative purposes; reserve it for states that require immediate attention.' },
55
- { guidance: false, description: 'Rely on color alone to communicate status; always include text.' },
56
59
  ],
57
60
  },
58
61
  };
59
62
 
60
- /** @type {import('../docs-types').ComponentDoc} */
63
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
61
64
  export const docsZh = {
62
65
  name: 'StatusDot',
63
66
  displayName: 'Status Dot',
@@ -97,25 +100,31 @@ export const docsZh = {
97
100
  description:
98
101
  'A small colored dot that communicates status like online/offline presence or severity levels. Supports five semantic variants and an optional pulse animation. Always pair with a visible text label, as color alone should not carry meaning.',
99
102
  bestPractices: [
103
+ { guidance: true, description: 'Use StatusDot as a binary present/absent signal; avoid encoding many distinct states in a single dot, since color and size alone cannot reliably distinguish them.' },
100
104
  { guidance: true, description: 'Always pair with a visible text label so status is not conveyed by color alone.' },
101
105
  { guidance: true, description: 'Provide a descriptive `label` prop for screen reader accessibility.' },
106
+ { guidance: true, description: 'Pair the dot with an icon that carries the status as a distinct shape when it must stand on its own without adjacent text, so meaning survives without color.' },
107
+ { guidance: true, description: 'If you can\'t add a label or an icon, make sure the status is conveyed elsewhere accessibly (e.g. adjacent text, a table column, or a live region).' },
108
+ { guidance: false, description: 'Rely on color alone to communicate status; StatusDot is not fully accessible in isolation, so the builder must make the status distinguishable in context via a label, an icon, or an accessible alternative.' },
102
109
  { guidance: false, description: 'Use the pulse animation for purely decorative purposes; reserve it for states that require immediate attention.' },
103
- { guidance: false, description: 'Rely on color alone to communicate status; always include text.' },
104
110
  ],
105
111
  },
106
112
  };
107
113
 
108
- /** @type {import('../docs-types').TranslationDoc} */
114
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
109
115
  export const docsDense = {
110
116
  description: 'Small colored dot indicator for status display (online/offline, severity, etc).',
111
117
  usage: {
112
118
  description:
113
119
  'A small colored dot that communicates status like online/offline presence or severity levels. Supports five semantic variants and an optional pulse animation. Always pair with a visible text label, as color alone should not carry meaning.',
114
120
  bestPractices: [
121
+ { guidance: true, description: 'Use StatusDot as a binary present/absent signal; avoid encoding many distinct states in a single dot, since color and size alone cannot reliably distinguish them.' },
115
122
  { guidance: true, description: 'Always pair with a visible text label so status is not conveyed by color alone.' },
116
123
  { guidance: true, description: 'Provide a descriptive `label` prop for screen reader accessibility.' },
124
+ { guidance: true, description: 'Pair the dot with an icon that carries the status as a distinct shape when it must stand on its own without adjacent text, so meaning survives without color.' },
125
+ { guidance: true, description: 'If you can\'t add a label or an icon, make sure the status is conveyed elsewhere accessibly (e.g. adjacent text, a table column, or a live region).' },
126
+ { guidance: false, description: 'Rely on color alone to communicate status; StatusDot is not fully accessible in isolation, so the builder must make the status distinguishable in context via a label, an icon, or an accessible alternative.' },
117
127
  { guidance: false, description: 'Use the pulse animation for purely decorative purposes; reserve it for states that require immediate attention.' },
118
- { guidance: false, description: 'Rely on color alone to communicate status; always include text.' },
119
128
  ],
120
129
  },
121
130
  propDescriptions: {
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/StatusDot/StatusDot.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/StatusDot/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/StatusDot.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/StatusDot/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/StatusDot/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import * as stylex from '@stylexjs/stylex';
@@ -22,6 +22,7 @@ import type {BaseProps} from '../BaseProps';
22
22
  import {Tooltip} from '../Tooltip/Tooltip';
23
23
  import {mergeProps} from '../utils';
24
24
  import {themeProps} from '../utils/themeProps';
25
+ import type {StatusDotVariantMap} from './index';
25
26
 
26
27
  /**
27
28
  * Pulse animation keyframes
@@ -77,27 +78,6 @@ const variants = stylex.create({
77
78
  },
78
79
  });
79
80
 
80
- /**
81
- * Extensible variant map for StatusDot.
82
- *
83
- * Theme packages can add custom variants via TypeScript module augmentation:
84
- * @example
85
- * ```
86
- * declare module '@astryxdesign/core/StatusDot' {
87
- * interface StatusDotVariantMap {
88
- * 'critical': true;
89
- * }
90
- * }
91
- * ```
92
- */
93
- export interface StatusDotVariantMap {
94
- success: true;
95
- warning: true;
96
- error: true;
97
- accent: true;
98
- neutral: true;
99
- }
100
-
101
81
  /**
102
82
  * Status dot variant type derived from StatusDotVariantMap.
103
83
  * Extensible via module augmentation of StatusDotVariantMap.
@@ -9,9 +9,26 @@
9
9
  * @position Entry point for StatusDot; re-exported by /packages/core/src/index.ts
10
10
  */
11
11
 
12
+ /**
13
+ * Extensible variant map for StatusDot.
14
+ *
15
+ * Theme packages can add custom variants via TypeScript module augmentation:
16
+ * @example
17
+ * ```
18
+ * declare module '@astryxdesign/core/StatusDot' {
19
+ * interface StatusDotVariantMap {
20
+ * 'critical': true;
21
+ * }
22
+ * }
23
+ * ```
24
+ */
25
+ export interface StatusDotVariantMap {
26
+ success: true;
27
+ warning: true;
28
+ error: true;
29
+ accent: true;
30
+ neutral: true;
31
+ }
32
+
12
33
  export {StatusDot} from './StatusDot';
13
- export type {
14
- StatusDotProps,
15
- StatusDotVariant,
16
- StatusDotVariantMap,
17
- } from './StatusDot';
34
+ export type {StatusDotProps, StatusDotVariant} from './StatusDot';
@@ -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: 'Switch',
@@ -141,7 +141,7 @@ export const docs = {
141
141
  name: 'labelSpacing',
142
142
  type: "'hug' | 'spread'",
143
143
  description:
144
- 'Spacing behavior between label and switch. "hug" places them next to each other; "spread" pushes them to opposite ends of the container (full width). "default" is a deprecated alias for "hug".',
144
+ 'Spacing behavior between label and switch. "hug" places them next to each other; "spread" pushes them to opposite ends of the container (full width).',
145
145
  default: "'hug'",
146
146
  },
147
147
  {
@@ -202,7 +202,7 @@ export const docs = {
202
202
  },
203
203
  };
204
204
 
205
- /** @type {import('../docs-types').ComponentDoc} */
205
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
206
206
  export const docsZh = {
207
207
  name: 'Switch',
208
208
  displayName: 'Switch',
@@ -373,7 +373,7 @@ export const docsZh = {
373
373
  },
374
374
  };
375
375
 
376
- /** @type {import('../docs-types').TranslationDoc} */
376
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
377
377
  export const docsDense = {
378
378
  description: 'Toggle switch for boolean values w/ integrated label support.',
379
379
  usage: {
@@ -429,6 +429,6 @@ export const docsDense = {
429
429
  labelTooltip: 'Tooltip text in info icon at label end.',
430
430
  labelPosition: 'Which side label appears; "start" places before switch.',
431
431
  labelSpacing:
432
- 'Spacing behavior; "hug" places next to each other, "spread" pushes to opposite ends (full width). "default" is deprecated alias for "hug".',
432
+ 'Spacing behavior; "hug" places next to each other, "spread" pushes to opposite ends (full width).',
433
433
  },
434
434
  };
@@ -13,6 +13,10 @@ import {describe, it, expect, vi, beforeEach, afterEach} from 'vitest';
13
13
  import {render, screen, fireEvent, waitFor} from '@testing-library/react';
14
14
  import userEvent from '@testing-library/user-event';
15
15
  import {Switch} from './Switch';
16
+ import {
17
+ getAllInjectedCss,
18
+ getForcedColorsRules,
19
+ } from '../__tests__/forcedColors';
16
20
  import {__resetLiveRegionsForTest} from '../hooks/useAnnounce';
17
21
 
18
22
  afterEach(() => {
@@ -167,6 +171,40 @@ describe('Switch', () => {
167
171
  expect(switchEl).toHaveAttribute('aria-describedby', description.id);
168
172
  });
169
173
 
174
+ it('toggles when clicking on the description', async () => {
175
+ const user = userEvent.setup();
176
+ const handleChange = vi.fn();
177
+ render(
178
+ <Switch
179
+ label="Dark mode"
180
+ description="Switch to a darker color scheme"
181
+ value={false}
182
+ onChange={handleChange}
183
+ />,
184
+ );
185
+ await user.click(screen.getByText('Switch to a darker color scheme'));
186
+ expect(handleChange).toHaveBeenCalledWith(true, expect.any(Object));
187
+ });
188
+
189
+ it('does not fold the description into the switch accessible name', () => {
190
+ // Description stays a sibling of the <label>, so it must not become part
191
+ // of the switch's accessible name — it belongs in the accessible
192
+ // description (aria-describedby) only, to avoid double announcement.
193
+ render(
194
+ <Switch
195
+ label="Dark mode"
196
+ description="Switch to a darker color scheme"
197
+ value={false}
198
+ onChange={() => {}}
199
+ />,
200
+ );
201
+ const switchEl = screen.getByRole('switch');
202
+ expect(switchEl).toHaveAccessibleName('Dark mode');
203
+ expect(switchEl).toHaveAccessibleDescription(
204
+ 'Switch to a darker color scheme',
205
+ );
206
+ });
207
+
170
208
  it('is disabled when isDisabled prop is true', () => {
171
209
  render(
172
210
  <Switch
@@ -581,31 +619,6 @@ describe('Switch', () => {
581
619
  expect(getField(explicit)).not.toHaveAttribute('data-label-spacing');
582
620
  expect(getField(explicit).className).toBe(getField(implicit).className);
583
621
  });
584
-
585
- it("treats the deprecated 'default' value as an alias for hug", () => {
586
- const {container: hug} = render(
587
- <Switch
588
- label="Notify"
589
- value={false}
590
- onChange={() => {}}
591
- labelSpacing="hug"
592
- />,
593
- );
594
- const {container: deprecated} = render(
595
- <Switch
596
- label="Notify"
597
- value={false}
598
- onChange={() => {}}
599
- labelSpacing="default"
600
- />,
601
- );
602
- expect(getField(deprecated)).not.toHaveAttribute('data-label-spacing');
603
- expect(getField(deprecated).className).toBe(getField(hug).className);
604
- // The switch row keeps the hug layout, not the spread justification.
605
- expect(getField(deprecated).firstElementChild?.className).toBe(
606
- getField(hug).firstElementChild?.className,
607
- );
608
- });
609
622
  });
610
623
  describe('form participation', () => {
611
624
  it('submits under htmlName when on', () => {
@@ -729,3 +742,36 @@ describe('Switch', () => {
729
742
  });
730
743
  });
731
744
  });
745
+
746
+ // jsdom cannot emulate forced-colors rendering, so these assert that the
747
+ // compiled output includes the forced-colors rules; visual behavior needs
748
+ // manual verification under Windows High Contrast.
749
+ describe('forced colors (WCAG 1.4.11)', () => {
750
+ it('compiles forced-colors overrides so on/off state survives Windows High Contrast', () => {
751
+ render(<Switch label="Notifications" value={true} onChange={() => {}} />);
752
+ const css = getForcedColorsRules();
753
+ // Track outline (backgrounds are stripped; the border keeps the bounds).
754
+ expect(css).toContain('border-color: canvastext;');
755
+ // Off track stays empty; on track uses the selection color.
756
+ expect(css).toContain('background-color: canvas;');
757
+ expect(css).toContain('background-color: highlight;');
758
+ // Thumb fill per state.
759
+ expect(css).toContain('background-color: canvastext;');
760
+ expect(css).toContain('background-color: highlighttext;');
761
+ // Disabled affordance (opacity dimming does not survive forcing).
762
+ expect(css).toContain('border-color: graytext;');
763
+ });
764
+
765
+ it('gates the hover tint out of forced colors so the thumb stays visible on hover', () => {
766
+ render(<Switch label="Notifications" value={true} onChange={() => {}} />);
767
+ // The ancestor-hover tint is a non-system color-mix whose rule outranks the
768
+ // plain forced-colors track rule. It is gated behind `forced-colors: none`
769
+ // so it cannot reassert on hover and flatten the Highlight track to white
770
+ // under the HighlightText thumb (white-on-white).
771
+ expect(getAllInjectedCss()).toContain(
772
+ '(hover: hover) and (forced-colors: none)',
773
+ );
774
+ // And the tint never leaks into the forced-colors output.
775
+ expect(getForcedColorsRules()).not.toContain('color-mix');
776
+ });
777
+ });