@astryxdesign/core 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1083) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +5 -3
  3. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  4. package/dist/AlertDialog/AlertDialog.js +1 -1
  5. package/dist/AppShell/AppShell.d.ts +2 -20
  6. package/dist/AppShell/AppShell.d.ts.map +1 -1
  7. package/dist/AppShell/AppShell.js +25 -18
  8. package/dist/AppShell/index.d.ts +20 -1
  9. package/dist/AppShell/index.d.ts.map +1 -1
  10. package/dist/AppShell/index.js +14 -0
  11. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  12. package/dist/AspectRatio/AspectRatio.js +1 -1
  13. package/dist/Avatar/Avatar.d.ts +1 -1
  14. package/dist/Avatar/Avatar.d.ts.map +1 -1
  15. package/dist/Avatar/Avatar.js +4 -4
  16. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  17. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  18. package/dist/Avatar/AvatarStatusDot.js +1 -22
  19. package/dist/Avatar/index.d.ts +26 -1
  20. package/dist/Avatar/index.d.ts.map +1 -1
  21. package/dist/Avatar/index.js +21 -0
  22. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  24. package/dist/AvatarGroup/AvatarGroup.js +4 -8
  25. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  26. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  27. package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
  28. package/dist/Badge/Badge.d.ts +2 -30
  29. package/dist/Badge/Badge.d.ts.map +1 -1
  30. package/dist/Badge/Badge.js +2 -17
  31. package/dist/Badge/index.d.ts +31 -2
  32. package/dist/Badge/index.d.ts.map +1 -1
  33. package/dist/Badge/index.js +15 -1
  34. package/dist/Banner/Banner.d.ts +2 -37
  35. package/dist/Banner/Banner.d.ts.map +1 -1
  36. package/dist/Banner/Banner.js +6 -34
  37. package/dist/Banner/index.d.ts +37 -1
  38. package/dist/Banner/index.d.ts.map +1 -1
  39. package/dist/Banner/index.js +27 -0
  40. package/dist/Blockquote/Blockquote.d.ts +1 -1
  41. package/dist/Blockquote/Blockquote.js +1 -1
  42. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  43. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  44. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  45. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  46. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  47. package/dist/Breadcrumbs/index.d.ts +18 -1
  48. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  49. package/dist/Breadcrumbs/index.js +14 -0
  50. package/dist/Button/Button.d.ts +3 -21
  51. package/dist/Button/Button.d.ts.map +1 -1
  52. package/dist/Button/Button.js +6 -19
  53. package/dist/Button/index.d.ts +21 -3
  54. package/dist/Button/index.d.ts.map +1 -1
  55. package/dist/Button/index.js +15 -1
  56. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  57. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  58. package/dist/Calendar/Calendar.js +1 -1
  59. package/dist/Calendar/index.d.ts +1 -1
  60. package/dist/Calendar/index.d.ts.map +1 -1
  61. package/dist/Calendar/index.js +1 -1
  62. package/dist/Calendar/styles.d.ts +2 -2
  63. package/dist/Calendar/styles.js +2 -2
  64. package/dist/Calendar/utils.d.ts +0 -4
  65. package/dist/Calendar/utils.d.ts.map +1 -1
  66. package/dist/Calendar/utils.js +1 -8
  67. package/dist/Card/Card.d.ts +1 -1
  68. package/dist/Card/Card.js +1 -1
  69. package/dist/Carousel/Carousel.d.ts +54 -3
  70. package/dist/Carousel/Carousel.d.ts.map +1 -1
  71. package/dist/Carousel/Carousel.js +82 -15
  72. package/dist/Carousel/index.d.ts +1 -1
  73. package/dist/Carousel/index.d.ts.map +1 -1
  74. package/dist/Center/Center.d.ts +21 -4
  75. package/dist/Center/Center.d.ts.map +1 -1
  76. package/dist/Center/Center.js +11 -3
  77. package/dist/Chat/ChatComposer.d.ts +1 -1
  78. package/dist/Chat/ChatComposer.js +9 -9
  79. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  80. package/dist/Chat/ChatComposerDrawer.js +5 -5
  81. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  82. package/dist/Chat/ChatComposerInput.js +1 -1
  83. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  84. package/dist/Chat/ChatDictationButton.js +1 -1
  85. package/dist/Chat/ChatLayout.d.ts +8 -1
  86. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  87. package/dist/Chat/ChatLayout.js +15 -4
  88. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  89. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  90. package/dist/Chat/ChatMessage.d.ts +1 -1
  91. package/dist/Chat/ChatMessage.js +1 -1
  92. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  93. package/dist/Chat/ChatMessageBubble.js +1 -1
  94. package/dist/Chat/ChatMessageList.d.ts +1 -1
  95. package/dist/Chat/ChatMessageList.js +1 -1
  96. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  97. package/dist/Chat/ChatSendButton.js +4 -2
  98. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  99. package/dist/Chat/ChatSystemMessage.js +1 -1
  100. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  101. package/dist/Chat/ChatTokenizedText.js +1 -1
  102. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  103. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  104. package/dist/CheckboxInput/CheckboxInput.js +3 -3
  105. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  106. package/dist/CheckboxList/CheckboxList.js +1 -1
  107. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  108. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  109. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  110. package/dist/Citation/Citation.d.ts +1 -1
  111. package/dist/Citation/Citation.js +1 -1
  112. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  113. package/dist/ClickableCard/ClickableCard.js +3 -3
  114. package/dist/Code/Code.d.ts +2 -2
  115. package/dist/Code/Code.js +2 -2
  116. package/dist/CodeBlock/CodeBlock.js +2 -2
  117. package/dist/Collapsible/Collapsible.d.ts +1 -1
  118. package/dist/Collapsible/Collapsible.js +3 -3
  119. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  120. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  121. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  122. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  123. package/dist/CommandPalette/CommandPalette.js +1 -1
  124. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  125. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  126. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  127. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  128. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  129. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  130. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  131. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  132. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  133. package/dist/ComplexSelector/ComplexSelector.d.ts +108 -0
  134. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -0
  135. package/dist/ComplexSelector/ComplexSelector.js +316 -0
  136. package/dist/ComplexSelector/index.d.ts +7 -0
  137. package/dist/ComplexSelector/index.d.ts.map +1 -0
  138. package/dist/ComplexSelector/index.js +10 -0
  139. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  140. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  141. package/dist/ContextMenu/ContextMenu.js +24 -6
  142. package/dist/DateInput/DateInput.js +1 -1
  143. package/dist/DateRangeInput/DateRangeInput.js +1 -1
  144. package/dist/DateTimeInput/DateTimeInput.js +1 -1
  145. package/dist/Dialog/Dialog.d.ts +33 -24
  146. package/dist/Dialog/Dialog.d.ts.map +1 -1
  147. package/dist/Dialog/Dialog.js +47 -31
  148. package/dist/Dialog/DialogHeader.d.ts +1 -1
  149. package/dist/Dialog/DialogHeader.js +1 -1
  150. package/dist/Dialog/index.d.ts +18 -1
  151. package/dist/Dialog/index.d.ts.map +1 -1
  152. package/dist/Dialog/index.js +14 -0
  153. package/dist/Divider/Divider.d.ts +2 -18
  154. package/dist/Divider/Divider.d.ts.map +1 -1
  155. package/dist/Divider/Divider.js +1 -15
  156. package/dist/Divider/index.d.ts +18 -1
  157. package/dist/Divider/index.d.ts.map +1 -1
  158. package/dist/Divider/index.js +14 -0
  159. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  160. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  161. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  162. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  163. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  164. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  165. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  166. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  167. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  168. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  169. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  170. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  171. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  172. package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
  173. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  174. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  175. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  176. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  177. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  178. package/dist/DropdownMenu/menuItemHover.js +1 -0
  179. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  180. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  181. package/dist/EmptyState/EmptyState.d.ts +1 -1
  182. package/dist/EmptyState/EmptyState.js +1 -1
  183. package/dist/Field/Field.d.ts +1 -1
  184. package/dist/Field/Field.js +1 -1
  185. package/dist/Field/FieldLabel.d.ts +4 -3
  186. package/dist/Field/FieldLabel.d.ts.map +1 -1
  187. package/dist/Field/FieldLabel.js +48 -5
  188. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  189. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  190. package/dist/FieldStatus/FieldStatus.js +13 -17
  191. package/dist/FieldStatus/index.d.ts +19 -1
  192. package/dist/FieldStatus/index.d.ts.map +1 -1
  193. package/dist/FieldStatus/index.js +14 -0
  194. package/dist/FileInput/FileInput.js +1 -1
  195. package/dist/FormLayout/FormLayout.d.ts +1 -1
  196. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  197. package/dist/FormLayout/FormLayout.js +1 -1
  198. package/dist/Grid/Grid.d.ts +2 -10
  199. package/dist/Grid/Grid.d.ts.map +1 -1
  200. package/dist/Grid/Grid.js +1 -10
  201. package/dist/Grid/GridSpan.d.ts +1 -1
  202. package/dist/Grid/GridSpan.js +1 -1
  203. package/dist/HStack/HStack.d.ts +1 -1
  204. package/dist/HStack/HStack.js +1 -1
  205. package/dist/Heading/Heading.d.ts +2 -2
  206. package/dist/Heading/Heading.d.ts.map +1 -1
  207. package/dist/Heading/Heading.js +5 -4
  208. package/dist/HoverCard/HoverCard.d.ts +1 -1
  209. package/dist/HoverCard/HoverCard.js +1 -1
  210. package/dist/Icon/Icon.d.ts +1 -1
  211. package/dist/Icon/Icon.d.ts.map +1 -1
  212. package/dist/Icon/Icon.js +4 -2
  213. package/dist/Icon/defaultIcons.d.ts.map +1 -1
  214. package/dist/Icon/defaultIcons.js +14 -0
  215. package/dist/Icon/globalIconRegistry.d.ts +48 -6
  216. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  217. package/dist/Icon/globalIconRegistry.js +74 -7
  218. package/dist/Icon/index.d.ts +4 -3
  219. package/dist/Icon/index.d.ts.map +1 -1
  220. package/dist/Icon/index.js +2 -1
  221. package/dist/Icon/useIcon.d.ts +14 -0
  222. package/dist/Icon/useIcon.d.ts.map +1 -0
  223. package/dist/Icon/useIcon.js +21 -0
  224. package/dist/IconButton/IconButton.d.ts +1 -1
  225. package/dist/IconButton/IconButton.js +1 -1
  226. package/dist/InputGroup/InputGroup.d.ts +1 -1
  227. package/dist/InputGroup/InputGroup.js +1 -1
  228. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  229. package/dist/InputGroup/InputGroupText.js +1 -1
  230. package/dist/Item/Item.d.ts +17 -4
  231. package/dist/Item/Item.d.ts.map +1 -1
  232. package/dist/Item/Item.js +32 -7
  233. package/dist/Kbd/Kbd.d.ts +1 -1
  234. package/dist/Kbd/Kbd.js +1 -1
  235. package/dist/Layout/Layout.d.ts +1 -1
  236. package/dist/Layout/Layout.js +1 -1
  237. package/dist/Layout/LayoutContent.d.ts +1 -1
  238. package/dist/Layout/LayoutContent.js +1 -1
  239. package/dist/Layout/LayoutFooter.d.ts +1 -1
  240. package/dist/Layout/LayoutFooter.js +1 -1
  241. package/dist/Layout/LayoutHeader.d.ts +1 -1
  242. package/dist/Layout/LayoutHeader.js +1 -1
  243. package/dist/Layout/LayoutPanel.d.ts +1 -1
  244. package/dist/Layout/LayoutPanel.js +1 -1
  245. package/dist/Lightbox/Lightbox.d.ts +6 -4
  246. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  247. package/dist/Lightbox/Lightbox.js +117 -26
  248. package/dist/Link/Link.d.ts +1 -1
  249. package/dist/Link/Link.js +1 -1
  250. package/dist/Link/LinkProvider.d.ts +2 -2
  251. package/dist/Link/LinkProvider.js +2 -2
  252. package/dist/List/List.d.ts +1 -1
  253. package/dist/List/List.js +1 -1
  254. package/dist/List/ListItem.d.ts +12 -2
  255. package/dist/List/ListItem.d.ts.map +1 -1
  256. package/dist/List/ListItem.js +3 -1
  257. package/dist/Markdown/Markdown.d.ts.map +1 -1
  258. package/dist/Markdown/Markdown.js +35 -13
  259. package/dist/MetadataList/MetadataList.d.ts +2 -2
  260. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  261. package/dist/MetadataList/MetadataList.js +38 -12
  262. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  263. package/dist/MetadataList/MetadataListItem.js +1 -1
  264. package/dist/MobileNav/MobileNav.d.ts +1 -1
  265. package/dist/MobileNav/MobileNav.js +1 -1
  266. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  267. package/dist/MoreMenu/MoreMenu.js +3 -3
  268. package/dist/MultiSelector/MultiSelector.d.ts +13 -4
  269. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  270. package/dist/MultiSelector/MultiSelector.js +118 -24
  271. package/dist/NavIcon/NavIcon.d.ts +1 -1
  272. package/dist/NavIcon/NavIcon.js +1 -1
  273. package/dist/NavMenu/index.d.ts +0 -2
  274. package/dist/NavMenu/index.d.ts.map +1 -1
  275. package/dist/NavMenu/index.js +1 -3
  276. package/dist/NumberInput/NumberInput.d.ts +1 -1
  277. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  278. package/dist/NumberInput/NumberInput.js +16 -5
  279. package/dist/Outline/Outline.js +1 -1
  280. package/dist/OverflowList/OverflowList.d.ts +1 -1
  281. package/dist/OverflowList/OverflowList.js +1 -1
  282. package/dist/Pagination/Pagination.d.ts +26 -21
  283. package/dist/Pagination/Pagination.d.ts.map +1 -1
  284. package/dist/Pagination/Pagination.js +169 -41
  285. package/dist/Pagination/index.d.ts +22 -1
  286. package/dist/Pagination/index.d.ts.map +1 -1
  287. package/dist/Pagination/index.js +14 -0
  288. package/dist/Popover/Popover.d.ts +20 -3
  289. package/dist/Popover/Popover.d.ts.map +1 -1
  290. package/dist/Popover/Popover.js +5 -1
  291. package/dist/Popover/usePopover.d.ts.map +1 -1
  292. package/dist/Popover/usePopover.js +14 -3
  293. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  294. package/dist/PowerSearch/PowerSearch.js +1 -1
  295. package/dist/ProgressBar/ProgressBar.d.ts +49 -22
  296. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  297. package/dist/ProgressBar/ProgressBar.js +79 -22
  298. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts +27 -0
  299. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts.map +1 -0
  300. package/dist/ProgressBar/ProgressBarMarkTooltip.js +35 -0
  301. package/dist/ProgressBar/index.d.ts +21 -1
  302. package/dist/ProgressBar/index.d.ts.map +1 -1
  303. package/dist/ProgressBar/index.js +14 -0
  304. package/dist/RadioList/RadioList.d.ts +1 -1
  305. package/dist/RadioList/RadioList.js +1 -1
  306. package/dist/RadioList/RadioListItem.d.ts +1 -1
  307. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  308. package/dist/RadioList/RadioListItem.js +2 -2
  309. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  310. package/dist/Resizable/ResizeHandle.js +15 -11
  311. package/dist/Section/Section.d.ts +2 -19
  312. package/dist/Section/Section.d.ts.map +1 -1
  313. package/dist/Section/Section.js +1 -15
  314. package/dist/Section/index.d.ts +19 -1
  315. package/dist/Section/index.d.ts.map +1 -1
  316. package/dist/Section/index.js +14 -0
  317. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  318. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  319. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  320. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  321. package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
  322. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  323. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  324. package/dist/SelectableCard/SelectableCard.js +15 -3
  325. package/dist/Selector/Selector.d.ts +12 -3
  326. package/dist/Selector/Selector.d.ts.map +1 -1
  327. package/dist/Selector/Selector.js +109 -21
  328. package/dist/SideNav/SideNav.d.ts +1 -1
  329. package/dist/SideNav/SideNav.js +1 -1
  330. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  331. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  332. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  333. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  334. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  335. package/dist/SideNav/SideNavHeading.js +8 -7
  336. package/dist/SideNav/SideNavItem.d.ts +2 -2
  337. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  338. package/dist/SideNav/SideNavItem.js +6 -7
  339. package/dist/SideNav/SideNavSection.d.ts +1 -1
  340. package/dist/SideNav/SideNavSection.js +1 -1
  341. package/dist/Skeleton/Skeleton.d.ts +1 -1
  342. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  343. package/dist/Skeleton/Skeleton.js +3 -3
  344. package/dist/Slider/Slider.d.ts.map +1 -1
  345. package/dist/Slider/Slider.js +78 -68
  346. package/dist/Spinner/Spinner.d.ts +1 -1
  347. package/dist/Spinner/Spinner.js +1 -1
  348. package/dist/Stack/Stack.d.ts +1 -1
  349. package/dist/Stack/Stack.js +1 -1
  350. package/dist/Stack/StackItem.d.ts +1 -1
  351. package/dist/Stack/StackItem.js +1 -1
  352. package/dist/StatusDot/StatusDot.d.ts +1 -20
  353. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  354. package/dist/StatusDot/StatusDot.js +2 -17
  355. package/dist/StatusDot/index.d.ts +21 -1
  356. package/dist/StatusDot/index.d.ts.map +1 -1
  357. package/dist/StatusDot/index.js +14 -0
  358. package/dist/Switch/Switch.d.ts +2 -6
  359. package/dist/Switch/Switch.d.ts.map +1 -1
  360. package/dist/Switch/Switch.js +18 -10
  361. package/dist/TabList/Tab.d.ts +1 -1
  362. package/dist/TabList/Tab.js +1 -1
  363. package/dist/TabList/TabList.d.ts +1 -1
  364. package/dist/TabList/TabList.js +1 -1
  365. package/dist/TabList/TabMenu.d.ts +1 -1
  366. package/dist/TabList/TabMenu.d.ts.map +1 -1
  367. package/dist/TabList/TabMenu.js +11 -3
  368. package/dist/Table/BaseTable.d.ts +1 -1
  369. package/dist/Table/BaseTable.d.ts.map +1 -1
  370. package/dist/Table/BaseTable.js +4 -7
  371. package/dist/Table/Table.d.ts +1 -1
  372. package/dist/Table/Table.js +1 -1
  373. package/dist/Table/TableCell.d.ts +1 -1
  374. package/dist/Table/TableCell.js +4 -2
  375. package/dist/Table/TableHeaderCell.d.ts +1 -1
  376. package/dist/Table/TableHeaderCell.js +4 -2
  377. package/dist/Table/TableRow.d.ts +1 -1
  378. package/dist/Table/TableRow.js +1 -1
  379. package/dist/Table/index.d.ts +1 -1
  380. package/dist/Table/index.d.ts.map +1 -1
  381. package/dist/Table/index.js +1 -1
  382. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
  383. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
  384. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  385. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  386. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -4
  387. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  388. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  389. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  390. package/dist/Table/types.d.ts +0 -9
  391. package/dist/Table/types.d.ts.map +1 -1
  392. package/dist/Text/Text.d.ts +11 -2
  393. package/dist/Text/Text.d.ts.map +1 -1
  394. package/dist/Text/Text.js +26 -3
  395. package/dist/Text/index.d.ts +31 -1
  396. package/dist/Text/index.d.ts.map +1 -1
  397. package/dist/Text/index.js +23 -0
  398. package/dist/TextArea/TextArea.d.ts +1 -1
  399. package/dist/TextArea/TextArea.d.ts.map +1 -1
  400. package/dist/TextArea/TextArea.js +107 -39
  401. package/dist/TextInput/TextInput.d.ts +1 -1
  402. package/dist/TextInput/TextInput.js +1 -1
  403. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  404. package/dist/Thumbnail/Thumbnail.js +52 -46
  405. package/dist/TimeInput/TimeInput.js +1 -1
  406. package/dist/Timestamp/Timestamp.d.ts +26 -12
  407. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  408. package/dist/Timestamp/Timestamp.js +128 -65
  409. package/dist/Timestamp/TimestampHoverCard.d.ts +45 -0
  410. package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -0
  411. package/dist/Timestamp/TimestampHoverCard.js +228 -0
  412. package/dist/Timestamp/formatInstant.d.ts +3 -3
  413. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  414. package/dist/Timestamp/formatInstant.js +7 -2
  415. package/dist/Timestamp/tooltipEntries.d.ts +17 -2
  416. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  417. package/dist/Timestamp/tooltipEntries.js +4 -2
  418. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  419. package/dist/Toast/ToastViewport.js +61 -9
  420. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  421. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  422. package/dist/ToggleButton/ToggleButton.js +4 -2
  423. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  424. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  425. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  426. package/dist/Token/Token.d.ts +6 -28
  427. package/dist/Token/Token.d.ts.map +1 -1
  428. package/dist/Token/Token.js +69 -58
  429. package/dist/Token/TokenLink.d.ts +62 -0
  430. package/dist/Token/TokenLink.d.ts.map +1 -0
  431. package/dist/Token/TokenLink.js +76 -0
  432. package/dist/Token/index.d.ts +27 -1
  433. package/dist/Token/index.d.ts.map +1 -1
  434. package/dist/Token/index.js +14 -0
  435. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  436. package/dist/Tokenizer/Tokenizer.js +1 -1
  437. package/dist/Toolbar/Toolbar.d.ts +1 -1
  438. package/dist/Toolbar/Toolbar.js +1 -1
  439. package/dist/Tooltip/Tooltip.d.ts +1 -1
  440. package/dist/Tooltip/Tooltip.js +1 -1
  441. package/dist/TopNav/TopNav.d.ts +1 -1
  442. package/dist/TopNav/TopNav.js +1 -1
  443. package/dist/TopNav/TopNavHeading.d.ts +2 -8
  444. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  445. package/dist/TopNav/TopNavHeading.js +8 -10
  446. package/dist/TopNav/TopNavItem.d.ts +1 -1
  447. package/dist/TopNav/TopNavItem.js +1 -1
  448. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  449. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  450. package/dist/TopNav/TopNavMegaMenu.js +15 -7
  451. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  452. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  453. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  454. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  455. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  456. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  457. package/dist/TopNav/TopNavMenu.js +5 -4
  458. package/dist/TreeList/TreeList.d.ts +1 -1
  459. package/dist/TreeList/TreeList.js +1 -1
  460. package/dist/TreeList/TreeListBranches.js +1 -1
  461. package/dist/TreeList/TreeListItem.d.ts +1 -1
  462. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  463. package/dist/TreeList/TreeListItem.js +4 -3
  464. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  465. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  466. package/dist/TreeList/index.d.ts +18 -1
  467. package/dist/TreeList/index.d.ts.map +1 -1
  468. package/dist/TreeList/index.js +14 -0
  469. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  470. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  471. package/dist/Typeahead/BaseTypeahead.js +3 -1
  472. package/dist/Typeahead/Typeahead.d.ts +1 -1
  473. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  474. package/dist/Typeahead/Typeahead.js +9 -2
  475. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  476. package/dist/Typeahead/TypeaheadItem.js +1 -1
  477. package/dist/VStack/VStack.d.ts +1 -1
  478. package/dist/VStack/VStack.js +1 -1
  479. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  480. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  481. package/dist/astryx.css +111 -33
  482. package/dist/astryx.umd.js +50 -54
  483. package/dist/astryx.umd.js.map +4 -4
  484. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  485. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  486. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  487. package/dist/hooks/index.d.ts +2 -0
  488. package/dist/hooks/index.d.ts.map +1 -1
  489. package/dist/hooks/index.js +2 -1
  490. package/dist/hooks/useContainerReveal.d.ts +83 -0
  491. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  492. package/dist/hooks/useContainerReveal.js +123 -0
  493. package/dist/hooks/useGridFocus.d.ts +8 -6
  494. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  495. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  496. package/dist/hooks/useInputContainer.js +29 -1
  497. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  498. package/dist/hooks/useInputStatusIcon.js +11 -0
  499. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  500. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  501. package/dist/hooks/useKeyboardHint.js +5 -3
  502. package/dist/hooks/useListFocus.d.ts +8 -7
  503. package/dist/hooks/useListFocus.d.ts.map +1 -1
  504. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  505. package/dist/hooks/useTreeFocus.js +13 -2
  506. package/dist/i18n/InternationalizationProvider.d.ts +6 -0
  507. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  508. package/dist/i18n/useDirection.d.ts.map +1 -1
  509. package/dist/i18n/useDirection.js +6 -3
  510. package/dist/index.d.ts +2 -1
  511. package/dist/index.d.ts.map +1 -1
  512. package/dist/index.js +3 -3
  513. package/dist/theme/Theme.d.ts.map +1 -1
  514. package/dist/theme/Theme.js +2 -7
  515. package/dist/theme/contrast.d.ts +45 -0
  516. package/dist/theme/contrast.d.ts.map +1 -0
  517. package/dist/theme/contrast.js +88 -0
  518. package/dist/theme/defineTheme.d.ts +9 -3
  519. package/dist/theme/defineTheme.d.ts.map +1 -1
  520. package/dist/theme/defineTheme.js +6 -4
  521. package/dist/theme/expandColorScale.d.ts +29 -2
  522. package/dist/theme/expandColorScale.d.ts.map +1 -1
  523. package/dist/theme/expandColorScale.js +91 -12
  524. package/dist/theme/generateThemeRules.d.ts +0 -6
  525. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  526. package/dist/theme/generateThemeRules.js +0 -15
  527. package/dist/theme/index.d.ts +9 -7
  528. package/dist/theme/index.d.ts.map +1 -1
  529. package/dist/theme/index.js +4 -3
  530. package/dist/theme/themeRegistry.d.ts +32 -0
  531. package/dist/theme/themeRegistry.d.ts.map +1 -0
  532. package/dist/theme/themeRegistry.js +49 -0
  533. package/dist/theme/tokens.stylex.d.ts +0 -17
  534. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  535. package/dist/theme/tokens.stylex.js +0 -22
  536. package/dist/theme/types.d.ts +10 -2
  537. package/dist/theme/types.d.ts.map +1 -1
  538. package/dist/theme/useTheme.d.ts +9 -0
  539. package/dist/theme/useTheme.d.ts.map +1 -1
  540. package/dist/theme/useTheme.js +82 -27
  541. package/dist/utils/rtlStyles.d.ts +21 -0
  542. package/dist/utils/rtlStyles.d.ts.map +1 -1
  543. package/dist/utils/rtlStyles.js +26 -1
  544. package/groups.doc.mjs +2 -2
  545. package/locales/en.json +124 -0
  546. package/locales/pseudo.json +93 -0
  547. package/package.json +10 -14
  548. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  549. package/src/AlertDialog/AlertDialog.tsx +1 -1
  550. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  551. package/src/AppShell/AppShell.doc.mjs +3 -3
  552. package/src/AppShell/AppShell.test.tsx +55 -0
  553. package/src/AppShell/AppShell.tsx +27 -22
  554. package/src/AppShell/index.ts +20 -1
  555. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  556. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  557. package/src/AspectRatio/AspectRatio.tsx +1 -1
  558. package/src/Avatar/Avatar.doc.mjs +3 -3
  559. package/src/Avatar/Avatar.tsx +8 -3
  560. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  561. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  562. package/src/Avatar/index.ts +26 -1
  563. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  564. package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
  565. package/src/AvatarGroup/AvatarGroup.tsx +3 -7
  566. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  567. package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
  568. package/src/Badge/Badge.doc.mjs +3 -3
  569. package/src/Badge/Badge.tsx +2 -31
  570. package/src/Badge/index.ts +32 -6
  571. package/src/Banner/Banner.doc.mjs +3 -3
  572. package/src/Banner/Banner.tsx +8 -45
  573. package/src/Banner/index.ts +39 -7
  574. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  575. package/src/Blockquote/Blockquote.tsx +1 -1
  576. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  577. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  578. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  579. package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
  580. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  581. package/src/Breadcrumbs/index.ts +19 -5
  582. package/src/Button/Button.doc.mjs +3 -3
  583. package/src/Button/Button.test.tsx +16 -0
  584. package/src/Button/Button.tsx +6 -23
  585. package/src/Button/index.ts +22 -7
  586. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  587. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  588. package/src/Calendar/Calendar.doc.mjs +3 -3
  589. package/src/Calendar/Calendar.test.tsx +22 -6
  590. package/src/Calendar/Calendar.tsx +1 -1
  591. package/src/Calendar/index.ts +1 -6
  592. package/src/Calendar/styles.ts +2 -2
  593. package/src/Calendar/utils.ts +0 -11
  594. package/src/Card/Card.doc.mjs +3 -3
  595. package/src/Card/Card.tsx +1 -1
  596. package/src/Carousel/Carousel.doc.mjs +10 -3
  597. package/src/Carousel/Carousel.test.tsx +232 -1
  598. package/src/Carousel/Carousel.tsx +144 -21
  599. package/src/Carousel/index.ts +1 -1
  600. package/src/Center/Center.doc.mjs +41 -3
  601. package/src/Center/Center.test.tsx +75 -0
  602. package/src/Center/Center.tsx +38 -3
  603. package/src/Chat/Chat.doc.mjs +3 -3
  604. package/src/Chat/ChatComposer.doc.mjs +1 -1
  605. package/src/Chat/ChatComposer.tsx +5 -5
  606. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  607. package/src/Chat/ChatComposerDrawer.tsx +5 -5
  608. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  609. package/src/Chat/ChatComposerInput.tsx +1 -1
  610. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  611. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  612. package/src/Chat/ChatDictationButton.tsx +1 -1
  613. package/src/Chat/ChatLayout.doc.mjs +1 -1
  614. package/src/Chat/ChatLayout.test.tsx +57 -0
  615. package/src/Chat/ChatLayout.tsx +23 -2
  616. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  617. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  618. package/src/Chat/ChatMessage.doc.mjs +1 -1
  619. package/src/Chat/ChatMessage.tsx +1 -1
  620. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  621. package/src/Chat/ChatMessageBubble.tsx +1 -1
  622. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  623. package/src/Chat/ChatMessageList.tsx +1 -1
  624. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  625. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  626. package/src/Chat/ChatSendButton.tsx +5 -3
  627. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  628. package/src/Chat/ChatSystemMessage.tsx +1 -1
  629. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  630. package/src/Chat/ChatTokenizedText.tsx +1 -1
  631. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  632. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  633. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  634. package/src/CheckboxInput/CheckboxInput.tsx +18 -3
  635. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  636. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  637. package/src/CheckboxList/CheckboxList.tsx +1 -1
  638. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  639. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  640. package/src/Citation/Citation.doc.mjs +2 -2
  641. package/src/Citation/Citation.tsx +1 -1
  642. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  643. package/src/ClickableCard/ClickableCard.tsx +3 -3
  644. package/src/Code/Code.tsx +2 -2
  645. package/src/CodeBlock/Code.doc.mjs +1 -1
  646. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  647. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  648. package/src/CodeBlock/CodeBlock.tsx +2 -2
  649. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  650. package/src/Collapsible/Collapsible.tsx +3 -3
  651. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  652. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  653. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  654. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  655. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  656. package/src/CommandPalette/CommandPalette.tsx +1 -1
  657. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  658. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  659. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  660. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  661. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  662. package/src/CommandPalette/CommandPaletteGroup.test.tsx +6 -2
  663. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  664. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  665. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  666. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  667. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  668. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  669. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  670. package/src/ComplexSelector/ComplexSelector.doc.mjs +179 -0
  671. package/src/ComplexSelector/ComplexSelector.test.tsx +156 -0
  672. package/src/ComplexSelector/ComplexSelector.tsx +429 -0
  673. package/src/ComplexSelector/index.ts +17 -0
  674. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  675. package/src/ContextMenu/ContextMenu.test.tsx +17 -2
  676. package/src/ContextMenu/ContextMenu.tsx +27 -6
  677. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  678. package/src/DateInput/DateInput.doc.mjs +3 -3
  679. package/src/DateInput/DateInput.test.tsx +7 -3
  680. package/src/DateInput/DateInput.tsx +1 -1
  681. package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
  682. package/src/DateRangeInput/DateRangeInput.test.tsx +7 -2
  683. package/src/DateRangeInput/DateRangeInput.tsx +1 -1
  684. package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
  685. package/src/DateTimeInput/DateTimeInput.test.tsx +6 -2
  686. package/src/DateTimeInput/DateTimeInput.tsx +1 -1
  687. package/src/Dialog/Dialog.doc.mjs +7 -5
  688. package/src/Dialog/Dialog.test.tsx +46 -3
  689. package/src/Dialog/Dialog.tsx +61 -44
  690. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  691. package/src/Dialog/DialogHeader.tsx +1 -1
  692. package/src/Dialog/index.ts +18 -1
  693. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  694. package/src/Divider/Divider.doc.mjs +3 -3
  695. package/src/Divider/Divider.tsx +2 -19
  696. package/src/Divider/index.ts +19 -5
  697. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  698. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  699. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  700. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  701. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  702. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  703. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  704. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  705. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  706. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  707. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
  708. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  709. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  710. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  711. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  712. package/src/DropdownMenu/menuItemHover.ts +1 -0
  713. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  714. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  715. package/src/EmptyState/EmptyState.tsx +1 -1
  716. package/src/Field/Field.doc.mjs +7 -3
  717. package/src/Field/Field.tsx +1 -1
  718. package/src/Field/FieldLabel.doc.mjs +1 -1
  719. package/src/Field/FieldLabel.test.tsx +103 -0
  720. package/src/Field/FieldLabel.tsx +61 -5
  721. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  722. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  723. package/src/FieldStatus/FieldStatus.tsx +16 -23
  724. package/src/FieldStatus/index.ts +20 -5
  725. package/src/FileInput/FileInput.doc.mjs +3 -3
  726. package/src/FileInput/FileInput.tsx +1 -1
  727. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  728. package/src/FormLayout/FormLayout.tsx +2 -5
  729. package/src/Grid/Grid.doc.mjs +3 -8
  730. package/src/Grid/Grid.tsx +1 -25
  731. package/src/Grid/GridSpan.doc.mjs +1 -1
  732. package/src/Grid/GridSpan.tsx +1 -1
  733. package/src/HStack/HStack.tsx +1 -1
  734. package/src/Heading/Heading.tsx +4 -3
  735. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  736. package/src/HoverCard/HoverCard.tsx +1 -1
  737. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  738. package/src/Icon/Icon.doc.mjs +7 -6
  739. package/src/Icon/Icon.test.tsx +23 -0
  740. package/src/Icon/Icon.tsx +4 -2
  741. package/src/Icon/defaultIcons.tsx +14 -0
  742. package/src/Icon/globalIconRegistry.test.tsx +87 -1
  743. package/src/Icon/globalIconRegistry.tsx +111 -9
  744. package/src/Icon/index.ts +9 -7
  745. package/src/Icon/useIcon.ts +23 -0
  746. package/src/IconButton/IconButton.doc.mjs +2 -2
  747. package/src/IconButton/IconButton.tsx +1 -1
  748. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  749. package/src/InputGroup/InputGroup.tsx +1 -1
  750. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  751. package/src/InputGroup/InputGroupText.tsx +1 -1
  752. package/src/Item/Item.doc.mjs +8 -3
  753. package/src/Item/Item.test.tsx +88 -0
  754. package/src/Item/Item.tsx +58 -12
  755. package/src/Kbd/Kbd.doc.mjs +3 -3
  756. package/src/Kbd/Kbd.tsx +1 -1
  757. package/src/Layer/Layer.doc.mjs +2 -2
  758. package/src/Layer/useLayer.doc.mjs +2 -2
  759. package/src/Layout/Layout.doc.mjs +3 -3
  760. package/src/Layout/Layout.tsx +1 -1
  761. package/src/Layout/LayoutContent.doc.mjs +1 -1
  762. package/src/Layout/LayoutContent.tsx +1 -1
  763. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  764. package/src/Layout/LayoutFooter.tsx +1 -1
  765. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  766. package/src/Layout/LayoutHeader.tsx +1 -1
  767. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  768. package/src/Layout/LayoutPanel.tsx +1 -1
  769. package/src/Lightbox/Lightbox.doc.mjs +5 -5
  770. package/src/Lightbox/Lightbox.test.tsx +211 -0
  771. package/src/Lightbox/Lightbox.tsx +109 -22
  772. package/src/Link/Link.doc.mjs +3 -3
  773. package/src/Link/Link.tsx +1 -1
  774. package/src/Link/LinkProvider.doc.mjs +2 -2
  775. package/src/Link/LinkProvider.tsx +2 -2
  776. package/src/List/List.doc.mjs +3 -3
  777. package/src/List/List.tsx +1 -1
  778. package/src/List/ListItem.doc.mjs +13 -1
  779. package/src/List/ListItem.tsx +14 -1
  780. package/src/Markdown/Markdown.doc.mjs +81 -1
  781. package/src/Markdown/Markdown.test.tsx +92 -0
  782. package/src/Markdown/Markdown.tsx +96 -68
  783. package/src/Markdown/parser.perf.test.ts +47 -35
  784. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  785. package/src/MetadataList/MetadataList.test.tsx +82 -0
  786. package/src/MetadataList/MetadataList.tsx +45 -20
  787. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  788. package/src/MetadataList/MetadataListItem.tsx +1 -1
  789. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  790. package/src/MobileNav/MobileNav.tsx +1 -1
  791. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  792. package/src/MoreMenu/MoreMenu.tsx +3 -3
  793. package/src/MultiSelector/MultiSelector.doc.mjs +35 -10
  794. package/src/MultiSelector/MultiSelector.test.tsx +303 -3
  795. package/src/MultiSelector/MultiSelector.tsx +223 -58
  796. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  797. package/src/NavIcon/NavIcon.tsx +1 -1
  798. package/src/NavMenu/NavHeadingMenu.test.tsx +0 -16
  799. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  800. package/src/NavMenu/index.ts +0 -4
  801. package/src/NumberInput/NumberInput.doc.mjs +3 -6
  802. package/src/NumberInput/NumberInput.test.tsx +38 -3
  803. package/src/NumberInput/NumberInput.tsx +24 -1
  804. package/src/Outline/Outline.doc.mjs +3 -3
  805. package/src/Outline/Outline.tsx +1 -1
  806. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  807. package/src/OverflowList/OverflowList.tsx +1 -1
  808. package/src/Overlay/Overlay.doc.mjs +2 -2
  809. package/src/Pagination/Pagination.doc.mjs +55 -8
  810. package/src/Pagination/Pagination.test.tsx +567 -0
  811. package/src/Pagination/Pagination.tsx +223 -41
  812. package/src/Pagination/index.ts +22 -1
  813. package/src/Popover/Popover.doc.mjs +31 -3
  814. package/src/Popover/Popover.test.tsx +41 -0
  815. package/src/Popover/Popover.tsx +25 -2
  816. package/src/Popover/usePopover.doc.mjs +2 -2
  817. package/src/Popover/usePopover.tsx +10 -4
  818. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  819. package/src/PowerSearch/PowerSearch.tsx +1 -1
  820. package/src/ProgressBar/ProgressBar.doc.mjs +18 -3
  821. package/src/ProgressBar/ProgressBar.test.tsx +340 -2
  822. package/src/ProgressBar/ProgressBar.tsx +153 -25
  823. package/src/ProgressBar/ProgressBarMarkTooltip.tsx +43 -0
  824. package/src/ProgressBar/index.ts +22 -1
  825. package/src/RadioList/RadioList.doc.mjs +3 -3
  826. package/src/RadioList/RadioList.test.tsx +26 -4
  827. package/src/RadioList/RadioList.tsx +1 -1
  828. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  829. package/src/RadioList/RadioListItem.tsx +9 -2
  830. package/src/Resizable/Resizable.doc.mjs +2 -2
  831. package/src/Resizable/ResizeHandle.test.tsx +52 -3
  832. package/src/Resizable/ResizeHandle.tsx +25 -13
  833. package/src/Resizable/useResizable.doc.mjs +2 -2
  834. package/src/Section/Section.doc.mjs +3 -3
  835. package/src/Section/Section.tsx +2 -20
  836. package/src/Section/index.ts +20 -5
  837. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  838. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  839. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  840. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  841. package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
  842. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  843. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  844. package/src/SelectableCard/SelectableCard.tsx +19 -3
  845. package/src/Selector/Selector.doc.mjs +28 -8
  846. package/src/Selector/Selector.test.tsx +222 -3
  847. package/src/Selector/Selector.tsx +202 -52
  848. package/src/Selector/SelectorOption.doc.mjs +1 -1
  849. package/src/SideNav/SideNav.doc.mjs +3 -3
  850. package/src/SideNav/SideNav.tsx +1 -1
  851. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  852. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  853. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  854. package/src/SideNav/SideNavHeading.tsx +8 -9
  855. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  856. package/src/SideNav/SideNavItem.tsx +5 -6
  857. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  858. package/src/SideNav/SideNavSection.tsx +1 -1
  859. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  860. package/src/Skeleton/Skeleton.test.tsx +16 -0
  861. package/src/Skeleton/Skeleton.tsx +14 -2
  862. package/src/Slider/Slider.doc.mjs +3 -3
  863. package/src/Slider/Slider.tsx +9 -13
  864. package/src/Spinner/Spinner.doc.mjs +3 -3
  865. package/src/Spinner/Spinner.tsx +1 -1
  866. package/src/Stack/Stack.doc.mjs +3 -3
  867. package/src/Stack/Stack.tsx +1 -1
  868. package/src/Stack/StackItem.tsx +1 -1
  869. package/src/StatusDot/StatusDot.doc.mjs +3 -3
  870. package/src/StatusDot/StatusDot.tsx +2 -22
  871. package/src/StatusDot/index.ts +22 -5
  872. package/src/Switch/Switch.doc.mjs +5 -5
  873. package/src/Switch/Switch.test.tsx +71 -25
  874. package/src/Switch/Switch.tsx +56 -18
  875. package/src/TabList/Tab.doc.mjs +1 -1
  876. package/src/TabList/Tab.tsx +1 -1
  877. package/src/TabList/TabList.doc.mjs +3 -3
  878. package/src/TabList/TabList.test.tsx +21 -18
  879. package/src/TabList/TabList.tsx +1 -1
  880. package/src/TabList/TabMenu.doc.mjs +1 -1
  881. package/src/TabList/TabMenu.tsx +11 -3
  882. package/src/Table/BaseTable.tsx +4 -5
  883. package/src/Table/Table.doc.mjs +5 -5
  884. package/src/Table/Table.test.tsx +27 -49
  885. package/src/Table/Table.tsx +1 -1
  886. package/src/Table/TableCell.doc.mjs +1 -1
  887. package/src/Table/TableCell.tsx +2 -2
  888. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  889. package/src/Table/TableHeaderCell.tsx +2 -2
  890. package/src/Table/TableRow.doc.mjs +1 -1
  891. package/src/Table/TableRow.tsx +1 -1
  892. package/src/Table/index.ts +1 -1
  893. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
  894. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  895. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +24 -4
  896. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  897. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  898. package/src/Table/types.ts +0 -9
  899. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  900. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  901. package/src/Table/useTableFilterState.doc.mjs +1 -1
  902. package/src/Table/useTableFiltering.doc.mjs +1 -1
  903. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  904. package/src/Table/useTablePagination.doc.mjs +1 -1
  905. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  906. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  907. package/src/Table/useTableRowStatus.doc.mjs +3 -3
  908. package/src/Table/useTableSelection.doc.mjs +1 -1
  909. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  910. package/src/Table/useTableSortable.doc.mjs +1 -1
  911. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  912. package/src/Table/useTableTreeData.doc.mjs +10 -1
  913. package/src/Table/useTableTreeState.doc.mjs +1 -1
  914. package/src/Text/Heading.doc.mjs +4 -4
  915. package/src/Text/Text.doc.mjs +4 -4
  916. package/src/Text/Text.test.tsx +42 -0
  917. package/src/Text/Text.tsx +26 -2
  918. package/src/Text/index.ts +32 -6
  919. package/src/TextArea/TextArea.doc.mjs +5 -5
  920. package/src/TextArea/TextArea.test.tsx +112 -7
  921. package/src/TextArea/TextArea.tsx +143 -50
  922. package/src/TextInput/TextInput.doc.mjs +3 -3
  923. package/src/TextInput/TextInput.tsx +1 -1
  924. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  925. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  926. package/src/Thumbnail/Thumbnail.tsx +28 -35
  927. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  928. package/src/TimeInput/TimeInput.tsx +1 -1
  929. package/src/Timestamp/Timestamp.doc.mjs +29 -24
  930. package/src/Timestamp/Timestamp.test.tsx +438 -107
  931. package/src/Timestamp/Timestamp.tsx +167 -103
  932. package/src/Timestamp/TimestampHoverCard.tsx +283 -0
  933. package/src/Timestamp/formatInstant.ts +9 -4
  934. package/src/Timestamp/tooltipEntries.test.ts +9 -0
  935. package/src/Timestamp/tooltipEntries.ts +18 -2
  936. package/src/Toast/Toast.doc.mjs +3 -3
  937. package/src/Toast/ToastViewport.test.tsx +218 -8
  938. package/src/Toast/ToastViewport.tsx +71 -12
  939. package/src/Toast/useToast.doc.mjs +2 -2
  940. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  941. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  942. package/src/ToggleButton/ToggleButton.tsx +20 -2
  943. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  944. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  945. package/src/Token/Token.doc.mjs +3 -3
  946. package/src/Token/Token.test.tsx +145 -0
  947. package/src/Token/Token.tsx +75 -61
  948. package/src/Token/TokenLink.tsx +107 -0
  949. package/src/Token/index.ts +28 -1
  950. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  951. package/src/Tokenizer/Tokenizer.tsx +1 -1
  952. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  953. package/src/Toolbar/Toolbar.tsx +1 -1
  954. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  955. package/src/Tooltip/Tooltip.tsx +1 -1
  956. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  957. package/src/TopNav/TopNav.doc.mjs +3 -3
  958. package/src/TopNav/TopNav.test.tsx +2 -2
  959. package/src/TopNav/TopNav.tsx +1 -1
  960. package/src/TopNav/TopNavHeading.doc.mjs +1 -12
  961. package/src/TopNav/TopNavHeading.tsx +8 -18
  962. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  963. package/src/TopNav/TopNavItem.tsx +1 -1
  964. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  965. package/src/TopNav/TopNavMegaMenu.tsx +32 -6
  966. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  967. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  968. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  969. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  970. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  971. package/src/TopNav/TopNavMenu.tsx +5 -4
  972. package/src/TreeList/TreeList.doc.mjs +3 -3
  973. package/src/TreeList/TreeList.test.tsx +10 -6
  974. package/src/TreeList/TreeList.tsx +1 -1
  975. package/src/TreeList/TreeListBranches.tsx +1 -1
  976. package/src/TreeList/TreeListItem.tsx +4 -3
  977. package/src/TreeList/TreeListTypes.ts +1 -18
  978. package/src/TreeList/index.ts +19 -1
  979. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  980. package/src/Typeahead/BaseTypeahead.tsx +13 -1
  981. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  982. package/src/Typeahead/Typeahead.test.tsx +62 -0
  983. package/src/Typeahead/Typeahead.tsx +7 -1
  984. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  985. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  986. package/src/VStack/VStack.tsx +1 -1
  987. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  988. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  989. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  990. package/src/__tests__/forcedColors.ts +60 -0
  991. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  992. package/src/doc-mjs.d.ts +5 -2
  993. package/src/docPropLiterals.test.ts +1 -1
  994. package/src/docPropReferences.test.ts +1 -1
  995. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  996. package/src/hooks/index.ts +7 -0
  997. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  998. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  999. package/src/hooks/useContainerReveal.test.tsx +116 -0
  1000. package/src/hooks/useContainerReveal.ts +181 -0
  1001. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  1002. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  1003. package/src/hooks/useGridFocus.doc.mjs +2 -2
  1004. package/src/hooks/useGridFocus.ts +8 -6
  1005. package/src/hooks/useHotkeys.doc.mjs +2 -2
  1006. package/src/hooks/useImageMode.doc.mjs +2 -2
  1007. package/src/hooks/useInputContainer.doc.mjs +2 -2
  1008. package/src/hooks/useInputContainer.test.tsx +180 -0
  1009. package/src/hooks/useInputContainer.ts +36 -1
  1010. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  1011. package/src/hooks/useInputStatusIcon.tsx +12 -1
  1012. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  1013. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  1014. package/src/hooks/useKeyboardHint.tsx +7 -3
  1015. package/src/hooks/useListFocus.doc.mjs +2 -2
  1016. package/src/hooks/useListFocus.ts +8 -7
  1017. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  1018. package/src/hooks/useOverflow.doc.mjs +2 -2
  1019. package/src/hooks/useScrollLock.doc.mjs +2 -2
  1020. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  1021. package/src/hooks/useStreamingText.doc.mjs +2 -2
  1022. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  1023. package/src/hooks/useTreeFocus.test.tsx +53 -1
  1024. package/src/hooks/useTreeFocus.ts +13 -2
  1025. package/src/i18n/InternationalizationProvider.doc.mjs +14 -2
  1026. package/src/i18n/InternationalizationProvider.tsx +6 -0
  1027. package/src/i18n/useDirection.ts +6 -3
  1028. package/src/i18n/useTranslator.doc.mjs +2 -2
  1029. package/src/index.ts +2 -18
  1030. package/src/theme/MediaTheme.doc.mjs +2 -2
  1031. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  1032. package/src/theme/Theme.doc.mjs +2 -2
  1033. package/src/theme/Theme.tsx +3 -7
  1034. package/src/theme/contrast.test.ts +94 -0
  1035. package/src/theme/contrast.ts +99 -0
  1036. package/src/theme/defineTheme.test.ts +29 -30
  1037. package/src/theme/defineTheme.ts +11 -5
  1038. package/src/theme/expandColorScale.test.ts +387 -1
  1039. package/src/theme/expandColorScale.ts +126 -17
  1040. package/src/theme/generateThemeRules.ts +0 -15
  1041. package/src/theme/index.ts +11 -13
  1042. package/src/theme/themeRegistry.test.ts +59 -0
  1043. package/src/theme/themeRegistry.ts +53 -0
  1044. package/src/theme/tokens.stylex.ts +0 -19
  1045. package/src/theme/types.ts +14 -13
  1046. package/src/theme/useTheme.doc.mjs +2 -2
  1047. package/src/theme/useTheme.test.tsx +48 -3
  1048. package/src/theme/useTheme.ts +100 -29
  1049. package/src/utils/rtlStyles.ts +22 -0
  1050. package/dist/NavMenu/NavMenuItem.d.ts +0 -13
  1051. package/dist/NavMenu/NavMenuItem.d.ts.map +0 -1
  1052. package/dist/NavMenu/NavMenuItem.js +0 -16
  1053. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  1054. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  1055. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  1056. package/dist/authoring/doc.d.ts +0 -145
  1057. package/dist/authoring/doc.d.ts.map +0 -1
  1058. package/dist/authoring/doc.js +0 -100
  1059. package/dist/authoring/index.d.ts +0 -29
  1060. package/dist/authoring/index.d.ts.map +0 -1
  1061. package/dist/authoring/index.js +0 -28
  1062. package/dist/authoring/integration.d.ts +0 -35
  1063. package/dist/authoring/integration.d.ts.map +0 -1
  1064. package/dist/authoring/integration.js +0 -30
  1065. package/dist/authoring/template.d.ts +0 -66
  1066. package/dist/authoring/template.d.ts.map +0 -1
  1067. package/dist/authoring/template.js +0 -55
  1068. package/dist/config.d.ts +0 -80
  1069. package/dist/config.d.ts.map +0 -1
  1070. package/dist/config.js +0 -40
  1071. package/dist/docs-types.d.ts +0 -969
  1072. package/dist/docs-types.d.ts.map +0 -1
  1073. package/dist/docs-types.js +0 -1
  1074. package/src/NavMenu/NavMenuItem.tsx +0 -19
  1075. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  1076. package/src/authoring/doc.ts +0 -164
  1077. package/src/authoring/index.test.ts +0 -52
  1078. package/src/authoring/index.ts +0 -50
  1079. package/src/authoring/integration.ts +0 -42
  1080. package/src/authoring/template.ts +0 -74
  1081. package/src/config.test.ts +0 -16
  1082. package/src/config.ts +0 -92
  1083. package/src/docs-types.ts +0 -1108
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
  export const docs = {
5
5
  name: 'FieldStatus',
6
6
  displayName: 'Field Status',
@@ -12,6 +12,7 @@ export const docs = {
12
12
  theming: {
13
13
  targets: [
14
14
  {className: 'astryx-field-status', visualProps: ['type', 'variant']},
15
+ {className: 'astryx-field-status-icon', visualProps: ['type']},
15
16
  ],
16
17
  },
17
18
  props: [
@@ -63,7 +64,7 @@ export const docs = {
63
64
  },
64
65
  };
65
66
 
66
- /** @type {import('../docs-types').TranslationDoc} */
67
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
67
68
  export const docsDense = {
68
69
  description:
69
70
  'Validation feedback message for fields/custom controls. Supports error, warning, success and attached/detached variants. Announced via persistent live regions (assertive for errors, polite otherwise).',
@@ -372,6 +372,67 @@ describe('FieldStatus', () => {
372
372
  });
373
373
  });
374
374
 
375
+ describe('field-status-icon theme target', () => {
376
+ // The stable theme target lands on the detached message box's leading glyph
377
+ // itself, so a theme can restyle (e.g. resize) just this icon via
378
+ // `defineTheme`. It reflects the status type as a data attribute so themes
379
+ // can target per status, mirroring the parent astryx-field-status.
380
+ const getStatusIcon = (root: HTMLElement): HTMLElement => {
381
+ const icon = root.querySelector('.astryx-field-status-icon');
382
+ if (icon == null) {
383
+ throw new Error('status icon not found');
384
+ }
385
+ return icon as HTMLElement;
386
+ };
387
+
388
+ it('renders the target on the detached leading icon', () => {
389
+ render(
390
+ <FieldStatus
391
+ type="error"
392
+ message="msg"
393
+ variant="detached"
394
+ data-testid="fs"
395
+ />,
396
+ );
397
+ const icon = getStatusIcon(screen.getByTestId('fs'));
398
+ expect(icon).toHaveClass('astryx-field-status-icon');
399
+ expect(icon).toHaveClass('astryx-icon');
400
+ expect(icon).toHaveAttribute('data-type', 'error');
401
+ });
402
+
403
+ it('reflects the status type per status', () => {
404
+ for (const type of ['error', 'warning', 'success'] as const) {
405
+ const {unmount} = render(
406
+ <FieldStatus
407
+ type={type}
408
+ message="msg"
409
+ variant="detached"
410
+ data-testid="fs"
411
+ />,
412
+ );
413
+ expect(getStatusIcon(screen.getByTestId('fs'))).toHaveAttribute(
414
+ 'data-type',
415
+ type,
416
+ );
417
+ unmount();
418
+ }
419
+ });
420
+
421
+ it('does not render the target for the attached variant', () => {
422
+ render(
423
+ <FieldStatus
424
+ type="error"
425
+ message="msg"
426
+ variant="attached"
427
+ data-testid="fs"
428
+ />,
429
+ );
430
+ expect(
431
+ screen.getByTestId('fs').querySelector('.astryx-field-status-icon'),
432
+ ).toBeNull();
433
+ });
434
+ });
435
+
375
436
  describe('edge cases', () => {
376
437
  it('renders an empty message without crashing', () => {
377
438
  render(<FieldStatus type="error" message="" data-testid="fs" />);
@@ -11,7 +11,7 @@
11
11
  * - /packages/core/src/Field/Field.doc.mjs (compat docs when public API changes)
12
12
  * - /packages/core/src/FieldStatus/index.ts (exports if types change)
13
13
  * - /packages/core/src/Field/index.ts (compat re-export if public API changes)
14
- * - /packages/cli/templates/blocks/components/FieldStatus/ (showcase blocks)
14
+ * - /packages/cli/assets/templates/blocks/components/FieldStatus/ (showcase blocks)
15
15
  */
16
16
 
17
17
  'use client';
@@ -33,6 +33,7 @@ import {useEntryAnimation} from '../hooks/useEntryAnimation';
33
33
  import {themeProps} from '../utils/themeProps';
34
34
  import {Icon} from '../Icon';
35
35
  import type {IconName} from '../Icon';
36
+ import type {FieldStatusVariantMap} from './index';
36
37
 
37
38
  /**
38
39
  * Maps each status type to its status glyph. Mirrors the mapping the input
@@ -56,8 +57,8 @@ const styles = stylex.create({
56
57
  paddingBlockStart: `calc(${spacingVars['--spacing-1-5']} + ${spacingVars['--spacing-2']})`,
57
58
  paddingBlockEnd: spacingVars['--spacing-2'],
58
59
  paddingInline: spacingVars['--spacing-2'],
59
- borderBottomLeftRadius: radiusVars['--radius-element'],
60
- borderBottomRightRadius: radiusVars['--radius-element'],
60
+ borderEndStartRadius: radiusVars['--radius-element'],
61
+ borderEndEndRadius: radiusVars['--radius-element'],
61
62
  },
62
63
  detached: {
63
64
  marginTop: spacingVars['--spacing-1'],
@@ -96,25 +97,6 @@ const colorStyles = stylex.create({
96
97
  },
97
98
  });
98
99
 
99
- /**
100
- * Extensible variant map for FieldStatus.
101
- *
102
- * Theme packages can add custom variants via TypeScript module augmentation:
103
- * @example
104
- * ```
105
- * declare module '@astryxdesign/core/FieldStatus' {
106
- * interface FieldStatusVariantMap {
107
- * 'inline': true;
108
- * }
109
- * }
110
- * ```
111
- */
112
- export interface FieldStatusVariantMap {
113
- attached: true;
114
- detached: true;
115
- tooltip: true;
116
- }
117
-
118
100
  /**
119
101
  * FieldStatus variant type. Extensible via module augmentation of FieldStatusVariantMap.
120
102
  */
@@ -216,7 +198,18 @@ export function FieldStatus({
216
198
  {variant === 'detached' ? (
217
199
  <span {...stylex.props(styles.detachedContent)}>
218
200
  <span {...stylex.props(styles.detachedIcon)}>
219
- <Icon icon={statusIconMap[type]} size="sm" color="inherit" />
201
+ <Icon
202
+ icon={statusIconMap[type]}
203
+ size="sm"
204
+ color="inherit"
205
+ // Stable theme target on the detached message box's leading glyph
206
+ // itself, so a theme can restyle just this icon (color, size) —
207
+ // and each status — via `defineTheme`. Same-element rules in
208
+ // @layer astryx-theme win over the icon's own base
209
+ // width/height/fontSize, which a field-level target could not
210
+ // reach.
211
+ {...themeProps('field-status-icon', {type})}
212
+ />
220
213
  </span>
221
214
  <span>{message}</span>
222
215
  </span>
@@ -9,9 +9,24 @@
9
9
  * @position Entry point for @astryxdesign/core/FieldStatus subpath export
10
10
  */
11
11
 
12
+ /**
13
+ * Extensible variant map for FieldStatus.
14
+ *
15
+ * Theme packages can add custom variants via TypeScript module augmentation:
16
+ * @example
17
+ * ```
18
+ * declare module '@astryxdesign/core/FieldStatus' {
19
+ * interface FieldStatusVariantMap {
20
+ * 'inline': true;
21
+ * }
22
+ * }
23
+ * ```
24
+ */
25
+ export interface FieldStatusVariantMap {
26
+ attached: true;
27
+ detached: true;
28
+ tooltip: true;
29
+ }
30
+
12
31
  export {FieldStatus} from './FieldStatus';
13
- export type {
14
- FieldStatusProps,
15
- FieldStatusVariant,
16
- FieldStatusVariantMap,
17
- } from './FieldStatus';
32
+ export type {FieldStatusProps, FieldStatusVariant} from './FieldStatus';
@@ -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: 'FileInput',
@@ -170,7 +170,7 @@ export const docs = {
170
170
  },
171
171
  };
172
172
 
173
- /** @type {import('../docs-types').ComponentDoc} */
173
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
174
174
  export const docsZh = {
175
175
  name: 'FileInput',
176
176
  displayName: 'File Input',
@@ -293,7 +293,7 @@ export const docsZh = {
293
293
  },
294
294
  };
295
295
 
296
- /** @type {import('../docs-types').TranslationDoc} */
296
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
297
297
  export const docsDense = {
298
298
  description: 'File input w/ input/dropzone modes, validation, label, description, status.',
299
299
  usage: {
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/FileInput/FileInput.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/FileInput/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/FileInput.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/FileInput/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/FileInput/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import {
@@ -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: 'FormLayout',
@@ -52,7 +52,7 @@ export const docs = {
52
52
  },
53
53
  };
54
54
 
55
- /** @type {import('../docs-types').ComponentDoc} */
55
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
56
56
  export const docsZh = {
57
57
  name: 'FormLayout',
58
58
  displayName: 'Form Layout',
@@ -100,7 +100,7 @@ export const docsZh = {
100
100
  },
101
101
  };
102
102
 
103
- /** @type {import('../docs-types').TranslationDoc} */
103
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
104
104
  export const docsDense = {
105
105
  description:
106
106
  'Layout container for form fields w/ consistent spacing + direction.',
@@ -12,17 +12,14 @@
12
12
  * - /packages/core/src/FormLayout/FormLayout.test.tsx (tests for new/changed behavior)
13
13
  * - /packages/core/src/FormLayout/index.ts (exports if types change)
14
14
  * - /apps/storybook/stories/FormLayout.stories.tsx (storybook stories)
15
- * - /packages/cli/templates/blocks/components/FormLayout/ (showcase blocks)
15
+ * - /packages/cli/assets/templates/blocks/components/FormLayout/ (showcase blocks)
16
16
  */
17
17
 
18
18
  import {useMemo, type ReactNode} from 'react';
19
19
  import type {BaseProps} from '../BaseProps';
20
20
  import * as stylex from '@stylexjs/stylex';
21
21
  import {spacingVars} from '../theme/tokens.stylex';
22
- import {
23
- FormLayoutContext,
24
- type FormLayoutDirection,
25
- } from './FormLayoutContext';
22
+ import {FormLayoutContext, type FormLayoutDirection} from './FormLayoutContext';
26
23
  import {mergeProps} from '../utils';
27
24
  import {themeProps} from '../utils/themeProps';
28
25
 
@@ -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: 'Grid',
@@ -33,11 +33,6 @@ export const docs = {
33
33
  type: "number | {minWidth: number, max?: number, repeat?: 'fill' | 'fit'}",
34
34
  description: 'Column configuration. Use a number for fixed columns (e.g. `columns={3}`). Use an object for responsive columns: `minWidth` sets the minimum column width in px, `repeat` controls track behavior (`"fill"` preserves empty tracks for consistent widths, `"fit"` collapses empty tracks so items stretch; defaults to `"fill"`), and `max` caps the maximum number of columns.',
35
35
  },
36
- {
37
- name: 'minChildWidth',
38
- type: 'number',
39
- description: 'Deprecated: use `columns={{minWidth: 280}}` instead. Minimum item width in px; enables responsive auto-fit.',
40
- },
41
36
  {
42
37
  name: 'width',
43
38
  type: 'SizeValue',
@@ -101,7 +96,7 @@ export const docs = {
101
96
  ],
102
97
  };
103
98
 
104
- /** @type {import('../docs-types').TranslationDoc} */
99
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
105
100
  export const docsZh = {
106
101
  usage: {
107
102
  description:
@@ -117,7 +112,7 @@ export const docsZh = {
117
112
  },
118
113
  };
119
114
 
120
- /** @type {import('../docs-types').TranslationDoc} */
115
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
121
116
  export const docsDense = {
122
117
  description: 'CSS Grid-based layout w/ responsive column support.',
123
118
  usage: {
package/src/Grid/Grid.tsx CHANGED
@@ -12,7 +12,7 @@
12
12
  * - /packages/core/src/Grid/Grid.doc.mjs
13
13
  * - /packages/core/src/Grid/Grid.test.tsx
14
14
  * - /apps/storybook/stories/Grid.stories.tsx
15
- * - /packages/cli/templates/blocks/components/Grid/ (showcase blocks)
15
+ * - /packages/cli/assets/templates/blocks/components/Grid/ (showcase blocks)
16
16
  */
17
17
 
18
18
  import type {ReactNode} from 'react';
@@ -63,15 +63,6 @@ export interface GridProps extends BaseProps<HTMLDivElement> {
63
63
  */
64
64
  columns?: GridColumns;
65
65
 
66
- /**
67
- * Minimum width of each grid item in pixels.
68
- * Enables responsive auto-fit behavior.
69
- *
70
- * @deprecated Use `columns={{minWidth: 280}}` instead.
71
- * @default 0 (disabled)
72
- */
73
- minChildWidth?: number;
74
-
75
66
  /**
76
67
  * Width of the grid container.
77
68
  * Numbers are treated as pixels, strings are used as-is (e.g., '100%').
@@ -384,7 +375,6 @@ function buildCappedTemplate(
384
375
  */
385
376
  export function Grid({
386
377
  columns,
387
- minChildWidth = 0,
388
378
  rowHeight,
389
379
  width,
390
380
  height,
@@ -421,20 +411,6 @@ export function Grid({
421
411
  } else {
422
412
  gridTemplateColumns = `repeat(${repeatMode}, minmax(${columns.minWidth}px, 1fr))`;
423
413
  }
424
- } else if (minChildWidth > 0) {
425
- // Deprecated path: minChildWidth uses auto-fit for backward compat
426
- const numColumns = typeof columns === 'number' ? columns : 0;
427
- if (numColumns > 0) {
428
- gridTemplateColumns = buildCappedTemplate(
429
- minChildWidth,
430
- numColumns,
431
- 'auto-fit',
432
- gap,
433
- columnGap,
434
- );
435
- } else {
436
- gridTemplateColumns = `repeat(auto-fit, minmax(${minChildWidth}px, 1fr))`;
437
- }
438
414
  } else if (typeof columns === 'number' && columns > 0) {
439
415
  // Fixed columns mode
440
416
  gridTemplateColumns = `repeat(${columns}, 1fr)`;
@@ -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: 'GridSpan',
@@ -10,7 +10,7 @@
10
10
  * - /packages/core/src/Grid/Grid.doc.mjs
11
11
  * - /packages/core/src/Grid/Grid.test.tsx
12
12
  * - /apps/storybook/stories/Grid.stories.tsx
13
- * - /packages/cli/templates/blocks/components/Grid/ (showcase blocks)
13
+ * - /packages/cli/assets/templates/blocks/components/Grid/ (showcase blocks)
14
14
  */
15
15
 
16
16
  import type {ReactNode} from 'react';
@@ -9,7 +9,7 @@
9
9
  * SYNC: When modified, update these files to stay in sync:
10
10
  * - /packages/core/src/Stack/Stack.doc.mjs
11
11
  * - /packages/core/src/HStack/HStack.test.tsx
12
- * - /packages/cli/templates/blocks/components/HStack/ (showcase blocks)
12
+ * - /packages/cli/assets/templates/blocks/components/HStack/ (showcase blocks)
13
13
  */
14
14
 
15
15
  import {Stack, type StackProps} from '../Stack/Stack';
@@ -13,8 +13,8 @@
13
13
  * - /packages/core/src/Heading/Heading.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/Text/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/Text.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/Heading/ (showcase blocks)
17
- * - /packages/cli/templates/blocks/components/Text/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/Heading/ (showcase blocks)
17
+ * - /packages/cli/assets/templates/blocks/components/Text/ (showcase blocks)
18
18
  */
19
19
 
20
20
  import {lazy, Suspense, useRef, type ReactNode} from 'react';
@@ -41,6 +41,7 @@ import {
41
41
  truncationTooltipStyles,
42
42
  } from '../Text/text.stylex';
43
43
  import {useTruncation} from '../Text/useTruncation';
44
+ import {resolveStyleColor} from '../Text/Text';
44
45
  import type {LayerPlacement} from '../Layer';
45
46
  import {mergeProps, mergeRefs} from '../utils';
46
47
  import type {BaseProps} from '../BaseProps';
@@ -251,7 +252,7 @@ export function Heading({
251
252
  {...mergeProps(
252
253
  themeProps('heading', {level, color, ...(type && {type})}),
253
254
  stylex.props(
254
- colorStyles[color],
255
+ colorStyles[resolveStyleColor(color)],
255
256
  type ? sizeByTypeStyles[type] : sizeByLevelStyles[level],
256
257
  type && defaultWeightByTypeStyles[type],
257
258
  // Display: use truncation styles when maxLines > 0
@@ -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: 'HoverCard',
@@ -125,7 +125,7 @@ export const docs = {
125
125
  },
126
126
  };
127
127
 
128
- /** @type {import('../docs-types').ComponentDoc} */
128
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
129
129
  export const docsZh = {
130
130
  name: 'HoverCard',
131
131
  displayName: 'Hover Card',
@@ -234,7 +234,7 @@ export const docsZh = {
234
234
  },
235
235
  };
236
236
 
237
- /** @type {import('../docs-types').TranslationDoc} */
237
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
238
238
  export const docsDense = {
239
239
  description:
240
240
  'Hover/focus triggered overlay for displaying rich, interactive content anchored to trigger element.',
@@ -12,7 +12,7 @@
12
12
  * - /packages/core/src/HoverCard/HoverCard.test.tsx
13
13
  * - /packages/core/src/HoverCard/index.ts
14
14
  * - /apps/storybook/stories/HoverCard.stories.tsx
15
- * - /packages/cli/templates/blocks/components/HoverCard/ (showcase blocks)
15
+ * - /packages/cli/assets/templates/blocks/components/HoverCard/ (showcase blocks)
16
16
  */
17
17
 
18
18
  import {useCallback, useRef, type ReactElement, type ReactNode} from 'react';
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').HookDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').HookDoc} */
4
4
  export const docs = {
5
5
  name: 'useHoverCard',
6
6
  displayName: 'useHoverCard',
@@ -43,7 +43,7 @@ export const docs = {
43
43
  category: 'interaction',
44
44
  };
45
45
 
46
- /** @type {import('../docs-types').HookTranslationDoc} */
46
+ /** @type {import('@astryxdesign/cli/authoring').HookTranslationDoc} */
47
47
  export const docsDense = {
48
48
  description: 'Headless hover-triggered floating cards. Builds on useLayer w/ hover/focus intent, delays, safe hover behavior, aria-describedby. Use for rich previews when trigger/content rendering needs full control.',
49
49
  paramDescriptions: {
@@ -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: 'Icon',
@@ -19,7 +19,7 @@ export const docs = {
19
19
  {
20
20
  name: 'icon',
21
21
  type: 'IconName | ComponentType<SVGProps>',
22
- description: 'Semantic icon name or SVG component. Valid semantic names: close, chevronDown, chevronLeft, chevronRight, check, success, error, warning, info, calendar, clock, externalLink, menu, moreHorizontal, search, arrowUp, arrowDown, arrowsUpDown, funnel, eyeSlash, viewColumns, copy, checkDouble, wrench, stop, microphone. For any icon not in this list, pass an SVG component directly (e.g. import from lucide-react or @heroicons/react). Note: this prop is called `icon`, not `name`.',
22
+ description: 'Semantic icon name or SVG component. Valid semantic names: close, chevronDown, chevronLeft, chevronRight, chevronsLeft, chevronsRight, check, success, error, warning, info, calendar, clock, externalLink, menu, moreHorizontal, search, arrowUp, arrowDown, arrowsUpDown, funnel, eyeSlash, viewColumns, copy, checkDouble, wrench, stop, microphone. For any icon not in this list, pass an SVG component directly (e.g. import from lucide-react or @heroicons/react). Note: this prop is called `icon`, not `name`.',
23
23
  required: true,
24
24
  },
25
25
  {
@@ -55,6 +55,7 @@ export const docs = {
55
55
  description: 'Icons are small visual symbols that represent actions, objects, or concepts. They improve scannability and reinforce meaning alongside text. Supports both direct SVG components and semantic icon names that adapt to the active theme.',
56
56
  bestPractices: [
57
57
  { guidance: true, description: 'Use semantic icon names when available; they adapt to theme changes automatically.' },
58
+ { guidance: true, description: "Libraries can augment the icon map with their own keys: registerIcons({'richtext:bold': <MyIcon />}) accepts arbitrary extension keys (not just the built-in IconName set). Resolve them with getExtendedIcon(key, fallback), which prefers a theme-registered icon and falls back to a bundled default — the seam that makes library-shipped icons theme-overridable." },
58
59
  { guidance: true, description: 'Pair icons with text labels for accessibility; icon-only elements need an accessible label.' },
59
60
  { guidance: true, description: 'For a meaningful standalone icon (no adjacent text), give it an accessible name via the `label` prop: it sets role="img" + aria-label and unhides the icon.' },
60
61
  { guidance: true, description: 'Use color tokens for icon colors, not hardcoded hex values.' },
@@ -68,7 +69,7 @@ export const docs = {
68
69
  },
69
70
  };
70
71
 
71
- /** @type {import('../docs-types').ComponentDoc} */
72
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
72
73
  export const docsZh = {
73
74
  name: 'Icon',
74
75
  displayName: 'Icon',
@@ -76,7 +77,7 @@ export const docsZh = {
76
77
  {
77
78
  name: 'icon',
78
79
  type: 'IconName | ComponentType<SVGProps>',
79
- description: '语义图标名称或 SVG 组件。有效语义名称:close, chevronDown, chevronLeft, chevronRight, check, success, error, warning, info, calendar, clock, externalLink, menu, moreHorizontal, search, arrowUp, arrowDown, arrowsUpDown, funnel, eyeSlash, viewColumns, copy, checkDouble, wrench, stop, microphone。列表之外的图标请直接传入 SVG 组件。',
80
+ description: '语义图标名称或 SVG 组件。有效语义名称:close, chevronDown, chevronLeft, chevronRight, chevronsLeft, chevronsRight, check, success, error, warning, info, calendar, clock, externalLink, menu, moreHorizontal, search, arrowUp, arrowDown, arrowsUpDown, funnel, eyeSlash, viewColumns, copy, checkDouble, wrench, stop, microphone。列表之外的图标请直接传入 SVG 组件。',
80
81
  required: true,
81
82
  },
82
83
  {
@@ -124,7 +125,7 @@ export const docsZh = {
124
125
  },
125
126
  };
126
127
 
127
- /** @type {import('../docs-types').TranslationDoc} */
128
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
128
129
  export const docsDense = {
129
130
  description:
130
131
  'Renders icons w/ Astryx design system colors + sizes. Supports direct SVG icon components + semantic icon names that adapt to active theme.',
@@ -144,7 +145,7 @@ export const docsDense = {
144
145
  ],
145
146
  },
146
147
  propDescriptions: {
147
- icon: 'Semantic icon name or SVG component. Valid names: close, chevronDown, chevronLeft, chevronRight, check, success, error, warning, info, calendar, clock, externalLink, menu, moreHorizontal, search, arrowUp, arrowDown, arrowsUpDown, funnel, eyeSlash, viewColumns, copy, checkDouble, wrench, stop, microphone. For others, pass an SVG component.',
148
+ icon: 'Semantic icon name or SVG component. Valid names: close, chevronDown, chevronLeft, chevronRight, chevronsLeft, chevronsRight, check, success, error, warning, info, calendar, clock, externalLink, menu, moreHorizontal, search, arrowUp, arrowDown, arrowsUpDown, funnel, eyeSlash, viewColumns, copy, checkDouble, wrench, stop, microphone. For others, pass an SVG component.',
148
149
  color: 'Color variant mapped to Astryx icon color tokens.',
149
150
  size: 'Icon size.',
150
151
  label: 'Accessible name for a meaningful, standalone icon. Sets role="img" + aria-label and drops the default aria-hidden. Omit (default) for decorative icons (stays aria-hidden). Empty string = decorative. The accessible-name/alt-text prop for icons.',
@@ -13,7 +13,11 @@ import {describe, it, expect, vi} from 'vitest';
13
13
  import {render, screen} from '@testing-library/react';
14
14
  import * as stylex from '@stylexjs/stylex';
15
15
  import {TestIcon} from '../__tests__/TestIcon';
16
+ import {Theme} from '../theme/Theme';
17
+ import {defineTheme} from '../theme/defineTheme';
18
+ import {resetThemes} from '../theme/themeRegistry';
16
19
  import {Icon} from './Icon';
20
+ import {resetIcons} from './globalIconRegistry';
17
21
 
18
22
  describe('Icon', () => {
19
23
  it('renders the icon component', () => {
@@ -169,6 +173,25 @@ describe('Icon', () => {
169
173
  expect(screen.getByTestId('icon')).toHaveAttribute('aria-hidden', 'true');
170
174
  });
171
175
 
176
+ it('resolves string-mode icons from the nearest Theme without leaking globally', () => {
177
+ resetIcons();
178
+ resetThemes();
179
+ const outer = defineTheme({name: 'outer', icons: {check: 'outer-check'}});
180
+ const inner = defineTheme({name: 'inner', icons: {check: 'inner-check'}});
181
+
182
+ render(
183
+ <Theme theme={outer}>
184
+ <Icon icon="check" data-testid="outer" />
185
+ <Theme theme={inner}>
186
+ <Icon icon="check" data-testid="inner" />
187
+ </Theme>
188
+ </Theme>,
189
+ );
190
+
191
+ expect(screen.getByTestId('outer')).toHaveTextContent('outer-check');
192
+ expect(screen.getByTestId('inner')).toHaveTextContent('inner-check');
193
+ });
194
+
172
195
  it('lets a string-mode icon be made meaningful by overriding aria-hidden', () => {
173
196
  render(
174
197
  <Icon
package/src/Icon/Icon.tsx CHANGED
@@ -19,13 +19,14 @@
19
19
  * - /packages/core/src/Icon/Icon.test.tsx (tests for new/changed behavior)
20
20
  * - /packages/core/src/Icon/index.ts (exports if types change)
21
21
  * - /apps/storybook/stories/Icon.stories.tsx (storybook stories)
22
- * - /packages/cli/templates/blocks/components/Icon/ (showcase blocks)
22
+ * - /packages/cli/assets/templates/blocks/components/Icon/ (showcase blocks)
23
23
  */
24
24
 
25
25
  import React, {type ComponentType, type SVGProps} from 'react';
26
26
  import * as stylex from '@stylexjs/stylex';
27
27
  import type {StyleXStyles} from '@stylexjs/stylex';
28
28
  import {colorVars} from '../theme/tokens.stylex';
29
+ import {useThemeName} from '../theme/useTheme';
29
30
  import {getIcon} from './globalIconRegistry';
30
31
  import type {IconName} from './globalIconRegistry';
31
32
  import {mergeProps} from '../utils';
@@ -379,7 +380,8 @@ function IconFromRegistry({
379
380
  xstyle?: StyleXStyles;
380
381
  spanProps?: Omit<SVGProps<SVGSVGElement>, 'ref' | 'color'>;
381
382
  }) {
382
- const resolvedIcon = getIcon(name);
383
+ const themeName = useThemeName();
384
+ const resolvedIcon = getIcon(name, themeName);
383
385
 
384
386
  if (resolvedIcon == null) {
385
387
  return null;
@@ -82,6 +82,20 @@ export const defaultIcons: IconRegistry = {
82
82
  </svg>
83
83
  ),
84
84
 
85
+ /** « — double left chevron (first / jump to start) */
86
+ chevronsLeft: (
87
+ <svg {...svgProps}>
88
+ <path d="M18 6l-6 6 6 6M11 6l-6 6 6 6" />
89
+ </svg>
90
+ ),
91
+
92
+ /** » — double right chevron (last / jump to end) */
93
+ chevronsRight: (
94
+ <svg {...svgProps}>
95
+ <path d="M6 6l6 6-6 6M13 6l6 6-6 6" />
96
+ </svg>
97
+ ),
98
+
85
99
  /** ✓ — checkmark */
86
100
  check: (
87
101
  <svg {...svgProps}>