@astryxdesign/core 0.2.0 → 0.3.0-canary.060cc9d

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 (1106) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +5 -3
  3. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  4. package/dist/AlertDialog/AlertDialog.js +1 -1
  5. package/dist/AppShell/AppShell.d.ts +2 -20
  6. package/dist/AppShell/AppShell.d.ts.map +1 -1
  7. package/dist/AppShell/AppShell.js +25 -18
  8. package/dist/AppShell/index.d.ts +20 -1
  9. package/dist/AppShell/index.d.ts.map +1 -1
  10. package/dist/AppShell/index.js +14 -0
  11. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  12. package/dist/AspectRatio/AspectRatio.js +1 -1
  13. package/dist/Avatar/Avatar.d.ts +1 -1
  14. package/dist/Avatar/Avatar.d.ts.map +1 -1
  15. package/dist/Avatar/Avatar.js +35 -14
  16. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  17. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  18. package/dist/Avatar/AvatarStatusDot.js +1 -22
  19. package/dist/Avatar/index.d.ts +26 -1
  20. package/dist/Avatar/index.d.ts.map +1 -1
  21. package/dist/Avatar/index.js +21 -0
  22. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  24. package/dist/AvatarGroup/AvatarGroup.js +4 -8
  25. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  26. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  27. package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
  28. package/dist/Badge/Badge.d.ts +2 -30
  29. package/dist/Badge/Badge.d.ts.map +1 -1
  30. package/dist/Badge/Badge.js +2 -17
  31. package/dist/Badge/index.d.ts +31 -2
  32. package/dist/Badge/index.d.ts.map +1 -1
  33. package/dist/Badge/index.js +15 -1
  34. package/dist/Banner/Banner.d.ts +2 -37
  35. package/dist/Banner/Banner.d.ts.map +1 -1
  36. package/dist/Banner/Banner.js +6 -34
  37. package/dist/Banner/index.d.ts +37 -1
  38. package/dist/Banner/index.d.ts.map +1 -1
  39. package/dist/Banner/index.js +27 -0
  40. package/dist/Blockquote/Blockquote.d.ts +1 -1
  41. package/dist/Blockquote/Blockquote.js +1 -1
  42. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  43. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  44. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  45. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  46. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  47. package/dist/Breadcrumbs/index.d.ts +18 -1
  48. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  49. package/dist/Breadcrumbs/index.js +14 -0
  50. package/dist/Button/Button.d.ts +3 -21
  51. package/dist/Button/Button.d.ts.map +1 -1
  52. package/dist/Button/Button.js +6 -19
  53. package/dist/Button/index.d.ts +21 -3
  54. package/dist/Button/index.d.ts.map +1 -1
  55. package/dist/Button/index.js +15 -1
  56. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  57. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  58. package/dist/Calendar/Calendar.js +1 -1
  59. package/dist/Calendar/index.d.ts +1 -1
  60. package/dist/Calendar/index.d.ts.map +1 -1
  61. package/dist/Calendar/index.js +1 -1
  62. package/dist/Calendar/styles.d.ts +2 -2
  63. package/dist/Calendar/styles.js +2 -2
  64. package/dist/Calendar/utils.d.ts +0 -4
  65. package/dist/Calendar/utils.d.ts.map +1 -1
  66. package/dist/Calendar/utils.js +1 -8
  67. package/dist/Card/Card.d.ts +1 -1
  68. package/dist/Card/Card.js +1 -1
  69. package/dist/Carousel/Carousel.d.ts +54 -3
  70. package/dist/Carousel/Carousel.d.ts.map +1 -1
  71. package/dist/Carousel/Carousel.js +90 -27
  72. package/dist/Carousel/index.d.ts +1 -1
  73. package/dist/Carousel/index.d.ts.map +1 -1
  74. package/dist/Center/Center.d.ts +21 -4
  75. package/dist/Center/Center.d.ts.map +1 -1
  76. package/dist/Center/Center.js +11 -3
  77. package/dist/Chat/ChatComposer.d.ts +1 -1
  78. package/dist/Chat/ChatComposer.js +9 -9
  79. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  80. package/dist/Chat/ChatComposerDrawer.js +5 -5
  81. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  82. package/dist/Chat/ChatComposerInput.js +1 -1
  83. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  84. package/dist/Chat/ChatDictationButton.js +1 -1
  85. package/dist/Chat/ChatLayout.d.ts +8 -1
  86. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  87. package/dist/Chat/ChatLayout.js +15 -4
  88. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  89. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  90. package/dist/Chat/ChatMessage.d.ts +1 -1
  91. package/dist/Chat/ChatMessage.js +1 -1
  92. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  93. package/dist/Chat/ChatMessageBubble.js +1 -1
  94. package/dist/Chat/ChatMessageList.d.ts +1 -1
  95. package/dist/Chat/ChatMessageList.js +1 -1
  96. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  97. package/dist/Chat/ChatSendButton.js +4 -2
  98. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  99. package/dist/Chat/ChatSystemMessage.js +1 -1
  100. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  101. package/dist/Chat/ChatTokenizedText.js +1 -1
  102. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  103. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  104. package/dist/CheckboxInput/CheckboxInput.js +3 -3
  105. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  106. package/dist/CheckboxList/CheckboxList.js +1 -1
  107. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  108. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  109. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  110. package/dist/Citation/Citation.d.ts +1 -1
  111. package/dist/Citation/Citation.js +1 -1
  112. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  113. package/dist/ClickableCard/ClickableCard.js +3 -3
  114. package/dist/Code/Code.d.ts +2 -2
  115. package/dist/Code/Code.js +2 -2
  116. package/dist/CodeBlock/CodeBlock.js +2 -2
  117. package/dist/Collapsible/Collapsible.d.ts +1 -1
  118. package/dist/Collapsible/Collapsible.js +3 -3
  119. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  120. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  121. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  122. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  123. package/dist/CommandPalette/CommandPalette.js +1 -1
  124. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  125. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  126. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  127. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  128. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  129. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  130. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  131. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  132. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  133. package/dist/ComplexSelector/ComplexSelector.d.ts +108 -0
  134. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -0
  135. package/dist/ComplexSelector/ComplexSelector.js +316 -0
  136. package/dist/ComplexSelector/index.d.ts +7 -0
  137. package/dist/ComplexSelector/index.d.ts.map +1 -0
  138. package/dist/ComplexSelector/index.js +10 -0
  139. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  140. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  141. package/dist/ContextMenu/ContextMenu.js +24 -6
  142. package/dist/DateInput/DateInput.d.ts +9 -2
  143. package/dist/DateInput/DateInput.d.ts.map +1 -1
  144. package/dist/DateInput/DateInput.js +4 -2
  145. package/dist/DateRangeInput/DateRangeInput.d.ts +9 -2
  146. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  147. package/dist/DateRangeInput/DateRangeInput.js +4 -2
  148. package/dist/DateTimeInput/DateTimeInput.d.ts +9 -1
  149. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  150. package/dist/DateTimeInput/DateTimeInput.js +4 -2
  151. package/dist/Dialog/Dialog.d.ts +33 -24
  152. package/dist/Dialog/Dialog.d.ts.map +1 -1
  153. package/dist/Dialog/Dialog.js +47 -31
  154. package/dist/Dialog/DialogHeader.d.ts +1 -1
  155. package/dist/Dialog/DialogHeader.js +1 -1
  156. package/dist/Dialog/index.d.ts +18 -1
  157. package/dist/Dialog/index.d.ts.map +1 -1
  158. package/dist/Dialog/index.js +14 -0
  159. package/dist/Divider/Divider.d.ts +2 -18
  160. package/dist/Divider/Divider.d.ts.map +1 -1
  161. package/dist/Divider/Divider.js +1 -15
  162. package/dist/Divider/index.d.ts +18 -1
  163. package/dist/Divider/index.d.ts.map +1 -1
  164. package/dist/Divider/index.js +14 -0
  165. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  166. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  167. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  168. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  169. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  170. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  171. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  172. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  173. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  174. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  175. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  176. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  177. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  178. package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
  179. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  180. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  181. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  182. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  183. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  184. package/dist/DropdownMenu/menuItemHover.js +1 -0
  185. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  186. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  187. package/dist/EmptyState/EmptyState.d.ts +1 -1
  188. package/dist/EmptyState/EmptyState.js +1 -1
  189. package/dist/Field/Field.d.ts +1 -1
  190. package/dist/Field/Field.js +1 -1
  191. package/dist/Field/FieldLabel.d.ts +4 -3
  192. package/dist/Field/FieldLabel.d.ts.map +1 -1
  193. package/dist/Field/FieldLabel.js +48 -5
  194. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  195. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  196. package/dist/FieldStatus/FieldStatus.js +13 -17
  197. package/dist/FieldStatus/index.d.ts +19 -1
  198. package/dist/FieldStatus/index.d.ts.map +1 -1
  199. package/dist/FieldStatus/index.js +14 -0
  200. package/dist/FileInput/FileInput.js +1 -1
  201. package/dist/FormLayout/FormLayout.d.ts +1 -1
  202. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  203. package/dist/FormLayout/FormLayout.js +1 -1
  204. package/dist/Grid/Grid.d.ts +2 -10
  205. package/dist/Grid/Grid.d.ts.map +1 -1
  206. package/dist/Grid/Grid.js +1 -10
  207. package/dist/Grid/GridSpan.d.ts +1 -1
  208. package/dist/Grid/GridSpan.js +1 -1
  209. package/dist/HStack/HStack.d.ts +1 -1
  210. package/dist/HStack/HStack.js +1 -1
  211. package/dist/Heading/Heading.d.ts +2 -2
  212. package/dist/Heading/Heading.d.ts.map +1 -1
  213. package/dist/Heading/Heading.js +5 -4
  214. package/dist/HoverCard/HoverCard.d.ts +1 -1
  215. package/dist/HoverCard/HoverCard.js +1 -1
  216. package/dist/Icon/Icon.d.ts +1 -1
  217. package/dist/Icon/Icon.d.ts.map +1 -1
  218. package/dist/Icon/Icon.js +4 -2
  219. package/dist/Icon/defaultIcons.d.ts.map +1 -1
  220. package/dist/Icon/defaultIcons.js +14 -0
  221. package/dist/Icon/globalIconRegistry.d.ts +48 -6
  222. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  223. package/dist/Icon/globalIconRegistry.js +74 -7
  224. package/dist/Icon/index.d.ts +4 -3
  225. package/dist/Icon/index.d.ts.map +1 -1
  226. package/dist/Icon/index.js +2 -1
  227. package/dist/Icon/useIcon.d.ts +14 -0
  228. package/dist/Icon/useIcon.d.ts.map +1 -0
  229. package/dist/Icon/useIcon.js +21 -0
  230. package/dist/IconButton/IconButton.d.ts +1 -1
  231. package/dist/IconButton/IconButton.js +1 -1
  232. package/dist/InputGroup/InputGroup.d.ts +1 -1
  233. package/dist/InputGroup/InputGroup.js +1 -1
  234. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  235. package/dist/InputGroup/InputGroupText.js +1 -1
  236. package/dist/Item/Item.d.ts +17 -4
  237. package/dist/Item/Item.d.ts.map +1 -1
  238. package/dist/Item/Item.js +32 -7
  239. package/dist/Kbd/Kbd.d.ts +1 -1
  240. package/dist/Kbd/Kbd.js +1 -1
  241. package/dist/Layout/Layout.d.ts +1 -1
  242. package/dist/Layout/Layout.js +1 -1
  243. package/dist/Layout/LayoutContent.d.ts +1 -1
  244. package/dist/Layout/LayoutContent.js +1 -1
  245. package/dist/Layout/LayoutFooter.d.ts +1 -1
  246. package/dist/Layout/LayoutFooter.js +1 -1
  247. package/dist/Layout/LayoutHeader.d.ts +1 -1
  248. package/dist/Layout/LayoutHeader.js +1 -1
  249. package/dist/Layout/LayoutPanel.d.ts +1 -1
  250. package/dist/Layout/LayoutPanel.js +1 -1
  251. package/dist/Lightbox/Lightbox.d.ts +6 -4
  252. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  253. package/dist/Lightbox/Lightbox.js +173 -79
  254. package/dist/Link/Link.d.ts +1 -1
  255. package/dist/Link/Link.js +1 -1
  256. package/dist/Link/LinkProvider.d.ts +2 -2
  257. package/dist/Link/LinkProvider.js +2 -2
  258. package/dist/List/List.d.ts +1 -1
  259. package/dist/List/List.js +1 -1
  260. package/dist/List/ListItem.d.ts +12 -2
  261. package/dist/List/ListItem.d.ts.map +1 -1
  262. package/dist/List/ListItem.js +3 -1
  263. package/dist/Markdown/Markdown.d.ts.map +1 -1
  264. package/dist/Markdown/Markdown.js +35 -13
  265. package/dist/MetadataList/MetadataList.d.ts +2 -2
  266. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  267. package/dist/MetadataList/MetadataList.js +38 -12
  268. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  269. package/dist/MetadataList/MetadataListItem.js +1 -1
  270. package/dist/MobileNav/MobileNav.d.ts +1 -1
  271. package/dist/MobileNav/MobileNav.js +9 -9
  272. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  273. package/dist/MoreMenu/MoreMenu.js +3 -3
  274. package/dist/MultiSelector/MultiSelector.d.ts +13 -4
  275. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  276. package/dist/MultiSelector/MultiSelector.js +118 -24
  277. package/dist/NavIcon/NavIcon.d.ts +1 -1
  278. package/dist/NavIcon/NavIcon.js +1 -1
  279. package/dist/NavMenu/index.d.ts +0 -2
  280. package/dist/NavMenu/index.d.ts.map +1 -1
  281. package/dist/NavMenu/index.js +1 -3
  282. package/dist/NumberInput/NumberInput.d.ts +1 -1
  283. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  284. package/dist/NumberInput/NumberInput.js +16 -5
  285. package/dist/Outline/Outline.js +1 -1
  286. package/dist/OverflowList/OverflowList.d.ts +1 -1
  287. package/dist/OverflowList/OverflowList.js +1 -1
  288. package/dist/Pagination/Pagination.d.ts +26 -21
  289. package/dist/Pagination/Pagination.d.ts.map +1 -1
  290. package/dist/Pagination/Pagination.js +174 -52
  291. package/dist/Pagination/index.d.ts +22 -1
  292. package/dist/Pagination/index.d.ts.map +1 -1
  293. package/dist/Pagination/index.js +14 -0
  294. package/dist/Popover/Popover.d.ts +20 -3
  295. package/dist/Popover/Popover.d.ts.map +1 -1
  296. package/dist/Popover/Popover.js +5 -1
  297. package/dist/Popover/usePopover.d.ts.map +1 -1
  298. package/dist/Popover/usePopover.js +14 -3
  299. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  300. package/dist/PowerSearch/PowerSearch.js +1 -1
  301. package/dist/ProgressBar/ProgressBar.d.ts +56 -22
  302. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  303. package/dist/ProgressBar/ProgressBar.js +169 -22
  304. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts +27 -0
  305. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts.map +1 -0
  306. package/dist/ProgressBar/ProgressBarMarkTooltip.js +35 -0
  307. package/dist/ProgressBar/index.d.ts +21 -1
  308. package/dist/ProgressBar/index.d.ts.map +1 -1
  309. package/dist/ProgressBar/index.js +14 -0
  310. package/dist/RadioList/RadioList.d.ts +1 -1
  311. package/dist/RadioList/RadioList.js +1 -1
  312. package/dist/RadioList/RadioListItem.d.ts +1 -1
  313. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  314. package/dist/RadioList/RadioListItem.js +2 -2
  315. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  316. package/dist/Resizable/ResizeHandle.js +15 -11
  317. package/dist/Section/Section.d.ts +2 -19
  318. package/dist/Section/Section.d.ts.map +1 -1
  319. package/dist/Section/Section.js +1 -15
  320. package/dist/Section/index.d.ts +19 -1
  321. package/dist/Section/index.d.ts.map +1 -1
  322. package/dist/Section/index.js +14 -0
  323. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  324. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  325. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  326. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  327. package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
  328. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  329. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  330. package/dist/SelectableCard/SelectableCard.js +15 -3
  331. package/dist/Selector/Selector.d.ts +14 -4
  332. package/dist/Selector/Selector.d.ts.map +1 -1
  333. package/dist/Selector/Selector.js +137 -28
  334. package/dist/Selector/hooks.d.ts +4 -4
  335. package/dist/Selector/hooks.d.ts.map +1 -1
  336. package/dist/Selector/hooks.js +38 -19
  337. package/dist/SideNav/SideNav.d.ts +1 -1
  338. package/dist/SideNav/SideNav.js +1 -1
  339. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  340. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  341. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  342. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  343. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  344. package/dist/SideNav/SideNavHeading.js +8 -7
  345. package/dist/SideNav/SideNavItem.d.ts +2 -2
  346. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  347. package/dist/SideNav/SideNavItem.js +6 -7
  348. package/dist/SideNav/SideNavSection.d.ts +1 -1
  349. package/dist/SideNav/SideNavSection.js +1 -1
  350. package/dist/Skeleton/Skeleton.d.ts +1 -1
  351. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  352. package/dist/Skeleton/Skeleton.js +3 -3
  353. package/dist/Slider/Slider.d.ts.map +1 -1
  354. package/dist/Slider/Slider.js +78 -68
  355. package/dist/Spinner/Spinner.d.ts +1 -1
  356. package/dist/Spinner/Spinner.js +1 -1
  357. package/dist/Stack/Stack.d.ts +1 -1
  358. package/dist/Stack/Stack.js +1 -1
  359. package/dist/Stack/StackItem.d.ts +1 -1
  360. package/dist/Stack/StackItem.js +1 -1
  361. package/dist/Stack/stack.stylex.d.ts +3 -3
  362. package/dist/StatusDot/StatusDot.d.ts +1 -20
  363. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  364. package/dist/StatusDot/StatusDot.js +2 -17
  365. package/dist/StatusDot/index.d.ts +21 -1
  366. package/dist/StatusDot/index.d.ts.map +1 -1
  367. package/dist/StatusDot/index.js +14 -0
  368. package/dist/Switch/Switch.d.ts +2 -6
  369. package/dist/Switch/Switch.d.ts.map +1 -1
  370. package/dist/Switch/Switch.js +28 -20
  371. package/dist/TabList/Tab.d.ts +1 -1
  372. package/dist/TabList/Tab.js +1 -1
  373. package/dist/TabList/TabList.d.ts +1 -1
  374. package/dist/TabList/TabList.js +1 -1
  375. package/dist/TabList/TabMenu.d.ts +1 -1
  376. package/dist/TabList/TabMenu.d.ts.map +1 -1
  377. package/dist/TabList/TabMenu.js +11 -3
  378. package/dist/Table/BaseTable.d.ts +1 -1
  379. package/dist/Table/BaseTable.d.ts.map +1 -1
  380. package/dist/Table/BaseTable.js +4 -7
  381. package/dist/Table/Table.d.ts +1 -1
  382. package/dist/Table/Table.js +1 -1
  383. package/dist/Table/TableCell.d.ts +1 -1
  384. package/dist/Table/TableCell.js +4 -2
  385. package/dist/Table/TableHeaderCell.d.ts +1 -1
  386. package/dist/Table/TableHeaderCell.js +4 -2
  387. package/dist/Table/TableRow.d.ts +1 -1
  388. package/dist/Table/TableRow.js +1 -1
  389. package/dist/Table/index.d.ts +1 -1
  390. package/dist/Table/index.d.ts.map +1 -1
  391. package/dist/Table/index.js +1 -1
  392. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
  393. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
  394. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  395. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  396. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +27 -11
  397. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  398. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  399. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  400. package/dist/Table/types.d.ts +0 -9
  401. package/dist/Table/types.d.ts.map +1 -1
  402. package/dist/Text/Text.d.ts +11 -2
  403. package/dist/Text/Text.d.ts.map +1 -1
  404. package/dist/Text/Text.js +26 -3
  405. package/dist/Text/index.d.ts +31 -1
  406. package/dist/Text/index.d.ts.map +1 -1
  407. package/dist/Text/index.js +23 -0
  408. package/dist/TextArea/TextArea.d.ts +1 -1
  409. package/dist/TextArea/TextArea.d.ts.map +1 -1
  410. package/dist/TextArea/TextArea.js +107 -39
  411. package/dist/TextInput/TextInput.d.ts +1 -1
  412. package/dist/TextInput/TextInput.js +1 -1
  413. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  414. package/dist/Thumbnail/Thumbnail.js +52 -46
  415. package/dist/TimeInput/TimeInput.js +1 -1
  416. package/dist/Timestamp/Timestamp.d.ts +26 -12
  417. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  418. package/dist/Timestamp/Timestamp.js +128 -65
  419. package/dist/Timestamp/TimestampHoverCard.d.ts +45 -0
  420. package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -0
  421. package/dist/Timestamp/TimestampHoverCard.js +228 -0
  422. package/dist/Timestamp/formatInstant.d.ts +3 -3
  423. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  424. package/dist/Timestamp/formatInstant.js +7 -2
  425. package/dist/Timestamp/tooltipEntries.d.ts +17 -2
  426. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  427. package/dist/Timestamp/tooltipEntries.js +4 -2
  428. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  429. package/dist/Toast/ToastViewport.js +61 -9
  430. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  431. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  432. package/dist/ToggleButton/ToggleButton.js +4 -2
  433. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  434. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  435. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  436. package/dist/Token/Token.d.ts +6 -28
  437. package/dist/Token/Token.d.ts.map +1 -1
  438. package/dist/Token/Token.js +69 -58
  439. package/dist/Token/TokenLink.d.ts +62 -0
  440. package/dist/Token/TokenLink.d.ts.map +1 -0
  441. package/dist/Token/TokenLink.js +76 -0
  442. package/dist/Token/index.d.ts +27 -1
  443. package/dist/Token/index.d.ts.map +1 -1
  444. package/dist/Token/index.js +14 -0
  445. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  446. package/dist/Tokenizer/Tokenizer.js +1 -1
  447. package/dist/Toolbar/Toolbar.d.ts +1 -1
  448. package/dist/Toolbar/Toolbar.js +1 -1
  449. package/dist/Tooltip/Tooltip.d.ts +1 -1
  450. package/dist/Tooltip/Tooltip.js +1 -1
  451. package/dist/TopNav/TopNav.d.ts +1 -1
  452. package/dist/TopNav/TopNav.d.ts.map +1 -1
  453. package/dist/TopNav/TopNav.js +7 -6
  454. package/dist/TopNav/TopNavHeading.d.ts +2 -8
  455. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  456. package/dist/TopNav/TopNavHeading.js +8 -10
  457. package/dist/TopNav/TopNavItem.d.ts +1 -1
  458. package/dist/TopNav/TopNavItem.js +1 -1
  459. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  460. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  461. package/dist/TopNav/TopNavMegaMenu.js +27 -16
  462. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  463. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  464. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  465. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  466. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  467. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  468. package/dist/TopNav/TopNavMenu.js +5 -4
  469. package/dist/TreeList/TreeList.d.ts +1 -1
  470. package/dist/TreeList/TreeList.js +1 -1
  471. package/dist/TreeList/TreeListBranches.js +1 -1
  472. package/dist/TreeList/TreeListItem.d.ts +1 -1
  473. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  474. package/dist/TreeList/TreeListItem.js +4 -3
  475. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  476. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  477. package/dist/TreeList/index.d.ts +18 -1
  478. package/dist/TreeList/index.d.ts.map +1 -1
  479. package/dist/TreeList/index.js +14 -0
  480. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  481. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  482. package/dist/Typeahead/BaseTypeahead.js +3 -1
  483. package/dist/Typeahead/Typeahead.d.ts +1 -1
  484. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  485. package/dist/Typeahead/Typeahead.js +9 -2
  486. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  487. package/dist/Typeahead/TypeaheadItem.js +1 -1
  488. package/dist/VStack/VStack.d.ts +1 -1
  489. package/dist/VStack/VStack.js +1 -1
  490. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  491. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  492. package/dist/astryx.css +117 -37
  493. package/dist/astryx.umd.js +50 -54
  494. package/dist/astryx.umd.js.map +4 -4
  495. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  496. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  497. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  498. package/dist/hooks/index.d.ts +2 -0
  499. package/dist/hooks/index.d.ts.map +1 -1
  500. package/dist/hooks/index.js +2 -1
  501. package/dist/hooks/useContainerReveal.d.ts +83 -0
  502. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  503. package/dist/hooks/useContainerReveal.js +123 -0
  504. package/dist/hooks/useGridFocus.d.ts +8 -6
  505. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  506. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  507. package/dist/hooks/useInputContainer.js +29 -1
  508. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  509. package/dist/hooks/useInputStatusIcon.js +11 -0
  510. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  511. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  512. package/dist/hooks/useKeyboardHint.js +5 -3
  513. package/dist/hooks/useListFocus.d.ts +8 -7
  514. package/dist/hooks/useListFocus.d.ts.map +1 -1
  515. package/dist/hooks/useLongPress.d.ts.map +1 -1
  516. package/dist/hooks/useLongPress.js +12 -2
  517. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  518. package/dist/hooks/useTreeFocus.js +13 -2
  519. package/dist/i18n/InternationalizationProvider.d.ts +6 -0
  520. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  521. package/dist/i18n/useDirection.d.ts.map +1 -1
  522. package/dist/i18n/useDirection.js +6 -3
  523. package/dist/index.d.ts +2 -1
  524. package/dist/index.d.ts.map +1 -1
  525. package/dist/index.js +3 -3
  526. package/dist/theme/Theme.d.ts.map +1 -1
  527. package/dist/theme/Theme.js +2 -7
  528. package/dist/theme/contrast.d.ts +45 -0
  529. package/dist/theme/contrast.d.ts.map +1 -0
  530. package/dist/theme/contrast.js +88 -0
  531. package/dist/theme/defineTheme.d.ts +9 -3
  532. package/dist/theme/defineTheme.d.ts.map +1 -1
  533. package/dist/theme/defineTheme.js +6 -4
  534. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  535. package/dist/theme/derivedVarRegistry.js +0 -13
  536. package/dist/theme/expandColorScale.d.ts +32 -3
  537. package/dist/theme/expandColorScale.d.ts.map +1 -1
  538. package/dist/theme/expandColorScale.js +102 -13
  539. package/dist/theme/generateThemeRules.d.ts +0 -6
  540. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  541. package/dist/theme/generateThemeRules.js +0 -15
  542. package/dist/theme/index.d.ts +9 -7
  543. package/dist/theme/index.d.ts.map +1 -1
  544. package/dist/theme/index.js +4 -3
  545. package/dist/theme/themeRegistry.d.ts +32 -0
  546. package/dist/theme/themeRegistry.d.ts.map +1 -0
  547. package/dist/theme/themeRegistry.js +49 -0
  548. package/dist/theme/tokens.stylex.d.ts +0 -17
  549. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  550. package/dist/theme/tokens.stylex.js +0 -22
  551. package/dist/theme/types.d.ts +10 -2
  552. package/dist/theme/types.d.ts.map +1 -1
  553. package/dist/theme/useTheme.d.ts +9 -0
  554. package/dist/theme/useTheme.d.ts.map +1 -1
  555. package/dist/theme/useTheme.js +82 -27
  556. package/dist/utils/rtlStyles.d.ts +23 -2
  557. package/dist/utils/rtlStyles.d.ts.map +1 -1
  558. package/dist/utils/rtlStyles.js +28 -3
  559. package/groups.doc.mjs +2 -2
  560. package/locales/en.json +124 -0
  561. package/locales/pseudo.json +93 -0
  562. package/package.json +9 -13
  563. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  564. package/src/AlertDialog/AlertDialog.tsx +1 -1
  565. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  566. package/src/AppShell/AppShell.doc.mjs +3 -3
  567. package/src/AppShell/AppShell.test.tsx +55 -0
  568. package/src/AppShell/AppShell.tsx +27 -22
  569. package/src/AppShell/index.ts +20 -1
  570. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  571. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  572. package/src/AspectRatio/AspectRatio.tsx +1 -1
  573. package/src/Avatar/Avatar.doc.mjs +4 -15
  574. package/src/Avatar/Avatar.test.tsx +33 -8
  575. package/src/Avatar/Avatar.tsx +58 -25
  576. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  577. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  578. package/src/Avatar/index.ts +26 -1
  579. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  580. package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
  581. package/src/AvatarGroup/AvatarGroup.tsx +3 -7
  582. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  583. package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
  584. package/src/Badge/Badge.doc.mjs +3 -3
  585. package/src/Badge/Badge.tsx +2 -31
  586. package/src/Badge/index.ts +32 -6
  587. package/src/Banner/Banner.doc.mjs +3 -3
  588. package/src/Banner/Banner.tsx +8 -45
  589. package/src/Banner/index.ts +39 -7
  590. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  591. package/src/Blockquote/Blockquote.tsx +1 -1
  592. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  593. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  594. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  595. package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
  596. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  597. package/src/Breadcrumbs/index.ts +19 -5
  598. package/src/Button/Button.doc.mjs +3 -3
  599. package/src/Button/Button.test.tsx +16 -0
  600. package/src/Button/Button.tsx +6 -23
  601. package/src/Button/index.ts +22 -7
  602. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  603. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  604. package/src/Calendar/Calendar.doc.mjs +3 -3
  605. package/src/Calendar/Calendar.test.tsx +22 -6
  606. package/src/Calendar/Calendar.tsx +1 -1
  607. package/src/Calendar/index.ts +1 -6
  608. package/src/Calendar/styles.ts +2 -2
  609. package/src/Calendar/utils.ts +0 -11
  610. package/src/Card/Card.doc.mjs +3 -3
  611. package/src/Card/Card.tsx +1 -1
  612. package/src/Carousel/Carousel.doc.mjs +10 -3
  613. package/src/Carousel/Carousel.test.tsx +232 -1
  614. package/src/Carousel/Carousel.tsx +154 -27
  615. package/src/Carousel/index.ts +1 -1
  616. package/src/Center/Center.doc.mjs +41 -3
  617. package/src/Center/Center.test.tsx +75 -0
  618. package/src/Center/Center.tsx +38 -3
  619. package/src/Chat/Chat.doc.mjs +3 -3
  620. package/src/Chat/ChatComposer.doc.mjs +1 -1
  621. package/src/Chat/ChatComposer.tsx +5 -5
  622. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  623. package/src/Chat/ChatComposerDrawer.tsx +5 -5
  624. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  625. package/src/Chat/ChatComposerInput.tsx +1 -1
  626. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  627. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  628. package/src/Chat/ChatDictationButton.tsx +1 -1
  629. package/src/Chat/ChatLayout.doc.mjs +1 -1
  630. package/src/Chat/ChatLayout.test.tsx +57 -0
  631. package/src/Chat/ChatLayout.tsx +23 -2
  632. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  633. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  634. package/src/Chat/ChatMessage.doc.mjs +1 -1
  635. package/src/Chat/ChatMessage.tsx +1 -1
  636. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  637. package/src/Chat/ChatMessageBubble.tsx +1 -1
  638. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  639. package/src/Chat/ChatMessageList.tsx +1 -1
  640. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  641. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  642. package/src/Chat/ChatSendButton.tsx +5 -3
  643. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  644. package/src/Chat/ChatSystemMessage.tsx +1 -1
  645. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  646. package/src/Chat/ChatTokenizedText.tsx +1 -1
  647. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  648. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  649. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  650. package/src/CheckboxInput/CheckboxInput.tsx +18 -3
  651. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  652. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  653. package/src/CheckboxList/CheckboxList.tsx +1 -1
  654. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  655. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  656. package/src/Citation/Citation.doc.mjs +2 -2
  657. package/src/Citation/Citation.tsx +1 -1
  658. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  659. package/src/ClickableCard/ClickableCard.tsx +3 -3
  660. package/src/Code/Code.tsx +2 -2
  661. package/src/CodeBlock/Code.doc.mjs +1 -1
  662. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  663. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  664. package/src/CodeBlock/CodeBlock.tsx +2 -2
  665. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  666. package/src/Collapsible/Collapsible.tsx +3 -3
  667. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  668. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  669. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  670. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  671. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  672. package/src/CommandPalette/CommandPalette.tsx +1 -1
  673. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  674. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  675. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  676. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  677. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  678. package/src/CommandPalette/CommandPaletteGroup.test.tsx +6 -2
  679. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  680. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  681. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  682. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  683. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  684. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  685. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  686. package/src/ComplexSelector/ComplexSelector.doc.mjs +220 -0
  687. package/src/ComplexSelector/ComplexSelector.test.tsx +156 -0
  688. package/src/ComplexSelector/ComplexSelector.tsx +429 -0
  689. package/src/ComplexSelector/index.ts +17 -0
  690. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  691. package/src/ContextMenu/ContextMenu.test.tsx +17 -2
  692. package/src/ContextMenu/ContextMenu.tsx +27 -6
  693. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  694. package/src/DateInput/DateInput.doc.mjs +17 -3
  695. package/src/DateInput/DateInput.test.tsx +62 -3
  696. package/src/DateInput/DateInput.tsx +18 -2
  697. package/src/DateRangeInput/DateRangeInput.doc.mjs +10 -2
  698. package/src/DateRangeInput/DateRangeInput.test.tsx +73 -2
  699. package/src/DateRangeInput/DateRangeInput.tsx +18 -2
  700. package/src/DateTimeInput/DateTimeInput.doc.mjs +17 -3
  701. package/src/DateTimeInput/DateTimeInput.test.tsx +62 -2
  702. package/src/DateTimeInput/DateTimeInput.tsx +18 -2
  703. package/src/Dialog/Dialog.doc.mjs +7 -5
  704. package/src/Dialog/Dialog.test.tsx +46 -3
  705. package/src/Dialog/Dialog.tsx +61 -44
  706. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  707. package/src/Dialog/DialogHeader.tsx +1 -1
  708. package/src/Dialog/index.ts +18 -1
  709. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  710. package/src/Divider/Divider.doc.mjs +3 -3
  711. package/src/Divider/Divider.tsx +2 -19
  712. package/src/Divider/index.ts +19 -5
  713. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  714. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  715. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  716. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  717. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  718. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  719. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  720. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  721. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  722. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  723. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
  724. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  725. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  726. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  727. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  728. package/src/DropdownMenu/menuItemHover.ts +1 -0
  729. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  730. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  731. package/src/EmptyState/EmptyState.tsx +1 -1
  732. package/src/Field/Field.doc.mjs +7 -3
  733. package/src/Field/Field.tsx +1 -1
  734. package/src/Field/FieldLabel.doc.mjs +1 -1
  735. package/src/Field/FieldLabel.test.tsx +103 -0
  736. package/src/Field/FieldLabel.tsx +61 -5
  737. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  738. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  739. package/src/FieldStatus/FieldStatus.tsx +16 -23
  740. package/src/FieldStatus/index.ts +20 -5
  741. package/src/FileInput/FileInput.doc.mjs +3 -3
  742. package/src/FileInput/FileInput.tsx +1 -1
  743. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  744. package/src/FormLayout/FormLayout.tsx +2 -5
  745. package/src/Grid/Grid.doc.mjs +3 -8
  746. package/src/Grid/Grid.tsx +1 -25
  747. package/src/Grid/GridSpan.doc.mjs +1 -1
  748. package/src/Grid/GridSpan.tsx +1 -1
  749. package/src/HStack/HStack.tsx +1 -1
  750. package/src/Heading/Heading.tsx +4 -3
  751. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  752. package/src/HoverCard/HoverCard.tsx +1 -1
  753. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  754. package/src/Icon/Icon.doc.mjs +7 -6
  755. package/src/Icon/Icon.test.tsx +23 -0
  756. package/src/Icon/Icon.tsx +4 -2
  757. package/src/Icon/defaultIcons.tsx +14 -0
  758. package/src/Icon/globalIconRegistry.test.tsx +87 -1
  759. package/src/Icon/globalIconRegistry.tsx +111 -9
  760. package/src/Icon/index.ts +9 -7
  761. package/src/Icon/useIcon.ts +23 -0
  762. package/src/IconButton/IconButton.doc.mjs +2 -2
  763. package/src/IconButton/IconButton.tsx +1 -1
  764. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  765. package/src/InputGroup/InputGroup.tsx +1 -1
  766. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  767. package/src/InputGroup/InputGroupText.tsx +1 -1
  768. package/src/Item/Item.doc.mjs +8 -3
  769. package/src/Item/Item.test.tsx +88 -0
  770. package/src/Item/Item.tsx +58 -12
  771. package/src/Kbd/Kbd.doc.mjs +3 -3
  772. package/src/Kbd/Kbd.tsx +1 -1
  773. package/src/Layer/Layer.doc.mjs +2 -2
  774. package/src/Layer/useLayer.doc.mjs +2 -2
  775. package/src/Layout/Layout.doc.mjs +3 -3
  776. package/src/Layout/Layout.tsx +1 -1
  777. package/src/Layout/LayoutContent.doc.mjs +1 -1
  778. package/src/Layout/LayoutContent.tsx +1 -1
  779. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  780. package/src/Layout/LayoutFooter.tsx +1 -1
  781. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  782. package/src/Layout/LayoutHeader.tsx +1 -1
  783. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  784. package/src/Layout/LayoutPanel.tsx +1 -1
  785. package/src/Lightbox/Lightbox.doc.mjs +6 -6
  786. package/src/Lightbox/Lightbox.test.tsx +211 -0
  787. package/src/Lightbox/Lightbox.tsx +152 -60
  788. package/src/Link/Link.doc.mjs +3 -3
  789. package/src/Link/Link.tsx +1 -1
  790. package/src/Link/LinkProvider.doc.mjs +2 -2
  791. package/src/Link/LinkProvider.tsx +2 -2
  792. package/src/List/List.doc.mjs +3 -3
  793. package/src/List/List.tsx +1 -1
  794. package/src/List/ListItem.doc.mjs +13 -1
  795. package/src/List/ListItem.tsx +14 -1
  796. package/src/Markdown/Markdown.doc.mjs +81 -1
  797. package/src/Markdown/Markdown.test.tsx +92 -0
  798. package/src/Markdown/Markdown.tsx +96 -68
  799. package/src/Markdown/parser.perf.test.ts +47 -35
  800. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  801. package/src/MetadataList/MetadataList.test.tsx +82 -0
  802. package/src/MetadataList/MetadataList.tsx +45 -20
  803. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  804. package/src/MetadataList/MetadataListItem.tsx +1 -1
  805. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  806. package/src/MobileNav/MobileNav.tsx +4 -4
  807. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  808. package/src/MoreMenu/MoreMenu.tsx +3 -3
  809. package/src/MultiSelector/MultiSelector.doc.mjs +35 -10
  810. package/src/MultiSelector/MultiSelector.test.tsx +303 -3
  811. package/src/MultiSelector/MultiSelector.tsx +223 -58
  812. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  813. package/src/NavIcon/NavIcon.tsx +1 -1
  814. package/src/NavMenu/NavHeadingMenu.test.tsx +0 -16
  815. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  816. package/src/NavMenu/index.ts +0 -4
  817. package/src/NumberInput/NumberInput.doc.mjs +3 -6
  818. package/src/NumberInput/NumberInput.test.tsx +38 -3
  819. package/src/NumberInput/NumberInput.tsx +24 -1
  820. package/src/Outline/Outline.doc.mjs +3 -3
  821. package/src/Outline/Outline.tsx +1 -1
  822. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  823. package/src/OverflowList/OverflowList.tsx +1 -1
  824. package/src/Overlay/Overlay.doc.mjs +2 -2
  825. package/src/Pagination/Pagination.doc.mjs +55 -8
  826. package/src/Pagination/Pagination.test.tsx +582 -0
  827. package/src/Pagination/Pagination.tsx +247 -55
  828. package/src/Pagination/index.ts +22 -1
  829. package/src/Popover/Popover.doc.mjs +31 -3
  830. package/src/Popover/Popover.test.tsx +41 -0
  831. package/src/Popover/Popover.tsx +25 -2
  832. package/src/Popover/usePopover.doc.mjs +2 -2
  833. package/src/Popover/usePopover.tsx +10 -4
  834. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  835. package/src/PowerSearch/PowerSearch.tsx +1 -1
  836. package/src/ProgressBar/ProgressBar.doc.mjs +24 -3
  837. package/src/ProgressBar/ProgressBar.test.tsx +523 -2
  838. package/src/ProgressBar/ProgressBar.tsx +250 -25
  839. package/src/ProgressBar/ProgressBarMarkTooltip.tsx +43 -0
  840. package/src/ProgressBar/index.ts +22 -1
  841. package/src/RadioList/RadioList.doc.mjs +3 -3
  842. package/src/RadioList/RadioList.test.tsx +26 -4
  843. package/src/RadioList/RadioList.tsx +1 -1
  844. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  845. package/src/RadioList/RadioListItem.tsx +9 -2
  846. package/src/Resizable/Resizable.doc.mjs +2 -2
  847. package/src/Resizable/ResizeHandle.test.tsx +52 -3
  848. package/src/Resizable/ResizeHandle.tsx +25 -13
  849. package/src/Resizable/useResizable.doc.mjs +2 -2
  850. package/src/Section/Section.doc.mjs +3 -3
  851. package/src/Section/Section.tsx +2 -20
  852. package/src/Section/index.ts +20 -5
  853. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  854. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  855. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  856. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  857. package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
  858. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  859. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  860. package/src/SelectableCard/SelectableCard.tsx +19 -3
  861. package/src/Selector/Selector.doc.mjs +29 -8
  862. package/src/Selector/Selector.test.tsx +447 -9
  863. package/src/Selector/Selector.tsx +232 -57
  864. package/src/Selector/SelectorOption.doc.mjs +1 -1
  865. package/src/Selector/hooks.ts +45 -21
  866. package/src/SideNav/SideNav.doc.mjs +3 -3
  867. package/src/SideNav/SideNav.tsx +1 -1
  868. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  869. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  870. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  871. package/src/SideNav/SideNavHeading.tsx +8 -9
  872. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  873. package/src/SideNav/SideNavItem.tsx +5 -6
  874. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  875. package/src/SideNav/SideNavSection.tsx +1 -1
  876. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  877. package/src/Skeleton/Skeleton.test.tsx +16 -0
  878. package/src/Skeleton/Skeleton.tsx +14 -2
  879. package/src/Slider/Slider.doc.mjs +3 -3
  880. package/src/Slider/Slider.tsx +9 -13
  881. package/src/Spinner/Spinner.doc.mjs +3 -3
  882. package/src/Spinner/Spinner.tsx +1 -1
  883. package/src/Stack/Stack.doc.mjs +113 -3
  884. package/src/Stack/Stack.tsx +1 -1
  885. package/src/Stack/StackItem.tsx +1 -1
  886. package/src/StatusDot/StatusDot.doc.mjs +15 -6
  887. package/src/StatusDot/StatusDot.tsx +2 -22
  888. package/src/StatusDot/index.ts +22 -5
  889. package/src/Switch/Switch.doc.mjs +5 -5
  890. package/src/Switch/Switch.test.tsx +71 -25
  891. package/src/Switch/Switch.tsx +63 -26
  892. package/src/TabList/Tab.doc.mjs +1 -1
  893. package/src/TabList/Tab.tsx +1 -1
  894. package/src/TabList/TabList.doc.mjs +3 -3
  895. package/src/TabList/TabList.test.tsx +21 -18
  896. package/src/TabList/TabList.tsx +1 -1
  897. package/src/TabList/TabMenu.doc.mjs +1 -1
  898. package/src/TabList/TabMenu.tsx +11 -3
  899. package/src/Table/BaseTable.tsx +4 -5
  900. package/src/Table/Table.doc.mjs +5 -5
  901. package/src/Table/Table.test.tsx +27 -49
  902. package/src/Table/Table.tsx +1 -1
  903. package/src/Table/TableCell.doc.mjs +1 -1
  904. package/src/Table/TableCell.tsx +2 -2
  905. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  906. package/src/Table/TableHeaderCell.tsx +2 -2
  907. package/src/Table/TableRow.doc.mjs +1 -1
  908. package/src/Table/TableRow.tsx +1 -1
  909. package/src/Table/index.ts +1 -1
  910. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
  911. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  912. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +30 -11
  913. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  914. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  915. package/src/Table/types.ts +0 -9
  916. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  917. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  918. package/src/Table/useTableFilterState.doc.mjs +1 -1
  919. package/src/Table/useTableFiltering.doc.mjs +1 -1
  920. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  921. package/src/Table/useTablePagination.doc.mjs +1 -1
  922. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  923. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  924. package/src/Table/useTableRowStatus.doc.mjs +3 -3
  925. package/src/Table/useTableSelection.doc.mjs +1 -1
  926. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  927. package/src/Table/useTableSortable.doc.mjs +1 -1
  928. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  929. package/src/Table/useTableTreeData.doc.mjs +10 -1
  930. package/src/Table/useTableTreeState.doc.mjs +1 -1
  931. package/src/Text/Heading.doc.mjs +4 -4
  932. package/src/Text/Text.doc.mjs +4 -4
  933. package/src/Text/Text.test.tsx +42 -0
  934. package/src/Text/Text.tsx +26 -2
  935. package/src/Text/index.ts +32 -6
  936. package/src/TextArea/TextArea.doc.mjs +5 -5
  937. package/src/TextArea/TextArea.test.tsx +112 -7
  938. package/src/TextArea/TextArea.tsx +143 -50
  939. package/src/TextInput/TextInput.doc.mjs +3 -3
  940. package/src/TextInput/TextInput.tsx +1 -1
  941. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  942. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  943. package/src/Thumbnail/Thumbnail.tsx +28 -35
  944. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  945. package/src/TimeInput/TimeInput.tsx +1 -1
  946. package/src/Timestamp/Timestamp.doc.mjs +30 -24
  947. package/src/Timestamp/Timestamp.test.tsx +438 -107
  948. package/src/Timestamp/Timestamp.tsx +167 -103
  949. package/src/Timestamp/TimestampHoverCard.tsx +283 -0
  950. package/src/Timestamp/formatInstant.ts +9 -4
  951. package/src/Timestamp/tooltipEntries.test.ts +9 -0
  952. package/src/Timestamp/tooltipEntries.ts +18 -2
  953. package/src/Toast/Toast.doc.mjs +3 -3
  954. package/src/Toast/ToastViewport.test.tsx +218 -8
  955. package/src/Toast/ToastViewport.tsx +71 -12
  956. package/src/Toast/useToast.doc.mjs +2 -2
  957. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  958. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  959. package/src/ToggleButton/ToggleButton.tsx +20 -2
  960. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  961. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  962. package/src/Token/Token.doc.mjs +3 -3
  963. package/src/Token/Token.test.tsx +145 -0
  964. package/src/Token/Token.tsx +75 -61
  965. package/src/Token/TokenLink.tsx +107 -0
  966. package/src/Token/index.ts +28 -1
  967. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  968. package/src/Tokenizer/Tokenizer.tsx +1 -1
  969. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  970. package/src/Toolbar/Toolbar.tsx +1 -1
  971. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  972. package/src/Tooltip/Tooltip.tsx +1 -1
  973. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  974. package/src/TopNav/TopNav.doc.mjs +3 -3
  975. package/src/TopNav/TopNav.test.tsx +2 -2
  976. package/src/TopNav/TopNav.tsx +2 -4
  977. package/src/TopNav/TopNavHeading.doc.mjs +1 -12
  978. package/src/TopNav/TopNavHeading.tsx +8 -18
  979. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  980. package/src/TopNav/TopNavItem.tsx +1 -1
  981. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  982. package/src/TopNav/TopNavMegaMenu.tsx +35 -11
  983. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  984. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  985. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  986. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  987. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  988. package/src/TopNav/TopNavMenu.tsx +5 -4
  989. package/src/TreeList/TreeList.doc.mjs +3 -3
  990. package/src/TreeList/TreeList.test.tsx +10 -6
  991. package/src/TreeList/TreeList.tsx +1 -1
  992. package/src/TreeList/TreeListBranches.tsx +1 -1
  993. package/src/TreeList/TreeListItem.tsx +4 -3
  994. package/src/TreeList/TreeListTypes.ts +1 -18
  995. package/src/TreeList/index.ts +19 -1
  996. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  997. package/src/Typeahead/BaseTypeahead.tsx +13 -1
  998. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  999. package/src/Typeahead/Typeahead.test.tsx +62 -0
  1000. package/src/Typeahead/Typeahead.tsx +7 -1
  1001. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  1002. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  1003. package/src/VStack/VStack.tsx +1 -1
  1004. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  1005. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  1006. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  1007. package/src/__tests__/forcedColors.ts +60 -0
  1008. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  1009. package/src/doc-mjs.d.ts +5 -2
  1010. package/src/docPropLiterals.test.ts +1 -1
  1011. package/src/docPropReferences.test.ts +1 -1
  1012. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  1013. package/src/hooks/index.ts +7 -0
  1014. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  1015. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  1016. package/src/hooks/useContainerReveal.test.tsx +116 -0
  1017. package/src/hooks/useContainerReveal.ts +181 -0
  1018. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  1019. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  1020. package/src/hooks/useGridFocus.doc.mjs +2 -2
  1021. package/src/hooks/useGridFocus.ts +8 -6
  1022. package/src/hooks/useHotkeys.doc.mjs +2 -2
  1023. package/src/hooks/useImageMode.doc.mjs +2 -2
  1024. package/src/hooks/useImageMode.test.ts +1 -1
  1025. package/src/hooks/useInputContainer.doc.mjs +2 -2
  1026. package/src/hooks/useInputContainer.test.tsx +180 -0
  1027. package/src/hooks/useInputContainer.ts +36 -1
  1028. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  1029. package/src/hooks/useInputStatusIcon.tsx +12 -1
  1030. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  1031. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  1032. package/src/hooks/useKeyboardHint.tsx +7 -3
  1033. package/src/hooks/useListFocus.doc.mjs +2 -2
  1034. package/src/hooks/useListFocus.ts +8 -7
  1035. package/src/hooks/useLongPress.test.tsx +18 -0
  1036. package/src/hooks/useLongPress.ts +12 -2
  1037. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  1038. package/src/hooks/useOverflow.doc.mjs +2 -2
  1039. package/src/hooks/useScrollLock.doc.mjs +2 -2
  1040. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  1041. package/src/hooks/useStreamingText.doc.mjs +2 -2
  1042. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  1043. package/src/hooks/useTreeFocus.test.tsx +53 -1
  1044. package/src/hooks/useTreeFocus.ts +13 -2
  1045. package/src/i18n/InternationalizationProvider.doc.mjs +14 -2
  1046. package/src/i18n/InternationalizationProvider.tsx +6 -0
  1047. package/src/i18n/useDirection.ts +6 -3
  1048. package/src/i18n/useTranslator.doc.mjs +2 -2
  1049. package/src/index.ts +2 -18
  1050. package/src/theme/MediaTheme.doc.mjs +2 -2
  1051. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  1052. package/src/theme/Theme.doc.mjs +2 -2
  1053. package/src/theme/Theme.tsx +3 -7
  1054. package/src/theme/contrast.test.ts +94 -0
  1055. package/src/theme/contrast.ts +99 -0
  1056. package/src/theme/defineTheme.test.ts +29 -30
  1057. package/src/theme/defineTheme.ts +11 -5
  1058. package/src/theme/derivedVarRegistry.test.ts +0 -1
  1059. package/src/theme/derivedVarRegistry.ts +0 -6
  1060. package/src/theme/expandColorScale.test.ts +401 -1
  1061. package/src/theme/expandColorScale.ts +143 -19
  1062. package/src/theme/generateThemeRules.test.ts +20 -20
  1063. package/src/theme/generateThemeRules.ts +0 -15
  1064. package/src/theme/index.ts +11 -13
  1065. package/src/theme/themeRegistry.test.ts +59 -0
  1066. package/src/theme/themeRegistry.ts +53 -0
  1067. package/src/theme/tokens.stylex.ts +0 -19
  1068. package/src/theme/types.ts +14 -13
  1069. package/src/theme/useTheme.doc.mjs +2 -2
  1070. package/src/theme/useTheme.test.tsx +48 -3
  1071. package/src/theme/useTheme.ts +100 -29
  1072. package/src/utils/rtlStyles.ts +24 -2
  1073. package/dist/NavMenu/NavMenuItem.d.ts +0 -13
  1074. package/dist/NavMenu/NavMenuItem.d.ts.map +0 -1
  1075. package/dist/NavMenu/NavMenuItem.js +0 -16
  1076. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  1077. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  1078. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  1079. package/dist/authoring/doc.d.ts +0 -145
  1080. package/dist/authoring/doc.d.ts.map +0 -1
  1081. package/dist/authoring/doc.js +0 -100
  1082. package/dist/authoring/index.d.ts +0 -29
  1083. package/dist/authoring/index.d.ts.map +0 -1
  1084. package/dist/authoring/index.js +0 -28
  1085. package/dist/authoring/integration.d.ts +0 -35
  1086. package/dist/authoring/integration.d.ts.map +0 -1
  1087. package/dist/authoring/integration.js +0 -30
  1088. package/dist/authoring/template.d.ts +0 -66
  1089. package/dist/authoring/template.d.ts.map +0 -1
  1090. package/dist/authoring/template.js +0 -55
  1091. package/dist/config.d.ts +0 -80
  1092. package/dist/config.d.ts.map +0 -1
  1093. package/dist/config.js +0 -40
  1094. package/dist/docs-types.d.ts +0 -969
  1095. package/dist/docs-types.d.ts.map +0 -1
  1096. package/dist/docs-types.js +0 -1
  1097. package/src/NavMenu/NavMenuItem.tsx +0 -19
  1098. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  1099. package/src/authoring/doc.ts +0 -164
  1100. package/src/authoring/index.test.ts +0 -52
  1101. package/src/authoring/index.ts +0 -50
  1102. package/src/authoring/integration.ts +0 -42
  1103. package/src/authoring/template.ts +0 -74
  1104. package/src/config.test.ts +0 -16
  1105. package/src/config.ts +0 -92
  1106. package/src/docs-types.ts +0 -1108
