@astryxdesign/core 0.2.0 → 0.3.0

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 (1083) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +5 -3
  3. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  4. package/dist/AlertDialog/AlertDialog.js +1 -1
  5. package/dist/AppShell/AppShell.d.ts +2 -20
  6. package/dist/AppShell/AppShell.d.ts.map +1 -1
  7. package/dist/AppShell/AppShell.js +25 -18
  8. package/dist/AppShell/index.d.ts +20 -1
  9. package/dist/AppShell/index.d.ts.map +1 -1
  10. package/dist/AppShell/index.js +14 -0
  11. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  12. package/dist/AspectRatio/AspectRatio.js +1 -1
  13. package/dist/Avatar/Avatar.d.ts +1 -1
  14. package/dist/Avatar/Avatar.d.ts.map +1 -1
  15. package/dist/Avatar/Avatar.js +4 -4
  16. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  17. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  18. package/dist/Avatar/AvatarStatusDot.js +1 -22
  19. package/dist/Avatar/index.d.ts +26 -1
  20. package/dist/Avatar/index.d.ts.map +1 -1
  21. package/dist/Avatar/index.js +21 -0
  22. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  24. package/dist/AvatarGroup/AvatarGroup.js +4 -8
  25. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  26. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  27. package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
  28. package/dist/Badge/Badge.d.ts +2 -30
  29. package/dist/Badge/Badge.d.ts.map +1 -1
  30. package/dist/Badge/Badge.js +2 -17
  31. package/dist/Badge/index.d.ts +31 -2
  32. package/dist/Badge/index.d.ts.map +1 -1
  33. package/dist/Badge/index.js +15 -1
  34. package/dist/Banner/Banner.d.ts +2 -37
  35. package/dist/Banner/Banner.d.ts.map +1 -1
  36. package/dist/Banner/Banner.js +6 -34
  37. package/dist/Banner/index.d.ts +37 -1
  38. package/dist/Banner/index.d.ts.map +1 -1
  39. package/dist/Banner/index.js +27 -0
  40. package/dist/Blockquote/Blockquote.d.ts +1 -1
  41. package/dist/Blockquote/Blockquote.js +1 -1
  42. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  43. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  44. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  45. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  46. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  47. package/dist/Breadcrumbs/index.d.ts +18 -1
  48. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  49. package/dist/Breadcrumbs/index.js +14 -0
  50. package/dist/Button/Button.d.ts +3 -21
  51. package/dist/Button/Button.d.ts.map +1 -1
  52. package/dist/Button/Button.js +6 -19
  53. package/dist/Button/index.d.ts +21 -3
  54. package/dist/Button/index.d.ts.map +1 -1
  55. package/dist/Button/index.js +15 -1
  56. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  57. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  58. package/dist/Calendar/Calendar.js +1 -1
  59. package/dist/Calendar/index.d.ts +1 -1
  60. package/dist/Calendar/index.d.ts.map +1 -1
  61. package/dist/Calendar/index.js +1 -1
  62. package/dist/Calendar/styles.d.ts +2 -2
  63. package/dist/Calendar/styles.js +2 -2
  64. package/dist/Calendar/utils.d.ts +0 -4
  65. package/dist/Calendar/utils.d.ts.map +1 -1
  66. package/dist/Calendar/utils.js +1 -8
  67. package/dist/Card/Card.d.ts +1 -1
  68. package/dist/Card/Card.js +1 -1
  69. package/dist/Carousel/Carousel.d.ts +54 -3
  70. package/dist/Carousel/Carousel.d.ts.map +1 -1
  71. package/dist/Carousel/Carousel.js +82 -15
  72. package/dist/Carousel/index.d.ts +1 -1
  73. package/dist/Carousel/index.d.ts.map +1 -1
  74. package/dist/Center/Center.d.ts +21 -4
  75. package/dist/Center/Center.d.ts.map +1 -1
  76. package/dist/Center/Center.js +11 -3
  77. package/dist/Chat/ChatComposer.d.ts +1 -1
  78. package/dist/Chat/ChatComposer.js +9 -9
  79. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  80. package/dist/Chat/ChatComposerDrawer.js +5 -5
  81. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  82. package/dist/Chat/ChatComposerInput.js +1 -1
  83. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  84. package/dist/Chat/ChatDictationButton.js +1 -1
  85. package/dist/Chat/ChatLayout.d.ts +8 -1
  86. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  87. package/dist/Chat/ChatLayout.js +15 -4
  88. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  89. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  90. package/dist/Chat/ChatMessage.d.ts +1 -1
  91. package/dist/Chat/ChatMessage.js +1 -1
  92. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  93. package/dist/Chat/ChatMessageBubble.js +1 -1
  94. package/dist/Chat/ChatMessageList.d.ts +1 -1
  95. package/dist/Chat/ChatMessageList.js +1 -1
  96. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  97. package/dist/Chat/ChatSendButton.js +4 -2
  98. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  99. package/dist/Chat/ChatSystemMessage.js +1 -1
  100. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  101. package/dist/Chat/ChatTokenizedText.js +1 -1
  102. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  103. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  104. package/dist/CheckboxInput/CheckboxInput.js +3 -3
  105. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  106. package/dist/CheckboxList/CheckboxList.js +1 -1
  107. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  108. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  109. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  110. package/dist/Citation/Citation.d.ts +1 -1
  111. package/dist/Citation/Citation.js +1 -1
  112. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  113. package/dist/ClickableCard/ClickableCard.js +3 -3
  114. package/dist/Code/Code.d.ts +2 -2
  115. package/dist/Code/Code.js +2 -2
  116. package/dist/CodeBlock/CodeBlock.js +2 -2
  117. package/dist/Collapsible/Collapsible.d.ts +1 -1
  118. package/dist/Collapsible/Collapsible.js +3 -3
  119. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  120. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  121. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  122. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  123. package/dist/CommandPalette/CommandPalette.js +1 -1
  124. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  125. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  126. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  127. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  128. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  129. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  130. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  131. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  132. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  133. package/dist/ComplexSelector/ComplexSelector.d.ts +108 -0
  134. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -0
  135. package/dist/ComplexSelector/ComplexSelector.js +316 -0
  136. package/dist/ComplexSelector/index.d.ts +7 -0
  137. package/dist/ComplexSelector/index.d.ts.map +1 -0
  138. package/dist/ComplexSelector/index.js +10 -0
  139. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  140. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  141. package/dist/ContextMenu/ContextMenu.js +24 -6
  142. package/dist/DateInput/DateInput.js +1 -1
  143. package/dist/DateRangeInput/DateRangeInput.js +1 -1
  144. package/dist/DateTimeInput/DateTimeInput.js +1 -1
  145. package/dist/Dialog/Dialog.d.ts +33 -24
  146. package/dist/Dialog/Dialog.d.ts.map +1 -1
  147. package/dist/Dialog/Dialog.js +47 -31
  148. package/dist/Dialog/DialogHeader.d.ts +1 -1
  149. package/dist/Dialog/DialogHeader.js +1 -1
  150. package/dist/Dialog/index.d.ts +18 -1
  151. package/dist/Dialog/index.d.ts.map +1 -1
  152. package/dist/Dialog/index.js +14 -0
  153. package/dist/Divider/Divider.d.ts +2 -18
  154. package/dist/Divider/Divider.d.ts.map +1 -1
  155. package/dist/Divider/Divider.js +1 -15
  156. package/dist/Divider/index.d.ts +18 -1
  157. package/dist/Divider/index.d.ts.map +1 -1
  158. package/dist/Divider/index.js +14 -0
  159. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  160. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  161. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  162. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  163. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  164. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  165. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  166. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  167. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  168. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  169. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  170. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  171. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  172. package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
  173. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  174. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  175. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  176. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  177. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  178. package/dist/DropdownMenu/menuItemHover.js +1 -0
  179. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  180. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  181. package/dist/EmptyState/EmptyState.d.ts +1 -1
  182. package/dist/EmptyState/EmptyState.js +1 -1
  183. package/dist/Field/Field.d.ts +1 -1
  184. package/dist/Field/Field.js +1 -1
  185. package/dist/Field/FieldLabel.d.ts +4 -3
  186. package/dist/Field/FieldLabel.d.ts.map +1 -1
  187. package/dist/Field/FieldLabel.js +48 -5
  188. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  189. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  190. package/dist/FieldStatus/FieldStatus.js +13 -17
  191. package/dist/FieldStatus/index.d.ts +19 -1
  192. package/dist/FieldStatus/index.d.ts.map +1 -1
  193. package/dist/FieldStatus/index.js +14 -0
  194. package/dist/FileInput/FileInput.js +1 -1
  195. package/dist/FormLayout/FormLayout.d.ts +1 -1
  196. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  197. package/dist/FormLayout/FormLayout.js +1 -1
  198. package/dist/Grid/Grid.d.ts +2 -10
  199. package/dist/Grid/Grid.d.ts.map +1 -1
  200. package/dist/Grid/Grid.js +1 -10
  201. package/dist/Grid/GridSpan.d.ts +1 -1
  202. package/dist/Grid/GridSpan.js +1 -1
  203. package/dist/HStack/HStack.d.ts +1 -1
  204. package/dist/HStack/HStack.js +1 -1
  205. package/dist/Heading/Heading.d.ts +2 -2
  206. package/dist/Heading/Heading.d.ts.map +1 -1
  207. package/dist/Heading/Heading.js +5 -4
  208. package/dist/HoverCard/HoverCard.d.ts +1 -1
  209. package/dist/HoverCard/HoverCard.js +1 -1
  210. package/dist/Icon/Icon.d.ts +1 -1
  211. package/dist/Icon/Icon.d.ts.map +1 -1
  212. package/dist/Icon/Icon.js +4 -2
  213. package/dist/Icon/defaultIcons.d.ts.map +1 -1
  214. package/dist/Icon/defaultIcons.js +14 -0
  215. package/dist/Icon/globalIconRegistry.d.ts +48 -6
  216. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  217. package/dist/Icon/globalIconRegistry.js +74 -7
  218. package/dist/Icon/index.d.ts +4 -3
  219. package/dist/Icon/index.d.ts.map +1 -1
  220. package/dist/Icon/index.js +2 -1
  221. package/dist/Icon/useIcon.d.ts +14 -0
  222. package/dist/Icon/useIcon.d.ts.map +1 -0
  223. package/dist/Icon/useIcon.js +21 -0
  224. package/dist/IconButton/IconButton.d.ts +1 -1
  225. package/dist/IconButton/IconButton.js +1 -1
  226. package/dist/InputGroup/InputGroup.d.ts +1 -1
  227. package/dist/InputGroup/InputGroup.js +1 -1
  228. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  229. package/dist/InputGroup/InputGroupText.js +1 -1
  230. package/dist/Item/Item.d.ts +17 -4
  231. package/dist/Item/Item.d.ts.map +1 -1
  232. package/dist/Item/Item.js +32 -7
  233. package/dist/Kbd/Kbd.d.ts +1 -1
  234. package/dist/Kbd/Kbd.js +1 -1
  235. package/dist/Layout/Layout.d.ts +1 -1
  236. package/dist/Layout/Layout.js +1 -1
  237. package/dist/Layout/LayoutContent.d.ts +1 -1
  238. package/dist/Layout/LayoutContent.js +1 -1
  239. package/dist/Layout/LayoutFooter.d.ts +1 -1
  240. package/dist/Layout/LayoutFooter.js +1 -1
  241. package/dist/Layout/LayoutHeader.d.ts +1 -1
  242. package/dist/Layout/LayoutHeader.js +1 -1
  243. package/dist/Layout/LayoutPanel.d.ts +1 -1
  244. package/dist/Layout/LayoutPanel.js +1 -1
  245. package/dist/Lightbox/Lightbox.d.ts +6 -4
  246. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  247. package/dist/Lightbox/Lightbox.js +117 -26
  248. package/dist/Link/Link.d.ts +1 -1
  249. package/dist/Link/Link.js +1 -1
  250. package/dist/Link/LinkProvider.d.ts +2 -2
  251. package/dist/Link/LinkProvider.js +2 -2
  252. package/dist/List/List.d.ts +1 -1
  253. package/dist/List/List.js +1 -1
  254. package/dist/List/ListItem.d.ts +12 -2
  255. package/dist/List/ListItem.d.ts.map +1 -1
  256. package/dist/List/ListItem.js +3 -1
  257. package/dist/Markdown/Markdown.d.ts.map +1 -1
  258. package/dist/Markdown/Markdown.js +35 -13
  259. package/dist/MetadataList/MetadataList.d.ts +2 -2
  260. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  261. package/dist/MetadataList/MetadataList.js +38 -12
  262. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  263. package/dist/MetadataList/MetadataListItem.js +1 -1
  264. package/dist/MobileNav/MobileNav.d.ts +1 -1
  265. package/dist/MobileNav/MobileNav.js +1 -1
  266. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  267. package/dist/MoreMenu/MoreMenu.js +3 -3
  268. package/dist/MultiSelector/MultiSelector.d.ts +13 -4
  269. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  270. package/dist/MultiSelector/MultiSelector.js +118 -24
  271. package/dist/NavIcon/NavIcon.d.ts +1 -1
  272. package/dist/NavIcon/NavIcon.js +1 -1
  273. package/dist/NavMenu/index.d.ts +0 -2
  274. package/dist/NavMenu/index.d.ts.map +1 -1
  275. package/dist/NavMenu/index.js +1 -3
  276. package/dist/NumberInput/NumberInput.d.ts +1 -1
  277. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  278. package/dist/NumberInput/NumberInput.js +16 -5
  279. package/dist/Outline/Outline.js +1 -1
  280. package/dist/OverflowList/OverflowList.d.ts +1 -1
  281. package/dist/OverflowList/OverflowList.js +1 -1
  282. package/dist/Pagination/Pagination.d.ts +26 -21
  283. package/dist/Pagination/Pagination.d.ts.map +1 -1
  284. package/dist/Pagination/Pagination.js +169 -41
  285. package/dist/Pagination/index.d.ts +22 -1
  286. package/dist/Pagination/index.d.ts.map +1 -1
  287. package/dist/Pagination/index.js +14 -0
  288. package/dist/Popover/Popover.d.ts +20 -3
  289. package/dist/Popover/Popover.d.ts.map +1 -1
  290. package/dist/Popover/Popover.js +5 -1
  291. package/dist/Popover/usePopover.d.ts.map +1 -1
  292. package/dist/Popover/usePopover.js +14 -3
  293. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  294. package/dist/PowerSearch/PowerSearch.js +1 -1
  295. package/dist/ProgressBar/ProgressBar.d.ts +49 -22
  296. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  297. package/dist/ProgressBar/ProgressBar.js +79 -22
  298. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts +27 -0
  299. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts.map +1 -0
  300. package/dist/ProgressBar/ProgressBarMarkTooltip.js +35 -0
  301. package/dist/ProgressBar/index.d.ts +21 -1
  302. package/dist/ProgressBar/index.d.ts.map +1 -1
  303. package/dist/ProgressBar/index.js +14 -0
  304. package/dist/RadioList/RadioList.d.ts +1 -1
  305. package/dist/RadioList/RadioList.js +1 -1
  306. package/dist/RadioList/RadioListItem.d.ts +1 -1
  307. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  308. package/dist/RadioList/RadioListItem.js +2 -2
  309. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  310. package/dist/Resizable/ResizeHandle.js +15 -11
  311. package/dist/Section/Section.d.ts +2 -19
  312. package/dist/Section/Section.d.ts.map +1 -1
  313. package/dist/Section/Section.js +1 -15
  314. package/dist/Section/index.d.ts +19 -1
  315. package/dist/Section/index.d.ts.map +1 -1
  316. package/dist/Section/index.js +14 -0
  317. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  318. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  319. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  320. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  321. package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
  322. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  323. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  324. package/dist/SelectableCard/SelectableCard.js +15 -3
  325. package/dist/Selector/Selector.d.ts +12 -3
  326. package/dist/Selector/Selector.d.ts.map +1 -1
  327. package/dist/Selector/Selector.js +109 -21
  328. package/dist/SideNav/SideNav.d.ts +1 -1
  329. package/dist/SideNav/SideNav.js +1 -1
  330. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  331. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  332. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  333. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  334. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  335. package/dist/SideNav/SideNavHeading.js +8 -7
  336. package/dist/SideNav/SideNavItem.d.ts +2 -2
  337. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  338. package/dist/SideNav/SideNavItem.js +6 -7
  339. package/dist/SideNav/SideNavSection.d.ts +1 -1
  340. package/dist/SideNav/SideNavSection.js +1 -1
  341. package/dist/Skeleton/Skeleton.d.ts +1 -1
  342. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  343. package/dist/Skeleton/Skeleton.js +3 -3
  344. package/dist/Slider/Slider.d.ts.map +1 -1
  345. package/dist/Slider/Slider.js +78 -68
  346. package/dist/Spinner/Spinner.d.ts +1 -1
  347. package/dist/Spinner/Spinner.js +1 -1
  348. package/dist/Stack/Stack.d.ts +1 -1
  349. package/dist/Stack/Stack.js +1 -1
  350. package/dist/Stack/StackItem.d.ts +1 -1
  351. package/dist/Stack/StackItem.js +1 -1
  352. package/dist/StatusDot/StatusDot.d.ts +1 -20
  353. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  354. package/dist/StatusDot/StatusDot.js +2 -17
  355. package/dist/StatusDot/index.d.ts +21 -1
  356. package/dist/StatusDot/index.d.ts.map +1 -1
  357. package/dist/StatusDot/index.js +14 -0
  358. package/dist/Switch/Switch.d.ts +2 -6
  359. package/dist/Switch/Switch.d.ts.map +1 -1
  360. package/dist/Switch/Switch.js +18 -10
  361. package/dist/TabList/Tab.d.ts +1 -1
  362. package/dist/TabList/Tab.js +1 -1
  363. package/dist/TabList/TabList.d.ts +1 -1
  364. package/dist/TabList/TabList.js +1 -1
  365. package/dist/TabList/TabMenu.d.ts +1 -1
  366. package/dist/TabList/TabMenu.d.ts.map +1 -1
  367. package/dist/TabList/TabMenu.js +11 -3
  368. package/dist/Table/BaseTable.d.ts +1 -1
  369. package/dist/Table/BaseTable.d.ts.map +1 -1
  370. package/dist/Table/BaseTable.js +4 -7
  371. package/dist/Table/Table.d.ts +1 -1
  372. package/dist/Table/Table.js +1 -1
  373. package/dist/Table/TableCell.d.ts +1 -1
  374. package/dist/Table/TableCell.js +4 -2
  375. package/dist/Table/TableHeaderCell.d.ts +1 -1
  376. package/dist/Table/TableHeaderCell.js +4 -2
  377. package/dist/Table/TableRow.d.ts +1 -1
  378. package/dist/Table/TableRow.js +1 -1
  379. package/dist/Table/index.d.ts +1 -1
  380. package/dist/Table/index.d.ts.map +1 -1
  381. package/dist/Table/index.js +1 -1
  382. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
  383. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
  384. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  385. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  386. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -4
  387. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  388. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  389. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  390. package/dist/Table/types.d.ts +0 -9
  391. package/dist/Table/types.d.ts.map +1 -1
  392. package/dist/Text/Text.d.ts +11 -2
  393. package/dist/Text/Text.d.ts.map +1 -1
  394. package/dist/Text/Text.js +26 -3
  395. package/dist/Text/index.d.ts +31 -1
  396. package/dist/Text/index.d.ts.map +1 -1
  397. package/dist/Text/index.js +23 -0
  398. package/dist/TextArea/TextArea.d.ts +1 -1
  399. package/dist/TextArea/TextArea.d.ts.map +1 -1
  400. package/dist/TextArea/TextArea.js +107 -39
  401. package/dist/TextInput/TextInput.d.ts +1 -1
  402. package/dist/TextInput/TextInput.js +1 -1
  403. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  404. package/dist/Thumbnail/Thumbnail.js +52 -46
  405. package/dist/TimeInput/TimeInput.js +1 -1
  406. package/dist/Timestamp/Timestamp.d.ts +26 -12
  407. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  408. package/dist/Timestamp/Timestamp.js +128 -65
  409. package/dist/Timestamp/TimestampHoverCard.d.ts +45 -0
  410. package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -0
  411. package/dist/Timestamp/TimestampHoverCard.js +228 -0
  412. package/dist/Timestamp/formatInstant.d.ts +3 -3
  413. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  414. package/dist/Timestamp/formatInstant.js +7 -2
  415. package/dist/Timestamp/tooltipEntries.d.ts +17 -2
  416. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  417. package/dist/Timestamp/tooltipEntries.js +4 -2
  418. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  419. package/dist/Toast/ToastViewport.js +61 -9
  420. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  421. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  422. package/dist/ToggleButton/ToggleButton.js +4 -2
  423. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  424. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  425. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  426. package/dist/Token/Token.d.ts +6 -28
  427. package/dist/Token/Token.d.ts.map +1 -1
  428. package/dist/Token/Token.js +69 -58
  429. package/dist/Token/TokenLink.d.ts +62 -0
  430. package/dist/Token/TokenLink.d.ts.map +1 -0
  431. package/dist/Token/TokenLink.js +76 -0
  432. package/dist/Token/index.d.ts +27 -1
  433. package/dist/Token/index.d.ts.map +1 -1
  434. package/dist/Token/index.js +14 -0
  435. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  436. package/dist/Tokenizer/Tokenizer.js +1 -1
  437. package/dist/Toolbar/Toolbar.d.ts +1 -1
  438. package/dist/Toolbar/Toolbar.js +1 -1
  439. package/dist/Tooltip/Tooltip.d.ts +1 -1
  440. package/dist/Tooltip/Tooltip.js +1 -1
  441. package/dist/TopNav/TopNav.d.ts +1 -1
  442. package/dist/TopNav/TopNav.js +1 -1
  443. package/dist/TopNav/TopNavHeading.d.ts +2 -8
  444. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  445. package/dist/TopNav/TopNavHeading.js +8 -10
  446. package/dist/TopNav/TopNavItem.d.ts +1 -1
  447. package/dist/TopNav/TopNavItem.js +1 -1
  448. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  449. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  450. package/dist/TopNav/TopNavMegaMenu.js +15 -7
  451. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  452. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  453. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  454. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  455. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  456. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  457. package/dist/TopNav/TopNavMenu.js +5 -4
  458. package/dist/TreeList/TreeList.d.ts +1 -1
  459. package/dist/TreeList/TreeList.js +1 -1
  460. package/dist/TreeList/TreeListBranches.js +1 -1
  461. package/dist/TreeList/TreeListItem.d.ts +1 -1
  462. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  463. package/dist/TreeList/TreeListItem.js +4 -3
  464. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  465. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  466. package/dist/TreeList/index.d.ts +18 -1
  467. package/dist/TreeList/index.d.ts.map +1 -1
  468. package/dist/TreeList/index.js +14 -0
  469. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  470. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  471. package/dist/Typeahead/BaseTypeahead.js +3 -1
  472. package/dist/Typeahead/Typeahead.d.ts +1 -1
  473. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  474. package/dist/Typeahead/Typeahead.js +9 -2
  475. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  476. package/dist/Typeahead/TypeaheadItem.js +1 -1
  477. package/dist/VStack/VStack.d.ts +1 -1
  478. package/dist/VStack/VStack.js +1 -1
  479. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  480. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  481. package/dist/astryx.css +111 -33
  482. package/dist/astryx.umd.js +50 -54
  483. package/dist/astryx.umd.js.map +4 -4
  484. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  485. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  486. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  487. package/dist/hooks/index.d.ts +2 -0
  488. package/dist/hooks/index.d.ts.map +1 -1
  489. package/dist/hooks/index.js +2 -1
  490. package/dist/hooks/useContainerReveal.d.ts +83 -0
  491. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  492. package/dist/hooks/useContainerReveal.js +123 -0
  493. package/dist/hooks/useGridFocus.d.ts +8 -6
  494. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  495. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  496. package/dist/hooks/useInputContainer.js +29 -1
  497. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  498. package/dist/hooks/useInputStatusIcon.js +11 -0
  499. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  500. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  501. package/dist/hooks/useKeyboardHint.js +5 -3
  502. package/dist/hooks/useListFocus.d.ts +8 -7
  503. package/dist/hooks/useListFocus.d.ts.map +1 -1
  504. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  505. package/dist/hooks/useTreeFocus.js +13 -2
  506. package/dist/i18n/InternationalizationProvider.d.ts +6 -0
  507. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  508. package/dist/i18n/useDirection.d.ts.map +1 -1
  509. package/dist/i18n/useDirection.js +6 -3
  510. package/dist/index.d.ts +2 -1
  511. package/dist/index.d.ts.map +1 -1
  512. package/dist/index.js +3 -3
  513. package/dist/theme/Theme.d.ts.map +1 -1
  514. package/dist/theme/Theme.js +2 -7
  515. package/dist/theme/contrast.d.ts +45 -0
  516. package/dist/theme/contrast.d.ts.map +1 -0
  517. package/dist/theme/contrast.js +88 -0
  518. package/dist/theme/defineTheme.d.ts +9 -3
  519. package/dist/theme/defineTheme.d.ts.map +1 -1
  520. package/dist/theme/defineTheme.js +6 -4
  521. package/dist/theme/expandColorScale.d.ts +29 -2
  522. package/dist/theme/expandColorScale.d.ts.map +1 -1
  523. package/dist/theme/expandColorScale.js +91 -12
  524. package/dist/theme/generateThemeRules.d.ts +0 -6
  525. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  526. package/dist/theme/generateThemeRules.js +0 -15
  527. package/dist/theme/index.d.ts +9 -7
  528. package/dist/theme/index.d.ts.map +1 -1
  529. package/dist/theme/index.js +4 -3
  530. package/dist/theme/themeRegistry.d.ts +32 -0
  531. package/dist/theme/themeRegistry.d.ts.map +1 -0
  532. package/dist/theme/themeRegistry.js +49 -0
  533. package/dist/theme/tokens.stylex.d.ts +0 -17
  534. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  535. package/dist/theme/tokens.stylex.js +0 -22
  536. package/dist/theme/types.d.ts +10 -2
  537. package/dist/theme/types.d.ts.map +1 -1
  538. package/dist/theme/useTheme.d.ts +9 -0
  539. package/dist/theme/useTheme.d.ts.map +1 -1
  540. package/dist/theme/useTheme.js +82 -27
  541. package/dist/utils/rtlStyles.d.ts +21 -0
  542. package/dist/utils/rtlStyles.d.ts.map +1 -1
  543. package/dist/utils/rtlStyles.js +26 -1
  544. package/groups.doc.mjs +2 -2
  545. package/locales/en.json +124 -0
  546. package/locales/pseudo.json +93 -0
  547. package/package.json +10 -14
  548. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  549. package/src/AlertDialog/AlertDialog.tsx +1 -1
  550. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  551. package/src/AppShell/AppShell.doc.mjs +3 -3
  552. package/src/AppShell/AppShell.test.tsx +55 -0
  553. package/src/AppShell/AppShell.tsx +27 -22
  554. package/src/AppShell/index.ts +20 -1
  555. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  556. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  557. package/src/AspectRatio/AspectRatio.tsx +1 -1
  558. package/src/Avatar/Avatar.doc.mjs +3 -3
  559. package/src/Avatar/Avatar.tsx +8 -3
  560. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  561. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  562. package/src/Avatar/index.ts +26 -1
  563. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  564. package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
  565. package/src/AvatarGroup/AvatarGroup.tsx +3 -7
  566. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  567. package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
  568. package/src/Badge/Badge.doc.mjs +3 -3
  569. package/src/Badge/Badge.tsx +2 -31
  570. package/src/Badge/index.ts +32 -6
  571. package/src/Banner/Banner.doc.mjs +3 -3
  572. package/src/Banner/Banner.tsx +8 -45
  573. package/src/Banner/index.ts +39 -7
  574. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  575. package/src/Blockquote/Blockquote.tsx +1 -1
  576. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  577. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  578. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  579. package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
  580. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  581. package/src/Breadcrumbs/index.ts +19 -5
  582. package/src/Button/Button.doc.mjs +3 -3
  583. package/src/Button/Button.test.tsx +16 -0
  584. package/src/Button/Button.tsx +6 -23
  585. package/src/Button/index.ts +22 -7
  586. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  587. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  588. package/src/Calendar/Calendar.doc.mjs +3 -3
  589. package/src/Calendar/Calendar.test.tsx +22 -6
  590. package/src/Calendar/Calendar.tsx +1 -1
  591. package/src/Calendar/index.ts +1 -6
  592. package/src/Calendar/styles.ts +2 -2
  593. package/src/Calendar/utils.ts +0 -11
  594. package/src/Card/Card.doc.mjs +3 -3
  595. package/src/Card/Card.tsx +1 -1
  596. package/src/Carousel/Carousel.doc.mjs +10 -3
  597. package/src/Carousel/Carousel.test.tsx +232 -1
  598. package/src/Carousel/Carousel.tsx +144 -21
  599. package/src/Carousel/index.ts +1 -1
  600. package/src/Center/Center.doc.mjs +41 -3
  601. package/src/Center/Center.test.tsx +75 -0
  602. package/src/Center/Center.tsx +38 -3
  603. package/src/Chat/Chat.doc.mjs +3 -3
  604. package/src/Chat/ChatComposer.doc.mjs +1 -1
  605. package/src/Chat/ChatComposer.tsx +5 -5
  606. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  607. package/src/Chat/ChatComposerDrawer.tsx +5 -5
  608. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  609. package/src/Chat/ChatComposerInput.tsx +1 -1
  610. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  611. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  612. package/src/Chat/ChatDictationButton.tsx +1 -1
  613. package/src/Chat/ChatLayout.doc.mjs +1 -1
  614. package/src/Chat/ChatLayout.test.tsx +57 -0
  615. package/src/Chat/ChatLayout.tsx +23 -2
  616. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  617. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  618. package/src/Chat/ChatMessage.doc.mjs +1 -1
  619. package/src/Chat/ChatMessage.tsx +1 -1
  620. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  621. package/src/Chat/ChatMessageBubble.tsx +1 -1
  622. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  623. package/src/Chat/ChatMessageList.tsx +1 -1
  624. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  625. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  626. package/src/Chat/ChatSendButton.tsx +5 -3
  627. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  628. package/src/Chat/ChatSystemMessage.tsx +1 -1
  629. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  630. package/src/Chat/ChatTokenizedText.tsx +1 -1
  631. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  632. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  633. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  634. package/src/CheckboxInput/CheckboxInput.tsx +18 -3
  635. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  636. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  637. package/src/CheckboxList/CheckboxList.tsx +1 -1
  638. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  639. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  640. package/src/Citation/Citation.doc.mjs +2 -2
  641. package/src/Citation/Citation.tsx +1 -1
  642. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  643. package/src/ClickableCard/ClickableCard.tsx +3 -3
  644. package/src/Code/Code.tsx +2 -2
  645. package/src/CodeBlock/Code.doc.mjs +1 -1
  646. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  647. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  648. package/src/CodeBlock/CodeBlock.tsx +2 -2
  649. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  650. package/src/Collapsible/Collapsible.tsx +3 -3
  651. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  652. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  653. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  654. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  655. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  656. package/src/CommandPalette/CommandPalette.tsx +1 -1
  657. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  658. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  659. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  660. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  661. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  662. package/src/CommandPalette/CommandPaletteGroup.test.tsx +6 -2
  663. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  664. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  665. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  666. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  667. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  668. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  669. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  670. package/src/ComplexSelector/ComplexSelector.doc.mjs +179 -0
  671. package/src/ComplexSelector/ComplexSelector.test.tsx +156 -0
  672. package/src/ComplexSelector/ComplexSelector.tsx +429 -0
  673. package/src/ComplexSelector/index.ts +17 -0
  674. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  675. package/src/ContextMenu/ContextMenu.test.tsx +17 -2
  676. package/src/ContextMenu/ContextMenu.tsx +27 -6
  677. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  678. package/src/DateInput/DateInput.doc.mjs +3 -3
  679. package/src/DateInput/DateInput.test.tsx +7 -3
  680. package/src/DateInput/DateInput.tsx +1 -1
  681. package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
  682. package/src/DateRangeInput/DateRangeInput.test.tsx +7 -2
  683. package/src/DateRangeInput/DateRangeInput.tsx +1 -1
  684. package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
  685. package/src/DateTimeInput/DateTimeInput.test.tsx +6 -2
  686. package/src/DateTimeInput/DateTimeInput.tsx +1 -1
  687. package/src/Dialog/Dialog.doc.mjs +7 -5
  688. package/src/Dialog/Dialog.test.tsx +46 -3
  689. package/src/Dialog/Dialog.tsx +61 -44
  690. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  691. package/src/Dialog/DialogHeader.tsx +1 -1
  692. package/src/Dialog/index.ts +18 -1
  693. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  694. package/src/Divider/Divider.doc.mjs +3 -3
  695. package/src/Divider/Divider.tsx +2 -19
  696. package/src/Divider/index.ts +19 -5
  697. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  698. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  699. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  700. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  701. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  702. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  703. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  704. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  705. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  706. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  707. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
  708. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  709. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  710. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  711. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  712. package/src/DropdownMenu/menuItemHover.ts +1 -0
  713. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  714. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  715. package/src/EmptyState/EmptyState.tsx +1 -1
  716. package/src/Field/Field.doc.mjs +7 -3
  717. package/src/Field/Field.tsx +1 -1
  718. package/src/Field/FieldLabel.doc.mjs +1 -1
  719. package/src/Field/FieldLabel.test.tsx +103 -0
  720. package/src/Field/FieldLabel.tsx +61 -5
  721. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  722. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  723. package/src/FieldStatus/FieldStatus.tsx +16 -23
  724. package/src/FieldStatus/index.ts +20 -5
  725. package/src/FileInput/FileInput.doc.mjs +3 -3
  726. package/src/FileInput/FileInput.tsx +1 -1
  727. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  728. package/src/FormLayout/FormLayout.tsx +2 -5
  729. package/src/Grid/Grid.doc.mjs +3 -8
  730. package/src/Grid/Grid.tsx +1 -25
  731. package/src/Grid/GridSpan.doc.mjs +1 -1
  732. package/src/Grid/GridSpan.tsx +1 -1
  733. package/src/HStack/HStack.tsx +1 -1
  734. package/src/Heading/Heading.tsx +4 -3
  735. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  736. package/src/HoverCard/HoverCard.tsx +1 -1
  737. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  738. package/src/Icon/Icon.doc.mjs +7 -6
  739. package/src/Icon/Icon.test.tsx +23 -0
  740. package/src/Icon/Icon.tsx +4 -2
  741. package/src/Icon/defaultIcons.tsx +14 -0
  742. package/src/Icon/globalIconRegistry.test.tsx +87 -1
  743. package/src/Icon/globalIconRegistry.tsx +111 -9
  744. package/src/Icon/index.ts +9 -7
  745. package/src/Icon/useIcon.ts +23 -0
  746. package/src/IconButton/IconButton.doc.mjs +2 -2
  747. package/src/IconButton/IconButton.tsx +1 -1
  748. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  749. package/src/InputGroup/InputGroup.tsx +1 -1
  750. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  751. package/src/InputGroup/InputGroupText.tsx +1 -1
  752. package/src/Item/Item.doc.mjs +8 -3
  753. package/src/Item/Item.test.tsx +88 -0
  754. package/src/Item/Item.tsx +58 -12
  755. package/src/Kbd/Kbd.doc.mjs +3 -3
  756. package/src/Kbd/Kbd.tsx +1 -1
  757. package/src/Layer/Layer.doc.mjs +2 -2
  758. package/src/Layer/useLayer.doc.mjs +2 -2
  759. package/src/Layout/Layout.doc.mjs +3 -3
  760. package/src/Layout/Layout.tsx +1 -1
  761. package/src/Layout/LayoutContent.doc.mjs +1 -1
  762. package/src/Layout/LayoutContent.tsx +1 -1
  763. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  764. package/src/Layout/LayoutFooter.tsx +1 -1
  765. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  766. package/src/Layout/LayoutHeader.tsx +1 -1
  767. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  768. package/src/Layout/LayoutPanel.tsx +1 -1
  769. package/src/Lightbox/Lightbox.doc.mjs +5 -5
  770. package/src/Lightbox/Lightbox.test.tsx +211 -0
  771. package/src/Lightbox/Lightbox.tsx +109 -22
  772. package/src/Link/Link.doc.mjs +3 -3
  773. package/src/Link/Link.tsx +1 -1
  774. package/src/Link/LinkProvider.doc.mjs +2 -2
  775. package/src/Link/LinkProvider.tsx +2 -2
  776. package/src/List/List.doc.mjs +3 -3
  777. package/src/List/List.tsx +1 -1
  778. package/src/List/ListItem.doc.mjs +13 -1
  779. package/src/List/ListItem.tsx +14 -1
  780. package/src/Markdown/Markdown.doc.mjs +81 -1
  781. package/src/Markdown/Markdown.test.tsx +92 -0
  782. package/src/Markdown/Markdown.tsx +96 -68
  783. package/src/Markdown/parser.perf.test.ts +47 -35
  784. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  785. package/src/MetadataList/MetadataList.test.tsx +82 -0
  786. package/src/MetadataList/MetadataList.tsx +45 -20
  787. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  788. package/src/MetadataList/MetadataListItem.tsx +1 -1
  789. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  790. package/src/MobileNav/MobileNav.tsx +1 -1
  791. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  792. package/src/MoreMenu/MoreMenu.tsx +3 -3
  793. package/src/MultiSelector/MultiSelector.doc.mjs +35 -10
  794. package/src/MultiSelector/MultiSelector.test.tsx +303 -3
  795. package/src/MultiSelector/MultiSelector.tsx +223 -58
  796. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  797. package/src/NavIcon/NavIcon.tsx +1 -1
  798. package/src/NavMenu/NavHeadingMenu.test.tsx +0 -16
  799. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  800. package/src/NavMenu/index.ts +0 -4
  801. package/src/NumberInput/NumberInput.doc.mjs +3 -6
  802. package/src/NumberInput/NumberInput.test.tsx +38 -3
  803. package/src/NumberInput/NumberInput.tsx +24 -1
  804. package/src/Outline/Outline.doc.mjs +3 -3
  805. package/src/Outline/Outline.tsx +1 -1
  806. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  807. package/src/OverflowList/OverflowList.tsx +1 -1
  808. package/src/Overlay/Overlay.doc.mjs +2 -2
  809. package/src/Pagination/Pagination.doc.mjs +55 -8
  810. package/src/Pagination/Pagination.test.tsx +567 -0
  811. package/src/Pagination/Pagination.tsx +223 -41
  812. package/src/Pagination/index.ts +22 -1
  813. package/src/Popover/Popover.doc.mjs +31 -3
  814. package/src/Popover/Popover.test.tsx +41 -0
  815. package/src/Popover/Popover.tsx +25 -2
  816. package/src/Popover/usePopover.doc.mjs +2 -2
  817. package/src/Popover/usePopover.tsx +10 -4
  818. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  819. package/src/PowerSearch/PowerSearch.tsx +1 -1
  820. package/src/ProgressBar/ProgressBar.doc.mjs +18 -3
  821. package/src/ProgressBar/ProgressBar.test.tsx +340 -2
  822. package/src/ProgressBar/ProgressBar.tsx +153 -25
  823. package/src/ProgressBar/ProgressBarMarkTooltip.tsx +43 -0
  824. package/src/ProgressBar/index.ts +22 -1
  825. package/src/RadioList/RadioList.doc.mjs +3 -3
  826. package/src/RadioList/RadioList.test.tsx +26 -4
  827. package/src/RadioList/RadioList.tsx +1 -1
  828. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  829. package/src/RadioList/RadioListItem.tsx +9 -2
  830. package/src/Resizable/Resizable.doc.mjs +2 -2
  831. package/src/Resizable/ResizeHandle.test.tsx +52 -3
  832. package/src/Resizable/ResizeHandle.tsx +25 -13
  833. package/src/Resizable/useResizable.doc.mjs +2 -2
  834. package/src/Section/Section.doc.mjs +3 -3
  835. package/src/Section/Section.tsx +2 -20
  836. package/src/Section/index.ts +20 -5
  837. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  838. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  839. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  840. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  841. package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
  842. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  843. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  844. package/src/SelectableCard/SelectableCard.tsx +19 -3
  845. package/src/Selector/Selector.doc.mjs +28 -8
  846. package/src/Selector/Selector.test.tsx +222 -3
  847. package/src/Selector/Selector.tsx +202 -52
  848. package/src/Selector/SelectorOption.doc.mjs +1 -1
  849. package/src/SideNav/SideNav.doc.mjs +3 -3
  850. package/src/SideNav/SideNav.tsx +1 -1
  851. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  852. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  853. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  854. package/src/SideNav/SideNavHeading.tsx +8 -9
  855. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  856. package/src/SideNav/SideNavItem.tsx +5 -6
  857. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  858. package/src/SideNav/SideNavSection.tsx +1 -1
  859. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  860. package/src/Skeleton/Skeleton.test.tsx +16 -0
  861. package/src/Skeleton/Skeleton.tsx +14 -2
  862. package/src/Slider/Slider.doc.mjs +3 -3
  863. package/src/Slider/Slider.tsx +9 -13
  864. package/src/Spinner/Spinner.doc.mjs +3 -3
  865. package/src/Spinner/Spinner.tsx +1 -1
  866. package/src/Stack/Stack.doc.mjs +3 -3
  867. package/src/Stack/Stack.tsx +1 -1
  868. package/src/Stack/StackItem.tsx +1 -1
  869. package/src/StatusDot/StatusDot.doc.mjs +3 -3
  870. package/src/StatusDot/StatusDot.tsx +2 -22
  871. package/src/StatusDot/index.ts +22 -5
  872. package/src/Switch/Switch.doc.mjs +5 -5
  873. package/src/Switch/Switch.test.tsx +71 -25
  874. package/src/Switch/Switch.tsx +56 -18
  875. package/src/TabList/Tab.doc.mjs +1 -1
  876. package/src/TabList/Tab.tsx +1 -1
  877. package/src/TabList/TabList.doc.mjs +3 -3
  878. package/src/TabList/TabList.test.tsx +21 -18
  879. package/src/TabList/TabList.tsx +1 -1
  880. package/src/TabList/TabMenu.doc.mjs +1 -1
  881. package/src/TabList/TabMenu.tsx +11 -3
  882. package/src/Table/BaseTable.tsx +4 -5
  883. package/src/Table/Table.doc.mjs +5 -5
  884. package/src/Table/Table.test.tsx +27 -49
  885. package/src/Table/Table.tsx +1 -1
  886. package/src/Table/TableCell.doc.mjs +1 -1
  887. package/src/Table/TableCell.tsx +2 -2
  888. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  889. package/src/Table/TableHeaderCell.tsx +2 -2
  890. package/src/Table/TableRow.doc.mjs +1 -1
  891. package/src/Table/TableRow.tsx +1 -1
  892. package/src/Table/index.ts +1 -1
  893. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
  894. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  895. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +24 -4
  896. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  897. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  898. package/src/Table/types.ts +0 -9
  899. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  900. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  901. package/src/Table/useTableFilterState.doc.mjs +1 -1
  902. package/src/Table/useTableFiltering.doc.mjs +1 -1
  903. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  904. package/src/Table/useTablePagination.doc.mjs +1 -1
  905. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  906. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  907. package/src/Table/useTableRowStatus.doc.mjs +3 -3
  908. package/src/Table/useTableSelection.doc.mjs +1 -1
  909. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  910. package/src/Table/useTableSortable.doc.mjs +1 -1
  911. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  912. package/src/Table/useTableTreeData.doc.mjs +10 -1
  913. package/src/Table/useTableTreeState.doc.mjs +1 -1
  914. package/src/Text/Heading.doc.mjs +4 -4
  915. package/src/Text/Text.doc.mjs +4 -4
  916. package/src/Text/Text.test.tsx +42 -0
  917. package/src/Text/Text.tsx +26 -2
  918. package/src/Text/index.ts +32 -6
  919. package/src/TextArea/TextArea.doc.mjs +5 -5
  920. package/src/TextArea/TextArea.test.tsx +112 -7
  921. package/src/TextArea/TextArea.tsx +143 -50
  922. package/src/TextInput/TextInput.doc.mjs +3 -3
  923. package/src/TextInput/TextInput.tsx +1 -1
  924. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  925. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  926. package/src/Thumbnail/Thumbnail.tsx +28 -35
  927. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  928. package/src/TimeInput/TimeInput.tsx +1 -1
  929. package/src/Timestamp/Timestamp.doc.mjs +29 -24
  930. package/src/Timestamp/Timestamp.test.tsx +438 -107
  931. package/src/Timestamp/Timestamp.tsx +167 -103
  932. package/src/Timestamp/TimestampHoverCard.tsx +283 -0
  933. package/src/Timestamp/formatInstant.ts +9 -4
  934. package/src/Timestamp/tooltipEntries.test.ts +9 -0
  935. package/src/Timestamp/tooltipEntries.ts +18 -2
  936. package/src/Toast/Toast.doc.mjs +3 -3
  937. package/src/Toast/ToastViewport.test.tsx +218 -8
  938. package/src/Toast/ToastViewport.tsx +71 -12
  939. package/src/Toast/useToast.doc.mjs +2 -2
  940. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  941. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  942. package/src/ToggleButton/ToggleButton.tsx +20 -2
  943. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  944. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  945. package/src/Token/Token.doc.mjs +3 -3
  946. package/src/Token/Token.test.tsx +145 -0
  947. package/src/Token/Token.tsx +75 -61
  948. package/src/Token/TokenLink.tsx +107 -0
  949. package/src/Token/index.ts +28 -1
  950. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  951. package/src/Tokenizer/Tokenizer.tsx +1 -1
  952. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  953. package/src/Toolbar/Toolbar.tsx +1 -1
  954. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  955. package/src/Tooltip/Tooltip.tsx +1 -1
  956. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  957. package/src/TopNav/TopNav.doc.mjs +3 -3
  958. package/src/TopNav/TopNav.test.tsx +2 -2
  959. package/src/TopNav/TopNav.tsx +1 -1
  960. package/src/TopNav/TopNavHeading.doc.mjs +1 -12
  961. package/src/TopNav/TopNavHeading.tsx +8 -18
  962. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  963. package/src/TopNav/TopNavItem.tsx +1 -1
  964. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  965. package/src/TopNav/TopNavMegaMenu.tsx +32 -6
  966. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  967. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  968. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  969. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  970. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  971. package/src/TopNav/TopNavMenu.tsx +5 -4
  972. package/src/TreeList/TreeList.doc.mjs +3 -3
  973. package/src/TreeList/TreeList.test.tsx +10 -6
  974. package/src/TreeList/TreeList.tsx +1 -1
  975. package/src/TreeList/TreeListBranches.tsx +1 -1
  976. package/src/TreeList/TreeListItem.tsx +4 -3
  977. package/src/TreeList/TreeListTypes.ts +1 -18
  978. package/src/TreeList/index.ts +19 -1
  979. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  980. package/src/Typeahead/BaseTypeahead.tsx +13 -1
  981. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  982. package/src/Typeahead/Typeahead.test.tsx +62 -0
  983. package/src/Typeahead/Typeahead.tsx +7 -1
  984. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  985. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  986. package/src/VStack/VStack.tsx +1 -1
  987. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  988. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  989. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  990. package/src/__tests__/forcedColors.ts +60 -0
  991. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  992. package/src/doc-mjs.d.ts +5 -2
  993. package/src/docPropLiterals.test.ts +1 -1
  994. package/src/docPropReferences.test.ts +1 -1
  995. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  996. package/src/hooks/index.ts +7 -0
  997. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  998. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  999. package/src/hooks/useContainerReveal.test.tsx +116 -0
  1000. package/src/hooks/useContainerReveal.ts +181 -0
  1001. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  1002. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  1003. package/src/hooks/useGridFocus.doc.mjs +2 -2
  1004. package/src/hooks/useGridFocus.ts +8 -6
  1005. package/src/hooks/useHotkeys.doc.mjs +2 -2
  1006. package/src/hooks/useImageMode.doc.mjs +2 -2
  1007. package/src/hooks/useInputContainer.doc.mjs +2 -2
  1008. package/src/hooks/useInputContainer.test.tsx +180 -0
  1009. package/src/hooks/useInputContainer.ts +36 -1
  1010. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  1011. package/src/hooks/useInputStatusIcon.tsx +12 -1
  1012. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  1013. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  1014. package/src/hooks/useKeyboardHint.tsx +7 -3
  1015. package/src/hooks/useListFocus.doc.mjs +2 -2
  1016. package/src/hooks/useListFocus.ts +8 -7
  1017. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  1018. package/src/hooks/useOverflow.doc.mjs +2 -2
  1019. package/src/hooks/useScrollLock.doc.mjs +2 -2
  1020. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  1021. package/src/hooks/useStreamingText.doc.mjs +2 -2
  1022. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  1023. package/src/hooks/useTreeFocus.test.tsx +53 -1
  1024. package/src/hooks/useTreeFocus.ts +13 -2
  1025. package/src/i18n/InternationalizationProvider.doc.mjs +14 -2
  1026. package/src/i18n/InternationalizationProvider.tsx +6 -0
  1027. package/src/i18n/useDirection.ts +6 -3
  1028. package/src/i18n/useTranslator.doc.mjs +2 -2
  1029. package/src/index.ts +2 -18
  1030. package/src/theme/MediaTheme.doc.mjs +2 -2
  1031. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  1032. package/src/theme/Theme.doc.mjs +2 -2
  1033. package/src/theme/Theme.tsx +3 -7
  1034. package/src/theme/contrast.test.ts +94 -0
  1035. package/src/theme/contrast.ts +99 -0
  1036. package/src/theme/defineTheme.test.ts +29 -30
  1037. package/src/theme/defineTheme.ts +11 -5
  1038. package/src/theme/expandColorScale.test.ts +387 -1
  1039. package/src/theme/expandColorScale.ts +126 -17
  1040. package/src/theme/generateThemeRules.ts +0 -15
  1041. package/src/theme/index.ts +11 -13
  1042. package/src/theme/themeRegistry.test.ts +59 -0
  1043. package/src/theme/themeRegistry.ts +53 -0
  1044. package/src/theme/tokens.stylex.ts +0 -19
  1045. package/src/theme/types.ts +14 -13
  1046. package/src/theme/useTheme.doc.mjs +2 -2
  1047. package/src/theme/useTheme.test.tsx +48 -3
  1048. package/src/theme/useTheme.ts +100 -29
  1049. package/src/utils/rtlStyles.ts +22 -0
  1050. package/dist/NavMenu/NavMenuItem.d.ts +0 -13
  1051. package/dist/NavMenu/NavMenuItem.d.ts.map +0 -1
  1052. package/dist/NavMenu/NavMenuItem.js +0 -16
  1053. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  1054. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  1055. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  1056. package/dist/authoring/doc.d.ts +0 -145
  1057. package/dist/authoring/doc.d.ts.map +0 -1
  1058. package/dist/authoring/doc.js +0 -100
  1059. package/dist/authoring/index.d.ts +0 -29
  1060. package/dist/authoring/index.d.ts.map +0 -1
  1061. package/dist/authoring/index.js +0 -28
  1062. package/dist/authoring/integration.d.ts +0 -35
  1063. package/dist/authoring/integration.d.ts.map +0 -1
  1064. package/dist/authoring/integration.js +0 -30
  1065. package/dist/authoring/template.d.ts +0 -66
  1066. package/dist/authoring/template.d.ts.map +0 -1
  1067. package/dist/authoring/template.js +0 -55
  1068. package/dist/config.d.ts +0 -80
  1069. package/dist/config.d.ts.map +0 -1
  1070. package/dist/config.js +0 -40
  1071. package/dist/docs-types.d.ts +0 -969
  1072. package/dist/docs-types.d.ts.map +0 -1
  1073. package/dist/docs-types.js +0 -1
  1074. package/src/NavMenu/NavMenuItem.tsx +0 -19
  1075. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  1076. package/src/authoring/doc.ts +0 -164
  1077. package/src/authoring/index.test.ts +0 -52
  1078. package/src/authoring/index.ts +0 -50
  1079. package/src/authoring/integration.ts +0 -42
  1080. package/src/authoring/template.ts +0 -74
  1081. package/src/config.test.ts +0 -16
  1082. package/src/config.ts +0 -92
  1083. 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: 'MoreMenu',
