@astryxdesign/core 0.1.4-canary.fd7ab46 → 0.1.4

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 (579) hide show
  1. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  2. package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
  3. package/dist/AlertDialog/AlertDialog.js +18 -20
  4. package/dist/AlertDialog/useImperativeAlertDialog.js +3 -3
  5. package/dist/AppShell/AppShell.d.ts +1 -1
  6. package/dist/AppShell/AppShell.d.ts.map +1 -1
  7. package/dist/AppShell/AppShell.js +53 -55
  8. package/dist/AspectRatio/AspectRatio.d.ts +10 -48
  9. package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
  10. package/dist/AspectRatio/AspectRatio.js +12 -33
  11. package/dist/AspectRatio/index.d.ts +1 -1
  12. package/dist/AspectRatio/index.d.ts.map +1 -1
  13. package/dist/Avatar/Avatar.d.ts.map +1 -1
  14. package/dist/Avatar/Avatar.js +25 -27
  15. package/dist/Avatar/AvatarStatusDot.js +5 -5
  16. package/dist/AvatarGroup/AvatarGroup.js +5 -5
  17. package/dist/AvatarGroup/AvatarGroupOverflow.js +5 -5
  18. package/dist/Badge/Badge.js +3 -3
  19. package/dist/Banner/Banner.d.ts.map +1 -1
  20. package/dist/Banner/Banner.js +25 -32
  21. package/dist/Blockquote/Blockquote.js +7 -7
  22. package/dist/Breadcrumbs/BreadcrumbItem.js +17 -17
  23. package/dist/Breadcrumbs/Breadcrumbs.js +7 -7
  24. package/dist/Button/Button.js +19 -19
  25. package/dist/ButtonGroup/ButtonGroup.js +7 -7
  26. package/dist/Calendar/Calendar.d.ts.map +1 -1
  27. package/dist/Calendar/Calendar.js +48 -68
  28. package/dist/Calendar/dayCellUtils.d.ts.map +1 -1
  29. package/dist/Calendar/styles.d.ts +2 -2
  30. package/dist/Calendar/styles.d.ts.map +1 -1
  31. package/dist/Calendar/styles.js +2 -2
  32. package/dist/Card/Card.d.ts +2 -4
  33. package/dist/Card/Card.d.ts.map +1 -1
  34. package/dist/Card/Card.js +10 -18
  35. package/dist/Carousel/Carousel.d.ts.map +1 -1
  36. package/dist/Carousel/Carousel.js +21 -24
  37. package/dist/Carousel/carousel.markers.stylex.d.ts +7 -0
  38. package/dist/Carousel/carousel.markers.stylex.d.ts.map +1 -0
  39. package/dist/Carousel/carousel.markers.stylex.js +12 -0
  40. package/dist/Center/Center.js +3 -3
  41. package/dist/Chat/ChatComposer.js +23 -23
  42. package/dist/Chat/ChatComposerDrawer.js +14 -14
  43. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  44. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  45. package/dist/Chat/ChatComposerInput.js +15 -27
  46. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  47. package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
  48. package/dist/Chat/ChatDictationButton.js +11 -13
  49. package/dist/Chat/ChatLayout.js +17 -17
  50. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  51. package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
  52. package/dist/Chat/ChatLayoutScrollButton.js +10 -12
  53. package/dist/Chat/ChatMessage.js +12 -12
  54. package/dist/Chat/ChatMessageBubble.js +7 -7
  55. package/dist/Chat/ChatMessageList.js +14 -14
  56. package/dist/Chat/ChatMessageMetadata.d.ts +1 -1
  57. package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
  58. package/dist/Chat/ChatMessageMetadata.js +12 -14
  59. package/dist/Chat/ChatPastedTextToken.js +13 -13
  60. package/dist/Chat/ChatSendButton.js +3 -3
  61. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  62. package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
  63. package/dist/Chat/ChatSystemMessage.js +17 -17
  64. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  65. package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
  66. package/dist/Chat/ChatTokenizedText.js +15 -24
  67. package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
  68. package/dist/Chat/ChatToolCalls.js +74 -81
  69. package/dist/Chat/index.d.ts +1 -1
  70. package/dist/Chat/index.d.ts.map +1 -1
  71. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  72. package/dist/Chat/useTriggerMenu.js +15 -15
  73. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  74. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  75. package/dist/CheckboxInput/CheckboxInput.js +23 -25
  76. package/dist/CheckboxList/CheckboxList.js +9 -9
  77. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  78. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  79. package/dist/CheckboxList/CheckboxListItem.js +6 -8
  80. package/dist/Citation/Citation.js +10 -10
  81. package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
  82. package/dist/ClickableCard/ClickableCard.js +9 -32
  83. package/dist/Code/Code.js +3 -3
  84. package/dist/CodeBlock/CodeBlock.d.ts +1 -10
  85. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  86. package/dist/CodeBlock/CodeBlock.js +52 -88
  87. package/dist/Collapsible/Collapsible.d.ts +3 -9
  88. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  89. package/dist/Collapsible/Collapsible.js +22 -110
  90. package/dist/Collapsible/CollapsibleGroup.d.ts +7 -39
  91. package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
  92. package/dist/Collapsible/CollapsibleGroup.js +12 -73
  93. package/dist/Collapsible/CollapsibleGroupContext.d.ts +0 -31
  94. package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
  95. package/dist/Collapsible/CollapsibleGroupContext.js +3 -33
  96. package/dist/Collapsible/index.d.ts +0 -1
  97. package/dist/Collapsible/index.d.ts.map +1 -1
  98. package/dist/Collapsible/useCollapsible.d.ts +1 -4
  99. package/dist/Collapsible/useCollapsible.d.ts.map +1 -1
  100. package/dist/Collapsible/useCollapsible.js +6 -20
  101. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  102. package/dist/CommandPalette/CommandPalette.js +34 -36
  103. package/dist/CommandPalette/CommandPaletteEmpty.js +3 -3
  104. package/dist/CommandPalette/CommandPaletteFooter.js +16 -16
  105. package/dist/CommandPalette/CommandPaletteGroup.js +5 -5
  106. package/dist/CommandPalette/CommandPaletteInput.js +13 -13
  107. package/dist/CommandPalette/CommandPaletteItem.js +3 -3
  108. package/dist/CommandPalette/CommandPaletteList.js +3 -3
  109. package/dist/ContextMenu/ContextMenu.d.ts +2 -7
  110. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  111. package/dist/ContextMenu/ContextMenu.js +43 -76
  112. package/dist/DateInput/DateInput.js +18 -18
  113. package/dist/DateRangeInput/DateRangeInput.js +21 -21
  114. package/dist/DateTimeInput/DateTimeInput.d.ts +2 -5
  115. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  116. package/dist/DateTimeInput/DateTimeInput.js +26 -30
  117. package/dist/DateTimeInput/index.d.ts +1 -1
  118. package/dist/DateTimeInput/index.d.ts.map +1 -1
  119. package/dist/Dialog/Dialog.js +9 -9
  120. package/dist/Dialog/DialogHeader.js +16 -16
  121. package/dist/Dialog/useImperativeDialog.js +3 -3
  122. package/dist/Divider/Divider.js +7 -7
  123. package/dist/DropdownMenu/DropdownMenu.js +10 -10
  124. package/dist/DropdownMenu/DropdownMenuItem.d.ts +17 -2
  125. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  126. package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
  127. package/dist/DropdownMenu/renderDropdownItems.js +10 -10
  128. package/dist/EmptyState/EmptyState.js +9 -9
  129. package/dist/Field/Field.js +17 -17
  130. package/dist/Field/FieldLabel.js +15 -15
  131. package/dist/Field/InputClearButton.js +5 -5
  132. package/dist/FieldStatus/FieldStatus.js +3 -3
  133. package/dist/FileInput/FileInput.js +29 -29
  134. package/dist/FormLayout/FormLayout.js +5 -5
  135. package/dist/Grid/Grid.d.ts +3 -4
  136. package/dist/Grid/Grid.d.ts.map +1 -1
  137. package/dist/Grid/Grid.js +12 -29
  138. package/dist/Grid/GridSpan.js +3 -3
  139. package/dist/HStack/HStack.js +3 -3
  140. package/dist/Heading/Heading.js +10 -10
  141. package/dist/HoverCard/HoverCard.js +9 -9
  142. package/dist/HoverCard/useHoverCard.d.ts +1 -5
  143. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  144. package/dist/HoverCard/useHoverCard.js +3 -3
  145. package/dist/Icon/Icon.d.ts.map +1 -1
  146. package/dist/Icon/Icon.js +12 -16
  147. package/dist/Icon/defaultIcons.js +116 -116
  148. package/dist/IconButton/IconButton.js +3 -3
  149. package/dist/InputGroup/InputGroup.js +11 -11
  150. package/dist/InputGroup/InputGroupText.js +3 -3
  151. package/dist/Item/Item.js +18 -18
  152. package/dist/Kbd/Kbd.js +5 -5
  153. package/dist/Layer/LayerProvider.js +7 -7
  154. package/dist/Layer/useLayer.d.ts +2 -29
  155. package/dist/Layer/useLayer.d.ts.map +1 -1
  156. package/dist/Layer/useLayer.js +31 -44
  157. package/dist/Layout/Layout.js +21 -21
  158. package/dist/Layout/LayoutContent.js +3 -3
  159. package/dist/Layout/LayoutFooter.js +5 -5
  160. package/dist/Layout/LayoutHeader.js +5 -5
  161. package/dist/Layout/LayoutPanel.js +3 -3
  162. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  163. package/dist/Lightbox/Lightbox.js +31 -55
  164. package/dist/Lightbox/useLightbox.js +3 -3
  165. package/dist/Link/Link.js +15 -15
  166. package/dist/Link/LinkProvider.js +3 -3
  167. package/dist/Link/useLinkify.js +3 -3
  168. package/dist/List/List.js +11 -11
  169. package/dist/List/ListItem.js +11 -11
  170. package/dist/Markdown/Markdown.d.ts.map +1 -1
  171. package/dist/Markdown/Markdown.js +102 -102
  172. package/dist/MetadataList/MetadataList.js +10 -10
  173. package/dist/MetadataList/MetadataListItem.js +15 -15
  174. package/dist/MobileNav/MobileNav.js +15 -15
  175. package/dist/MobileNav/MobileNavToggle.js +5 -5
  176. package/dist/MoreMenu/MoreMenu.js +3 -3
  177. package/dist/MultiSelector/MultiSelector.js +56 -56
  178. package/dist/NavIcon/NavIcon.js +3 -3
  179. package/dist/NavMenu/NavHeadingMenu.js +5 -5
  180. package/dist/NavMenu/NavHeadingMenuItem.js +8 -8
  181. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  182. package/dist/NumberInput/NumberInput.js +32 -48
  183. package/dist/Outline/Outline.js +15 -15
  184. package/dist/OverflowList/OverflowList.js +8 -8
  185. package/dist/Overlay/Overlay.js +3 -3
  186. package/dist/Overlay/OverlayScrim.js +5 -5
  187. package/dist/Overlay/useOverlay.js +3 -3
  188. package/dist/Pagination/Pagination.d.ts +1 -1
  189. package/dist/Pagination/Pagination.d.ts.map +1 -1
  190. package/dist/Pagination/Pagination.js +72 -125
  191. package/dist/Popover/Popover.js +16 -16
  192. package/dist/Popover/usePopover.js +7 -7
  193. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  194. package/dist/PowerSearch/PowerSearch.js +92 -110
  195. package/dist/PowerSearch/PowerSearchEditPopover.js +84 -84
  196. package/dist/PowerSearch/PowerSearchFilterEditor.js +3 -3
  197. package/dist/PowerSearch/PowerSearchToken.js +5 -5
  198. package/dist/PowerSearch/PowerSearchValueEditor.js +54 -54
  199. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  200. package/dist/ProgressBar/ProgressBar.js +18 -25
  201. package/dist/RadioList/RadioList.js +7 -7
  202. package/dist/RadioList/RadioListItem.d.ts +1 -1
  203. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  204. package/dist/RadioList/RadioListItem.js +21 -24
  205. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  206. package/dist/Resizable/ResizeHandle.js +10 -28
  207. package/dist/Section/Section.js +5 -5
  208. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  209. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  210. package/dist/SegmentedControl/SegmentedControl.js +10 -32
  211. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  212. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  213. package/dist/SegmentedControl/SegmentedControlItem.js +12 -18
  214. package/dist/SelectableCard/SelectableCard.js +5 -5
  215. package/dist/Selector/Selector.js +46 -46
  216. package/dist/Selector/SelectorOption.js +3 -3
  217. package/dist/SideNav/SideNav.d.ts.map +1 -1
  218. package/dist/SideNav/SideNav.js +34 -38
  219. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  220. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  221. package/dist/SideNav/SideNavCollapseButton.js +6 -8
  222. package/dist/SideNav/SideNavHeading.js +87 -87
  223. package/dist/SideNav/SideNavItem.js +42 -42
  224. package/dist/SideNav/SideNavSection.d.ts +1 -1
  225. package/dist/SideNav/SideNavSection.d.ts.map +1 -1
  226. package/dist/SideNav/SideNavSection.js +16 -18
  227. package/dist/Skeleton/Skeleton.js +3 -3
  228. package/dist/Slider/Slider.js +23 -23
  229. package/dist/Spinner/Spinner.js +9 -9
  230. package/dist/StatusDot/StatusDot.js +5 -5
  231. package/dist/Switch/Switch.d.ts +4 -8
  232. package/dist/Switch/Switch.d.ts.map +1 -1
  233. package/dist/Switch/Switch.js +29 -34
  234. package/dist/TabList/Tab.js +18 -18
  235. package/dist/TabList/TabList.js +5 -5
  236. package/dist/TabList/TabMenu.d.ts.map +1 -1
  237. package/dist/TabList/TabMenu.js +30 -57
  238. package/dist/TabList/tab.markers.stylex.d.ts +1 -1
  239. package/dist/Table/BaseTable.d.ts.map +1 -1
  240. package/dist/Table/BaseTable.js +39 -50
  241. package/dist/Table/Table.js +7 -7
  242. package/dist/Table/TableBody.d.ts +1 -1
  243. package/dist/Table/TableBody.d.ts.map +1 -1
  244. package/dist/Table/TableBody.js +5 -9
  245. package/dist/Table/TableCell.js +3 -3
  246. package/dist/Table/TableFooter.d.ts +1 -1
  247. package/dist/Table/TableFooter.d.ts.map +1 -1
  248. package/dist/Table/TableFooter.js +5 -9
  249. package/dist/Table/TableHeader.d.ts +1 -1
  250. package/dist/Table/TableHeader.d.ts.map +1 -1
  251. package/dist/Table/TableHeader.js +5 -9
  252. package/dist/Table/TableHeaderCell.js +3 -3
  253. package/dist/Table/TableRow.js +5 -5
  254. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  255. package/dist/Table/plugins/columnResize/useTableColumnResize.js +11 -14
  256. package/dist/Table/plugins/filtering/useTableFiltering.js +71 -71
  257. package/dist/Table/plugins/pagination/paginateData.d.ts.map +1 -1
  258. package/dist/Table/plugins/pagination/paginateData.js +1 -5
  259. package/dist/Table/plugins/pagination/useTablePagination.js +7 -7
  260. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -22
  261. package/dist/Table/plugins/selection/useTableSelection.js +18 -18
  262. package/dist/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
  263. package/dist/Table/plugins/selection/useTableSelectionState.js +1 -11
  264. package/dist/Table/plugins/sortable/useTableSortable.js +17 -17
  265. package/dist/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
  266. package/dist/Table/plugins/sortable/useTableSortableState.js +4 -8
  267. package/dist/Table/tableContextMenu.js +9 -9
  268. package/dist/Text/Text.js +10 -10
  269. package/dist/TextArea/TextArea.js +14 -14
  270. package/dist/TextInput/TextInput.js +15 -15
  271. package/dist/Thumbnail/Thumbnail.d.ts +2 -3
  272. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  273. package/dist/Thumbnail/Thumbnail.js +29 -30
  274. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  275. package/dist/TimeInput/TimeInput.js +21 -26
  276. package/dist/Timestamp/Timestamp.d.ts +1 -1
  277. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  278. package/dist/Timestamp/Timestamp.js +26 -37
  279. package/dist/Toast/Toast.d.ts.map +1 -1
  280. package/dist/Toast/Toast.js +17 -25
  281. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  282. package/dist/Toast/ToastViewport.js +11 -23
  283. package/dist/Toast/useToast.js +4 -4
  284. package/dist/ToggleButton/ToggleButton.js +12 -12
  285. package/dist/ToggleButton/ToggleButtonGroup.js +5 -5
  286. package/dist/Token/Token.js +21 -21
  287. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  288. package/dist/Tokenizer/Tokenizer.js +34 -36
  289. package/dist/Toolbar/Toolbar.js +18 -18
  290. package/dist/Tooltip/Tooltip.js +11 -11
  291. package/dist/Tooltip/useTooltip.d.ts +1 -5
  292. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  293. package/dist/Tooltip/useTooltip.js +3 -3
  294. package/dist/TopNav/TopNav.js +32 -32
  295. package/dist/TopNav/TopNavHeading.js +67 -67
  296. package/dist/TopNav/TopNavItem.js +5 -5
  297. package/dist/TopNav/TopNavMegaMenu.js +30 -30
  298. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  299. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
  300. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +14 -25
  301. package/dist/TopNav/TopNavMegaMenuItem.js +16 -16
  302. package/dist/TopNav/TopNavMenu.js +32 -32
  303. package/dist/TreeList/TreeList.js +8 -8
  304. package/dist/TreeList/TreeListBranches.js +11 -11
  305. package/dist/TreeList/TreeListItem.js +30 -30
  306. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  307. package/dist/Typeahead/BaseTypeahead.js +20 -23
  308. package/dist/Typeahead/Typeahead.js +12 -12
  309. package/dist/Typeahead/TypeaheadItem.js +10 -10
  310. package/dist/VStack/VStack.js +3 -3
  311. package/dist/astryx.css +0 -7
  312. package/dist/astryx.umd.js +60 -60
  313. package/dist/astryx.umd.js.map +4 -4
  314. package/dist/docs-types.d.ts +2 -8
  315. package/dist/docs-types.d.ts.map +1 -1
  316. package/dist/hooks/focusableSelector.d.ts +1 -1
  317. package/dist/hooks/focusableSelector.d.ts.map +1 -1
  318. package/dist/hooks/focusableSelector.js +1 -1
  319. package/dist/hooks/index.d.ts +0 -2
  320. package/dist/hooks/index.d.ts.map +1 -1
  321. package/dist/hooks/index.js +0 -1
  322. package/dist/hooks/useFocusTrap.d.ts +0 -3
  323. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  324. package/dist/hooks/useFocusTrap.js +1 -38
  325. package/dist/hooks/useInteractiveRole.d.ts +2 -6
  326. package/dist/hooks/useInteractiveRole.d.ts.map +1 -1
  327. package/dist/hooks/useInteractiveRole.js +2 -6
  328. package/dist/hooks/useKeyboardHint.js +9 -9
  329. package/dist/hooks/useStreamingText.d.ts +1 -3
  330. package/dist/hooks/useStreamingText.d.ts.map +1 -1
  331. package/dist/hooks/useStreamingText.js +5 -14
  332. package/dist/theme/MediaTheme.js +3 -3
  333. package/dist/theme/Theme.js +7 -7
  334. package/dist/theme/defineTheme.d.ts +1 -1
  335. package/dist/theme/defineTheme.d.ts.map +1 -1
  336. package/dist/theme/expandColorScale.d.ts.map +1 -1
  337. package/dist/theme/expandColorScale.js +3 -10
  338. package/dist/theme/hct.d.ts +15 -0
  339. package/dist/theme/hct.d.ts.map +1 -1
  340. package/dist/theme/hct.js +9 -9
  341. package/dist/theme/syntax/SyntaxTheme.js +5 -5
  342. package/dist/theme/tokens.d.ts +2 -10
  343. package/dist/theme/tokens.d.ts.map +1 -1
  344. package/dist/theme/tokens.js +4 -220
  345. package/dist/utils/index.d.ts +0 -3
  346. package/dist/utils/index.d.ts.map +1 -1
  347. package/dist/utils/index.js +1 -3
  348. package/dist/utils/timeParser.d.ts.map +1 -1
  349. package/dist/utils/timeParser.js +5 -8
  350. package/package.json +3 -3
  351. package/src/AlertDialog/AlertDialog.doc.mjs +0 -4
  352. package/src/AlertDialog/AlertDialog.tsx +0 -2
  353. package/src/AppShell/AppShell.tsx +0 -2
  354. package/src/AspectRatio/AspectRatio.doc.mjs +1 -28
  355. package/src/AspectRatio/AspectRatio.test.tsx +1 -142
  356. package/src/AspectRatio/AspectRatio.tsx +10 -70
  357. package/src/AspectRatio/index.ts +1 -5
  358. package/src/Avatar/Avatar.doc.mjs +0 -11
  359. package/src/Avatar/Avatar.test.tsx +1 -32
  360. package/src/Avatar/Avatar.tsx +20 -12
  361. package/src/Banner/Banner.doc.mjs +0 -8
  362. package/src/Banner/Banner.test.tsx +0 -38
  363. package/src/Banner/Banner.tsx +1 -8
  364. package/src/Calendar/Calendar.doc.mjs +1 -1
  365. package/src/Calendar/Calendar.test.tsx +17 -122
  366. package/src/Calendar/Calendar.tsx +5 -26
  367. package/src/Calendar/dayCellUtils.ts +1 -3
  368. package/src/Calendar/styles.ts +2 -12
  369. package/src/Card/Card.tsx +6 -16
  370. package/src/Carousel/Carousel.doc.mjs +12 -12
  371. package/src/Carousel/Carousel.test.tsx +0 -13
  372. package/src/Carousel/Carousel.tsx +2 -4
  373. package/src/Carousel/carousel.markers.stylex.ts +10 -0
  374. package/src/Chat/Chat.doc.mjs +1 -1
  375. package/src/Chat/ChatComposerInput.test.tsx +1 -27
  376. package/src/Chat/ChatComposerInput.tsx +15 -20
  377. package/src/Chat/ChatDictationButton.tsx +4 -4
  378. package/src/Chat/ChatLayoutScrollButton.tsx +1 -3
  379. package/src/Chat/ChatMessageMetadata.tsx +6 -4
  380. package/src/Chat/ChatSystemMessage.test.tsx +11 -26
  381. package/src/Chat/ChatSystemMessage.tsx +7 -7
  382. package/src/Chat/ChatTokenizedText.test.tsx +16 -29
  383. package/src/Chat/ChatTokenizedText.tsx +8 -15
  384. package/src/Chat/ChatToolCalls.test.tsx +0 -55
  385. package/src/Chat/ChatToolCalls.tsx +12 -10
  386. package/src/Chat/index.ts +4 -1
  387. package/src/Chat/useTriggerMenu.tsx +4 -1
  388. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  389. package/src/CheckboxInput/CheckboxInput.test.tsx +4 -71
  390. package/src/CheckboxInput/CheckboxInput.tsx +0 -2
  391. package/src/CheckboxList/CheckboxList.test.tsx +0 -19
  392. package/src/CheckboxList/CheckboxListItem.tsx +2 -11
  393. package/src/Citation/Citation.doc.mjs +0 -5
  394. package/src/ClickableCard/ClickableCard.tsx +2 -45
  395. package/src/CodeBlock/CodeBlock.doc.mjs +2 -7
  396. package/src/CodeBlock/CodeBlock.test.tsx +3 -122
  397. package/src/CodeBlock/CodeBlock.tsx +4 -62
  398. package/src/Collapsible/Collapsible.doc.mjs +4 -8
  399. package/src/Collapsible/Collapsible.tsx +10 -86
  400. package/src/Collapsible/CollapsibleGroup.doc.mjs +3 -27
  401. package/src/Collapsible/CollapsibleGroup.test.tsx +0 -318
  402. package/src/Collapsible/CollapsibleGroup.tsx +9 -107
  403. package/src/Collapsible/CollapsibleGroupContext.tsx +2 -42
  404. package/src/Collapsible/index.ts +0 -4
  405. package/src/Collapsible/useCollapsible.ts +6 -20
  406. package/src/CommandPalette/CommandPalette.doc.mjs +0 -4
  407. package/src/CommandPalette/CommandPalette.tsx +3 -5
  408. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +0 -5
  409. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +0 -10
  410. package/src/CommandPalette/CommandPaletteInput.doc.mjs +0 -6
  411. package/src/CommandPalette/CommandPaletteItem.doc.mjs +0 -6
  412. package/src/CommandPalette/CommandPaletteList.doc.mjs +0 -9
  413. package/src/ContextMenu/ContextMenu.doc.mjs +0 -15
  414. package/src/ContextMenu/ContextMenu.test.tsx +0 -87
  415. package/src/ContextMenu/ContextMenu.tsx +28 -87
  416. package/src/ContextMenu/ContextMenuItem.doc.mjs +0 -6
  417. package/src/DateInput/DateInput.test.tsx +20 -11
  418. package/src/DateRangeInput/DateRangeInput.test.tsx +44 -31
  419. package/src/DateTimeInput/DateTimeInput.doc.mjs +2 -3
  420. package/src/DateTimeInput/DateTimeInput.test.tsx +16 -118
  421. package/src/DateTimeInput/DateTimeInput.tsx +2 -8
  422. package/src/DateTimeInput/index.ts +0 -1
  423. package/src/Dialog/Dialog.doc.mjs +0 -4
  424. package/src/Dialog/DialogHeader.doc.mjs +0 -45
  425. package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
  426. package/src/DropdownMenu/DropdownMenu.test.tsx +2 -22
  427. package/src/DropdownMenu/DropdownMenuItem.tsx +17 -5
  428. package/src/Field/Field.test.tsx +4 -1
  429. package/src/Field/FieldLabel.test.tsx +2 -2
  430. package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +3 -0
  431. package/src/Grid/Grid.test.tsx +18 -43
  432. package/src/Grid/Grid.tsx +9 -26
  433. package/src/HoverCard/HoverCard.doc.mjs +6 -6
  434. package/src/HoverCard/useHoverCard.doc.mjs +5 -5
  435. package/src/HoverCard/useHoverCard.tsx +2 -9
  436. package/src/Icon/Icon.test.tsx +29 -41
  437. package/src/Icon/Icon.tsx +2 -6
  438. package/src/InputGroup/InputGroup.tsx +2 -2
  439. package/src/Item/Item.tsx +1 -1
  440. package/src/Layer/useLayer.doc.mjs +2 -2
  441. package/src/Layer/useLayer.test.tsx +2 -221
  442. package/src/Layer/useLayer.tsx +30 -69
  443. package/src/Layout/LayoutContent.doc.mjs +0 -12
  444. package/src/Layout/LayoutPanel.doc.mjs +0 -40
  445. package/src/Lightbox/Lightbox.doc.mjs +0 -5
  446. package/src/Lightbox/Lightbox.test.tsx +2 -123
  447. package/src/Lightbox/Lightbox.tsx +1 -29
  448. package/src/Markdown/Markdown.tsx +7 -9
  449. package/src/Markdown/parser.perf.test.ts +12 -34
  450. package/src/NavMenu/NavMenu.doc.mjs +0 -15
  451. package/src/NumberInput/NumberInput.test.tsx +3 -48
  452. package/src/NumberInput/NumberInput.tsx +15 -32
  453. package/src/Overlay/Overlay.doc.mjs +0 -6
  454. package/src/Pagination/Pagination.test.tsx +0 -162
  455. package/src/Pagination/Pagination.tsx +26 -80
  456. package/src/Popover/Popover.doc.mjs +6 -6
  457. package/src/Popover/Popover.test.tsx +0 -65
  458. package/src/Popover/usePopover.doc.mjs +1 -1
  459. package/src/PowerSearch/PowerSearch.doc.mjs +2 -2
  460. package/src/PowerSearch/PowerSearch.test.tsx +1 -109
  461. package/src/PowerSearch/PowerSearch.tsx +16 -37
  462. package/src/ProgressBar/ProgressBar.test.tsx +0 -30
  463. package/src/ProgressBar/ProgressBar.tsx +5 -12
  464. package/src/RadioList/RadioList.test.tsx +0 -19
  465. package/src/RadioList/RadioListItem.tsx +4 -9
  466. package/src/Resizable/ResizeHandle.tsx +4 -22
  467. package/src/SegmentedControl/SegmentedControl.doc.mjs +1 -1
  468. package/src/SegmentedControl/SegmentedControl.test.tsx +0 -192
  469. package/src/SegmentedControl/SegmentedControl.tsx +5 -27
  470. package/src/SegmentedControl/SegmentedControlItem.tsx +4 -9
  471. package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
  472. package/src/Selector/Selector.test.tsx +1 -27
  473. package/src/SideNav/SideNav.doc.mjs +1 -7
  474. package/src/SideNav/SideNav.test.tsx +0 -66
  475. package/src/SideNav/SideNav.tsx +2 -6
  476. package/src/SideNav/SideNavCollapseButton.tsx +3 -4
  477. package/src/SideNav/SideNavSection.tsx +4 -6
  478. package/src/Switch/Switch.doc.mjs +7 -7
  479. package/src/Switch/Switch.test.tsx +3 -102
  480. package/src/Switch/Switch.tsx +7 -20
  481. package/src/TabList/TabList.test.tsx +1 -185
  482. package/src/TabList/TabMenu.tsx +9 -45
  483. package/src/Table/BaseTable.tsx +2 -13
  484. package/src/Table/Table.test.tsx +0 -87
  485. package/src/Table/TableBody.tsx +2 -15
  486. package/src/Table/TableFooter.tsx +2 -15
  487. package/src/Table/TableHeader.tsx +2 -15
  488. package/src/Table/plugins/columnResize/useTableColumnResize.test.tsx +0 -13
  489. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +1 -3
  490. package/src/Table/plugins/pagination/paginateData.ts +1 -5
  491. package/src/Table/plugins/pagination/useTablePagination.test.tsx +0 -13
  492. package/src/Table/plugins/selection/useTableSelectionState.test.tsx +0 -23
  493. package/src/Table/plugins/selection/useTableSelectionState.tsx +6 -11
  494. package/src/Table/plugins/sortable/useTableSortableState.test.tsx +1 -35
  495. package/src/Table/plugins/sortable/useTableSortableState.tsx +4 -8
  496. package/src/TextArea/TextArea.test.tsx +3 -3
  497. package/src/TextInput/TextInput.test.tsx +3 -3
  498. package/src/Thumbnail/Thumbnail.test.tsx +2 -36
  499. package/src/Thumbnail/Thumbnail.tsx +2 -4
  500. package/src/TimeInput/TimeInput.test.tsx +0 -37
  501. package/src/TimeInput/TimeInput.tsx +1 -11
  502. package/src/Timestamp/Timestamp.doc.mjs +1 -1
  503. package/src/Timestamp/Timestamp.test.tsx +0 -52
  504. package/src/Timestamp/Timestamp.tsx +16 -30
  505. package/src/Toast/Toast.tsx +3 -11
  506. package/src/Toast/ToastViewport.test.tsx +0 -64
  507. package/src/Toast/ToastViewport.tsx +0 -12
  508. package/src/ToggleButton/ToggleButton.doc.mjs +0 -1
  509. package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
  510. package/src/Tokenizer/Tokenizer.test.tsx +0 -54
  511. package/src/Tokenizer/Tokenizer.tsx +4 -5
  512. package/src/Tooltip/Tooltip.doc.mjs +6 -6
  513. package/src/Tooltip/useTooltip.doc.mjs +5 -5
  514. package/src/Tooltip/useTooltip.tsx +2 -12
  515. package/src/TopNav/TopNav.doc.mjs +1 -1
  516. package/src/TopNav/TopNav.test.tsx +7 -23
  517. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +2 -9
  518. package/src/TreeList/TreeList.doc.mjs +2 -2
  519. package/src/Typeahead/BaseTypeahead.doc.mjs +0 -19
  520. package/src/Typeahead/BaseTypeahead.tsx +2 -5
  521. package/src/Typeahead/Typeahead.doc.mjs +1 -1
  522. package/src/Typeahead/Typeahead.test.tsx +1 -45
  523. package/src/docs-types.ts +1 -9
  524. package/src/hooks/focusableSelector.ts +1 -1
  525. package/src/hooks/index.ts +0 -3
  526. package/src/hooks/useFocusTrap.doc.mjs +2 -4
  527. package/src/hooks/useFocusTrap.test.tsx +1 -149
  528. package/src/hooks/useFocusTrap.ts +1 -50
  529. package/src/hooks/useInteractiveRole.ts +4 -12
  530. package/src/hooks/useStreamingText.test.ts +19 -54
  531. package/src/hooks/useStreamingText.ts +5 -16
  532. package/src/hooks/useTreeFocus.test.tsx +3 -1
  533. package/src/reset.css +0 -29
  534. package/src/theme/SyntaxTheme.doc.mjs +4 -4
  535. package/src/theme/defineTheme.ts +13 -4
  536. package/src/theme/derivedVarRegistry.test.ts +2 -2
  537. package/src/theme/expandColorScale.test.ts +0 -29
  538. package/src/theme/expandColorScale.ts +6 -11
  539. package/src/theme/hct.ts +17 -9
  540. package/src/theme/tokens.test.ts +9 -182
  541. package/src/theme/tokens.ts +4 -239
  542. package/src/theme/useTheme.test.tsx +0 -20
  543. package/src/utils/index.ts +0 -4
  544. package/src/utils/sharedResizeObserver.test.ts +2 -2
  545. package/src/utils/timeParser.test.ts +0 -13
  546. package/src/utils/timeParser.ts +5 -8
  547. package/dist/hooks/useHotkeys.d.ts +0 -51
  548. package/dist/hooks/useHotkeys.d.ts.map +0 -1
  549. package/dist/hooks/useHotkeys.js +0 -160
  550. package/dist/utils/color.d.ts +0 -42
  551. package/dist/utils/color.d.ts.map +0 -1
  552. package/dist/utils/color.js +0 -150
  553. package/dist/utils/composeEventHandlers.d.ts +0 -30
  554. package/dist/utils/composeEventHandlers.d.ts.map +0 -1
  555. package/dist/utils/composeEventHandlers.js +0 -40
  556. package/src/Chat/ChatDictationButton.test.tsx +0 -43
  557. package/src/Chat/ChatLayoutScrollButton.test.tsx +0 -33
  558. package/src/Chat/ChatMessageMetadata.test.tsx +0 -32
  559. package/src/Collapsible/Collapsible.test.tsx +0 -405
  560. package/src/FieldStatus/FieldStatus.test.tsx +0 -282
  561. package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +0 -185
  562. package/src/Layout/Layout.test.tsx +0 -285
  563. package/src/Layout/LayoutSlots.test.tsx +0 -364
  564. package/src/Outline/parseOutlineFromMarkdown.test.ts +0 -80
  565. package/src/OverflowList/OverflowList.test.tsx +0 -416
  566. package/src/Overlay/Overlay.test.tsx +0 -356
  567. package/src/Resizable/ResizeHandle.test.tsx +0 -218
  568. package/src/SizeContext/SizeContext.test.tsx +0 -226
  569. package/src/__tests__/TestIcon.tsx +0 -26
  570. package/src/__tests__/fastRoleQueries.ts +0 -66
  571. package/src/docPropReferences.test.ts +0 -178
  572. package/src/hooks/useHotkeys.doc.mjs +0 -52
  573. package/src/hooks/useHotkeys.test.ts +0 -245
  574. package/src/hooks/useHotkeys.ts +0 -203
  575. package/src/utils/color.test.ts +0 -133
  576. package/src/utils/color.ts +0 -148
  577. package/src/utils/composeEventHandlers.test.ts +0 -71
  578. package/src/utils/composeEventHandlers.ts +0 -44
  579. package/src/utils/mergeProps.test.ts +0 -166