@@ -0,0 +1,228 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file TimestampHoverCard.tsx
7
+ * @input Uses React, HoverCard, IconButton, Icon, formatted lines
8
+ * @output Default-exports the lazily-loaded copyable hover card for Timestamp
9
+ * @position Split out of Timestamp so the overlay (HoverCard) and the copy
10
+ * affordance's Icon/IconButton load only when a card is actually shown — the
11
+ * default, card-less Timestamp never bundles this chunk.
12
+ *
13
+ * Layout: a semantic `<dl>` laid out as a grid. Labelled cards use three
14
+ * columns — label, value, and a trailing action column for copy buttons —
15
+ * so the buttons align down a single column no matter how wide each value
16
+ * is. The action column is only added when at least one row is copyable, so
17
+ * a fully read-only card carries no dangling gutter. Label-less cards drop
18
+ * the label column and stack to whatever columns remain.
19
+ *
20
+ * SYNC: When modified, update these files to stay in sync:
21
+ * - /packages/core/src/Timestamp/Timestamp.tsx (the lazy() + Suspense wrapper)
22
+ * - /packages/core/src/Timestamp/Timestamp.doc.mjs (theming.targets)
23
+ * - /packages/core/src/Timestamp/Timestamp.test.tsx
24
+ */
25
+ import { useCallback, useEffect, useRef, useState } from 'react';
26
+ import * as stylex from '@stylexjs/stylex';
27
+ import { HoverCard } from "../HoverCard/index.js";
28
+ import { IconButton } from "../IconButton/index.js";
29
+ import { Icon } from "../Icon/index.js";
30
+ import { useAnnounce } from "../hooks/useAnnounce.js";
31
+ import { useTranslator } from "../i18n/index.js";
32
+ import { themeProps } from "../utils/themeProps.js";
33
+ import "../theme/tokens.stylex.js";
34
+ import { colorVars, spacingVars, typeScaleVars, fontWeightVars } from "../theme/tokens.stylex.js";
35
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
36
+ const styles = {
37
+ dl: {
38
+ k1xSpc: "xrvj5dj",
39
+ kGNEyG: "x6s0dn4",
40
+ k1C7PZ: "xty4p9g",
41
+ khm7nJ: "x1x7z4sm",
42
+ kogj98: "x1ghz6dp",
43
+ kmVPX3: "x1717udv",
44
+ $$css: true
45
+ }
46
+ };
47
+
48
+ // Grid templates, selected per-card by which columns are present.
49
+ // - hasAnyLabel + hasAnyCopyable → label | value | action
50
+ // - hasAnyLabel only → label | value
51
+ // - hasAnyCopyable only → value | action
52
+ // - neither → value
53
+ const gridTemplates = {
54
+ labelValueAction: {
55
+ kumcoG: "x1g3yg12",
56
+ $$css: true
57
+ },
58
+ labelValue: {
59
+ kumcoG: "x1pmbctz",
60
+ $$css: true
61
+ },
62
+ valueAction: {
63
+ kumcoG: "x52fmzj",
64
+ $$css: true
65
+ },
66
+ value: {
67
+ kumcoG: "x1y6fwsi",
68
+ $$css: true
69
+ }
70
+ };
71
+
72
+ /** How long the copied checkmark stays before reverting to the copy icon. */
73
+ const COPY_FEEDBACK_MS = 1500;
74
+
75
+ /**
76
+ * The per-row copy affordance: a compact ghost `IconButton` that writes the
77
+ * row's value to the clipboard, flips `copy` → `check` for a moment, and
78
+ * announces the copy to a polite live region (a swapped aria-label alone
79
+ * isn't reliably announced). A clipboard rejection is a silent no-op.
80
+ *
81
+ * Kept as its own component so its state/timer/effect only exist for rows that
82
+ * actually opt into copying — read-only rows render no button and carry none
83
+ * of this machinery.
84
+ */
85
+ function CopyButton({
86
+ value
87
+ }) {
88
+ const t = useTranslator();
89
+ const announce = useAnnounce();
90
+ const [copied, setCopied] = useState(false);
91
+ const resetTimerRef = useRef(null);
92
+ useEffect(() => {
93
+ return () => {
94
+ if (resetTimerRef.current != null) {
95
+ clearTimeout(resetTimerRef.current);
96
+ }
97
+ };
98
+ }, []);
99
+ const handleCopy = useCallback(async () => {
100
+ try {
101
+ await navigator.clipboard.writeText(value);
102
+ setCopied(true);
103
+ announce(t('@astryx.timestamp.copied'));
104
+ // Restart the reset timer on every copy so a rapid re-copy isn't
105
+ // reverted early by the previous click's timer.
106
+ if (resetTimerRef.current != null) {
107
+ clearTimeout(resetTimerRef.current);
108
+ }
109
+ resetTimerRef.current = setTimeout(() => {
110
+ resetTimerRef.current = null;
111
+ setCopied(false);
112
+ }, COPY_FEEDBACK_MS);
113
+ } catch {
114
+ // Clipboard failures leave the copied state unchanged.
115
+ }
116
+ }, [value, announce, t]);
117
+ return /*#__PURE__*/_jsx(IconButton, {
118
+ variant: "ghost",
119
+ size: "sm",
120
+ icon: /*#__PURE__*/_jsx(Icon, {
121
+ icon: copied ? 'check' : 'copy',
122
+ size: "sm",
123
+ color: "inherit"
124
+ })
125
+ // Visible hover/focus hint via Button's built-in tooltip: 'Copy',
126
+ // flipping to 'Copied' after a successful copy in step with the icon.
127
+ // The full 'Copy <value>' string stays the aria-label for assistive tech.
128
+ ,
129
+ tooltip: t(copied ? '@astryx.timestamp.copied' : '@astryx.timestamp.copy'),
130
+ label: copied ? t('@astryx.timestamp.copied') : t('@astryx.timestamp.copyValue', {
131
+ value
132
+ }),
133
+ onClick: () => {
134
+ void handleCopy();
135
+ },
136
+ ...themeProps('timestamp-copy-button')
137
+ });
138
+ }
139
+
140
+ /**
141
+ * One row of the hover card: an optional label, the formatted instant, and —
142
+ * when the card reserves an action column — a trailing action cell holding the
143
+ * copy button (for a copyable row) or nothing (for a read-only row, so the
144
+ * columns stay aligned). Pure presentation: the copy state lives in
145
+ * {@link CopyButton}, which only copyable rows render.
146
+ */
147
+ function EntryRow({
148
+ line,
149
+ hasLabelColumn,
150
+ hasActionColumn
151
+ }) {
152
+ return /*#__PURE__*/_jsxs("div", {
153
+ ...{
154
+ className: "xjp7ctv"
155
+ },
156
+ children: [hasLabelColumn && /*#__PURE__*/_jsx("dt", {
157
+ ...{
158
+ className: "xv1l7n4 x141an7d x1ltkj2j x1sodnla x1ghz6dp x1717udv xuxw1ft"
159
+ },
160
+ children: line.label ?? ''
161
+ }), /*#__PURE__*/_jsx("dd", {
162
+ ...{
163
+ className: "x1tgivj0 xjm74w1 xw6l6zx x1sodnla x1ghz6dp x1717udv xuxw1ft"
164
+ },
165
+ children: line.value
166
+ }), hasActionColumn && /*#__PURE__*/_jsx("div", {
167
+ ...{
168
+ className: "x78zum5 x13a6bvl x6s0dn4"
169
+ },
170
+ children: line.isCopyable && /*#__PURE__*/_jsx(CopyButton, {
171
+ value: line.value
172
+ })
173
+ })]
174
+ });
175
+ }
176
+ function gridTemplateFor(hasLabelColumn, hasActionColumn) {
177
+ if (hasLabelColumn && hasActionColumn) {
178
+ return gridTemplates.labelValueAction;
179
+ }
180
+ if (hasLabelColumn) {
181
+ return gridTemplates.labelValue;
182
+ }
183
+ if (hasActionColumn) {
184
+ return gridTemplates.valueAction;
185
+ }
186
+ return gridTemplates.value;
187
+ }
188
+
189
+ /**
190
+ * The copyable hover card for Timestamp. Renders a semantic `<dl>` as a grid:
191
+ * an optional label column, the value, and — when any row is copyable — a
192
+ * trailing action column carrying that row's copy button, so buttons align
193
+ * down one column. With a single default line this is a one-row card carrying
194
+ * the full absolute time, copyable. Opens on hover and on keyboard focus (the
195
+ * anchor's tab stop), with a dashed-underline affordance signalling it is
196
+ * interactive.
197
+ */
198
+ export default function TimestampHoverCard({
199
+ lines,
200
+ label,
201
+ children
202
+ }) {
203
+ // A label column is only reserved when some row is labelled; otherwise the
204
+ // value sits flush at the card's leading edge. An action column is only
205
+ // reserved when some row is copyable (option B), so a fully read-only card
206
+ // has no trailing gutter.
207
+ const hasLabelColumn = lines.some(line => line.label != null && line.label !== '');
208
+ const hasActionColumn = lines.some(line => line.isCopyable);
209
+ const cardContent = /*#__PURE__*/_jsx("dl", {
210
+ ...stylex.props(styles.dl, gridTemplateFor(hasLabelColumn, hasActionColumn)),
211
+ children: lines.map((line, index) => /*#__PURE__*/_jsx(EntryRow
212
+ // eslint-disable-next-line @eslint-react/no-array-index-key -- rows are fixed positional slots and two entries may legitimately be identical
213
+ , {
214
+ line: line,
215
+ hasLabelColumn: hasLabelColumn,
216
+ hasActionColumn: hasActionColumn
217
+ }, index))
218
+ });
219
+ return /*#__PURE__*/_jsx(HoverCard, {
220
+ content: cardContent,
221
+ placement: "above",
222
+ focusTrigger: "always",
223
+ hasHoverIndication: true,
224
+ label: label,
225
+ children: children
226
+ });
227
+ }
228
+ TimestampHoverCard.displayName = 'TimestampHoverCard';
@@ -4,10 +4,10 @@ import type { TimestampFormat } from './Timestamp';
4
4
  * style ("February 19, 2026 at 5:00:00 PM UTC") that backs a relative
