@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
@@ -9,7 +9,7 @@
9
9
  * SYNC: When Calendar.tsx changes, update tests accordingly
10
10
  */
11
11
 
12
- import {describe, it, expect, vi, afterEach} from 'vitest';
12
+ import {describe, it, expect, vi, beforeEach, afterEach} from 'vitest';
13
13
  import {act, render, screen, within, waitFor} from '@testing-library/react';
14
14
  import userEvent from '@testing-library/user-event';
15
15
  import {getButton} from '../__tests__/fastRoleQueries';
@@ -394,10 +394,10 @@ describe('Calendar', () => {
394
394
 
395
395
  it('caps the range highlight next to a disabled mid-range day (#2715)', () => {
396
396
  // Disable Jan 13. With Jan 10–15 selected, day 12 (immediately before the
397
- // disabled day) should get a rounded end cap on its right edge, and day 14
398
- // (immediately after) a rounded cap on its left edge — so the highlight
399
- // reads as terminating at the disabled gap rather than running square-edged
400
- // into it.
397
+ // disabled day) should get a rounded end cap on its inline-end edge, and
398
+ // day 14 (immediately after) a rounded cap on its inline-start edge — so
399
+ // the highlight reads as terminating at the disabled gap rather than
400
+ // running square-edged into it.
401
401
  const disableJan13 = (d: Date) =>
402
402
  !(d.getFullYear() === 2026 && d.getMonth() === 0 && d.getDate() === 13);
403
403
  render(
@@ -422,10 +422,11 @@ describe('Calendar', () => {
422
422
  const day14Bg = rangeBgFor(14);
423
423
 
424
424
  // Capped edges have a border radius; the un-capped edge stays square.
425
- expect(getComputedStyle(day12Bg).borderTopRightRadius).not.toBe('');
426
- expect(getComputedStyle(day12Bg).borderTopRightRadius).not.toBe('0px');
427
- expect(getComputedStyle(day14Bg).borderTopLeftRadius).not.toBe('');
428
- expect(getComputedStyle(day14Bg).borderTopLeftRadius).not.toBe('0px');
425
+ // Radii are logical (inline start/end), so they follow reading direction.
426
+ expect(getComputedStyle(day12Bg).borderStartEndRadius).not.toBe('');
427
+ expect(getComputedStyle(day12Bg).borderStartEndRadius).not.toBe('0px');
428
+ expect(getComputedStyle(day14Bg).borderStartStartRadius).not.toBe('');
429
+ expect(getComputedStyle(day14Bg).borderStartStartRadius).not.toBe('0px');
429
430
  });
430
431
 
431
432
  it('does not range-highlight adjacent-month spillover days in two-month view', () => {
@@ -649,6 +650,150 @@ describe('Calendar', () => {
649
650
  });
650
651
  });
651
652
 
653
+ // ─── Selection Semantics for AT (WCAG 4.1.2 / 1.3.1) ────────
654
+
655
+ describe('selection state in day accessible names', () => {
656
+ it("appends 'selected' to the selected day's button name in single mode", () => {
657
+ render(<Calendar value="2026-01-15" focusDate="2026-01-01" />);
658
+
659
+ // Roving focus lands on the day <button>, which cannot carry
660
+ // aria-selected (invalid on role="button") — the selection state must
661
+ // be encoded in the button's accessible name instead.
662
+ expect(getDayButton(15).getAttribute('aria-label')).toBe(
663
+ 'Thursday, January 15, 2026, selected',
664
+ );
665
+ // Unselected days carry the plain date name.
666
+ expect(getDayButton(20).getAttribute('aria-label')).toBe(
667
+ 'Tuesday, January 20, 2026',
668
+ );
669
+ });
670
+
671
+ it('marks range start, end, and in-range days in their accessible names', () => {
672
+ render(
673
+ <Calendar
674
+ mode="range"
675
+ value={{start: '2026-01-10', end: '2026-01-15'}}
676
+ focusDate="2026-01-01"
677
+ />,
678
+ );
679
+
680
+ expect(getDayButton(10).getAttribute('aria-label')).toBe(
681
+ 'Saturday, January 10, 2026, range start',
682
+ );
683
+ expect(getDayButton(15).getAttribute('aria-label')).toBe(
684
+ 'Thursday, January 15, 2026, range end',
685
+ );
686
+ expect(getDayButton(12).getAttribute('aria-label')).toBe(
687
+ 'Monday, January 12, 2026, in range',
688
+ );
689
+ // Days outside the range keep the plain date name.
690
+ expect(getDayButton(20).getAttribute('aria-label')).toBe(
691
+ 'Tuesday, January 20, 2026',
692
+ );
693
+ });
694
+
695
+ it('labels a one-day range as both range start and range end', () => {
696
+ render(
697
+ <Calendar
698
+ mode="range"
699
+ value={{start: '2026-01-10', end: '2026-01-10'}}
700
+ focusDate="2026-01-01"
701
+ />,
702
+ );
703
+
704
+ expect(getDayButton(10).getAttribute('aria-label')).toBe(
705
+ 'Saturday, January 10, 2026, range start and range end',
706
+ );
707
+ });
708
+
709
+ it("labels the in-progress first pick as 'range start' only", async () => {
710
+ const user = userEvent.setup();
711
+ render(<Calendar mode="range" focusDate="2026-01-01" />);
712
+
713
+ await user.click(getDayButton(10));
714
+
715
+ // While the range is in progress the picked day is only the start —
716
+ // not a completed one-day range.
717
+ expect(getDayButton(10).getAttribute('aria-label')).toBe(
718
+ 'Saturday, January 10, 2026, range start',
719
+ );
720
+ });
721
+ });
722
+
723
+ describe('range selection announcements', () => {
724
+ it('announces the start pick and prompts for an end date', async () => {
725
+ const user = userEvent.setup();
726
+ render(<Calendar mode="range" focusDate="2026-01-01" />);
727
+
728
+ await user.click(getDayButton(10));
729
+
730
+ await waitFor(() => {
731
+ expect(politeRegion()).toHaveTextContent(
732
+ 'Start date Saturday, January 10, 2026. Select an end date.',
733
+ );
734
+ });
735
+ });
736
+
737
+ it('announces the completed range after the second pick', async () => {
738
+ const user = userEvent.setup();
739
+ render(<Calendar mode="range" focusDate="2026-01-01" />);
740
+
741
+ await user.click(getDayButton(10));
742
+ await user.click(getDayButton(15));
743
+
744
+ await waitFor(() => {
745
+ expect(politeRegion()).toHaveTextContent(
746
+ 'Selected range: Saturday, January 10, 2026 to Thursday, January 15, 2026.',
747
+ );
748
+ });
749
+ });
750
+
751
+ it('announces the completed range in chronological order for a reverse pick', async () => {
752
+ const user = userEvent.setup();
753
+ render(<Calendar mode="range" focusDate="2026-01-01" />);
754
+
755
+ await user.click(getDayButton(20));
756
+ await user.click(getDayButton(10));
757
+
758
+ await waitFor(() => {
759
+ expect(politeRegion()).toHaveTextContent(
760
+ 'Selected range: Saturday, January 10, 2026 to Tuesday, January 20, 2026.',
761
+ );
762
+ });
763
+ });
764
+ });
765
+
766
+ describe('aria-multiselectable', () => {
767
+ it('sets aria-multiselectable="true" on the grid in range mode', () => {
768
+ render(<Calendar mode="range" focusDate="2026-01-01" />);
769
+
770
+ expect(screen.getByRole('grid')).toHaveAttribute(
771
+ 'aria-multiselectable',
772
+ 'true',
773
+ );
774
+ });
775
+
776
+ it('does not set aria-multiselectable in single mode', () => {
777
+ render(<Calendar focusDate="2026-01-01" />);
778
+
779
+ expect(screen.getByRole('grid')).not.toHaveAttribute(
780
+ 'aria-multiselectable',
781
+ );
782
+ });
783
+
784
+ it('sets aria-multiselectable on both grids in a two-month range view', () => {
785
+ render(
786
+ <Calendar mode="range" numberOfMonths={2} focusDate="2026-01-01" />,
787
+ );
788
+
789
+ const grids = screen.getAllByRole('grid');
790
+ expect(grids.length).toBe(2);
791
+ for (const grid of grids) {
792
+ expect(grid).toHaveAttribute('aria-multiselectable', 'true');
793
+ }
794
+ });
795
+ });
796
+
652
797
  // ─── Bug Regression Tests ───────────────────────────────────
653
798
 
654
799
  it('day buttons have data-date attribute with ISO string', () => {
@@ -844,21 +989,22 @@ describe('Calendar', () => {
844
989
  // ─── RTL (#3388) ─────────────────────────────────────────────
845
990
 
846
991
  describe('RTL month navigation', () => {
847
- // jsdom does not apply compiled StyleX CSS, so the scaleX(-1) mirror
848
- // itself is only observable in a browser (see the dir="rtl" Storybook
849
- // story). These tests pin the structure the fix depends on: both nav
850
- // chevrons render inside the navIcon wrapper that carries the
851
- // ':is([dir="rtl"] *)' conditional transform.
852
- it('wraps both nav chevrons in the RTL-mirroring navIcon wrapper', () => {
992
+ // jsdom does not apply compiled StyleX CSS, so the RTL scaleX mirror is
993
+ // only observable in a browser (see the dir="rtl" Storybook story). These
994
+ // tests pin the structure the mirror relies on: both nav chevrons render
995
+ // inside the navIcon wrapper (which composes the shared rtlStyles.mirror
996
+ // transform), and navigation semantics stay identical under dir="rtl".
997
+ it('wraps both nav chevrons in the navIcon wrapper', () => {
853
998
  render(<Calendar focusDate="2026-01-01" />);
854
999
 
855
1000
  const {className: navIconClass} = stylex.props(calendarStyles.navIcon);
856
1001
  expect(navIconClass).toBeTruthy();
1002
+ const navIconAtoms = navIconClass!.split(' ');
857
1003
 
858
1004
  for (const name of ['Previous month', 'Next month']) {
859
1005
  const button = getButton(name);
860
1006
  const wrappers = Array.from(button.querySelectorAll('span')).filter(
861
- span => span.className === navIconClass,
1007
+ span => navIconAtoms.every(atom => span.classList.contains(atom)),
862
1008
  );
863
1009
  expect(wrappers.length).toBe(1);
864
1010
  }
@@ -867,29 +1013,45 @@ describe('Calendar', () => {
867
1013
  it('keeps navigation semantics unchanged under dir="rtl"', async () => {
868
1014
  const user = userEvent.setup();
869
1015
 
870
- render(
1016
+ // Scope month-label queries to the rendered tree: month navigation also
1017
+ // announces the month name through the body-level polite live region,
1018
+ // and whether that text has landed by assertion time depends on jsdom's
1019
+ // 16ms rAF frame phase — an unscoped getByText intermittently finds two
1020
+ // matches ("February 2026" in both the header and the live region).
1021
+ const {container} = render(
871
1022
  <div dir="rtl">
872
1023
  <Calendar focusDate="2026-02-01" />
873
1024
  </div>,
874
1025
  );
875
1026
 
876
- expect(screen.getByText('February 2026')).toBeInTheDocument();
1027
+ expect(within(container).getByText('February 2026')).toBeInTheDocument();
877
1028
 
878
1029
  // DOM order and handlers must not change in RTL: flexbox already
879
1030
  // places "Previous month" at the visual right; only the glyph mirrors.
880
1031
  await user.click(getButton('Previous month'));
881
- expect(screen.getByText('January 2026')).toBeInTheDocument();
1032
+ expect(within(container).getByText('January 2026')).toBeInTheDocument();
882
1033
 
883
1034
  await user.click(getButton('Next month'));
884
- expect(screen.getByText('February 2026')).toBeInTheDocument();
1035
+ expect(within(container).getByText('February 2026')).toBeInTheDocument();
885
1036
  });
886
1037
  });
887
1038
 
888
-
889
1039
  // ─── Day-cell marker theming (#4286) ─────────────────────────
890
1040
  describe('day-cell marker theme state', () => {
891
- // Tests use the real "today" (as the existing aria-current tests do) since
892
- // Calendar derives it internally. Helpers pin the exact ISO strings.
1041
+ // Pin "today" to a mid-month date so the ±2-day range helpers below stay
1042
+ // within a single rendered month. With the real clock, running near a month
1043
+ // boundary (e.g. the 1st) pushed today-2 into the previous month, so the
1044
+ // rendered grid didn't contain today's cell and the marker assertions
1045
+ // flaked. Fake only Date (timers stay real; these tests are synchronous).
1046
+ beforeEach(() => {
1047
+ vi.useFakeTimers({toFake: ['Date']});
1048
+ vi.setSystemTime(new Date(2026, 5, 15, 12, 0, 0));
1049
+ });
1050
+ afterEach(() => {
1051
+ vi.useRealTimers();
1052
+ });
1053
+ // Tests use the (now-pinned) "today" since Calendar derives it internally.
1054
+ // Helpers pin the exact ISO strings.
893
1055
  function todayISO(): ISODateString {
894
1056
  const n = new Date();
895
1057
  return `${n.getFullYear()}-${String(n.getMonth() + 1).padStart(2, '0')}-${String(n.getDate()).padStart(2, '0')}` as ISODateString;
@@ -14,7 +14,7 @@
14
14
  * - /packages/core/src/Calendar/Calendar.test.tsx (tests for new/changed behavior)
15
15
  * - /packages/core/src/Calendar/index.ts (exports if types change)
16
16
  * - /apps/storybook/stories/Calendar.stories.tsx (storybook stories)
17
- * - /packages/cli/templates/blocks/components/Calendar/ (showcase blocks)
17
+ * - /packages/cli/assets/templates/blocks/components/Calendar/ (showcase blocks)
18
18
  */
19
19
 
20
20
  import {
@@ -57,7 +57,7 @@ import {
57
57
  DATE_FORMAT_WITH_WEEKDAY,
58
58
  DATE_FORMAT_MONTH_YEAR,
59
59
  } from '../utils/plainDate';
60
- import {mergeProps, composeEventHandlers} from '../utils';
60
+ import {mergeProps, composeEventHandlers, rtlStyles} from '../utils';
61
61
  import {
62
62
  computeDayCellState,
63
63
  computeRangeRounding,
@@ -411,8 +411,16 @@ export function Calendar({ref, ...props}: CalendarProps) {
411
411
  } else {
412
412
  // Range mode
413
413
  if (rangeSelectionStart === null) {
414
- // First click - start the range
414
+ // First click - start the range. Nothing else about this pick is
415
+ // perceivable non-visually (WCAG 1.3.1) — the grid doesn't move, so
416
+ // the month-change announcement stays silent — so speak the range
417
+ // progress through the same polite live region.
415
418
  setRangeSelectionStart(iso);
419
+ announce(
420
+ t('@astryx.calendar.rangeStartAnnounce', {
421
+ date: plainDateFormat(date, DATE_FORMAT_WITH_WEEKDAY),
422
+ }),
423
+ );
416
424
  } else {
417
425
  // Second click - complete the range
418
426
  const startPd = plainDateFromISO(rangeSelectionStart);
@@ -432,10 +440,24 @@ export function Calendar({ref, ...props}: CalendarProps) {
432
440
  setInternalValue(range);
433
441
  setRangeSelectionStart(null);
434
442
  (onChange as CalendarRangeProps['onChange'])?.(range);
443
+ // Completed-range announcement, in chronological order (matches the
444
+ // swapped {start, end} above even for a reverse pick).
445
+ announce(
446
+ t('@astryx.calendar.rangeCompleteAnnounce', {
447
+ start: plainDateFormat(
448
+ plainDateFromISO(start),
449
+ DATE_FORMAT_WITH_WEEKDAY,
450
+ ),
451
+ end: plainDateFormat(
452
+ plainDateFromISO(end),
453
+ DATE_FORMAT_WITH_WEEKDAY,
454
+ ),
455
+ }),
456
+ );
435
457
  }
436
458
  }
437
459
  },
438
- [mode, onChange, rangeSelectionStart],
460
+ [mode, onChange, rangeSelectionStart, announce, t],
439
461
  );
440
462
 
441
463
  return (
@@ -462,7 +484,7 @@ export function Calendar({ref, ...props}: CalendarProps) {
462
484
  // Wrapper span (not Icon props): Icon's string mode clobbers
463
485
  // caller classNames, so the RTL mirror must live on its own
464
486
  // element.
465
- <span {...stylex.props(calendarStyles.navIcon)}>
487
+ <span {...stylex.props(calendarStyles.navIcon, rtlStyles.mirror)}>
466
488
  <Icon icon="chevronLeft" size="sm" color="inherit" />
467
489
  </span>
468
490
  }
@@ -483,7 +505,7 @@ export function Calendar({ref, ...props}: CalendarProps) {
483
505
  label={t('@astryx.calendar.nextMonth')}
484
506
  variant="ghost"
485
507
  icon={
486
- <span {...stylex.props(calendarStyles.navIcon)}>
508
+ <span {...stylex.props(calendarStyles.navIcon, rtlStyles.mirror)}>
487
509
  <Icon icon="chevronRight" size="sm" color="inherit" />
488
510
  </span>
489
511
  }
@@ -790,6 +812,9 @@ function MonthGrid({
790
812
  ref={gridRef}
791
813
  role="grid"
792
814
  aria-label={monthLabel}
815
+ // APG grid pattern: a range selection holds multiple selected cells,
816
+ // so the grid must advertise multi-selectability.
817
+ aria-multiselectable={mode === 'range' ? true : undefined}
793
818
  onKeyDown={handleGridKeyDown}
794
819
  onFocus={handleGridFocus}
795
820
  {...stylex.props(
@@ -864,6 +889,7 @@ function MonthGrid({
864
889
  isDisabled={isDateDisabled(day.date)}
865
890
  neighbors={neighbors}
866
891
  isTabbable={day.iso === seedTabbableIso}
892
+ isRangeSelectionInProgress={rangeSelectionStart !== null}
867
893
  onDayClick={onDayClick}
868
894
  onDayHover={onDayHover}
869
895
  />
@@ -905,6 +931,13 @@ interface DayCellProps {
905
931
  * existing `tabindex="0"` and repairs/moves it on navigation and focus.
906
932
  */
907
933
  isTabbable: boolean;
934
+ /**
935
+ * Whether a range selection is mid-flight (first pick made, awaiting the
936
+ * second). Disambiguates the accessible name of the picked day: mid-flight
937
+ * it is only the "range start", while a completed one-day range is both
938
+ * "range start and range end" (rangeStart === rangeEnd in both cases).
939
+ */
940
+ isRangeSelectionInProgress: boolean;
908
941
  onDayClick: (date: PlainDate) => void;
909
942
  onDayHover: (date: PlainDate | null) => void;
910
943
  }
@@ -923,9 +956,11 @@ function DayCell({
923
956
  isDisabled,
924
957
  neighbors,
925
958
  isTabbable: isTabbableDay,
959
+ isRangeSelectionInProgress,
926
960
  onDayClick,
927
961
  onDayHover,
928
962
  }: DayCellProps) {
963
+ const t = useTranslator();
929
964
  const {date, isOutside, dayNumber} = day;
930
965
 
931
966
  if (isOutside && !hasOutsideDays) {
@@ -964,6 +999,28 @@ function DayCell({
964
999
  ? 'today-in-range'
965
1000
  : null;
966
1001
 
1002
+ // Accessible name for the day button. Roving focus lands on the <button>,
1003
+ // not the role="gridcell" wrapper that carries aria-selected — and
1004
+ // aria-selected is invalid on role="button" — so the selection/range state
1005
+ // must be encoded into the button's name (WCAG 4.1.2). Localized via ICU
1006
+ // params rather than string concatenation. A mid-flight first pick (where
1007
+ // rangeStart === rangeEnd) reads as "range start" only; a completed one-day
1008
+ // range reads as both start and end.
1009
+ const dateLabel = plainDateFormat(date, DATE_FORMAT_WITH_WEEKDAY);
1010
+ const dayLabel = state.isSelected
1011
+ ? t('@astryx.calendar.daySelected', {date: dateLabel})
1012
+ : state.isRangeStart && state.isRangeEnd
1013
+ ? isRangeSelectionInProgress
1014
+ ? t('@astryx.calendar.dayRangeStart', {date: dateLabel})
1015
+ : t('@astryx.calendar.dayRangeStartAndEnd', {date: dateLabel})
1016
+ : state.isRangeStart
1017
+ ? t('@astryx.calendar.dayRangeStart', {date: dateLabel})
1018
+ : state.isRangeEnd
1019
+ ? t('@astryx.calendar.dayRangeEnd', {date: dateLabel})
1020
+ : state.isInRange
1021
+ ? t('@astryx.calendar.dayInRange', {date: dateLabel})
1022
+ : dateLabel;
1023
+
967
1024
  const rangeRounding = computeRangeRounding(state, {
968
1025
  prevInRange: neighbors.prevInRange,
969
1026
  nextInRange: neighbors.nextInRange,
@@ -984,16 +1041,16 @@ function DayCell({
984
1041
  {...stylex.props(
985
1042
  dayCellStyles.rangeBg,
986
1043
  dayCellTheme.rangeBg,
987
- rangeRounding.roundLeft && dayCellStyles.rangeBgRadiusLeft,
988
- rangeRounding.roundRight && dayCellStyles.rangeBgRadiusRight,
989
- state.isRangeStart && dayCellStyles.rangeInsetLeft,
1044
+ rangeRounding.roundStart && dayCellStyles.rangeBgRadiusStart,
1045
+ rangeRounding.roundEnd && dayCellStyles.rangeBgRadiusEnd,
1046
+ state.isRangeStart && dayCellStyles.rangeInsetStart,
990
1047
  state.isRangeStart &&
991
- rangeRounding.roundRight &&
992
- dayCellStyles.rangeInsetRight,
993
- state.isRangeEnd && dayCellStyles.rangeInsetRight,
1048
+ rangeRounding.roundEnd &&
1049
+ dayCellStyles.rangeInsetEnd,
1050
+ state.isRangeEnd && dayCellStyles.rangeInsetEnd,
994
1051
  state.isRangeStart &&
995
- rangeRounding.roundLeft &&
996
- dayCellStyles.rangeInsetLeft,
1052
+ rangeRounding.roundStart &&
1053
+ dayCellStyles.rangeInsetStart,
997
1054
  )}
998
1055
  />
999
1056
  )}
@@ -1004,8 +1061,8 @@ function DayCell({
1004
1061
  {...stylex.props(
1005
1062
  dayCellStyles.previewBg,
1006
1063
  dayCellTheme.previewBg,
1007
- previewRounding.roundLeft && dayCellStyles.previewBgRadiusLeft,
1008
- previewRounding.roundRight && dayCellStyles.previewBgRadiusRight,
1064
+ previewRounding.roundStart && dayCellStyles.previewBgRadiusStart,
1065
+ previewRounding.roundEnd && dayCellStyles.previewBgRadiusEnd,
1009
1066
  state.isPreviewStart && dayCellStyles.previewStart,
1010
1067
  state.isPreviewEnd && dayCellStyles.previewEnd,
1011
1068
  )}
@@ -1016,7 +1073,7 @@ function DayCell({
1016
1073
  <button
1017
1074
  type="button"
1018
1075
  data-date={day.iso}
1019
- aria-label={plainDateFormat(date, DATE_FORMAT_WITH_WEEKDAY)}
1076
+ aria-label={dayLabel}
1020
1077
  aria-disabled={state.effectivelyDisabled || undefined}
1021
1078
  // Mark today's cell programmatically (APG date-picker pattern), not just
1022
1079
  // visually, so screen-reader users can identify the current date.
@@ -181,8 +181,8 @@ describe('computeRangeRounding', () => {
181
181
  }),
182
182
  );
183
183
  const rounding = computeRangeRounding(state);
184
- expect(rounding.roundLeft).toBe(true);
185
- expect(rounding.roundRight).toBe(false);
184
+ expect(rounding.roundStart).toBe(true);
185
+ expect(rounding.roundEnd).toBe(false);
186
186
  });
187
187
 
188
188
  it('rounds left at first column even without range start', () => {
@@ -196,7 +196,7 @@ describe('computeRangeRounding', () => {
196
196
  }),
197
197
  );
198
198
  const rounding = computeRangeRounding(state);
199
- expect(rounding.roundLeft).toBe(true);
199
+ expect(rounding.roundStart).toBe(true);
200
200
  });
201
201
 
202
202
  it('rounds right at last column', () => {
@@ -210,7 +210,7 @@ describe('computeRangeRounding', () => {
210
210
  }),
211
211
  );
212
212
  const rounding = computeRangeRounding(state);
213
- expect(rounding.roundRight).toBe(true);
213
+ expect(rounding.roundEnd).toBe(true);
214
214
  });
215
215
 
216
216
  // #2715 follow-up: cap the highlight where the range meets a disabled or
@@ -230,8 +230,8 @@ describe('computeRangeRounding', () => {
230
230
  prevInRange: true,
231
231
  nextInRange: false,
232
232
  });
233
- expect(rounding.roundLeft).toBe(false);
234
- expect(rounding.roundRight).toBe(true);
233
+ expect(rounding.roundStart).toBe(false);
234
+ expect(rounding.roundEnd).toBe(true);
235
235
  });
236
236
 
237
237
  it('caps the left edge when the previous day breaks the range', () => {
@@ -248,8 +248,8 @@ describe('computeRangeRounding', () => {
248
248
  prevInRange: false,
249
249
  nextInRange: true,
250
250
  });
251
- expect(rounding.roundLeft).toBe(true);
252
- expect(rounding.roundRight).toBe(false);
251
+ expect(rounding.roundStart).toBe(true);
252
+ expect(rounding.roundEnd).toBe(false);
253
253
  });
254
254
 
255
255
  it('does not cap a mid-range day when both neighbours continue the range', () => {
@@ -266,8 +266,8 @@ describe('computeRangeRounding', () => {
266
266
  prevInRange: true,
267
267
  nextInRange: true,
268
268
  });
269
- expect(rounding.roundLeft).toBe(false);
270
- expect(rounding.roundRight).toBe(false);
269
+ expect(rounding.roundStart).toBe(false);
270
+ expect(rounding.roundEnd).toBe(false);
271
271
  });
272
272
  });
273
273
 
@@ -313,8 +313,8 @@ describe('computePreviewRounding', () => {
313
313
  }),
314
314
  );
315
315
  const rounding = computePreviewRounding(state);
316
- expect(rounding.roundLeft).toBe(true);
317
- expect(rounding.roundRight).toBe(false);
316
+ expect(rounding.roundStart).toBe(true);
317
+ expect(rounding.roundEnd).toBe(false);
318
318
  });
319
319
 
320
320
  // #2715: the hover preview needs the same disabled/outside caps as the
@@ -332,8 +332,8 @@ describe('computePreviewRounding', () => {
332
332
  prevInPreview: true,
333
333
  nextInPreview: false,
334
334
  });
335
- expect(rounding.roundLeft).toBe(false);
336
- expect(rounding.roundRight).toBe(true);
335
+ expect(rounding.roundStart).toBe(false);
336
+ expect(rounding.roundEnd).toBe(true);
337
337
  });
338
338
 
339
339
  it('caps the left edge when the previous day breaks the preview run', () => {
@@ -349,8 +349,8 @@ describe('computePreviewRounding', () => {
349
349
  prevInPreview: false,
350
350
  nextInPreview: true,
351
351
  });
352
- expect(rounding.roundLeft).toBe(true);
353
- expect(rounding.roundRight).toBe(false);
352
+ expect(rounding.roundStart).toBe(true);
353
+ expect(rounding.roundEnd).toBe(false);
354
354
  });
355
355
 
356
356
  it('does not cap a mid-preview day when both neighbours continue', () => {
@@ -366,8 +366,8 @@ describe('computePreviewRounding', () => {
366
366
  prevInPreview: true,
367
367
  nextInPreview: true,
368
368
  });
369
- expect(rounding.roundLeft).toBe(false);
370
- expect(rounding.roundRight).toBe(false);
369
+ expect(rounding.roundStart).toBe(false);
370
+ expect(rounding.roundEnd).toBe(false);
371
371
  });
372
372
  });
373
373
 
@@ -123,8 +123,8 @@ function computeHighlightRounding(input: {
123
123
  const nextBreaks =
124
124
  input.nextContinues !== undefined ? !input.nextContinues : false;
125
125
  return {
126
- roundLeft: input.isStart || input.isFirstColumn || prevBreaks,
127
- roundRight: input.isEnd || input.isLastColumn || nextBreaks,
126
+ roundStart: input.isStart || input.isFirstColumn || prevBreaks,
127
+ roundEnd: input.isEnd || input.isLastColumn || nextBreaks,
128
128
  };
129
129
  }
130
130