@astryxdesign/core 0.2.0-canary.fc53ff7 → 0.2.0-canary.fce8b64

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 (932) hide show
  1. package/README.md +5 -3
  2. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  3. package/dist/AlertDialog/AlertDialog.js +1 -1
  4. package/dist/AppShell/AppShell.d.ts +2 -20
  5. package/dist/AppShell/AppShell.d.ts.map +1 -1
  6. package/dist/AppShell/AppShell.js +1 -14
  7. package/dist/AppShell/index.d.ts +20 -1
  8. package/dist/AppShell/index.d.ts.map +1 -1
  9. package/dist/AppShell/index.js +14 -0
  10. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  11. package/dist/AspectRatio/AspectRatio.js +1 -1
  12. package/dist/Avatar/Avatar.d.ts +1 -1
  13. package/dist/Avatar/Avatar.d.ts.map +1 -1
  14. package/dist/Avatar/Avatar.js +4 -4
  15. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  16. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  17. package/dist/Avatar/AvatarStatusDot.js +1 -22
  18. package/dist/Avatar/index.d.ts +26 -1
  19. package/dist/Avatar/index.d.ts.map +1 -1
  20. package/dist/Avatar/index.js +21 -0
  21. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  22. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.js +4 -8
  24. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +1 -1
  25. package/dist/AvatarGroup/AvatarGroupOverflow.js +1 -1
  26. package/dist/Badge/Badge.d.ts +2 -30
  27. package/dist/Badge/Badge.d.ts.map +1 -1
  28. package/dist/Badge/Badge.js +2 -17
  29. package/dist/Badge/index.d.ts +31 -2
  30. package/dist/Badge/index.d.ts.map +1 -1
  31. package/dist/Badge/index.js +15 -1
  32. package/dist/Banner/Banner.d.ts +2 -37
  33. package/dist/Banner/Banner.d.ts.map +1 -1
  34. package/dist/Banner/Banner.js +6 -34
  35. package/dist/Banner/index.d.ts +37 -1
  36. package/dist/Banner/index.d.ts.map +1 -1
  37. package/dist/Banner/index.js +27 -0
  38. package/dist/Blockquote/Blockquote.d.ts +1 -1
  39. package/dist/Blockquote/Blockquote.js +1 -1
  40. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  41. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  42. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  43. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  44. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  45. package/dist/Breadcrumbs/index.d.ts +18 -1
  46. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  47. package/dist/Breadcrumbs/index.js +14 -0
  48. package/dist/Button/Button.d.ts +2 -20
  49. package/dist/Button/Button.d.ts.map +1 -1
  50. package/dist/Button/Button.js +2 -17
  51. package/dist/Button/index.d.ts +21 -3
  52. package/dist/Button/index.d.ts.map +1 -1
  53. package/dist/Button/index.js +15 -1
  54. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  55. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  56. package/dist/Calendar/Calendar.js +1 -1
  57. package/dist/Calendar/styles.d.ts +2 -2
  58. package/dist/Calendar/styles.js +2 -2
  59. package/dist/Card/Card.d.ts +1 -1
  60. package/dist/Card/Card.js +1 -1
  61. package/dist/Carousel/Carousel.d.ts +54 -3
  62. package/dist/Carousel/Carousel.d.ts.map +1 -1
  63. package/dist/Carousel/Carousel.js +82 -15
  64. package/dist/Carousel/index.d.ts +1 -1
  65. package/dist/Carousel/index.d.ts.map +1 -1
  66. package/dist/Center/Center.d.ts +21 -4
  67. package/dist/Center/Center.d.ts.map +1 -1
  68. package/dist/Center/Center.js +11 -3
  69. package/dist/Chat/ChatComposer.d.ts +1 -1
  70. package/dist/Chat/ChatComposer.js +9 -9
  71. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  72. package/dist/Chat/ChatComposerDrawer.js +3 -3
  73. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  74. package/dist/Chat/ChatComposerInput.js +1 -1
  75. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  76. package/dist/Chat/ChatDictationButton.js +1 -1
  77. package/dist/Chat/ChatLayout.d.ts +8 -1
  78. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  79. package/dist/Chat/ChatLayout.js +15 -4
  80. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  81. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  82. package/dist/Chat/ChatMessage.d.ts +1 -1
  83. package/dist/Chat/ChatMessage.js +1 -1
  84. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  85. package/dist/Chat/ChatMessageBubble.js +1 -1
  86. package/dist/Chat/ChatMessageList.d.ts +1 -1
  87. package/dist/Chat/ChatMessageList.js +1 -1
  88. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  89. package/dist/Chat/ChatSendButton.js +4 -2
  90. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  91. package/dist/Chat/ChatSystemMessage.js +1 -1
  92. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  93. package/dist/Chat/ChatTokenizedText.js +1 -1
  94. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  95. package/dist/CheckboxInput/CheckboxInput.js +1 -1
  96. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  97. package/dist/CheckboxList/CheckboxList.js +1 -1
  98. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  99. package/dist/CheckboxList/CheckboxListItem.js +1 -1
  100. package/dist/Citation/Citation.d.ts +1 -1
  101. package/dist/Citation/Citation.js +1 -1
  102. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  103. package/dist/ClickableCard/ClickableCard.js +3 -3
  104. package/dist/Code/Code.d.ts +2 -2
  105. package/dist/Code/Code.js +2 -2
  106. package/dist/Collapsible/Collapsible.d.ts +1 -1
  107. package/dist/Collapsible/Collapsible.js +3 -3
  108. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  109. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  110. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  111. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  112. package/dist/CommandPalette/CommandPalette.js +1 -1
  113. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  114. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  115. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  116. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  117. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  118. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  119. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  120. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  121. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  122. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  123. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  124. package/dist/ContextMenu/ContextMenu.js +14 -5
  125. package/dist/DateInput/DateInput.js +1 -1
  126. package/dist/DateRangeInput/DateRangeInput.js +1 -1
  127. package/dist/DateTimeInput/DateTimeInput.js +1 -1
  128. package/dist/Dialog/Dialog.d.ts +46 -23
  129. package/dist/Dialog/Dialog.d.ts.map +1 -1
  130. package/dist/Dialog/Dialog.js +59 -31
  131. package/dist/Dialog/DialogHeader.d.ts +1 -1
  132. package/dist/Dialog/DialogHeader.js +1 -1
  133. package/dist/Dialog/index.d.ts +18 -1
  134. package/dist/Dialog/index.d.ts.map +1 -1
  135. package/dist/Dialog/index.js +14 -0
  136. package/dist/Divider/Divider.d.ts +2 -18
  137. package/dist/Divider/Divider.d.ts.map +1 -1
  138. package/dist/Divider/Divider.js +1 -15
  139. package/dist/Divider/index.d.ts +18 -1
  140. package/dist/Divider/index.d.ts.map +1 -1
  141. package/dist/Divider/index.js +14 -0
  142. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  143. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  144. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  145. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  146. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  147. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  148. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  149. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  150. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  151. package/dist/DropdownMenu/DropdownMenuRadioItem.js +5 -1
  152. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  153. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  154. package/dist/DropdownMenu/DropdownMenuSubMenu.js +5 -5
  155. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  156. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  157. package/dist/EmptyState/EmptyState.d.ts +1 -1
  158. package/dist/EmptyState/EmptyState.js +1 -1
  159. package/dist/Field/Field.d.ts +1 -1
  160. package/dist/Field/Field.js +1 -1
  161. package/dist/Field/FieldLabel.d.ts +2 -2
  162. package/dist/Field/FieldLabel.d.ts.map +1 -1
  163. package/dist/Field/FieldLabel.js +41 -2
  164. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  165. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  166. package/dist/FieldStatus/FieldStatus.js +1 -15
  167. package/dist/FieldStatus/index.d.ts +19 -1
  168. package/dist/FieldStatus/index.d.ts.map +1 -1
  169. package/dist/FieldStatus/index.js +14 -0
  170. package/dist/FileInput/FileInput.js +1 -1
  171. package/dist/FormLayout/FormLayout.d.ts +1 -1
  172. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  173. package/dist/FormLayout/FormLayout.js +1 -1
  174. package/dist/Grid/Grid.d.ts +1 -1
  175. package/dist/Grid/Grid.js +1 -1
  176. package/dist/Grid/GridSpan.d.ts +1 -1
  177. package/dist/Grid/GridSpan.js +1 -1
  178. package/dist/HStack/HStack.d.ts +1 -1
  179. package/dist/HStack/HStack.js +1 -1
  180. package/dist/Heading/Heading.d.ts +2 -2
  181. package/dist/Heading/Heading.d.ts.map +1 -1
  182. package/dist/Heading/Heading.js +5 -4
  183. package/dist/HoverCard/HoverCard.d.ts +1 -1
  184. package/dist/HoverCard/HoverCard.js +1 -1
  185. package/dist/Icon/Icon.d.ts +1 -1
  186. package/dist/Icon/Icon.d.ts.map +1 -1
  187. package/dist/Icon/Icon.js +4 -2
  188. package/dist/Icon/globalIconRegistry.d.ts +47 -5
  189. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  190. package/dist/Icon/globalIconRegistry.js +74 -7
  191. package/dist/Icon/index.d.ts +4 -3
  192. package/dist/Icon/index.d.ts.map +1 -1
  193. package/dist/Icon/index.js +2 -1
  194. package/dist/Icon/useIcon.d.ts +14 -0
  195. package/dist/Icon/useIcon.d.ts.map +1 -0
  196. package/dist/Icon/useIcon.js +21 -0
  197. package/dist/IconButton/IconButton.d.ts +1 -1
  198. package/dist/IconButton/IconButton.js +1 -1
  199. package/dist/InputGroup/InputGroup.d.ts +1 -1
  200. package/dist/InputGroup/InputGroup.js +1 -1
  201. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  202. package/dist/InputGroup/InputGroupText.js +1 -1
  203. package/dist/Item/Item.d.ts +1 -1
  204. package/dist/Item/Item.js +1 -1
  205. package/dist/Kbd/Kbd.d.ts +1 -1
  206. package/dist/Kbd/Kbd.js +1 -1
  207. package/dist/Layout/Layout.d.ts +1 -1
  208. package/dist/Layout/Layout.js +1 -1
  209. package/dist/Layout/LayoutContent.d.ts +1 -1
  210. package/dist/Layout/LayoutContent.js +1 -1
  211. package/dist/Layout/LayoutFooter.d.ts +1 -1
  212. package/dist/Layout/LayoutFooter.js +1 -1
  213. package/dist/Layout/LayoutHeader.d.ts +1 -1
  214. package/dist/Layout/LayoutHeader.js +1 -1
  215. package/dist/Layout/LayoutPanel.d.ts +1 -1
  216. package/dist/Layout/LayoutPanel.js +1 -1
  217. package/dist/Lightbox/Lightbox.d.ts +1 -1
  218. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  219. package/dist/Lightbox/Lightbox.js +16 -3
  220. package/dist/Link/Link.d.ts +1 -1
  221. package/dist/Link/Link.js +1 -1
  222. package/dist/Link/LinkProvider.d.ts +2 -2
  223. package/dist/Link/LinkProvider.js +2 -2
  224. package/dist/List/List.d.ts +1 -1
  225. package/dist/List/List.js +1 -1
  226. package/dist/List/ListItem.d.ts +1 -1
  227. package/dist/List/ListItem.js +1 -1
  228. package/dist/Markdown/Markdown.d.ts.map +1 -1
  229. package/dist/Markdown/Markdown.js +35 -13
  230. package/dist/MetadataList/MetadataList.d.ts +1 -1
  231. package/dist/MetadataList/MetadataList.js +1 -1
  232. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  233. package/dist/MetadataList/MetadataListItem.js +1 -1
  234. package/dist/MobileNav/MobileNav.d.ts +1 -1
  235. package/dist/MobileNav/MobileNav.js +1 -1
  236. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  237. package/dist/MoreMenu/MoreMenu.js +3 -3
  238. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  239. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  240. package/dist/MultiSelector/MultiSelector.js +55 -17
  241. package/dist/NavIcon/NavIcon.d.ts +1 -1
  242. package/dist/NavIcon/NavIcon.js +1 -1
  243. package/dist/NumberInput/NumberInput.d.ts +1 -1
  244. package/dist/NumberInput/NumberInput.js +1 -1
  245. package/dist/Outline/Outline.js +1 -1
  246. package/dist/OverflowList/OverflowList.d.ts +1 -1
  247. package/dist/OverflowList/OverflowList.js +1 -1
  248. package/dist/Pagination/Pagination.d.ts +1 -20
  249. package/dist/Pagination/Pagination.d.ts.map +1 -1
  250. package/dist/Pagination/Pagination.js +1 -15
  251. package/dist/Pagination/index.d.ts +21 -1
  252. package/dist/Pagination/index.d.ts.map +1 -1
  253. package/dist/Pagination/index.js +14 -0
  254. package/dist/Popover/Popover.d.ts +20 -3
  255. package/dist/Popover/Popover.d.ts.map +1 -1
  256. package/dist/Popover/Popover.js +5 -1
  257. package/dist/Popover/usePopover.d.ts.map +1 -1
  258. package/dist/Popover/usePopover.js +14 -3
  259. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  260. package/dist/PowerSearch/PowerSearch.js +1 -1
  261. package/dist/ProgressBar/ProgressBar.d.ts +1 -20
  262. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  263. package/dist/ProgressBar/ProgressBar.js +1 -15
  264. package/dist/ProgressBar/index.d.ts +21 -1
  265. package/dist/ProgressBar/index.d.ts.map +1 -1
  266. package/dist/ProgressBar/index.js +14 -0
  267. package/dist/RadioList/RadioList.d.ts +1 -1
  268. package/dist/RadioList/RadioList.js +1 -1
  269. package/dist/RadioList/RadioListItem.d.ts +1 -1
  270. package/dist/RadioList/RadioListItem.js +1 -1
  271. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  272. package/dist/Resizable/ResizeHandle.js +3 -10
  273. package/dist/Section/Section.d.ts +2 -19
  274. package/dist/Section/Section.d.ts.map +1 -1
  275. package/dist/Section/Section.js +1 -15
  276. package/dist/Section/index.d.ts +19 -1
  277. package/dist/Section/index.d.ts.map +1 -1
  278. package/dist/Section/index.js +14 -0
  279. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  280. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  281. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  282. package/dist/SegmentedControl/SegmentedControlItem.js +1 -1
  283. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  284. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  285. package/dist/SelectableCard/SelectableCard.js +15 -3
  286. package/dist/Selector/Selector.d.ts +1 -1
  287. package/dist/Selector/Selector.d.ts.map +1 -1
  288. package/dist/Selector/Selector.js +55 -17
  289. package/dist/SideNav/SideNav.d.ts +1 -1
  290. package/dist/SideNav/SideNav.js +1 -1
  291. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  292. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  293. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  294. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  295. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  296. package/dist/SideNav/SideNavHeading.js +8 -7
  297. package/dist/SideNav/SideNavItem.d.ts +2 -2
  298. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  299. package/dist/SideNav/SideNavItem.js +6 -7
  300. package/dist/SideNav/SideNavSection.d.ts +1 -1
  301. package/dist/SideNav/SideNavSection.js +1 -1
  302. package/dist/Skeleton/Skeleton.d.ts +1 -1
  303. package/dist/Skeleton/Skeleton.js +1 -1
  304. package/dist/Slider/Slider.d.ts.map +1 -1
  305. package/dist/Slider/Slider.js +78 -68
  306. package/dist/Spinner/Spinner.d.ts +1 -1
  307. package/dist/Spinner/Spinner.js +1 -1
  308. package/dist/Stack/Stack.d.ts +1 -1
  309. package/dist/Stack/Stack.js +1 -1
  310. package/dist/Stack/StackItem.d.ts +1 -1
  311. package/dist/Stack/StackItem.js +1 -1
  312. package/dist/StatusDot/StatusDot.d.ts +1 -20
  313. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  314. package/dist/StatusDot/StatusDot.js +2 -17
  315. package/dist/StatusDot/index.d.ts +21 -1
  316. package/dist/StatusDot/index.d.ts.map +1 -1
  317. package/dist/StatusDot/index.js +14 -0
  318. package/dist/Switch/Switch.d.ts +1 -1
  319. package/dist/Switch/Switch.js +1 -1
  320. package/dist/TabList/Tab.d.ts +1 -1
  321. package/dist/TabList/Tab.js +1 -1
  322. package/dist/TabList/TabList.d.ts +1 -1
  323. package/dist/TabList/TabList.js +1 -1
  324. package/dist/TabList/TabMenu.d.ts +1 -1
  325. package/dist/TabList/TabMenu.js +1 -1
  326. package/dist/Table/BaseTable.d.ts +1 -1
  327. package/dist/Table/BaseTable.js +1 -1
  328. package/dist/Table/Table.d.ts +1 -1
  329. package/dist/Table/Table.js +1 -1
  330. package/dist/Table/TableCell.d.ts +1 -1
  331. package/dist/Table/TableCell.js +1 -1
  332. package/dist/Table/TableHeaderCell.d.ts +1 -1
  333. package/dist/Table/TableHeaderCell.js +1 -1
  334. package/dist/Table/TableRow.d.ts +1 -1
  335. package/dist/Table/TableRow.js +1 -1
  336. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  337. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  338. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +21 -3
  339. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  340. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  341. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  342. package/dist/Text/Text.d.ts +11 -2
  343. package/dist/Text/Text.d.ts.map +1 -1
  344. package/dist/Text/Text.js +26 -3
  345. package/dist/Text/index.d.ts +31 -1
  346. package/dist/Text/index.d.ts.map +1 -1
  347. package/dist/Text/index.js +23 -0
  348. package/dist/TextArea/TextArea.d.ts +1 -1
  349. package/dist/TextArea/TextArea.d.ts.map +1 -1
  350. package/dist/TextArea/TextArea.js +107 -39
  351. package/dist/TextInput/TextInput.d.ts +1 -1
  352. package/dist/TextInput/TextInput.js +1 -1
  353. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  354. package/dist/Thumbnail/Thumbnail.js +10 -3
  355. package/dist/TimeInput/TimeInput.js +1 -1
  356. package/dist/Timestamp/Timestamp.d.ts +4 -1
  357. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  358. package/dist/Timestamp/Timestamp.js +78 -7
  359. package/dist/Timestamp/formatInstant.d.ts +3 -3
  360. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  361. package/dist/Timestamp/formatInstant.js +2 -2
  362. package/dist/Timestamp/tooltipEntries.d.ts +3 -2
  363. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  364. package/dist/Timestamp/tooltipEntries.js +3 -2
  365. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  366. package/dist/ToggleButton/ToggleButton.js +1 -1
  367. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  368. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  369. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  370. package/dist/Token/Token.d.ts +2 -27
  371. package/dist/Token/Token.d.ts.map +1 -1
  372. package/dist/Token/Token.js +1 -15
  373. package/dist/Token/index.d.ts +27 -1
  374. package/dist/Token/index.d.ts.map +1 -1
  375. package/dist/Token/index.js +14 -0
  376. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  377. package/dist/Tokenizer/Tokenizer.js +1 -1
  378. package/dist/Toolbar/Toolbar.d.ts +1 -1
  379. package/dist/Toolbar/Toolbar.js +1 -1
  380. package/dist/Tooltip/Tooltip.d.ts +1 -1
  381. package/dist/Tooltip/Tooltip.js +1 -1
  382. package/dist/TopNav/TopNav.d.ts +1 -1
  383. package/dist/TopNav/TopNav.js +1 -1
  384. package/dist/TopNav/TopNavHeading.d.ts +1 -1
  385. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  386. package/dist/TopNav/TopNavHeading.js +7 -6
  387. package/dist/TopNav/TopNavItem.d.ts +1 -1
  388. package/dist/TopNav/TopNavItem.js +1 -1
  389. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  390. package/dist/TopNav/TopNavMegaMenu.js +6 -4
  391. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  392. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  393. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  394. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  395. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  396. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  397. package/dist/TopNav/TopNavMenu.js +5 -4
  398. package/dist/TreeList/TreeList.d.ts +1 -1
  399. package/dist/TreeList/TreeList.js +1 -1
  400. package/dist/TreeList/TreeListBranches.js +1 -1
  401. package/dist/TreeList/TreeListItem.d.ts +1 -1
  402. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  403. package/dist/TreeList/TreeListItem.js +4 -3
  404. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  405. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  406. package/dist/TreeList/index.d.ts +18 -1
  407. package/dist/TreeList/index.d.ts.map +1 -1
  408. package/dist/TreeList/index.js +14 -0
  409. package/dist/Typeahead/BaseTypeahead.d.ts +1 -1
  410. package/dist/Typeahead/BaseTypeahead.js +1 -1
  411. package/dist/Typeahead/Typeahead.d.ts +1 -1
  412. package/dist/Typeahead/Typeahead.js +1 -1
  413. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  414. package/dist/Typeahead/TypeaheadItem.js +1 -1
  415. package/dist/VStack/VStack.d.ts +1 -1
  416. package/dist/VStack/VStack.js +1 -1
  417. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  418. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  419. package/dist/astryx.css +45 -17
  420. package/dist/astryx.umd.js +49 -49
  421. package/dist/astryx.umd.js.map +4 -4
  422. package/dist/hooks/containerReveal.pool.stylex.d.ts +49 -27
  423. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -1
  424. package/dist/hooks/containerReveal.pool.stylex.js +40 -29
  425. package/dist/hooks/useContainerReveal.d.ts +1 -1
  426. package/dist/hooks/useContainerReveal.d.ts.map +1 -1
  427. package/dist/hooks/useContainerReveal.js +1 -1
  428. package/dist/hooks/useGridFocus.d.ts +8 -6
  429. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  430. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  431. package/dist/hooks/useInputContainer.js +29 -1
  432. package/dist/hooks/useKeyboardHint.d.ts +1 -1
  433. package/dist/hooks/useKeyboardHint.js +1 -1
  434. package/dist/hooks/useListFocus.d.ts +8 -7
  435. package/dist/hooks/useListFocus.d.ts.map +1 -1
  436. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  437. package/dist/hooks/useTreeFocus.js +13 -2
  438. package/dist/index.d.ts +2 -1
  439. package/dist/index.d.ts.map +1 -1
  440. package/dist/index.js +5 -1
  441. package/dist/theme/Theme.d.ts.map +1 -1
  442. package/dist/theme/Theme.js +2 -7
  443. package/dist/theme/defineTheme.d.ts +6 -0
  444. package/dist/theme/defineTheme.d.ts.map +1 -1
  445. package/dist/theme/defineTheme.js +4 -1
  446. package/dist/theme/expandColorScale.d.ts +19 -2
  447. package/dist/theme/expandColorScale.d.ts.map +1 -1
  448. package/dist/theme/expandColorScale.js +38 -10
  449. package/dist/theme/index.d.ts +6 -4
  450. package/dist/theme/index.d.ts.map +1 -1
  451. package/dist/theme/index.js +2 -1
  452. package/dist/theme/themeRegistry.d.ts +32 -0
  453. package/dist/theme/themeRegistry.d.ts.map +1 -0
  454. package/dist/theme/themeRegistry.js +49 -0
  455. package/dist/theme/types.d.ts +10 -2
  456. package/dist/theme/types.d.ts.map +1 -1
  457. package/dist/theme/useTheme.d.ts +9 -0
  458. package/dist/theme/useTheme.d.ts.map +1 -1
  459. package/dist/theme/useTheme.js +82 -27
  460. package/dist/utils/rtlStyles.d.ts +21 -0
  461. package/dist/utils/rtlStyles.d.ts.map +1 -1
  462. package/dist/utils/rtlStyles.js +26 -1
  463. package/groups.doc.mjs +2 -2
  464. package/locales/en.json +8 -0
  465. package/locales/pseudo.json +6 -0
  466. package/package.json +4 -13
  467. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  468. package/src/AlertDialog/AlertDialog.tsx +1 -1
  469. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  470. package/src/AppShell/AppShell.doc.mjs +3 -3
  471. package/src/AppShell/AppShell.tsx +2 -20
  472. package/src/AppShell/index.ts +20 -1
  473. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  474. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  475. package/src/AspectRatio/AspectRatio.tsx +1 -1
  476. package/src/Avatar/Avatar.doc.mjs +3 -3
  477. package/src/Avatar/Avatar.tsx +8 -3
  478. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  479. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  480. package/src/Avatar/index.ts +26 -1
  481. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  482. package/src/AvatarGroup/AvatarGroup.tsx +3 -7
  483. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  484. package/src/AvatarGroup/AvatarGroupOverflow.tsx +1 -1
  485. package/src/Badge/Badge.doc.mjs +3 -3
  486. package/src/Badge/Badge.tsx +2 -31
  487. package/src/Badge/index.ts +32 -6
  488. package/src/Banner/Banner.doc.mjs +3 -3
  489. package/src/Banner/Banner.tsx +8 -45
  490. package/src/Banner/index.ts +39 -7
  491. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  492. package/src/Blockquote/Blockquote.tsx +1 -1
  493. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  494. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  495. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  496. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  497. package/src/Breadcrumbs/index.ts +19 -5
  498. package/src/Button/Button.doc.mjs +3 -3
  499. package/src/Button/Button.tsx +2 -21
  500. package/src/Button/index.ts +22 -7
  501. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  502. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  503. package/src/Calendar/Calendar.doc.mjs +3 -3
  504. package/src/Calendar/Calendar.test.tsx +15 -3
  505. package/src/Calendar/Calendar.tsx +1 -1
  506. package/src/Calendar/styles.ts +2 -2
  507. package/src/Card/Card.doc.mjs +3 -3
  508. package/src/Card/Card.tsx +1 -1
  509. package/src/Carousel/Carousel.doc.mjs +10 -3
  510. package/src/Carousel/Carousel.test.tsx +232 -1
  511. package/src/Carousel/Carousel.tsx +144 -21
  512. package/src/Carousel/index.ts +1 -1
  513. package/src/Center/Center.doc.mjs +41 -3
  514. package/src/Center/Center.test.tsx +75 -0
  515. package/src/Center/Center.tsx +38 -3
  516. package/src/Chat/Chat.doc.mjs +3 -3
  517. package/src/Chat/ChatComposer.doc.mjs +1 -1
  518. package/src/Chat/ChatComposer.tsx +5 -5
  519. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  520. package/src/Chat/ChatComposerDrawer.tsx +3 -3
  521. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  522. package/src/Chat/ChatComposerInput.tsx +1 -1
  523. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  524. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  525. package/src/Chat/ChatDictationButton.tsx +1 -1
  526. package/src/Chat/ChatLayout.doc.mjs +1 -1
  527. package/src/Chat/ChatLayout.test.tsx +57 -0
  528. package/src/Chat/ChatLayout.tsx +23 -2
  529. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  530. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  531. package/src/Chat/ChatMessage.doc.mjs +1 -1
  532. package/src/Chat/ChatMessage.tsx +1 -1
  533. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  534. package/src/Chat/ChatMessageBubble.tsx +1 -1
  535. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  536. package/src/Chat/ChatMessageList.tsx +1 -1
  537. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  538. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  539. package/src/Chat/ChatSendButton.tsx +5 -3
  540. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  541. package/src/Chat/ChatSystemMessage.tsx +1 -1
  542. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  543. package/src/Chat/ChatTokenizedText.tsx +1 -1
  544. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  545. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  546. package/src/CheckboxInput/CheckboxInput.test.tsx +33 -0
  547. package/src/CheckboxInput/CheckboxInput.tsx +1 -1
  548. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  549. package/src/CheckboxList/CheckboxList.tsx +1 -1
  550. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  551. package/src/CheckboxList/CheckboxListItem.tsx +1 -1
  552. package/src/Citation/Citation.doc.mjs +2 -2
  553. package/src/Citation/Citation.tsx +1 -1
  554. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  555. package/src/ClickableCard/ClickableCard.tsx +3 -3
  556. package/src/Code/Code.tsx +2 -2
  557. package/src/CodeBlock/Code.doc.mjs +1 -1
  558. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  559. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  560. package/src/Collapsible/Collapsible.tsx +3 -3
  561. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  562. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  563. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  564. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  565. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  566. package/src/CommandPalette/CommandPalette.tsx +1 -1
  567. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  568. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  569. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  570. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  571. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  572. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  573. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  574. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  575. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  576. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  577. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  578. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  579. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  580. package/src/ContextMenu/ContextMenu.tsx +17 -5
  581. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  582. package/src/DateInput/DateInput.doc.mjs +3 -3
  583. package/src/DateInput/DateInput.tsx +1 -1
  584. package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
  585. package/src/DateRangeInput/DateRangeInput.tsx +1 -1
  586. package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
  587. package/src/DateTimeInput/DateTimeInput.tsx +1 -1
  588. package/src/Dialog/Dialog.doc.mjs +9 -5
  589. package/src/Dialog/Dialog.test.tsx +84 -1
  590. package/src/Dialog/Dialog.tsx +87 -45
  591. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  592. package/src/Dialog/DialogHeader.tsx +1 -1
  593. package/src/Dialog/index.ts +18 -1
  594. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  595. package/src/Divider/Divider.doc.mjs +3 -3
  596. package/src/Divider/Divider.tsx +2 -19
  597. package/src/Divider/index.ts +19 -5
  598. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  599. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  600. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  601. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  602. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  603. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  604. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  605. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +1 -1
  606. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  607. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +10 -1
  608. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +64 -0
  609. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  610. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +17 -0
  611. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +11 -3
  612. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  613. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  614. package/src/EmptyState/EmptyState.tsx +1 -1
  615. package/src/Field/Field.doc.mjs +3 -3
  616. package/src/Field/Field.tsx +1 -1
  617. package/src/Field/FieldLabel.doc.mjs +1 -1
  618. package/src/Field/FieldLabel.test.tsx +78 -0
  619. package/src/Field/FieldLabel.tsx +50 -3
  620. package/src/FieldStatus/FieldStatus.doc.mjs +2 -2
  621. package/src/FieldStatus/FieldStatus.tsx +2 -20
  622. package/src/FieldStatus/index.ts +20 -5
  623. package/src/FileInput/FileInput.doc.mjs +3 -3
  624. package/src/FileInput/FileInput.tsx +1 -1
  625. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  626. package/src/FormLayout/FormLayout.tsx +2 -5
  627. package/src/Grid/Grid.doc.mjs +3 -3
  628. package/src/Grid/Grid.tsx +1 -1
  629. package/src/Grid/GridSpan.doc.mjs +1 -1
  630. package/src/Grid/GridSpan.tsx +1 -1
  631. package/src/HStack/HStack.tsx +1 -1
  632. package/src/Heading/Heading.tsx +4 -3
  633. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  634. package/src/HoverCard/HoverCard.tsx +1 -1
  635. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  636. package/src/Icon/Icon.doc.mjs +4 -3
  637. package/src/Icon/Icon.test.tsx +23 -0
  638. package/src/Icon/Icon.tsx +4 -2
  639. package/src/Icon/globalIconRegistry.test.tsx +87 -1
  640. package/src/Icon/globalIconRegistry.tsx +109 -9
  641. package/src/Icon/index.ts +9 -7
  642. package/src/Icon/useIcon.ts +23 -0
  643. package/src/IconButton/IconButton.doc.mjs +2 -2
  644. package/src/IconButton/IconButton.tsx +1 -1
  645. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  646. package/src/InputGroup/InputGroup.tsx +1 -1
  647. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  648. package/src/InputGroup/InputGroupText.tsx +1 -1
  649. package/src/Item/Item.doc.mjs +3 -3
  650. package/src/Item/Item.tsx +1 -1
  651. package/src/Kbd/Kbd.doc.mjs +3 -3
  652. package/src/Kbd/Kbd.tsx +1 -1
  653. package/src/Layer/Layer.doc.mjs +2 -2
  654. package/src/Layer/useLayer.doc.mjs +2 -2
  655. package/src/Layout/Layout.doc.mjs +3 -3
  656. package/src/Layout/Layout.tsx +1 -1
  657. package/src/Layout/LayoutContent.doc.mjs +1 -1
  658. package/src/Layout/LayoutContent.tsx +1 -1
  659. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  660. package/src/Layout/LayoutFooter.tsx +1 -1
  661. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  662. package/src/Layout/LayoutHeader.tsx +1 -1
  663. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  664. package/src/Layout/LayoutPanel.tsx +1 -1
  665. package/src/Lightbox/Lightbox.doc.mjs +3 -3
  666. package/src/Lightbox/Lightbox.test.tsx +33 -0
  667. package/src/Lightbox/Lightbox.tsx +16 -4
  668. package/src/Link/Link.doc.mjs +3 -3
  669. package/src/Link/Link.tsx +1 -1
  670. package/src/Link/LinkProvider.doc.mjs +2 -2
  671. package/src/Link/LinkProvider.tsx +2 -2
  672. package/src/List/List.doc.mjs +3 -3
  673. package/src/List/List.tsx +1 -1
  674. package/src/List/ListItem.doc.mjs +2 -2
  675. package/src/List/ListItem.tsx +1 -1
  676. package/src/Markdown/Markdown.doc.mjs +81 -1
  677. package/src/Markdown/Markdown.test.tsx +92 -0
  678. package/src/Markdown/Markdown.tsx +96 -68
  679. package/src/Markdown/parser.perf.test.ts +47 -35
  680. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  681. package/src/MetadataList/MetadataList.tsx +1 -1
  682. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  683. package/src/MetadataList/MetadataListItem.tsx +1 -1
  684. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  685. package/src/MobileNav/MobileNav.tsx +1 -1
  686. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  687. package/src/MoreMenu/MoreMenu.tsx +3 -3
  688. package/src/MultiSelector/MultiSelector.doc.mjs +4 -4
  689. package/src/MultiSelector/MultiSelector.test.tsx +175 -0
  690. package/src/MultiSelector/MultiSelector.tsx +59 -38
  691. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  692. package/src/NavIcon/NavIcon.tsx +1 -1
  693. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  694. package/src/NumberInput/NumberInput.doc.mjs +3 -3
  695. package/src/NumberInput/NumberInput.tsx +1 -1
  696. package/src/Outline/Outline.doc.mjs +3 -3
  697. package/src/Outline/Outline.tsx +1 -1
  698. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  699. package/src/OverflowList/OverflowList.tsx +1 -1
  700. package/src/Overlay/Overlay.doc.mjs +2 -2
  701. package/src/Pagination/Pagination.doc.mjs +3 -3
  702. package/src/Pagination/Pagination.tsx +2 -22
  703. package/src/Pagination/index.ts +21 -1
  704. package/src/Popover/Popover.doc.mjs +31 -3
  705. package/src/Popover/Popover.test.tsx +41 -0
  706. package/src/Popover/Popover.tsx +25 -2
  707. package/src/Popover/usePopover.doc.mjs +2 -2
  708. package/src/Popover/usePopover.tsx +10 -4
  709. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  710. package/src/PowerSearch/PowerSearch.tsx +1 -1
  711. package/src/ProgressBar/ProgressBar.doc.mjs +3 -3
  712. package/src/ProgressBar/ProgressBar.tsx +2 -22
  713. package/src/ProgressBar/index.ts +22 -5
  714. package/src/RadioList/RadioList.doc.mjs +3 -3
  715. package/src/RadioList/RadioList.tsx +1 -1
  716. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  717. package/src/RadioList/RadioListItem.tsx +1 -1
  718. package/src/Resizable/Resizable.doc.mjs +2 -2
  719. package/src/Resizable/ResizeHandle.test.tsx +3 -2
  720. package/src/Resizable/ResizeHandle.tsx +8 -12
  721. package/src/Resizable/useResizable.doc.mjs +2 -2
  722. package/src/Section/Section.doc.mjs +3 -3
  723. package/src/Section/Section.tsx +2 -20
  724. package/src/Section/index.ts +20 -5
  725. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  726. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  727. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  728. package/src/SegmentedControl/SegmentedControlItem.tsx +1 -1
  729. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  730. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  731. package/src/SelectableCard/SelectableCard.tsx +19 -3
  732. package/src/Selector/Selector.doc.mjs +4 -4
  733. package/src/Selector/Selector.test.tsx +152 -0
  734. package/src/Selector/Selector.tsx +59 -38
  735. package/src/Selector/SelectorOption.doc.mjs +1 -1
  736. package/src/SideNav/SideNav.doc.mjs +3 -3
  737. package/src/SideNav/SideNav.tsx +1 -1
  738. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  739. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  740. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  741. package/src/SideNav/SideNavHeading.tsx +8 -9
  742. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  743. package/src/SideNav/SideNavItem.tsx +5 -6
  744. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  745. package/src/SideNav/SideNavSection.tsx +1 -1
  746. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  747. package/src/Skeleton/Skeleton.tsx +1 -1
  748. package/src/Slider/Slider.doc.mjs +3 -3
  749. package/src/Slider/Slider.tsx +9 -13
  750. package/src/Spinner/Spinner.doc.mjs +3 -3
  751. package/src/Spinner/Spinner.tsx +1 -1
  752. package/src/Stack/Stack.doc.mjs +3 -3
  753. package/src/Stack/Stack.tsx +1 -1
  754. package/src/Stack/StackItem.tsx +1 -1
  755. package/src/StatusDot/StatusDot.doc.mjs +3 -3
  756. package/src/StatusDot/StatusDot.tsx +2 -22
  757. package/src/StatusDot/index.ts +22 -5
  758. package/src/Switch/Switch.doc.mjs +3 -3
  759. package/src/Switch/Switch.test.tsx +34 -0
  760. package/src/Switch/Switch.tsx +1 -1
  761. package/src/TabList/Tab.doc.mjs +1 -1
  762. package/src/TabList/Tab.tsx +1 -1
  763. package/src/TabList/TabList.doc.mjs +3 -3
  764. package/src/TabList/TabList.tsx +1 -1
  765. package/src/TabList/TabMenu.doc.mjs +1 -1
  766. package/src/TabList/TabMenu.tsx +1 -1
  767. package/src/Table/BaseTable.tsx +1 -1
  768. package/src/Table/Table.doc.mjs +3 -3
  769. package/src/Table/Table.tsx +1 -1
  770. package/src/Table/TableCell.doc.mjs +1 -1
  771. package/src/Table/TableCell.tsx +1 -1
  772. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  773. package/src/Table/TableHeaderCell.tsx +1 -1
  774. package/src/Table/TableRow.doc.mjs +1 -1
  775. package/src/Table/TableRow.tsx +1 -1
  776. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +21 -3
  777. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  778. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  779. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  780. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  781. package/src/Table/useTableFilterState.doc.mjs +1 -1
  782. package/src/Table/useTableFiltering.doc.mjs +1 -1
  783. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  784. package/src/Table/useTablePagination.doc.mjs +1 -1
  785. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  786. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  787. package/src/Table/useTableRowStatus.doc.mjs +2 -2
  788. package/src/Table/useTableSelection.doc.mjs +1 -1
  789. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  790. package/src/Table/useTableSortable.doc.mjs +1 -1
  791. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  792. package/src/Table/useTableTreeData.doc.mjs +10 -1
  793. package/src/Table/useTableTreeState.doc.mjs +1 -1
  794. package/src/Text/Heading.doc.mjs +4 -4
  795. package/src/Text/Text.doc.mjs +4 -4
  796. package/src/Text/Text.test.tsx +42 -0
  797. package/src/Text/Text.tsx +26 -2
  798. package/src/Text/index.ts +32 -6
  799. package/src/TextArea/TextArea.doc.mjs +5 -5
  800. package/src/TextArea/TextArea.test.tsx +112 -7
  801. package/src/TextArea/TextArea.tsx +143 -50
  802. package/src/TextInput/TextInput.doc.mjs +3 -3
  803. package/src/TextInput/TextInput.tsx +1 -1
  804. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  805. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  806. package/src/Thumbnail/Thumbnail.tsx +10 -3
  807. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  808. package/src/TimeInput/TimeInput.tsx +1 -1
  809. package/src/Timestamp/Timestamp.doc.mjs +5 -5
  810. package/src/Timestamp/Timestamp.test.tsx +131 -0
  811. package/src/Timestamp/Timestamp.tsx +92 -9
  812. package/src/Timestamp/formatInstant.ts +3 -4
  813. package/src/Timestamp/tooltipEntries.ts +3 -2
  814. package/src/Toast/Toast.doc.mjs +3 -3
  815. package/src/Toast/useToast.doc.mjs +2 -2
  816. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  817. package/src/ToggleButton/ToggleButton.tsx +1 -1
  818. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  819. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  820. package/src/Token/Token.doc.mjs +3 -3
  821. package/src/Token/Token.tsx +2 -28
  822. package/src/Token/index.ts +28 -1
  823. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  824. package/src/Tokenizer/Tokenizer.tsx +1 -1
  825. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  826. package/src/Toolbar/Toolbar.tsx +1 -1
  827. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  828. package/src/Tooltip/Tooltip.tsx +1 -1
  829. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  830. package/src/TopNav/TopNav.doc.mjs +3 -3
  831. package/src/TopNav/TopNav.tsx +1 -1
  832. package/src/TopNav/TopNavHeading.doc.mjs +1 -1
  833. package/src/TopNav/TopNavHeading.tsx +7 -8
  834. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  835. package/src/TopNav/TopNavItem.tsx +1 -1
  836. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  837. package/src/TopNav/TopNavMegaMenu.tsx +6 -4
  838. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  839. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  840. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  841. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  842. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  843. package/src/TopNav/TopNavMenu.tsx +5 -4
  844. package/src/TreeList/TreeList.doc.mjs +3 -3
  845. package/src/TreeList/TreeList.tsx +1 -1
  846. package/src/TreeList/TreeListBranches.tsx +1 -1
  847. package/src/TreeList/TreeListItem.tsx +4 -3
  848. package/src/TreeList/TreeListTypes.ts +1 -18
  849. package/src/TreeList/index.ts +19 -1
  850. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  851. package/src/Typeahead/BaseTypeahead.tsx +1 -1
  852. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  853. package/src/Typeahead/Typeahead.tsx +1 -1
  854. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  855. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  856. package/src/VStack/VStack.tsx +1 -1
  857. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  858. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  859. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  860. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  861. package/src/doc-mjs.d.ts +5 -2
  862. package/src/docPropLiterals.test.ts +1 -1
  863. package/src/docPropReferences.test.ts +1 -1
  864. package/src/hooks/containerReveal.pool.stylex.ts +154 -47
  865. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  866. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  867. package/src/hooks/useContainerReveal.ts +5 -4
  868. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  869. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  870. package/src/hooks/useGridFocus.doc.mjs +2 -2
  871. package/src/hooks/useGridFocus.ts +8 -6
  872. package/src/hooks/useHotkeys.doc.mjs +2 -2
  873. package/src/hooks/useImageMode.doc.mjs +2 -2
  874. package/src/hooks/useInputContainer.doc.mjs +2 -2
  875. package/src/hooks/useInputContainer.test.tsx +180 -0
  876. package/src/hooks/useInputContainer.ts +36 -1
  877. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  878. package/src/hooks/useKeyboardHint.tsx +1 -1
  879. package/src/hooks/useListFocus.doc.mjs +2 -2
  880. package/src/hooks/useListFocus.ts +8 -7
  881. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  882. package/src/hooks/useOverflow.doc.mjs +2 -2
  883. package/src/hooks/useScrollLock.doc.mjs +2 -2
  884. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  885. package/src/hooks/useStreamingText.doc.mjs +2 -2
  886. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  887. package/src/hooks/useTreeFocus.test.tsx +53 -1
  888. package/src/hooks/useTreeFocus.ts +13 -2
  889. package/src/i18n/InternationalizationProvider.doc.mjs +2 -2
  890. package/src/i18n/useTranslator.doc.mjs +2 -2
  891. package/src/index.ts +14 -10
  892. package/src/theme/MediaTheme.doc.mjs +2 -2
  893. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  894. package/src/theme/Theme.doc.mjs +2 -2
  895. package/src/theme/Theme.tsx +3 -7
  896. package/src/theme/defineTheme.ts +11 -1
  897. package/src/theme/expandColorScale.test.ts +144 -0
  898. package/src/theme/expandColorScale.ts +53 -15
  899. package/src/theme/index.ts +11 -9
  900. package/src/theme/themeRegistry.test.ts +59 -0
  901. package/src/theme/themeRegistry.ts +53 -0
  902. package/src/theme/types.ts +14 -13
  903. package/src/theme/useTheme.doc.mjs +2 -2
  904. package/src/theme/useTheme.test.tsx +48 -3
  905. package/src/theme/useTheme.ts +100 -29
  906. package/src/utils/rtlStyles.ts +22 -0
  907. package/dist/authoring/doc.d.ts +0 -145
  908. package/dist/authoring/doc.d.ts.map +0 -1
  909. package/dist/authoring/doc.js +0 -100
  910. package/dist/authoring/index.d.ts +0 -29
  911. package/dist/authoring/index.d.ts.map +0 -1
  912. package/dist/authoring/index.js +0 -28
  913. package/dist/authoring/integration.d.ts +0 -35
  914. package/dist/authoring/integration.d.ts.map +0 -1
  915. package/dist/authoring/integration.js +0 -30
  916. package/dist/authoring/template.d.ts +0 -66
  917. package/dist/authoring/template.d.ts.map +0 -1
  918. package/dist/authoring/template.js +0 -55
  919. package/dist/config.d.ts +0 -80
  920. package/dist/config.d.ts.map +0 -1
  921. package/dist/config.js +0 -40
  922. package/dist/docs-types.d.ts +0 -969
  923. package/dist/docs-types.d.ts.map +0 -1
  924. package/dist/docs-types.js +0 -1
  925. package/src/authoring/doc.ts +0 -164
  926. package/src/authoring/index.test.ts +0 -52
  927. package/src/authoring/index.ts +0 -50
  928. package/src/authoring/integration.ts +0 -42
  929. package/src/authoring/template.ts +0 -74
  930. package/src/config.test.ts +0 -16
  931. package/src/config.ts +0 -92
  932. package/src/docs-types.ts +0 -1108