5
5
  * timestamp's accessible name and the tooltip's default line.
6
6
  *
7
- * `'relative'` and `'auto'` are excluded: a relative phrase names no instant,
8
- * so a zone could not change what it says.
7
+ * `'relative'`, `'relative_short'`, and `'auto'` are excluded: a relative
8
+ * phrase names no instant, so a zone could not change what it says.
9
9
  */
10
- export type InstantFormat = Exclude<TimestampFormat, 'relative' | 'auto'> | 'full';
10
+ export type InstantFormat = Exclude<TimestampFormat, 'relative' | 'relative_short' | 'auto'> | 'full';
11
11
  export interface FormatInstantOptions {
12
12
  /**
13
13
  * IANA time zone identifier. Omit for the viewer's own zone — which is what
@@ -1 +1 @@
1
- {"version":3,"file":"formatInstant.d.ts","sourceRoot":"","sources":["../../src/Timestamp/formatInstant.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAMjD;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GACrB,OAAO,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC,GAC7C,MAAM,CAAC;AAEX,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA6ED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,aAAa,EACrB,EAAC,QAAQ,EAAE,eAAuB,EAAC,GAAE,oBAAyB,GAC7D,MAAM,CA0DR"}
1
+ {"version":3,"file":"formatInstant.d.ts","sourceRoot":"","sources":["../../src/Timestamp/formatInstant.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAMjD;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GACvB,OAAO,CAAC,eAAe,EAAE,UAAU,GAAG,gBAAgB,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA6ED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,aAAa,EACrB,EAAC,QAAQ,EAAE,eAAuB,EAAC,GAAE,oBAAyB,GAC7D,MAAM,CAgER"}
@@ -40,8 +40,8 @@ import { SHARED_DATE_FORMAT_OPTIONS, getTimeZoneParts } from "../utils/plainDate
40
40
  * style ("February 19, 2026 at 5:00:00 PM UTC") that backs a relative
41
41
  * timestamp's accessible name and the tooltip's default line.
42
42
  *
43
- * `'relative'` and `'auto'` are excluded: a relative phrase names no instant,
44
- * so a zone could not change what it says.
43
+ * `'relative'`, `'relative_short'`, and `'auto'` are excluded: a relative
44
+ * phrase names no instant, so a zone could not change what it says.
45
45
  */
46
46
 
47
47
  // =============================================================================
@@ -173,5 +173,10 @@ export function formatInstant(date, format, {
173
173
  const w = getWallClock(date, timeZone);
174
174
  return `${pad(w.hour)}:${pad(w.minute)}:${pad(w.second)}`;
175
175
  }
176
+ case 'unix_seconds':
177
+ // Unix time in whole seconds since the epoch. The epoch is an absolute
178
+ // instant, so this is zone-independent — `timeZone` is intentionally
179
+ // ignored (a wall-clock zone can't change how many seconds have elapsed).
180
+ return String(Math.floor(date.getTime() / 1000));
176
181
  }
177
182
  }