@@ -12,11 +12,6 @@
12
12
  import {describe, it, expect, vi, beforeEach} from 'vitest';
13
13
  import {render, screen, fireEvent, waitFor} from '@testing-library/react';
14
14
  import userEvent from '@testing-library/user-event';
15
- // getButton/queryButton instead of getByRole('button', {name}): the closed
16
- // popover keeps a two-month Calendar (~85 role=button nodes) mounted, which
17
- // made every role+name query compute ~85 accessible names through jsdom's
18
- // slow getComputedStyle (~450ms per query). See fastRoleQueries.ts.
19
- import {getButton, queryButton} from '../__tests__/fastRoleQueries';
20
15
  import {DateRangeInput} from './DateRangeInput';
21
16
  import type {DateRange} from './DateRangeInput';
22
17
 
@@ -58,7 +53,7 @@ describe('DateRangeInput', () => {
58
53
  hasClear={false}
59
54
  />,
60
55
  );
61
- const trigger = getButton(/Range:/);
56
+ const trigger = screen.getByRole('button', {name: /Range:/});
62
57
  expect(trigger.textContent).toMatch(/Mar/);
63
58
  expect(trigger.textContent).toMatch(/15/);
64
59
  expect(trigger.textContent).toMatch(/22/);
@@ -98,13 +93,13 @@ describe('DateRangeInput', () => {
98
93
  onChange={() => {}}
99
94
  />,
100
95
  );
101
- const trigger = getButton(/Range/);
96
+ const trigger = screen.getByRole('button', {name: /Range/});
102
97
  expect(trigger).toHaveAttribute('aria-required', 'true');
103
98
  });