@@ -4,6 +4,24 @@
4
4
  * @output Exports FieldStatus and related types
5
5
  * @position Entry point for @astryxdesign/core/FieldStatus subpath export
6
6
  */
7
+ /**
8
+ * Extensible variant map for FieldStatus.
9
+ *
10
+ * Theme packages can add custom variants via TypeScript module augmentation:
11
+ * @example
12
+ * ```
13
+ * declare module '@astryxdesign/core/FieldStatus' {
14
+ * interface FieldStatusVariantMap {
15
+ * 'inline': true;
16
+ * }
17
+ * }
18
+ * ```
19
+ */
20
+ export interface FieldStatusVariantMap {
21
+ attached: true;
22
+ detached: true;
23
+ tooltip: true;
24
+ }
7
25
  export { FieldStatus } from './FieldStatus';
8
- export type { FieldStatusProps, FieldStatusVariant, FieldStatusVariantMap, } from './FieldStatus';
26
+ export type { FieldStatusProps, FieldStatusVariant } from './FieldStatus';
9
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/FieldStatus/index.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/FieldStatus/index.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACf;AAED,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC"}
@@ -8,4 +8,18 @@
8
8
  * @output Exports FieldStatus and related types
9
9
  * @position Entry point for @astryxdesign/core/FieldStatus subpath export