@@ -4,8 +4,9 @@ import type { InstantFormat } from './formatInstant';
4
4
  *
5
5
  * Every `TimestampFormat` that names a fixed instant, plus `'full'` — the long
6
6
  * absolute style the tooltip has always shown ("February 19, 2026 at 5:00:00 PM
7
- * UTC"). `'relative'` and `'auto'` are excluded: a relative phrase ignores any
8
- * zone, which would make `timezoneID` silently inert on that line.
7
+ * UTC"). `'relative'`, `'relative_short'`, and `'auto'` are excluded: a
8
+ * relative phrase ignores any zone, which would make `timezoneID` silently
9
+ * inert on that line.
9
10
  *
10
11
  * `'full'` lives only in this vocabulary, never in `TimestampFormat` — nothing
11
12
  * asked for it as a visible display format, and keeping it out means new
@@ -40,11 +41,25 @@ export interface TimestampTooltipEntry {
40
41
  * Supplied already translated; Timestamp never invents or localizes labels.
41
42
  */
42
43
  label?: string;
44
+ /**
45
+ * Whether this row shows a copy-to-clipboard button, rendered in a dedicated
46
+ * trailing action column so the buttons line up across rows regardless of
47
+ * each value's width. The action column is only reserved when at least one
48
+ * row is copyable, so a fully read-only card has no trailing gutter.
49
+ *
50
+ * Defaults to `false` — rows are read-only unless opted in. Set `true` for a
51
+ * row whose value is worth pasting elsewhere, such as a machine-readable
52
+ * `system_date_time` value shown beside human-readable zones that only need
53
+ * to be read.
54
+ * @default false
55
+ */
56
+ isCopyable?: boolean;
43
57
  }
44
58
  /** A rendered tooltip line. */
45
59
  export interface TimestampTooltipLine {
46
60
  label?: string;
47
61
  value: string;
62
+ isCopyable: boolean;
48
63
  }
49
64
  /**
50
65
  * Renders one tooltip line per entry, in the order given.
@@ -1 +1 @@
1
- {"version":3,"file":"tooltipEntries.d.ts","sourceRoot":"","sources":["../../src/Timestamp/tooltipEntries.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAMnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAEnD,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,+BAA+B;AAC/B,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAqGD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC5C,aAAa,CAAC,oBAAoB,CAAC,CAoBrC"}
1
+ {"version":3,"file":"tooltipEntries.d.ts","sourceRoot":"","sources":["../../src/Timestamp/tooltipEntries.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAMnD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAEnD,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,+BAA+B;AAC/B,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB;AAqGD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC5C,aAAa,CAAC,oBAAoB,CAAC,CAqBrC"}
@@ -33,8 +33,9 @@ import { formatInstant } from "./formatInstant.js";
33
33
  *
34
34
  * Every `TimestampFormat` that names a fixed instant, plus `'full'` — the long
35
35
  * absolute style the tooltip has always shown ("February 19, 2026 at 5:00:00 PM
36
- * UTC"). `'relative'` and `'auto'` are excluded: a relative phrase ignores any
37
- * zone, which would make `timezoneID` silently inert on that line.
36
+ * UTC"). `'relative'`, `'relative_short'`, and `'auto'` are excluded: a
37
+ * relative phrase ignores any zone, which would make `timezoneID` silently
38
+ * inert on that line.
38
39
  *
39
40
  * `'full'` lives only in this vocabulary, never in `TimestampFormat` — nothing
40
41
  * asked for it as a visible display format, and keeping it out means new
@@ -154,6 +155,7 @@ export function formatTooltipLines(date, entries) {
154
155
  ...(entry.label === undefined ? {} : {
155
156
  label: entry.label
156
157
  }),
158
+ isCopyable: entry.isCopyable ?? false,
157
159
  value: formatInstant(date, format, {
158
160
  timeZone,
159
161
  isTimezoneShown: shouldShowZoneName(format, hasMultipleZones, timeZone !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"ToastViewport.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastViewport.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAa,aAAa,EAAqB,MAAM,SAAS,CAAC;AA4D3E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IACtE;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAsB,EACtB,UAAc,EACd,KAAK,EACL,UAAiB,EACjB,QAAQ,GACT,EAAE,kBAAkB,+BAkTpB;yBAxTe,aAAa"}
1
+ {"version":3,"file":"ToastViewport.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastViewport.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAa,aAAa,EAAqB,MAAM,SAAS,CAAC;AAmF3E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IACtE;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAsB,EACtB,UAAc,EACd,KAAK,EACL,UAAiB,EACjB,QAAQ,GACT,EAAE,kBAAkB,+BAmVpB;yBAzVe,aAAa"}
@@ -2,12 +2,13 @@
2
2
 
3
3
  'use client';
4
4
 
5
- import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
5
+ import { isValidElement, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
6
6
  import * as stylex from '@stylexjs/stylex';
7
7
  import "../theme/tokens.stylex.js";
8
8
  import { spacingVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
9
9
  import { mergeProps } from "../utils/index.js";
10
10
  import { INTERACTIVE_SELECTORS } from "../hooks/useClickableContainer.js";
11
+ import { useAnnounce } from "../hooks/useAnnounce.js";
11
12
  import { Toast } from "./Toast.js";
12
13
  import { ToastContext } from "./ToastContext.js";
13
14
  import { useTranslator } from "../i18n/index.js";
@@ -53,6 +54,31 @@ const styles = {
53
54
  $$css: true
54
55
  }
55
56
  };
57
+
58
+ // Flatten a toast's rendered content (title, description, etc.) to the plain
59
+ // text that should be spoken by a screen reader. Only text is announced —
60
+ // interactive endContent is deliberately excluded (it is reachable via F6).
61
+ function getNodeText(node) {
62
+ if (node == null || typeof node === 'boolean') {
63
+ return '';
64
+ }
65
+ if (typeof node === 'string') {
66
+ return node;
67
+ }
68
+ if (typeof node === 'number') {
69
+ return String(node);
70
+ }
71
+ if (Array.isArray(node)) {
72
+ return node.map(getNodeText).filter(Boolean).join(' ');
73
+ }
74
+ if (/*#__PURE__*/isValidElement(node)) {
75
+ const {
76
+ children
77
+ } = node.props;
78
+ return getNodeText(children);
79
+ }
80
+ return '';
81
+ }
56
82
  /**
57
83
  * Container that renders and manages toast notifications. Place at the root
58
84
  * of your app to enable useToast(). Toasts stack with enter/exit
@@ -113,24 +139,50 @@ export function ToastViewport({
113
139
  }
114
140
  return null;
115
141
  }, []);
142
+
143
+ // Announce toasts through the persistent singleton live regions. Each
144
+ // <Toast> also renders its own role="status"/"alert" region, but that region
145
+ // is "born with content" — mounted together with its text — which many
146
+ // screen readers do not announce (see useAnnounce.ts); the singleton regions
147
+ // are mounted empty and only mutated afterwards, so they are what actually
148
+ // guarantees the announcement (the per-toast markup is kept for browse-mode
149
+ // discoverability). The announcement happens in addToast — the imperative
150
+ // dispatch path invoked once per useToast() call from an event handler,
151
+ // never from render — so each toast is announced exactly once by
152
+ // construction, independent of the React render lifecycle (StrictMode
153
+ // double-render/double-effect, viewport remounts, and unrelated list
154
+ // re-renders never re-announce). It is client-only (addToast never runs
155
+ // during SSR), so it is SSR-safe.
156
+ const announce = useAnnounce();
116
157
  const addToast = useCallback(entry => {
158
+ const {
159
+ uniqueID,
160
+ collisionBehavior = 'overwrite'
161
+ } = entry.options;
162
+ // Resolve an ignored collision synchronously against the committed list
163
+ // so a suppressed toast is neither shown nor announced. The remaining
164
+ // announce + setToasts run outside the setToasts updater, which React may
165
+ // invoke more than once — keeping the announcement exactly-once.
166
+ if (uniqueID && collisionBehavior === 'ignore' && toastsRef.current.some(t => t.options.uniqueID === uniqueID)) {
167
+ return;
168
+ }
169
+ const text = getNodeText(entry.options.body);
170
+ if (text) {
171
+ // Error toasts map to the assertive region (role="alert"); everything
172
+ // else to the polite region (role="status") — mirrors Toast.tsx.
173
+ announce(text, entry.options.type === 'error' ? 'assertive' : 'polite');
174
+ }
117
175
  setToasts(prev => {
118
- const {
119
- uniqueID,
120
- collisionBehavior = 'overwrite'
121
- } = entry.options;
122
176
  if (uniqueID) {
123
177
  const existing = prev.find(t => t.options.uniqueID === uniqueID);
124
178
  if (existing) {
125
- if (collisionBehavior === 'ignore') {
126
- return prev;
127
- }
179
+ // An ignored collision already returned above; overwrite in place.
128
180
  return prev.map(t => t.options.uniqueID === uniqueID ? entry : t);
129
181
  }
130
182
  }
131
183
  return [...prev, entry];
132
184
  });
133
- }, []);
185
+ }, [announce]);
134
186
  const removeToast = useCallback((id, reason) => {
135
187
  // An exiting toast stays in toastsRef until its exit transition ends, so
136
188
  // a second dismissal inside that window (double-click, auto-timer plus
@@ -13,7 +13,7 @@
13
13
  * SYNC: When modified, update these files to stay in sync:
14
14
  * - /packages/core/src/ToggleButton/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/ToggleButton.stories.tsx
16
- * - /packages/cli/templates/blocks/components/ToggleButton/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/ToggleButton/ (showcase blocks)
17
17
  */