104
99
 
105
100
  it('does not set aria-required when isRequired is false', () => {
106
101
  render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
107
- const trigger = getButton(/Range/);
102
+ const trigger = screen.getByRole('button', {name: /Range/});
108
103
  expect(trigger).not.toHaveAttribute('aria-required');
109
104
  });
110
105
 
@@ -117,25 +112,25 @@ describe('DateRangeInput', () => {
117
112
  onChange={() => {}}
118
113
  />,
119
114
  );
120
- const trigger = getButton(/Range/);
115
+ const trigger = screen.getByRole('button', {name: /Range/});
121
116
  expect(trigger).toBeDisabled();
122
117
  });
123
118
 
124
119
  it('is not disabled by default', () => {
125
120
  render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
126
- const trigger = getButton(/Range/);
121
+ const trigger = screen.getByRole('button', {name: /Range/});
127
122
  expect(trigger).not.toBeDisabled();
128
123
  });
129
124
 
130
125
  it('trigger has aria-haspopup="dialog"', () => {
131
126
  render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
132
- const trigger = getButton(/Range/);
127
+ const trigger = screen.getByRole('button', {name: /Range/});
133
128
  expect(trigger).toHaveAttribute('aria-haspopup', 'dialog');
134
129
  });
135
130
 
136
131
  it('trigger has aria-expanded=false by default', () => {
137
132
  render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
138
- const trigger = getButton(/Range/);
133
+ const trigger = screen.getByRole('button', {name: /Range/});
139
134
  expect(trigger).toHaveAttribute('aria-expanded', 'false');
140
135
  });
