@astryxdesign/core 0.2.0 → 0.3.0-canary.077087f

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 (1114) 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 +35 -14
  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 +90 -27
  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.d.ts +9 -2
  143. package/dist/DateInput/DateInput.d.ts.map +1 -1
  144. package/dist/DateInput/DateInput.js +6 -3
  145. package/dist/DateRangeInput/DateRangeInput.d.ts +9 -2
  146. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  147. package/dist/DateRangeInput/DateRangeInput.js +6 -3
  148. package/dist/DateTimeInput/DateTimeInput.d.ts +9 -1
  149. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  150. package/dist/DateTimeInput/DateTimeInput.js +6 -3
  151. package/dist/Dialog/Dialog.d.ts +33 -24
  152. package/dist/Dialog/Dialog.d.ts.map +1 -1
  153. package/dist/Dialog/Dialog.js +47 -31
  154. package/dist/Dialog/DialogHeader.d.ts +1 -1
  155. package/dist/Dialog/DialogHeader.js +1 -1
  156. package/dist/Dialog/index.d.ts +18 -1
  157. package/dist/Dialog/index.d.ts.map +1 -1
  158. package/dist/Dialog/index.js +14 -0
  159. package/dist/Divider/Divider.d.ts +2 -18
  160. package/dist/Divider/Divider.d.ts.map +1 -1
  161. package/dist/Divider/Divider.js +1 -15
  162. package/dist/Divider/index.d.ts +18 -1
  163. package/dist/Divider/index.d.ts.map +1 -1
  164. package/dist/Divider/index.js +14 -0
  165. package/dist/DropdownMenu/DropdownMenu.d.ts +23 -8
  166. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  167. package/dist/DropdownMenu/DropdownMenu.js +32 -19
  168. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  169. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  170. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  171. package/dist/DropdownMenu/DropdownMenuItem.d.ts +8 -3
  172. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  173. package/dist/DropdownMenu/DropdownMenuItem.js +14 -5
  174. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  175. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  176. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  177. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  178. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  179. package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
  180. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  181. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  182. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  183. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  184. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  185. package/dist/DropdownMenu/menuItemHover.js +1 -0
  186. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  187. package/dist/DropdownMenu/renderDropdownItems.js +27 -16
  188. package/dist/EmptyState/EmptyState.d.ts +1 -1
  189. package/dist/EmptyState/EmptyState.js +1 -1
  190. package/dist/Field/Field.d.ts +1 -1
  191. package/dist/Field/Field.js +1 -1
  192. package/dist/Field/FieldLabel.d.ts +4 -3
  193. package/dist/Field/FieldLabel.d.ts.map +1 -1
  194. package/dist/Field/FieldLabel.js +48 -5
  195. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  196. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  197. package/dist/FieldStatus/FieldStatus.js +13 -17
  198. package/dist/FieldStatus/index.d.ts +19 -1
  199. package/dist/FieldStatus/index.d.ts.map +1 -1
  200. package/dist/FieldStatus/index.js +14 -0
  201. package/dist/FileInput/FileInput.js +1 -1
  202. package/dist/FormLayout/FormLayout.d.ts +1 -1
  203. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  204. package/dist/FormLayout/FormLayout.js +1 -1
  205. package/dist/Grid/Grid.d.ts +2 -10
  206. package/dist/Grid/Grid.d.ts.map +1 -1
  207. package/dist/Grid/Grid.js +1 -10
  208. package/dist/Grid/GridSpan.d.ts +1 -1
  209. package/dist/Grid/GridSpan.js +1 -1
  210. package/dist/HStack/HStack.d.ts +1 -1
  211. package/dist/HStack/HStack.js +1 -1
  212. package/dist/Heading/Heading.d.ts +2 -2
  213. package/dist/Heading/Heading.d.ts.map +1 -1
  214. package/dist/Heading/Heading.js +5 -4
  215. package/dist/HoverCard/HoverCard.d.ts +1 -1
  216. package/dist/HoverCard/HoverCard.js +1 -1
  217. package/dist/Icon/Icon.d.ts +1 -1
  218. package/dist/Icon/Icon.d.ts.map +1 -1
  219. package/dist/Icon/Icon.js +4 -2
  220. package/dist/Icon/defaultIcons.d.ts.map +1 -1
  221. package/dist/Icon/defaultIcons.js +14 -0
  222. package/dist/Icon/globalIconRegistry.d.ts +48 -6
  223. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  224. package/dist/Icon/globalIconRegistry.js +74 -7
  225. package/dist/Icon/index.d.ts +4 -3
  226. package/dist/Icon/index.d.ts.map +1 -1
  227. package/dist/Icon/index.js +2 -1
  228. package/dist/Icon/useIcon.d.ts +14 -0
  229. package/dist/Icon/useIcon.d.ts.map +1 -0
  230. package/dist/Icon/useIcon.js +21 -0
  231. package/dist/IconButton/IconButton.d.ts +1 -1
  232. package/dist/IconButton/IconButton.js +1 -1
  233. package/dist/InputGroup/InputGroup.d.ts +1 -1
  234. package/dist/InputGroup/InputGroup.js +1 -1
  235. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  236. package/dist/InputGroup/InputGroupText.js +1 -1
  237. package/dist/Item/Item.d.ts +17 -4
  238. package/dist/Item/Item.d.ts.map +1 -1
  239. package/dist/Item/Item.js +34 -9
  240. package/dist/Kbd/Kbd.d.ts +1 -1
  241. package/dist/Kbd/Kbd.js +1 -1
  242. package/dist/Layout/Layout.d.ts +1 -1
  243. package/dist/Layout/Layout.js +1 -1
  244. package/dist/Layout/LayoutContent.d.ts +1 -1
  245. package/dist/Layout/LayoutContent.js +1 -1
  246. package/dist/Layout/LayoutFooter.d.ts +1 -1
  247. package/dist/Layout/LayoutFooter.js +1 -1
  248. package/dist/Layout/LayoutHeader.d.ts +1 -1
  249. package/dist/Layout/LayoutHeader.js +1 -1
  250. package/dist/Layout/LayoutPanel.d.ts +1 -1
  251. package/dist/Layout/LayoutPanel.js +1 -1
  252. package/dist/Lightbox/Lightbox.d.ts +6 -4
  253. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  254. package/dist/Lightbox/Lightbox.js +173 -79
  255. package/dist/Link/Link.d.ts +1 -1
  256. package/dist/Link/Link.js +1 -1
  257. package/dist/Link/LinkProvider.d.ts +2 -2
  258. package/dist/Link/LinkProvider.js +2 -2
  259. package/dist/List/List.d.ts +1 -1
  260. package/dist/List/List.js +1 -1
  261. package/dist/List/ListItem.d.ts +12 -2
  262. package/dist/List/ListItem.d.ts.map +1 -1
  263. package/dist/List/ListItem.js +3 -1
  264. package/dist/Markdown/Markdown.d.ts.map +1 -1
  265. package/dist/Markdown/Markdown.js +35 -13
  266. package/dist/MetadataList/MetadataList.d.ts +2 -2
  267. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  268. package/dist/MetadataList/MetadataList.js +38 -12
  269. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  270. package/dist/MetadataList/MetadataListItem.js +1 -1
  271. package/dist/MobileNav/MobileNav.d.ts +1 -1
  272. package/dist/MobileNav/MobileNav.js +9 -9
  273. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  274. package/dist/MoreMenu/MoreMenu.js +3 -3
  275. package/dist/MultiSelector/MultiSelector.d.ts +13 -4
  276. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  277. package/dist/MultiSelector/MultiSelector.js +120 -26
  278. package/dist/NavIcon/NavIcon.d.ts +1 -1
  279. package/dist/NavIcon/NavIcon.js +1 -1
  280. package/dist/NavMenu/index.d.ts +0 -2
  281. package/dist/NavMenu/index.d.ts.map +1 -1
  282. package/dist/NavMenu/index.js +1 -3
  283. package/dist/NumberInput/NumberInput.d.ts +1 -1
  284. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  285. package/dist/NumberInput/NumberInput.js +19 -7
  286. package/dist/Outline/Outline.js +1 -1
  287. package/dist/OverflowList/OverflowList.d.ts +1 -1
  288. package/dist/OverflowList/OverflowList.js +1 -1
  289. package/dist/Pagination/Pagination.d.ts +26 -21
  290. package/dist/Pagination/Pagination.d.ts.map +1 -1
  291. package/dist/Pagination/Pagination.js +174 -52
  292. package/dist/Pagination/index.d.ts +22 -1
  293. package/dist/Pagination/index.d.ts.map +1 -1
  294. package/dist/Pagination/index.js +14 -0
  295. package/dist/Popover/Popover.d.ts +20 -3
  296. package/dist/Popover/Popover.d.ts.map +1 -1
  297. package/dist/Popover/Popover.js +5 -1
  298. package/dist/Popover/usePopover.d.ts.map +1 -1
  299. package/dist/Popover/usePopover.js +14 -3
  300. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  301. package/dist/PowerSearch/PowerSearch.js +1 -1
  302. package/dist/ProgressBar/ProgressBar.d.ts +56 -22
  303. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  304. package/dist/ProgressBar/ProgressBar.js +169 -22
  305. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts +27 -0
  306. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts.map +1 -0
  307. package/dist/ProgressBar/ProgressBarMarkTooltip.js +35 -0
  308. package/dist/ProgressBar/index.d.ts +21 -1
  309. package/dist/ProgressBar/index.d.ts.map +1 -1
  310. package/dist/ProgressBar/index.js +14 -0
  311. package/dist/RadioList/RadioList.d.ts +1 -1
  312. package/dist/RadioList/RadioList.js +1 -1
  313. package/dist/RadioList/RadioListItem.d.ts +1 -1
  314. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  315. package/dist/RadioList/RadioListItem.js +2 -2
  316. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  317. package/dist/Resizable/ResizeHandle.js +15 -11
  318. package/dist/Section/Section.d.ts +2 -19
  319. package/dist/Section/Section.d.ts.map +1 -1
  320. package/dist/Section/Section.js +1 -15
  321. package/dist/Section/index.d.ts +19 -1
  322. package/dist/Section/index.d.ts.map +1 -1
  323. package/dist/Section/index.js +14 -0
  324. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  325. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  326. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  327. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  328. package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
  329. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  330. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  331. package/dist/SelectableCard/SelectableCard.js +15 -3
  332. package/dist/Selector/Selector.d.ts +14 -4
  333. package/dist/Selector/Selector.d.ts.map +1 -1
  334. package/dist/Selector/Selector.js +139 -30
  335. package/dist/Selector/hooks.d.ts +4 -4
  336. package/dist/Selector/hooks.d.ts.map +1 -1
  337. package/dist/Selector/hooks.js +38 -19
  338. package/dist/SideNav/SideNav.d.ts +1 -1
  339. package/dist/SideNav/SideNav.js +1 -1
  340. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  341. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  342. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  343. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  344. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  345. package/dist/SideNav/SideNavHeading.js +8 -7
  346. package/dist/SideNav/SideNavItem.d.ts +2 -2
  347. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  348. package/dist/SideNav/SideNavItem.js +6 -7
  349. package/dist/SideNav/SideNavSection.d.ts +1 -1
  350. package/dist/SideNav/SideNavSection.js +1 -1
  351. package/dist/Skeleton/Skeleton.d.ts +1 -1
  352. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  353. package/dist/Skeleton/Skeleton.js +3 -3
  354. package/dist/Slider/Slider.d.ts.map +1 -1
  355. package/dist/Slider/Slider.js +78 -68
  356. package/dist/Spinner/Spinner.d.ts +1 -1
  357. package/dist/Spinner/Spinner.js +1 -1
  358. package/dist/Stack/Stack.d.ts +1 -1
  359. package/dist/Stack/Stack.js +1 -1
  360. package/dist/Stack/StackItem.d.ts +1 -1
  361. package/dist/Stack/StackItem.js +1 -1
  362. package/dist/Stack/stack.stylex.d.ts +3 -3
  363. package/dist/StatusDot/StatusDot.d.ts +1 -20
  364. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  365. package/dist/StatusDot/StatusDot.js +2 -17
  366. package/dist/StatusDot/index.d.ts +21 -1
  367. package/dist/StatusDot/index.d.ts.map +1 -1
  368. package/dist/StatusDot/index.js +14 -0
  369. package/dist/Switch/Switch.d.ts +2 -6
  370. package/dist/Switch/Switch.d.ts.map +1 -1
  371. package/dist/Switch/Switch.js +28 -20
  372. package/dist/TabList/Tab.d.ts +1 -1
  373. package/dist/TabList/Tab.js +1 -1
  374. package/dist/TabList/TabList.d.ts +1 -1
  375. package/dist/TabList/TabList.js +1 -1
  376. package/dist/TabList/TabMenu.d.ts +1 -1
  377. package/dist/TabList/TabMenu.d.ts.map +1 -1
  378. package/dist/TabList/TabMenu.js +11 -3
  379. package/dist/Table/BaseTable.d.ts +1 -1
  380. package/dist/Table/BaseTable.d.ts.map +1 -1
  381. package/dist/Table/BaseTable.js +4 -7
  382. package/dist/Table/Table.d.ts +1 -1
  383. package/dist/Table/Table.js +1 -1
  384. package/dist/Table/TableCell.d.ts +1 -1
  385. package/dist/Table/TableCell.js +4 -2
  386. package/dist/Table/TableHeaderCell.d.ts +1 -1
  387. package/dist/Table/TableHeaderCell.js +4 -2
  388. package/dist/Table/TableRow.d.ts +1 -1
  389. package/dist/Table/TableRow.js +1 -1
  390. package/dist/Table/index.d.ts +1 -1
  391. package/dist/Table/index.d.ts.map +1 -1
  392. package/dist/Table/index.js +1 -1
  393. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
  394. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
  395. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  396. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  397. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +27 -11
  398. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  399. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  400. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  401. package/dist/Table/types.d.ts +0 -9
  402. package/dist/Table/types.d.ts.map +1 -1
  403. package/dist/Text/Text.d.ts +11 -2
  404. package/dist/Text/Text.d.ts.map +1 -1
  405. package/dist/Text/Text.js +26 -3
  406. package/dist/Text/index.d.ts +31 -1
  407. package/dist/Text/index.d.ts.map +1 -1
  408. package/dist/Text/index.js +23 -0
  409. package/dist/TextArea/TextArea.d.ts +1 -1
  410. package/dist/TextArea/TextArea.d.ts.map +1 -1
  411. package/dist/TextArea/TextArea.js +111 -41
  412. package/dist/TextInput/TextInput.d.ts +1 -1
  413. package/dist/TextInput/TextInput.d.ts.map +1 -1
  414. package/dist/TextInput/TextInput.js +4 -3
  415. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  416. package/dist/Thumbnail/Thumbnail.js +52 -46
  417. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  418. package/dist/TimeInput/TimeInput.js +3 -2
  419. package/dist/Timestamp/Timestamp.d.ts +26 -12
  420. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  421. package/dist/Timestamp/Timestamp.js +128 -65
  422. package/dist/Timestamp/TimestampHoverCard.d.ts +45 -0
  423. package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -0
  424. package/dist/Timestamp/TimestampHoverCard.js +228 -0
  425. package/dist/Timestamp/formatInstant.d.ts +3 -3
  426. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  427. package/dist/Timestamp/formatInstant.js +7 -2
  428. package/dist/Timestamp/tooltipEntries.d.ts +17 -2
  429. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  430. package/dist/Timestamp/tooltipEntries.js +4 -2
  431. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  432. package/dist/Toast/ToastViewport.js +61 -9
  433. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  434. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  435. package/dist/ToggleButton/ToggleButton.js +4 -2
  436. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  437. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  438. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  439. package/dist/Token/Token.d.ts +6 -28
  440. package/dist/Token/Token.d.ts.map +1 -1
  441. package/dist/Token/Token.js +69 -58
  442. package/dist/Token/TokenLink.d.ts +62 -0
  443. package/dist/Token/TokenLink.d.ts.map +1 -0
  444. package/dist/Token/TokenLink.js +76 -0
  445. package/dist/Token/index.d.ts +27 -1
  446. package/dist/Token/index.d.ts.map +1 -1
  447. package/dist/Token/index.js +14 -0
  448. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  449. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  450. package/dist/Tokenizer/Tokenizer.js +5 -3
  451. package/dist/Toolbar/Toolbar.d.ts +1 -1
  452. package/dist/Toolbar/Toolbar.js +1 -1
  453. package/dist/Tooltip/Tooltip.d.ts +1 -1
  454. package/dist/Tooltip/Tooltip.js +1 -1
  455. package/dist/TopNav/TopNav.d.ts +1 -1
  456. package/dist/TopNav/TopNav.d.ts.map +1 -1
  457. package/dist/TopNav/TopNav.js +7 -6
  458. package/dist/TopNav/TopNavHeading.d.ts +2 -8
  459. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  460. package/dist/TopNav/TopNavHeading.js +8 -10
  461. package/dist/TopNav/TopNavItem.d.ts +1 -1
  462. package/dist/TopNav/TopNavItem.js +1 -1
  463. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  464. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  465. package/dist/TopNav/TopNavMegaMenu.js +27 -16
  466. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  467. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  468. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  469. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  470. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  471. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  472. package/dist/TopNav/TopNavMenu.js +5 -4
  473. package/dist/TreeList/TreeList.d.ts +1 -1
  474. package/dist/TreeList/TreeList.js +1 -1
  475. package/dist/TreeList/TreeListBranches.js +1 -1
  476. package/dist/TreeList/TreeListItem.d.ts +1 -1
  477. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  478. package/dist/TreeList/TreeListItem.js +4 -3
  479. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  480. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  481. package/dist/TreeList/index.d.ts +18 -1
  482. package/dist/TreeList/index.d.ts.map +1 -1
  483. package/dist/TreeList/index.js +14 -0
  484. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  485. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  486. package/dist/Typeahead/BaseTypeahead.js +3 -1
  487. package/dist/Typeahead/Typeahead.d.ts +1 -1
  488. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  489. package/dist/Typeahead/Typeahead.js +9 -2
  490. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  491. package/dist/Typeahead/TypeaheadItem.js +1 -1
  492. package/dist/VStack/VStack.d.ts +1 -1
  493. package/dist/VStack/VStack.js +1 -1
  494. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  495. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  496. package/dist/astryx.css +121 -37
  497. package/dist/astryx.umd.js +51 -55
  498. package/dist/astryx.umd.js.map +4 -4
  499. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  500. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  501. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  502. package/dist/hooks/index.d.ts +2 -0
  503. package/dist/hooks/index.d.ts.map +1 -1
  504. package/dist/hooks/index.js +2 -1
  505. package/dist/hooks/useContainerReveal.d.ts +83 -0
  506. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  507. package/dist/hooks/useContainerReveal.js +123 -0
  508. package/dist/hooks/useGridFocus.d.ts +8 -6
  509. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  510. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  511. package/dist/hooks/useInputContainer.js +29 -1
  512. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  513. package/dist/hooks/useInputStatusIcon.js +11 -0
  514. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  515. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  516. package/dist/hooks/useKeyboardHint.js +5 -3
  517. package/dist/hooks/useListFocus.d.ts +8 -7
  518. package/dist/hooks/useListFocus.d.ts.map +1 -1
  519. package/dist/hooks/useLongPress.d.ts.map +1 -1
  520. package/dist/hooks/useLongPress.js +12 -2
  521. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  522. package/dist/hooks/useTreeFocus.js +13 -2
  523. package/dist/i18n/InternationalizationProvider.d.ts +6 -0
  524. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  525. package/dist/i18n/useDirection.d.ts.map +1 -1
  526. package/dist/i18n/useDirection.js +6 -3
  527. package/dist/index.d.ts +2 -1
  528. package/dist/index.d.ts.map +1 -1
  529. package/dist/index.js +3 -3
  530. package/dist/theme/Theme.d.ts.map +1 -1
  531. package/dist/theme/Theme.js +2 -7
  532. package/dist/theme/contrast.d.ts +45 -0
  533. package/dist/theme/contrast.d.ts.map +1 -0
  534. package/dist/theme/contrast.js +88 -0
  535. package/dist/theme/defineTheme.d.ts +9 -3
  536. package/dist/theme/defineTheme.d.ts.map +1 -1
  537. package/dist/theme/defineTheme.js +6 -4
  538. package/dist/theme/derivedVarRegistry.d.ts +8 -0
  539. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  540. package/dist/theme/derivedVarRegistry.js +5 -13
  541. package/dist/theme/expandColorScale.d.ts +32 -3
  542. package/dist/theme/expandColorScale.d.ts.map +1 -1
  543. package/dist/theme/expandColorScale.js +102 -13
  544. package/dist/theme/generateThemeRules.d.ts +0 -6
  545. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  546. package/dist/theme/generateThemeRules.js +11 -15
  547. package/dist/theme/index.d.ts +9 -7
  548. package/dist/theme/index.d.ts.map +1 -1
  549. package/dist/theme/index.js +4 -3
  550. package/dist/theme/themeRegistry.d.ts +32 -0
  551. package/dist/theme/themeRegistry.d.ts.map +1 -0
  552. package/dist/theme/themeRegistry.js +49 -0
  553. package/dist/theme/tokens.stylex.d.ts +0 -17
  554. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  555. package/dist/theme/tokens.stylex.js +0 -22
  556. package/dist/theme/types.d.ts +10 -2
  557. package/dist/theme/types.d.ts.map +1 -1
  558. package/dist/theme/useTheme.d.ts +9 -0
  559. package/dist/theme/useTheme.d.ts.map +1 -1
  560. package/dist/theme/useTheme.js +82 -27
  561. package/dist/utils/rtlStyles.d.ts +23 -2
  562. package/dist/utils/rtlStyles.d.ts.map +1 -1
  563. package/dist/utils/rtlStyles.js +28 -3
  564. package/groups.doc.mjs +2 -2
  565. package/locales/en.json +124 -0
  566. package/locales/pseudo.json +93 -0
  567. package/package.json +9 -13
  568. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  569. package/src/AlertDialog/AlertDialog.tsx +1 -1
  570. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  571. package/src/AppShell/AppShell.doc.mjs +3 -3
  572. package/src/AppShell/AppShell.test.tsx +55 -0
  573. package/src/AppShell/AppShell.tsx +27 -22
  574. package/src/AppShell/index.ts +20 -1
  575. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  576. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  577. package/src/AspectRatio/AspectRatio.tsx +1 -1
  578. package/src/Avatar/Avatar.doc.mjs +4 -15
  579. package/src/Avatar/Avatar.test.tsx +33 -8
  580. package/src/Avatar/Avatar.tsx +58 -25
  581. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  582. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  583. package/src/Avatar/index.ts +26 -1
  584. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  585. package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
  586. package/src/AvatarGroup/AvatarGroup.tsx +3 -7
  587. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  588. package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
  589. package/src/Badge/Badge.doc.mjs +3 -3
  590. package/src/Badge/Badge.tsx +2 -31
  591. package/src/Badge/index.ts +32 -6
  592. package/src/Banner/Banner.doc.mjs +3 -3
  593. package/src/Banner/Banner.tsx +8 -45
  594. package/src/Banner/index.ts +39 -7
  595. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  596. package/src/Blockquote/Blockquote.tsx +1 -1
  597. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  598. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  599. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  600. package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
  601. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  602. package/src/Breadcrumbs/index.ts +19 -5
  603. package/src/Button/Button.doc.mjs +3 -3
  604. package/src/Button/Button.test.tsx +16 -0
  605. package/src/Button/Button.tsx +6 -23
  606. package/src/Button/index.ts +22 -7
  607. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  608. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  609. package/src/Calendar/Calendar.doc.mjs +3 -3
  610. package/src/Calendar/Calendar.test.tsx +22 -6
  611. package/src/Calendar/Calendar.tsx +1 -1
  612. package/src/Calendar/index.ts +1 -6
  613. package/src/Calendar/styles.ts +2 -2
  614. package/src/Calendar/utils.ts +0 -11
  615. package/src/Card/Card.doc.mjs +3 -3
  616. package/src/Card/Card.tsx +1 -1
  617. package/src/Carousel/Carousel.doc.mjs +13 -3
  618. package/src/Carousel/Carousel.test.tsx +232 -1
  619. package/src/Carousel/Carousel.tsx +154 -27
  620. package/src/Carousel/index.ts +1 -1
  621. package/src/Center/Center.doc.mjs +41 -3
  622. package/src/Center/Center.test.tsx +75 -0
  623. package/src/Center/Center.tsx +38 -3
  624. package/src/Chat/Chat.doc.mjs +3 -3
  625. package/src/Chat/ChatComposer.doc.mjs +1 -1
  626. package/src/Chat/ChatComposer.tsx +5 -5
  627. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  628. package/src/Chat/ChatComposerDrawer.tsx +5 -5
  629. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  630. package/src/Chat/ChatComposerInput.tsx +1 -1
  631. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  632. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  633. package/src/Chat/ChatDictationButton.tsx +1 -1
  634. package/src/Chat/ChatLayout.doc.mjs +1 -1
  635. package/src/Chat/ChatLayout.test.tsx +57 -0
  636. package/src/Chat/ChatLayout.tsx +23 -2
  637. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  638. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  639. package/src/Chat/ChatMessage.doc.mjs +1 -1
  640. package/src/Chat/ChatMessage.tsx +1 -1
  641. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  642. package/src/Chat/ChatMessageBubble.tsx +1 -1
  643. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  644. package/src/Chat/ChatMessageList.tsx +1 -1
  645. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  646. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  647. package/src/Chat/ChatSendButton.tsx +5 -3
  648. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  649. package/src/Chat/ChatSystemMessage.tsx +1 -1
  650. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  651. package/src/Chat/ChatTokenizedText.tsx +1 -1
  652. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  653. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  654. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  655. package/src/CheckboxInput/CheckboxInput.tsx +18 -3
  656. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  657. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  658. package/src/CheckboxList/CheckboxList.tsx +1 -1
  659. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  660. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  661. package/src/Citation/Citation.doc.mjs +2 -2
  662. package/src/Citation/Citation.tsx +1 -1
  663. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  664. package/src/ClickableCard/ClickableCard.tsx +3 -3
  665. package/src/Code/Code.tsx +2 -2
  666. package/src/CodeBlock/Code.doc.mjs +1 -1
  667. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  668. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  669. package/src/CodeBlock/CodeBlock.tsx +2 -2
  670. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  671. package/src/Collapsible/Collapsible.tsx +3 -3
  672. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  673. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  674. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  675. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  676. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  677. package/src/CommandPalette/CommandPalette.tsx +1 -1
  678. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  679. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  680. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  681. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  682. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  683. package/src/CommandPalette/CommandPaletteGroup.test.tsx +6 -2
  684. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  685. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  686. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  687. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  688. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  689. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  690. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  691. package/src/ComplexSelector/ComplexSelector.doc.mjs +220 -0
  692. package/src/ComplexSelector/ComplexSelector.test.tsx +156 -0
  693. package/src/ComplexSelector/ComplexSelector.tsx +429 -0
  694. package/src/ComplexSelector/index.ts +17 -0
  695. package/src/ContextMenu/ContextMenu.doc.mjs +4 -4
  696. package/src/ContextMenu/ContextMenu.test.tsx +38 -2
  697. package/src/ContextMenu/ContextMenu.tsx +27 -6
  698. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  699. package/src/DateInput/DateInput.doc.mjs +19 -4
  700. package/src/DateInput/DateInput.test.tsx +79 -3
  701. package/src/DateInput/DateInput.tsx +23 -3
  702. package/src/DateRangeInput/DateRangeInput.doc.mjs +11 -3
  703. package/src/DateRangeInput/DateRangeInput.test.tsx +97 -2
  704. package/src/DateRangeInput/DateRangeInput.tsx +19 -2
  705. package/src/DateTimeInput/DateTimeInput.doc.mjs +19 -5
  706. package/src/DateTimeInput/DateTimeInput.test.tsx +81 -2
  707. package/src/DateTimeInput/DateTimeInput.tsx +19 -2
  708. package/src/Dialog/Dialog.doc.mjs +7 -5
  709. package/src/Dialog/Dialog.test.tsx +46 -3
  710. package/src/Dialog/Dialog.tsx +61 -44
  711. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  712. package/src/Dialog/DialogHeader.tsx +1 -1
  713. package/src/Dialog/index.ts +18 -1
  714. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  715. package/src/Divider/Divider.doc.mjs +3 -3
  716. package/src/Divider/Divider.tsx +2 -19
  717. package/src/Divider/index.ts +19 -5
  718. package/src/DropdownMenu/DropdownMenu.doc.mjs +22 -7
  719. package/src/DropdownMenu/DropdownMenu.test.tsx +194 -0
  720. package/src/DropdownMenu/DropdownMenu.tsx +48 -25
  721. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  722. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  723. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +25 -5
  724. package/src/DropdownMenu/DropdownMenuItem.tsx +34 -7
  725. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  726. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  727. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  728. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
  729. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  730. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  731. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  732. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  733. package/src/DropdownMenu/menuItemHover.ts +1 -0
  734. package/src/DropdownMenu/renderDropdownItems.tsx +31 -21
  735. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  736. package/src/EmptyState/EmptyState.tsx +1 -1
  737. package/src/Field/Field.doc.mjs +7 -3
  738. package/src/Field/Field.tsx +1 -1
  739. package/src/Field/FieldLabel.doc.mjs +1 -1
  740. package/src/Field/FieldLabel.test.tsx +103 -0
  741. package/src/Field/FieldLabel.tsx +61 -5
  742. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  743. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  744. package/src/FieldStatus/FieldStatus.tsx +16 -23
  745. package/src/FieldStatus/index.ts +20 -5
  746. package/src/FileInput/FileInput.doc.mjs +3 -3
  747. package/src/FileInput/FileInput.tsx +1 -1
  748. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  749. package/src/FormLayout/FormLayout.tsx +2 -5
  750. package/src/Grid/Grid.doc.mjs +3 -8
  751. package/src/Grid/Grid.tsx +1 -25
  752. package/src/Grid/GridSpan.doc.mjs +1 -1
  753. package/src/Grid/GridSpan.tsx +1 -1
  754. package/src/HStack/HStack.tsx +1 -1
  755. package/src/Heading/Heading.tsx +4 -3
  756. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  757. package/src/HoverCard/HoverCard.tsx +1 -1
  758. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  759. package/src/Icon/Icon.doc.mjs +8 -6
  760. package/src/Icon/Icon.test.tsx +23 -0
  761. package/src/Icon/Icon.tsx +4 -2
  762. package/src/Icon/defaultIcons.tsx +14 -0
  763. package/src/Icon/globalIconRegistry.test.tsx +87 -1
  764. package/src/Icon/globalIconRegistry.tsx +111 -9
  765. package/src/Icon/index.ts +9 -7
  766. package/src/Icon/useIcon.ts +23 -0
  767. package/src/IconButton/IconButton.doc.mjs +2 -2
  768. package/src/IconButton/IconButton.tsx +1 -1
  769. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  770. package/src/InputGroup/InputGroup.tsx +1 -1
  771. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  772. package/src/InputGroup/InputGroupText.tsx +1 -1
  773. package/src/Item/Item.doc.mjs +8 -3
  774. package/src/Item/Item.test.tsx +88 -0
  775. package/src/Item/Item.tsx +63 -14
  776. package/src/Kbd/Kbd.doc.mjs +3 -3
  777. package/src/Kbd/Kbd.tsx +1 -1
  778. package/src/Layer/Layer.doc.mjs +2 -2
  779. package/src/Layer/useLayer.doc.mjs +2 -2
  780. package/src/Layout/Layout.doc.mjs +3 -3
  781. package/src/Layout/Layout.tsx +1 -1
  782. package/src/Layout/LayoutContent.doc.mjs +1 -1
  783. package/src/Layout/LayoutContent.tsx +1 -1
  784. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  785. package/src/Layout/LayoutFooter.tsx +1 -1
  786. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  787. package/src/Layout/LayoutHeader.tsx +1 -1
  788. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  789. package/src/Layout/LayoutPanel.tsx +1 -1
  790. package/src/Lightbox/Lightbox.doc.mjs +6 -6
  791. package/src/Lightbox/Lightbox.test.tsx +211 -0
  792. package/src/Lightbox/Lightbox.tsx +152 -60
  793. package/src/Link/Link.doc.mjs +3 -3
  794. package/src/Link/Link.tsx +1 -1
  795. package/src/Link/LinkProvider.doc.mjs +2 -2
  796. package/src/Link/LinkProvider.tsx +2 -2
  797. package/src/List/List.doc.mjs +3 -3
  798. package/src/List/List.tsx +1 -1
  799. package/src/List/ListItem.doc.mjs +13 -1
  800. package/src/List/ListItem.tsx +14 -1
  801. package/src/Markdown/Markdown.doc.mjs +81 -1
  802. package/src/Markdown/Markdown.test.tsx +92 -0
  803. package/src/Markdown/Markdown.tsx +96 -68
  804. package/src/Markdown/parser.perf.test.ts +47 -35
  805. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  806. package/src/MetadataList/MetadataList.test.tsx +82 -0
  807. package/src/MetadataList/MetadataList.tsx +45 -20
  808. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  809. package/src/MetadataList/MetadataListItem.tsx +1 -1
  810. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  811. package/src/MobileNav/MobileNav.tsx +4 -4
  812. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  813. package/src/MoreMenu/MoreMenu.tsx +3 -3
  814. package/src/MultiSelector/MultiSelector.doc.mjs +36 -10
  815. package/src/MultiSelector/MultiSelector.test.tsx +326 -3
  816. package/src/MultiSelector/MultiSelector.tsx +226 -58
  817. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  818. package/src/NavIcon/NavIcon.tsx +1 -1
  819. package/src/NavMenu/NavHeadingMenu.test.tsx +0 -16
  820. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  821. package/src/NavMenu/index.ts +0 -4
  822. package/src/NumberInput/NumberInput.doc.mjs +5 -8
  823. package/src/NumberInput/NumberInput.test.tsx +117 -3
  824. package/src/NumberInput/NumberInput.tsx +30 -3
  825. package/src/Outline/Outline.doc.mjs +3 -3
  826. package/src/Outline/Outline.tsx +1 -1
  827. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  828. package/src/OverflowList/OverflowList.tsx +1 -1
  829. package/src/Overlay/Overlay.doc.mjs +2 -2
  830. package/src/Pagination/Pagination.doc.mjs +55 -8
  831. package/src/Pagination/Pagination.test.tsx +582 -0
  832. package/src/Pagination/Pagination.tsx +247 -55
  833. package/src/Pagination/index.ts +22 -1
  834. package/src/Popover/Popover.doc.mjs +31 -3
  835. package/src/Popover/Popover.test.tsx +41 -0
  836. package/src/Popover/Popover.tsx +25 -2
  837. package/src/Popover/usePopover.doc.mjs +2 -2
  838. package/src/Popover/usePopover.tsx +10 -4
  839. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  840. package/src/PowerSearch/PowerSearch.tsx +1 -1
  841. package/src/ProgressBar/ProgressBar.doc.mjs +24 -3
  842. package/src/ProgressBar/ProgressBar.test.tsx +523 -2
  843. package/src/ProgressBar/ProgressBar.tsx +250 -25
  844. package/src/ProgressBar/ProgressBarMarkTooltip.tsx +43 -0
  845. package/src/ProgressBar/index.ts +22 -1
  846. package/src/RadioList/RadioList.doc.mjs +3 -3
  847. package/src/RadioList/RadioList.test.tsx +26 -4
  848. package/src/RadioList/RadioList.tsx +1 -1
  849. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  850. package/src/RadioList/RadioListItem.tsx +9 -2
  851. package/src/Resizable/Resizable.doc.mjs +2 -2
  852. package/src/Resizable/ResizeHandle.test.tsx +52 -3
  853. package/src/Resizable/ResizeHandle.tsx +25 -13
  854. package/src/Resizable/useResizable.doc.mjs +2 -2
  855. package/src/Section/Section.doc.mjs +3 -3
  856. package/src/Section/Section.tsx +2 -20
  857. package/src/Section/index.ts +20 -5
  858. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  859. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  860. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  861. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  862. package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
  863. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  864. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  865. package/src/SelectableCard/SelectableCard.tsx +19 -3
  866. package/src/Selector/Selector.doc.mjs +30 -8
  867. package/src/Selector/Selector.test.tsx +469 -9
  868. package/src/Selector/Selector.tsx +235 -57
  869. package/src/Selector/SelectorOption.doc.mjs +1 -1
  870. package/src/Selector/hooks.ts +45 -21
  871. package/src/SideNav/SideNav.doc.mjs +3 -3
  872. package/src/SideNav/SideNav.tsx +1 -1
  873. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  874. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  875. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  876. package/src/SideNav/SideNavHeading.tsx +8 -9
  877. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  878. package/src/SideNav/SideNavItem.tsx +5 -6
  879. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  880. package/src/SideNav/SideNavSection.tsx +1 -1
  881. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  882. package/src/Skeleton/Skeleton.test.tsx +16 -0
  883. package/src/Skeleton/Skeleton.tsx +14 -2
  884. package/src/Slider/Slider.doc.mjs +3 -3
  885. package/src/Slider/Slider.tsx +9 -13
  886. package/src/Spinner/Spinner.doc.mjs +3 -3
  887. package/src/Spinner/Spinner.tsx +1 -1
  888. package/src/Stack/Stack.doc.mjs +113 -3
  889. package/src/Stack/Stack.tsx +1 -1
  890. package/src/Stack/StackItem.tsx +1 -1
  891. package/src/StatusDot/StatusDot.doc.mjs +15 -6
  892. package/src/StatusDot/StatusDot.tsx +2 -22
  893. package/src/StatusDot/index.ts +22 -5
  894. package/src/Switch/Switch.doc.mjs +5 -5
  895. package/src/Switch/Switch.test.tsx +71 -25
  896. package/src/Switch/Switch.tsx +63 -26
  897. package/src/TabList/Tab.doc.mjs +1 -1
  898. package/src/TabList/Tab.tsx +1 -1
  899. package/src/TabList/TabList.doc.mjs +3 -3
  900. package/src/TabList/TabList.test.tsx +21 -18
  901. package/src/TabList/TabList.tsx +1 -1
  902. package/src/TabList/TabMenu.doc.mjs +1 -1
  903. package/src/TabList/TabMenu.tsx +11 -3
  904. package/src/Table/BaseTable.tsx +4 -5
  905. package/src/Table/Table.doc.mjs +5 -5
  906. package/src/Table/Table.test.tsx +27 -49
  907. package/src/Table/Table.tsx +1 -1
  908. package/src/Table/TableCell.doc.mjs +1 -1
  909. package/src/Table/TableCell.tsx +2 -2
  910. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  911. package/src/Table/TableHeaderCell.tsx +2 -2
  912. package/src/Table/TableRow.doc.mjs +1 -1
  913. package/src/Table/TableRow.tsx +1 -1
  914. package/src/Table/index.ts +1 -1
  915. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
  916. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  917. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +30 -11
  918. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  919. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  920. package/src/Table/types.ts +0 -9
  921. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  922. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  923. package/src/Table/useTableFilterState.doc.mjs +1 -1
  924. package/src/Table/useTableFiltering.doc.mjs +1 -1
  925. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  926. package/src/Table/useTablePagination.doc.mjs +1 -1
  927. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  928. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  929. package/src/Table/useTableRowStatus.doc.mjs +3 -3
  930. package/src/Table/useTableSelection.doc.mjs +1 -1
  931. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  932. package/src/Table/useTableSortable.doc.mjs +1 -1
  933. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  934. package/src/Table/useTableTreeData.doc.mjs +10 -1
  935. package/src/Table/useTableTreeState.doc.mjs +1 -1
  936. package/src/Text/Heading.doc.mjs +4 -4
  937. package/src/Text/Text.doc.mjs +4 -4
  938. package/src/Text/Text.test.tsx +42 -0
  939. package/src/Text/Text.tsx +26 -2
  940. package/src/Text/index.ts +32 -6
  941. package/src/TextArea/TextArea.doc.mjs +31 -7
  942. package/src/TextArea/TextArea.test.tsx +186 -7
  943. package/src/TextArea/TextArea.tsx +156 -52
  944. package/src/TextInput/TextInput.doc.mjs +5 -5
  945. package/src/TextInput/TextInput.test.tsx +77 -0
  946. package/src/TextInput/TextInput.tsx +7 -3
  947. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  948. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  949. package/src/Thumbnail/Thumbnail.tsx +28 -35
  950. package/src/TimeInput/TimeInput.doc.mjs +5 -5
  951. package/src/TimeInput/TimeInput.test.tsx +30 -3
  952. package/src/TimeInput/TimeInput.tsx +6 -2
  953. package/src/Timestamp/Timestamp.doc.mjs +30 -24
  954. package/src/Timestamp/Timestamp.test.tsx +438 -107
  955. package/src/Timestamp/Timestamp.tsx +167 -103
  956. package/src/Timestamp/TimestampHoverCard.tsx +283 -0
  957. package/src/Timestamp/formatInstant.ts +9 -4
  958. package/src/Timestamp/tooltipEntries.test.ts +9 -0
  959. package/src/Timestamp/tooltipEntries.ts +18 -2
  960. package/src/Toast/Toast.doc.mjs +3 -3
  961. package/src/Toast/ToastViewport.test.tsx +218 -8
  962. package/src/Toast/ToastViewport.tsx +71 -12
  963. package/src/Toast/useToast.doc.mjs +2 -2
  964. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  965. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  966. package/src/ToggleButton/ToggleButton.tsx +20 -2
  967. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  968. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  969. package/src/Token/Token.doc.mjs +3 -3
  970. package/src/Token/Token.test.tsx +145 -0
  971. package/src/Token/Token.tsx +75 -61
  972. package/src/Token/TokenLink.tsx +107 -0
  973. package/src/Token/index.ts +28 -1
  974. package/src/Tokenizer/Tokenizer.doc.mjs +5 -5
  975. package/src/Tokenizer/Tokenizer.test.tsx +45 -3
  976. package/src/Tokenizer/Tokenizer.tsx +11 -3
  977. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  978. package/src/Toolbar/Toolbar.tsx +1 -1
  979. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  980. package/src/Tooltip/Tooltip.tsx +1 -1
  981. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  982. package/src/TopNav/TopNav.doc.mjs +3 -3
  983. package/src/TopNav/TopNav.test.tsx +2 -2
  984. package/src/TopNav/TopNav.tsx +2 -4
  985. package/src/TopNav/TopNavHeading.doc.mjs +1 -12
  986. package/src/TopNav/TopNavHeading.tsx +8 -18
  987. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  988. package/src/TopNav/TopNavItem.tsx +1 -1
  989. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  990. package/src/TopNav/TopNavMegaMenu.tsx +35 -11
  991. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  992. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  993. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  994. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  995. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  996. package/src/TopNav/TopNavMenu.tsx +5 -4
  997. package/src/TreeList/TreeList.doc.mjs +3 -3
  998. package/src/TreeList/TreeList.test.tsx +10 -6
  999. package/src/TreeList/TreeList.tsx +1 -1
  1000. package/src/TreeList/TreeListBranches.tsx +1 -1
  1001. package/src/TreeList/TreeListItem.tsx +4 -3
  1002. package/src/TreeList/TreeListTypes.ts +1 -18
  1003. package/src/TreeList/index.ts +19 -1
  1004. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  1005. package/src/Typeahead/BaseTypeahead.tsx +13 -1
  1006. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  1007. package/src/Typeahead/Typeahead.test.tsx +62 -0
  1008. package/src/Typeahead/Typeahead.tsx +7 -1
  1009. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  1010. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  1011. package/src/VStack/VStack.tsx +1 -1
  1012. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  1013. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  1014. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  1015. package/src/__tests__/forcedColors.ts +60 -0
  1016. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  1017. package/src/doc-mjs.d.ts +5 -2
  1018. package/src/docPropLiterals.test.ts +1 -1
  1019. package/src/docPropReferences.test.ts +1 -1
  1020. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  1021. package/src/hooks/index.ts +7 -0
  1022. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  1023. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  1024. package/src/hooks/useContainerReveal.test.tsx +116 -0
  1025. package/src/hooks/useContainerReveal.ts +181 -0
  1026. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  1027. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  1028. package/src/hooks/useGridFocus.doc.mjs +2 -2
  1029. package/src/hooks/useGridFocus.ts +8 -6
  1030. package/src/hooks/useHotkeys.doc.mjs +2 -2
  1031. package/src/hooks/useImageMode.doc.mjs +2 -2
  1032. package/src/hooks/useImageMode.test.ts +1 -1
  1033. package/src/hooks/useInputContainer.doc.mjs +2 -2
  1034. package/src/hooks/useInputContainer.test.tsx +180 -0
  1035. package/src/hooks/useInputContainer.ts +36 -1
  1036. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  1037. package/src/hooks/useInputStatusIcon.tsx +12 -1
  1038. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  1039. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  1040. package/src/hooks/useKeyboardHint.tsx +7 -3
  1041. package/src/hooks/useListFocus.doc.mjs +2 -2
  1042. package/src/hooks/useListFocus.ts +8 -7
  1043. package/src/hooks/useLongPress.test.tsx +18 -0
  1044. package/src/hooks/useLongPress.ts +12 -2
  1045. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  1046. package/src/hooks/useOverflow.doc.mjs +2 -2
  1047. package/src/hooks/useScrollLock.doc.mjs +2 -2
  1048. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  1049. package/src/hooks/useStreamingText.doc.mjs +2 -2
  1050. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  1051. package/src/hooks/useTreeFocus.test.tsx +53 -1
  1052. package/src/hooks/useTreeFocus.ts +13 -2
  1053. package/src/i18n/InternationalizationProvider.doc.mjs +14 -2
  1054. package/src/i18n/InternationalizationProvider.tsx +6 -0
  1055. package/src/i18n/useDirection.ts +6 -3
  1056. package/src/i18n/useTranslator.doc.mjs +2 -2
  1057. package/src/index.ts +2 -18
  1058. package/src/theme/MediaTheme.doc.mjs +2 -2
  1059. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  1060. package/src/theme/Theme.doc.mjs +2 -2
  1061. package/src/theme/Theme.tsx +3 -7
  1062. package/src/theme/contrast.test.ts +94 -0
  1063. package/src/theme/contrast.ts +99 -0
  1064. package/src/theme/defineTheme.test.ts +29 -30
  1065. package/src/theme/defineTheme.ts +11 -5
  1066. package/src/theme/derivedVarRegistry.test.ts +8 -1
  1067. package/src/theme/derivedVarRegistry.ts +15 -6
  1068. package/src/theme/expandColorScale.test.ts +401 -1
  1069. package/src/theme/expandColorScale.ts +143 -19
  1070. package/src/theme/generateThemeRules.test.ts +41 -20
  1071. package/src/theme/generateThemeRules.ts +11 -15
  1072. package/src/theme/index.ts +11 -13
  1073. package/src/theme/themeRegistry.test.ts +59 -0
  1074. package/src/theme/themeRegistry.ts +53 -0
  1075. package/src/theme/tokens.stylex.ts +0 -19
  1076. package/src/theme/types.ts +14 -13
  1077. package/src/theme/useTheme.doc.mjs +2 -2
  1078. package/src/theme/useTheme.test.tsx +48 -3
  1079. package/src/theme/useTheme.ts +100 -29
  1080. package/src/utils/rtlStyles.ts +24 -2
  1081. package/dist/NavMenu/NavMenuItem.d.ts +0 -13
  1082. package/dist/NavMenu/NavMenuItem.d.ts.map +0 -1
  1083. package/dist/NavMenu/NavMenuItem.js +0 -16
  1084. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  1085. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  1086. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  1087. package/dist/authoring/doc.d.ts +0 -145
  1088. package/dist/authoring/doc.d.ts.map +0 -1
  1089. package/dist/authoring/doc.js +0 -100
  1090. package/dist/authoring/index.d.ts +0 -29
  1091. package/dist/authoring/index.d.ts.map +0 -1
  1092. package/dist/authoring/index.js +0 -28
  1093. package/dist/authoring/integration.d.ts +0 -35
  1094. package/dist/authoring/integration.d.ts.map +0 -1
  1095. package/dist/authoring/integration.js +0 -30
  1096. package/dist/authoring/template.d.ts +0 -66
  1097. package/dist/authoring/template.d.ts.map +0 -1
  1098. package/dist/authoring/template.js +0 -55
  1099. package/dist/config.d.ts +0 -80
  1100. package/dist/config.d.ts.map +0 -1
  1101. package/dist/config.js +0 -40
  1102. package/dist/docs-types.d.ts +0 -969
  1103. package/dist/docs-types.d.ts.map +0 -1
  1104. package/dist/docs-types.js +0 -1
  1105. package/src/NavMenu/NavMenuItem.tsx +0 -19
  1106. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  1107. package/src/authoring/doc.ts +0 -164
  1108. package/src/authoring/index.test.ts +0 -52
  1109. package/src/authoring/index.ts +0 -50
  1110. package/src/authoring/integration.ts +0 -42
  1111. package/src/authoring/template.ts +0 -74
  1112. package/src/config.test.ts +0 -16
  1113. package/src/config.ts +0 -92
  1114. package/src/docs-types.ts +0 -1108