18
18
  import React, { type ReactNode } from 'react';
19
19
  import { type ButtonSize } from '../Button';
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../../src/ToggleButton/ToggleButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAgB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAS,KAAK,UAAU,EAAC,MAAM,WAAW,CAAC;AAElD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA0C5C,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACrE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAChB,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KACvC,IAAI,CAAC;IAEV;;;;;;;;;;;;;;;;;OAiBG;IACH,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,GAAG,EACH,KAAK,EACL,SAAS,EAAE,aAAa,EACxB,eAAe,EAAE,mBAAmB,EACpC,mBAAmB,EACnB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,cAAsB,EAClC,SAAiB,EACjB,IAAI,EACJ,UAAkB,EAClB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EAAE,UAAU,EACrB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,iBAAiB,GAAG,SAAS,CAyG/B;yBA5He,YAAY"}
1
+ {"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../../src/ToggleButton/ToggleButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAgB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAS,KAAK,UAAU,EAAC,MAAM,WAAW,CAAC;AAElD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4D5C,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACrE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAChB,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KACvC,IAAI,CAAC;IAEV;;;;;;;;;;;;;;;;;OAiBG;IACH,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,GAAG,EACH,KAAK,EACL,SAAS,EAAE,aAAa,EACxB,eAAe,EAAE,mBAAmB,EACpC,mBAAmB,EACnB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,cAAsB,EAClC,SAAiB,EACjB,IAAI,EACJ,UAAkB,EAClB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EAAE,UAAU,EACrB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,iBAAiB,GAAG,SAAS,CAyG/B;yBA5He,YAAY"}
@@ -17,7 +17,7 @@
17
17
  * SYNC: When modified, update these files to stay in sync:
