@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
@@ -109,6 +109,22 @@ describe('DropdownMenu', () => {
109
109
  );
110
110
  });
111
111
 
112
+ it('supports explicit menu alignment', () => {
113
+ render(
114
+ <DropdownMenu
115
+ button={{label: 'Actions'}}
116
+ alignment="end"
117
+ items={[{label: 'Item 1'}]}
118
+ />,
119
+ );
120
+ const popover = screen
121
+ .getByRole('menu', {hidden: true})
122
+ .closest('[popover]');
123
+ expect(popover?.getAttribute('style')).toContain(
124
+ 'position-area: self-block-end span-self-inline-start',
125
+ );
126
+ });
127
+
112
128
  it('emits the direction-independent logical mapping under an RTL ancestor (#3389)', async () => {
113
129
  // The self-* position-area keywords resolve against the popover's own
114
130
  // inherited direction in the browser, so RTL emits the same string as
@@ -148,6 +164,77 @@ describe('DropdownMenu', () => {
148
164
  expect(HTMLElement.prototype.showPopover).toHaveBeenCalled();
149
165
  });
150
166
 
167
+ it('calls onOpenChange for uncontrolled native open and close transitions', async () => {
168
+ const user = userEvent.setup();
169
+ const handleOpenChange = vi.fn();
170
+ render(
171
+ <DropdownMenu
172
+ button={{label: 'Actions'}}
173
+ items={[{label: 'Item 1'}]}
174
+ onOpenChange={handleOpenChange}
175
+ />,
176
+ );
177
+
178
+ await user.click(screen.getByRole('button', {name: /Actions/}));
179
+ expect(handleOpenChange).toHaveBeenCalledWith(true);
180
+
181
+ handleOpenChange.mockClear();
182
+ const popoverEl = screen
183
+ .getByRole('menu', {hidden: true})
184
+ .closest('[popover]');
185
+ expect(popoverEl).not.toBeNull();
186
+ const toggleEvent = new Event('toggle');
187
+ Object.defineProperty(toggleEvent, 'newState', {value: 'closed'});
188
+ fireEvent(popoverEl as HTMLElement, toggleEvent);
189
+
190
+ expect(handleOpenChange).toHaveBeenCalledWith(false);
191
+ expect(screen.getByRole('button', {name: /Actions/})).toHaveAttribute(
192
+ 'aria-expanded',
193
+ 'false',
194
+ );
195
+ });
196
+
197
+ it('restores focus to the trigger after native light dismiss', async () => {
198
+ const raf = vi
199
+ .spyOn(window, 'requestAnimationFrame')
200
+ .mockImplementation(callback => {
201
+ callback(0);
202
+ return 0;
203
+ });
204
+
205
+ try {
206
+ const user = userEvent.setup();
207
+ render(
208
+ <DropdownMenu
209
+ button={{label: 'Actions'}}
210
+ items={[{label: 'Edit'}, {label: 'Delete'}]}
211
+ />,
212
+ );
213
+
214
+ const trigger = screen.getByRole('button', {name: /Actions/});
215
+ trigger.focus();
216
+ await user.click(trigger);
217
+ expect(
218
+ screen.getByRole('menuitem', {name: 'Edit', hidden: true}),
219
+ ).toHaveFocus();
220
+
221
+ const popoverEl = screen
222
+ .getByRole('menu', {hidden: true})
223
+ .closest('[popover]');
224
+ expect(popoverEl).not.toBeNull();
225
+ popoverEl?.addEventListener('toggle', () => {
226
+ trigger.blur();
227
+ });
228
+ const toggleEvent = new Event('toggle');
229
+ Object.defineProperty(toggleEvent, 'newState', {value: 'closed'});
230
+ fireEvent(popoverEl as HTMLElement, toggleEvent);
231
+
232
+ expect(trigger).toHaveFocus();
233
+ } finally {
234
+ raf.mockRestore();
235
+ }
236
+ });
237
+
151
238
  it('closes the menu when Tab is pressed inside it (APG menu-button)', async () => {
152
239
  const user = userEvent.setup();
153
240
  render(
@@ -415,6 +502,113 @@ describe('DropdownMenu dividers', () => {
415
502
  });
416
503
  });
417
504
 
505
+ describe('DropdownMenu theming slots', () => {
506
+ it('exposes a themeable slot on the section heading', () => {
507
+ render(
508
+ <DropdownMenu
509
+ button={{label: 'Actions'}}
510
+ items={[
511
+ {
512
+ type: 'section',
513
+ title: 'File Actions',
514
+ items: [{label: 'New'}],
515
+ },
516
+ ]}
517
+ />,
518
+ );
519
+
520
+ expect(screen.getByText('File Actions')).toHaveClass(
521
+ 'astryx-dropdown-menu-section-heading',
522
+ );
523
+ });
524
+
525
+ it('exposes a themeable slot on the menu divider', () => {
526
+ render(
527
+ <DropdownMenu
528
+ button={{label: 'Actions'}}
529
+ items={[{label: 'Edit'}, {type: 'divider'}, {label: 'Delete'}]}
530
+ />,
531
+ );
532
+
533
+ const divider = screen.getByRole('separator', {hidden: true});
534
+ expect(divider).toHaveClass('astryx-dropdown-menu-divider');
535
+ // Still carries the base Divider slot so global divider theming applies too.
536
+ expect(divider).toHaveClass('astryx-divider');
537
+ });
538
+ });
539
+
540
+ describe('DropdownMenuItem destructive variant', () => {
541
+ it('marks a compound-mode item destructive via data-variant', () => {
542
+ render(
543
+ <DropdownMenu button={{label: 'Actions'}}>
544
+ <DropdownMenuItem
545
+ label="Delete"
546
+ variant="destructive"
547
+ onClick={() => {}}
548
+ />
549
+ <DropdownMenuItem label="Edit" onClick={() => {}} />
550
+ </DropdownMenu>,
551
+ );
552
+
553
+ const del = screen.getByRole('menuitem', {name: 'Delete', hidden: true});
554
+ const edit = screen.getByRole('menuitem', {name: 'Edit', hidden: true});
555
+ expect(del).toHaveAttribute('data-variant', 'destructive');
556
+ // Default items carry no variant attribute, so existing usage is unchanged.
557
+ expect(edit).not.toHaveAttribute('data-variant');
558
+ });
559
+
560
+ it('forwards variant from the data-driven items API', () => {
561
+ render(
562
+ <DropdownMenu
563
+ button={{label: 'Actions'}}
564
+ items={[
565
+ {label: 'Delete', variant: 'destructive', onClick: () => {}},
566
+ {label: 'Edit', onClick: () => {}},
567
+ ]}
568
+ />,
569
+ );
570
+
571
+ expect(
572
+ screen.getByRole('menuitem', {name: 'Delete', hidden: true}),
573
+ ).toHaveAttribute('data-variant', 'destructive');
574
+ expect(
575
+ screen.getByRole('menuitem', {name: 'Edit', hidden: true}),
576
+ ).not.toHaveAttribute('data-variant');
577
+ });
578
+
579
+ it('forwards variant to items nested inside a section', () => {
580
+ render(
581
+ <DropdownMenu
582
+ button={{label: 'Actions'}}
583
+ items={[
584
+ {
585
+ type: 'section',
586
+ title: 'Danger zone',
587
+ items: [
588
+ {label: 'Delete', variant: 'destructive', onClick: () => {}},
589
+ ],
590
+ },
591
+ ]}
592
+ />,
593
+ );
594
+
595
+ expect(
596
+ screen.getByRole('menuitem', {name: 'Delete', hidden: true}),
597
+ ).toHaveAttribute('data-variant', 'destructive');
598
+ });
599
+
600
+ it('defaults to no variant attribute', () => {
601
+ render(
602
+ <DropdownMenu button={{label: 'Actions'}}>
603
+ <DropdownMenuItem label="Edit" onClick={() => {}} />
604
+ </DropdownMenu>,
605
+ );
606
+ expect(
607
+ screen.getByRole('menuitem', {name: 'Edit', hidden: true}),
608
+ ).not.toHaveAttribute('data-variant');
609
+ });
610
+ });
611
+
418
612
  describe('DropdownMenu button customization', () => {
419
613
  it('renders with different button variants', () => {
420
614
  const {rerender} = render(
@@ -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
 
25
25
  import React, {
@@ -35,9 +35,9 @@ import * as stylex from '@stylexjs/stylex';
35
35
  import {usePopover} from '../Popover/usePopover';
36
36
  import {Button, type ButtonProps} from '../Button';
37
37
  import {Icon} from '../Icon';
38
- import type {IconType} from '../Icon';
39
38
 
40
39
  import {renderDropdownItems} from './renderDropdownItems';
40
+ import type {DropdownMenuItemProps} from './DropdownMenuItem';
41
41
  import {
42
42
  MENU_ITEM_ROLES,
43
43
  MENU_ITEM_SELECTOR,
@@ -50,7 +50,7 @@ import {
50
50
  import {useListFocus} from '../hooks/useListFocus';
51
51
  import {useTypeahead} from '../hooks/useTypeahead';
52
52
  import {layerAnimations} from '../Layer/layerAnimations.stylex';
53
- import type {LayerPlacement} from '../Layer/useLayer';
53
+ import type {LayerAlignment, LayerPlacement} from '../Layer/useLayer';
54
54
  import {
55
55
  spacingVars,
56
56
  radiusVars,
@@ -99,11 +99,23 @@ const styles = stylex.create({
99
99
  // Types
100
100
  // =============================================================================
101
101
 
102
- export interface DropdownMenuItemData {
102
+ /**
103
+ * Data-mode shape for one menu row.
104
+ *
105
+ * The item fields are sourced from `DropdownMenuItemProps` — data mode renders
106
+ * through `DropdownMenuItem`, so the two APIs describe the same thing and must
107
+ * not drift. Only the fields listed here are part of the data API; add a key to
108
+ * the `Pick` to expose more of the item's props to `items`.
109
+ */
110
+ export interface DropdownMenuItemData extends Pick<
111
+ DropdownMenuItemProps,
112
+ 'icon' | 'onClick' | 'isDisabled' | 'variant'
113
+ > {
114
+ /**
115
+ * Primary label text. Narrowed to `string` from the item's `ReactNode`:
116
+ * data mode derives each row's React key from the label.
117
+ */
103
118
  label: string;
104
- onClick?: () => void;
105
- isDisabled?: boolean;
106
- icon?: ReactNode | IconType;
107
119
  /**
108
120
  * Nested submenu entries. When present, this row becomes a submenu (a
109
121
  * flyout revealing `items`) instead of a leaf action — no separate item
@@ -145,6 +157,13 @@ interface DropdownMenuBaseProps extends BaseProps {
145
157
  */
146
158
  placement?: LayerPlacement;
147
159
 
160
+ /**
161
+ * Alignment along the placement axis.
162
+ * Uses the same alignment values as other Astryx layer-based components.
163
+ * @default 'start'
164
+ */
165
+ alignment?: LayerAlignment;
166
+
148
167
  'data-testid'?: string;
149
168
  }
150
169
 
@@ -198,6 +217,7 @@ export function DropdownMenu({
198
217
  onClick,
199
218
  hasChevron = true,
200
219
  placement = 'below',
220
+ alignment = 'start',
201
221
  className,
202
222
  style,
203
223
  xstyle,
@@ -235,28 +255,22 @@ export function DropdownMenu({
235
255
  // Close menu + return focus to trigger
236
256
  const handleLayerHide = useCallback(() => {
237
257
  lastHideTimeRef.current = Date.now();
238
- if (isControlled) {
239
- onOpenChange?.(false);
240
- } else {
258
+ onOpenChange?.(false);
259
+ if (!isControlled) {
241
260
  setInternalIsOpen(false);
242
261
  }
243
262
  buttonRef.current?.focus();
244
263
  }, [isControlled, onOpenChange]);
245
264
 
246
- // Track whether to focus the first item when the menu opens
265
+ // Defer item focus until the layer has committed open, so focus restore
266
+ // captures the trigger instead of the first menu item.
247
267
  const shouldFocusOnOpenRef = useRef(false);
248
268
 
249
269
  const handleLayerShow = useCallback(() => {
250
- if (isControlled) {
251
- onOpenChange?.(true);
252
- } else {
270
+ onOpenChange?.(true);
271
+ if (!isControlled) {
253
272
  setInternalIsOpen(true);
254
273
  }
255
- if (shouldFocusOnOpenRef.current) {
256
- shouldFocusOnOpenRef.current = false;
257
- // focusFirst is called via openAndFocus below — defer to rAF
258
- // so the popover content is rendered before we query for items
259
- }
260
274
  }, [isControlled, onOpenChange]);
261
275
 
262
276
  const popover = usePopover({
@@ -305,17 +319,26 @@ export function DropdownMenu({
305
319
  ),
306
320
  });
307
321
 
308
- // Sync controlled open state → popover, and focus first item on open
322
+ // Sync controlled open state → popover.
309
323
  useEffect(() => {
310
324
  if (isControlled) {
311
325
  if (controlledIsOpen && !popover.isOpen) {
326
+ shouldFocusOnOpenRef.current = true;
312
327
  popover.show();
313
- requestAnimationFrame(() => focusFirst());
314
328
  } else if (!controlledIsOpen && popover.isOpen) {
315
329
  popover.hide();
316
330
  }
317
331
  }
318
- }, [controlledIsOpen, isControlled, popover, focusFirst]);
332
+ }, [controlledIsOpen, isControlled, popover]);
333
+
334
+ // Move focus into the menu only after the layer has committed open.
335
+ useEffect(() => {
336
+ if (!popover.isOpen || !shouldFocusOnOpenRef.current) {
337
+ return;
338
+ }
339
+ shouldFocusOnOpenRef.current = false;
340
+ requestAnimationFrame(() => focusFirst());
341
+ }, [popover.isOpen, focusFirst]);
319
342
 
320
343
  // Extend useListFocus with Enter/Space activation + typeahead
321
344
  const listKeyDown = useCallback(
@@ -356,9 +379,9 @@ export function DropdownMenu({
356
379
  );
357
380
 
358
381
  const openAndFocus = useCallback(() => {
382
+ shouldFocusOnOpenRef.current = true;
359
383
  popover.show();
360
- requestAnimationFrame(() => focusFirst());
361
- }, [popover, focusFirst]);
384
+ }, [popover]);
362
385
 
363
386
  const handleButtonClick = useCallback(() => {
364
387
  // If the menu was just closed by light dismiss (e.g. iOS Safari fires
@@ -474,7 +497,7 @@ export function DropdownMenu({
474
497
  </div>,
475
498
  {
476
499
  placement,
477
- alignment: 'start',
500
+ alignment,
478
501
  xstyle: [popoverXstyle, popoverGapStyle, layerAnimations[placement]],
479
502
  },
480
503
  )}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'DropdownMenuCheckboxItem',
@@ -4,39 +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
 
26
32
  import {useCallback, type PointerEvent, type ReactNode} from 'react';
27
33
  import * as stylex from '@stylexjs/stylex';
28
- import {Icon, renderIconSlot, type IconType} from '../Icon';
34
+ import {renderIconSlot, type IconType} from '../Icon';
35
+ import {CheckboxInput} from '../CheckboxInput/CheckboxInput';
29
36
  import {Item} from '../Item';
30
37
  import {useDropdownMenuContext} from './DropdownMenuContext';
31
38
  import {focusMenuItemOnHover} from './menuItemHover';
32
- import {
33
- colorVars,
34
- spacingVars,
35
- radiusVars,
36
- durationVars,
37
- easeVars,
38
- borderVars,
39
- } from '../theme/tokens.stylex';
39
+ import {colorVars, spacingVars} from '../theme/tokens.stylex';
40
40
  import {mergeProps, themeProps} from '../utils';
41
41
  import type {BaseProps} from '../BaseProps';
42
42
 
@@ -58,22 +58,13 @@ const styles = stylex.create({
58
58
  },
59
59
  // Rendered in Item's `marker` slot as a raw flex child, so `order` moves it
60
60
  // relative to the label within the row. On touch it moves to the inline-end.
61
- box: {
61
+ // `aria-hidden` + `inert` + pointer-events:none keep the composed CheckboxInput
62
+ // decorative: it adds no accessible name, and clicks fall through to the row,
63
+ // which owns the role and activation.
64
+ markerBox: {
62
65
  display: 'flex',
63
- alignItems: 'center',
64
- justifyContent: 'center',
65
66
  flexShrink: 0,
66
- boxSizing: 'border-box',
67
- borderWidth: borderVars['--border-width'],
68
- borderStyle: 'solid',
69
- borderRadius: radiusVars['--radius-inner'],
70
- color: colorVars['--color-on-accent'],
71
- transitionProperty: 'background-color, border-color',
72
- transitionDuration: {
73
- default: durationVars['--duration-fast'],
74
- '@media (prefers-reduced-motion: reduce)': '0s',
75
- },
76
- transitionTimingFunction: easeVars['--ease-standard'],
67
+ pointerEvents: 'none',
77
68
  order: {
78
69
  default: 0,
79
70
  '@media (pointer: coarse)': 1,
@@ -83,19 +74,6 @@ const styles = stylex.create({
83
74
  '@media (pointer: coarse)': 'auto',
84
75
  },
85
76
  },
86
- unchecked: {
87
- borderColor: colorVars['--color-border-emphasized'],
88
- backgroundColor: colorVars['--color-background-surface'],
89
- },
90
- checked: {
91
- borderColor: colorVars['--color-accent'],
92
- backgroundColor: colorVars['--color-accent'],
93
- },
94
- });
95
-
96
- const boxSizeStyles = stylex.create({
97
- sm: {width: 18, height: 18},
98
- md: {width: 22, height: 22},
99
77
  });
100
78
 
101
79
  export interface DropdownMenuCheckboxItemProps extends Omit<
@@ -180,6 +158,12 @@ export function DropdownMenuCheckboxItem({
180
158
  const menuSize = ctx?.menuSize ?? 'md';
181
159
  const controlSize = menuSize === 'sm' ? 'sm' : 'md';
182
160
 
161
+ // The composed checkbox is decorative and inert, so its label never reaches
162
+ // the accessibility tree — the row's `label` prop provides the announced
163
+ // name. CheckboxInput still requires a string label, so pass one through when
164
+ // the row label is a plain string.
165
+ const checkboxLabel = typeof label === 'string' ? label : '';
166
+
183
167
  const handleClick = useCallback(() => {
184
168
  if (isDisabled) {
185
169
  return;
@@ -203,22 +187,15 @@ export function DropdownMenuCheckboxItem({
203
187
  tabIndex={isDisabled ? undefined : -1}
204
188
  onPointerMove={handlePointerMove}
205
189
  marker={
206
- <span
207
- aria-hidden="true"
208
- {...mergeProps(
209
- themeProps('dropdown-menu-checkbox', {
210
- size: controlSize,
211
- checked: value ? 'checked' : null,
212
- disabled: isDisabled ? 'disabled' : null,
213
- }),
214
- stylex.props(
215
- styles.box,
216
- boxSizeStyles[controlSize],
217
- value ? styles.checked : styles.unchecked,
218
- ),
219
- )}>
220
- {value && <Icon icon="check" size="sm" color="inherit" />}
221
- </span>
190
+ <div aria-hidden="true" inert {...stylex.props(styles.markerBox)}>
191
+ <CheckboxInput
192
+ label={checkboxLabel}
193
+ isLabelHidden
194
+ value={value}
195
+ isDisabled={isDisabled}
196
+ size={controlSize}
197
+ />
198
+ </div>
222
199
  }
223
200
  startContent={
224
201
  icon
@@ -1,13 +1,14 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'DropdownMenuItem',
7
7
  subComponentOf: 'DropdownMenu',
8
8
  displayName: 'Dropdown Menu Item',
9
9
  isHiddenFromOverview: true,
10
- description: 'Helper component for custom item rendering with consistent styling.',
10
+ description:
11
+ 'Helper component for custom item rendering with consistent styling.',
11
12
  playground: {
12
13
  // Standalone DropdownMenuItem has no required props, so the properties-tab
13
14
  // preview renders an empty row without seeded content. Seed a label and
@@ -18,7 +19,8 @@ export const docs = {
18
19
  {
19
20
  name: 'icon',
20
21
  type: 'IconType',
21
- description: 'Icon to display before the label. See `astryx docs icons` for valid semantic names.',
22
+ description:
23
+ 'Icon to display before the label. See `astryx docs icons` for valid semantic names.',
22
24
  },
23
25
  {
24
26
  name: 'label',
@@ -33,12 +35,21 @@ export const docs = {
33
35
  {
34
36
  name: 'endContent',
35
37
  type: 'ReactNode',
36
- description: 'Additional content rendered after the label and description.',
38
+ description:
39
+ 'Additional content rendered after the label and description.',
40
+ },
41
+ {
42
+ name: 'variant',
43
+ type: "'default' | 'destructive'",
44
+ description:
45
+ "Visual variant. 'destructive' renders the label, description, and icon in the error color for dangerous actions (e.g. Delete).",
46
+ default: "'default'",
37
47
  },
38
48
  {
39
49
  name: 'xstyle',
40
50
  type: 'StyleXStyles',
41
- description: 'StyleX styles for layout customization (margins, positioning, sizing). Must be a stylex.create() value: not an inline style object like style={{}}.',
51
+ description:
52
+ 'StyleX styles for layout customization (margins, positioning, sizing). Must be a stylex.create() value: not an inline style object like style={{}}.',
42
53
  },
43
54
  ],
44
55
  };
@@ -69,6 +80,13 @@ export const docsZh = {
69
80
  type: 'ReactNode',
70
81
  description: '在标签和描述之后渲染的附加内容。',
71
82
  },
83
+ {
84
+ name: 'variant',
85
+ type: "'default' | 'destructive'",
86
+ description:
87
+ "视觉变体。'destructive' 会以错误色渲染标签、描述和图标,用于危险操作(如删除)。",
88
+ default: "'default'",
89
+ },
72
90
  {
73
91
  name: 'xstyle',
74
92
  type: 'StyleXStyles',
@@ -87,6 +105,8 @@ export const docsDense = {
87
105
  label: 'primary label text',
88
106
  description: 'secondary text below label',
89
107
  endContent: 'additional content after label+description',
108
+ variant:
109
+ "'destructive' renders the item in the error color for dangerous actions",
90
110
  xstyle: 'StyleX styles for root container',
91
111
  },
92
112
  };