@@ -77,7 +77,7 @@ export const docs = {
77
77
  ],
78
78
  },
79
79
  };
80
- /** @type {import('../docs-types').ComponentDoc} */
80
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
81
81
  export const docsZh = {
82
82
  name: 'MoreMenu',
83
83
  displayName: 'More Menu',
@@ -142,7 +142,7 @@ export const docsZh = {
142
142
  },
143
143
  };
144
144
 
145
- /** @type {import('../docs-types').TranslationDoc} */
145
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
146
146
  export const docsDense = {
147
147
  description:
148
148
  'Overflow menu w/ three-dot icon trigger. Convenience wrapper composing icon-only Button w/ dropdown menu, eliminating boilerplate for state management, positioning, accessibility.',
@@ -15,11 +15,11 @@
15
15
  * - /packages/core/src/MoreMenu/MoreMenu.test.tsx
16
16
  * - /packages/core/src/MoreMenu/index.ts
17
17
  * - /apps/storybook/stories/MoreMenu.stories.tsx
18
- * - /packages/cli/templates/blocks/components/MoreMenu/ (showcase blocks)
18
+ * - /packages/cli/assets/templates/blocks/components/MoreMenu/ (showcase blocks)
19
19
  */
20
20
 
21
21
  import type {ReactNode} from 'react';
22
- import {getIcon} from '../Icon/globalIconRegistry';
22
+ import {useIcon} from '../Icon';
23
23
  import {DropdownMenu} from '../DropdownMenu/DropdownMenu';
24
24
  import {useSize} from '../SizeContext/SizeContext';
25
25
  import type {DropdownMenuOption} from '../DropdownMenu';
@@ -119,7 +119,7 @@ export function MoreMenu({
119
119
  const t = useTranslator();
120
120
  const label = labelFromProps ?? t('@astryx.moreMenu.label');
121
121
  const size = useSize(sizeProp, 'md');
122
- const moreIcon = getIcon('moreHorizontal');
122
+ const moreIcon = useIcon('moreHorizontal');
123
123
 
124
124
  return (
125
125
  <DropdownMenu
@@ -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: 'MultiSelector',
@@ -20,7 +20,10 @@ export const docs = {
20
20
  ],
21
21
  theming: {
22
22
  targets: [
23
- {className: 'astryx-multi-selector', visualProps: ['size', 'status']},
23
+ {
24
+ className: 'astryx-multi-selector',
25
+ visualProps: ['variant', 'size', 'status'],
26
+ },
24
27
  {className: 'astryx-multi-selector-clear-icon'},
25
28
  {
26
29
  className: 'astryx-multi-selector-indicator-icon',
@@ -77,6 +80,13 @@ export const docs = {
77
80
  description: 'Size variant for the selector.',
78
81
  default: "'md'",
79
82
  },
83
+ {
84
+ name: 'variant',
85
+ type: "'input' | 'ghost'",
86
+ description:
87
+ 'Visual trigger style. input is the bordered input treatment for forms; ghost is borderless and matches ghost buttons for toolbar usage.',
88
+ default: "'input'",
89
+ },
80
90
  {
81
91
  name: 'triggerDisplay',
82
92
  type: "'count' | 'labels' | 'badges'",
@@ -105,7 +115,7 @@ export const docs = {
105
115
  name: 'hasSearch',
106
116
  type: 'boolean',
107
117
  description:
108
- 'Whether to show a search input for filtering options. As the user types, the match count (or "No results found") is announced to screen readers via a polite live region.',
118
+ 'Whether to show a search input for filtering options. As the user types, the match count (or "No results found") is announced to screen readers via a polite live region. The search field has built-in affordances: a leading magnifier icon and, once a query is typed, a trailing clear (✕) button that resets the query and returns focus to the input.',
109
119
  },
110
120
  {
111
121
  name: 'searchPlaceholder',
@@ -162,10 +172,11 @@ export const docs = {
162
172
  },
163
173
  {
164
174
  name: 'statusVariant',
165
- type: "'attached' | 'detached'",
175
+ type: "'attached' | 'detached' | 'tooltip'",
166
176
  description:
167
- '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.',
168
- default: "'attached'",
177
+ 'How the status message is placed relative to the input. attached overlaps directly below the bordered input and is only valid for the input variant; ghost selectors detach attached status messages by default. Use tooltip for compact toolbar controls.',
178
+ default:
179
+ "'attached' for input selectors; 'detached' for ghost selectors",
169
180
  },
170
181
  {
171
182
  name: 'renderOption',
@@ -217,6 +228,11 @@ export const docs = {
217
228
  description:
218
229
  'Use inside InputGroup only when the control needs a short prefix or suffix addon as part of one decorated input surface; prefer count or labels trigger display so the group stays single-line.',
219
230
  },
231
+ {
232
+ guidance: true,
233
+ description:
234
+ 'Use variant="ghost" when a multi-selector sits in a toolbar with ghost buttons. If validation status is needed there, prefer statusVariant="tooltip" so the toolbar height stays compact.',
235
+ },
220
236
  {
221
237
  guidance: false,
222
238
  description: 'Use for single-value selection; use Selector instead.',
@@ -234,7 +250,7 @@ export const docs = {
234
250
  },
235
251
  };
236
252
 
237
- /** @type {import('../docs-types').TranslationDoc} */
253
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
238
254
  export const docsZh = {
239
255
  components: [
240
256
  {
@@ -268,7 +284,8 @@ export const docsZh = {
268
284
  isRequired: '将字段标记为必填。',
269
285
  isLoading: '在触发器中显示加载旋转器。',
270
286
  status: '带可选消息的验证状态。',
271
- statusVariant: '状态消息的放置方式:attached 直接叠加在输入框下方;detached 作为独立元素浮于下方并留有间距。',
287
+ statusVariant:
288
+ '状态消息的放置方式:attached 直接叠加在输入框下方;detached 作为独立元素浮于下方并留有间距。',
272
289
  renderOption:
273
290
  '每个可选选项的自定义渲染函数。不会用于分隔线、分组或全选行。',
274
291
  xstyle: '布局自定义的 StyleX 样式,必须是 stylex.create() 值。',
@@ -316,7 +333,7 @@ export const docsZh = {
316
333
  },
317
334
  };
318
335
 
319
- /** @type {import('../docs-types').TranslationDoc} */
336
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
320
337
  export const docsDense = {
321
338
  description:
322
339
  'checkbox multi-select dropdown for finite sets like column toggles or filter facets',
@@ -349,6 +366,11 @@ export const docsDense = {
349
366
  description:
350
367
  'Use inside InputGroup only for a short prefix or suffix addon; prefer count or labels trigger display so the group stays single-line.',
351
368
  },
369
+ {
370
+ guidance: true,
371
+ description:
372
+ 'Use variant="ghost" in toolbars with ghost buttons; prefer statusVariant="tooltip" for compact validation status.',
373
+ },
352
374
  {
353
375
  guidance: false,
354
376
  description: 'Use for single-value selection; use Selector instead.',
@@ -378,6 +400,8 @@ export const docsDense = {
378
400
  changeAction: 'async; fires after onChange',
379
401
  placeholder: 'text when nothing selected',
380
402
  size: 'size variant',
403
+ variant:
404
+ 'visual trigger style: input bordered control or ghost toolbar control',
381
405
  triggerDisplay: 'how to show selected in trigger',
382
406
  maxBadges: 'max badges before "+N"; badges mode only',
383
407
  hasSelectAll: 'show select-all checkbox',
@@ -394,7 +418,8 @@ export const docsDense = {
394
418
  isRequired: 'marks required',
395
419
  isLoading: 'spinner in trigger',
396
420
  status: 'validation status w/ optional message',
397
- statusVariant: 'How status message is placed: attached overlaps below input; detached floats below w/ spacing.',
421
+ statusVariant:
422
+ 'status message placement; ghost detaches attached by default; use tooltip for compact toolbars.',
398
423
  renderOption:
399
424
  'custom render fn per selectable option; not dividers/sections/select-all',
400
425
  xstyle: 'StyleX layout styles; stylex.create() only',
@@ -22,8 +22,12 @@ import {MultiSelector} from './MultiSelector';
22
22
  import {Icon} from '../Icon';
23
23
  import {__resetLiveRegionsForTest} from '../hooks/useAnnounce';
24
24
  import {defineTheme} from '../theme/defineTheme';
25
- import {generateThemeCSSFlat} from '../theme/generateThemeRules';
25
+ import {generateThemeCSS} from '../theme/generateThemeRules';
26
26
 
27
+ function generateThemeTestCSS(theme: Parameters<typeof generateThemeCSS>[0]) {
28
+ const {prose, component} = generateThemeCSS(theme);
29
+ return [prose, component].filter(Boolean).join('\n\n');
30
+ }
27
31
  // Module-level constants to satisfy @eslint-react/no-unstable-default-props.
28
32
  const ANNOUNCE_OPTIONS = ['Apple', 'Banana', 'Orange'] as const;
29
33
  const EMPTY_VALUE: string[] = [];
@@ -510,6 +514,59 @@ describe('MultiSelector', () => {
510
514
  expect(options[0]).toHaveTextContent('Select all');
511
515
  });
512
516
 
517
+ it('select-all accessible name reflects none/partial/all selection', async () => {
518
+ const user = userEvent.setup();
519
+ const options = [
520
+ {value: 'apple', label: 'Apple'},
521
+ {value: 'banana', label: 'Banana'},
522
+ ];
523
+ const {rerender} = render(
524
+ <MultiSelector
525
+ label="Fruit"
526
+ options={options}
527
+ value={[]}
528
+ onChange={() => {}}
529
+ hasSelectAll
530
+ />,
531
+ );
532
+
533
+ await user.click(screen.getByRole('combobox'));
534
+
535
+ // None selected: plain name, not selected
536
+ let selectAll = screen.getAllByRole('option', h)[0];
537
+ expect(selectAll).not.toHaveAccessibleName(/partially selected/);
538
+ expect(selectAll).toHaveAttribute('aria-selected', 'false');
539
+
540
+ // Partial: aria-selected="mixed" is invalid on role="option", so the
541
+ // indeterminate state must be conveyed through the accessible name.
542
+ rerender(
543
+ <MultiSelector
544
+ label="Fruit"
545
+ options={options}
546
+ value={['apple']}
547
+ onChange={() => {}}
548
+ hasSelectAll
549
+ />,
550
+ );
551
+ selectAll = screen.getAllByRole('option', h)[0];
552
+ expect(selectAll).toHaveAccessibleName('Select all, partially selected');
553
+ expect(selectAll).toHaveAttribute('aria-selected', 'false');
554
+
555
+ // All selected: plain name again, selected
556
+ rerender(
557
+ <MultiSelector
558
+ label="Fruit"
559
+ options={options}
560
+ value={['apple', 'banana']}
561
+ onChange={() => {}}
562
+ hasSelectAll
563
+ />,
564
+ );
565
+ selectAll = screen.getAllByRole('option', h)[0];
566
+ expect(selectAll).not.toHaveAccessibleName(/partially selected/);
567
+ expect(selectAll).toHaveAttribute('aria-selected', 'true');
568
+ });
569
+
513
570
  it('select-all toggles via keyboard Enter', async () => {
514
571
  const user = userEvent.setup();
515
572
  const onChange = vi.fn();
@@ -714,6 +771,29 @@ describe('MultiSelector', () => {
714
771
  ).toBeInTheDocument();
715
772
  });
716
773
 
774
+ it('empty-state message is not exposed as a listbox child', async () => {
775
+ const user = userEvent.setup();
776
+ render(
777
+ <MultiSelector
778
+ label="Fruit"
779
+ options={defaultOptions}
780
+ value={[]}
781
+ onChange={() => {}}
782
+ hasSearch
783
+ />,
784
+ );
785
+
786
+ await user.click(screen.getByRole('button', {name: 'Fruit'}));
787
+ await user.type(screen.getByRole('combobox', h), 'xyz');
788
+
789
+ // role="listbox" only permits option/group children — the visual
790
+ // empty-state message must be presentational (it is announced through
791
+ // the result-count live region instead).
792
+ const listbox = screen.getByRole('listbox', h);
793
+ const empty = within(listbox).getByText('No results found');
794
+ expect(empty).toHaveAttribute('role', 'presentation');
795
+ });
796
+
717
797
  describe('result announcements', () => {
718
798
  it('announces the match count politely while searching', async () => {
719
799
  const user = userEvent.setup();
@@ -1348,6 +1428,85 @@ describe('MultiSelector statusVariant forwarding', () => {
1348
1428
  'detached',
1349
1429
  );
1350
1430
  });
1431
+
1432
+ it('keeps the on-field status icon for the attached variant', () => {
1433
+ const {container} = render(
1434
+ <MultiSelector
1435
+ label="Fruit"
1436
+ options={['Apple', 'Banana']}
1437
+ value={[]}
1438
+ onChange={() => {}}
1439
+ status={{type: 'error', message: 'Required'}}
1440
+ />,
1441
+ );
1442
+ // Attached: the status glyph replaces the chevron indicator on the field.
1443
+ expect(
1444
+ container.querySelector('.astryx-multi-selector-indicator-icon'),
1445
+ ).toBeNull();
1446
+ });
1447
+
1448
+ it('suppresses the on-field status icon for the detached variant', () => {
1449
+ const {container} = render(
1450
+ <MultiSelector
1451
+ label="Fruit"
1452
+ options={['Apple', 'Banana']}
1453
+ value={[]}
1454
+ onChange={() => {}}
1455
+ status={{type: 'error', message: 'Required'}}
1456
+ statusVariant="detached"
1457
+ />,
1458
+ );
1459
+ // Detached: the message box below carries its own leading icon, so the
1460
+ // field keeps its chevron indicator rather than duplicating the glyph.
1461
+ expect(
1462
+ container.querySelector('.astryx-multi-selector-indicator-icon'),
1463
+ ).not.toBeNull();
1464
+ });
1465
+
1466
+ it('detaches attached status by default for the ghost variant', () => {
1467
+ const {container} = render(
1468
+ <MultiSelector
1469
+ label="Fruit"
1470
+ options={['Apple', 'Banana']}
1471
+ value={[]}
1472
+ onChange={() => {}}
1473
+ variant="ghost"
1474
+ status={{type: 'error', message: 'Required'}}
1475
+ />,
1476
+ );
1477
+ expect(container.querySelector('.astryx-multi-selector')).toHaveAttribute(
1478
+ 'data-variant',
1479
+ 'ghost',
1480
+ );
1481
+ expect(container.querySelector('.astryx-field-status')).toHaveAttribute(
1482
+ 'data-variant',
1483
+ 'detached',
1484
+ );
1485
+ });
1486
+
1487
+ it('uses a status tooltip for ghost multi-selectors when requested', () => {
1488
+ const {container} = render(
1489
+ <MultiSelector
1490
+ label="Fruit"
1491
+ options={['Apple', 'Banana']}
1492
+ value={[]}
1493
+ onChange={() => {}}
1494
+ variant="ghost"
1495
+ status={{type: 'warning', message: 'Some rows are hidden'}}
1496
+ statusVariant="tooltip"
1497
+ />,
1498
+ );
1499
+ expect(container.querySelector('.astryx-field-status')).toBeNull();
1500
+ const statusButton = screen.getByRole('button', {
1501
+ name: /warning details/i,
1502
+ });
1503
+ const tooltip = screen.getByRole('tooltip', h);
1504
+ expect(tooltip).toHaveTextContent('Some rows are hidden');
1505
+ expect(statusButton.getAttribute('aria-describedby')).toContain(tooltip.id);
1506
+ expect(
1507
+ screen.getByRole('combobox').getAttribute('aria-describedby'),
1508
+ ).toContain(tooltip.id);
1509
+ });
1351
1510
  });
1352
1511
 
1353
1512
  describe('MultiSelector clear icon theme target', () => {
@@ -1450,7 +1609,7 @@ describe('MultiSelector clear icon theme target', () => {
1450
1609
  },
1451
1610
  },
1452
1611
  });
1453
- const css = generateThemeCSSFlat(theme);
1612
+ const css = generateThemeTestCSS(theme);
1454
1613
  expect(css).toContain('.astryx-multi-selector-clear-icon {');
1455
1614
  expect(css).toContain('width: 12px');
1456
1615
  expect(css).toContain('height: 12px');
@@ -1563,7 +1722,7 @@ describe('MultiSelector indicator (chevron) icon theme target', () => {
1563
1722
  },
1564
1723
  },
1565
1724
  });
1566
- const css = generateThemeCSSFlat(theme);
1725
+ const css = generateThemeTestCSS(theme);
1567
1726
  expect(css).toContain('.astryx-multi-selector-indicator-icon {');
1568
1727
  expect(css).toContain('width: 14px');
1569
1728
  expect(css).toContain('height: 14px');
@@ -1571,3 +1730,144 @@ describe('MultiSelector indicator (chevron) icon theme target', () => {
1571
1730
  expect(css).toContain('color: var(--color-icon-primary)');
1572
1731
  });
1573
1732
  });
1733
+
1734
+ describe('MultiSelector search affordances', () => {
1735
+ it('renders a decorative (aria-hidden) magnifier icon whenever hasSearch is on', async () => {
1736
+ const user = userEvent.setup();
1737
+ render(
1738
+ <MultiSelector
1739
+ label="Fruit"
1740
+ options={['Apple', 'Banana', 'Orange']}
1741
+ value={[]}
1742
+ onChange={() => {}}
1743
+ hasSearch
1744
+ />,
1745
+ );
1746
+ await user.click(screen.getByRole('button', {name: 'Fruit'}));
1747
+ const search = screen.getByRole('combobox', h);
1748
+ // The search field is a TextInput; the magnifier is its startIcon, so it
1749
+ // sits inside the input container as a sibling of the <input>.
1750
+ const wrapper = search.parentElement;
1751
+ const magnifier = wrapper?.querySelector('.astryx-icon');
1752
+ expect(magnifier).toBeTruthy();
1753
+ expect(magnifier?.getAttribute('aria-hidden')).toBe('true');
1754
+ expect(magnifier?.getAttribute('aria-label')).toBeNull();
1755
+ });
1756
+
1757
+ it('renders the clear button once a query is typed and clears + refocuses on click', async () => {
1758
+ const user = userEvent.setup();
1759
+ render(
1760
+ <MultiSelector
1761
+ label="Fruit"
1762
+ options={['Apple', 'Banana', 'Orange']}
1763
+ value={[]}
1764
+ onChange={() => {}}
1765
+ hasSearch
1766
+ />,
1767
+ );
1768
+ await user.click(screen.getByRole('button', {name: 'Fruit'}));
1769
+ const search = screen.getByRole('combobox', h);
1770
+ await user.type(search, 'ap');
1771
+ expect(search).toHaveValue('ap');
1772
+
1773
+ // The clear button is TextInput's built-in hasClear affordance; its name is
1774
+ // derived from the field label ("Search options").
1775
+ const clear = screen.getByRole('button', {
1776
+ name: 'Clear Search options',
1777
+ hidden: true,
1778
+ });
1779
+
1780
+ await user.click(clear);
1781
+ expect(search).toHaveValue('');
1782
+ expect(search).toHaveFocus();
1783
+ });
1784
+
1785
+ it('does not render the clear button when the query is empty', async () => {
1786
+ const user = userEvent.setup();
1787
+ render(
1788
+ <MultiSelector
1789
+ label="Fruit"
1790
+ options={['Apple', 'Banana', 'Orange']}
1791
+ value={[]}
1792
+ onChange={() => {}}
1793
+ hasSearch
1794
+ />,
1795
+ );
1796
+ await user.click(screen.getByRole('button', {name: 'Fruit'}));
1797
+ expect(
1798
+ screen.queryByRole('button', {
1799
+ name: 'Clear Search options',
1800
+ hidden: true,
1801
+ }),
1802
+ ).not.toBeInTheDocument();
1803
+ });
1804
+
1805
+ it('keeps the combobox contract on the input, not the affordances', async () => {
1806
+ const user = userEvent.setup();
1807
+ render(
1808
+ <MultiSelector
1809
+ label="Fruit"
1810
+ options={['Apple', 'Banana', 'Orange']}
1811
+ value={[]}
1812
+ onChange={() => {}}
1813
+ hasSearch
1814
+ />,
1815
+ );
1816
+ await user.click(screen.getByRole('button', {name: 'Fruit'}));
1817
+ const search = screen.getByRole('combobox', h);
1818
+ expect(search.tagName).toBe('INPUT');
1819
+ expect(search).toHaveAttribute('aria-autocomplete', 'list');
1820
+ });
1821
+
1822
+ it('tabs from the search input to the clear button (keeping the popup open) when a query is showing it', async () => {
1823
+ const user = userEvent.setup();
1824
+ render(
1825
+ <MultiSelector
1826
+ label="Fruit"
1827
+ options={['Apple', 'Banana', 'Orange']}
1828
+ value={[]}
1829
+ onChange={() => {}}
1830
+ hasSearch
1831
+ />,
1832
+ );
1833
+ await user.click(screen.getByRole('button', {name: 'Fruit'}));
1834
+ const trigger = screen.getByRole('button', {name: 'Fruit'});
1835
+ const search = screen.getByRole('combobox', h);
1836
+ await user.type(search, 'ap');
1837
+ expect(search).toHaveFocus();
1838
+
1839
+ // Forward-tab lands on the clear (✕) button and the popup stays open, so
1840
+ // the affordance is keyboard-reachable rather than being skipped when the
1841
+ // input's Tab dismisses the popup.
1842
+ await user.tab();
1843
+ const clear = screen.getByRole('button', {
1844
+ name: 'Clear Search options',
1845
+ hidden: true,
1846
+ });
1847
+ expect(clear).toHaveFocus();
1848
+ expect(trigger).toHaveAttribute('aria-expanded', 'true');
1849
+ });
1850
+
1851
+ it('dismisses on Tab from the search input when there is no query (no clear button)', async () => {
1852
+ const user = userEvent.setup();
1853
+ render(
1854
+ <MultiSelector
1855
+ label="Fruit"
1856
+ options={['Apple', 'Banana', 'Orange']}
1857
+ value={[]}
1858
+ onChange={() => {}}
1859
+ hasSearch
1860
+ />,
1861
+ );
1862
+ const trigger = screen.getByRole('button', {name: 'Fruit'});
1863
+ await user.click(trigger);
1864
+ const search = screen.getByRole('combobox', h);
1865
+ // Focus moves into the search input on open (via rAF).
1866
+ await waitFor(() => expect(search).toHaveFocus());
1867
+
1868
+ // With no query there is no clear button, so Tab dismisses the popup as a
1869
+ // plain combobox does.
1870
+ await user.tab();
1871
+ expect(trigger).toHaveAttribute('aria-expanded', 'false');
1872
+ });
1873
+ });