18
18
  * - /packages/core/src/ToggleButton/index.ts (exports if types change)
19
19
  * - /apps/storybook/stories/ToggleButton.stories.tsx
20
- * - /packages/cli/templates/blocks/components/ToggleButton/ (showcase blocks)
20
+ * - /packages/cli/assets/templates/blocks/components/ToggleButton/ (showcase blocks)
21
21
  */
22
22
  import React, { useOptimistic } from 'react';
23
23
  import * as stylex from '@stylexjs/stylex';
@@ -39,7 +39,9 @@ import { themeProps } from "../utils/themeProps.js";
39
39
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
40
40
  const pressedStyles = {
41
41
  background: {
42
- kWkggS: "xi89dp7",
42
+ kAXs8y: "x1kzknox",
43
+ kWkggS: "xi89dp7 x1jzqe4",
44
+ kMwMTN: "x1k5gbb1",
43
45
  $$css: true
44
46
  }
45
47
  };
@@ -11,7 +11,7 @@
11
11
  * SYNC: When modified, update these files to stay in sync:
12
12
  * - /packages/core/src/ToggleButton/index.ts
13
13
  * - /apps/storybook/stories/ToggleButton.stories.tsx
14
- * - /packages/cli/templates/blocks/components/ToggleButton/ (showcase blocks)
14
+ * - /packages/cli/assets/templates/blocks/components/ToggleButton/ (showcase blocks)
15
15
  */
