@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,969 +0,0 @@
1
- /**
2
- * @file Type definitions for component documentation.
3
- *
4
- * Every component directory under `packages/core/src/` has a `{Name}.doc.mjs`
5
- * that exports a single `docs` constant typed via JSDoc. The CLI imports these
6
- * directly — no markdown parsing needed.
7
- */
8
- /**
9
- * Documents a single component prop. Each prop the component accepts
10
- * should have an entry. Skip internal/styling props like `xstyle`,
11
- * `className`, `style`, and `data-testid`.
12
- *
13
- * @example
14
- * ```
15
- * {name: 'label', type: 'string', description: 'Visible label text', required: true}
16
- * {name: 'size', type: "'sm' | 'md' | 'lg'", description: 'Control size', default: "'md'"}
17
- * {name: 'onChange', type: '(value: string) => void', description: 'Called when value changes.'}
18
- * ```
19
- */
20
- export interface PropDoc {
21
- /** Prop name exactly as used in JSX, camelCased.
22
- * Callbacks start with `on` (`"onChange"`, `"onToggle"`).
23
- * Booleans use `is`/`has` prefix (`"isDisabled"`, `"hasHover"`). */
24
- name: string;
25
- /** TypeScript type signature as a string. Use single quotes for string
26
- * literal unions. Keep close to the actual TS type.
27
- *
28
- * Simple: `"string"`, `"boolean"`, `"ReactNode"`
29
- * Union: `"'primary' | 'secondary' | 'ghost'"`
30
- * Function: `"(checked: boolean, e: ChangeEvent) => void"`
31
- * Async: `"(e: MouseEvent) => void | Promise<void>"`
32
- * Generic: `"TableColumn<T>[]"` */
33
- type: string;
34
- /** What this prop does, in 1-2 sentences. Focus on behavior and
35
- * consequences rather than restating the prop name.
36
- *
37
- * Good: `"Shows a loading spinner and disables interaction."`
38
- * Weak: `"Shows a loading spinner."` */
39
- description: string;
40
- /** Default value as a string, if the prop is optional and has one.
41
- * String literals in single quotes: `"'md'"`, `"'balanced'"`.
42
- * Other values unquoted: `"false"`, `"0"`, `"() => true"`.
43
- * Omit entirely for required props or optional props with no default. */
44
- default?: string;
45
- /** True if the prop must be provided. Omit (don't set to false) if optional. */
46
- required?: boolean;
47
- /** For ReactNode props: the Astryx components this slot typically accepts.
48
- * Each entry is an ElementDescriptor that the playground uses to
49
- * create a default instance when the user toggles the slot on.
50
- *
51
- * Single-element slots (icon, endContent) have one option with a toggle.
52
- * Multi-element slots (children on List) can have options the user picks from.
53
- *
54
- * The playground uses this instead of hardcoded component→control mappings.
55
- * Omit for ReactNode props that accept plain text (label, description).
56
- *
57
- * @example
58
- * ```
59
- * // Single option — renders as a toggle switch
60
- * slotElements: [{__element: 'Icon', props: {icon: 'check', size: 'sm'}}]
61
- *
62
- * // Multiple options — renders as a selector
63
- * slotElements: [
64
- * {__element: 'Icon', props: {icon: 'check', size: 'sm'}},
65
- * {__element: 'Badge', props: {label: 'Badge'}},
66
- * ]
67
- * ```
68
- */
69
- slotElements?: ElementDescriptor[];
70
- }
71
- /**
72
- * A theming target — a stable selector surface that `defineTheme` can target
73
- * via `@scope` selectors. Each component renders one or more stable `xds-*`
74
- * class names and reflects visual props/states as `data-*` attributes via
75
- * `themeProps()`, so themes and external CSS have an explicit prop-aware selector surface.
76
- *
77
- * @example
78
- * ```
79
- * {className: 'astryx-button', visualProps: ['variant', 'size']}
80
- * {className: 'astryx-avatar-status-dot', visualProps: ['variant']}
81
- * {className: 'astryx-card'}
82
- * ```
83
- */
84
- export interface ThemingTarget {
85
- /** The stable CSS class name rendered by the component.
86
- * Always starts with `astryx-`.
87
- * e.g. `"astryx-button"`, `"astryx-avatar-status-dot"`, `"astryx-card"` */
88
- className: string;
89
- /** Visual prop names reflected on this element.
90
- * These are the props passed to `themeProps()` as the second argument.
91
- * Use these names to derive preferred data selectors: `variant` →
92
- * `[data-variant="secondary"]`, `level` → `[data-level="2"]`. Legacy bare
93
- * classes are still emitted for compatibility but should not be the primary
94
- * documentation surface. Omit if the component has no visual props (class
95
- * name only). */
96
- visualProps?: string[];
97
- /** State names that appear on this element based on component state.
98
- * Unlike visualProps (driven by props), these reflect runtime state
99
- * (checked, selected, today, on, expanded, etc.). Use these names to derive preferred data selectors such as
100
- * `[data-checked="checked"]`. Legacy state classes are still emitted for
101
- * compatibility. Omit if the element has no state-driven selectors. */
102
- states?: string[];
103
- }
104
- /**
105
- * Maps a standard CSS property to one or more internal CSS custom properties.
106
- *
107
- * Theme authors write standard CSS (e.g. `borderRadius: '32px'`). The theme
108
- * pipeline reads this metadata and expands it: emitting both the CSS property
109
- * AND the internal var(s) that the component reads.
110
- *
111
- * Entries are ordered by priority — earlier entries are emitted first.
112
- * When multiple entries share the same `property`, all fire (in order).
113
- *
114
- * The special `expand: 'container'` triggers the 7-token container padding
115
- * expansion instead of setting a specific var.
116
- *
117
- * @example
118
- * ```
119
- * // Simple: borderRadius → one internal var
120
- * { property: 'borderRadius', vars: ['--_card-radius'] }
121
- *
122
- * // Container expansion: padding → 7 container tokens
123
- * { property: 'padding', expand: 'container' }
124
- *
125
- * // Multiple vars from one property
126
- * { property: 'padding', vars: ['--_chat-composer-padding', '--_composer-button-offset'] }
127
- *
128
- * // Multiple entries for the same property (both fire, in order)
129
- * { property: 'padding', expand: 'container' },
130
- * { property: 'padding', vars: ['--_card-padding'] },
131
- * ```
132
- */
133
- export interface DerivedVar {
134
- /** The standard CSS property name (camelCase) that theme authors write.
135
- * e.g. `'borderRadius'`, `'padding'`, `'paddingBlock'` */
136
- property: string;
137
- /** Internal CSS custom property names to set when this property appears
138
- * in a theme's component overrides. Omit when using `expand`. */
139
- vars?: string[];
140
- /** Named expansion strategy instead of specific vars.
141
- * `'container'` — expands padding to 7 container layout tokens. */
142
- expand?: 'container';
143
- }
144
- /**
145
- * Documents a CSS custom property exposed by a component for theming.
146
- * These vars are set on the component's root element and can be overridden
147
- * via `defineTheme` component overrides.
148
- *
149
- * @example
150
- * ```
151
- * {name: '--_card-radius', description: 'Border radius', default: 'var(--radius-container)'}
152
- * {name: '--card-concentric-radius', description: 'Inner radius', derived: true, formula: 'max(0px, calc(var(--_card-radius) - var(--card-padding)))'}
153
- * ```
154
- */
155
- export interface ComponentVar {
156
- /** CSS custom property name, e.g. '--_card-radius' or '--button-press-scale' */
157
- name: string;
158
- /** What this var controls */
159
- description: string;
160
- /** Default value as a CSS expression, e.g. 'var(--radius-container)' */
161
- default: string;
162
- /** Whether this var is derived from other vars (not directly settable) */
163
- derived?: boolean;
164
- /** CSS expression showing how derived vars are computed */
165
- formula?: string;
166
- /**
167
- * Whether this var is private (internal implementation detail).
168
- * Private vars are set by the derived var expansion pipeline — theme
169
- * authors write standard CSS properties instead of setting them directly.
170
- * The CLI hides private vars from theming output.
171
- * `astryx theme build` errors if a theme sets a private var directly.
172
- */
173
- private?: boolean;
174
- }
175
- /**
176
- * Documents one component within a multi-component directory. Used when a
177
- * directory exports multiple public components (e.g. Table exports Table,
178
- * BaseTable, TableRow, TableCell, TableHeaderCell).
179
- *
180
- * Also use for hooks that are part of a component API (e.g.
181
- * useTableSelection). For hook entries, document arguments in `params`
182
- * and return fields in `returns` so the docsite renders a Parameters / Returns
183
- * signature instead of an interactive Properties playground. Order components
184
- * with the primary/most-used component first.
185
- */
186
- export interface ComponentEntry {
187
- /** Full export name including Astryx prefix. e.g. `"TableRow"`,
188
- * `"DialogHeader"`, `"useTableSelection"` */
189
- name: string;
190
- /** Human-readable display name for this subcomponent. Matches the import
191
- * name visually with spaces between PascalCase / camelCase words
192
- * (e.g. `"TableRow"` → `"Astryx Table Row"`). See `BaseDoc.displayName`. */
193
- displayName: string;
194
- /** One-sentence description of what this specific component does.
195
- * For sub-components, explain the role within the parent composition. */
196
- description: string;
197
- /** All public props for this component. Omit for hook entries. */
198
- props?: PropDoc[];
199
- /** Hook parameters or options object fields. Use for `use*` entries. */
200
- params?: HookParamDoc[];
201
- /** Hook return value fields. Use for `use*` entries. */
202
- returns?: HookReturnDoc[];
203
- /** Usage documentation for this specific component or hook. */
204
- usage?: UsageDoc;
205
- /** Components this hook is commonly used with. */
206
- relatedComponents?: string[];
207
- /** Other hooks this hook is commonly used with. */
208
- relatedHooks?: string[];
209
- /** Short code examples rendered by the CLI after the props table. */
210
- examples?: ExampleDoc[];
211
- /** When true, this sub-component is excluded from the overview page. */
212
- isHiddenFromOverview?: boolean;
213
- /** Playground configuration for this specific component. Falls back to
214
- * the directory doc's `playground` when omitted — declare one here when
215
- * siblings must not share it (e.g. an overlay drawer whose toggle
216
- * sub-component should not inherit `overlay: true`). */
217
- playground?: PlaygroundConfig;
218
- }
219
- /**
220
- * Code example for a component or sub-component.
221
- */
222
- export interface ExampleDoc {
223
- /** Optional heading shown above the code block. */
224
- label?: string;
225
- /** TSX source for the example. */
226
- code: string;
227
- }
228
- /**
229
- * Documents one element in a component's anatomy breakdown.
230
- * Anatomy describes the visual/structural parts that make up a component
231
- * (e.g. a Button has: left icon, label, end content, container).
232
- *
233
- * @example
234
- * ```
235
- * {name: 'Label', required: true, description: 'Accessible text for the button. Set isLabelHidden to visually hide it.'}
236
- * {name: 'Left icon', required: false, description: 'Visually represents the meaning of the button label. Icon size is typically 16px.'}
237
- * ```
238
- */
239
- export interface AnatomyElement {
240
- /** Human-readable element name. e.g. `"Label"`, `"Left icon"`, `"Container"` */
241
- name: string;
242
- /** Whether this element is required for the component to function. */
243
- required: boolean;
244
- /** What this element is and how it contributes to the component. 1-2 sentences. */
245
- description: string;
246
- }
247
- /**
248
- * A single do/don't best practice for a component.
249
- * Rendered as a table row with a colored "Do" or "Don't" badge
250
- * in the Guidance column and the description in the Practices column.
251
- *
252
- * @example
253
- * ```
254
- * {guidance: true, description: 'Convey clear action hierarchy. Each surface should only have 1 primary button.'}
255
- * {guidance: false, description: 'Overuse primary or special buttons. Overusing colored buttons creates visual confusion.'}
256
- * ```
257
- */
258
- export interface BestPractice {
259
- /** `true` renders a green "Do" badge; `false` renders a red "Don't" badge. */
260
- guidance: boolean;
261
- /** 1-2 short sentences of design guidance. Focus on how a designer
262
- * would USE the component, not how it's built.
263
- *
264
- * NEVER start with "Do" or "Don't" — the badge handles that.
265
- *
266
- * Good: `"Convey clear action hierarchy. Each surface should only have 1 primary button."`
267
- * Bad: `"Do use clear action hierarchy."` */
268
- description: string;
269
- }
270
- /**
271
- * Component usage documentation — a concise summary, design guidance
272
- * best practices, and optional visual anatomy.
273
- *
274
- * ## description
275
- * Exactly 2-3 short sentences:
276
- * - Sentence 1: What the component is and does.
277
- * - Sentence 2-3: When to use it, or what context it belongs in.
278
- *
279
- * Reference tone: "Buttons provide visual cues for actions and events.
280
- * These fundamental components allow users to commit actions and navigate
281
- * a page flow. Use a Button when a user needs to submit a form, start a
282
- * new task or action, or trigger a new UI element to appear on the page."
283
- *
284
- * ## bestPractices
285
- * Array of 3-4 items. Usually 2 Do items, then 1-2 Don't items.
286
- * Each item is design guidance — not implementation details.
287
- * Never start the description with "Do" or "Don't".
288
- */
289
- export interface UsageDoc {
290
- /** What the component is and when to use it. 2-3 short sentences.
291
- *
292
- * Sentence 1: What the component is and does.
293
- * Sentence 2-3: When to use it, or what context it belongs in.
294
- *
295
- * e.g. `"Buttons provide visual cues for actions and events. These
296
- * fundamental components allow users to commit actions and navigate
297
- * a page flow. Use a Button when a user needs to submit a form,
298
- * start a new task or action, or trigger a new UI element to appear
299
- * on the page."` */
300
- description: string;
301
- /** 3-4 do/don't design guidance items. Usually 2 Do's then 1-2 Don'ts.
302
- * Focus on how a designer would USE the component, not how it's built. */
303
- bestPractices?: BestPractice[];
304
- /** Structural/visual anatomy of the component. Each entry describes one
305
- * element that makes up the component (icon slot, label, container, etc.).
306
- * Order entries in the visual reading order (leading → trailing, top → bottom). */
307
- anatomy?: AnatomyElement[];
308
- }
309
- /**
310
- * A serializable descriptor for a React element. The playground resolves
311
- * these at runtime via `createElement(Core[component], props, ...children)`.
312
- *
313
- * Use this for any prop value that needs to be a React element —
314
- * children slots, icon props, endContent, etc.
315
- *
316
- * @example
317
- * ```
318
- * // Simple element
319
- * {__element: 'Icon', props: {icon: 'check', size: 'sm'}}
320
- *
321
- * // Element with text children
322
- * {__element: 'Text', props: {type: 'body'}, children: 'Hello world'}
323
- *
324
- * // Nested composition
325
- * {__element: 'VStack', props: {gap: 2}, children: [
326
- * {__element: 'Heading', props: {level: 3}, children: 'Title'},
327
- * {__element: 'Text', props: {}, children: 'Body text'},
328
- * ]}
329
- * ```
330
- */
331
- export interface ElementDescriptor {
332
- /** Marker field — presence distinguishes this from a plain object prop value. */
333
- __element: string;
334
- /** Props passed to createElement. Omit or use {} for no props. */
335
- props?: Record<string, unknown>;
336
- /** Children — a string, another ElementDescriptor, or an array of them. */
337
- children?: string | ElementDescriptor | (string | ElementDescriptor)[];
338
- }
339
- /**
340
- * Playground configuration for the interactive component preview.
341
- *
342
- * `defaults` provides the initial prop state for the playground. Every key
343
- * maps to a prop name, and the value is either:
344
- * - A **primitive** (string, number, boolean) — used directly as the prop value
345
- * - An **ElementDescriptor** — resolved to a React element via createElement
346
- *
347
- * Props not listed in `defaults` fall back to the standard logic:
348
- * doc `default` values, then auto-generated values for required props.
349
- *
350
- * @example
351
- * ```
352
- * // Button — just override the label
353
- * playground: {
354
- * defaults: {label: 'Click me', variant: 'primary'},
355
- * }
356
- *
357
- * // Card — provide children content
358
- * playground: {
359
- * defaults: {
360
- * padding: 4,
361
- * children: {
362
- * __element: 'VStack', props: {gap: 2}, children: [
363
- * {__element: 'Heading', props: {level: 3}, children: 'Card Title'},
364
- * {__element: 'Text', props: {type: 'body'}, children: 'Card content goes here.'},
365
- * ],
366
- * },
367
- * },
368
- * }
369
- *
370
- * // Dialog — provide structured children
371
- * playground: {
372
- * defaults: {
373
- * isOpen: true,
374
- * isInline: true,
375
- * onOpenChange: undefined,
376
- * children: {__element: 'Text', props: {type: 'body'}, children: 'Dialog content'},
377
- * },
378
- * }
379
- * ```
380
- */
381
- export interface PlaygroundConfig {
382
- /** Initial prop values for the playground preview.
383
- * Keys are prop names. Values are primitives or ElementDescriptors. */
384
- defaults?: Record<string, unknown>;
385
- /** The component opens as a full-viewport overlay (e.g. via
386
- * `dialog.showModal()`) and renders nothing inline while closed. The
387
- * interactive preview shows an open-trigger placeholder instead of an
388
- * empty stage while `isOpen` is false, and lets the real overlay render
389
- * when opened. Include `isOpen: false` in `defaults` so the preview can
390
- * bridge `onOpenChange` back into playground state.
391
- *
392
- * Only for components with no inline containment (MobileNav, Lightbox).
393
- * Components with an `isInline` docs-preview prop (Dialog, AlertDialog,
394
- * CommandPalette) intentionally keep contained inline previews instead:
395
- * the component is visible on load and knobs stay usable, whereas a real
396
- * top-layer modal makes the rest of the page inert (#3657). */
397
- overlay?: boolean;
398
- /** Required parent wrapper for sub-components that depend on a parent
399
- * context provider (e.g. `Tab` calls `useTabListContext()` and throws
400
- * standalone). The preview wraps the component in this parent before
401
- * rendering, injecting it as `children`. Provide any props the wrapper
402
- * requires (e.g. a matching `value`).
403
- *
404
- * @example
405
- * ```
406
- * playground: {wrapper: {component: 'TabList', props: {value: 'tab-1'}}}
407
- * ```
408
- */
409
- wrapper?: {
410
- /** Parent component name as exported from `@astryxdesign/core`, e.g. `'TabList'`. */
411
- component: string;
412
- /** Props for the wrapper. The previewed sub-component becomes its `children`. */
413
- props?: Record<string, unknown>;
414
- };
415
- }
416
- /**
417
- * Shared fields between single-component and multi-component docs.
418
- * Do not use this interface directly — use `ComponentDoc` (the union type).
419
- */
420
- interface BaseDoc {
421
- /** Directory name without the Astryx prefix, PascalCase.
422
- * e.g. `"Button"`, `"Table"`, `"TextInput"`, `"AppShell"` */
423
- name: string;
424
- /** Human-readable display name with spaces between words, used by the
425
- * docsite gallery and sidebar. Matches the import name visually (so
426
- * `"AppShell"` → `"App Shell"`, `"ChatMessageMetadata"` → `"Chat
427
- * Message Metadata"`). Required so authors stay in control of how
428
- * each component reads in the UI rather than relying on a build-time
429
- * regex derivation. Backfill with
430
- * `apps/docsite/scripts/backfill-display-name.mjs`. */
431
- displayName: string;
432
- /** Search keywords for CLI discovery. Terms a developer might type when
433
- * looking for this component: synonyms, related UI concepts, and common
434
- * names from other design systems (MUI, Chakra, Radix, shadcn).
435
- * Lowercase only. Used by `astryx component <term>` for fuzzy matching.
436
- * e.g. `['accordion', 'expand', 'toggle', 'disclosure']` for Collapsible */
437
- keywords?: string[];
438
- /** Sub-component names to hide from human-facing UI (CLI listings,
439
- * docs catalogs). The components stay public and importable — agents
440
- * and tooling can still discover them via source. Use when the
441
- * directory's doc covers a group but some Astryx*.tsx files shouldn't
442
- * appear in the catalog. */
443
- hiddenComponents?: string[];
444
- /** Hide this entire component from human-facing UI (CLI listings,
445
- * docs catalogs). The component stays public and importable — agents
446
- * and tooling can still discover it via source. Use for shared
447
- * primitives (NavIcon, NavMenu) that only make sense in the context
448
- * of their parent compositions. */
449
- hidden?: boolean;
450
- /** Optional group for sidebar/docs organization.
451
- * Components without a group appear flat in alphabetical order.
452
- * Groups cluster related components that are always used together
453
- * or are variants of each other. */
454
- group?: string;
455
- /** Component category for the overview page gallery. Independent of
456
- * `group` (which is for the sidebar). Categories represent the
457
- * component's functional role in a UI.
458
- *
459
- * Valid values:
460
- * - `'Action'` — interactive triggers: buttons, links, toggles, menus
461
- * - `'Chat'` — conversational UI: messages, composers, layouts
462
- * - `'Container'` — wrappers: cards, carousels, collapsibles
463
- * - `'Content'` — display: text, icons, avatars, code blocks
464
- * - `'Data Input'` — data entry: text fields, selectors, date pickers
465
- * - `'Data Visualization'` — charts, graphs, 3D visualizations
466
- * - `'Feedback & Status'` — progress indication: spinners, banners, badges
467
- * - `'Layout'` — structural: grid, stack, dividers, app shell
468
- * - `'Navigation'` — wayfinding: tabs, breadcrumbs, sidebars
469
- * - `'Overlay'` — layered UI: dialogs, popovers, tooltips
470
- * - `'Table & List'` — tabular and list data display
471
- * - `'Utility'` — providers and context: themes, link providers */
472
- category?: 'Action' | 'Chat' | 'Container' | 'Content' | 'Data Input' | 'Data Visualization' | 'Feedback & Status' | 'Layout' | 'Navigation' | 'Overlay' | 'Table & List' | 'Utility';
473
- /** When true, this component is excluded from the categorized overview
474
- * page but remains in the sidebar and CLI. Use for sub-components that
475
- * only make sense within a parent (e.g. BreadcrumbItem, DialogHeader)
476
- * or internal primitives that shouldn't appear in the gallery. */
477
- isHiddenFromOverview?: boolean;
478
- /** Theming configuration. Documents the stable selector surface rendered
479
- * by this component: `xds-*` classes plus data-attribute reflections that
480
- * themes can target via `@scope` selectors in `defineTheme`. */
481
- theming?: {
482
- /** Whether this component is a container whose `padding` properties
483
- * should be mapped to container tokens by the theme pipeline.
484
- * When true, `padding`, `paddingBlock`, `paddingInline` etc. in
485
- * component overrides are expanded to `--container-padding-*` and
486
- * `--layout-padding-*` tokens instead of emitting raw CSS. */
487
- container?: boolean;
488
- /** Selector targets rendered by this component.
489
- * Each entry corresponds to an `themeProps()` call in the source. */
490
- targets: ThemingTarget[];
491
- /** CSS custom properties exposed for theming. */
492
- vars?: ComponentVar[];
493
- /** Maps standard CSS properties to internal vars for theme pipeline
494
- * expansion. Ordered by priority — earlier entries emit first.
495
- * The pipeline reads this to know: when a theme sets `borderRadius`
496
- * on this component, also emit the internal var.
497
- * @see DerivedVar */
498
- derived?: DerivedVar[];
499
- };
500
- /** Component usage documentation — concise summary, best practices,
501
- * and optional visual anatomy. */
502
- usage: UsageDoc;
503
- /** Short code examples rendered by the CLI after the props table. */
504
- examples?: ExampleDoc[];
505
- /** Playground configuration. Controls how the interactive preview
506
- * renders this component with sensible defaults and slot content. */
507
- playground?: PlaygroundConfig;
508
- }
509
- /**
510
- * Documentation for a directory that exports a single primary component.
511
- * Props live directly on this object.
512
- *
513
- * Use this when the directory has one main `XDS*.tsx` file
514
- * (e.g. Switch, Badge, Spinner, TextInput).
515
- */
516
- export interface SingleComponentDoc extends BaseDoc {
517
- /** All public props for the component. */
518
- props: PropDoc[];
519
- }
520
- /**
521
- * A cross-link reference to a sub-component that lives in its own sibling
522
- * `{Name}.doc.mjs` file (see {@link SubComponentDoc}). The parent's
523
- * `components` array lists these names so the family stays discoverable;
524
- * the entry's content is emitted from the sub-component's own file, not here.
525
- */
526
- export interface ComponentRef {
527
- /** Full export name including Astryx prefix, e.g. `"ChatComposer"`. Must
528
- * match the `name` field of the referenced sub-component's own doc. */
529
- name: string;
530
- }
531
- /**
532
- * Documentation for a directory that exports multiple public components.
533
- * Props live on each entry in `components`.
534
- *
535
- * Use this when the directory has multiple `XDS*.tsx` files
536
- * (e.g. Table, Dialog, TabList, TopNav, Layout).
537
- *
538
- * Each `components` entry is either a full {@link ComponentEntry} (inline
539
- * sub-component) or a name-only {@link ComponentRef} pointing at a sibling
540
- * `{Name}.doc.mjs` file. The two styles can be mixed during migration.
541
- */
542
- export interface MultiComponentDoc extends BaseDoc {
543
- /** Each public component/hook exported from this directory — either an
544
- * inline entry or a name-only reference to a sibling sub-component doc. */
545
- components: (ComponentEntry | ComponentRef)[];
546
- }
547
- /**
548
- * Documentation for a single sub-component that lives in its own
549
- * `{Name}.doc.mjs` file inside its parent's directory. Identified by the
550
- * `subComponentOf` field, which names the parent component.
551
- *
552
- * A sub-component owns its `description`, `props`, and (optionally) its own
553
- * `usage`. Family-level fields (`group`, `category`, `keywords`, `theming`,
554
- * `playground`) are inherited from the directory's primary doc unless
555
- * overridden here. The generated registry entry is identical to the legacy
556
- * inline `components[]` expansion — this is purely a file-structure change.
557
- */
558
- export interface SubComponentDoc extends Omit<BaseDoc, 'usage'> {
559
- /** Name of the parent component this sub-component belongs to, matching the
560
- * parent doc's `name` (e.g. `"Chat"`). Marks this file as a sub-component
561
- * doc so the pipeline parents and inherits family fields correctly. */
562
- subComponentOf: string;
563
- /** One-sentence description of what this sub-component does and its role
564
- * within the parent composition. */
565
- description: string;
566
- /** All public props for this sub-component. */
567
- props: PropDoc[];
568
- /** Usage is optional for sub-components — when omitted, generated surfaces
569
- * should use the sub-component's own description as the concise usage
570
- * summary (not inherited from the parent, which was the #2602 bug). */
571
- usage?: UsageDoc;
572
- }
573
- /**
574
- * The documentation type for a component directory's {Name}.doc.mjs file.
575
- *
576
- * Every .doc.mjs must export a single `docs` constant of this type:
577
- *
578
- * /\*\* \@type \{import('../docs-types').ComponentDoc\} *\/
579
- * export const docs = \{ ... \};
580
- *
581
- * Use SingleComponentDoc (with `props`) for single-component directories.
582
- * Use MultiComponentDoc (with `components`) for multi-component directories.
583
- * Use SubComponentDoc (with `subComponentOf`) for a sub-component that lives
584
- * in its own file inside its parent's directory.
585
- */
586
- export type ComponentDoc = SingleComponentDoc | MultiComponentDoc | SubComponentDoc;
587
- /**
588
- * Translation overlay for component documentation.
589
- *
590
- * Contains only the prose fields that change between languages/formats.
591
- * The CLI merges this onto the base `docs` at read time — props,
592
- * types, defaults, and code all come from `docs`.
593
- *
594
- * Used by both `docsZh` (Chinese translation) and `docsDense` (compressed format).
595
- */
596
- export interface TranslationDoc {
597
- /** Compressed/translated component description. */
598
- description?: string;
599
- /** Prop descriptions keyed by prop name. Only include props that have descriptions. */
600
- propDescriptions?: Record<string, string>;
601
- /** Translated/compressed usage overlay. Mirrors UsageDoc fields. */
602
- usage?: {
603
- description?: string;
604
- bestPractices?: BestPractice[];
605
- anatomy?: AnatomyElement[];
606
- };
607
- /** Sub-component translations. Must match docs.components length and order (if present). */
608
- components?: {
609
- /** Exact name from docs.components[n].name */
610
- name: string;
611
- /** Optional translated displayName for the sub-component. Allowed so
612
- * the displayName backfill codemod (which adds `displayName` next
613
- * to every `name:` field) does not break translation overlays.
614
- * Translation overlays render via the canonical docs, so this
615
- * field is ignored at render time. */
616
- displayName?: string;
617
- /** Compressed/translated sub-component description. */
618
- description: string;
619
- /** Prop descriptions keyed by prop name. */
620
- propDescriptions?: Record<string, string>;
621
- /** When true, this sub-component is excluded from the overview page. */
622
- isHiddenFromOverview?: boolean;
623
- }[];
624
- }
625
- /**
626
- * A content block within a reference doc section.
627
- * Ordered array of these makes up a section's content.
628
- * New block types can be added without breaking existing docs.
629
- *
630
- * @example
631
- * ```
632
- * { type: 'prose', text: 'Spacing tokens control gap and padding...' }
633
- * { type: 'heading', level: 3, text: 'Examples' }
634
- * { type: 'code', lang: 'tsx', code: 'padding: spacingVars[...]' }
635
- * { type: 'table', headers: ['Token', 'Value'], rows: [['--spacing-4', '16px']] }
636
- * { type: 'list', style: 'do', items: ['Use semantic tokens'] }
637
- * { type: 'token-ref', topic: 'tokens', section: 'Color Tokens' }
638
- * ```
639
- */
640
- export type ContentBlock = {
641
- type: 'prose';
642
- text: string;
643
- } | {
644
- type: 'heading';
645
- level: 3 | 4 | 5 | 6;
646
- text: string;
647
- } | {
648
- type: 'code';
649
- lang: string;
650
- code: string;
651
- label?: string;
652
- } | {
653
- type: 'table';
654
- headers: string[];
655
- rows: string[][];
656
- } | {
657
- type: 'list';
658
- style: 'ordered' | 'unordered' | 'do' | 'dont';
659
- items: string[];
660
- } | {
661
- /** Reference to a token table in another doc topic.
662
- * The CLI resolves this at read time and inlines the referenced
663
- * section's table. The docsite can render it with live theme values
664
- * and type-specific previews instead of static strings. */
665
- type: 'token-ref';
666
- /** Doc topic name containing the tokens. e.g. `'tokens'` */
667
- topic: string;
668
- /** Section title to pull from that topic. e.g. `'Color Tokens'` */
669
- section: string;
670
- };
671
- /**
672
- * Preview type hint for token tables. Tells the docsite how to render
673
- * a visual preview column for each token row.
674
- *
675
- * - `'swatch'` — Color circle/square showing the token value
676
- * - `'shadow-box'` — Box with the shadow applied
677
- * - `'radius-box'` — Box with the border-radius applied
678
- * - `'spacing-bar'` — Horizontal bar at the token's width
679
- * - `'size-bar'` — Horizontal bar at the token's height
680
- * - `'border-line'` — Line at the token's border-width
681
- * - `'duration-bar'` — Animated bar showing the timing
682
- * - `'easing-curve'` — Bezier curve visualization
683
- * - `'font-sample'` — Text sample in the font family/size/weight
684
- */
685
- export type TokenPreviewType = 'swatch' | 'shadow-box' | 'radius-box' | 'spacing-bar' | 'size-bar' | 'border-line' | 'duration-bar' | 'easing-curve' | 'font-sample';
686
- /**
687
- * A section within a reference doc. Sections are the primary
688
- * organizational unit — each becomes an h2 in full output,
689
- * and can be individually retrieved via `astryx docs <topic> <section>`.
690
- */
691
- export interface ReferenceSection {
692
- /** Section title, e.g. "Spacing Tokens", "Light/Dark Mode" */
693
- title: string;
694
- /** Navigation category ('guide' | 'foundations'). Mirrors the parent doc's
695
- * category so sections can be grouped independently in the docsite nav. */
696
- category?: string;
697
- /** Ordered content blocks. Mix prose, code, tables, and lists freely. */
698
- content: ContentBlock[];
699
- /** Preview type for token tables in this section. When set, the docsite
700
- * renders a visual preview column using the token's computed CSS value
701
- * from the current theme. Omit for non-token sections. */
702
- previewType?: TokenPreviewType;
703
- }
704
- /**
705
- * A reference documentation file (.doc.mjs).
706
- *
707
- * Reference docs cover topics like design tokens, principles, theming,
708
- * patterns, accessibility, and migration guides. Unlike ComponentDoc,
709
- * they aren't tied to a specific component — just drop a .doc.mjs file
710
- * in the docs/ directory and it shows up in `astryx docs`.
711
- *
712
- * Every reference .doc.mjs must export a single `docs` constant:
713
- *
714
- * /** @type {import('../../core/src/docs-types').ReferenceDoc} *\/
715
- * export const docs = { ... };
716
- */
717
- export interface ReferenceDoc {
718
- /** URL-safe identifier, used as the CLI topic name. e.g. 'tokens', 'principles' */
719
- name: string;
720
- /** Human-readable title. e.g. 'All Tokens' */
721
- title: string;
722
- /** One-line summary shown in topic listings. */
723
- description: string;
724
- /** Navigation category: 'guide' or 'foundations'. */
725
- category?: string;
726
- /** Ordered sections that make up the doc. */
727
- sections: ReferenceSection[];
728
- /** Token category for foundational docs that map to a token section.
729
- * When set, the docsite can link from the tokens overview page
730
- * to this doc for detailed guidance on that category.
731
- * e.g. `'color'` links tokens → color foundational doc. */
732
- tokenCategory?: string;
733
- }
734
- /**
735
- * Translation/compression overlay for reference documentation.
736
- *
737
- * Swaps prose text and list items. Code blocks and table data
738
- * are NOT translated — they stay as-is from the base doc.
739
- *
740
- * Used by `docsZh` (Chinese) and `docsDense` (compressed format).
741
- */
742
- export interface ReferenceTranslationDoc {
743
- /** Translated/compressed description. */
744
- description: string;
745
- /** Section overrides, keyed to base sections by `section`. Order does not
746
- * matter, and an overlay may cover any subset — sections it does not name
747
- * keep their base content. (These used to be matched by array index, which
748
- * meant a reordered or partial overlay grafted every title onto the wrong
749
- * body: `docs tokens --dense` printed the colour table under a "Spacing"
750
- * heading. See #2182.) */
751
- sections: {
752
- /** Title of the BASE section this entry overrides, verbatim and in English
753
- * (e.g. 'Spacing Tokens'). Must match a section in the base doc. */
754
- section: string;
755
- /** Translated/compressed section title, shown in place of the base title. */
756
- title: string;
757
- /** Content block overrides, by index within the anchored base section.
758
- * Only prose and list blocks need entries. Use null for blocks that don't
759
- * change (code, table). */
760
- content: ({
761
- type: 'prose';
762
- text: string;
763
- } | {
764
- type: 'list';
765
- items: string[];
766
- } | null)[];
767
- }[];
768
- }
769
- /**
770
- * Documentation for a page template.
771
- *
772
- * Every template directory under `packages/cli/templates/` has a
773
- * `template.doc.mjs` that exports a single `doc` constant:
774
- *
775
- * /** @type {import('@astryxdesign/core').TemplateDoc} *\/
776
- * export const doc = { ... };
777
- *
778
- * The CLI and sandbox import these for discovery and display.
779
- */
780
- /**
781
- * Functional category for a page template, used to group templates on the
782
- * docsite Templates overview gallery. Independent of any sidebar/nav grouping.
783
- *
784
- * Values follow a `"Group - Variant"` convention (e.g. `"Dashboard - Analytics"`).
785
- * The overview page derives the group heading from the text before the `" - "`.
786
- * Standalone values without a hyphen (e.g. `"Settings"`) are their own group.
787
- *
788
- * Not every value maps to an existing template — unused values are reserved
789
- * for future templates so authors get autocomplete for the full taxonomy.
790
- */
791
- export type TemplateCategory = 'Dashboard - Analytics' | 'Dashboard - KPI Summary' | 'Dashboard - Monitoring' | 'Dashboard - Executive Summary' | 'Dashboard - Widget Grid' | 'Dashboard - Split' | 'Dashboard - Tabbed' | 'Dashboard - Filterable' | 'Dashboard - Portfolio' | 'Table - Basic' | 'Table - Grouped' | 'Table - Index/Detail' | 'Table - Split Pane' | 'Table - Bulk Actions' | 'Table - Filtering' | 'Table - Tree/Hierarchical List' | 'Table - Frozen Column' | 'Table - Chart' | 'Table - Heatmap' | 'Form - Basic' | 'Form - Page' | 'Form - Checkout' | 'Form - Two-column' | 'Form - Wizard' | 'Form - Modal Overlay' | 'Form - Side Sheet' | 'Form - Inline Edits' | 'Form - Settings' | 'Settings' | 'Settings - Dialog' | 'Settings - Sidebar' | 'Settings - Panels' | 'Settings - Form' | 'Login - Basic' | 'Login - Card' | 'Login - SSO' | 'Login - Split' | 'Tools - File Explorer' | 'Tools - Page Editor' | 'Tools - IDE' | 'Tools - Incident Console' | 'Tools - Kanban Board' | 'Tools - Notebook/Report Page' | 'Tools - Diff Compare Viewer' | 'Tools - Search Results Page' | 'Content - Card Grid' | 'Content - Order Detail' | 'Content - Product Detail' | 'Content - Product List' | 'Content - Documentation Catalog' | 'Content - Documentation Design' | 'Content - Documentation Technical' | 'Content - Infinite Scroll Page' | 'Content - Timeline' | 'Content - Profile Page' | 'AI Chat - Conversation' | 'AI Chat - Landing' | 'AI Chat - Artifact Page' | 'Gallery - Hero' | 'Gallery - Basic' | 'Gallery - Mixed' | 'Gallery - Side' | 'Gallery - Product' | 'Shell - Left Sidebar' | 'Shell - Top Nav' | 'Shell - Top Nav + Left Sidebar' | 'Shell - Breadcrumb Driven Layout' | 'Shell - Messaging' | 'Shell - Blank';
792
- interface BaseTemplateDoc {
793
- /** Identifier name for the template. For block templates this matches
794
- * the React component import name (e.g. `"ChatMessageMetadata"`); for
795
- * page templates it's a human-readable label that doubles as the
796
- * display value (e.g. `"Dashboard"`). */
797
- name: string;
798
- /** Human-readable display name for the gallery / CLI. Matches `name`
799
- * for already-spaced template names (e.g. `"Blank Page"`); for block
800
- * templates that mirror a PascalCase component, spaces it out
801
- * (`"ChatMessageMetadata"` → `"Chat Message Metadata"`). Required so
802
- * authors stay in control of the visible label rather than relying
803
- * on a build-time regex derivation. */
804
- displayName: string;
805
- /** One-sentence description of what the template provides. */
806
- description?: string;
807
- /** Whether this template is ready for use. Templates with
808
- * isReady: false show as "(WIP)" in the gallery and CLI. */
809
- isReady?: boolean;
810
- /** Whether this template is a scaffolding tool only (e.g. blank page).
811
- * Scaffold templates are available via the CLI but hidden from
812
- * browsable template galleries like the craft browser. */
813
- scaffold?: boolean;
814
- /** Functional category for the docsite Templates overview gallery.
815
- * Templates are grouped by the part before `" - "` (e.g. `"Dashboard"`).
816
- * Independent of CLI discovery, which uses `name`/`description`. */
817
- category?: TemplateCategory;
818
- /** Boolean opt-out for templates that shouldn't appear on the Templates
819
- * overview gallery. The template stays available via the CLI and
820
- * `astryx template <name>` — it's only hidden from the browsable gallery.
821
- * Use for duplicate/experimental variants. Scaffold templates are
822
- * hidden automatically and don't need this flag. */
823
- isHiddenFromOverview?: boolean;
824
- }
825
- export interface PageTemplateDoc extends BaseTemplateDoc {
826
- type: 'page';
827
- }
828
- export interface BlockTemplateDoc extends BaseTemplateDoc {
829
- type: 'block';
830
- /** The component this block is an example of.
831
- * Matches the component's doc name (e.g. 'Button', 'Dialog', 'Stack').
832
- * Used by the docsite to show relevant examples on component detail pages. */
833
- exampleFor: string;
834
- /** Additional component or hook doc pages whose Examples section should
835
- * include this block. Use when a component example is also the canonical
836
- * usage example for one of that component's hooks. */
837
- alsoExampleFor?: string[];
838
- /** Additional component or hook doc pages whose hero showcase should reuse
839
- * this block. Unlike `isShowcase`, this does not make the block the primary
840
- * showcase for `exampleFor`; it only creates explicit secondary placements. */
841
- alsoShowcaseFor?: string[];
842
- /** Width-to-height ratio for preview containers (e.g. 16/9, 1, 3/4). */
843
- aspectRatio: number;
844
- /** Scale factor for the block preview (default 1). */
845
- scale?: number;
846
- /** Component names this block uses, for cross-referencing.
847
- * Powers "See also" and "Used in" sections — not for primary attribution. */
848
- componentsUsed?: string[];
849
- /** When true this block is the canonical "hero" showcase for a component. */
850
- isShowcase?: boolean;
851
- }
852
- export type TemplateDoc = PageTemplateDoc | BlockTemplateDoc;
853
- /**
854
- * Metadata for a component group that is NOT itself a component.
855
- *
856
- * Some groups (e.g. 'Checkbox', 'Layout', 'Tabs') are category labels —
857
- * they cluster related components but have no corresponding Astryx*.tsx file.
858
- * This metadata tells the docsite and CLI which component to treat as the
859
- * canonical entry point for the group.
860
- *
861
- * Groups whose name IS a component (e.g. 'Avatar', 'Button', 'Dialog')
862
- * don't need an entry here — the component IS the canonical representative.
863
- *
864
- * @example
865
- * ```
866
- * { name: 'Checkbox', canonical: 'CheckboxList', description: 'Selection controls for choosing one or more options from a set.' }
867
- * { name: 'Layout', canonical: 'Stack', description: 'Structural primitives for page and content layout.' }
868
- * ```
869
- */
870
- export interface GroupDoc {
871
- /** Group name — must match one of the `group` union values on BaseDoc. */
872
- name: string;
873
- /** The canonical component for this group — the one the docsite links
874
- * to when a user clicks the group name. Should be the most commonly
875
- * used or most representative component in the group.
876
- * e.g. `'CheckboxList'` for the Checkbox group. */
877
- canonical: string;
878
- /** One-sentence description of what this group of components does.
879
- * Shown in the sidebar, catalog, or group landing page. */
880
- description: string;
881
- }
882
- /**
883
- * Documents a hook parameter/option. Similar to PropDoc but for hook
884
- * arguments and options object fields.
885
- */
886
- export interface HookParamDoc {
887
- /** Parameter or option field name. */
888
- name: string;
889
- /** TypeScript type signature as a string. */
890
- type: string;
891
- /** What this parameter does. 1-2 sentences. */
892
- description: string;
893
- /** Default value as a string, if optional with a default. */
894
- default?: string;
895
- /** True if required. Omit if optional. */
896
- required?: boolean;
897
- }
898
- /**
899
- * Documents a hook's return value field.
900
- */
901
- export interface HookReturnDoc {
902
- /** Field name on the returned object, or 'value' for primitive returns. */
903
- name: string;
904
- /** TypeScript type. */
905
- type: string;
906
- /** What this return value provides. */
907
- description: string;
908
- }
909
- /**
910
- * Documentation for a standalone hook's .doc.mjs file.
911
- *
912
- * Hooks that are part of a component's API (e.g. useImperativeDialog)
913
- * should be documented in the component's MultiComponentDoc.components array.
914
- *
915
- * Standalone hooks (e.g. useMediaQuery, useFocusTrap, useOverflow) get
916
- * their own {hookName}.doc.mjs file and use this type.
917
- *
918
- * Every hook .doc.mjs must export a single `docs` constant:
919
- *
920
- * /\*\* @type {import('../docs-types').HookDoc} \*\/
921
- * export const docs = { ... };
922
- */
923
- export interface HookDoc {
924
- /** Hook name exactly as exported, e.g. 'useMediaQuery', 'useFocusTrap'. */
925
- name: string;
926
- /** Human-readable display name for the hook. Hooks read better as the
927
- * raw identifier ('useMediaQuery') than spaced ('use Media Query'), so
928
- * the codemod keeps the identifier verbatim. See `BaseDoc.displayName`. */
929
- displayName: string;
930
- /** Optional group for sidebar/docs organization — same as ComponentDoc.group. */
931
- group?: string;
932
- /** Search keywords for CLI discovery. */
933
- keywords?: string[];
934
- /** Hook parameters or options object fields. */
935
- params: HookParamDoc[];
936
- /** Return value documentation. For object returns, list each field.
937
- * For primitive returns, use a single entry. */
938
- returns: HookReturnDoc[];
939
- /** Usage documentation — description, best practices. */
940
- usage: UsageDoc;
941
- /** Component names this hook is commonly used with.
942
- * Enables cross-referencing: \`astryx component Toast\` can mention useToast,
943
- * and \`astryx hook useToast\` can link back to Toast. */
944
- relatedComponents?: string[];
945
- /** Other hook names this hook is commonly used with. */
946
- relatedHooks?: string[];
947
- /** Import path, e.g. '@astryxdesign/core/hooks' or '@astryxdesign/core/Toast'. */
948
- importPath?: string;
949
- /** Category for grouping in listings. */
950
- category?: string;
951
- }
952
- /**
953
- * Translation overlay for hook documentation.
954
- */
955
- export interface HookTranslationDoc {
956
- /** Compressed/translated description. */
957
- description?: string;
958
- /** Param descriptions keyed by param name. */
959
- paramDescriptions?: Record<string, string>;
960
- /** Return descriptions keyed by field name. */
961
- returnDescriptions?: Record<string, string>;
962
- /** Translated usage. */
963
- usage?: {
964
- description?: string;
965
- bestPractices?: BestPractice[];
966
- };
967
- }
968
- export {};
969
- //# sourceMappingURL=docs-types.d.ts.map