@astryxdesign/core 0.1.9 → 0.2.0-canary.0b7a99e

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 (1128) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  3. package/dist/AlertDialog/AlertDialog.js +1 -1
  4. package/dist/AppShell/AppShell.d.ts +2 -20
  5. package/dist/AppShell/AppShell.d.ts.map +1 -1
  6. package/dist/AppShell/AppShell.js +1 -14
  7. package/dist/AppShell/index.d.ts +20 -1
  8. package/dist/AppShell/index.d.ts.map +1 -1
  9. package/dist/AppShell/index.js +14 -0
  10. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  11. package/dist/AspectRatio/AspectRatio.js +1 -1
  12. package/dist/Avatar/Avatar.d.ts +43 -4
  13. package/dist/Avatar/Avatar.d.ts.map +1 -1
  14. package/dist/Avatar/Avatar.js +194 -63
  15. package/dist/Avatar/AvatarStatusDot.d.ts +8 -30
  16. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  17. package/dist/Avatar/AvatarStatusDot.js +1 -22
  18. package/dist/Avatar/index.d.ts +26 -1
  19. package/dist/Avatar/index.d.ts.map +1 -1
  20. package/dist/Avatar/index.js +21 -0
  21. package/dist/AvatarGroup/AvatarGroup.d.ts +8 -2
  22. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.js +59 -7
  24. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  25. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  26. package/dist/AvatarGroup/AvatarGroupOverflow.js +8 -3
  27. package/dist/Badge/Badge.d.ts +2 -30
  28. package/dist/Badge/Badge.d.ts.map +1 -1
  29. package/dist/Badge/Badge.js +2 -17
  30. package/dist/Badge/index.d.ts +31 -2
  31. package/dist/Badge/index.d.ts.map +1 -1
  32. package/dist/Badge/index.js +15 -1
  33. package/dist/Banner/Banner.d.ts +2 -37
  34. package/dist/Banner/Banner.d.ts.map +1 -1
  35. package/dist/Banner/Banner.js +7 -35
  36. package/dist/Banner/index.d.ts +37 -1
  37. package/dist/Banner/index.d.ts.map +1 -1
  38. package/dist/Banner/index.js +27 -0
  39. package/dist/Blockquote/Blockquote.d.ts +1 -1
  40. package/dist/Blockquote/Blockquote.js +1 -1
  41. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  42. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  43. package/dist/Breadcrumbs/BreadcrumbItem.js +12 -5
  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 +19 -1
  48. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  49. package/dist/Breadcrumbs/index.js +16 -1
  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 +8 -21
  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.d.ts.map +1 -1
  59. package/dist/Calendar/Calendar.js +51 -10
  60. package/dist/Calendar/dayCellUtils.d.ts +4 -4
  61. package/dist/Calendar/dayCellUtils.js +2 -2
  62. package/dist/Calendar/styles.d.ts +32 -33
  63. package/dist/Calendar/styles.d.ts.map +1 -1
  64. package/dist/Calendar/styles.js +32 -33
  65. package/dist/Card/Card.d.ts +1 -1
  66. package/dist/Card/Card.js +2 -2
  67. package/dist/Carousel/Carousel.d.ts +1 -1
  68. package/dist/Carousel/Carousel.d.ts.map +1 -1
  69. package/dist/Carousel/Carousel.js +23 -13
  70. package/dist/Center/Center.d.ts +21 -4
  71. package/dist/Center/Center.d.ts.map +1 -1
  72. package/dist/Center/Center.js +11 -3
  73. package/dist/Chat/ChatComposer.d.ts +1 -1
  74. package/dist/Chat/ChatComposer.js +9 -9
  75. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  76. package/dist/Chat/ChatComposerDrawer.js +3 -3
  77. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  78. package/dist/Chat/ChatComposerInput.js +2 -2
  79. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  80. package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
  81. package/dist/Chat/ChatDictationButton.js +4 -2
  82. package/dist/Chat/ChatLayout.d.ts +8 -1
  83. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  84. package/dist/Chat/ChatLayout.js +17 -6
  85. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  86. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  87. package/dist/Chat/ChatMessage.d.ts +1 -1
  88. package/dist/Chat/ChatMessage.js +1 -1
  89. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  90. package/dist/Chat/ChatMessageBubble.d.ts.map +1 -1
  91. package/dist/Chat/ChatMessageBubble.js +9 -9
  92. package/dist/Chat/ChatMessageList.d.ts +1 -1
  93. package/dist/Chat/ChatMessageList.js +1 -1
  94. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  95. package/dist/Chat/ChatSystemMessage.js +1 -1
  96. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  97. package/dist/Chat/ChatTokenizedText.js +1 -1
  98. package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
  99. package/dist/Chat/ChatToolCalls.js +10 -3
  100. package/dist/Chat/useTriggerMenu.js +2 -2
  101. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  102. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  103. package/dist/CheckboxInput/CheckboxInput.js +7 -7
  104. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  105. package/dist/CheckboxList/CheckboxList.js +1 -1
  106. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  107. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  108. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  109. package/dist/Citation/Citation.d.ts +23 -2
  110. package/dist/Citation/Citation.d.ts.map +1 -1
  111. package/dist/Citation/Citation.js +21 -7
  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.d.ts.map +1 -1
  117. package/dist/CodeBlock/CodeBlock.js +16 -10
  118. package/dist/Collapsible/Collapsible.d.ts +1 -1
  119. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  120. package/dist/Collapsible/Collapsible.js +4 -2
  121. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  122. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  123. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  124. package/dist/CommandPalette/CommandPalette.d.ts +2 -2
  125. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  126. package/dist/CommandPalette/CommandPalette.js +43 -4
  127. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  128. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  129. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  130. package/dist/CommandPalette/CommandPaletteInput.d.ts +1 -1
  131. package/dist/CommandPalette/CommandPaletteInput.js +1 -1
  132. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  133. package/dist/CommandPalette/CommandPaletteItem.js +2 -2
  134. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  135. package/dist/ContextMenu/ContextMenu.d.ts +1 -1
  136. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  137. package/dist/ContextMenu/ContextMenu.js +24 -6
  138. package/dist/ContextMenu/index.d.ts +1 -0
  139. package/dist/ContextMenu/index.d.ts.map +1 -1
  140. package/dist/ContextMenu/index.js +3 -1
  141. package/dist/DateInput/DateInput.d.ts +10 -2
  142. package/dist/DateInput/DateInput.d.ts.map +1 -1
  143. package/dist/DateInput/DateInput.js +34 -20
  144. package/dist/DateRangeInput/DateRangeInput.d.ts +10 -2
  145. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  146. package/dist/DateRangeInput/DateRangeInput.js +24 -21
  147. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  148. package/dist/DateTimeInput/DateTimeInput.js +24 -19
  149. package/dist/Dialog/Dialog.d.ts +46 -23
  150. package/dist/Dialog/Dialog.d.ts.map +1 -1
  151. package/dist/Dialog/Dialog.js +59 -31
  152. package/dist/Dialog/DialogHeader.d.ts +1 -1
  153. package/dist/Dialog/DialogHeader.js +1 -1
  154. package/dist/Dialog/index.d.ts +18 -1
  155. package/dist/Dialog/index.d.ts.map +1 -1
  156. package/dist/Dialog/index.js +14 -0
  157. package/dist/Divider/Divider.d.ts +4 -20
  158. package/dist/Divider/Divider.d.ts.map +1 -1
  159. package/dist/Divider/Divider.js +14 -15
  160. package/dist/Divider/index.d.ts +18 -1
  161. package/dist/Divider/index.d.ts.map +1 -1
  162. package/dist/Divider/index.js +14 -0
  163. package/dist/DropdownMenu/DropdownMenu.d.ts +7 -1
  164. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  165. package/dist/DropdownMenu/DropdownMenu.js +23 -6
  166. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  167. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  168. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +42 -64
  169. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  170. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  171. package/dist/DropdownMenu/DropdownMenuItem.js +6 -3
  172. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  173. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  174. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  175. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  176. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  177. package/dist/DropdownMenu/DropdownMenuRadioItem.js +10 -3
  178. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +104 -0
  179. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -0
  180. package/dist/DropdownMenu/DropdownMenuSubMenu.js +435 -0
  181. package/dist/DropdownMenu/index.d.ts +10 -0
  182. package/dist/DropdownMenu/index.d.ts.map +1 -1
  183. package/dist/DropdownMenu/index.js +13 -0
  184. package/dist/DropdownMenu/menuItemHover.d.ts +24 -0
  185. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -0
  186. package/dist/DropdownMenu/menuItemHover.js +34 -0
  187. package/dist/DropdownMenu/menuItemRoles.d.ts +8 -0
  188. package/dist/DropdownMenu/menuItemRoles.d.ts.map +1 -1
  189. package/dist/DropdownMenu/menuItemRoles.js +10 -1
  190. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  191. package/dist/DropdownMenu/renderDropdownItems.js +27 -10
  192. package/dist/EmptyState/EmptyState.d.ts +1 -1
  193. package/dist/EmptyState/EmptyState.js +1 -1
  194. package/dist/Field/Field.d.ts +4 -2
  195. package/dist/Field/Field.d.ts.map +1 -1
  196. package/dist/Field/Field.js +5 -2
  197. package/dist/Field/FieldLabel.d.ts +4 -3
  198. package/dist/Field/FieldLabel.d.ts.map +1 -1
  199. package/dist/Field/FieldLabel.js +50 -7
  200. package/dist/Field/inputStyles.stylex.d.ts +1 -0
  201. package/dist/Field/inputStyles.stylex.d.ts.map +1 -1
  202. package/dist/Field/inputStyles.stylex.js +1 -0
  203. package/dist/FieldStatus/FieldStatus.d.ts +10 -17
  204. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  205. package/dist/FieldStatus/FieldStatus.js +52 -20
  206. package/dist/FieldStatus/index.d.ts +19 -1
  207. package/dist/FieldStatus/index.d.ts.map +1 -1
  208. package/dist/FieldStatus/index.js +14 -0
  209. package/dist/FileInput/FileInput.d.ts +10 -2
  210. package/dist/FileInput/FileInput.d.ts.map +1 -1
  211. package/dist/FileInput/FileInput.js +94 -66
  212. package/dist/FormLayout/FormLayout.d.ts +1 -1
  213. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  214. package/dist/FormLayout/FormLayout.js +1 -1
  215. package/dist/Grid/Grid.d.ts +1 -1
  216. package/dist/Grid/Grid.js +1 -1
  217. package/dist/Grid/GridSpan.d.ts +1 -1
  218. package/dist/Grid/GridSpan.js +1 -1
  219. package/dist/HStack/HStack.d.ts +1 -1
  220. package/dist/HStack/HStack.js +1 -1
  221. package/dist/Heading/Heading.d.ts +2 -2
  222. package/dist/Heading/Heading.d.ts.map +1 -1
  223. package/dist/Heading/Heading.js +5 -4
  224. package/dist/HoverCard/HoverCard.d.ts +1 -1
  225. package/dist/HoverCard/HoverCard.js +1 -1
  226. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  227. package/dist/HoverCard/useHoverCard.js +10 -4
  228. package/dist/Icon/Icon.d.ts +16 -2
  229. package/dist/Icon/Icon.d.ts.map +1 -1
  230. package/dist/Icon/Icon.js +20 -4
  231. package/dist/Icon/globalIconRegistry.js +1 -1
  232. package/dist/IconButton/IconButton.d.ts +1 -1
  233. package/dist/IconButton/IconButton.js +1 -1
  234. package/dist/InputGroup/InputGroup.d.ts +1 -1
  235. package/dist/InputGroup/InputGroup.js +1 -1
  236. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  237. package/dist/InputGroup/InputGroupText.js +1 -1
  238. package/dist/Item/Item.d.ts +17 -4
  239. package/dist/Item/Item.d.ts.map +1 -1
  240. package/dist/Item/Item.js +32 -7
  241. package/dist/Kbd/Kbd.d.ts +1 -1
  242. package/dist/Kbd/Kbd.js +1 -1
  243. package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
  244. package/dist/Layer/layerAnimations.stylex.js +10 -2
  245. package/dist/Layout/Layout.d.ts +1 -1
  246. package/dist/Layout/Layout.js +1 -1
  247. package/dist/Layout/LayoutContent.d.ts +1 -1
  248. package/dist/Layout/LayoutContent.js +1 -1
  249. package/dist/Layout/LayoutFooter.d.ts +1 -1
  250. package/dist/Layout/LayoutFooter.js +1 -1
  251. package/dist/Layout/LayoutHeader.d.ts +1 -1
  252. package/dist/Layout/LayoutHeader.js +1 -1
  253. package/dist/Layout/LayoutPanel.d.ts +1 -1
  254. package/dist/Layout/LayoutPanel.js +1 -1
  255. package/dist/Lightbox/Lightbox.d.ts +1 -1
  256. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  257. package/dist/Lightbox/Lightbox.js +35 -16
  258. package/dist/Link/Link.d.ts +1 -1
  259. package/dist/Link/Link.js +1 -1
  260. package/dist/Link/LinkProvider.d.ts +2 -2
  261. package/dist/Link/LinkProvider.js +2 -2
  262. package/dist/List/List.d.ts +1 -1
  263. package/dist/List/List.d.ts.map +1 -1
  264. package/dist/List/List.js +7 -4
  265. package/dist/List/ListItem.d.ts +12 -2
  266. package/dist/List/ListItem.d.ts.map +1 -1
  267. package/dist/List/ListItem.js +3 -1
  268. package/dist/Markdown/Markdown.d.ts.map +1 -1
  269. package/dist/Markdown/Markdown.js +11 -4
  270. package/dist/MetadataList/MetadataList.d.ts +2 -2
  271. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  272. package/dist/MetadataList/MetadataList.js +5 -3
  273. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  274. package/dist/MetadataList/MetadataListItem.js +1 -1
  275. package/dist/MobileNav/MobileNav.d.ts +1 -1
  276. package/dist/MobileNav/MobileNav.js +1 -1
  277. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  278. package/dist/MoreMenu/MoreMenu.js +1 -1
  279. package/dist/MultiSelector/MultiSelector.d.ts +10 -2
  280. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  281. package/dist/MultiSelector/MultiSelector.js +88 -46
  282. package/dist/NavIcon/NavIcon.d.ts +1 -1
  283. package/dist/NavIcon/NavIcon.js +1 -1
  284. package/dist/NavMenu/NavHeadingMenuItem.js +1 -1
  285. package/dist/NumberInput/NumberInput.d.ts +11 -3
  286. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  287. package/dist/NumberInput/NumberInput.js +23 -18
  288. package/dist/Outline/Outline.js +3 -3
  289. package/dist/OverflowList/OverflowList.d.ts +1 -1
  290. package/dist/OverflowList/OverflowList.js +1 -1
  291. package/dist/Pagination/Pagination.d.ts +1 -20
  292. package/dist/Pagination/Pagination.d.ts.map +1 -1
  293. package/dist/Pagination/Pagination.js +12 -18
  294. package/dist/Pagination/index.d.ts +21 -1
  295. package/dist/Pagination/index.d.ts.map +1 -1
  296. package/dist/Pagination/index.js +14 -0
  297. package/dist/Popover/Popover.d.ts +1 -1
  298. package/dist/Popover/Popover.js +1 -1
  299. package/dist/Popover/usePopover.d.ts.map +1 -1
  300. package/dist/Popover/usePopover.js +14 -3
  301. package/dist/PowerSearch/PowerSearch.d.ts +10 -3
  302. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  303. package/dist/PowerSearch/PowerSearch.js +3 -1
  304. package/dist/ProgressBar/ProgressBar.d.ts +1 -20
  305. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  306. package/dist/ProgressBar/ProgressBar.js +7 -16
  307. package/dist/ProgressBar/index.d.ts +21 -1
  308. package/dist/ProgressBar/index.d.ts.map +1 -1
  309. package/dist/ProgressBar/index.js +14 -0
  310. package/dist/RadioList/RadioList.d.ts +3 -3
  311. package/dist/RadioList/RadioList.js +1 -1
  312. package/dist/RadioList/RadioListItem.d.ts +1 -1
  313. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  314. package/dist/RadioList/RadioListItem.js +6 -6
  315. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  316. package/dist/Resizable/ResizeHandle.js +45 -22
  317. package/dist/Section/Section.d.ts +2 -19
  318. package/dist/Section/Section.d.ts.map +1 -1
  319. package/dist/Section/Section.js +1 -15
  320. package/dist/Section/index.d.ts +19 -1
  321. package/dist/Section/index.d.ts.map +1 -1
  322. package/dist/Section/index.js +14 -0
  323. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  324. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  325. package/dist/SegmentedControl/SegmentedControlItem.d.ts +2 -2
  326. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  327. package/dist/SegmentedControl/SegmentedControlItem.js +6 -4
  328. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  329. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  330. package/dist/SelectableCard/SelectableCard.js +15 -3
  331. package/dist/Selector/Selector.d.ts +9 -1
  332. package/dist/Selector/Selector.d.ts.map +1 -1
  333. package/dist/Selector/Selector.js +73 -20
  334. package/dist/SideNav/SideNav.d.ts +1 -1
  335. package/dist/SideNav/SideNav.d.ts.map +1 -1
  336. package/dist/SideNav/SideNav.js +6 -6
  337. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  338. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  339. package/dist/SideNav/SideNavCollapseButton.js +14 -11
  340. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  341. package/dist/SideNav/SideNavHeading.js +1 -1
  342. package/dist/SideNav/SideNavItem.d.ts +2 -2
  343. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  344. package/dist/SideNav/SideNavItem.js +13 -11
  345. package/dist/SideNav/SideNavSection.d.ts +1 -1
  346. package/dist/SideNav/SideNavSection.js +1 -1
  347. package/dist/Skeleton/Skeleton.d.ts +1 -1
  348. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  349. package/dist/Skeleton/Skeleton.js +3 -3
  350. package/dist/Slider/Slider.d.ts.map +1 -1
  351. package/dist/Slider/Slider.js +146 -83
  352. package/dist/Spinner/Spinner.d.ts +4 -3
  353. package/dist/Spinner/Spinner.d.ts.map +1 -1
  354. package/dist/Spinner/Spinner.js +12 -3
  355. package/dist/Stack/Stack.d.ts +1 -1
  356. package/dist/Stack/Stack.js +1 -1
  357. package/dist/Stack/StackItem.d.ts +1 -1
  358. package/dist/Stack/StackItem.js +1 -1
  359. package/dist/StatusDot/StatusDot.d.ts +1 -20
  360. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  361. package/dist/StatusDot/StatusDot.js +2 -17
  362. package/dist/StatusDot/index.d.ts +21 -1
  363. package/dist/StatusDot/index.d.ts.map +1 -1
  364. package/dist/StatusDot/index.js +14 -0
  365. package/dist/Switch/Switch.d.ts +9 -2
  366. package/dist/Switch/Switch.d.ts.map +1 -1
  367. package/dist/Switch/Switch.js +172 -92
  368. package/dist/TabList/Tab.d.ts +1 -1
  369. package/dist/TabList/Tab.js +3 -3
  370. package/dist/TabList/TabList.d.ts +3 -12
  371. package/dist/TabList/TabList.d.ts.map +1 -1
  372. package/dist/TabList/TabList.js +6 -10
  373. package/dist/TabList/TabListContext.d.ts +0 -5
  374. package/dist/TabList/TabListContext.d.ts.map +1 -1
  375. package/dist/TabList/TabListContext.js +0 -5
  376. package/dist/TabList/TabMenu.d.ts +1 -1
  377. package/dist/TabList/TabMenu.js +2 -2
  378. package/dist/Table/BaseTable.d.ts +1 -1
  379. package/dist/Table/BaseTable.d.ts.map +1 -1
  380. package/dist/Table/BaseTable.js +31 -5
  381. package/dist/Table/Table.d.ts +1 -1
  382. package/dist/Table/Table.js +1 -1
  383. package/dist/Table/TableCell.d.ts +1 -1
  384. package/dist/Table/TableCell.js +4 -4
  385. package/dist/Table/TableHeaderCell.d.ts +1 -1
  386. package/dist/Table/TableHeaderCell.js +4 -4
  387. package/dist/Table/TableRow.d.ts +1 -1
  388. package/dist/Table/TableRow.js +1 -1
  389. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
  390. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +15 -11
  391. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  392. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  393. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +58 -30
  394. package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  395. package/dist/Table/plugins/selection/useTableSelection.js +3 -0
  396. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  397. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +15 -7
  398. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  399. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  400. package/dist/Table/plugins/tree/useTableTreeData.js +65 -25
  401. package/dist/Table/types.d.ts +32 -0
  402. package/dist/Table/types.d.ts.map +1 -1
  403. package/dist/Text/Text.d.ts +11 -2
  404. package/dist/Text/Text.d.ts.map +1 -1
  405. package/dist/Text/Text.js +26 -3
  406. package/dist/Text/index.d.ts +31 -1
  407. package/dist/Text/index.d.ts.map +1 -1
  408. package/dist/Text/index.js +23 -0
  409. package/dist/TextArea/TextArea.d.ts +11 -2
  410. package/dist/TextArea/TextArea.d.ts.map +1 -1
  411. package/dist/TextArea/TextArea.js +120 -53
  412. package/dist/TextInput/TextInput.d.ts +11 -3
  413. package/dist/TextInput/TextInput.d.ts.map +1 -1
  414. package/dist/TextInput/TextInput.js +21 -18
  415. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  416. package/dist/Thumbnail/Thumbnail.js +52 -46
  417. package/dist/TimeInput/TimeInput.d.ts +10 -2
  418. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  419. package/dist/TimeInput/TimeInput.js +18 -18
  420. package/dist/Timestamp/Timestamp.d.ts +31 -3
  421. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  422. package/dist/Timestamp/Timestamp.js +49 -78
  423. package/dist/Timestamp/formatInstant.d.ts +41 -0
  424. package/dist/Timestamp/formatInstant.d.ts.map +1 -0
  425. package/dist/Timestamp/formatInstant.js +177 -0
  426. package/dist/Timestamp/index.d.ts +1 -0
  427. package/dist/Timestamp/index.d.ts.map +1 -1
  428. package/dist/Timestamp/tooltipEntries.d.ts +56 -0
  429. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -0
  430. package/dist/Timestamp/tooltipEntries.js +163 -0
  431. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  432. package/dist/Toast/ToastViewport.js +61 -9
  433. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  434. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  435. package/dist/ToggleButton/ToggleButton.js +4 -2
  436. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  437. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  438. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  439. package/dist/Token/Token.d.ts +10 -5
  440. package/dist/Token/Token.d.ts.map +1 -1
  441. package/dist/Token/Token.js +72 -46
  442. package/dist/Token/TokenLink.d.ts +62 -0
  443. package/dist/Token/TokenLink.d.ts.map +1 -0
  444. package/dist/Token/TokenLink.js +76 -0
  445. package/dist/Token/index.d.ts +26 -0
  446. package/dist/Token/index.d.ts.map +1 -1
  447. package/dist/Token/index.js +14 -0
  448. package/dist/Tokenizer/Tokenizer.d.ts +10 -3
  449. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  450. package/dist/Tokenizer/Tokenizer.js +5 -3
  451. package/dist/Toolbar/Toolbar.d.ts +1 -1
  452. package/dist/Toolbar/Toolbar.js +1 -1
  453. package/dist/Tooltip/Tooltip.d.ts +1 -1
  454. package/dist/Tooltip/Tooltip.js +1 -1
  455. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  456. package/dist/Tooltip/useTooltip.js +17 -1
  457. package/dist/TopNav/TopNav.d.ts +1 -1
  458. package/dist/TopNav/TopNav.js +1 -1
  459. package/dist/TopNav/TopNavHeading.d.ts +1 -1
  460. package/dist/TopNav/TopNavHeading.js +1 -1
  461. package/dist/TopNav/TopNavItem.d.ts +4 -2
  462. package/dist/TopNav/TopNavItem.d.ts.map +1 -1
  463. package/dist/TopNav/TopNavItem.js +31 -4
  464. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  465. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  466. package/dist/TopNav/TopNavMegaMenu.js +10 -4
  467. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  468. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  469. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  470. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  471. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  472. package/dist/TopNav/TopNavMenu.js +1 -1
  473. package/dist/TreeList/TreeList.d.ts +1 -1
  474. package/dist/TreeList/TreeList.d.ts.map +1 -1
  475. package/dist/TreeList/TreeList.js +2 -1
  476. package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
  477. package/dist/TreeList/TreeListBranches.js +9 -7
  478. package/dist/TreeList/TreeListItem.d.ts +1 -1
  479. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  480. package/dist/TreeList/TreeListItem.js +33 -15
  481. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  482. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  483. package/dist/TreeList/index.d.ts +18 -1
  484. package/dist/TreeList/index.d.ts.map +1 -1
  485. package/dist/TreeList/index.js +14 -0
  486. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  487. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  488. package/dist/Typeahead/BaseTypeahead.js +23 -12
  489. package/dist/Typeahead/Typeahead.d.ts +10 -3
  490. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  491. package/dist/Typeahead/Typeahead.js +12 -3
  492. package/dist/Typeahead/TypeaheadItem.d.ts +2 -2
  493. package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
  494. package/dist/Typeahead/TypeaheadItem.js +21 -11
  495. package/dist/VStack/VStack.d.ts +1 -1
  496. package/dist/VStack/VStack.js +1 -1
  497. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  498. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  499. package/dist/astryx.css +150 -51
  500. package/dist/astryx.umd.js +51 -51
  501. package/dist/astryx.umd.js.map +4 -4
  502. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  503. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  504. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  505. package/dist/hooks/index.d.ts +4 -0
  506. package/dist/hooks/index.d.ts.map +1 -1
  507. package/dist/hooks/index.js +3 -1
  508. package/dist/hooks/isRtlElement.d.ts +18 -0
  509. package/dist/hooks/isRtlElement.d.ts.map +1 -0
  510. package/dist/hooks/isRtlElement.js +27 -0
  511. package/dist/hooks/useAnnounce.d.ts +3 -0
  512. package/dist/hooks/useAnnounce.d.ts.map +1 -1
  513. package/dist/hooks/useAnnounce.js +39 -1
  514. package/dist/hooks/useContainerReveal.d.ts +83 -0
  515. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  516. package/dist/hooks/useContainerReveal.js +123 -0
  517. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  518. package/dist/hooks/useFocusTrap.js +52 -11
  519. package/dist/hooks/useGridFocus.d.ts +6 -1
  520. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  521. package/dist/hooks/useGridFocus.js +12 -9
  522. package/dist/hooks/useHotkeys.d.ts +9 -0
  523. package/dist/hooks/useHotkeys.d.ts.map +1 -1
  524. package/dist/hooks/useHotkeys.js +9 -0
  525. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  526. package/dist/hooks/useInputContainer.js +29 -1
  527. package/dist/hooks/useInputStatusIcon.d.ts +38 -0
  528. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -0
  529. package/dist/hooks/useInputStatusIcon.js +169 -0
  530. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  531. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  532. package/dist/hooks/useKeyboardHint.js +5 -3
  533. package/dist/hooks/useListFocus.d.ts +39 -1
  534. package/dist/hooks/useListFocus.d.ts.map +1 -1
  535. package/dist/hooks/useListFocus.js +54 -9
  536. package/dist/i18n/InternationalizationContext.d.ts +1 -0
  537. package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
  538. package/dist/i18n/InternationalizationContext.js +3 -0
  539. package/dist/i18n/InternationalizationProvider.d.ts +8 -1
  540. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  541. package/dist/i18n/InternationalizationProvider.js +5 -1
  542. package/dist/i18n/getLocaleDirection.d.ts +18 -0
  543. package/dist/i18n/getLocaleDirection.d.ts.map +1 -0
  544. package/dist/i18n/getLocaleDirection.js +29 -0
  545. package/dist/i18n/index.d.ts +6 -0
  546. package/dist/i18n/index.d.ts.map +1 -1
  547. package/dist/i18n/index.js +7 -1
  548. package/dist/i18n/useDirection.d.ts +2 -0
  549. package/dist/i18n/useDirection.d.ts.map +1 -0
  550. package/dist/i18n/useDirection.js +27 -0
  551. package/dist/index.d.ts +2 -1
  552. package/dist/index.d.ts.map +1 -1
  553. package/dist/index.js +5 -1
  554. package/dist/theme/defineTheme.d.ts +6 -0
  555. package/dist/theme/defineTheme.d.ts.map +1 -1
  556. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  557. package/dist/theme/derivedVarRegistry.js +13 -0
  558. package/dist/theme/expandColorScale.d.ts +19 -2
  559. package/dist/theme/expandColorScale.d.ts.map +1 -1
  560. package/dist/theme/expandColorScale.js +38 -10
  561. package/dist/theme/index.d.ts +4 -3
  562. package/dist/theme/index.d.ts.map +1 -1
  563. package/dist/theme/types.d.ts +10 -2
  564. package/dist/theme/types.d.ts.map +1 -1
  565. package/dist/utils/index.d.ts +1 -0
  566. package/dist/utils/index.d.ts.map +1 -1
  567. package/dist/utils/index.js +2 -1
  568. package/dist/utils/plainDate.d.ts +17 -0
  569. package/dist/utils/plainDate.d.ts.map +1 -1
  570. package/dist/utils/plainDate.js +23 -4
  571. package/dist/utils/rtlStyles.d.ts +45 -0
  572. package/dist/utils/rtlStyles.d.ts.map +1 -0
  573. package/dist/utils/rtlStyles.js +52 -0
  574. package/groups.doc.mjs +2 -2
  575. package/locales/en.json +120 -0
  576. package/locales/pseudo.json +90 -0
  577. package/package.json +9 -13
  578. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  579. package/src/AlertDialog/AlertDialog.tsx +1 -1
  580. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  581. package/src/AppShell/AppShell.doc.mjs +3 -3
  582. package/src/AppShell/AppShell.tsx +2 -20
  583. package/src/AppShell/index.ts +20 -1
  584. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  585. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  586. package/src/AspectRatio/AspectRatio.tsx +1 -1
  587. package/src/Avatar/Avatar.doc.mjs +53 -6
  588. package/src/Avatar/Avatar.test.tsx +218 -0
  589. package/src/Avatar/Avatar.tsx +293 -82
  590. package/src/Avatar/AvatarStatusDot.doc.mjs +5 -5
  591. package/src/Avatar/AvatarStatusDot.tsx +8 -31
  592. package/src/Avatar/index.ts +26 -1
  593. package/src/AvatarGroup/AvatarGroup.doc.mjs +5 -3
  594. package/src/AvatarGroup/AvatarGroup.test.tsx +162 -2
  595. package/src/AvatarGroup/AvatarGroup.tsx +59 -4
  596. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  597. package/src/AvatarGroup/AvatarGroupOverflow.tsx +6 -3
  598. package/src/Badge/Badge.doc.mjs +3 -3
  599. package/src/Badge/Badge.tsx +2 -31
  600. package/src/Badge/index.ts +32 -6
  601. package/src/Banner/Banner.doc.mjs +3 -3
  602. package/src/Banner/Banner.tsx +14 -51
  603. package/src/Banner/index.ts +39 -7
  604. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  605. package/src/Blockquote/Blockquote.tsx +1 -1
  606. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  607. package/src/Breadcrumbs/BreadcrumbItem.tsx +11 -11
  608. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  609. package/src/Breadcrumbs/Breadcrumbs.test.tsx +52 -1
  610. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  611. package/src/Breadcrumbs/index.ts +23 -5
  612. package/src/Button/Button.doc.mjs +3 -7
  613. package/src/Button/Button.test.tsx +16 -0
  614. package/src/Button/Button.tsx +8 -25
  615. package/src/Button/index.ts +22 -7
  616. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  617. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  618. package/src/Calendar/Calendar.doc.mjs +3 -3
  619. package/src/Calendar/Calendar.test.tsx +185 -23
  620. package/src/Calendar/Calendar.tsx +74 -17
  621. package/src/Calendar/dayCellUtils.test.ts +18 -18
  622. package/src/Calendar/dayCellUtils.ts +2 -2
  623. package/src/Calendar/styles.ts +35 -41
  624. package/src/Card/Card.doc.mjs +3 -3
  625. package/src/Card/Card.tsx +2 -2
  626. package/src/Carousel/Carousel.doc.mjs +3 -3
  627. package/src/Carousel/Carousel.tsx +26 -7
  628. package/src/Center/Center.doc.mjs +41 -3
  629. package/src/Center/Center.test.tsx +75 -0
  630. package/src/Center/Center.tsx +38 -3
  631. package/src/Chat/Chat.doc.mjs +3 -3
  632. package/src/Chat/ChatComposer.doc.mjs +3 -3
  633. package/src/Chat/ChatComposer.tsx +5 -5
  634. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  635. package/src/Chat/ChatComposerDrawer.tsx +3 -3
  636. package/src/Chat/ChatComposerInput.doc.mjs +2 -2
  637. package/src/Chat/ChatComposerInput.tsx +3 -3
  638. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  639. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  640. package/src/Chat/ChatDictationButton.tsx +8 -2
  641. package/src/Chat/ChatLayout.doc.mjs +1 -1
  642. package/src/Chat/ChatLayout.test.tsx +57 -0
  643. package/src/Chat/ChatLayout.tsx +27 -6
  644. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  645. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  646. package/src/Chat/ChatMessage.doc.mjs +1 -1
  647. package/src/Chat/ChatMessage.tsx +1 -1
  648. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  649. package/src/Chat/ChatMessageBubble.tsx +16 -11
  650. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  651. package/src/Chat/ChatMessageList.tsx +1 -1
  652. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  653. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  654. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  655. package/src/Chat/ChatSystemMessage.test.tsx +5 -0
  656. package/src/Chat/ChatSystemMessage.tsx +1 -1
  657. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  658. package/src/Chat/ChatTokenizedText.tsx +1 -1
  659. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  660. package/src/Chat/ChatToolCalls.tsx +9 -2
  661. package/src/Chat/useTriggerMenu.tsx +1 -1
  662. package/src/CheckboxInput/CheckboxInput.doc.mjs +9 -3
  663. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  664. package/src/CheckboxInput/CheckboxInput.tsx +22 -7
  665. package/src/CheckboxList/CheckboxList.doc.mjs +9 -3
  666. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  667. package/src/CheckboxList/CheckboxList.tsx +1 -1
  668. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  669. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  670. package/src/Citation/Citation.doc.mjs +6 -5
  671. package/src/Citation/Citation.test.tsx +97 -0
  672. package/src/Citation/Citation.tsx +44 -12
  673. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  674. package/src/ClickableCard/ClickableCard.tsx +3 -3
  675. package/src/Code/Code.tsx +2 -2
  676. package/src/CodeBlock/Code.doc.mjs +1 -1
  677. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  678. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  679. package/src/CodeBlock/CodeBlock.tsx +38 -11
  680. package/src/Collapsible/Collapsible.doc.mjs +4 -3
  681. package/src/Collapsible/Collapsible.test.tsx +7 -0
  682. package/src/Collapsible/Collapsible.tsx +17 -7
  683. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  684. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  685. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  686. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  687. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  688. package/src/CommandPalette/CommandPalette.test.tsx +95 -1
  689. package/src/CommandPalette/CommandPalette.tsx +42 -3
  690. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  691. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  692. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  693. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  694. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  695. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  696. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  697. package/src/CommandPalette/CommandPaletteInput.tsx +1 -1
  698. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  699. package/src/CommandPalette/CommandPaletteItem.tsx +2 -2
  700. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  701. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  702. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  703. package/src/ContextMenu/ContextMenu.test.tsx +59 -2
  704. package/src/ContextMenu/ContextMenu.tsx +23 -12
  705. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  706. package/src/ContextMenu/index.ts +5 -0
  707. package/src/DateInput/DateInput.doc.mjs +28 -3
  708. package/src/DateInput/DateInput.test.tsx +230 -0
  709. package/src/DateInput/DateInput.tsx +52 -30
  710. package/src/DateRangeInput/DateRangeInput.doc.mjs +18 -2
  711. package/src/DateRangeInput/DateRangeInput.test.tsx +140 -0
  712. package/src/DateRangeInput/DateRangeInput.tsx +43 -31
  713. package/src/DateTimeInput/DateTimeInput.doc.mjs +25 -4
  714. package/src/DateTimeInput/DateTimeInput.test.tsx +112 -0
  715. package/src/DateTimeInput/DateTimeInput.tsx +45 -40
  716. package/src/Dialog/Dialog.doc.mjs +9 -5
  717. package/src/Dialog/Dialog.test.tsx +84 -1
  718. package/src/Dialog/Dialog.tsx +87 -45
  719. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  720. package/src/Dialog/DialogHeader.tsx +1 -1
  721. package/src/Dialog/index.ts +18 -1
  722. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  723. package/src/Divider/Divider.doc.mjs +3 -3
  724. package/src/Divider/Divider.test.tsx +32 -8
  725. package/src/Divider/Divider.tsx +16 -20
  726. package/src/Divider/index.ts +19 -5
  727. package/src/DropdownMenu/DropdownMenu.doc.mjs +8 -5
  728. package/src/DropdownMenu/DropdownMenu.test.tsx +95 -0
  729. package/src/DropdownMenu/DropdownMenu.tsx +32 -13
  730. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  731. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +49 -66
  732. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  733. package/src/DropdownMenu/DropdownMenuItem.tsx +10 -4
  734. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  735. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  736. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  737. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +19 -4
  738. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  739. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +88 -0
  740. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +680 -0
  741. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +569 -0
  742. package/src/DropdownMenu/index.ts +16 -0
  743. package/src/DropdownMenu/menuItemHover.ts +40 -0
  744. package/src/DropdownMenu/menuItemRoles.ts +9 -0
  745. package/src/DropdownMenu/renderDropdownItems.tsx +40 -14
  746. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  747. package/src/EmptyState/EmptyState.tsx +1 -1
  748. package/src/Field/Field.doc.mjs +7 -3
  749. package/src/Field/Field.tsx +15 -10
  750. package/src/Field/FieldLabel.doc.mjs +1 -1
  751. package/src/Field/FieldLabel.test.tsx +103 -0
  752. package/src/Field/FieldLabel.tsx +62 -6
  753. package/src/Field/inputStyles.stylex.ts +2 -0
  754. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  755. package/src/FieldStatus/FieldStatus.test.tsx +133 -0
  756. package/src/FieldStatus/FieldStatus.tsx +62 -23
  757. package/src/FieldStatus/index.ts +20 -5
  758. package/src/FileInput/FileInput.doc.mjs +26 -5
  759. package/src/FileInput/FileInput.test.tsx +104 -13
  760. package/src/FileInput/FileInput.tsx +107 -80
  761. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  762. package/src/FormLayout/FormLayout.tsx +2 -5
  763. package/src/Grid/Grid.doc.mjs +3 -3
  764. package/src/Grid/Grid.tsx +1 -1
  765. package/src/Grid/GridSpan.doc.mjs +1 -1
  766. package/src/Grid/GridSpan.tsx +1 -1
  767. package/src/HStack/HStack.tsx +1 -1
  768. package/src/Heading/Heading.tsx +4 -3
  769. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  770. package/src/HoverCard/HoverCard.tsx +1 -1
  771. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  772. package/src/HoverCard/useHoverCard.tsx +15 -3
  773. package/src/Icon/Icon.doc.mjs +16 -3
  774. package/src/Icon/Icon.test.tsx +89 -0
  775. package/src/Icon/Icon.tsx +52 -4
  776. package/src/Icon/globalIconRegistry.tsx +1 -1
  777. package/src/IconButton/IconButton.doc.mjs +2 -2
  778. package/src/IconButton/IconButton.tsx +1 -1
  779. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  780. package/src/InputGroup/InputGroup.tsx +1 -1
  781. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  782. package/src/InputGroup/InputGroupText.tsx +1 -1
  783. package/src/Item/Item.doc.mjs +8 -3
  784. package/src/Item/Item.test.tsx +88 -0
  785. package/src/Item/Item.tsx +58 -12
  786. package/src/Kbd/Kbd.doc.mjs +3 -3
  787. package/src/Kbd/Kbd.tsx +1 -1
  788. package/src/Layer/Layer.doc.mjs +2 -2
  789. package/src/Layer/layerAnimations.stylex.ts +23 -0
  790. package/src/Layer/useLayer.doc.mjs +2 -2
  791. package/src/Layout/Layout.doc.mjs +3 -3
  792. package/src/Layout/Layout.tsx +1 -1
  793. package/src/Layout/LayoutContent.doc.mjs +1 -1
  794. package/src/Layout/LayoutContent.tsx +1 -1
  795. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  796. package/src/Layout/LayoutFooter.tsx +1 -1
  797. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  798. package/src/Layout/LayoutHeader.tsx +1 -1
  799. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  800. package/src/Layout/LayoutPanel.tsx +1 -1
  801. package/src/Lightbox/Lightbox.doc.mjs +3 -3
  802. package/src/Lightbox/Lightbox.test.tsx +33 -0
  803. package/src/Lightbox/Lightbox.tsx +31 -11
  804. package/src/Link/Link.doc.mjs +3 -3
  805. package/src/Link/Link.tsx +1 -1
  806. package/src/Link/LinkProvider.doc.mjs +2 -2
  807. package/src/Link/LinkProvider.tsx +2 -2
  808. package/src/List/List.doc.mjs +3 -3
  809. package/src/List/List.test.tsx +17 -29
  810. package/src/List/List.tsx +7 -2
  811. package/src/List/ListItem.doc.mjs +13 -1
  812. package/src/List/ListItem.tsx +14 -1
  813. package/src/Markdown/Markdown.doc.mjs +1 -1
  814. package/src/Markdown/Markdown.test.tsx +21 -0
  815. package/src/Markdown/Markdown.tsx +7 -3
  816. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  817. package/src/MetadataList/MetadataList.test.tsx +24 -0
  818. package/src/MetadataList/MetadataList.tsx +7 -3
  819. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  820. package/src/MetadataList/MetadataListItem.tsx +1 -1
  821. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  822. package/src/MobileNav/MobileNav.tsx +1 -1
  823. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  824. package/src/MoreMenu/MoreMenu.tsx +1 -1
  825. package/src/MultiSelector/MultiSelector.doc.mjs +23 -3
  826. package/src/MultiSelector/MultiSelector.test.tsx +436 -0
  827. package/src/MultiSelector/MultiSelector.tsx +134 -68
  828. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  829. package/src/NavIcon/NavIcon.tsx +1 -1
  830. package/src/NavMenu/NavHeadingMenuItem.tsx +1 -1
  831. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  832. package/src/NumberInput/NumberInput.doc.mjs +24 -3
  833. package/src/NumberInput/NumberInput.test.tsx +71 -0
  834. package/src/NumberInput/NumberInput.tsx +36 -27
  835. package/src/Outline/Outline.doc.mjs +3 -3
  836. package/src/Outline/Outline.test.tsx +12 -12
  837. package/src/Outline/Outline.tsx +3 -3
  838. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  839. package/src/OverflowList/OverflowList.tsx +1 -1
  840. package/src/Overlay/Overlay.doc.mjs +2 -2
  841. package/src/Pagination/Pagination.doc.mjs +3 -3
  842. package/src/Pagination/Pagination.tsx +13 -25
  843. package/src/Pagination/index.ts +21 -1
  844. package/src/Popover/Popover.doc.mjs +3 -3
  845. package/src/Popover/Popover.tsx +1 -1
  846. package/src/Popover/usePopover.doc.mjs +2 -2
  847. package/src/Popover/usePopover.tsx +10 -4
  848. package/src/PowerSearch/PowerSearch.doc.mjs +18 -3
  849. package/src/PowerSearch/PowerSearch.test.tsx +23 -0
  850. package/src/PowerSearch/PowerSearch.tsx +11 -2
  851. package/src/ProgressBar/ProgressBar.doc.mjs +3 -3
  852. package/src/ProgressBar/ProgressBar.test.tsx +34 -0
  853. package/src/ProgressBar/ProgressBar.tsx +18 -23
  854. package/src/ProgressBar/index.ts +22 -5
  855. package/src/RadioList/RadioList.doc.mjs +9 -3
  856. package/src/RadioList/RadioList.test.tsx +26 -4
  857. package/src/RadioList/RadioList.tsx +3 -3
  858. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  859. package/src/RadioList/RadioListItem.tsx +13 -6
  860. package/src/Resizable/Resizable.doc.mjs +2 -2
  861. package/src/Resizable/ResizeHandle.test.tsx +95 -0
  862. package/src/Resizable/ResizeHandle.tsx +71 -25
  863. package/src/Resizable/useResizable.doc.mjs +2 -2
  864. package/src/Section/Section.doc.mjs +3 -3
  865. package/src/Section/Section.tsx +2 -20
  866. package/src/Section/index.ts +20 -5
  867. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  868. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  869. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  870. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  871. package/src/SegmentedControl/SegmentedControlItem.tsx +23 -3
  872. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  873. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  874. package/src/SelectableCard/SelectableCard.tsx +19 -3
  875. package/src/Selector/Selector.doc.mjs +18 -3
  876. package/src/Selector/Selector.test.tsx +400 -0
  877. package/src/Selector/Selector.tsx +96 -24
  878. package/src/Selector/SelectorOption.doc.mjs +1 -1
  879. package/src/SideNav/SideNav.doc.mjs +3 -3
  880. package/src/SideNav/SideNav.tsx +2 -9
  881. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  882. package/src/SideNav/SideNavCollapseButton.tsx +10 -8
  883. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  884. package/src/SideNav/SideNavHeading.tsx +1 -1
  885. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  886. package/src/SideNav/SideNavItem.tsx +6 -4
  887. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  888. package/src/SideNav/SideNavSection.tsx +1 -1
  889. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  890. package/src/Skeleton/Skeleton.test.tsx +16 -0
  891. package/src/Skeleton/Skeleton.tsx +14 -2
  892. package/src/Slider/Slider.doc.mjs +9 -3
  893. package/src/Slider/Slider.test.tsx +240 -12
  894. package/src/Slider/Slider.tsx +102 -33
  895. package/src/Spinner/Spinner.doc.mjs +3 -3
  896. package/src/Spinner/Spinner.test.tsx +10 -8
  897. package/src/Spinner/Spinner.tsx +16 -6
  898. package/src/Stack/Stack.doc.mjs +3 -3
  899. package/src/Stack/Stack.tsx +1 -1
  900. package/src/Stack/StackItem.tsx +1 -1
  901. package/src/StatusDot/StatusDot.doc.mjs +3 -3
  902. package/src/StatusDot/StatusDot.tsx +2 -22
  903. package/src/StatusDot/index.ts +22 -5
  904. package/src/Switch/Switch.doc.mjs +145 -45
  905. package/src/Switch/Switch.test.tsx +145 -0
  906. package/src/Switch/Switch.tsx +150 -33
  907. package/src/TabList/Tab.doc.mjs +1 -1
  908. package/src/TabList/Tab.tsx +3 -3
  909. package/src/TabList/TabList.doc.mjs +3 -9
  910. package/src/TabList/TabList.test.tsx +3 -15
  911. package/src/TabList/TabList.tsx +7 -18
  912. package/src/TabList/TabListContext.ts +0 -6
  913. package/src/TabList/TabMenu.doc.mjs +1 -1
  914. package/src/TabList/TabMenu.tsx +3 -3
  915. package/src/Table/BaseTable.tsx +35 -3
  916. package/src/Table/Table.doc.mjs +14 -3
  917. package/src/Table/Table.test.tsx +85 -0
  918. package/src/Table/Table.tsx +1 -1
  919. package/src/Table/TableCell.doc.mjs +1 -1
  920. package/src/Table/TableCell.tsx +4 -4
  921. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  922. package/src/Table/TableHeaderCell.tsx +4 -4
  923. package/src/Table/TableRow.doc.mjs +1 -1
  924. package/src/Table/TableRow.tsx +1 -1
  925. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +9 -6
  926. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  927. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +48 -21
  928. package/src/Table/plugins/selection/useTableSelection.test.tsx +61 -3
  929. package/src/Table/plugins/selection/useTableSelection.tsx +3 -0
  930. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +38 -9
  931. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  932. package/src/Table/plugins/tree/useTableTreeData.tsx +71 -14
  933. package/src/Table/types.ts +33 -0
  934. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  935. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  936. package/src/Table/useTableFilterState.doc.mjs +1 -1
  937. package/src/Table/useTableFiltering.doc.mjs +1 -1
  938. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  939. package/src/Table/useTablePagination.doc.mjs +1 -1
  940. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  941. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  942. package/src/Table/useTableRowStatus.doc.mjs +3 -3
  943. package/src/Table/useTableSelection.doc.mjs +1 -1
  944. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  945. package/src/Table/useTableSortable.doc.mjs +1 -1
  946. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  947. package/src/Table/useTableTreeData.doc.mjs +10 -1
  948. package/src/Table/useTableTreeState.doc.mjs +1 -1
  949. package/src/Text/Heading.doc.mjs +4 -4
  950. package/src/Text/Text.doc.mjs +4 -4
  951. package/src/Text/Text.test.tsx +42 -0
  952. package/src/Text/Text.tsx +26 -2
  953. package/src/Text/index.ts +32 -6
  954. package/src/TextArea/TextArea.doc.mjs +26 -5
  955. package/src/TextArea/TextArea.test.tsx +132 -4
  956. package/src/TextArea/TextArea.tsx +162 -68
  957. package/src/TextInput/TextInput.doc.mjs +24 -3
  958. package/src/TextInput/TextInput.test.tsx +150 -0
  959. package/src/TextInput/TextInput.tsx +29 -26
  960. package/src/Thumbnail/Thumbnail.doc.mjs +3 -3
  961. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  962. package/src/Thumbnail/Thumbnail.tsx +29 -36
  963. package/src/TimeInput/TimeInput.doc.mjs +24 -3
  964. package/src/TimeInput/TimeInput.test.tsx +23 -0
  965. package/src/TimeInput/TimeInput.tsx +25 -26
  966. package/src/Timestamp/Timestamp.doc.mjs +35 -9
  967. package/src/Timestamp/Timestamp.test.tsx +371 -0
  968. package/src/Timestamp/Timestamp.tsx +97 -94
  969. package/src/Timestamp/formatInstant.ts +218 -0
  970. package/src/Timestamp/index.ts +4 -0
  971. package/src/Timestamp/tooltipEntries.test.ts +552 -0
  972. package/src/Timestamp/tooltipEntries.ts +210 -0
  973. package/src/Toast/Toast.doc.mjs +3 -3
  974. package/src/Toast/ToastViewport.test.tsx +218 -8
  975. package/src/Toast/ToastViewport.tsx +71 -12
  976. package/src/Toast/useToast.doc.mjs +2 -2
  977. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  978. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  979. package/src/ToggleButton/ToggleButton.tsx +20 -2
  980. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  981. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  982. package/src/Token/Token.doc.mjs +3 -3
  983. package/src/Token/Token.test.tsx +166 -15
  984. package/src/Token/Token.tsx +79 -48
  985. package/src/Token/TokenLink.tsx +107 -0
  986. package/src/Token/index.ts +27 -0
  987. package/src/Tokenizer/Tokenizer.doc.mjs +26 -4
  988. package/src/Tokenizer/Tokenizer.test.tsx +23 -0
  989. package/src/Tokenizer/Tokenizer.tsx +15 -3
  990. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  991. package/src/Toolbar/Toolbar.tsx +1 -1
  992. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  993. package/src/Tooltip/Tooltip.test.tsx +46 -0
  994. package/src/Tooltip/Tooltip.tsx +1 -1
  995. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  996. package/src/Tooltip/useTooltip.tsx +20 -0
  997. package/src/TopNav/TopNav.doc.mjs +3 -3
  998. package/src/TopNav/TopNav.test.tsx +93 -2
  999. package/src/TopNav/TopNav.tsx +1 -1
  1000. package/src/TopNav/TopNavHeading.doc.mjs +1 -1
  1001. package/src/TopNav/TopNavHeading.tsx +1 -1
  1002. package/src/TopNav/TopNavItem.doc.mjs +4 -4
  1003. package/src/TopNav/TopNavItem.tsx +36 -7
  1004. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  1005. package/src/TopNav/TopNavMegaMenu.tsx +27 -3
  1006. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +2 -2
  1007. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  1008. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  1009. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  1010. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  1011. package/src/TopNav/TopNavMenu.tsx +1 -1
  1012. package/src/TreeList/TreeList.doc.mjs +9 -3
  1013. package/src/TreeList/TreeList.test.tsx +50 -10
  1014. package/src/TreeList/TreeList.tsx +6 -1
  1015. package/src/TreeList/TreeListBranches.tsx +9 -7
  1016. package/src/TreeList/TreeListItem.tsx +34 -12
  1017. package/src/TreeList/TreeListTypes.ts +1 -18
  1018. package/src/TreeList/index.ts +19 -1
  1019. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  1020. package/src/Typeahead/BaseTypeahead.tsx +43 -16
  1021. package/src/Typeahead/Typeahead.doc.mjs +16 -3
  1022. package/src/Typeahead/Typeahead.test.tsx +112 -0
  1023. package/src/Typeahead/Typeahead.tsx +18 -2
  1024. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  1025. package/src/Typeahead/TypeaheadItem.tsx +3 -2
  1026. package/src/VStack/VStack.tsx +1 -1
  1027. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  1028. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  1029. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  1030. package/src/__tests__/forcedColors.ts +60 -0
  1031. package/src/__tests__/inputWidthContract.test.tsx +69 -0
  1032. package/src/doc-mjs.d.ts +22 -0
  1033. package/src/docPropLiterals.test.ts +1 -1
  1034. package/src/docPropReferences.test.ts +1 -1
  1035. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  1036. package/src/hooks/index.ts +13 -0
  1037. package/src/hooks/isRtlElement.ts +27 -0
  1038. package/src/hooks/useAnnounce.test.tsx +75 -2
  1039. package/src/hooks/useAnnounce.ts +47 -1
  1040. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  1041. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  1042. package/src/hooks/useContainerReveal.test.tsx +116 -0
  1043. package/src/hooks/useContainerReveal.ts +181 -0
  1044. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  1045. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  1046. package/src/hooks/useFocusTrap.test.tsx +104 -0
  1047. package/src/hooks/useFocusTrap.ts +61 -12
  1048. package/src/hooks/useGridFocus.doc.mjs +5 -5
  1049. package/src/hooks/useGridFocus.test.tsx +41 -0
  1050. package/src/hooks/useGridFocus.ts +21 -10
  1051. package/src/hooks/useHotkeys.doc.mjs +2 -2
  1052. package/src/hooks/useHotkeys.ts +9 -0
  1053. package/src/hooks/useImageMode.doc.mjs +2 -2
  1054. package/src/hooks/useInputContainer.doc.mjs +2 -2
  1055. package/src/hooks/useInputContainer.test.tsx +180 -0
  1056. package/src/hooks/useInputContainer.ts +36 -1
  1057. package/src/hooks/useInputStatusIcon.test.tsx +221 -0
  1058. package/src/hooks/useInputStatusIcon.tsx +235 -0
  1059. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  1060. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  1061. package/src/hooks/useKeyboardHint.tsx +7 -3
  1062. package/src/hooks/useListFocus.doc.mjs +27 -5
  1063. package/src/hooks/useListFocus.test.tsx +153 -1
  1064. package/src/hooks/useListFocus.ts +102 -9
  1065. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  1066. package/src/hooks/useOverflow.doc.mjs +2 -2
  1067. package/src/hooks/useScrollLock.doc.mjs +2 -2
  1068. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  1069. package/src/hooks/useStreamingText.doc.mjs +2 -2
  1070. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  1071. package/src/i18n/InternationalizationContext.ts +4 -0
  1072. package/src/i18n/InternationalizationProvider.doc.mjs +2 -2
  1073. package/src/i18n/InternationalizationProvider.tsx +12 -2
  1074. package/src/i18n/__tests__/getLocaleDirection.test.ts +40 -0
  1075. package/src/i18n/__tests__/useDirection.test.tsx +66 -0
  1076. package/src/i18n/getLocaleDirection.ts +29 -0
  1077. package/src/i18n/index.ts +6 -0
  1078. package/src/i18n/useDirection.ts +29 -0
  1079. package/src/i18n/useTranslator.doc.mjs +2 -2
  1080. package/src/index.ts +14 -10
  1081. package/src/reset.css +0 -26
  1082. package/src/reset.test.ts +60 -0
  1083. package/src/theme/MediaTheme.doc.mjs +2 -2
  1084. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  1085. package/src/theme/Theme.doc.mjs +2 -2
  1086. package/src/theme/defineTheme.ts +6 -0
  1087. package/src/theme/derivedVarRegistry.test.ts +1 -0
  1088. package/src/theme/derivedVarRegistry.ts +6 -0
  1089. package/src/theme/expandColorScale.test.ts +144 -0
  1090. package/src/theme/expandColorScale.ts +53 -15
  1091. package/src/theme/generateThemeRules.test.ts +42 -0
  1092. package/src/theme/index.ts +4 -8
  1093. package/src/theme/types.ts +14 -13
  1094. package/src/theme/useTheme.doc.mjs +2 -2
  1095. package/src/utils/index.ts +2 -0
  1096. package/src/utils/plainDate.test.ts +24 -6
  1097. package/src/utils/plainDate.ts +18 -4
  1098. package/src/utils/rtlStyles.ts +49 -0
  1099. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  1100. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  1101. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  1102. package/dist/authoring/doc.d.ts +0 -145
  1103. package/dist/authoring/doc.d.ts.map +0 -1
  1104. package/dist/authoring/doc.js +0 -100
  1105. package/dist/authoring/index.d.ts +0 -29
  1106. package/dist/authoring/index.d.ts.map +0 -1
  1107. package/dist/authoring/index.js +0 -28
  1108. package/dist/authoring/integration.d.ts +0 -35
  1109. package/dist/authoring/integration.d.ts.map +0 -1
  1110. package/dist/authoring/integration.js +0 -30
  1111. package/dist/authoring/template.d.ts +0 -66
  1112. package/dist/authoring/template.d.ts.map +0 -1
  1113. package/dist/authoring/template.js +0 -55
  1114. package/dist/config.d.ts +0 -80
  1115. package/dist/config.d.ts.map +0 -1
  1116. package/dist/config.js +0 -40
  1117. package/dist/docs-types.d.ts +0 -969
  1118. package/dist/docs-types.d.ts.map +0 -1
  1119. package/dist/docs-types.js +0 -1
  1120. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  1121. package/src/authoring/doc.ts +0 -164
  1122. package/src/authoring/index.test.ts +0 -52
  1123. package/src/authoring/index.ts +0 -50
  1124. package/src/authoring/integration.ts +0 -42
  1125. package/src/authoring/template.ts +0 -74
  1126. package/src/config.test.ts +0 -16
  1127. package/src/config.ts +0 -92
  1128. package/src/docs-types.ts +0 -1108
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/Switch/Switch.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/Switch/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/Switch.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/Switch/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/Switch/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import {
@@ -47,17 +47,86 @@ import type {SizeValue} from '../utils/types';
47
47
  import {themeProps} from '../utils/themeProps';
48
48
  import {VisuallyHidden} from '../VisuallyHidden';
49
49
 
50
- // Fixed dimensions: 40px width, 24px height, 16px thumb (off), 20px thumb (on)
51
- const SWITCH_WIDTH = 40;
52
- const SWITCH_HEIGHT = 24;
53
- const THUMB_SIZE_OFF = 16;
54
- const THUMB_SIZE_ON = 20;
55
- const TRACK_PADDING = 4;
56
- // Padding between thumb right edge and track inner edge when on
57
- const ON_RIGHT_PADDING = 2;
58
- // Travel distance for on state: positions thumb with ON_RIGHT_PADDING from right edge
59
- const THUMB_TRAVEL_ON =
60
- SWITCH_WIDTH - TRACK_PADDING - THUMB_SIZE_ON - ON_RIGHT_PADDING;
50
+ const wrapperSizeStyles = stylex.create({
51
+ sm: {
52
+ width: 32,
53
+ height: 20,
54
+ },
55
+ md: {
56
+ width: 40,
57
+ height: 24,
58
+ },
59
+ });
60
+
61
+ const inputSizeStyles = stylex.create({
62
+ sm: {
63
+ width: 32,
64
+ height: 20,
65
+ },
66
+ md: {
67
+ width: 40,
68
+ height: 24,
69
+ },
70
+ });
71
+
72
+ const trackSizeStyles = stylex.create({
73
+ sm: {
74
+ width: 32,
75
+ height: 20,
76
+ padding: 2,
77
+ },
78
+ md: {
79
+ width: 40,
80
+ height: 24,
81
+ padding: 4,
82
+ },
83
+ });
84
+
85
+ const thumbOffSizeStyles = stylex.create({
86
+ sm: {
87
+ width: 14,
88
+ height: 14,
89
+ transform: 'translateX(0)',
90
+ },
91
+ md: {
92
+ width: 16,
93
+ height: 16,
94
+ transform: 'translateX(0)',
95
+ },
96
+ });
97
+
98
+ const thumbOnSizeStyles = stylex.create({
99
+ sm: {
100
+ width: 16,
101
+ height: 16,
102
+ // The thumb rests at the inline-start edge (flex-start, which flexbox
103
+ // already mirrors under RTL). The on-state travel toward the inline-end
104
+ // edge is a physical translateX, so it must flip sign under RTL — right
105
+ // in LTR, left in RTL — so the switch mirrors per convention (Material,
106
+ // iOS): off-thumb on the reading-start side, on-thumb on the reading-end.
107
+ transform: {
108
+ default: 'translateX(12px)',
109
+ ':is([dir="rtl"] *)': 'translateX(-12px)',
110
+ },
111
+ },
112
+ md: {
113
+ width: 20,
114
+ height: 20,
115
+ transform: {
116
+ default: 'translateX(14px)',
117
+ ':is([dir="rtl"] *)': 'translateX(-14px)',
118
+ },
119
+ },
120
+ });
121
+
122
+ const labelWrapperSizeStyles = stylex.create({
123
+ sm: {
124
+ minHeight: 20,
125
+ },
126
+ md: {
127
+ minHeight: 24,
128
+ },
129
+ });
61
130
 
62
131
  const styles = stylex.create({
63
132
  container: {
@@ -77,8 +146,6 @@ const styles = stylex.create({
77
146
  display: 'flex',
78
147
  alignItems: 'center',
79
148
  flexShrink: 0,
80
- width: SWITCH_WIDTH,
81
- height: SWITCH_HEIGHT,
82
149
  isolation: 'isolate',
83
150
  },
84
151
  input: {
@@ -88,8 +155,6 @@ const styles = stylex.create({
88
155
  opacity: 0,
89
156
  cursor: 'pointer',
90
157
  zIndex: 1,
91
- width: SWITCH_WIDTH,
92
- height: SWITCH_HEIGHT,
93
158
  },
94
159
  inputDisabled: {
95
160
  cursor: 'not-allowed',
@@ -100,9 +165,6 @@ const styles = stylex.create({
100
165
  track: {
101
166
  display: 'flex',
102
167
  alignItems: 'center',
103
- width: SWITCH_WIDTH,
104
- height: SWITCH_HEIGHT,
105
- padding: TRACK_PADDING,
106
168
  borderRadius: radiusVars['--radius-full'],
107
169
  transitionProperty: 'background-color',
108
170
  transitionDuration: {
@@ -111,6 +173,21 @@ const styles = stylex.create({
111
173
  },
112
174
  transitionTimingFunction: easeVars['--ease-standard'],
113
175
  boxSizing: 'border-box',
176
+ // Forced colors (Windows High Contrast) strips painted backgrounds, which
177
+ // would leave the track invisible. A system-color border keeps the
178
+ // control's bounds perceivable (WCAG 1.4.11).
179
+ borderWidth: {
180
+ default: 0,
181
+ '@media (forced-colors: active)': '1px',
182
+ },
183
+ borderStyle: {
184
+ default: 'none',
185
+ '@media (forced-colors: active)': 'solid',
186
+ },
187
+ borderColor: {
188
+ default: null,
189
+ '@media (forced-colors: active)': 'CanvasText',
190
+ },
114
191
  },
115
192
  trackFocus: {
116
193
  outline: {
@@ -127,21 +204,39 @@ const styles = stylex.create({
127
204
  trackOff: {
128
205
  backgroundColor: {
129
206
  default: colorVars['--color-background-gray'],
207
+ // Off = empty (Canvas) track; on = Highlight track, so the two states
208
+ // stay distinguishable under forced colors.
209
+ '@media (forced-colors: active)': 'Canvas',
210
+ // The ancestor-hover tint is a non-system color-mix, and its rule
211
+ // outranks the plain forced-colors rule above. Left ungated it would
212
+ // reassert on hover under forced colors, where the UA flattens the
213
+ // color-mix back to Canvas — so the HighlightText thumb would sit on a
214
+ // white track (white-on-white). Gating on `forced-colors: none` keeps
215
+ // the tint out of forced colors and lets the system-color track stand.
130
216
  [stylex.when.ancestor(':hover', switchScope)]: {
131
- '@media (hover: hover)': `color-mix(in srgb, ${colorVars['--color-background-gray']}, ${colorVars['--color-tint-hover']} 5%)`,
217
+ '@media (hover: hover) and (forced-colors: none)': `color-mix(in srgb, ${colorVars['--color-background-gray']}, ${colorVars['--color-tint-hover']} 5%)`,
132
218
  },
133
219
  },
134
220
  },
135
221
  trackOn: {
136
222
  backgroundColor: {
137
223
  default: colorVars['--color-accent'],
224
+ '@media (forced-colors: active)': 'Highlight',
225
+ // See trackOff: gate the hover tint out of forced colors so it cannot
226
+ // flatten the Highlight track to white under the HighlightText thumb.
138
227
  [stylex.when.ancestor(':hover', switchScope)]: {
139
- '@media (hover: hover)': `color-mix(in srgb, ${colorVars['--color-accent']}, ${colorVars['--color-tint-hover']} 15%)`,
228
+ '@media (hover: hover) and (forced-colors: none)': `color-mix(in srgb, ${colorVars['--color-accent']}, ${colorVars['--color-tint-hover']} 15%)`,
140
229
  },
141
230
  },
142
231
  },
143
232
  trackDisabled: {
144
233
  opacity: 0.5,
234
+ // Opacity dimming does not survive forced colors; GrayText is the
235
+ // platform's disabled affordance there.
236
+ borderColor: {
237
+ default: null,
238
+ '@media (forced-colors: active)': 'GrayText',
239
+ },
145
240
  },
146
241
  trackDisabledOff: {
147
242
  backgroundColor: colorVars['--color-background-gray'],
@@ -151,7 +246,6 @@ const styles = stylex.create({
151
246
  alignItems: 'center',
152
247
  justifyContent: 'center',
153
248
  borderRadius: radiusVars['--radius-full'],
154
- backgroundColor: colorVars['--color-background-surface'],
155
249
  transitionProperty: 'transform, width, height',
156
250
  transitionDuration: {
157
251
  default: durationVars['--duration-fast'],
@@ -159,22 +253,27 @@ const styles = stylex.create({
159
253
  },
160
254
  transitionTimingFunction: easeVars['--ease-standard'],
161
255
  },
256
+ // The thumb fill lives on the on/off styles (not the shared thumb style)
257
+ // because forced colors needs a per-state system color: CanvasText on the
258
+ // empty off track, HighlightText on the Highlight on track. Sizing stays in
259
+ // thumbOffSizeStyles/thumbOnSizeStyles; only the fill is state-dependent.
162
260
  thumbOff: {
163
- width: THUMB_SIZE_OFF,
164
- height: THUMB_SIZE_OFF,
165
- transform: 'translateX(0)',
261
+ backgroundColor: {
262
+ default: colorVars['--color-background-surface'],
263
+ '@media (forced-colors: active)': 'CanvasText',
264
+ },
166
265
  },
167
266
  thumbOn: {
168
- width: THUMB_SIZE_ON,
169
- height: THUMB_SIZE_ON,
170
- transform: `translateX(${THUMB_TRAVEL_ON}px)`,
267
+ backgroundColor: {
268
+ default: colorVars['--color-background-surface'],
269
+ '@media (forced-colors: active)': 'HighlightText',
270
+ },
171
271
  },
172
272
  labelWrapper: {
173
273
  display: 'flex',
174
274
  flexDirection: 'column',
175
275
  gap: spacingVars['--spacing-0-5'],
176
276
  justifyContent: 'center',
177
- minHeight: SWITCH_HEIGHT,
178
277
  },
179
278
  description: {
180
279
  fontFamily: typographyVars['--font-family-body'],
@@ -313,6 +412,13 @@ export interface SwitchProps extends Omit<BaseProps, 'onChange'> {
313
412
  * When set with a message, displays a colored message box below the switch.
314
413
  */
315
414
  status?: InputStatus;
415
+ /**
416
+ * Size variant controlling track and thumb dimensions.
417
+ * - 'sm': 34x20px (matches sm checkbox/radio vertical rhythm)
418
+ * - 'md': 40x24px (default, matches md checkbox/radio vertical rhythm)
419
+ * @default 'md'
420
+ */
421
+ size?: 'sm' | 'md';
316
422
  }
317
423
 
318
424
  // Dynamic field width (number -> px, string used as-is).
@@ -358,6 +464,7 @@ export function Switch({
358
464
  labelPosition = 'end',
359
465
  labelSpacing = 'hug',
360
466
  status,
467
+ size = 'md',
361
468
  width,
362
469
  xstyle,
363
470
  className,
@@ -410,7 +517,7 @@ export function Switch({
410
517
  describedByParts.length > 0 ? describedByParts.join(' ') : undefined;
411
518
 
412
519
  const switchElement = (
413
- <div {...stylex.props(styles.switchWrapper)}>
520
+ <div {...stylex.props(styles.switchWrapper, wrapperSizeStyles[size])}>
414
521
  <input
415
522
  ref={mergeRefs(ref, disabledMessageTooltip.positionRef)}
416
523
  id={id}
@@ -447,6 +554,7 @@ export function Switch({
447
554
  aria-busy={isBusy || undefined}
448
555
  {...stylex.props(
449
556
  styles.input,
557
+ inputSizeStyles[size],
450
558
  isDisabled && styles.inputDisabled,
451
559
  isBusy && styles.inputBusy,
452
560
  )}
@@ -457,9 +565,11 @@ export function Switch({
457
565
  themeProps('switch', {
458
566
  checked: isOn ? 'checked' : null,
459
567
  disabled: isDisabled ? 'disabled' : null,
568
+ size,
460
569
  }),
461
570
  stylex.props(
462
571
  styles.track,
572
+ trackSizeStyles[size],
463
573
  isOn ? styles.trackOn : styles.trackOff,
464
574
  !isDisabled && styles.trackFocus,
465
575
  isDisabled && styles.trackDisabled,
@@ -468,8 +578,15 @@ export function Switch({
468
578
  )}>
469
579
  <div
470
580
  {...mergeProps(
471
- themeProps('switch-thumb', {checked: isOn ? 'checked' : null}),
472
- stylex.props(styles.thumb, isOn ? styles.thumbOn : styles.thumbOff),
581
+ themeProps('switch-thumb', {
582
+ checked: isOn ? 'checked' : null,
583
+ size,
584
+ }),
585
+ stylex.props(
586
+ styles.thumb,
587
+ isOn ? thumbOnSizeStyles[size] : thumbOffSizeStyles[size],
588
+ isOn ? styles.thumbOn : styles.thumbOff,
589
+ ),
473
590
  )}>
474
591
  {isBusy && <Spinner size="sm" />}
475
592
  </div>
@@ -479,7 +596,7 @@ export function Switch({
479
596
  );
480
597
 
481
598
  const labelElement = (
482
- <div {...stylex.props(styles.labelWrapper)}>
599
+ <div {...stylex.props(styles.labelWrapper, labelWrapperSizeStyles[size])}>
483
600
  <FieldLabel
484
601
  label={label}
485
602
  inputID={id}
@@ -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: 'Tab',
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/TabList/TabList.doc.mjs
14
14
  * - /packages/core/src/TabList/index.ts
15
15
  * - /packages/core/src/TabList/TabList.test.tsx
16
- * - /packages/cli/templates/blocks/components/TabList/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/TabList/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import React, {useCallback, type ReactNode} from 'react';
@@ -143,8 +143,8 @@ const styles = stylex.create({
143
143
  // with a bottom divider — that ancestor sets `--_tab-indicator-bottom`
144
144
  // to drop the indicator onto the rail beneath the reserved gap.
145
145
  bottom: 'var(--_tab-indicator-bottom, -1px)',
146
- left: spacingVars['--spacing-3'],
147
- right: spacingVars['--spacing-3'],
146
+ insetInlineStart: spacingVars['--spacing-3'],
147
+ insetInlineEnd: spacingVars['--spacing-3'],
148
148
  height: '2px',
149
149
  borderRadius: radiusVars['--radius-full'],
150
150
  pointerEvents: 'none',
@@ -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: 'TabList',
@@ -55,12 +55,6 @@ export const docs = {
55
55
  description: 'Whether to show a bottom border divider under the tab list.',
56
56
  default: 'false',
57
57
  },
58
- {
59
- name: 'orientation',
60
- type: "'horizontal' | 'vertical'",
61
- description: "Orientation of the tab strip, controlling which arrow keys move focus between tabs and the reported aria-orientation. 'horizontal': ArrowLeft/ArrowRight. 'vertical': ArrowUp/ArrowDown. Both axes' arrows are accepted regardless.",
62
- default: "'horizontal'",
63
- },
64
58
  {
65
59
  name: 'children',
66
60
  type: 'ReactNode',
@@ -105,7 +99,7 @@ export const docs = {
105
99
  },
106
100
  };
107
101
 
108
- /** @type {import('../docs-types').TranslationDoc} */
102
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
109
103
  export const docsZh = {
110
104
  usage: {
111
105
  description:
@@ -126,7 +120,7 @@ export const docsZh = {
126
120
  },
127
121
  };
128
122
 
129
- /** @type {import('../docs-types').TranslationDoc} */
123
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
130
124
  export const docsDense = {
131
125
  description: 'Tab navigation w/ overflow menu support; semantic nav landmark w/ button or anchor tab items.',
132
126
  usage: {
@@ -77,10 +77,9 @@ describe('TabList', () => {
77
77
 
78
78
  it('does not set aria-orientation on the nav (invalid for role navigation)', () => {
79
79
  // Regression: aria-orientation is not an allowed attribute on the
80
- // navigation role and produces an axe aria-allowed-attr violation. The
81
- // `orientation` prop must drive keyboard/hint behavior without emitting
82
- // this attribute, regardless of the value passed.
83
- const {rerender} = render(
80
+ // navigation role and produces an axe aria-allowed-attr violation.
81
+ // TabList deliberately never sets this attribute.
82
+ render(
84
83
  <TabList value="home" onChange={() => {}}>
85
84
  <Tab value="home" label="Home" />
86
85
  <Tab value="settings" label="Settings" />
@@ -90,17 +89,6 @@ describe('TabList', () => {
90
89
  expect(screen.getByRole('navigation')).not.toHaveAttribute(
91
90
  'aria-orientation',
92
91
  );
93
-
94
- rerender(
95
- <TabList value="home" onChange={() => {}} orientation="vertical">
96
- <Tab value="home" label="Home" />
97
- <Tab value="settings" label="Settings" />
98
- </TabList>,
99
- );
100
-
101
- expect(screen.getByRole('navigation')).not.toHaveAttribute(
102
- 'aria-orientation',
103
- );
104
92
  });
105
93
 
106
94
  it('ignores a consumer-supplied aria-orientation on the nav', () => {
@@ -14,7 +14,7 @@
14
14
  * - /packages/core/src/TabList/TabList.doc.mjs
15
15
  * - /packages/core/src/TabList/index.ts
16
16
  * - /packages/core/src/TabList/TabList.test.tsx
17
- * - /packages/cli/templates/blocks/components/TabList/ (showcase blocks)
17
+ * - /packages/cli/assets/templates/blocks/components/TabList/ (showcase blocks)
18
18
  */
19
19
 
20
20
  import React, {useCallback, useMemo, type ReactNode} from 'react';
@@ -22,7 +22,7 @@ import * as stylex from '@stylexjs/stylex';
22
22
  import {borderVars, colorVars, spacingVars} from '../theme/tokens.stylex';
23
23
  import type {BaseProps} from '../BaseProps';
24
24
  import {TabListContext} from './TabListContext';
25
- import type {TabListOrientation, TabListSize} from './TabListContext';
25
+ import type {TabListSize} from './TabListContext';
26
26
  import {useSize} from '../SizeContext/SizeContext';
27
27
  import {mergeProps, mergeRefs} from '../utils';
28
28
  import {useListFocus} from '../hooks/useListFocus';
@@ -66,15 +66,6 @@ export interface TabListProps extends Omit<BaseProps<HTMLElement>, 'onChange'> {
66
66
  * @default false
67
67
  */
68
68
  hasDivider?: boolean;
69
- /**
70
- * Orientation of the tab strip, controlling which arrow keys move
71
- * focus between tabs.
72
- * - `'horizontal'` (default): ArrowLeft / ArrowRight (ArrowUp / ArrowDown
73
- * also work per the WAI-ARIA APG).
74
- * - `'vertical'`: ArrowUp / ArrowDown (ArrowLeft / ArrowRight also work).
75
- * @default 'horizontal'
76
- */
77
- orientation?: TabListOrientation;
78
69
  /**
79
70
  * Tab and TabMenu children.
80
71
  */
@@ -130,7 +121,6 @@ export function TabList({
130
121
  size: sizeProp,
131
122
  layout = 'hug',
132
123
  hasDivider = false,
133
- orientation = 'horizontal',
134
124
  xstyle,
135
125
  className,
136
126
  style,
@@ -150,14 +140,13 @@ export function TabList({
150
140
  // Roving-tabindex keyboard navigation across the tab strip via the shared
151
141
  // hook. `orientation: 'both'` accepts both arrow axes per the WAI-ARIA APG
152
142
  // allowance for tab strips (ArrowRight/ArrowDown advance, ArrowLeft/ArrowUp
153
- // retreat) regardless of the component's `orientation` prop, which only
154
- // drives the keyboard hint badge (see useKeyboardHint below). We do not set
155
- // `aria-orientation` on the `<nav>`: that attribute is invalid on the
156
- // navigation role and triggers an axe `aria-allowed-attr` violation.
143
+ // retreat). We do not set `aria-orientation` on the `<nav>`: that attribute
144
+ // is invalid on the navigation role and triggers an axe `aria-allowed-attr`
145
+ // violation.
157
146
  //
158
147
  // `hasRovingTabIndex` makes the hook own the single tab stop: it stamps
159
148
  // tabindex 0/-1, repairs the stop on mount and as stops mount/unmount or
160
- // toggle disabled, and — via `handleFocus` on the nav — keeps the stop in
149
+ // toggle disabled, and -- via `handleFocus` on the nav -- keeps the stop in
161
150
  // sync after clicks or programmatic focus. Individual Tabs still render
162
151
  // `tabIndex={isSelected ? 0 : -1}` (see Tab.tsx) as the initial source of
163
152
  // truth; the hook's repair preserves an existing tab stop and only promotes
@@ -173,7 +162,7 @@ export function TabList({
173
162
  onKeyDown: onHintKeyDown,
174
163
  onFocus: onHintFocus,
175
164
  onBlur: onHintBlur,
176
- } = useKeyboardHint({orientation});
165
+ } = useKeyboardHint();
177
166
 
178
167
  const contextValue = useMemo(
179
168
  () => ({value, onChange, size, layout}),
@@ -26,12 +26,6 @@ export type TabListSize = 'sm' | 'md' | 'lg';
26
26
  */
27
27
  export type TabListLayout = 'hug' | 'fill';
28
28
 
29
- /**
30
- * Orientation of the tab strip. Controls which arrow keys move focus
31
- * between tabs and the reported `aria-orientation`.
32
- */
33
- export type TabListOrientation = 'horizontal' | 'vertical';
34
-
35
29
  /**
36
30
  * Context for communicating value/onChange/size/layout from TabList to children.
37
31
  */
@@ -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: 'TabMenu',
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/TabList/TabList.doc.mjs
14
14
  * - /packages/core/src/TabList/index.ts
15
15
  * - /packages/core/src/TabList/TabList.test.tsx
16
- * - /packages/cli/templates/blocks/components/TabList/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/TabList/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import React, {useCallback, useId, useRef, type ReactNode} from 'react';
@@ -126,8 +126,8 @@ const styles = stylex.create({
126
126
  // drops onto the divider rail when an ancestor (TabList `hasDivider` or a
127
127
  // Toolbar with a bottom divider) sets `--_tab-indicator-bottom`.
128
128
  bottom: 'var(--_tab-indicator-bottom, -1px)',
129
- left: spacingVars['--spacing-3'],
130
- right: spacingVars['--spacing-3'],
129
+ insetInlineStart: spacingVars['--spacing-3'],
130
+ insetInlineEnd: spacingVars['--spacing-3'],
131
131
  height: '2px',
132
132
  borderRadius: radiusVars['--radius-full'],
133
133
  pointerEvents: 'none',
@@ -11,7 +11,7 @@
11
11
  * - /packages/core/src/Table/Table.doc.mjs (component description, props)
12
12
  * - /packages/core/src/Table/Table.test.tsx (tests for new/changed behavior)
13
13
  * - /packages/core/src/Table/index.ts (exports if types change)
14
- * - /packages/cli/templates/blocks/components/Table/ (showcase blocks)
14
+ * - /packages/cli/assets/templates/blocks/components/Table/ (showcase blocks)
15
15
  */
16
16
 
17
17
  import {memo, useRef, type ReactElement, type ReactNode, type Ref} from 'react';
@@ -134,6 +134,12 @@ interface TableRowProps<T extends Record<string, unknown>> {
134
134
  textOverflow: 'wrap' | 'truncate';
135
135
  RowComponent: React.ComponentType<TableRowComponentProps>;
136
136
  CellComponent: React.ComponentType<TableCellComponentProps>;
137
+ /**
138
+ * 1-based ARIA row index for this row's position in the full dataset.
139
+ * `undefined` when the table hasn't opted into ARIA row indexing, in which
140
+ * case no `aria-rowindex` is emitted (native table semantics).
141
+ */
142
+ ariaRowIndex?: number;
137
143
  }
138
144
 
139
145
  /**
@@ -150,6 +156,7 @@ function TableRowInner<T extends Record<string, unknown>>({
150
156
  textOverflow,
151
157
  RowComponent,
152
158
  CellComponent,
159
+ ariaRowIndex,
153
160
  }: TableRowProps<T>): ReactElement {
154
161
  // Build cells first
155
162
  const cells = columns.map((col, columnIndex) => {
@@ -211,12 +218,14 @@ function TableRowInner<T extends Record<string, unknown>>({
211
218
  );
212
219
  });
213
220
 
214
- // Apply plugin transforms for row (with pre-rendered children)
221
+ // Apply plugin transforms for row (with pre-rendered children).
222
+ // Seed `aria-rowindex` (when the table opts into ARIA row indexing) as a
223
+ // base htmlProp so plugins compose over it and can still override.
215
224
  const rowRenderProps = applyPlugins(
216
225
  plugins,
217
226
  p => p.transformBodyRow,
218
227
  {
219
- htmlProps: {},
228
+ htmlProps: ariaRowIndex == null ? {} : {'aria-rowindex': ariaRowIndex},
220
229
  xstyle: [],
221
230
  children: <>{cells}</>,
222
231
  } satisfies BodyRowRenderProps,
@@ -256,6 +265,9 @@ function areRowPropsEqual<T extends Record<string, unknown>>(
256
265
  if (prevProps.rowIndex !== nextProps.rowIndex) {
257
266
  return false;
258
267
  }
268
+ if (prevProps.ariaRowIndex !== nextProps.ariaRowIndex) {
269
+ return false;
270
+ }
259
271
 
260
272
  if (prevProps.columns !== nextProps.columns) {
261
273
  return false;
@@ -323,6 +335,8 @@ function BaseTableInner<T extends Record<string, unknown>>({
323
335
  textOverflow = 'wrap',
324
336
  scrollWrapper: ScrollWrapper,
325
337
  emptyState,
338
+ rowIndexStart,
339
+ rowCount,
326
340
  xstyle,
327
341
  className,
328
342
  style,
@@ -333,6 +347,18 @@ function BaseTableInner<T extends Record<string, unknown>>({
333
347
  // Use stable empty array when no plugins provided
334
348
  const plugins = pluginsProp ?? (EMPTY_PLUGINS as TablePlugin<T>[]);
335
349
 
350
+ // ARIA row indexing. The row ordinal is an accessibility concern that is
351
+ // independent of any visible index column: when the consumer opts in (by
352
+ // passing rowIndexStart or rowCount), body rows carry `aria-rowindex`
353
+ // reflecting their position in the full dataset, and the <table> carries
354
+ // `aria-rowcount`. `aria-rowindex` is 1-based and counts data rows from
355
+ // `rowIndexStart` (default 1); a windowed/paginated view passes the offset
356
+ // of its first visible row. `aria-rowcount` is `rowCount` when known, or
357
+ // `-1` (ARIA's "unknown count") for a windowed view with an unknown total.
358
+ const ariaRowIndexingEnabled = rowIndexStart != null || rowCount != null;
359
+ const firstRowAriaIndex = rowIndexStart ?? 1;
360
+ const ariaRowCount = ariaRowIndexingEnabled ? (rowCount ?? -1) : undefined;
361
+
336
362
  const RowComponent = TableRow as React.ComponentType<TableRowComponentProps>;
337
363
  const CellComponent =
338
364
  TableCell as React.ComponentType<TableCellComponentProps>;
@@ -486,6 +512,7 @@ function BaseTableInner<T extends Record<string, unknown>>({
486
512
  let tableElement: ReactNode = (
487
513
  <table
488
514
  ref={ref}
515
+ {...(ariaRowCount != null ? {'aria-rowcount': ariaRowCount} : null)}
489
516
  {...tableRenderProps.htmlProps}
490
517
  {...mergeProps(
491
518
  themeProps('base-table'),
@@ -530,6 +557,11 @@ function BaseTableInner<T extends Record<string, unknown>>({
530
557
  textOverflow={textOverflow}
531
558
  RowComponent={RowComponent}
532
559
  CellComponent={CellComponent}
560
+ ariaRowIndex={
561
+ ariaRowIndexingEnabled
562
+ ? firstRowAriaIndex + rowIndex
563
+ : undefined
564
+ }
533
565
  />
534
566
  );
535
567
  })
@@ -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: 'Table',
@@ -93,6 +93,17 @@ export const docs = {
93
93
  type: 'Record<string, TablePlugin<T>>',
94
94
  description: 'Named plugins that extend table behavior via the transform pipeline. Converted to an ordered array internally.',
95
95
  },
96
+ {
97
+ name: 'rowIndexStart',
98
+ type: 'number',
99
+ description: 'ARIA row index (1-based) for the first rendered body row. The row ordinal is an accessibility concern independent of any visible index column, so setting this (or rowCount) makes the table emit aria-rowindex on body rows and aria-rowcount on the table. For a paginated/windowed view, pass the offset of the first visible row (e.g. (page - 1) * pageSize + 1) so aria-rowindex reflects position in the full dataset. Data-driven mode only.',
100
+ default: '1',
101
+ },
102
+ {
103
+ name: 'rowCount',
104
+ type: 'number',
105
+ description: 'Total number of body rows across all pages/windows, used for aria-rowcount so assistive tech can announce "row X of Y" against the full dataset. When omitted but rowIndexStart is set (windowed view with an unknown total), aria-rowcount is set to -1 per the ARIA unknown-count convention. Data-driven mode only.',
106
+ },
96
107
  {
97
108
  name: 'children',
98
109
  type: 'ReactNode',
@@ -141,7 +152,7 @@ export const docs = {
141
152
  },
142
153
  };
143
154
 
144
- /** @type {import('../docs-types').TranslationDoc} */
155
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
145
156
  export const docsZh = {
146
157
  usage: {
147
158
  description:
@@ -163,7 +174,7 @@ export const docsZh = {
163
174
  },
164
175
  };
165
176
 
166
- /** @type {import('../docs-types').TranslationDoc} */
177
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
167
178
  export const docsDense = {
168
179
  description: 'Data-driven table w/ rich cell content via renderCell. Compose cells w/ Badge, StatusDot, Text, Avatar, layout primitives. BaseTable provides unstyled structural core w/ composable plugin pipeline.',
169
180
  usage: {