10
10
  */
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
+ */
11
25
  export { FieldStatus } from "./FieldStatus.js";
@@ -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
  import { useId, useCallback, useRef, useState, useTransition } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
@@ -8,7 +8,7 @@
8
8
  * - /packages/core/src/FormLayout/FormLayout.test.tsx (tests for new/changed behavior)
9
9
  * - /packages/core/src/FormLayout/index.ts (exports if types change)
10
10
  * - /apps/storybook/stories/FormLayout.stories.tsx (storybook stories)
11
- * - /packages/cli/templates/blocks/components/FormLayout/ (showcase blocks)
11
+ * - /packages/cli/assets/templates/blocks/components/FormLayout/ (showcase blocks)
12
12
  */
13
13
  import { type ReactNode } from 'react';
14
14
  import type { BaseProps } from '../BaseProps';
@@ -1 +1 @@
1
- {"version":3,"file":"FormLayout.d.ts","sourceRoot":"","sources":["../../src/FormLayout/FormLayout.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AA0C7B,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,SAAsB,EACtB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BAuBjB;yBA/Be,UAAU"}
1
+ {"version":3,"file":"FormLayout.d.ts","sourceRoot":"","sources":["../../src/FormLayout/FormLayout.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAoB,KAAK,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AA0ChF,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,SAAsB,EACtB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BAuBjB;yBA/Be,UAAU"}
@@ -12,7 +12,7 @@
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
  import { useMemo } from 'react';
18
18
  import * as stylex from '@stylexjs/stylex';
@@ -8,7 +8,7 @@
8
8
  * - /packages/core/src/Grid/Grid.doc.mjs
9
9
  * - /packages/core/src/Grid/Grid.test.tsx
10
10
  * - /apps/storybook/stories/Grid.stories.tsx
11
- * - /packages/cli/templates/blocks/components/Grid/ (showcase blocks)
11
+ * - /packages/cli/assets/templates/blocks/components/Grid/ (showcase blocks)
12
12
  */
13
13
  import type { ReactNode } from 'react';
14
14
  import type { BaseProps } from '../BaseProps';
package/dist/Grid/Grid.js 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
  import * as stylex from '@stylexjs/stylex';
18
18
  import "../theme/tokens.stylex.js";
@@ -8,7 +8,7 @@
8
8
  * - /packages/core/src/Grid/Grid.doc.mjs
9
9
  * - /packages/core/src/Grid/Grid.test.tsx
10
10
  * - /apps/storybook/stories/Grid.stories.tsx
11
- * - /packages/cli/templates/blocks/components/Grid/ (showcase blocks)
11
+ * - /packages/cli/assets/templates/blocks/components/Grid/ (showcase blocks)
12
12
  */
13
13
  import type { ReactNode } from 'react';
14
14
  import type { BaseProps } from '../BaseProps';
@@ -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 * as stylex from '@stylexjs/stylex';
@@ -7,7 +7,7 @@
7
7
  * SYNC: When modified, update these files to stay in sync:
8
8
  * - /packages/core/src/Stack/Stack.doc.mjs
9
9
  * - /packages/core/src/HStack/HStack.test.tsx
10
- * - /packages/cli/templates/blocks/components/HStack/ (showcase blocks)
10
+ * - /packages/cli/assets/templates/blocks/components/HStack/ (showcase blocks)
11
11
  */
12
12
  import { type StackProps } from '../Stack/Stack';
13
13
  import type { StackCrossAlignment, StackMainAlignment } from '../Stack/stack.stylex';
@@ -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 } from "../Stack/Stack.js";
@@ -9,8 +9,8 @@
9
9
  * - /packages/core/src/Heading/Heading.test.tsx (tests for new/changed behavior)
10
10
  * - /packages/core/src/Text/index.ts (exports if types change)
11
11
  * - /apps/storybook/stories/Text.stories.tsx (storybook stories)
12
- * - /packages/cli/templates/blocks/components/Heading/ (showcase blocks)
13
- * - /packages/cli/templates/blocks/components/Text/ (showcase blocks)
12
+ * - /packages/cli/assets/templates/blocks/components/Heading/ (showcase blocks)
13
+ * - /packages/cli/assets/templates/blocks/components/Text/ (showcase blocks)
14
14
  */
15
15
  import { type ReactNode } from 'react';
16
16
  import type { TextColor, TextDisplay, TextJustify, WordBreak, TextWrap } from '../theme/types';
@@ -1 +1 @@
1
- {"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/Heading/Heading.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAyB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAE7C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAElE,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,SAAS,CAAC,kBAAkB,CAAC,EAC7B,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACpC;;;OAGG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAE9C;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,kBAAkB,EAClB,KAAiB,EACjB,OAAiB,EACjB,QAAY,EACZ,kBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,OAAiB,EACjB,UAAkB,EAClB,gBAAwB,EACxB,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,YAAY,+BAmFd;yBAtGe,OAAO"}
1
+ {"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/Heading/Heading.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAyB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAiBxB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAE7C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAElE,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,SAAS,CAAC,kBAAkB,CAAC,EAC7B,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACpC;;;OAGG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAE9C;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,kBAAkB,EAClB,KAAiB,EACjB,OAAiB,EACjB,QAAY,EACZ,kBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,OAAiB,EACjB,UAAkB,EAClB,gBAAwB,EACxB,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,YAAY,+BAmFd;yBAtGe,OAAO"}
@@ -13,17 +13,18 @@
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
  import { lazy, Suspense, useRef } from 'react';
20
20
  import * as stylex from '@stylexjs/stylex';
21
21
  import { colorStyles, sizeByLevelStyles, sizeByTypeStyles, defaultWeightByTypeStyles, displayStyles, justifyStyles, truncationStyles, wordBreakStyles, textWrapStyles, capsizeStyles, decorationStyles, truncationTooltipStyles } from "../Text/text.stylex.js";
22
22
  import { useTruncation } from "../Text/useTruncation.js";
23
+ import { resolveStyleColor } from "../Text/Text.js";
23
24
  import { mergeProps, mergeRefs } from "../utils/index.js";
24
25
  import { themeProps } from "../utils/themeProps.js";
25
26
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
26
- const LazyXDSTooltip = /*#__PURE__*/lazy(async () => import('../Tooltip/Tooltip').then(mod => ({
27
+ const LazyXDSTooltip = /*#__PURE__*/lazy(async () => import("../Tooltip/Tooltip.js").then(mod => ({
27
28
  default: mod.Tooltip
28
29
  })));
29
30
 
@@ -119,7 +120,7 @@ export function Heading({
119
120
  ...(type && {
120
121
  type
121
122
  })
122
- }), stylex.props(colorStyles[color], type ? sizeByTypeStyles[type] : sizeByLevelStyles[level], type && defaultWeightByTypeStyles[type],
123
+ }), stylex.props(colorStyles[resolveStyleColor(color)], type ? sizeByTypeStyles[type] : sizeByLevelStyles[level], type && defaultWeightByTypeStyles[type],
123
124
  // Display: use truncation styles when maxLines > 0
124
125
  maxLines === 1 ? truncationStyles.singleLine : maxLines > 1 ? truncationStyles.multiLine : displayStyles[resolvedDisplay],
125
126
  // Word break when truncating
@@ -8,7 +8,7 @@
8
8
  * - /packages/core/src/HoverCard/HoverCard.test.tsx
9
9
  * - /packages/core/src/HoverCard/index.ts
10
10
  * - /apps/storybook/stories/HoverCard.stories.tsx
11
- * - /packages/cli/templates/blocks/components/HoverCard/ (showcase blocks)
11
+ * - /packages/cli/assets/templates/blocks/components/HoverCard/ (showcase blocks)
12
12
  */
13
13
  import { type ReactElement, type ReactNode } from 'react';
14
14
  import { type HoverCardFocusTrigger } from './useHoverCard';
@@ -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
  import { useCallback, useRef } from 'react';
18
18
  import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
@@ -15,7 +15,7 @@
15
15
  * - /packages/core/src/Icon/Icon.test.tsx (tests for new/changed behavior)
16
16
  * - /packages/core/src/Icon/index.ts (exports if types change)
17
17
  * - /apps/storybook/stories/Icon.stories.tsx (storybook stories)
18
- * - /packages/cli/templates/blocks/components/Icon/ (showcase blocks)
18
+ * - /packages/cli/assets/templates/blocks/components/Icon/ (showcase blocks)
19
19
  */
20
20
  import React, { type ComponentType, type SVGProps } from 'react';
21
21
  import * as stylex from '@stylexjs/stylex';
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/Icon/Icon.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/D,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAqBnD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2Df,CAAC;AAEH;;;;;;;;GAQG;AACH,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;EAiBd,CAAC;AAyCH,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,QAAQ,CAAC,aAAa,CAAC,EACvB,KAAK,GAAG,OAAO,CAChB;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;;OAIG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAyBD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAiB,EACjB,IAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,qBA4CX;yBAtDe,IAAI;;;AA8HpB;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,EAChC,KAAK,CAAC,EAAE;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAC,GAC3C,KAAK,CAAC,SAAS,CAYjB"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/Icon/Icon.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/D,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAInD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAqBnD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2Df,CAAC;AAEH;;;;;;;;GAQG;AACH,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;EAiBd,CAAC;AAyCH,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,QAAQ,CAAC,aAAa,CAAC,EACvB,KAAK,GAAG,OAAO,CAChB;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;;OAIG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAyBD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAiB,EACjB,IAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,qBA4CX;yBAtDe,IAAI;;;AA+HpB;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,EAChC,KAAK,CAAC,EAAE;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAC,GAC3C,KAAK,CAAC,SAAS,CAYjB"}
package/dist/Icon/Icon.js CHANGED
@@ -19,12 +19,13 @@
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
  import React from 'react';
25
25
  import * as stylex from '@stylexjs/stylex';
26
26
  import "../theme/tokens.stylex.js";
27
27
  import { colorVars } from "../theme/tokens.stylex.js";
28
+ import { useThemeName } from "../theme/useTheme.js";
28
29
  import { getIcon } from "./globalIconRegistry.js";
29
30
  import { mergeProps } from "../utils/index.js";
30
31
  import { themeProps } from "../utils/themeProps.js";
@@ -305,7 +306,8 @@ function IconFromRegistry({
305
306
  xstyle,
306
307
  spanProps
307
308
  }) {
308
- const resolvedIcon = getIcon(name);
309
+ const themeName = useThemeName();
310
+ const resolvedIcon = getIcon(name, themeName);
309
311
  if (resolvedIcon == null) {
310
312
  return null;
311
313
  }
@@ -2,12 +2,13 @@
2
2
  * @file globalIconRegistry.tsx
3
3
  * @input None (pure module-level state)
4
4
  * @output Exports registerIcons, getIconRegistry, getIcon, resetIcons, IconName, IconRegistry
5
- * @position Global icon registry; works in both server and client environments
5
+ * @position Global and theme-scoped icon registry; works in server and client environments
6
6
  *
7
7
  * This module has NO 'use client' directive — it's importable from RSC.
8
- * All components use getIcon() to resolve icons from this global registry.
8
+ * Components resolve semantic icons through getIcon() or the client useIcon() hook.
9
9
  */
10
10
  import type { ReactNode } from 'react';
11
+ import type { DefinedTheme } from '../theme/defineTheme';
11
12
  /**
12
13
  * Semantic icon names used internally by Astryx components.
13
14
  *
@@ -15,10 +16,21 @@ import type { ReactNode } from 'react';
15
16
  * visual representation. Themes provide the actual icon components.
16
17
  */
17
18
  export type IconName = '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';
19
+ /**
20
+ * A semantic icon name — either one of the built-in {@link IconName}s or an
21
+ * arbitrary string key contributed by a library/app.
22
+ *
23
+ * The `(string & {})` intersection keeps the built-in names available for
24
+ * autocomplete while still allowing any string, so downstream libraries can
25
+ * register and resolve their own keys (e.g. `'richtext:bold'`) without having
26
+ * to widen the core `IconName` union.
27
+ */
28
+ export type ExtendedIconName = IconName | (string & {});
18
29
  /**
19
30
  * Icon registry mapping semantic names to React nodes.
20
31
  */
21
32
  export type IconRegistry = Record<IconName, ReactNode>;
33
+ export type IconRegistrySource = DefinedTheme | string | null | undefined;
22
34
  /**
23
35
  * Register icons at the module level. Works in both server and client
24
36
  * environments. Call once at app initialization (e.g. root layout).
@@ -32,8 +44,17 @@ export type IconRegistry = Record<IconName, ReactNode>;
32
44
  * import { brandIcons } from './brand-icons';
33
45
  * registerIcons(brandIcons);
34
46
  * ```
47
+ *
48
+ * Libraries may also register their own extension keys (any string), so a
49
+ * theme can override them the same way it overrides built-in icons:
50
+ * @example
51
+ * ```
52
+ * // In a library that ships its own icons:
53
+ * registerIcons({ 'richtext:bold': <MyBoldIcon /> });
54
+ * // resolve with getIcon('richtext:bold')
55
+ * ```
35
56
  */
36
- export declare function registerIcons(icons: Partial<IconRegistry>): void;
57
+ export declare function registerIcons(icons: Partial<Record<ExtendedIconName, ReactNode>>): void;
37
58
  /**
38
59
  * Get a snapshot of the full icon registry, with registered icons overriding
39
60
  * built-in defaults.
@@ -42,14 +63,35 @@ export declare function registerIcons(icons: Partial<IconRegistry>): void;
42
63
  * to derive valid semantic icon-name options from the same registry Icon
43
64
  * resolves against.
44
65
  */
45
- export declare function getIconRegistry(): Readonly<IconRegistry>;
66
+ export declare function getIconRegistry(source?: IconRegistrySource): Readonly<IconRegistry>;
46
67
  /**
47
68
  * Get an icon by name from the global registry, falling back to defaults.
48
69
  *
49
70
  * Works in both server and client environments.
50
71
  * Falls back to built-in default icons when no override is registered.
72
+ *
73
+ * Accepts extension keys (any string) in addition to the built-in
74
+ * {@link IconName}s — useful for library-contributed icons. For a
75
+ * caller-supplied fallback when a key isn't registered, use
76
+ * {@link getExtendedIcon}.
77
+ */
78
+ export declare function getIcon(name: ExtendedIconName, source?: IconRegistrySource): ReactNode;
79
+ /**
80
+ * Resolve an extension icon by an arbitrary string key, falling back to a
81
+ * caller-supplied default when nothing is registered.
82
+ *
83
+ * This is the seam libraries use to make their own icons themeable: ship the
84
+ * inline SVG as `fallback`, resolve through this function, and a theme can
85
+ * override the key via {@link registerIcons} without the library having to
86
+ * widen the core {@link IconName} union.
87
+ *
88
+ * @example
89
+ * ```
90
+ * // Library default, overridable by a theme registering 'richtext:bold':
91
+ * getExtendedIcon('richtext:bold', <BoldGlyph />)
92
+ * ```
51
93
  */
52
- export declare function getIcon(name: IconName): ReactNode;
94
+ export declare function getExtendedIcon(name: ExtendedIconName, fallback?: ReactNode, source?: IconRegistrySource): ReactNode;
53
95
  /**
54
96
  * Reset the global registry. For testing only.
55
97
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"globalIconRegistry.d.ts","sourceRoot":"","sources":["../../src/Icon/globalIconRegistry.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAOrC;;;;;GAKG;AAEH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,GACP,cAAc,GACd,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,WAAW,GACX,cAAc,GACd,QAAQ,GACR,UAAU,GACV,aAAa,GACb,MAAM,GACN,aAAa,GACb,QAAQ,GACR,MAAM,GACN,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAQvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAAC,YAAY,CAAC,CAQxD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAEjD;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
1
+ {"version":3,"file":"globalIconRegistry.d.ts","sourceRoot":"","sources":["../../src/Icon/globalIconRegistry.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAQvD;;;;;GAKG;AAEH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,GACP,cAAc,GACd,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,WAAW,GACX,cAAc,GACd,QAAQ,GACR,UAAU,GACV,aAAa,GACb,MAAM,GACN,aAAa,GACb,QAAQ,GACR,MAAM,GACN,YAAY,CAAC;AAEjB;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAsB1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,GAClD,IAAI,CAON;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,QAAQ,CAAC,YAAY,CAAC,CAkBxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,gBAAgB,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,SAAS,CAOX;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,QAAQ,CAAC,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,SAAS,CAQX;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
@@ -4,13 +4,15 @@
4
4
  * @file globalIconRegistry.tsx
5
5
  * @input None (pure module-level state)
6
6
  * @output Exports registerIcons, getIconRegistry, getIcon, resetIcons, IconName, IconRegistry
7
- * @position Global icon registry; works in both server and client environments
7
+ * @position Global and theme-scoped icon registry; works in server and client environments
8
8
  *
9
9
  * This module has NO 'use client' directive — it's importable from RSC.
10
- * All components use getIcon() to resolve icons from this global registry.
10
+ * Components resolve semantic icons through getIcon() or the client useIcon() hook.
11
11
  */
12
12
 
13
13
  import { defaultIcons } from "./defaultIcons.js";
14
+ import { getRegisteredTheme } from "../theme/themeRegistry.js";
15
+ import { warnOnce } from "../utils/devWarning.js";
14
16
 
15
17
  // =============================================================================
16
18
  // Types
@@ -22,7 +24,17 @@ import { defaultIcons } from "./defaultIcons.js";
22
24
  * These represent the functional purpose of each icon, not a specific
23
25
  * visual representation. Themes provide the actual icon components.
24
26
  */
25
- // SYNC: packages/cli/docs/icons.doc.mjs — update USAGE_HINTS when adding names
27
+ // SYNC: packages/cli/assets/docs/icons.doc.mjs — update USAGE_HINTS when adding names
28
+
29
+ /**
30
+ * A semantic icon name — either one of the built-in {@link IconName}s or an
31
+ * arbitrary string key contributed by a library/app.
32
+ *
33
+ * The `(string & {})` intersection keeps the built-in names available for
34
+ * autocomplete while still allowing any string, so downstream libraries can
35
+ * register and resolve their own keys (e.g. `'richtext:bold'`) without having
36
+ * to widen the core `IconName` union.
37
+ */
26
38
 
27
39
  /**
28
40
  * Icon registry mapping semantic names to React nodes.
@@ -33,6 +45,15 @@ import { defaultIcons } from "./defaultIcons.js";
33
45
  // =============================================================================
34
46
 
35
47
  let globalRegistry = {};
48
+ function getThemeIconOverrides(source) {
49
+ if (source == null) {
50
+ return null;
51
+ }
52
+ if (typeof source === 'string') {
53
+ return getRegisteredTheme(source)?.icons ?? null;
54
+ }
55
+ return source.icons ?? null;
56
+ }
36
57
 
37
58
  /**
38
59
  * Register icons at the module level. Works in both server and client
@@ -47,8 +68,18 @@ let globalRegistry = {};
47
68
  * import { brandIcons } from './brand-icons';
48
69
  * registerIcons(brandIcons);
49
70
  * ```
71
+ *
72
+ * Libraries may also register their own extension keys (any string), so a
73
+ * theme can override them the same way it overrides built-in icons:
74
+ * @example
75
+ * ```
76
+ * // In a library that ships its own icons:
77
+ * registerIcons({ 'richtext:bold': <MyBoldIcon /> });
78
+ * // resolve with getIcon('richtext:bold')
79
+ * ```
50
80
  */
51
81
  export function registerIcons(icons) {
82
+ warnOnce('icon-registry:global-register-icons', 'Icon', '`registerIcons()` applies icon overrides globally. Prefer `defineTheme({ icons })` for theme-scoped icon overrides.');
52
83
  globalRegistry = {
53
84
  ...globalRegistry,
54
85
  ...icons
@@ -63,13 +94,23 @@ export function registerIcons(icons) {
63
94
  * to derive valid semantic icon-name options from the same registry Icon
64
95
  * resolves against.
65
96
  */
66
- export function getIconRegistry() {
97
+ export function getIconRegistry(source) {
67
98
  const registry = {
68
99
  ...defaultIcons
69
100
  };
70
- for (const name of Object.keys(globalRegistry)) {
101
+
102
+ // Only surface built-in IconName keys here — extension keys registered by
103
+ // libraries are resolved via getIcon/getExtendedIcon and intentionally kept
104
+ // out of the typed IconRegistry snapshot.
105
+ for (const name of Object.keys(defaultIcons)) {
71
106
  registry[name] = globalRegistry[name] ?? defaultIcons[name];
72
107
  }
108
+ const themeIcons = getThemeIconOverrides(source);
109
+ if (themeIcons != null) {
110
+ for (const name of Object.keys(themeIcons)) {
111
+ registry[name] = themeIcons[name] ?? registry[name];
112
+ }
113
+ }
73
114
  return registry;
74
115
  }
75
116
 
@@ -78,9 +119,35 @@ export function getIconRegistry() {
78
119
  *
79
120
  * Works in both server and client environments.
80
121
  * Falls back to built-in default icons when no override is registered.
122
+ *
123
+ * Accepts extension keys (any string) in addition to the built-in
124
+ * {@link IconName}s — useful for library-contributed icons. For a
125
+ * caller-supplied fallback when a key isn't registered, use
126
+ * {@link getExtendedIcon}.
127
+ */
128
+ export function getIcon(name, source) {
129
+ const themeIcons = getThemeIconOverrides(source);
130
+ return themeIcons?.[name] ?? globalRegistry[name] ?? defaultIcons[name];
131
+ }
132
+
133
+ /**
134
+ * Resolve an extension icon by an arbitrary string key, falling back to a
135
+ * caller-supplied default when nothing is registered.
136
+ *
137
+ * This is the seam libraries use to make their own icons themeable: ship the
138
+ * inline SVG as `fallback`, resolve through this function, and a theme can
139
+ * override the key via {@link registerIcons} without the library having to
140
+ * widen the core {@link IconName} union.
141
+ *
142
+ * @example
143
+ * ```
144
+ * // Library default, overridable by a theme registering 'richtext:bold':
145
+ * getExtendedIcon('richtext:bold', <BoldGlyph />)
146
+ * ```
81
147
  */
82
- export function getIcon(name) {
83
- return globalRegistry[name] ?? defaultIcons[name];
148
+ export function getExtendedIcon(name, fallback, source) {
149
+ const themeIcons = getThemeIconOverrides(source);
150
+ return themeIcons?.[name] ?? globalRegistry[name] ?? defaultIcons[name] ?? fallback;
84
151
  }
85
152
 
86
153
  /**
@@ -7,7 +7,8 @@
7
7
  * SYNC: When modified, update this header and /packages/core/src/Icon/Icon.doc.mjs
8
8
  */
9
9
  export { Icon, renderIconSlot } from './Icon';
10
- export type { IconProps, IconColor, IconSize, IconType, } from './Icon';
11
- export { registerIcons, getIconRegistry, getIcon, resetIcons, } from './globalIconRegistry';
12
- export type { IconName, IconRegistry } from './globalIconRegistry';
10
+ export { useIcon } from './useIcon';
11
+ export type { IconProps, IconColor, IconSize, IconType } from './Icon';
12
+ export { registerIcons, getIconRegistry, getIcon, getExtendedIcon, resetIcons, } from './globalIconRegistry';
13
+ export type { IconName, ExtendedIconName, IconRegistry, IconRegistrySource, } from './globalIconRegistry';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Icon/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,IAAI,EAAE,cAAc,EAAC,MAAM,QAAQ,CAAC;AAC5C,YAAY,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,aAAa,EACb,eAAe,EACf,OAAO,EACP,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Icon/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,IAAI,EAAE,cAAc,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,YAAY,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAGrE,OAAO,EACL,aAAa,EACb,eAAe,EACf,OAAO,EACP,eAAe,EACf,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,sBAAsB,CAAC"}
@@ -11,5 +11,6 @@
11
11
  * SYNC: When modified, update this header and /packages/core/src/Icon/Icon.doc.mjs
12
12
  */
13
13
  export { Icon, renderIconSlot } from "./Icon.js";
14
+ export { useIcon } from "./useIcon.js";
14
15
  // Global registry (RSC-compatible, no 'use client')
15
- export { registerIcons, getIconRegistry, getIcon, resetIcons } from "./globalIconRegistry.js";
16
+ export { registerIcons, getIconRegistry, getIcon, getExtendedIcon, resetIcons } from "./globalIconRegistry.js";
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @file useIcon.ts
3
+ * @input Semantic icon name
4
+ * @output Exports useIcon hook for theme-aware icon lookup
5
+ * @position Client hook for components that render registry icons directly
6
+ */
7
+ import type { ReactNode } from 'react';
8
+ import { type IconName } from './globalIconRegistry';
9
+ /**
10
+ * Resolve a semantic icon name from the nearest Theme, falling back through
11
+ * root theme registration, global icon overrides, and built-in defaults.
12
+ */
13
+ export declare function useIcon(name: IconName): ReactNode;
14
+ //# sourceMappingURL=useIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIcon.d.ts","sourceRoot":"","sources":["../../src/Icon/useIcon.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAErC,OAAO,EAAU,KAAK,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAGjD"}
@@ -0,0 +1,21 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file useIcon.ts
7
+ * @input Semantic icon name
8
+ * @output Exports useIcon hook for theme-aware icon lookup
9
+ * @position Client hook for components that render registry icons directly
10
+ */
11
+ import { useThemeName } from "../theme/useTheme.js";
12
+ import { getIcon } from "./globalIconRegistry.js";
13
+
14
+ /**
15
+ * Resolve a semantic icon name from the nearest Theme, falling back through
16
+ * root theme registration, global icon overrides, and built-in defaults.
17
+ */
18
+ export function useIcon(name) {
19
+ const themeName = useThemeName();
20
+ return getIcon(name, themeName);
21
+ }
@@ -9,7 +9,7 @@
9
9
  * - /packages/core/src/IconButton/IconButton.test.tsx (tests)
10
10
  * - /packages/core/src/IconButton/index.ts (exports if types change)
11
11
  * - /apps/storybook/stories/IconButton.stories.tsx (storybook stories)
12
- * - /packages/cli/templates/blocks/components/IconButton/ (showcase blocks)
12
+ * - /packages/cli/assets/templates/blocks/components/IconButton/ (showcase blocks)
13
13
  */
14
14
  import type { ReactNode } from 'react';
15
15
  import type { ButtonProps } from '../Button/Button';
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/IconButton/IconButton.test.tsx (tests)
14
14
  * - /packages/core/src/IconButton/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/IconButton.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/IconButton/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/IconButton/ (showcase blocks)
17
17
  */
18
18
  import { Button } from "../Button/Button.js";
19
19
 
@@ -14,7 +14,7 @@
14
14
  * - /packages/core/src/InputGroup/InputGroup.test.tsx
15
15
  * - /packages/core/src/InputGroup/index.ts
16
16
  * - /apps/storybook/stories/InputGroup.stories.tsx
17
- * - /packages/cli/templates/blocks/components/InputGroup/
17
+ * - /packages/cli/assets/templates/blocks/components/InputGroup/
18
18
  */
19
19
  import { type ReactNode } from 'react';
20
20
  import { type InputStatus } from '../Field';
@@ -18,7 +18,7 @@
18
18
  * - /packages/core/src/InputGroup/InputGroup.test.tsx
19
19
  * - /packages/core/src/InputGroup/index.ts
20
20
  * - /apps/storybook/stories/InputGroup.stories.tsx
21
- * - /packages/cli/templates/blocks/components/InputGroup/
21
+ * - /packages/cli/assets/templates/blocks/components/InputGroup/
22
22
  */
23
23
  import { useId, useMemo } from 'react';
24
24
  import * as stylex from '@stylexjs/stylex';