141
136
 
@@ -148,7 +143,7 @@ describe('DateRangeInput', () => {
148
143
  status={{type: 'error', message: 'Required'}}
149
144
  />,
150
145
  );
151
- const trigger = getButton(/Range/);
146
+ const trigger = screen.getByRole('button', {name: /Range/});
152
147
  expect(trigger).toHaveAttribute('aria-invalid', 'true');
153
148
  });
154
149
 
@@ -161,7 +156,7 @@ describe('DateRangeInput', () => {
161
156
  status={{type: 'warning', message: 'Watch out'}}
162
157
  />,
163
158
  );
164
- const trigger = getButton(/Range/);
159
+ const trigger = screen.getByRole('button', {name: /Range/});
165
160
  expect(trigger).not.toHaveAttribute('aria-invalid');
166
161
  });
167
162
 
@@ -186,7 +181,7 @@ describe('DateRangeInput', () => {
186
181
  status={{type: 'error', message: 'Please select dates'}}
187
182
  />,
188
183
  );
189
- const trigger = getButton(/Range/);
184
+ const trigger = screen.getByRole('button', {name: /Range/});
190
185
  const describedBy = trigger.getAttribute('aria-describedby')!;
191
186
  const ids = describedBy.split(' ');
192
187
  const found = ids.some(id => {
@@ -198,7 +193,9 @@ describe('DateRangeInput', () => {
198
193
 
199
194
  it('calendar icon button is present', () => {
200
195
  render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
201
- expect(getButton('Open calendar')).toBeInTheDocument();
196
+ expect(
197
+ screen.getByRole('button', {name: 'Open calendar'}),
198
+ ).toBeInTheDocument();
202
199
  });
203
200
 
204
201
  it('calendar icon button is disabled when isDisabled', () => {
@@ -210,7 +207,7 @@ describe('DateRangeInput', () => {
210
207
  onChange={() => {}}
211
208
  />,
212
209
  );
213
- expect(getButton('Open calendar')).toBeDisabled();
210
+ expect(screen.getByRole('button', {name: 'Open calendar'})).toBeDisabled();
214
211
  });
215
212
 
216
213
  it('renders with size="lg"', () => {
@@ -239,7 +236,9 @@ describe('DateRangeInput', () => {
239
236
  hasClear
240
237
  />,
241
238
  );
242
- expect(getButton('Clear Range')).toBeInTheDocument();
239
+ expect(
240
+ screen.getByRole('button', {name: 'Clear Range'}),
241
+ ).toBeInTheDocument();
243
242
  });
244
243
 
245
244
  it('does not show clear button when value is null', () => {
@@ -251,7 +250,9 @@ describe('DateRangeInput', () => {
251
250
  hasClear
252
251
  />,
253
252
  );
254
- expect(queryButton('Clear Range')).not.toBeInTheDocument();
253
+ expect(
254
+ screen.queryByRole('button', {name: 'Clear Range'}),
255
+ ).not.toBeInTheDocument();
255
256
  });
256
257
 
257
258
  it('does not show clear button when hasClear is false', () => {
@@ -267,7 +268,9 @@ describe('DateRangeInput', () => {
267
268
  hasClear={false}
268
269
  />,
269
270
  );
270
- expect(queryButton('Clear Range')).not.toBeInTheDocument();
271
+ expect(
272
+ screen.queryByRole('button', {name: 'Clear Range'}),
273
+ ).not.toBeInTheDocument();
271
274
  });
272
275
 
273
276
  it('does not show clear button when disabled', () => {
@@ -284,7 +287,9 @@ describe('DateRangeInput', () => {
284
287
  isDisabled
285
288
  />,
286
289
  );
287
- expect(queryButton('Clear Range')).not.toBeInTheDocument();
290
+ expect(
291
+ screen.queryByRole('button', {name: 'Clear Range'}),
292
+ ).not.toBeInTheDocument();
288
293
  });
289
294
 
290
295
  it('calls onChange with null when clear is clicked', () => {
@@ -301,7 +306,7 @@ describe('DateRangeInput', () => {
301
306
  hasClear
302
307
  />,
303
308
  );
304
- fireEvent.click(getButton('Clear Range'));
309
+ fireEvent.click(screen.getByRole('button', {name: 'Clear Range'}));
305
310
  expect(onChange).toHaveBeenCalledWith(null);
306
311
  });
307
312
  });
@@ -341,7 +346,9 @@ describe('DateRangeInput', () => {
341
346
  expect(
342
347
  screen.getByRole('group', {name: 'Preset date ranges', hidden: true}),
343
348
  ).toBeInTheDocument();
344
- expect(getButton('Last 7 days')).toBeInTheDocument();
349
+ expect(
350
+ screen.getByRole('button', {name: 'Last 7 days', hidden: true}),
351
+ ).toBeInTheDocument();
345
352
  });
346
353
 
347
354
  it('marks the applied preset with aria-current, not aria-selected', () => {
@@ -353,10 +360,16 @@ describe('DateRangeInput', () => {
353
360
  presets={presets}
354
361
  />,
355
362
  );
356
- const active = getButton('Last 7 days');
363
+ const active = screen.getByRole('button', {
364
+ name: 'Last 7 days',
365
+ hidden: true,
366
+ });
357
367
  expect(active).toHaveAttribute('aria-current', 'true');
358
368
  expect(active).not.toHaveAttribute('aria-selected');
359
- const inactive = getButton('This month');
369
+ const inactive = screen.getByRole('button', {
370
+ name: 'This month',
371
+ hidden: true,
372
+ });
360
373
  expect(inactive).not.toHaveAttribute('aria-current');
361
374
  });
362
375
  });
@@ -392,7 +405,7 @@ describe('DateRangeInput', () => {
392
405
  it('shows the reason tooltip on hover when disabled with a reason', async () => {
393
406
  renderDisabled({disabledMessage: 'You need the Editor role'});
394
407
 
395
- const trigger = getButton(/Range:/);
408
+ const trigger = screen.getByRole('button', {name: /Range:/, ...h});
396
409
  const container = trigger.parentElement as HTMLElement;
397
410
  const tooltip = screen.getByRole('tooltip', h);
398
411
  expect(tooltip).toHaveTextContent('You need the Editor role');
@@ -414,7 +427,7 @@ describe('DateRangeInput', () => {
414
427
 
415
428
  const tooltip = screen.getByRole('tooltip', h);
416
429
  await user.tab();
417
- expect(getButton(/Range:/)).toHaveFocus();
430
+ expect(screen.getByRole('button', {name: /Range:/, ...h})).toHaveFocus();
418
431
  await waitFor(() => {
419
432
  expect(tooltip).toHaveAttribute('popover-open');
420
433
  });
@@ -439,14 +452,14 @@ describe('DateRangeInput', () => {
439
452
 
440
453
  it('keeps the trigger focusable via aria-disabled when a reason is provided', () => {
441
454
  renderDisabled({disabledMessage: 'You need the Editor role'});
442
- const trigger = getButton(/Range:/);
455
+ const trigger = screen.getByRole('button', {name: /Range:/, ...h});
443
456
  expect(trigger).not.toBeDisabled();
444
457
  expect(trigger).toHaveAttribute('aria-disabled', 'true');
445
458
  });
446
459
 
447
460
  it('links the reason tooltip from the trigger via aria-describedby', () => {
448
461
  renderDisabled({disabledMessage: 'You need the Editor role'});
449
- const trigger = getButton(/Range:/);
462
+ const trigger = screen.getByRole('button', {name: /Range:/, ...h});
450
463
  const tooltip = screen.getByRole('tooltip', h);
451
464
  expect(trigger.getAttribute('aria-describedby')).toContain(tooltip.id);
452
465
  });
@@ -455,7 +468,7 @@ describe('DateRangeInput', () => {
455
468
  const user = userEvent.setup();
456
469
  renderDisabled({disabledMessage: 'You need the Editor role'});
457
470
 
458
- const trigger = getButton(/Range:/);
471
+ const trigger = screen.getByRole('button', {name: /Range:/, ...h});
459
472
  await user.click(trigger);
460
473
  expect(trigger).toHaveAttribute('aria-expanded', 'false');
461
474
 
@@ -465,7 +478,7 @@ describe('DateRangeInput', () => {
465
478
 
466
479
  it('remains natively disabled when disabled without a reason', () => {
467
480
  renderDisabled();
468
- const trigger = getButton(/Range:/);
481
+ const trigger = screen.getByRole('button', {name: /Range:/, ...h});
469
482
  expect(trigger).toBeDisabled();
470
483
  expect(trigger).not.toHaveAttribute('aria-disabled');
471
484
  });
@@ -118,7 +118,7 @@ export const docs = {
118
118
  },
119
119
  {
120
120
  name: 'timeIncrement',
121
- type: '1 | 5 | 10 | 15 | 30',
121
+ type: 'number',
122
122
  description:
123
123
  'Minutes to add or subtract when using arrow keys in the time input.',
124
124
  default: '1',
@@ -413,7 +413,7 @@ export const docsZh = {
413
413
  },
414
414
  {
415
415
  name: 'timeIncrement',
416
- type: '1 | 5 | 10 | 15 | 30',
416
+ type: 'number',
417
417
  description: '在时间输入中按箭头键时增减的分钟数。',
418
418
  default: '1',
419
419
  },
@@ -469,7 +469,6 @@ export const docsZh = {
469
469
  description:
470
470
  '用于布局自定义的 StyleX 样式。必须是 stylex.create() 的值。',
471
471
  },
472
-
473
472
  ],
474
473
  theming: {
475
474
  targets: [
@@ -12,7 +12,6 @@
12
12
  import {describe, it, expect, vi, beforeEach} from 'vitest';
13
13
  import {render, screen, fireEvent, waitFor} from '@testing-library/react';
14
14
  import userEvent from '@testing-library/user-event';
15
- import {getButton, queryButton} from '../__tests__/fastRoleQueries';
16
15
  import {DateTimeInput} from './DateTimeInput';
17
16
  import type {ISODateTimeString} from './DateTimeInput';
18
17
 
@@ -187,14 +186,14 @@ describe('DateTimeInput', () => {
187
186
 
188
187
  it('calendar button is focusable and clickable', () => {
189
188
  render(<DateTimeInput label="Meeting" onChange={() => {}} />);
190
- const button = getButton('Open calendar');
189
+ const button = screen.getByRole('button', {name: 'Open calendar'});
191
190
  expect(button).toBeInTheDocument();
192
191
  expect(button).not.toBeDisabled();
193
192
  });
194
193
 
195
194
  it('calendar button is disabled when isDisabled is true', () => {
196
195
  render(<DateTimeInput label="Meeting" isDisabled onChange={() => {}} />);
197
- const button = getButton('Open calendar');
196
+ const button = screen.getByRole('button', {name: 'Open calendar'});
198
197
  expect(button).toBeDisabled();
199
198
  });
200
199
 
@@ -202,7 +201,7 @@ describe('DateTimeInput', () => {
202
201
  render(<DateTimeInput label="Meeting" isLoading onChange={() => {}} />);
203
202
  expect(screen.getByRole('combobox')).toBeDisabled();
204
203
  expect(screen.getByLabelText('Meeting time')).toBeDisabled();
205
- expect(getButton('Open calendar')).toBeDisabled();
204
+ expect(screen.getByRole('button', {name: 'Open calendar'})).toBeDisabled();
206
205
  });
207
206
 
208
207
  it('sets aria-busy when isLoading is true', () => {
@@ -215,21 +214,6 @@ describe('DateTimeInput', () => {
215
214
  expect(screen.getByRole('combobox')).not.toHaveAttribute('aria-busy');
216
215
  });
217
216
 
218
- it('sets aria-busy on the time input when isLoading is true', () => {
219
- render(<DateTimeInput label="Meeting" isLoading onChange={() => {}} />);
220
- expect(screen.getByLabelText('Meeting time')).toHaveAttribute(
221
- 'aria-busy',
222
- 'true',
223
- );
224
- });
225
-
226
- it('does not set aria-busy on the time input when not loading', () => {
227
- render(<DateTimeInput label="Meeting" onChange={() => {}} />);
228
- expect(screen.getByLabelText('Meeting time')).not.toHaveAttribute(
229
- 'aria-busy',
230
- );
231
- });
232
-
233
217
  it('renders status icon for error status', () => {
234
218
  render(
235
219
  <DateTimeInput
@@ -286,61 +270,6 @@ describe('DateTimeInput', () => {
286
270
  expect(found).toBe(true);
287
271
  });
288
272
 
289
- it('links the description to the time input via aria-describedby', () => {
290
- render(
291
- <DateTimeInput
292
- label="Meeting"
293
- description="Pick the meeting datetime"
294
- onChange={() => {}}
295
- />,
296
- );
297
- // The description covers both halves of the field, so the time input must
298
- // carry it too — a screen-reader user tabbing into the time half should
299
- // not lose the field's description.
300
- const timeInput = screen.getByLabelText('Meeting time');
301
- const describedBy = timeInput.getAttribute('aria-describedby')!;
302
- const ids = describedBy.split(' ');
303
- const found = ids.some(id =>
304
- document
305
- .getElementById(id)
306
- ?.textContent?.includes('Pick the meeting datetime'),
307
- );
308
- expect(found).toBe(true);
309
- });
310
-
311
- it('links the status message to the time input via aria-describedby', () => {
312
- render(
313
- <DateTimeInput
314
- label="Meeting"
315
- onChange={() => {}}
316
- status={{type: 'error', message: 'Invalid datetime'}}
317
- />,
318
- );
319
- const timeInput = screen.getByLabelText('Meeting time');
320
- const describedBy = timeInput.getAttribute('aria-describedby')!;
321
- const ids = describedBy.split(' ');
322
- const found = ids.some(id =>
323
- document.getElementById(id)?.textContent?.includes('Invalid datetime'),
324
- );
325
- expect(found).toBe(true);
326
- });
327
-
328
- it('links the disabled reason to the time input via aria-describedby', () => {
329
- HTMLElement.prototype.showPopover = vi.fn();
330
- HTMLElement.prototype.hidePopover = vi.fn();
331
- render(
332
- <DateTimeInput
333
- label="When"
334
- onChange={() => {}}
335
- isDisabled
336
- disabledMessage="You need the Editor role"
337
- />,
338
- );
339
- const timeInput = screen.getByLabelText('When time');
340
- const tooltip = screen.getByRole('tooltip', {hidden: true});
341
- expect(timeInput.getAttribute('aria-describedby')).toContain(tooltip.id);
342
- });
343
-
344
273
  it('handles Escape keydown on date input without error', () => {
345
274
  render(<DateTimeInput label="Meeting" onChange={() => {}} />);
346
275
  const input = screen.getByRole('combobox');
@@ -434,12 +363,16 @@ describe('DateTimeInput', () => {
434
363
  hasClear
435
364
  />,
436
365
  );
437
- expect(getButton('Clear Meeting')).toBeInTheDocument();
366
+ expect(
367
+ screen.getByRole('button', {name: 'Clear Meeting'}),
368
+ ).toBeInTheDocument();
438
369
  });
439
370
 
440
371
  it('does not show clear button when value is undefined', () => {
441
372
  render(<DateTimeInput label="Meeting" onChange={() => {}} hasClear />);
442
- expect(queryButton('Clear Meeting')).not.toBeInTheDocument();
373
+ expect(
374
+ screen.queryByRole('button', {name: 'Clear Meeting'}),
375
+ ).not.toBeInTheDocument();
443
376
  });
444
377
 
445
378
  it('does not show clear button when hasClear is false', () => {
@@ -450,7 +383,9 @@ describe('DateTimeInput', () => {
450
383
  onChange={() => {}}
451
384
  />,
452
385
  );
453
- expect(queryButton('Clear Meeting')).not.toBeInTheDocument();
386
+ expect(
387
+ screen.queryByRole('button', {name: 'Clear Meeting'}),
388
+ ).not.toBeInTheDocument();
454
389
  });
455
390
 
456
391
  it('does not show clear button when disabled', () => {
@@ -463,7 +398,9 @@ describe('DateTimeInput', () => {
463
398
  isDisabled
464
399
  />,
465
400
  );
466
- expect(queryButton('Clear Meeting')).not.toBeInTheDocument();
401
+ expect(
402
+ screen.queryByRole('button', {name: 'Clear Meeting'}),
403
+ ).not.toBeInTheDocument();
467
404
  });
468
405
 
469
406
  it('calls onChange with undefined when clear is clicked', () => {
@@ -476,7 +413,7 @@ describe('DateTimeInput', () => {
476
413
  hasClear
477
414
  />,
478
415
  );
479
- fireEvent.click(getButton('Clear Meeting'));
416
+ fireEvent.click(screen.getByRole('button', {name: 'Clear Meeting'}));
480
417
  expect(onChange).toHaveBeenCalledWith(undefined);
481
418
  });
482
419
  });
@@ -740,43 +677,4 @@ describe('DateTimeInput', () => {
740
677
  expect(timeInput).toHaveAttribute('placeholder', 'Select a time');
741
678
  });
742
679
  });
743
-
744
- describe('timeIncrement', () => {
745
- it('steps the time by timeIncrement minutes on ArrowUp', () => {
746
- const onChange = vi.fn();
747
- render(
748
- <DateTimeInput
749
- label="Meeting"
750
- value={'2026-03-15T14:30' as ISODateTimeString}
751
- timeIncrement={15}
752
- onChange={onChange}
753
- />,
754
- );
755
-
756
- const timeInput = screen.getByLabelText('Meeting time');
757
- fireEvent.keyDown(timeInput, {key: 'ArrowUp'});
758
-
759
- // 14:30 + 15min increment = 14:45
760
- expect(onChange).toHaveBeenCalledTimes(1);
761
- expect(onChange.mock.calls[0][0]).toContain('14:45');
762
- });
763
-
764
- it('defaults to a 1-minute increment', () => {
765
- const onChange = vi.fn();
766
- render(
767
- <DateTimeInput
768
- label="Meeting"
769
- value={'2026-03-15T14:30' as ISODateTimeString}
770
- onChange={onChange}
771
- />,
772
- );
773
-
774
- const timeInput = screen.getByLabelText('Meeting time');
775
- fireEvent.keyDown(timeInput, {key: 'ArrowUp'});
776
-
777
- // 14:30 + default 1min = 14:31
778
- expect(onChange).toHaveBeenCalledTimes(1);
779
- expect(onChange.mock.calls[0][0]).toContain('14:31');
780
- });
781
- });
782
680
  });
@@ -86,9 +86,6 @@ export type DateTimeInputHourFormat = '12h' | '24h';
86
86
 
87
87
  export type DateTimeInputSize = 'sm' | 'md' | 'lg';
88
88
 
89
- /** Supported minute increments for arrow-key stepping of the time field. */
90
- export type DateTimeInputTimeIncrement = 1 | 5 | 10 | 15 | 30;
91
-
92
89
  export type {
93
90
  InputStatus as DateTimeInputStatus,
94
91
  InputStatusType as DateTimeInputStatusType,
@@ -290,11 +287,10 @@ export interface DateTimeInputProps extends Omit<
290
287
  hourFormat?: DateTimeInputHourFormat;
291
288
 
292
289
  /**
293
- * Minutes added or subtracted when stepping the time field with the arrow
294
- * keys. Constrained to a set of sensible increments.
290
+ * Time increment in minutes when using arrow keys in the time input.
295
291
  * @default 1
296
292
  */
297
- timeIncrement?: DateTimeInputTimeIncrement;
293
+ timeIncrement?: number;
298
294
 
299
295
  /**
300
296
  * Whether to show a clear button when a value is set.
@@ -991,12 +987,10 @@ export function DateTimeInput({
991
987
  aria-disabled={showsDisabledMessage ? 'true' : undefined}
992
988
  readOnly={showsDisabledMessage || undefined}
993
989
  aria-label={timeLabel ?? `${label} time`}
994
- aria-describedby={ariaDescribedBy}
995
990
  aria-required={isRequired === true ? 'true' : undefined}
996
991
  aria-invalid={
997
992
  status?.type === 'error' || !isTimeInputValid ? 'true' : undefined
998
993
  }
999
- aria-busy={isBusy || undefined}
1000
994
  {...stylex.props(
1001
995
  styles.input,
1002
996
  isEffectivelyDisabled && styles.inputDisabled,
@@ -14,7 +14,6 @@ export type {
14
14
  DateTimeInputProps,
15
15
  DateTimeInputSize,
16
16
  DateTimeInputHourFormat,
17
- DateTimeInputTimeIncrement,
18
17
  DateTimeInputStatus,
19
18
  DateTimeInputStatusType,
20
19
  ISODateTimeString,
@@ -8,10 +8,6 @@ export const docs = {
8
8
  group: 'Dialog',
9
9
  category: 'Overlay',
10
10
  keywords: ["dialog","modal","popup","overlay","lightbox","alert","confirm","prompt","backdrop","focus trap","imperative"],
11
- // Intentionally a contained isInline preview, not playground.overlay: the
12
- // component stays visible on load and knobs stay live, whereas a real
13
- // showModal() overlay makes the page inert — see PlaygroundConfig.overlay
14
- // in docs-types.ts (#3657).
15
11
  playground: {
16
12
  defaults: {
17
13
  isOpen: true,
@@ -65,51 +65,6 @@ export const docs = {
65
65
  default: 'true',
66
66
  },
67
67
  ],
68
- playground: {
69
- defaults: {
70
- title: 'Delete file?',
71
- subtitle: 'This action cannot be undone.',
72
- hasDivider: true,
73
- },
74
- },
75
- examples: [
76
- {
77
- label: 'Basic',
78
- code: `
79
- import {DialogHeader} from '@astryxdesign/core/Dialog';
80
-
81
- <DialogHeader title="Delete file?" subtitle="This action cannot be undone." />;
82
- `,
83
- },
84
- {
85
- label: 'With close button',
86
- code: `
87
- import {useState} from 'react';
88
- import {DialogHeader} from '@astryxdesign/core/Dialog';
89
-
90
- function Header() {
91
- const [, setIsOpen] = useState(true);
92
-
93
- // Passing onOpenChange renders a close button that calls it with false.
94
- return <DialogHeader title="Settings" onOpenChange={setIsOpen} />;
95
- }
96
- `,
97
- },
98
- {
99
- label: 'With start and end content',
100
- code: `
101
- import {DialogHeader} from '@astryxdesign/core/Dialog';
102
- import {Icon} from '@astryxdesign/core/Icon';
103
- import {Badge} from '@astryxdesign/core/Badge';
104
-
105
- <DialogHeader
106
- title="Notifications"
107
- startContent={<Icon icon="chevronLeft" size="sm" />}
108
- endContent={<Badge label="3" />}
109
- />;
110
- `,
111
- },
112
- ],
113
68
  };
114
69
 
115
70
  export const docsZh = {
@@ -11,7 +11,7 @@ export const docs = {
11
11
  theming: {
12
12
  targets: [
13
13
  {className: 'astryx-dropdown-menu'},
14
- {className: 'astryx-dropdown-menu-item', visualProps: ['size']},
14
+ {className: 'astryx-dropdown-menu-item'},
15
15
  ],
16
16
  vars: [
17
17
  {name: '--_dropdown-menu-radius', description: 'Border radius of the menu popup', default: 'var(--radius-element)', private: true},
@@ -89,7 +89,7 @@ describe('DropdownMenu', () => {
89
89
  .getByRole('menu', {hidden: true})
90
90
  .closest('[popover]');
91
91
  expect(popover?.getAttribute('style')).toContain(
92
- 'position-area: self-block-end span-self-inline-end',
92
+ 'position-area: bottom span-right',
93
93
  );
94
94
  });
95
95
 
@@ -105,27 +105,7 @@ describe('DropdownMenu', () => {
105
105
  .getByRole('menu', {hidden: true})
106
106
  .closest('[popover]');
107
107
  expect(popover?.getAttribute('style')).toContain(
108
- 'position-area: self-block-start span-self-inline-end',
109
- );
110
- });
111
-
112
- it('emits the direction-independent logical mapping under an RTL ancestor (#3389)', async () => {
113
- // The self-* position-area keywords resolve against the popover's own
114
- // inherited direction in the browser, so RTL emits the same string as
115
- // LTR and the mirroring is pure CSS. jsdom can't verify the geometry —
116
- // the DropdownMenu RTL Storybook story is the visual proof surface.
117
- const user = userEvent.setup();
118
- const {container} = render(
119
- <div style={{direction: 'rtl'}}>
120
- <DropdownMenu button={{label: 'Actions'}} items={[{label: 'Item 1'}]} />
121
- </div>,
122
- );
123
-
124
- await user.click(screen.getByRole('button', {name: /Actions/}));
125
-
126
- const popover = container.querySelector('[popover]');
127
- expect(popover?.getAttribute('style')).toContain(
128
- 'position-area: self-block-end span-self-inline-end',
108
+ 'position-area: top span-right',
129
109
  );
130
110
  });
131
111