16
16
  import { type ReactNode } from 'react';
17
17
  import type { ButtonSize } from '../Button';
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButtonGroup.d.ts","sourceRoot":"","sources":["../../src/ToggleButton/ToggleButtonGroup.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAA2C,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAG/E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAOnD,UAAU,6BAA6B;IACrC,mCAAmC;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,6BAA6B;IAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,4DAA4D;IAC5D,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,6BAA6B,GAAG,IAAI,CAE3E;AAsBD,UAAU,0BAA0B;IAClC,8BAA8B;IAC9B,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA6B,SAAQ,0BAA0B;IAC9E;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,qCAAqC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA+B,SAAQ,0BAA0B;IAChF,+BAA+B;IAC/B,IAAI,EAAE,UAAU,CAAC;IAEjB,iCAAiC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,qCAAqC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACrC;AAED,8DAA8D;AAC9D,MAAM,MAAM,sBAAsB,GAC9B,4BAA4B,GAC5B,8BAA8B,CAAC;AAMnC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAC5B,SAAS,CAgEX;yBAlEe,iBAAiB"}
1
+ {"version":3,"file":"ToggleButtonGroup.d.ts","sourceRoot":"","sources":["../../src/ToggleButton/ToggleButtonGroup.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAA2C,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAG/E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAOnD,UAAU,6BAA6B;IACrC,mCAAmC;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,6BAA6B;IAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,4DAA4D;IAC5D,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,6BAA6B,GAAG,IAAI,CAE3E;AAsBD,UAAU,0BAA0B;IAClC,8BAA8B;IAC9B,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA6B,SAAQ,0BAA0B;IAC9E;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,qCAAqC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA+B,SAAQ,0BAA0B;IAChF,+BAA+B;IAC/B,IAAI,EAAE,UAAU,CAAC;IAEjB,iCAAiC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,qCAAqC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACrC;AAED,8DAA8D;AAC9D,MAAM,MAAM,sBAAsB,GAChC,4BAA4B,GAAG,8BAA8B,CAAC;AAMhE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAgE1E;yBAhEe,iBAAiB"}
@@ -15,7 +15,7 @@
15
15
  * SYNC: When modified, update these files to stay in sync:
16
16
  * - /packages/core/src/ToggleButton/index.ts
17
17
  * - /apps/storybook/stories/ToggleButton.stories.tsx
18
- * - /packages/cli/templates/blocks/components/ToggleButton/ (showcase blocks)
18
+ * - /packages/cli/assets/templates/blocks/components/ToggleButton/ (showcase blocks)
19
19
  */
20
20
  import { createContext, useCallback, use, useMemo } from 'react';
21
21
  import * as stylex from '@stylexjs/stylex';
@@ -5,40 +5,16 @@
5
5
  * @position Core implementation; consumed by index.ts, tested by Token.test.tsx
6
6
  *
7
7
  * SYNC: When modified, update these files to stay in sync:
8
+ * - /packages/core/src/Token/TokenLink.tsx (interactive wrapper for href+onRemove)
8
9
  * - /packages/core/src/Token/Token.doc.mjs (props table, features, implementation notes)
9
10
  * - /packages/core/src/Token/Token.test.tsx (tests for new/changed behavior)
10
11
  * - /packages/core/src/Token/index.ts (exports if types change)
11
12
  * - /apps/storybook/stories/Token.stories.tsx (storybook stories)
12
- * - /packages/cli/templates/blocks/components/Token/ (showcase blocks)
13
+ * - /packages/cli/assets/templates/blocks/components/Token/ (showcase blocks)
13
14
  */
14
15
  import type { ReactNode } from 'react';
15
16
  import type { BaseProps } from '../BaseProps';
16
- /**
17
- * Extensible color map for Token.
18
- *
19
- * Theme packages can add custom colors via TypeScript module augmentation:
20
- * @example
21
- * ```
22
- * declare module '@astryxdesign/core/Token' {
23
- * interface TokenColorMap {
24
- * brand: true;
25
- * }
26
- * }
27
- * ```
28
- */
29
- export interface TokenColorMap {
30
- default: true;
31
- red: true;
32
- orange: true;
33
- yellow: true;
34
- green: true;
35
- teal: true;
36
- cyan: true;
37
- blue: true;
38
- purple: true;
39
- pink: true;
40
- gray: true;
41
- }
17
+ import type { TokenColorMap } from './index';
42
18
  /**
43
19
  * Token color type derived from TokenColorMap.
44
20
  * Extensible via module augmentation of TokenColorMap.
@@ -106,7 +82,9 @@ export interface TokenProps extends BaseProps<HTMLElement> {
106
82
  * `<span>` container with an invisible `<button>` when `onClick` is provided.
107
83
  * The invisible button pattern provides real button semantics for accessibility
108
84
  * while the container uses `:focus-within` to show focus outlines around the
109
- * entire token.
85
+ * entire token. When both `href` and `onRemove` are provided, the same
86
+ * container pattern is used with an invisible `<a>` so the remove `<button>`
87
+ * renders as a sibling of the link rather than nested inside it.
110
88
  *
111
89
  * @example
112
90
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"Token.d.ts","sourceRoot":"","sources":["../../src/Token/Token.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAgBrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAQ5C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,WAAW,CAAC;IACxD,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkLD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,IAAW,EACX,KAAiB,EACjB,IAAI,EACJ,UAAkB,EAClB,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACX,UAAU,EACV,aAAqB,EACrB,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,GACJ,EAAE,UAAU,+BA+IZ;yBAhKe,KAAK"}
1
+ {"version":3,"file":"Token.d.ts","sourceRoot":"","sources":["../../src/Token/Token.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAiBrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAM3C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,WAAW,CAAC;IACxD,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkLD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,IAAW,EACX,KAAiB,EACjB,IAAI,EACJ,UAAkB,EAClB,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACX,UAAU,EACV,aAAqB,EACrB,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,GACJ,EAAE,UAAU,+BAmLZ;yBApMe,KAAK"}