@@ -19,7 +19,7 @@
19
19
  * - /packages/core/src/DropdownMenu/DropdownMenu.test.tsx
20
20
  * - /packages/core/src/DropdownMenu/index.ts
21
21
  * - /apps/storybook/stories/DropdownMenu.stories.tsx
22
- * - /packages/cli/templates/blocks/components/DropdownMenu/ (showcase blocks)
22
+ * - /packages/cli/assets/templates/blocks/components/DropdownMenu/ (showcase blocks)
23
23
  */
24
24
  import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
25
25
  import * as stylex from '@stylexjs/stylex';
@@ -82,6 +82,15 @@ const styles = {
82
82
  // Types
83
83
  // =============================================================================
84
84
 
85
+ /**
86
+ * Data-mode shape for one menu row.
87
+ *
88
+ * The item fields are sourced from `DropdownMenuItemProps` — data mode renders
89
+ * through `DropdownMenuItem`, so the two APIs describe the same thing and must
90
+ * not drift. Only the fields listed here are part of the data API; add a key to
91
+ * the `Pick` to expose more of the item's props to `items`.
92
+ */
93
+
85
94
  // =============================================================================
86
95
  // Props
87
96
  // =============================================================================
@@ -122,6 +131,7 @@ export function DropdownMenu({
122
131
  onClick,
123
132
  hasChevron = true,
124
133
  placement = 'below',
134
+ alignment = 'start',
125
135
  className,
126
136
  style,
127
137
  xstyle,
@@ -159,27 +169,21 @@ export function DropdownMenu({
159
169
  // Close menu + return focus to trigger
160
170
  const handleLayerHide = useCallback(() => {
161
171
  lastHideTimeRef.current = Date.now();
162
- if (isControlled) {
163
- onOpenChange?.(false);
164
- } else {
172
+ onOpenChange?.(false);
173
+ if (!isControlled) {
165
174
  setInternalIsOpen(false);
166
175
  }
167
176
  buttonRef.current?.focus();
168
177
  }, [isControlled, onOpenChange]);
169
178
 
170
- // Track whether to focus the first item when the menu opens
179
+ // Defer item focus until the layer has committed open, so focus restore
180
+ // captures the trigger instead of the first menu item.
171
181
  const shouldFocusOnOpenRef = useRef(false);
172
182
  const handleLayerShow = useCallback(() => {
173
- if (isControlled) {
174
- onOpenChange?.(true);
175
- } else {
183
+ onOpenChange?.(true);
184
+ if (!isControlled) {
176
185
  setInternalIsOpen(true);
177
186
  }
178
- if (shouldFocusOnOpenRef.current) {
179
- shouldFocusOnOpenRef.current = false;
180
- // focusFirst is called via openAndFocus below — defer to rAF
181
- // so the popover content is rendered before we query for items
182
- }
183
187
  }, [isControlled, onOpenChange]);
184
188
  const popover = usePopover({
185
189
  onHide: handleLayerHide,
@@ -222,17 +226,26 @@ export function DropdownMenu({
222
226
  getCurrentIndex: () => getMenuItems().findIndex(el => el === document.activeElement || el.contains(document.activeElement))
223
227
  });
224
228
 
225
- // Sync controlled open state → popover, and focus first item on open
229
+ // Sync controlled open state → popover.
226
230
  useEffect(() => {
227
231
  if (isControlled) {
228
232
  if (controlledIsOpen && !popover.isOpen) {
233
+ shouldFocusOnOpenRef.current = true;
229
234
  popover.show();
230
- requestAnimationFrame(() => focusFirst());
231
235
  } else if (!controlledIsOpen && popover.isOpen) {
232
236
  popover.hide();
233
237
  }
234
238
  }
235
- }, [controlledIsOpen, isControlled, popover, focusFirst]);
239
+ }, [controlledIsOpen, isControlled, popover]);
240
+
241
+ // Move focus into the menu only after the layer has committed open.
242
+ useEffect(() => {
243
+ if (!popover.isOpen || !shouldFocusOnOpenRef.current) {
244
+ return;
245
+ }
246
+ shouldFocusOnOpenRef.current = false;
247
+ requestAnimationFrame(() => focusFirst());
248
+ }, [popover.isOpen, focusFirst]);
236
249
 
237
250
  // Extend useListFocus with Enter/Space activation + typeahead
238
251
  const listKeyDown = useCallback(e => {
@@ -266,9 +279,9 @@ export function DropdownMenu({
266
279
  listNavKeyDown(e);
267
280
  }, [listNavKeyDown, closeMenu, typeahead, ownsEvent]);
268
281
  const openAndFocus = useCallback(() => {
282
+ shouldFocusOnOpenRef.current = true;
269
283
  popover.show();
270
- requestAnimationFrame(() => focusFirst());
271
- }, [popover, focusFirst]);
284
+ }, [popover]);
272
285
  const handleButtonClick = useCallback(() => {
273
286
  // If the menu was just closed by light dismiss (e.g. iOS Safari fires
274
287
  // pointerdown → hide before the trigger's click), the click would
@@ -356,7 +369,7 @@ export function DropdownMenu({
356
369
  })
357
370
  }), {
358
371
  placement,
359
- alignment: 'start',
372
+ alignment,
360
373
  xstyle: [popoverXstyle, popoverGapStyle, layerAnimations[placement]]
361
374
  })]
362
375
  });
@@ -1,22 +1,28 @@
1
1
  /**
2
2
  * @file DropdownMenuCheckboxItem.tsx
3
- * @input React, stylex, Item + Icon + DropdownMenu context + tokens from core
3
+ * @input React, stylex, Item + CheckboxInput + DropdownMenu context + tokens from core
4
4
  * @output DropdownMenuCheckboxItem — a standalone checkable menu item.
5
5
  * @position Sub-component; used inside DropdownMenu.
6
6
  *
7
7
  * A menu item that toggles an independent boolean (role="menuitemcheckbox").
8
- * Unlike CheckboxInput, there is no nested native <input>: the row itself owns
9
- * the role and aria-checked, per the WAI-ARIA menuitemcheckbox pattern.
10
- * Keyboard navigation (arrows/typeahead) and Enter/Space activation come from
11
- * the parent DropdownMenu's useListFocus + activation path, which matches
12
- * menuitemcheckbox alongside plain menuitem rows.
8
+ * Unlike CheckboxInput, there is no nested native <input> that participates in
9
+ * accessibility: the row itself owns the role and aria-checked, per the
10
+ * WAI-ARIA menuitemcheckbox pattern. Keyboard navigation (arrows/typeahead) and
11
+ * Enter/Space activation come from the parent DropdownMenu's useListFocus +
12
+ * activation path, which matches menuitemcheckbox alongside plain menuitem rows.
13
13
  *
14
- * The square checkbox visual is decorative (aria-hidden) — the row owns the
15
- * checked state. Its size is derived from the menu's item size (a `sm` menu
16
- * gets the compact control; `md`/`lg` get the standard one) and it swaps to the
17
- * inline-end of the row on coarse-pointer (touch) devices via CSS `order`, so
18
- * it lands where selection toggles are conventionally placed on mobile. The
19
- * checkmark uses the `check` icon from the active theme's icon registry.
14
+ * The checkbox visual composes the real CheckboxInput primitive so its checkmark
15
+ * matches CheckboxListItem and picks up the standard `checkbox` theming slots.
16
+ * It is purely decorative: the composed control is wrapped in an element that is
17
+ * both `aria-hidden` and `inert`, so it contributes nothing to the row's
18
+ * accessible name, and its native <input> and sr-only label stay out of the tab
19
+ * order and the accessibility tree while pointer clicks fall through to the row
20
+ * — the same shim MultiSelector uses. The row owns the checked state and
21
+ * accessible name. The control size is derived from the menu's item size (a
22
+ * `sm` menu gets the compact control; `md`/`lg` get the standard one) and it
23
+ * swaps to the inline-end of the row on coarse-pointer (touch) devices via CSS
24
+ * `order`, so it lands where selection toggles are conventionally placed on
25
+ * mobile.
20
26
  */
21
27
  import { type ReactNode } from 'react';
22
28
  import { type IconType } from '../Icon';
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuCheckboxItem.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuCheckboxItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAErE,OAAO,EAAuB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAa5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4D5C,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,SAAS,EACT,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,CAClD;IACC;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAkB,EAClB,gBAAwB,EACxB,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,6BAA6B,+BA8D/B;yBA3Ee,wBAAwB"}
1
+ {"version":3,"file":"DropdownMenuCheckboxItem.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuCheckboxItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAErE,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAOtD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsC5C,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,SAAS,EACT,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,CAClD;IACC;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAkB,EAClB,gBAAwB,EACxB,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,6BAA6B,+BA6D/B;yBA1Ee,wBAAwB"}
@@ -4,32 +4,39 @@
4
4
 
5
5
  /**
6
6
  * @file DropdownMenuCheckboxItem.tsx
7
- * @input React, stylex, Item + Icon + DropdownMenu context + tokens from core
7
+ * @input React, stylex, Item + CheckboxInput + DropdownMenu context + tokens from core
8
8
  * @output DropdownMenuCheckboxItem — a standalone checkable menu item.
9
9
  * @position Sub-component; used inside DropdownMenu.
10
10
  *
11
11
  * A menu item that toggles an independent boolean (role="menuitemcheckbox").
12
- * Unlike CheckboxInput, there is no nested native <input>: the row itself owns
13
- * the role and aria-checked, per the WAI-ARIA menuitemcheckbox pattern.
14
- * Keyboard navigation (arrows/typeahead) and Enter/Space activation come from
15
- * the parent DropdownMenu's useListFocus + activation path, which matches
16
- * menuitemcheckbox alongside plain menuitem rows.
12
+ * Unlike CheckboxInput, there is no nested native <input> that participates in
13
+ * accessibility: the row itself owns the role and aria-checked, per the
14
+ * WAI-ARIA menuitemcheckbox pattern. Keyboard navigation (arrows/typeahead) and
15
+ * Enter/Space activation come from the parent DropdownMenu's useListFocus +
16
+ * activation path, which matches menuitemcheckbox alongside plain menuitem rows.
17
17
  *
18
- * The square checkbox visual is decorative (aria-hidden) — the row owns the
19
- * checked state. Its size is derived from the menu's item size (a `sm` menu
20
- * gets the compact control; `md`/`lg` get the standard one) and it swaps to the
21
- * inline-end of the row on coarse-pointer (touch) devices via CSS `order`, so
22
- * it lands where selection toggles are conventionally placed on mobile. The
23
- * checkmark uses the `check` icon from the active theme's icon registry.
18
+ * The checkbox visual composes the real CheckboxInput primitive so its checkmark
19
+ * matches CheckboxListItem and picks up the standard `checkbox` theming slots.
20
+ * It is purely decorative: the composed control is wrapped in an element that is
21
+ * both `aria-hidden` and `inert`, so it contributes nothing to the row's
22
+ * accessible name, and its native <input> and sr-only label stay out of the tab
23
+ * order and the accessibility tree while pointer clicks fall through to the row
24
+ * — the same shim MultiSelector uses. The row owns the checked state and
25
+ * accessible name. The control size is derived from the menu's item size (a
26
+ * `sm` menu gets the compact control; `md`/`lg` get the standard one) and it
27
+ * swaps to the inline-end of the row on coarse-pointer (touch) devices via CSS
28
+ * `order`, so it lands where selection toggles are conventionally placed on
29
+ * mobile.
24
30
  */
25
31
  import { useCallback } from 'react';
26
32
  import * as stylex from '@stylexjs/stylex';
27
- import { Icon, renderIconSlot } from "../Icon/index.js";
33
+ import { renderIconSlot } from "../Icon/index.js";
34
+ import { CheckboxInput } from "../CheckboxInput/CheckboxInput.js";
28
35
  import { Item } from "../Item/index.js";
29
36
  import { useDropdownMenuContext } from "./DropdownMenuContext.js";
30
37
  import { focusMenuItemOnHover } from "./menuItemHover.js";
31
38
  import "../theme/tokens.stylex.js";
32
- import { colorVars, spacingVars, radiusVars, durationVars, easeVars, borderVars } from "../theme/tokens.stylex.js";
39
+ import { colorVars, spacingVars } from "../theme/tokens.stylex.js";
33
40
  import { mergeProps, themeProps } from "../utils/index.js";
34
41
  import { jsx as _jsx } from "react/jsx-runtime";
35
42
  const styles = {
@@ -46,45 +53,6 @@ const styles = {
46
53
  kSiTet: "xbyyjgo",
47
54
  kkrTdU: "x1h6gzvc",
48
55
  $$css: true
49
- },
50
- box: {
51
- k1xSpc: "x78zum5",
52
- kGNEyG: "x6s0dn4",
53
- kjj79g: "xl56j7k",
54
- kmuXW: "x2lah0s",
55
- kB7OPa: "x9f619",
56
- kMzoRj: "x1litavf",
57
- ksu8eU: "x1y0btm7",
58
- kaIpWk: "xx3sua9",
59
- kMwMTN: "x17wrial",
60
- k1ekBW: "xts7igz",
61
- kIyJzY: "xuedmi6 x12w9bfk",
62
- kAMwcw: "xlr8y92",
63
- kayTVb: "x1g77sc7 xozvky",
64
- keTefX: "x1lziwak x1jymrmb",
65
- $$css: true
66
- },
67
- unchecked: {
68
- kVAM5u: "xvy26l8",
69
- kWkggS: "x10xzikg",
70
- $$css: true
71
- },
72
- checked: {
73
- kVAM5u: "xad5do",
74
- kWkggS: "x1ewilqj",
75
- $$css: true
76
- }
77
- };
78
- const boxSizeStyles = {
79
- sm: {
80
- kzqmXN: "x1xp8n7a",
81
- kZKoxP: "xmix8c7",
82
- $$css: true
83
- },
84
- md: {
85
- kzqmXN: "x17z2i9w",
86
- kZKoxP: "x17rw0jw",
87
- $$css: true
88
56
  }
89
57
  };
90
58
  /**
@@ -122,6 +90,12 @@ export function DropdownMenuCheckboxItem({
122
90
  const ctx = useDropdownMenuContext();
123
91
  const menuSize = ctx?.menuSize ?? 'md';
124
92
  const controlSize = menuSize === 'sm' ? 'sm' : 'md';
93
+
94
+ // The composed checkbox is decorative and inert, so its label never reaches
95
+ // the accessibility tree — the row's `label` prop provides the announced
96
+ // name. CheckboxInput still requires a string label, so pass one through when
97
+ // the row label is a plain string.
98
+ const checkboxLabel = typeof label === 'string' ? label : '';
125
99
  const handleClick = useCallback(() => {
126
100
  if (isDisabled) {
127
101
  return;
@@ -138,17 +112,18 @@ export function DropdownMenuCheckboxItem({
138
112
  "aria-checked": value,
139
113
  tabIndex: isDisabled ? undefined : -1,
140
114
  onPointerMove: handlePointerMove,
141
- marker: /*#__PURE__*/_jsx("span", {
115
+ marker: /*#__PURE__*/_jsx("div", {
142
116
  "aria-hidden": "true",
143
- ...mergeProps(themeProps('dropdown-menu-checkbox', {
144
- size: controlSize,
145
- checked: value ? 'checked' : null,
146
- disabled: isDisabled ? 'disabled' : null
147
- }), stylex.props(styles.box, boxSizeStyles[controlSize], value ? styles.checked : styles.unchecked)),
148
- children: value && /*#__PURE__*/_jsx(Icon, {
149
- icon: "check",
150
- size: "sm",
151
- color: "inherit"
117
+ inert: true,
118
+ ...{
119
+ className: "x78zum5 x2lah0s x47corl x1g77sc7 xozvky x1lziwak x1jymrmb"
120
+ },
121
+ children: /*#__PURE__*/_jsx(CheckboxInput, {
122
+ label: checkboxLabel,
123
+ isLabelHidden: true,
124
+ value: value,
125
+ isDisabled: isDisabled,
126
+ size: controlSize
152
127
  })
153
128
  }),
154
129
  startContent: icon ? renderIconSlot(icon, {
@@ -16,7 +16,7 @@
16
16
  * - /packages/core/src/DropdownMenu/DropdownMenu.test.tsx
17
17
  * - /packages/core/src/DropdownMenu/index.ts
18
18
  * - /apps/storybook/stories/DropdownMenu.stories.tsx
19
- * - /packages/cli/templates/blocks/components/DropdownMenu/ (showcase blocks)
19
+ * - /packages/cli/assets/templates/blocks/components/DropdownMenu/ (showcase blocks)
20
20
  */
21
21
  import { type ReactNode } from 'react';
22
22
  import { type IconType } from '../Icon';
@@ -34,6 +34,11 @@ export interface DropdownMenuItemProps extends Pick<BaseProps, 'xstyle' | 'class
34
34
  isDisabled?: boolean;
35
35
  /** Additional content to render after the label/description. */
36
36
  endContent?: ReactNode;
37
+ /**
38
+ * Visual variant. `'destructive'` renders the label, description, and icon in
39
+ * the error color for dangerous actions (e.g. Delete). @default 'default'
40
+ */
41
+ variant?: 'default' | 'destructive';
37
42
  }
38
43
  /**
39
44
  * An interactive dropdown menu item with icon, label, and optional description.
@@ -45,11 +50,11 @@ export interface DropdownMenuItemProps extends Pick<BaseProps, 'xstyle' | 'class
45
50
  * ```
46
51
  * <DropdownMenu button={{ label: 'Actions' }}>
47
52
  * <DropdownMenuItem icon={PencilIcon} label="Edit" onClick={handleEdit} />
48
- * <DropdownMenuItem label="Delete" endContent={<Badge label="⌘D" />} onClick={handleDelete} />
53
+ * <DropdownMenuItem label="Delete" variant="destructive" onClick={handleDelete} />
49
54
  * </DropdownMenu>
50
55
  * ```
51
56
  */
52
- export declare function DropdownMenuItem({ icon, label, description, onClick, isDisabled, endContent, xstyle, className, style, }: DropdownMenuItemProps): import("react").JSX.Element;
57
+ export declare function DropdownMenuItem({ icon, label, description, onClick, isDisabled, endContent, variant, xstyle, className, style, }: DropdownMenuItemProps): import("react").JSX.Element;
53
58
  export declare namespace DropdownMenuItem {
54
59
  var displayName: string;
55
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuItem.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAErE,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAStD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAyC5C,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,SAAS,EACT,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC;IACC,wCAAwC;IACxC,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,0BAA0B;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gEAAgE;IAChE,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAkB,EAClB,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,qBAAqB,+BA4CvB;yBAtDe,gBAAgB"}
1
+ {"version":3,"file":"DropdownMenuItem.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAErE,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAStD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAkD5C,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,SAAS,EACT,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC;IACC,wCAAwC;IACxC,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,0BAA0B;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gEAAgE;IAChE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CACrC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAkB,EAClB,UAAU,EACV,OAAmB,EACnB,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,qBAAqB,+BAwDvB;yBAnEe,gBAAgB"}
@@ -20,7 +20,7 @@
20
20
  * - /packages/core/src/DropdownMenu/DropdownMenu.test.tsx
21
21
  * - /packages/core/src/DropdownMenu/index.ts
22
22
  * - /apps/storybook/stories/DropdownMenu.stories.tsx
23
- * - /packages/cli/templates/blocks/components/DropdownMenu/ (showcase blocks)
23
+ * - /packages/cli/assets/templates/blocks/components/DropdownMenu/ (showcase blocks)
24
24
  */
25
25
  import { useCallback } from 'react';
26
26
  import * as stylex from '@stylexjs/stylex';
@@ -53,6 +53,12 @@ const menuItemStyles = {
53
53
  kSiTet: "xbyyjgo",
54
54
  kkrTdU: "x1h6gzvc",
55
55
  $$css: true
56
+ },
57
+ destructive: {
58
+ kMwMTN: "xjt36v0",
59
+ "--_item-label-color": "xufyqxy",
60
+ "--_item-description-color": "xqlix59",
61
+ $$css: true
56
62
  }
57
63
  };
58
64
  const itemSizeStyles = {
@@ -79,7 +85,7 @@ const itemSizeStyles = {
79
85
  * ```
80
86
  * <DropdownMenu button={{ label: 'Actions' }}>
81
87
  * <DropdownMenuItem icon={PencilIcon} label="Edit" onClick={handleEdit} />
82
- * <DropdownMenuItem label="Delete" endContent={<Badge label="⌘D" />} onClick={handleDelete} />
88
+ * <DropdownMenuItem label="Delete" variant="destructive" onClick={handleDelete} />
83
89
  * </DropdownMenu>
84
90
  * ```
85
91
  */
@@ -90,6 +96,7 @@ export function DropdownMenuItem({
90
96
  onClick,
91
97
  isDisabled = false,
92
98
  endContent,
99
+ variant = 'default',
93
100
  xstyle,
94
101
  className,
95
102
  style
@@ -104,22 +111,24 @@ export function DropdownMenuItem({
104
111
  ctx?.closeMenu();
105
112
  }, [isDisabled, onClick, ctx]);
106
113
  const handlePointerMove = useCallback(e => focusMenuItemOnHover(e, isDisabled), [isDisabled]);
114
+ const isDestructive = variant === 'destructive';
107
115
  return /*#__PURE__*/_jsx(Item, {
108
116
  role: "menuitem",
109
117
  tabIndex: isDisabled ? undefined : -1,
110
118
  onPointerMove: handlePointerMove,
111
119
  startContent: icon ? renderIconSlot(icon, {
112
120
  size: 'sm',
113
- color: 'secondary'
121
+ color: isDestructive ? 'error' : 'secondary'
114
122
  }) : undefined,
115
123
  label: label,
116
124
  description: description,
117
125
  endContent: endContent,
118
126
  onClick: handleClick,
119
127
  isDisabled: isDisabled,
120
- xstyle: [menuItemStyles.root, itemSizeStyles[menuSize], isDisabled && menuItemStyles.disabled, xstyle],
128
+ xstyle: [menuItemStyles.root, itemSizeStyles[menuSize], isDestructive && menuItemStyles.destructive, isDisabled && menuItemStyles.disabled, xstyle],
121
129
  ...mergeProps(themeProps('dropdown-menu-item', {
122
- size: menuSize
130
+ size: menuSize,
131
+ variant: isDestructive ? 'destructive' : null
123
132
  }), {
124
133
  className,
125
134
  style
@@ -22,16 +22,13 @@ export interface DropdownMenuRadioGroupProps extends Omit<BaseProps, 'onChange'>
22
22
  */
23
23
  onChange: (value: string) => void;
24
24
  /**
25
- * Accessible label for the group. Required (together with `aria-labelledby`,
26
- * one of the two) so screen readers announce the radios as a named set,
27
- * e.g. "Sort by".
25
+ * Accessible name for the group, announced by screen readers so the radios
26
+ * read as a named set (e.g. "Sort by"). Applied as the group's `aria-label`.
27
+ * Required -- an unnamed radio group is an accessibility defect. Pass
28
+ * `aria-labelledby` (via base props) instead if the name already exists as a
29
+ * visible element on the page.
28
30
  */
29
- 'aria-label'?: string;
30
- /**
31
- * The id of an element that labels the group, as an alternative to
32
- * `aria-label`.
33
- */
34
- 'aria-labelledby'?: string;
31
+ label: string;
35
32
  /**
36
33
  * Whether selecting a value closes the menu. Radio items default to closing
37
34
  * on selection (a single-choice commit), unlike checkbox items which stay
@@ -54,14 +51,14 @@ export interface DropdownMenuRadioGroupProps extends Omit<BaseProps, 'onChange'>
54
51
  * DropdownMenuRadioItem,
55
52
  * } from '@astryxdesign/core/DropdownMenu';
56
53
  * <DropdownMenu button={{label: 'Sort'}}>
57
- * <DropdownMenuRadioGroup value={sort} onChange={setSort} aria-label="Sort by">
54
+ * <DropdownMenuRadioGroup value={sort} onChange={setSort} label="Sort by">
58
55
  * <DropdownMenuRadioItem value="newest" label="Newest" />
59
56
  * <DropdownMenuRadioItem value="oldest" label="Oldest" />
60
57
  * </DropdownMenuRadioGroup>
61
58
  * </DropdownMenu>
62
59
  * ```
63
60
  */
64
- export declare function DropdownMenuRadioGroup({ value, onChange, hasCloseOnSelect, children, className, style, ...rest }: DropdownMenuRadioGroupProps): import("react").JSX.Element;
61
+ export declare function DropdownMenuRadioGroup({ value, onChange, label, hasCloseOnSelect, children, className, style, ...rest }: DropdownMenuRadioGroupProps): import("react").JSX.Element;
65
62
  export declare namespace DropdownMenuRadioGroup {
66
63
  var displayName: string;
67
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuRadioGroup.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuRadioGroup.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAI9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAiB5C,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CACvD,SAAS,EACT,UAAU,CACX;IACC;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,QAAQ,EACR,gBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,2BAA2B,+BAgB7B;yBAxBe,sBAAsB"}
1
+ {"version":3,"file":"DropdownMenuRadioGroup.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuRadioGroup.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAI9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAiB5C,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CACvD,SAAS,EACT,UAAU,CACX;IACC;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,2BAA2B,+BAiB7B;yBA1Be,sBAAsB"}
@@ -30,7 +30,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
30
30
  * DropdownMenuRadioItem,
31
31
  * } from '@astryxdesign/core/DropdownMenu';
32
32
  * <DropdownMenu button={{label: 'Sort'}}>
33
- * <DropdownMenuRadioGroup value={sort} onChange={setSort} aria-label="Sort by">
33
+ * <DropdownMenuRadioGroup value={sort} onChange={setSort} label="Sort by">
34
34
  * <DropdownMenuRadioItem value="newest" label="Newest" />
35
35
  * <DropdownMenuRadioItem value="oldest" label="Oldest" />
36
36
  * </DropdownMenuRadioGroup>
@@ -40,6 +40,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
40
40
  export function DropdownMenuRadioGroup({
41
41
  value,
42
42
  onChange,
43
+ label,
43
44
  hasCloseOnSelect = true,
44
45
  children,
45
46
  className,
@@ -54,6 +55,7 @@ export function DropdownMenuRadioGroup({
54
55
  return /*#__PURE__*/_jsx("div", {
55
56
  ...rest,
56
57
  role: "group",
58
+ "aria-label": label,
57
59
  ...mergeProps({
58
60
  className: "x78zum5 xdt5ytf x1lsbc85"
59
61
  }, {
@@ -56,7 +56,7 @@ export interface DropdownMenuRadioItemProps extends Omit<BaseProps, 'role' | 'ar
56
56
  *
57
57
  * @example
58
58
  * ```
59
- * <DropdownMenuRadioGroup value={sort} onChange={setSort} aria-label="Sort by">
59
+ * <DropdownMenuRadioGroup value={sort} onChange={setSort} label="Sort by">
60
60
  * <DropdownMenuRadioItem value="newest" label="Newest" />
61
61
  * <DropdownMenuRadioItem value="oldest" label="Oldest" icon="clock" />
62
62
  * </DropdownMenuRadioGroup>
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuRadioItem.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuRadioItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAErE,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAYtD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAqE5C,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CACtD,SAAS,EACT,MAAM,GAAG,cAAc,GAAG,UAAU,CACrC;IACC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAI,EACJ,UAAkB,EAClB,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,0BAA0B,+BAuE5B;yBAlFe,qBAAqB"}
1
+ {"version":3,"file":"DropdownMenuRadioItem.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuRadioItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAErE,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAYtD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAqE5C,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CACtD,SAAS,EACT,MAAM,GAAG,cAAc,GAAG,UAAU,CACrC;IACC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAI,EACJ,UAAkB,EAClB,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,0BAA0B,+BAgF5B;yBA3Fe,qBAAqB"}
@@ -107,7 +107,7 @@ const dotSizeStyles = {
107
107
  *
108
108
  * @example
109
109
  * ```
110
- * <DropdownMenuRadioGroup value={sort} onChange={setSort} aria-label="Sort by">
110
+ * <DropdownMenuRadioGroup value={sort} onChange={setSort} label="Sort by">
111
111
  * <DropdownMenuRadioItem value="newest" label="Newest" />
112
112
  * <DropdownMenuRadioItem value="oldest" label="Oldest" icon="clock" />
113
113
  * </DropdownMenuRadioGroup>
@@ -157,7 +157,11 @@ export function DropdownMenuRadioItem({
157
157
  disabled: isDisabled ? 'disabled' : null
158
158
  }), stylex.props(styles.circle, circleSizeStyles[controlSize], isChecked ? styles.checked : styles.unchecked)),
159
159
  children: isChecked && /*#__PURE__*/_jsx("span", {
160
- ...stylex.props(styles.dot, dotSizeStyles[controlSize])
160
+ ...mergeProps(themeProps('dropdown-menu-radio-dot', {
161
+ size: controlSize,
162
+ checked: 'checked',
163
+ disabled: isDisabled ? 'disabled' : null
164
+ }), stylex.props(styles.dot, dotSizeStyles[controlSize]))
161
165
  })
162
166
  }),
163
167
  startContent: icon ? renderIconSlot(icon, {
@@ -31,7 +31,7 @@
31
31
  * - /packages/core/src/DropdownMenu/DropdownMenuSubMenu.test.tsx
32
32
  * - /packages/core/src/DropdownMenu/index.ts
33
33
  * - /apps/storybook/stories/DropdownMenu.stories.tsx
34
- * - /packages/cli/templates/blocks/components/DropdownMenu/ (showcase blocks)
34
+ * - /packages/cli/assets/templates/blocks/components/DropdownMenu/ (showcase blocks)
35
35
  */
36
36
  import { type ReactNode } from 'react';
37
37
  import { type IconType } from '../Icon';
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuSubMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuSubMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAc,EAMZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAuB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAoB5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA8F5C,UAAU,4BAA6B,SAAQ,IAAI,CACjD,SAAS,EACT,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC;IACC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B;IAC5E;;;;;;;;OAQG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,GAC9B,SAAS,CAgUX;yBAlUe,mBAAmB"}
1
+ {"version":3,"file":"DropdownMenuSubMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenuSubMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAc,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAuB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAoB5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA0F5C,UAAU,4BAA6B,SAAQ,IAAI,CACjD,SAAS,EACT,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC;IACC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B;IAC5E;;;;;;;;OAQG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,GAC9B,SAAS,CAmVX;yBArVe,mBAAmB"}
@@ -35,7 +35,7 @@
35
35
  * - /packages/core/src/DropdownMenu/DropdownMenuSubMenu.test.tsx
36
36
  * - /packages/core/src/DropdownMenu/index.ts
37
37
  * - /apps/storybook/stories/DropdownMenu.stories.tsx
38
- * - /packages/cli/templates/blocks/components/DropdownMenu/ (showcase blocks)
38
+ * - /packages/cli/assets/templates/blocks/components/DropdownMenu/ (showcase blocks)
39
39
  */
40
40
  import React, { useCallback, useId, useMemo, useRef, useState } from 'react';
41
41
  import * as stylex from '@stylexjs/stylex';
@@ -53,6 +53,7 @@ import { mergeProps } from "../utils/index.js";
53
53
  import { themeProps } from "../utils/themeProps.js";
54
54
  import { MENU_ITEM_ROLES, MENU_ITEM_SELECTOR, MENU_BOUNDARY_SELECTOR } from "./menuItemRoles.js";
55
55
  import { DropdownMenuContext, useDropdownMenuContext } from "./DropdownMenuContext.js";
56
+ import { focusMenuItemOnHover } from "./menuItemHover.js";
56
57
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
57
58
  const triggerStyles = {
58
59
  root: {
@@ -65,7 +66,6 @@ const triggerStyles = {
65
66
  kGuDYH: "xcr08ib",
66
67
  kMwMTN: "x1tgivj0",
67
68
  kWkggS: "xjbqb8w x1c52tdz",
68
- kHE3J0: "xe9uy6x",
69
69
  kkrTdU: "x1ypdohk",
70
70
  k9WMMc: "x1yc453h",
71
71
  kI3sdo: "x1a2a7pz",
@@ -281,6 +281,13 @@ export function DropdownMenuSubMenu(props) {
281
281
  }
282
282
  }, [isDisabled, open]);
283
283
 
284
+ // Move the single focus-driven highlight onto the trigger as the pointer
285
+ // enters it, so a sibling item that still holds focus doesn't stay
286
+ // highlighted alongside the hovered trigger. This is separate from the
287
+ // hover-open intent (onMouseEnter/onMouseLeave) — the flyout still opens on
288
+ // the hover delay; this only keeps the highlight single.
289
+ const handlePointerMove = useCallback(e => focusMenuItemOnHover(e, isDisabled), [isDisabled]);
290
+
284
291
  // Enter/Space activate the focused row; typeahead jumps by first character;
285
292
  // the close key (Left, or Right in RTL) returns focus to the trigger;
286
293
  // arrows/Home/End defer to useListFocus (RTL-aware).
@@ -348,16 +355,16 @@ export function DropdownMenuSubMenu(props) {
348
355
  }
349
356
  }), [menuSize, close, menuCtx]);
350
357
  const endAffordance = hasSpinner ? /*#__PURE__*/_jsx("span", {
351
- ...{
358
+ ...mergeProps(themeProps('dropdown-menu-indicator-icon'), {
352
359
  className: "x78zum5 x6s0dn4"
353
- },
360
+ }),
354
361
  children: /*#__PURE__*/_jsx(Spinner, {
355
362
  size: "sm"
356
363
  })
357
364
  }) : /*#__PURE__*/_jsx("span", {
358
- ...{
365
+ ...mergeProps(themeProps('dropdown-menu-indicator-icon'), {
359
366
  className: "x78zum5 x6s0dn4"
360
- },
367
+ }),
361
368
  children: /*#__PURE__*/_jsx(Icon, {
362
369
  icon: "chevronRight",
363
370
  size: "sm",
@@ -378,6 +385,7 @@ export function DropdownMenuSubMenu(props) {
378
385
  "data-testid": testId,
379
386
  onMouseEnter: triggerProps.onMouseEnter,
380
387
  onMouseLeave: triggerProps.onMouseLeave,
388
+ onPointerMove: handlePointerMove,
381
389
  startContent: icon ? renderIconSlot(icon, {
382
390
  size: 'sm',
383
391
  color: 'secondary'
@@ -12,6 +12,7 @@
12
12
  * - /packages/core/src/DropdownMenu/DropdownMenuItem.tsx
13
13
  * - /packages/core/src/DropdownMenu/DropdownMenuCheckboxItem.tsx
14
14
  * - /packages/core/src/DropdownMenu/DropdownMenuRadioItem.tsx
15
+ * - /packages/core/src/DropdownMenu/DropdownMenuSubMenu.tsx
15
16
  */
16
17
  import type { PointerEvent } from 'react';
17
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"menuItemHover.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/menuItemHover.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,EAC5B,UAAU,CAAC,EAAE,OAAO,GACnB,IAAI,CAQN"}
1
+ {"version":3,"file":"menuItemHover.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/menuItemHover.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,EAC5B,UAAU,CAAC,EAAE,OAAO,GACnB,IAAI,CAQN"}