@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
@@ -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: 'DateRangeInput',
@@ -127,6 +127,13 @@ export const docs = {
127
127
  type: "{type: 'warning' | 'error' | 'success', message?: string}",
128
128
  description: 'Status indicator for error, warning, or success states.',
129
129
  },
130
+ {
131
+ name: 'statusVariant',
132
+ type: "'attached' | 'detached' | 'tooltip'",
133
+ description:
134
+ 'How the status message is placed relative to the input. attached overlaps directly below the input (bordered treatment); detached floats below as a separate element with spacing; tooltip hides the message box and surfaces it in a tooltip on the status icon.',
135
+ default: "'attached'",
136
+ },
130
137
  {
131
138
  name: 'labelTooltip',
132
139
  type: 'string',
@@ -138,6 +145,12 @@ export const docs = {
138
145
  description: 'Number of months in the calendar.',
139
146
  default: '2',
140
147
  },
148
+ {
149
+ name: 'width',
150
+ type: 'SizeValue',
151
+ description:
152
+ 'Width of the field (number = pixels, string used as-is, e.g. "100%"). Sizes the whole field (label, control, and status) so they stay aligned.',
153
+ },
141
154
  {
142
155
  name: 'xstyle',
143
156
  type: 'StyleXStyles',
@@ -147,6 +160,8 @@ export const docs = {
147
160
  theming: {
148
161
  targets: [
149
162
  {className: 'astryx-date-range-input', visualProps: ['size', 'status']},
163
+ {className: 'astryx-date-range-input-toggle-icon', states: ['state']},
164
+ {className: 'astryx-date-range-input-clear-icon'},
150
165
  ],
151
166
  },
152
167
  usage: {
@@ -232,7 +247,7 @@ export const docs = {
232
247
  },
233
248
  };
234
249
 
235
- /** @type {import('../docs-types').TranslationDoc} */
250
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
236
251
  export const docsDense = {
237
252
  description:
238
253
  'date range picker with dual-month calendar popover and preset ranges',
@@ -296,6 +311,7 @@ export const docsDense = {
296
311
  placeholder: 'placeholder when empty',
297
312
  size: 'trigger size',
298
313
  status: 'error/warning/success status',
314
+ statusVariant: 'How status message is placed: attached overlaps below input; detached floats below w/ spacing; tooltip hides the box and shows it on the status icon.',
299
315
  labelTooltip: 'tooltip via info icon at label end',
300
316
  numberOfMonths: 'months in calendar (default 2)',
301
317
  changeAction:
@@ -19,6 +19,9 @@ import userEvent from '@testing-library/user-event';
19
19
  import {getButton, queryButton} from '../__tests__/fastRoleQueries';
20
20
  import {DateRangeInput} from './DateRangeInput';
21
21
  import type {DateRange} from './DateRangeInput';
22
+ import {Icon} from '../Icon';
23
+ import {defineTheme} from '../theme/defineTheme';
24
+ import {generateThemeCSSFlat} from '../theme/generateThemeRules';
22
25
 
23
26
  describe('DateRangeInput', () => {
24
27
  it('renders with label', () => {
@@ -471,3 +474,140 @@ describe('DateRangeInput', () => {
471
474
  });
472
475
  });
473
476
  });
477
+
478
+ describe('DateRangeInput statusVariant forwarding', () => {
479
+ it('defaults to attached (status renders with data-variant="attached")', () => {
480
+ const {container} = render(
481
+ <DateRangeInput
482
+ label="Range"
483
+ value={null}
484
+ onChange={() => {}}
485
+ status={{type: 'error', message: 'Required'}}
486
+ />,
487
+ );
488
+ expect(container.querySelector('.astryx-field-status')).toHaveAttribute(
489
+ 'data-variant',
490
+ 'attached',
491
+ );
492
+ });
493
+
494
+ it('forwards statusVariant="detached" to the underlying Field status', () => {
495
+ const {container} = render(
496
+ <DateRangeInput
497
+ label="Range"
498
+ value={null}
499
+ onChange={() => {}}
500
+ status={{type: 'error', message: 'Required'}}
501
+ statusVariant="detached"
502
+ />,
503
+ );
504
+ expect(container.querySelector('.astryx-field-status')).toHaveAttribute(
505
+ 'data-variant',
506
+ 'detached',
507
+ );
508
+ });
509
+ });
510
+
511
+ describe('DateRangeInput icon theme targets', () => {
512
+ const RANGE: DateRange = {start: '2026-03-15', end: '2026-03-22'};
513
+
514
+ // Resolve a glyph span (the astryx-icon element) inside a given button,
515
+ // independent of the theme target class.
516
+ const iconIn = (button: HTMLElement): HTMLElement => {
517
+ const icon = button.querySelector('.astryx-icon');
518
+ if (icon == null) {
519
+ throw new Error('icon not found');
520
+ }
521
+ return icon as HTMLElement;
522
+ };
523
+
524
+ it('renders astryx-date-range-input-clear-icon on the clear glyph', () => {
525
+ render(
526
+ <DateRangeInput
527
+ label="Range"
528
+ value={RANGE}
529
+ onChange={() => {}}
530
+ hasClear
531
+ />,
532
+ );
533
+ // The stable target lands on the icon element itself (not the button), so a
534
+ // theme can restyle just this glyph (color, size, hover) via defineTheme —
535
+ // a button-level target could not reach the icon's own color/size.
536
+ const icon = iconIn(getButton('Clear Range'));
537
+ expect(icon).toHaveClass('astryx-date-range-input-clear-icon');
538
+ expect(icon).toHaveClass('astryx-icon');
539
+ });
540
+
541
+ it('renders astryx-date-range-input-toggle-icon on the calendar-toggle glyph, reflecting state', () => {
542
+ render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
543
+ const icon = iconIn(getButton('Open calendar'));
544
+ expect(icon).toHaveClass('astryx-date-range-input-toggle-icon');
545
+ expect(icon).toHaveClass('astryx-icon');
546
+ // Closed by default → data-state="collapsed".
547
+ expect(icon).toHaveAttribute('data-state', 'collapsed');
548
+ });
549
+
550
+ it('renders the default icons (secondary color, sm size) byte-identically', () => {
551
+ // Pixel-identical default guard: the glyphs must carry the exact same
552
+ // StyleX color/size classes as a standalone secondary/sm icon. The added
553
+ // target class is purely additive — it changes nothing until a theme
554
+ // targets it.
555
+ render(
556
+ <DateRangeInput
557
+ label="Range"
558
+ value={RANGE}
559
+ onChange={() => {}}
560
+ hasClear
561
+ />,
562
+ );
563
+ const clearIcon = iconIn(getButton('Clear Range'));
564
+
565
+ const {container: refContainer} = render(
566
+ <Icon icon="close" size="sm" color="secondary" />,
567
+ );
568
+ const refIcon = refContainer.querySelector('.astryx-icon') as HTMLElement;
569
+
570
+ const styleClasses = (el: HTMLElement) =>
571
+ el.className
572
+ .split(' ')
573
+ .filter(
574
+ c =>
575
+ c !== 'astryx-date-range-input-clear-icon' &&
576
+ c !== 'astryx-date-range-input-toggle-icon',
577
+ )
578
+ .sort();
579
+
580
+ expect(styleClasses(clearIcon)).toEqual(styleClasses(refIcon));
581
+ });
582
+
583
+ it('exposes the icon targets so a theme reaches icon color, size, and hover', () => {
584
+ // jsdom cannot resolve the @layer cascade, so the DOM-class assertions
585
+ // above (targets land on the icon elements) plus this generation assertion
586
+ // (the theme emits same-element icon rules in @layer astryx-theme) together
587
+ // prove the seam: a same-element theme rule wins over the icon's own
588
+ // base-layer color/size.
589
+ const theme = defineTheme({
590
+ name: 'date-range-input-icon-test',
591
+ components: {
592
+ 'date-range-input-clear-icon': {
593
+ base: {
594
+ width: '12px',
595
+ height: '12px',
596
+ fontSize: '12px',
597
+ color: 'var(--color-icon-secondary)',
598
+ ':hover': {color: 'var(--color-icon-primary)'},
599
+ },
600
+ },
601
+ 'date-range-input-toggle-icon': {
602
+ base: {width: '14px', height: '14px', fontSize: '14px'},
603
+ },
604
+ },
605
+ });
606
+ const css = generateThemeCSSFlat(theme);
607
+ expect(css).toContain('.astryx-date-range-input-clear-icon');
608
+ expect(css).toContain('.astryx-date-range-input-toggle-icon');
609
+ expect(css).toContain(':hover');
610
+ expect(css).toContain('12px');
611
+ expect(css).toContain('14px');
612
+ });
613
+ });
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/DateRangeInput/DateRangeInput.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/DateRangeInput/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/DateRangeInput.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/DateRangeInput/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/DateRangeInput/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import {useId, useCallback, useMemo, useOptimistic, useTransition} from 'react';
@@ -25,7 +25,6 @@ import {
25
25
  DATE_FORMAT_SHORT,
26
26
  DATE_FORMAT_SHORT_WITH_YEAR,
27
27
  } from '../utils/plainDate';
28
- import type {IconName} from '../Icon';
29
28
  import {
30
29
  colorVars,
31
30
  sizeVars,
@@ -38,11 +37,11 @@ import {
38
37
  import {
39
38
  Field,
40
39
  type InputStatus,
41
- type InputStatusType,
42
40
  inputWrapperStyles,
43
41
  inputStatusBorderStyles,
44
42
  inputStatusHoverShadowStyles,
45
43
  inputStatusFocusWithinStyles,
44
+ type FieldStatusVariant,
46
45
  } from '../Field';
47
46
  import {Icon} from '../Icon';
48
47
  import {Spinner} from '../Spinner';
@@ -53,6 +52,7 @@ import {mergeProps} from '../utils';
53
52
  import type {BaseProps} from '../BaseProps';
54
53
  import type {SizeValue} from '../utils/types';
55
54
  import {useSize} from '../SizeContext/SizeContext';
55
+ import {useInputStatusIcon} from '../hooks/useInputStatusIcon';
56
56
  import {themeProps} from '../utils/themeProps';
57
57
  import {useTranslator} from '../i18n';
58
58
 
@@ -127,9 +127,9 @@ const styles = stylex.create({
127
127
  flexDirection: 'column',
128
128
  gap: spacingVars['--spacing-1'],
129
129
  padding: spacingVars['--spacing-3'],
130
- borderRightWidth: borderVars['--border-width'],
131
- borderRightStyle: 'solid',
132
- borderRightColor: colorVars['--color-border-emphasized'],
130
+ borderInlineEndWidth: borderVars['--border-width'],
131
+ borderInlineEndStyle: 'solid',
132
+ borderInlineEndColor: colorVars['--color-border-emphasized'],
133
133
  minWidth: 140,
134
134
  },
135
135
  presetButton: {
@@ -330,6 +330,14 @@ export interface DateRangeInputProps extends Omit<
330
330
  * Status indicator for the input.
331
331
  */
332
332
  status?: InputStatus;
333
+ /**
334
+ * How the status message is placed relative to the input.
335
+ * - 'attached': message overlaps directly below the input (bordered treatment)
336
+ * - 'detached': message floats below as a separate element with spacing
337
+ * - 'tooltip': no message box; the status icon becomes a focusable info-tip button that reveals the message on hover, keyboard focus, or tap
338
+ * @default 'attached'
339
+ */
340
+ statusVariant?: FieldStatusVariant;
333
341
 
334
342
  /**
335
343
  * Width of the field. Numbers are treated as pixels, strings are used as-is
@@ -385,6 +393,7 @@ export function DateRangeInput({
385
393
  placeholder: placeholderFromProps,
386
394
  size: sizeProp,
387
395
  status,
396
+ statusVariant = 'attached',
388
397
  labelTooltip,
389
398
  numberOfMonths = 2,
390
399
  width,
@@ -422,25 +431,19 @@ export function DateRangeInput({
422
431
  isEnabled: showsDisabledMessage,
423
432
  });
424
433
 
425
- const statusIconMap: Record<InputStatusType, IconName> = {
426
- warning: 'warning',
427
- error: 'error',
428
- success: 'success',
429
- };
430
-
431
- const statusIconColorMap: Record<
432
- InputStatusType,
433
- 'warning' | 'error' | 'success'
434
- > = {
435
- warning: 'warning',
436
- error: 'error',
437
- success: 'success',
438
- };
434
+ const {statusIcon, describedBy: statusTooltipDescribedBy} =
435
+ useInputStatusIcon({
436
+ status,
437
+ statusVariant,
438
+ });
439
439
 
440
440
  const ariaDescribedBy =
441
441
  [
442
442
  description ? descriptionID : null,
443
- status?.message ? statusMessageID : null,
443
+ statusVariant !== 'tooltip' && status?.message ? statusMessageID : null,
444
+ // The tooltip variant renders no message box; describe the input by the
445
+ // tooltip's content instead so the status is still announced.
446
+ statusTooltipDescribedBy,
444
447
  showsDisabledMessage ? disabledMessageTooltip.describedBy : null,
445
448
  ]
446
449
  .filter(Boolean)
@@ -529,6 +532,7 @@ export function DateRangeInput({
529
532
  }
530
533
  : undefined
531
534
  }
535
+ statusVariant={statusVariant}
532
536
  labelTooltip={labelTooltip}
533
537
  width={width}>
534
538
  <div
@@ -550,7 +554,9 @@ export function DateRangeInput({
550
554
  sizeStyles[size],
551
555
  isEffectivelyDisabled && inputWrapperStyles.disabled,
552
556
  status && inputStatusBorderStyles[status.type],
553
- status && inputStatusHoverShadowStyles[status.type],
557
+ status &&
558
+ !isEffectivelyDisabled &&
559
+ inputStatusHoverShadowStyles[status.type],
554
560
  status && inputStatusFocusWithinStyles[status.type],
555
561
  xstyle,
556
562
  ),
@@ -571,7 +577,14 @@ export function DateRangeInput({
571
577
  styles.iconButton,
572
578
  isEffectivelyDisabled && styles.iconButtonDisabled,
573
579
  )}>
574
- <Icon icon="calendar" size="sm" color="secondary" />
580
+ <Icon
581
+ icon="calendar"
582
+ size="sm"
583
+ color="secondary"
584
+ {...themeProps('date-range-input-toggle-icon', {
585
+ state: popover.isOpen ? 'expanded' : 'collapsed',
586
+ })}
587
+ />
575
588
  </button>
576
589
  <button
577
590
  ref={ref}
@@ -604,17 +617,16 @@ export function DateRangeInput({
604
617
  onClick={handleClear}
605
618
  aria-label={t('@astryx.dateInput.clear', {label})}
606
619
  {...stylex.props(styles.iconButton)}>
607
- <Icon icon="close" size="sm" color="secondary" />
620
+ <Icon
621
+ icon="close"
622
+ size="sm"
623
+ color="secondary"
624
+ {...themeProps('date-range-input-clear-icon')}
625
+ />
608
626
  </button>
609
627
  )}
610
628
  {isBusy && <Spinner size="sm" />}
611
- {status && (
612
- <Icon
613
- icon={statusIconMap[status.type]}
614
- size="md"
615
- color={statusIconColorMap[status.type]}
616
- />
617
- )}
629
+ {statusIcon}
618
630
  </div>
619
631
  {popover.render(
620
632
  <div {...stylex.props(styles.popoverLayout)}>
@@ -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: 'DateTimeInput',
@@ -173,6 +173,12 @@ export const docs = {
173
173
  description: 'Number of months displayed simultaneously in the calendar.',
174
174
  default: '1',
175
175
  },
176
+ {
177
+ name: 'width',
178
+ type: 'SizeValue',
179
+ description:
180
+ 'Width of the field (number = pixels, string used as-is, e.g. "100%"). Sizes the whole field (label, control, and status) so they stay aligned.',
181
+ },
176
182
  {
177
183
  name: 'xstyle',
178
184
  type: 'StyleXStyles',
@@ -183,6 +189,14 @@ export const docs = {
183
189
  theming: {
184
190
  targets: [
185
191
  {className: 'astryx-date-time-input', visualProps: ['size', 'status']},
192
+ {
193
+ className: 'astryx-date-time-input-date-segment',
194
+ visualProps: ['size', 'status'],
195
+ },
196
+ {
197
+ className: 'astryx-date-time-input-time-segment',
198
+ visualProps: ['size', 'status'],
199
+ },
186
200
  ],
187
201
  },
188
202
  usage: {
@@ -274,7 +288,7 @@ export const docs = {
274
288
  },
275
289
  };
276
290
 
277
- /** @type {import('../docs-types').ComponentDoc} */
291
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
278
292
  export const docsZh = {
279
293
  name: 'DateTimeInput',
280
294
  displayName: 'Date Time Input',
@@ -469,16 +483,23 @@ export const docsZh = {
469
483
  description:
470
484
  '用于布局自定义的 StyleX 样式。必须是 stylex.create() 的值。',
471
485
  },
472
-
473
486
  ],
474
487
  theming: {
475
488
  targets: [
476
489
  {className: 'astryx-date-time-input', visualProps: ['size', 'status']},
490
+ {
491
+ className: 'astryx-date-time-input-date-segment',
492
+ visualProps: ['size', 'status'],
493
+ },
494
+ {
495
+ className: 'astryx-date-time-input-time-segment',
496
+ visualProps: ['size', 'status'],
497
+ },
477
498
  ],
478
499
  },
479
500
  };
480
501
 
481
- /** @type {import('../docs-types').TranslationDoc} */
502
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
482
503
  export const docsDense = {
483
504
  description:
484
505
  'combined date + time picker with calendar popover and time input',
@@ -15,6 +15,8 @@ import userEvent from '@testing-library/user-event';
15
15
  import {getButton, queryButton} from '../__tests__/fastRoleQueries';
16
16
  import {DateTimeInput} from './DateTimeInput';
17
17
  import type {ISODateTimeString} from './DateTimeInput';
18
+ import {defineTheme} from '../theme/defineTheme';
19
+ import {generateThemeCSSFlat} from '../theme/generateThemeRules';
18
20
 
19
21
  describe('DateTimeInput', () => {
20
22
  it('renders with label', () => {
@@ -814,4 +816,114 @@ describe('DateTimeInput', () => {
814
816
  expect(onChange.mock.calls[0][0]).toContain('14:31');
815
817
  });
816
818
  });
819
+ // ===========================================================================
820
+ // Segment theme targets (#4075)
821
+ // ===========================================================================
822
+
823
+ describe('segment theme targets', () => {
824
+ // The root only publishes `astryx-date-time-input`; the date and time
825
+ // wrappers were anonymous nodes carrying hashed atomic classes only, so a
826
+ // theme that restyles input geometry through the text-input/date-input/
827
+ // time-input targets could not reach them and DateTimeInput rendered
828
+ // shorter than every other input under that theme.
829
+
830
+ it('renders the date segment target on the date wrapper', () => {
831
+ render(<DateTimeInput label="Meeting" onChange={() => {}} />);
832
+ const wrapper = screen
833
+ .getByLabelText('Meeting')
834
+ .closest('.astryx-date-time-input-date-segment');
835
+
836
+ expect(wrapper).not.toBeNull();
837
+ // The wrapper is the input's own container, not an ancestor further up.
838
+ expect(wrapper).toBe(screen.getByLabelText('Meeting').parentElement);
839
+ });
840
+
841
+ it('renders the time segment target on the time wrapper', () => {
842
+ render(<DateTimeInput label="Meeting" onChange={() => {}} />);
843
+ const wrapper = screen
844
+ .getByLabelText('Meeting time')
845
+ .closest('.astryx-date-time-input-time-segment');
846
+
847
+ expect(wrapper).not.toBeNull();
848
+ expect(wrapper).toBe(screen.getByLabelText('Meeting time').parentElement);
849
+ });
850
+
851
+ it('reflects size on both segments so themes can restyle geometry', () => {
852
+ render(<DateTimeInput label="Meeting" size="lg" onChange={() => {}} />);
853
+
854
+ const date = screen
855
+ .getByLabelText('Meeting')
856
+ .closest('.astryx-date-time-input-date-segment');
857
+ const time = screen
858
+ .getByLabelText('Meeting time')
859
+ .closest('.astryx-date-time-input-time-segment');
860
+
861
+ expect(date).toHaveAttribute('data-size', 'lg');
862
+ expect(date).toHaveClass('lg');
863
+ expect(time).toHaveAttribute('data-size', 'lg');
864
+ expect(time).toHaveClass('lg');
865
+ });
866
+
867
+ it('reflects status on both segments, mirroring the root', () => {
868
+ render(
869
+ <DateTimeInput
870
+ label="Meeting"
871
+ status={{type: 'error', message: 'Required'}}
872
+ onChange={() => {}}
873
+ />,
874
+ );
875
+
876
+ const date = screen
877
+ .getByLabelText('Meeting')
878
+ .closest('.astryx-date-time-input-date-segment');
879
+ const time = screen
880
+ .getByLabelText('Meeting time')
881
+ .closest('.astryx-date-time-input-time-segment');
882
+
883
+ expect(date).toHaveAttribute('data-status', 'error');
884
+ expect(time).toHaveAttribute('data-status', 'error');
885
+ });
886
+
887
+ it('omits data-status when there is no status, like the root does', () => {
888
+ render(<DateTimeInput label="Meeting" onChange={() => {}} />);
889
+
890
+ const date = screen
891
+ .getByLabelText('Meeting')
892
+ .closest('.astryx-date-time-input-date-segment');
893
+
894
+ expect(date).not.toHaveAttribute('data-status');
895
+ });
896
+
897
+ it('keeps the root target intact', () => {
898
+ const {container} = render(
899
+ <DateTimeInput label="Meeting" onChange={() => {}} />,
900
+ );
901
+ // Additive change — the existing root target still renders.
902
+ expect(container.querySelector('.astryx-date-time-input')).not.toBeNull();
903
+ });
904
+
905
+ it('exposes both segments as themeable defineTheme targets', () => {
906
+ // jsdom cannot resolve the @layer cascade, so the generated CSS is what
907
+ // proves a theme can actually reach these nodes.
908
+ const theme = defineTheme({
909
+ name: 'date-time-input-segments-test',
910
+ components: {
911
+ 'date-time-input-date-segment': {
912
+ base: {blockSize: 'var(--size-element-lg)'},
913
+ lg: {paddingInline: 'var(--spacing-4)'},
914
+ },
915
+ 'date-time-input-time-segment': {
916
+ base: {blockSize: 'var(--size-element-lg)'},
917
+ },
918
+ },
919
+ });
920
+ const css = generateThemeCSSFlat(theme);
921
+
922
+ expect(css).toContain('.astryx-date-time-input-date-segment {');
923
+ expect(css).toContain('.astryx-date-time-input-date-segment.lg');
924
+ expect(css).toContain('.astryx-date-time-input-time-segment {');
925
+ expect(css).toContain('block-size: var(--size-element-lg)');
926
+ expect(css).toContain('padding-inline: var(--spacing-4)');
927
+ });
928
+ });
817
929
  });