@astryxdesign/core 0.2.0-canary.85f5022 → 0.2.0-canary.8dfd7cf

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 (966) hide show
  1. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  2. package/dist/AlertDialog/AlertDialog.js +1 -1
  3. package/dist/AppShell/AppShell.d.ts +2 -20
  4. package/dist/AppShell/AppShell.d.ts.map +1 -1
  5. package/dist/AppShell/AppShell.js +1 -14
  6. package/dist/AppShell/index.d.ts +20 -1
  7. package/dist/AppShell/index.d.ts.map +1 -1
  8. package/dist/AppShell/index.js +14 -0
  9. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  10. package/dist/AspectRatio/AspectRatio.js +1 -1
  11. package/dist/Avatar/Avatar.d.ts +1 -1
  12. package/dist/Avatar/Avatar.d.ts.map +1 -1
  13. package/dist/Avatar/Avatar.js +4 -4
  14. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  15. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  16. package/dist/Avatar/AvatarStatusDot.js +1 -22
  17. package/dist/Avatar/index.d.ts +26 -1
  18. package/dist/Avatar/index.d.ts.map +1 -1
  19. package/dist/Avatar/index.js +21 -0
  20. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  21. package/dist/AvatarGroup/AvatarGroup.js +1 -1
  22. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  23. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  24. package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
  25. package/dist/Badge/Badge.d.ts +2 -30
  26. package/dist/Badge/Badge.d.ts.map +1 -1
  27. package/dist/Badge/Badge.js +2 -17
  28. package/dist/Badge/index.d.ts +31 -2
  29. package/dist/Badge/index.d.ts.map +1 -1
  30. package/dist/Badge/index.js +15 -1
  31. package/dist/Banner/Banner.d.ts +2 -37
  32. package/dist/Banner/Banner.d.ts.map +1 -1
  33. package/dist/Banner/Banner.js +6 -34
  34. package/dist/Banner/index.d.ts +37 -1
  35. package/dist/Banner/index.d.ts.map +1 -1
  36. package/dist/Banner/index.js +27 -0
  37. package/dist/Blockquote/Blockquote.d.ts +1 -1
  38. package/dist/Blockquote/Blockquote.js +1 -1
  39. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  40. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  41. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  42. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  43. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  44. package/dist/Breadcrumbs/index.d.ts +18 -1
  45. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  46. package/dist/Breadcrumbs/index.js +14 -0
  47. package/dist/Button/Button.d.ts +3 -21
  48. package/dist/Button/Button.d.ts.map +1 -1
  49. package/dist/Button/Button.js +6 -19
  50. package/dist/Button/index.d.ts +21 -3
  51. package/dist/Button/index.d.ts.map +1 -1
  52. package/dist/Button/index.js +15 -1
  53. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  54. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  55. package/dist/Calendar/Calendar.js +1 -1
  56. package/dist/Calendar/styles.d.ts +2 -2
  57. package/dist/Calendar/styles.js +2 -2
  58. package/dist/Card/Card.d.ts +1 -1
  59. package/dist/Card/Card.js +1 -1
  60. package/dist/Carousel/Carousel.d.ts +1 -1
  61. package/dist/Carousel/Carousel.js +1 -1
  62. package/dist/Center/Center.d.ts +21 -4
  63. package/dist/Center/Center.d.ts.map +1 -1
  64. package/dist/Center/Center.js +11 -3
  65. package/dist/Chat/ChatComposer.d.ts +1 -1
  66. package/dist/Chat/ChatComposer.js +9 -9
  67. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  68. package/dist/Chat/ChatComposerDrawer.js +3 -3
  69. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  70. package/dist/Chat/ChatComposerInput.js +1 -1
  71. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  72. package/dist/Chat/ChatDictationButton.js +1 -1
  73. package/dist/Chat/ChatLayout.d.ts +8 -1
  74. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  75. package/dist/Chat/ChatLayout.js +15 -4
  76. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  77. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  78. package/dist/Chat/ChatMessage.d.ts +1 -1
  79. package/dist/Chat/ChatMessage.js +1 -1
  80. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  81. package/dist/Chat/ChatMessageBubble.js +1 -1
  82. package/dist/Chat/ChatMessageList.d.ts +1 -1
  83. package/dist/Chat/ChatMessageList.js +1 -1
  84. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  85. package/dist/Chat/ChatSendButton.js +4 -2
  86. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  87. package/dist/Chat/ChatSystemMessage.js +1 -1
  88. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  89. package/dist/Chat/ChatTokenizedText.js +1 -1
  90. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  91. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  92. package/dist/CheckboxInput/CheckboxInput.js +3 -3
  93. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  94. package/dist/CheckboxList/CheckboxList.js +1 -1
  95. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  96. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  97. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  98. package/dist/Citation/Citation.d.ts +1 -1
  99. package/dist/Citation/Citation.js +1 -1
  100. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  101. package/dist/ClickableCard/ClickableCard.js +3 -3
  102. package/dist/Code/Code.d.ts +2 -2
  103. package/dist/Code/Code.js +2 -2
  104. package/dist/CodeBlock/CodeBlock.js +2 -2
  105. package/dist/Collapsible/Collapsible.d.ts +1 -1
  106. package/dist/Collapsible/Collapsible.js +3 -3
  107. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  108. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  109. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  110. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  111. package/dist/CommandPalette/CommandPalette.js +1 -1
  112. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  113. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  114. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  115. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  116. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  117. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  118. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  119. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  120. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  121. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  122. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  123. package/dist/ContextMenu/ContextMenu.js +24 -6
  124. package/dist/DateInput/DateInput.js +1 -1
  125. package/dist/DateRangeInput/DateRangeInput.js +1 -1
  126. package/dist/DateTimeInput/DateTimeInput.js +1 -1
  127. package/dist/Dialog/Dialog.d.ts +46 -23
  128. package/dist/Dialog/Dialog.d.ts.map +1 -1
  129. package/dist/Dialog/Dialog.js +59 -31
  130. package/dist/Dialog/DialogHeader.d.ts +1 -1
  131. package/dist/Dialog/DialogHeader.js +1 -1
  132. package/dist/Dialog/index.d.ts +18 -1
  133. package/dist/Dialog/index.d.ts.map +1 -1
  134. package/dist/Dialog/index.js +14 -0
  135. package/dist/Divider/Divider.d.ts +2 -18
  136. package/dist/Divider/Divider.d.ts.map +1 -1
  137. package/dist/Divider/Divider.js +1 -15
  138. package/dist/Divider/index.d.ts +18 -1
  139. package/dist/Divider/index.d.ts.map +1 -1
  140. package/dist/Divider/index.js +14 -0
  141. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  142. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  143. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  144. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  145. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  146. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  147. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  148. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  149. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  150. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  151. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  152. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  153. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  154. package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
  155. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  156. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  157. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  158. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  159. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  160. package/dist/DropdownMenu/menuItemHover.js +1 -0
  161. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  162. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  163. package/dist/EmptyState/EmptyState.d.ts +1 -1
  164. package/dist/EmptyState/EmptyState.js +1 -1
  165. package/dist/Field/Field.d.ts +1 -1
  166. package/dist/Field/Field.js +1 -1
  167. package/dist/Field/FieldLabel.d.ts +4 -3
  168. package/dist/Field/FieldLabel.d.ts.map +1 -1
  169. package/dist/Field/FieldLabel.js +48 -5
  170. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  171. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  172. package/dist/FieldStatus/FieldStatus.js +13 -17
  173. package/dist/FieldStatus/index.d.ts +19 -1
  174. package/dist/FieldStatus/index.d.ts.map +1 -1
  175. package/dist/FieldStatus/index.js +14 -0
  176. package/dist/FileInput/FileInput.js +1 -1
  177. package/dist/FormLayout/FormLayout.d.ts +1 -1
  178. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  179. package/dist/FormLayout/FormLayout.js +1 -1
  180. package/dist/Grid/Grid.d.ts +1 -1
  181. package/dist/Grid/Grid.js +1 -1
  182. package/dist/Grid/GridSpan.d.ts +1 -1
  183. package/dist/Grid/GridSpan.js +1 -1
  184. package/dist/HStack/HStack.d.ts +1 -1
  185. package/dist/HStack/HStack.js +1 -1
  186. package/dist/Heading/Heading.d.ts +2 -2
  187. package/dist/Heading/Heading.d.ts.map +1 -1
  188. package/dist/Heading/Heading.js +5 -4
  189. package/dist/HoverCard/HoverCard.d.ts +1 -1
  190. package/dist/HoverCard/HoverCard.js +1 -1
  191. package/dist/Icon/Icon.d.ts +1 -1
  192. package/dist/Icon/Icon.d.ts.map +1 -1
  193. package/dist/Icon/Icon.js +4 -2
  194. package/dist/Icon/globalIconRegistry.d.ts +6 -4
  195. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  196. package/dist/Icon/globalIconRegistry.js +25 -6
  197. package/dist/Icon/index.d.ts +3 -2
  198. package/dist/Icon/index.d.ts.map +1 -1
  199. package/dist/Icon/index.js +1 -0
  200. package/dist/Icon/useIcon.d.ts +14 -0
  201. package/dist/Icon/useIcon.d.ts.map +1 -0
  202. package/dist/Icon/useIcon.js +21 -0
  203. package/dist/IconButton/IconButton.d.ts +1 -1
  204. package/dist/IconButton/IconButton.js +1 -1
  205. package/dist/InputGroup/InputGroup.d.ts +1 -1
  206. package/dist/InputGroup/InputGroup.js +1 -1
  207. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  208. package/dist/InputGroup/InputGroupText.js +1 -1
  209. package/dist/Item/Item.d.ts +17 -4
  210. package/dist/Item/Item.d.ts.map +1 -1
  211. package/dist/Item/Item.js +32 -7
  212. package/dist/Kbd/Kbd.d.ts +1 -1
  213. package/dist/Kbd/Kbd.js +1 -1
  214. package/dist/Layout/Layout.d.ts +1 -1
  215. package/dist/Layout/Layout.js +1 -1
  216. package/dist/Layout/LayoutContent.d.ts +1 -1
  217. package/dist/Layout/LayoutContent.js +1 -1
  218. package/dist/Layout/LayoutFooter.d.ts +1 -1
  219. package/dist/Layout/LayoutFooter.js +1 -1
  220. package/dist/Layout/LayoutHeader.d.ts +1 -1
  221. package/dist/Layout/LayoutHeader.js +1 -1
  222. package/dist/Layout/LayoutPanel.d.ts +1 -1
  223. package/dist/Layout/LayoutPanel.js +1 -1
  224. package/dist/Lightbox/Lightbox.d.ts +1 -1
  225. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  226. package/dist/Lightbox/Lightbox.js +16 -3
  227. package/dist/Link/Link.d.ts +1 -1
  228. package/dist/Link/Link.js +1 -1
  229. package/dist/Link/LinkProvider.d.ts +2 -2
  230. package/dist/Link/LinkProvider.js +2 -2
  231. package/dist/List/List.d.ts +1 -1
  232. package/dist/List/List.js +1 -1
  233. package/dist/List/ListItem.d.ts +12 -2
  234. package/dist/List/ListItem.d.ts.map +1 -1
  235. package/dist/List/ListItem.js +3 -1
  236. package/dist/Markdown/Markdown.js +4 -4
  237. package/dist/MetadataList/MetadataList.d.ts +2 -2
  238. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  239. package/dist/MetadataList/MetadataList.js +5 -3
  240. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  241. package/dist/MetadataList/MetadataListItem.js +1 -1
  242. package/dist/MobileNav/MobileNav.d.ts +1 -1
  243. package/dist/MobileNav/MobileNav.js +1 -1
  244. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  245. package/dist/MoreMenu/MoreMenu.js +3 -3
  246. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  247. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  248. package/dist/MultiSelector/MultiSelector.js +21 -6
  249. package/dist/NavIcon/NavIcon.d.ts +1 -1
  250. package/dist/NavIcon/NavIcon.js +1 -1
  251. package/dist/NumberInput/NumberInput.d.ts +1 -1
  252. package/dist/NumberInput/NumberInput.js +1 -1
  253. package/dist/Outline/Outline.js +1 -1
  254. package/dist/OverflowList/OverflowList.d.ts +1 -1
  255. package/dist/OverflowList/OverflowList.js +1 -1
  256. package/dist/Pagination/Pagination.d.ts +1 -20
  257. package/dist/Pagination/Pagination.d.ts.map +1 -1
  258. package/dist/Pagination/Pagination.js +1 -15
  259. package/dist/Pagination/index.d.ts +21 -1
  260. package/dist/Pagination/index.d.ts.map +1 -1
  261. package/dist/Pagination/index.js +14 -0
  262. package/dist/Popover/Popover.d.ts +20 -3
  263. package/dist/Popover/Popover.d.ts.map +1 -1
  264. package/dist/Popover/Popover.js +5 -1
  265. package/dist/Popover/usePopover.d.ts.map +1 -1
  266. package/dist/Popover/usePopover.js +14 -3
  267. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  268. package/dist/PowerSearch/PowerSearch.js +1 -1
  269. package/dist/ProgressBar/ProgressBar.d.ts +1 -20
  270. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  271. package/dist/ProgressBar/ProgressBar.js +1 -15
  272. package/dist/ProgressBar/index.d.ts +21 -1
  273. package/dist/ProgressBar/index.d.ts.map +1 -1
  274. package/dist/ProgressBar/index.js +14 -0
  275. package/dist/RadioList/RadioList.d.ts +1 -1
  276. package/dist/RadioList/RadioList.js +1 -1
  277. package/dist/RadioList/RadioListItem.d.ts +1 -1
  278. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  279. package/dist/RadioList/RadioListItem.js +2 -2
  280. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  281. package/dist/Resizable/ResizeHandle.js +3 -10
  282. package/dist/Section/Section.d.ts +2 -19
  283. package/dist/Section/Section.d.ts.map +1 -1
  284. package/dist/Section/Section.js +1 -15
  285. package/dist/Section/index.d.ts +19 -1
  286. package/dist/Section/index.d.ts.map +1 -1
  287. package/dist/Section/index.js +14 -0
  288. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  289. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  290. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  291. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  292. package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
  293. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  294. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  295. package/dist/SelectableCard/SelectableCard.js +15 -3
  296. package/dist/Selector/Selector.d.ts +1 -1
  297. package/dist/Selector/Selector.d.ts.map +1 -1
  298. package/dist/Selector/Selector.js +12 -3
  299. package/dist/SideNav/SideNav.d.ts +1 -1
  300. package/dist/SideNav/SideNav.js +1 -1
  301. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  302. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  303. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  304. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  305. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  306. package/dist/SideNav/SideNavHeading.js +8 -7
  307. package/dist/SideNav/SideNavItem.d.ts +2 -2
  308. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  309. package/dist/SideNav/SideNavItem.js +6 -7
  310. package/dist/SideNav/SideNavSection.d.ts +1 -1
  311. package/dist/SideNav/SideNavSection.js +1 -1
  312. package/dist/Skeleton/Skeleton.d.ts +1 -1
  313. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  314. package/dist/Skeleton/Skeleton.js +3 -3
  315. package/dist/Slider/Slider.d.ts.map +1 -1
  316. package/dist/Slider/Slider.js +78 -68
  317. package/dist/Spinner/Spinner.d.ts +1 -1
  318. package/dist/Spinner/Spinner.js +1 -1
  319. package/dist/Stack/Stack.d.ts +1 -1
  320. package/dist/Stack/Stack.js +1 -1
  321. package/dist/Stack/StackItem.d.ts +1 -1
  322. package/dist/Stack/StackItem.js +1 -1
  323. package/dist/StatusDot/StatusDot.d.ts +1 -20
  324. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  325. package/dist/StatusDot/StatusDot.js +2 -17
  326. package/dist/StatusDot/index.d.ts +21 -1
  327. package/dist/StatusDot/index.d.ts.map +1 -1
  328. package/dist/StatusDot/index.js +14 -0
  329. package/dist/Switch/Switch.d.ts +1 -1
  330. package/dist/Switch/Switch.d.ts.map +1 -1
  331. package/dist/Switch/Switch.js +16 -5
  332. package/dist/TabList/Tab.d.ts +1 -1
  333. package/dist/TabList/Tab.js +1 -1
  334. package/dist/TabList/TabList.d.ts +1 -1
  335. package/dist/TabList/TabList.js +1 -1
  336. package/dist/TabList/TabMenu.d.ts +1 -1
  337. package/dist/TabList/TabMenu.js +1 -1
  338. package/dist/Table/BaseTable.d.ts +1 -1
  339. package/dist/Table/BaseTable.js +1 -1
  340. package/dist/Table/Table.d.ts +1 -1
  341. package/dist/Table/Table.js +1 -1
  342. package/dist/Table/TableCell.d.ts +1 -1
  343. package/dist/Table/TableCell.js +1 -1
  344. package/dist/Table/TableHeaderCell.d.ts +1 -1
  345. package/dist/Table/TableHeaderCell.js +1 -1
  346. package/dist/Table/TableRow.d.ts +1 -1
  347. package/dist/Table/TableRow.js +1 -1
  348. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  349. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  350. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -4
  351. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  352. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  353. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  354. package/dist/Text/Text.d.ts +11 -2
  355. package/dist/Text/Text.d.ts.map +1 -1
  356. package/dist/Text/Text.js +26 -3
  357. package/dist/Text/index.d.ts +31 -1
  358. package/dist/Text/index.d.ts.map +1 -1
  359. package/dist/Text/index.js +23 -0
  360. package/dist/TextArea/TextArea.d.ts +1 -1
  361. package/dist/TextArea/TextArea.d.ts.map +1 -1
  362. package/dist/TextArea/TextArea.js +107 -39
  363. package/dist/TextInput/TextInput.d.ts +1 -1
  364. package/dist/TextInput/TextInput.js +1 -1
  365. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  366. package/dist/Thumbnail/Thumbnail.js +52 -46
  367. package/dist/TimeInput/TimeInput.js +1 -1
  368. package/dist/Timestamp/Timestamp.js +2 -2
  369. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  370. package/dist/Toast/ToastViewport.js +61 -9
  371. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  372. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  373. package/dist/ToggleButton/ToggleButton.js +4 -2
  374. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  375. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  376. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  377. package/dist/Token/Token.d.ts +6 -28
  378. package/dist/Token/Token.d.ts.map +1 -1
  379. package/dist/Token/Token.js +69 -58
  380. package/dist/Token/TokenLink.d.ts +62 -0
  381. package/dist/Token/TokenLink.d.ts.map +1 -0
  382. package/dist/Token/TokenLink.js +76 -0
  383. package/dist/Token/index.d.ts +27 -1
  384. package/dist/Token/index.d.ts.map +1 -1
  385. package/dist/Token/index.js +14 -0
  386. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  387. package/dist/Tokenizer/Tokenizer.js +1 -1
  388. package/dist/Toolbar/Toolbar.d.ts +1 -1
  389. package/dist/Toolbar/Toolbar.js +1 -1
  390. package/dist/Tooltip/Tooltip.d.ts +1 -1
  391. package/dist/Tooltip/Tooltip.js +1 -1
  392. package/dist/TopNav/TopNav.d.ts +1 -1
  393. package/dist/TopNav/TopNav.js +1 -1
  394. package/dist/TopNav/TopNavHeading.d.ts +1 -1
  395. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  396. package/dist/TopNav/TopNavHeading.js +7 -6
  397. package/dist/TopNav/TopNavItem.d.ts +1 -1
  398. package/dist/TopNav/TopNavItem.js +1 -1
  399. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  400. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  401. package/dist/TopNav/TopNavMegaMenu.js +15 -7
  402. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  403. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  404. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  405. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  406. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  407. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  408. package/dist/TopNav/TopNavMenu.js +5 -4
  409. package/dist/TreeList/TreeList.d.ts +1 -1
  410. package/dist/TreeList/TreeList.js +1 -1
  411. package/dist/TreeList/TreeListBranches.js +1 -1
  412. package/dist/TreeList/TreeListItem.d.ts +1 -1
  413. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  414. package/dist/TreeList/TreeListItem.js +4 -3
  415. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  416. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  417. package/dist/TreeList/index.d.ts +18 -1
  418. package/dist/TreeList/index.d.ts.map +1 -1
  419. package/dist/TreeList/index.js +14 -0
  420. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  421. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  422. package/dist/Typeahead/BaseTypeahead.js +3 -1
  423. package/dist/Typeahead/Typeahead.d.ts +1 -1
  424. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  425. package/dist/Typeahead/Typeahead.js +9 -2
  426. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  427. package/dist/Typeahead/TypeaheadItem.js +1 -1
  428. package/dist/VStack/VStack.d.ts +1 -1
  429. package/dist/VStack/VStack.js +1 -1
  430. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  431. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  432. package/dist/astryx.css +96 -24
  433. package/dist/astryx.umd.js +50 -50
  434. package/dist/astryx.umd.js.map +4 -4
  435. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  436. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  437. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  438. package/dist/hooks/index.d.ts +2 -0
  439. package/dist/hooks/index.d.ts.map +1 -1
  440. package/dist/hooks/index.js +2 -1
  441. package/dist/hooks/useContainerReveal.d.ts +83 -0
  442. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  443. package/dist/hooks/useContainerReveal.js +123 -0
  444. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  445. package/dist/hooks/useInputContainer.js +29 -1
  446. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  447. package/dist/hooks/useInputStatusIcon.js +11 -0
  448. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  449. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  450. package/dist/hooks/useKeyboardHint.js +5 -3
  451. package/dist/index.d.ts +2 -1
  452. package/dist/index.d.ts.map +1 -1
  453. package/dist/index.js +5 -1
  454. package/dist/theme/Theme.d.ts.map +1 -1
  455. package/dist/theme/Theme.js +2 -7
  456. package/dist/theme/defineTheme.d.ts +6 -0
  457. package/dist/theme/defineTheme.d.ts.map +1 -1
  458. package/dist/theme/defineTheme.js +4 -1
  459. package/dist/theme/expandColorScale.d.ts +19 -2
  460. package/dist/theme/expandColorScale.d.ts.map +1 -1
  461. package/dist/theme/expandColorScale.js +38 -10
  462. package/dist/theme/index.d.ts +6 -4
  463. package/dist/theme/index.d.ts.map +1 -1
  464. package/dist/theme/index.js +2 -1
  465. package/dist/theme/themeRegistry.d.ts +32 -0
  466. package/dist/theme/themeRegistry.d.ts.map +1 -0
  467. package/dist/theme/themeRegistry.js +49 -0
  468. package/dist/theme/types.d.ts +10 -2
  469. package/dist/theme/types.d.ts.map +1 -1
  470. package/dist/theme/useTheme.d.ts +9 -0
  471. package/dist/theme/useTheme.d.ts.map +1 -1
  472. package/dist/theme/useTheme.js +82 -27
  473. package/dist/utils/rtlStyles.d.ts +21 -0
  474. package/dist/utils/rtlStyles.d.ts.map +1 -1
  475. package/dist/utils/rtlStyles.js +26 -1
  476. package/groups.doc.mjs +2 -2
  477. package/locales/en.json +40 -0
  478. package/locales/pseudo.json +30 -0
  479. package/package.json +4 -13
  480. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  481. package/src/AlertDialog/AlertDialog.tsx +1 -1
  482. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  483. package/src/AppShell/AppShell.doc.mjs +3 -3
  484. package/src/AppShell/AppShell.tsx +2 -20
  485. package/src/AppShell/index.ts +20 -1
  486. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  487. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  488. package/src/AspectRatio/AspectRatio.tsx +1 -1
  489. package/src/Avatar/Avatar.doc.mjs +3 -3
  490. package/src/Avatar/Avatar.tsx +8 -3
  491. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  492. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  493. package/src/Avatar/index.ts +26 -1
  494. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  495. package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
  496. package/src/AvatarGroup/AvatarGroup.tsx +1 -1
  497. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  498. package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
  499. package/src/Badge/Badge.doc.mjs +3 -3
  500. package/src/Badge/Badge.tsx +2 -31
  501. package/src/Badge/index.ts +32 -6
  502. package/src/Banner/Banner.doc.mjs +3 -3
  503. package/src/Banner/Banner.tsx +8 -45
  504. package/src/Banner/index.ts +39 -7
  505. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  506. package/src/Blockquote/Blockquote.tsx +1 -1
  507. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  508. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  509. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  510. package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
  511. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  512. package/src/Breadcrumbs/index.ts +19 -5
  513. package/src/Button/Button.doc.mjs +3 -3
  514. package/src/Button/Button.test.tsx +16 -0
  515. package/src/Button/Button.tsx +6 -23
  516. package/src/Button/index.ts +22 -7
  517. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  518. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  519. package/src/Calendar/Calendar.doc.mjs +3 -3
  520. package/src/Calendar/Calendar.test.tsx +15 -3
  521. package/src/Calendar/Calendar.tsx +1 -1
  522. package/src/Calendar/styles.ts +2 -2
  523. package/src/Card/Card.doc.mjs +3 -3
  524. package/src/Card/Card.tsx +1 -1
  525. package/src/Carousel/Carousel.doc.mjs +3 -3
  526. package/src/Carousel/Carousel.tsx +1 -1
  527. package/src/Center/Center.doc.mjs +41 -3
  528. package/src/Center/Center.test.tsx +75 -0
  529. package/src/Center/Center.tsx +38 -3
  530. package/src/Chat/Chat.doc.mjs +3 -3
  531. package/src/Chat/ChatComposer.doc.mjs +1 -1
  532. package/src/Chat/ChatComposer.tsx +5 -5
  533. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  534. package/src/Chat/ChatComposerDrawer.tsx +3 -3
  535. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  536. package/src/Chat/ChatComposerInput.tsx +1 -1
  537. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  538. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  539. package/src/Chat/ChatDictationButton.tsx +1 -1
  540. package/src/Chat/ChatLayout.doc.mjs +1 -1
  541. package/src/Chat/ChatLayout.test.tsx +57 -0
  542. package/src/Chat/ChatLayout.tsx +23 -2
  543. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  544. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  545. package/src/Chat/ChatMessage.doc.mjs +1 -1
  546. package/src/Chat/ChatMessage.tsx +1 -1
  547. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  548. package/src/Chat/ChatMessageBubble.tsx +1 -1
  549. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  550. package/src/Chat/ChatMessageList.tsx +1 -1
  551. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  552. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  553. package/src/Chat/ChatSendButton.tsx +5 -3
  554. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  555. package/src/Chat/ChatSystemMessage.tsx +1 -1
  556. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  557. package/src/Chat/ChatTokenizedText.tsx +1 -1
  558. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  559. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  560. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  561. package/src/CheckboxInput/CheckboxInput.tsx +18 -3
  562. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  563. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  564. package/src/CheckboxList/CheckboxList.tsx +1 -1
  565. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  566. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  567. package/src/Citation/Citation.doc.mjs +2 -2
  568. package/src/Citation/Citation.tsx +1 -1
  569. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  570. package/src/ClickableCard/ClickableCard.tsx +3 -3
  571. package/src/Code/Code.tsx +2 -2
  572. package/src/CodeBlock/Code.doc.mjs +1 -1
  573. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  574. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  575. package/src/CodeBlock/CodeBlock.tsx +2 -2
  576. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  577. package/src/Collapsible/Collapsible.tsx +3 -3
  578. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  579. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  580. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  581. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  582. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  583. package/src/CommandPalette/CommandPalette.tsx +1 -1
  584. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  585. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  586. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  587. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  588. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  589. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  590. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  591. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  592. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  593. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  594. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  595. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  596. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  597. package/src/ContextMenu/ContextMenu.test.tsx +17 -2
  598. package/src/ContextMenu/ContextMenu.tsx +27 -6
  599. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  600. package/src/DateInput/DateInput.doc.mjs +3 -3
  601. package/src/DateInput/DateInput.tsx +1 -1
  602. package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
  603. package/src/DateRangeInput/DateRangeInput.tsx +1 -1
  604. package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -3
  605. package/src/DateTimeInput/DateTimeInput.tsx +1 -1
  606. package/src/Dialog/Dialog.doc.mjs +9 -5
  607. package/src/Dialog/Dialog.test.tsx +84 -1
  608. package/src/Dialog/Dialog.tsx +87 -45
  609. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  610. package/src/Dialog/DialogHeader.tsx +1 -1
  611. package/src/Dialog/index.ts +18 -1
  612. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  613. package/src/Divider/Divider.doc.mjs +3 -3
  614. package/src/Divider/Divider.tsx +2 -19
  615. package/src/Divider/index.ts +19 -5
  616. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  617. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  618. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  619. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  620. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  621. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  622. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  623. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  624. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  625. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  626. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
  627. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  628. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  629. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  630. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  631. package/src/DropdownMenu/menuItemHover.ts +1 -0
  632. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  633. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  634. package/src/EmptyState/EmptyState.tsx +1 -1
  635. package/src/Field/Field.doc.mjs +7 -3
  636. package/src/Field/Field.tsx +1 -1
  637. package/src/Field/FieldLabel.doc.mjs +1 -1
  638. package/src/Field/FieldLabel.test.tsx +103 -0
  639. package/src/Field/FieldLabel.tsx +61 -5
  640. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  641. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  642. package/src/FieldStatus/FieldStatus.tsx +16 -23
  643. package/src/FieldStatus/index.ts +20 -5
  644. package/src/FileInput/FileInput.doc.mjs +3 -3
  645. package/src/FileInput/FileInput.tsx +1 -1
  646. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  647. package/src/FormLayout/FormLayout.tsx +2 -5
  648. package/src/Grid/Grid.doc.mjs +3 -3
  649. package/src/Grid/Grid.tsx +1 -1
  650. package/src/Grid/GridSpan.doc.mjs +1 -1
  651. package/src/Grid/GridSpan.tsx +1 -1
  652. package/src/HStack/HStack.tsx +1 -1
  653. package/src/Heading/Heading.tsx +4 -3
  654. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  655. package/src/HoverCard/HoverCard.tsx +1 -1
  656. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  657. package/src/Icon/Icon.doc.mjs +3 -3
  658. package/src/Icon/Icon.test.tsx +23 -0
  659. package/src/Icon/Icon.tsx +4 -2
  660. package/src/Icon/globalIconRegistry.test.tsx +52 -1
  661. package/src/Icon/globalIconRegistry.tsx +43 -6
  662. package/src/Icon/index.ts +7 -7
  663. package/src/Icon/useIcon.ts +23 -0
  664. package/src/IconButton/IconButton.doc.mjs +2 -2
  665. package/src/IconButton/IconButton.tsx +1 -1
  666. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  667. package/src/InputGroup/InputGroup.tsx +1 -1
  668. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  669. package/src/InputGroup/InputGroupText.tsx +1 -1
  670. package/src/Item/Item.doc.mjs +8 -3
  671. package/src/Item/Item.test.tsx +88 -0
  672. package/src/Item/Item.tsx +58 -12
  673. package/src/Kbd/Kbd.doc.mjs +3 -3
  674. package/src/Kbd/Kbd.tsx +1 -1
  675. package/src/Layer/Layer.doc.mjs +2 -2
  676. package/src/Layer/useLayer.doc.mjs +2 -2
  677. package/src/Layout/Layout.doc.mjs +3 -3
  678. package/src/Layout/Layout.tsx +1 -1
  679. package/src/Layout/LayoutContent.doc.mjs +1 -1
  680. package/src/Layout/LayoutContent.tsx +1 -1
  681. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  682. package/src/Layout/LayoutFooter.tsx +1 -1
  683. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  684. package/src/Layout/LayoutHeader.tsx +1 -1
  685. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  686. package/src/Layout/LayoutPanel.tsx +1 -1
  687. package/src/Lightbox/Lightbox.doc.mjs +3 -3
  688. package/src/Lightbox/Lightbox.test.tsx +33 -0
  689. package/src/Lightbox/Lightbox.tsx +16 -4
  690. package/src/Link/Link.doc.mjs +3 -3
  691. package/src/Link/Link.tsx +1 -1
  692. package/src/Link/LinkProvider.doc.mjs +2 -2
  693. package/src/Link/LinkProvider.tsx +2 -2
  694. package/src/List/List.doc.mjs +3 -3
  695. package/src/List/List.tsx +1 -1
  696. package/src/List/ListItem.doc.mjs +13 -1
  697. package/src/List/ListItem.tsx +14 -1
  698. package/src/Markdown/Markdown.doc.mjs +1 -1
  699. package/src/Markdown/Markdown.tsx +3 -3
  700. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  701. package/src/MetadataList/MetadataList.test.tsx +24 -0
  702. package/src/MetadataList/MetadataList.tsx +7 -3
  703. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  704. package/src/MetadataList/MetadataListItem.tsx +1 -1
  705. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  706. package/src/MobileNav/MobileNav.tsx +1 -1
  707. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  708. package/src/MoreMenu/MoreMenu.tsx +3 -3
  709. package/src/MultiSelector/MultiSelector.doc.mjs +3 -3
  710. package/src/MultiSelector/MultiSelector.test.tsx +110 -0
  711. package/src/MultiSelector/MultiSelector.tsx +36 -11
  712. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  713. package/src/NavIcon/NavIcon.tsx +1 -1
  714. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  715. package/src/NumberInput/NumberInput.doc.mjs +3 -3
  716. package/src/NumberInput/NumberInput.tsx +1 -1
  717. package/src/Outline/Outline.doc.mjs +3 -3
  718. package/src/Outline/Outline.tsx +1 -1
  719. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  720. package/src/OverflowList/OverflowList.tsx +1 -1
  721. package/src/Overlay/Overlay.doc.mjs +2 -2
  722. package/src/Pagination/Pagination.doc.mjs +3 -3
  723. package/src/Pagination/Pagination.tsx +2 -22
  724. package/src/Pagination/index.ts +21 -1
  725. package/src/Popover/Popover.doc.mjs +31 -3
  726. package/src/Popover/Popover.test.tsx +41 -0
  727. package/src/Popover/Popover.tsx +25 -2
  728. package/src/Popover/usePopover.doc.mjs +2 -2
  729. package/src/Popover/usePopover.tsx +10 -4
  730. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  731. package/src/PowerSearch/PowerSearch.tsx +1 -1
  732. package/src/ProgressBar/ProgressBar.doc.mjs +3 -3
  733. package/src/ProgressBar/ProgressBar.tsx +2 -22
  734. package/src/ProgressBar/index.ts +22 -5
  735. package/src/RadioList/RadioList.doc.mjs +3 -3
  736. package/src/RadioList/RadioList.test.tsx +26 -4
  737. package/src/RadioList/RadioList.tsx +1 -1
  738. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  739. package/src/RadioList/RadioListItem.tsx +9 -2
  740. package/src/Resizable/Resizable.doc.mjs +2 -2
  741. package/src/Resizable/ResizeHandle.test.tsx +3 -2
  742. package/src/Resizable/ResizeHandle.tsx +8 -12
  743. package/src/Resizable/useResizable.doc.mjs +2 -2
  744. package/src/Section/Section.doc.mjs +3 -3
  745. package/src/Section/Section.tsx +2 -20
  746. package/src/Section/index.ts +20 -5
  747. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  748. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  749. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  750. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  751. package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
  752. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  753. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  754. package/src/SelectableCard/SelectableCard.tsx +19 -3
  755. package/src/Selector/Selector.doc.mjs +3 -3
  756. package/src/Selector/Selector.test.tsx +52 -0
  757. package/src/Selector/Selector.tsx +16 -5
  758. package/src/Selector/SelectorOption.doc.mjs +1 -1
  759. package/src/SideNav/SideNav.doc.mjs +3 -3
  760. package/src/SideNav/SideNav.tsx +1 -1
  761. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  762. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  763. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  764. package/src/SideNav/SideNavHeading.tsx +8 -9
  765. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  766. package/src/SideNav/SideNavItem.tsx +5 -6
  767. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  768. package/src/SideNav/SideNavSection.tsx +1 -1
  769. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  770. package/src/Skeleton/Skeleton.test.tsx +16 -0
  771. package/src/Skeleton/Skeleton.tsx +14 -2
  772. package/src/Slider/Slider.doc.mjs +3 -3
  773. package/src/Slider/Slider.tsx +9 -13
  774. package/src/Spinner/Spinner.doc.mjs +3 -3
  775. package/src/Spinner/Spinner.tsx +1 -1
  776. package/src/Stack/Stack.doc.mjs +3 -3
  777. package/src/Stack/Stack.tsx +1 -1
  778. package/src/Stack/StackItem.tsx +1 -1
  779. package/src/StatusDot/StatusDot.doc.mjs +3 -3
  780. package/src/StatusDot/StatusDot.tsx +2 -22
  781. package/src/StatusDot/index.ts +22 -5
  782. package/src/Switch/Switch.doc.mjs +3 -3
  783. package/src/Switch/Switch.test.tsx +71 -0
  784. package/src/Switch/Switch.tsx +53 -4
  785. package/src/TabList/Tab.doc.mjs +1 -1
  786. package/src/TabList/Tab.tsx +1 -1
  787. package/src/TabList/TabList.doc.mjs +3 -3
  788. package/src/TabList/TabList.tsx +1 -1
  789. package/src/TabList/TabMenu.doc.mjs +1 -1
  790. package/src/TabList/TabMenu.tsx +1 -1
  791. package/src/Table/BaseTable.tsx +1 -1
  792. package/src/Table/Table.doc.mjs +3 -3
  793. package/src/Table/Table.tsx +1 -1
  794. package/src/Table/TableCell.doc.mjs +1 -1
  795. package/src/Table/TableCell.tsx +1 -1
  796. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  797. package/src/Table/TableHeaderCell.tsx +1 -1
  798. package/src/Table/TableRow.doc.mjs +1 -1
  799. package/src/Table/TableRow.tsx +1 -1
  800. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  801. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +24 -4
  802. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  803. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  804. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  805. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  806. package/src/Table/useTableFilterState.doc.mjs +1 -1
  807. package/src/Table/useTableFiltering.doc.mjs +1 -1
  808. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  809. package/src/Table/useTablePagination.doc.mjs +1 -1
  810. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  811. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  812. package/src/Table/useTableRowStatus.doc.mjs +2 -2
  813. package/src/Table/useTableSelection.doc.mjs +1 -1
  814. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  815. package/src/Table/useTableSortable.doc.mjs +1 -1
  816. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  817. package/src/Table/useTableTreeData.doc.mjs +10 -1
  818. package/src/Table/useTableTreeState.doc.mjs +1 -1
  819. package/src/Text/Heading.doc.mjs +4 -4
  820. package/src/Text/Text.doc.mjs +4 -4
  821. package/src/Text/Text.test.tsx +42 -0
  822. package/src/Text/Text.tsx +26 -2
  823. package/src/Text/index.ts +32 -6
  824. package/src/TextArea/TextArea.doc.mjs +5 -5
  825. package/src/TextArea/TextArea.test.tsx +112 -7
  826. package/src/TextArea/TextArea.tsx +143 -50
  827. package/src/TextInput/TextInput.doc.mjs +3 -3
  828. package/src/TextInput/TextInput.tsx +1 -1
  829. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  830. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  831. package/src/Thumbnail/Thumbnail.tsx +28 -35
  832. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  833. package/src/TimeInput/TimeInput.tsx +1 -1
  834. package/src/Timestamp/Timestamp.doc.mjs +3 -3
  835. package/src/Timestamp/Timestamp.tsx +1 -1
  836. package/src/Toast/Toast.doc.mjs +3 -3
  837. package/src/Toast/ToastViewport.test.tsx +218 -8
  838. package/src/Toast/ToastViewport.tsx +71 -12
  839. package/src/Toast/useToast.doc.mjs +2 -2
  840. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  841. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  842. package/src/ToggleButton/ToggleButton.tsx +20 -2
  843. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  844. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  845. package/src/Token/Token.doc.mjs +3 -3
  846. package/src/Token/Token.test.tsx +145 -0
  847. package/src/Token/Token.tsx +75 -61
  848. package/src/Token/TokenLink.tsx +107 -0
  849. package/src/Token/index.ts +28 -1
  850. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  851. package/src/Tokenizer/Tokenizer.tsx +1 -1
  852. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  853. package/src/Toolbar/Toolbar.tsx +1 -1
  854. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  855. package/src/Tooltip/Tooltip.tsx +1 -1
  856. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  857. package/src/TopNav/TopNav.doc.mjs +3 -3
  858. package/src/TopNav/TopNav.tsx +1 -1
  859. package/src/TopNav/TopNavHeading.doc.mjs +1 -1
  860. package/src/TopNav/TopNavHeading.tsx +7 -8
  861. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  862. package/src/TopNav/TopNavItem.tsx +1 -1
  863. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  864. package/src/TopNav/TopNavMegaMenu.tsx +32 -6
  865. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  866. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  867. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  868. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  869. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  870. package/src/TopNav/TopNavMenu.tsx +5 -4
  871. package/src/TreeList/TreeList.doc.mjs +3 -3
  872. package/src/TreeList/TreeList.tsx +1 -1
  873. package/src/TreeList/TreeListBranches.tsx +1 -1
  874. package/src/TreeList/TreeListItem.tsx +4 -3
  875. package/src/TreeList/TreeListTypes.ts +1 -18
  876. package/src/TreeList/index.ts +19 -1
  877. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  878. package/src/Typeahead/BaseTypeahead.tsx +13 -1
  879. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  880. package/src/Typeahead/Typeahead.test.tsx +62 -0
  881. package/src/Typeahead/Typeahead.tsx +7 -1
  882. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  883. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  884. package/src/VStack/VStack.tsx +1 -1
  885. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  886. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  887. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  888. package/src/__tests__/forcedColors.ts +60 -0
  889. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  890. package/src/doc-mjs.d.ts +5 -2
  891. package/src/docPropLiterals.test.ts +1 -1
  892. package/src/docPropReferences.test.ts +1 -1
  893. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  894. package/src/hooks/index.ts +7 -0
  895. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  896. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  897. package/src/hooks/useContainerReveal.test.tsx +116 -0
  898. package/src/hooks/useContainerReveal.ts +181 -0
  899. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  900. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  901. package/src/hooks/useGridFocus.doc.mjs +2 -2
  902. package/src/hooks/useHotkeys.doc.mjs +2 -2
  903. package/src/hooks/useImageMode.doc.mjs +2 -2
  904. package/src/hooks/useInputContainer.doc.mjs +2 -2
  905. package/src/hooks/useInputContainer.test.tsx +180 -0
  906. package/src/hooks/useInputContainer.ts +36 -1
  907. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  908. package/src/hooks/useInputStatusIcon.tsx +12 -1
  909. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  910. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  911. package/src/hooks/useKeyboardHint.tsx +7 -3
  912. package/src/hooks/useListFocus.doc.mjs +2 -2
  913. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  914. package/src/hooks/useOverflow.doc.mjs +2 -2
  915. package/src/hooks/useScrollLock.doc.mjs +2 -2
  916. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  917. package/src/hooks/useStreamingText.doc.mjs +2 -2
  918. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  919. package/src/i18n/InternationalizationProvider.doc.mjs +2 -2
  920. package/src/i18n/useTranslator.doc.mjs +2 -2
  921. package/src/index.ts +14 -10
  922. package/src/theme/MediaTheme.doc.mjs +2 -2
  923. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  924. package/src/theme/Theme.doc.mjs +2 -2
  925. package/src/theme/Theme.tsx +3 -7
  926. package/src/theme/defineTheme.ts +11 -1
  927. package/src/theme/expandColorScale.test.ts +144 -0
  928. package/src/theme/expandColorScale.ts +53 -15
  929. package/src/theme/index.ts +11 -9
  930. package/src/theme/themeRegistry.test.ts +59 -0
  931. package/src/theme/themeRegistry.ts +53 -0
  932. package/src/theme/types.ts +14 -13
  933. package/src/theme/useTheme.doc.mjs +2 -2
  934. package/src/theme/useTheme.test.tsx +48 -3
  935. package/src/theme/useTheme.ts +100 -29
  936. package/src/utils/rtlStyles.ts +22 -0
  937. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  938. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  939. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  940. package/dist/authoring/doc.d.ts +0 -145
  941. package/dist/authoring/doc.d.ts.map +0 -1
  942. package/dist/authoring/doc.js +0 -100
  943. package/dist/authoring/index.d.ts +0 -29
  944. package/dist/authoring/index.d.ts.map +0 -1
  945. package/dist/authoring/index.js +0 -28
  946. package/dist/authoring/integration.d.ts +0 -35
  947. package/dist/authoring/integration.d.ts.map +0 -1
  948. package/dist/authoring/integration.js +0 -30
  949. package/dist/authoring/template.d.ts +0 -66
  950. package/dist/authoring/template.d.ts.map +0 -1
  951. package/dist/authoring/template.js +0 -55
  952. package/dist/config.d.ts +0 -80
  953. package/dist/config.d.ts.map +0 -1
  954. package/dist/config.js +0 -40
  955. package/dist/docs-types.d.ts +0 -969
  956. package/dist/docs-types.d.ts.map +0 -1
  957. package/dist/docs-types.js +0 -1
  958. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  959. package/src/authoring/doc.ts +0 -164
  960. package/src/authoring/index.test.ts +0 -52
  961. package/src/authoring/index.ts +0 -50
  962. package/src/authoring/integration.ts +0 -42
  963. package/src/authoring/template.ts +0 -74
  964. package/src/config.test.ts +0 -16
  965. package/src/config.ts +0 -92
  966. package/src/docs-types.ts +0 -1108
@@ -13,29 +13,70 @@
13
13
  * - /packages/core/src/TextArea/TextArea.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/TextArea/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/TextArea.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/TextArea/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/TextArea/ (showcase blocks)
17
17
  */
18
- import { useId, useOptimistic, useTransition, useRef } from 'react';
18
+ import { useId, useOptimistic, useTransition, useRef, useCallback } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
20
20
  import "../theme/tokens.stylex.js";
21
21
  import { colorVars, spacingVars, typographyVars, typeScaleVars } from "../theme/tokens.stylex.js";
22
22
  import { Field, inputWrapperStyles, inputStatusBorderStyles, inputStatusHoverShadowStyles, inputStatusFocusWithinStyles } from "../Field/index.js";
23
- import { renderIconSlot } from "../Icon/index.js";
23
+ import { Icon, renderIconSlot } from "../Icon/index.js";
24
24
  import { Spinner } from "../Spinner/index.js";
25
25
  import { useTooltip } from "../Tooltip/index.js";
26
26
  import { mergeProps, mergeRefs } from "../utils/index.js";
27
27
  import { useInputContainer } from "../hooks/useInputContainer.js";
28
28
  import { useInputStatusIcon } from "../hooks/useInputStatusIcon.js";
29
+ import { useAnnounce } from "../hooks/useAnnounce.js";
29
30
  import { useSize } from "../SizeContext/SizeContext.js";
30
31
  import { themeProps } from "../utils/themeProps.js";
31
- import { VisuallyHidden } from "../VisuallyHidden/index.js";
32
+ import { useTranslator } from "../i18n/index.js";
32
33
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
34
  const COUNTER_WARNING_THRESHOLD = 0.8;
34
35
  const styles = {
35
36
  wrapper: {
36
37
  kY2c9j: "x1vjfegm",
37
- kGNEyG: "x1cy8zhl",
38
+ k1xSpc: "x1lliihq",
39
+ kmVPX3: "x1717udv",
40
+ "--_textarea-inline-padding": "x1kdpo6e",
41
+ $$css: true
42
+ },
43
+ textarea: {
44
+ k1xSpc: "x1lliihq",
45
+ kzqmXN: "xh8yej3",
46
+ kB7OPa: "x9f619",
47
+ k7Eaqz: "xeuugli",
48
+ kMzoRj: "xc342km",
49
+ ksu8eU: "xng3xce",
38
50
  k8WAf4: "xu0wf1k",
51
+ kg3NbH: "x1w6f3ag",
52
+ kMv6JI: "x9ynric",
53
+ kGuDYH: "xjm74w1 x6pjikd",
54
+ kLWn49: "xw6l6zx",
55
+ kMwMTN: "x1tgivj0",
56
+ kWkggS: "xjbqb8w",
57
+ kI3sdo: "x1a2a7pz",
58
+ k8Qsv1: "xeyghm5",
59
+ kHenm0: "x288g5",
60
+ $$css: true
61
+ },
62
+ textareaDisabled: {
63
+ kkrTdU: "x1h6gzvc",
64
+ $$css: true
65
+ },
66
+ textareaWithStartIcon: {
67
+ kZCmMZ: "x1b6te9z",
68
+ $$css: true
69
+ },
70
+ textareaWithStatus: {
71
+ kwRFfy: "xp2dy4z",
72
+ $$css: true
73
+ },
74
+ textareaWithBusyStatus: {
75
+ kwRFfy: "x1g2apga",
76
+ $$css: true
77
+ },
78
+ textareaWithCounter: {
79
+ kGO01o: "xekm6fs",
39
80
  $$css: true
40
81
  }
41
82
  };
@@ -94,12 +135,17 @@ export function TextArea({
94
135
  ...rest
95
136
  }) {
96
137
  const size = useSize(sizeProp, 'md');
138
+ const t = useTranslator();
139
+ const announce = useAnnounce();
97
140
  const id = useId();
98
141
  const descriptionID = useId();
99
142
  const statusMessageID = useId();
100
143
  const counterID = useId();
101
144
  const textareaRef = useRef(null);
102
145
  const containerRef = useRef(null);
146
+ // Tracks the counter "zone" last announced (under / near / over) so we only
147
+ // announce on a zone change, not on every keystroke.
148
+ const counterZoneRef = useRef(null);
103
149
  const [, startTransition] = useTransition();
104
150
  const [optimisticValue, setOptimisticValue] = useOptimistic(value);
105
151
  const isBusy = isLoading || optimisticValue !== value;
@@ -128,6 +174,30 @@ export function TextArea({
128
174
  // The tooltip variant renders no message box; describe the input by the
129
175
  // tooltip's content instead so the status is still announced.
130
176
  statusTooltipDescribedBy, maxLength != null ? counterID : null, showsDisabledMessage ? disabledMessageTooltip.describedBy : null].filter(Boolean).join(' ') || undefined;
177
+
178
+ // Announce the character-count status through the shared live region, but
179
+ // only when the value crosses into a new zone (near the limit / over the
180
+ // limit) so we don't speak on every keystroke. Over-limit is assertive (an
181
+ // error the user should hear immediately); nearing the limit is polite.
182
+ const announceCounter = useCallback(length => {
183
+ if (maxLength == null) {
184
+ return;
185
+ }
186
+ const zone = length > maxLength ? 'over' : length >= maxLength * COUNTER_WARNING_THRESHOLD ? 'near' : 'under';
187
+ if (zone === counterZoneRef.current) {
188
+ return;
189
+ }
190
+ counterZoneRef.current = zone;
191
+ if (zone === 'over') {
192
+ announce(t('@astryx.textArea.charactersOverLimit', {
193
+ count: length - maxLength
194
+ }), 'assertive');
195
+ } else if (zone === 'near') {
196
+ announce(t('@astryx.textArea.charactersRemaining', {
197
+ count: maxLength - length
198
+ }));
199
+ }
200
+ }, [announce, t, maxLength]);
131
201
  const handleChange = e => {
132
202
  // Value can't change while showing a disabled message (the field is
133
203
  // read-only and non-native-disabled), but guard the handler too so the
@@ -136,6 +206,7 @@ export function TextArea({
136
206
  return;
137
207
  }
138
208
  const newValue = e.target.value;
209
+ announceCounter(newValue.length);
139
210
  onChange?.(newValue, e);
140
211
  if (changeAction && !e.defaultPrevented) {
141
212
  startTransition(async () => {
@@ -185,10 +256,15 @@ export function TextArea({
185
256
  ...mergeProps(themeProps('textarea', {
186
257
  size,
187
258
  status: status?.type ?? null
188
- }), stylex.props(inputWrapperStyles.base, styles.wrapper, textareaSizeStyles[size], effectivelyDisabled && inputWrapperStyles.disabled, status && inputStatusBorderStyles[status.type], status && !effectivelyDisabled && inputStatusHoverShadowStyles[status.type], status && inputStatusFocusWithinStyles[status.type], xstyle), className, style),
189
- children: [startIcon && renderIconSlot(startIcon, {
190
- size: 'sm',
191
- color: 'secondary'
259
+ }), stylex.props(inputWrapperStyles.base, styles.wrapper, isDisabled && inputWrapperStyles.disabled, status && inputStatusBorderStyles[status.type], status && !isDisabled && inputStatusHoverShadowStyles[status.type], status && inputStatusFocusWithinStyles[status.type], xstyle), className, style),
260
+ children: [startIcon && /*#__PURE__*/_jsx("span", {
261
+ ...{
262
+ className: "x10l6tqk xctzyg x1kiyvbf x47corl x78zum5"
263
+ },
264
+ children: renderIconSlot(startIcon, {
265
+ size: 'sm',
266
+ color: 'secondary'
267
+ })
192
268
  }), /*#__PURE__*/_jsx("textarea", {
193
269
  ...rest,
194
270
  ref: mergeRefs(ref, textareaRef),
@@ -215,41 +291,33 @@ export function TextArea({
215
291
  "aria-required": isRequired && !isOptional ? 'true' : undefined,
216
292
  "aria-invalid": status?.type === 'error' || maxLength != null && optimisticValue.length > maxLength ? 'true' : undefined,
217
293
  "aria-busy": isBusy || undefined,
294
+ ...stylex.props(styles.textarea, textareaSizeStyles[size], isDisabled && styles.textareaDisabled, Boolean(startIcon) && styles.textareaWithStartIcon, (status || isBusy) && styles.textareaWithStatus, isBusy && !!statusIcon && styles.textareaWithBusyStatus, maxLength != null && styles.textareaWithCounter)
295
+ }), (isBusy || statusIcon) && /*#__PURE__*/_jsxs("span", {
296
+ ...{
297
+ className: "x10l6tqk xctzyg x13oyzgk x47corl x78zum5 x6s0dn4 x1txdalj"
298
+ },
299
+ children: [isBusy && /*#__PURE__*/_jsx(Spinner, {
300
+ size: "sm"
301
+ }), statusIcon]
302
+ }), maxLength != null && /*#__PURE__*/_jsxs("div", {
303
+ id: counterID,
218
304
  ...{
219
305
  0: {
220
- className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx x1tgivj0 xjbqb8w x1a2a7pz xeyghm5 x288g5"
221
- },
222
- 2: {
223
- className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx x1tgivj0 xjbqb8w x1a2a7pz xeyghm5 x288g5 x1h6gzvc"
306
+ className: "x10l6tqk x112dmjn x13oyzgk x47corl x78zum5 x6s0dn4 xzye2dw x9ynric x141an7d x1ltkj2j xv1l7n4"
224
307
  },
225
308
  1: {
226
- className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx x1tgivj0 xjbqb8w x1a2a7pz xeyghm5 x288g5 x1we12cn"
227
- },
228
- 3: {
229
- className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx x1tgivj0 xjbqb8w x1a2a7pz xeyghm5 x288g5 x1h6gzvc x1we12cn"
309
+ className: "x10l6tqk x112dmjn x13oyzgk x47corl x78zum5 x6s0dn4 xzye2dw x9ynric x141an7d x1ltkj2j xjt36v0"
230
310
  }
231
- }[!!effectivelyDisabled << 1 | !!status << 0]
232
- }), isBusy && /*#__PURE__*/_jsx(Spinner, {
233
- size: "sm"
234
- }), statusIcon && /*#__PURE__*/_jsx("span", {
235
- ...{
236
- className: "x10l6tqk xctzyg x72tfeb x47corl x78zum5"
237
- },
238
- children: statusIcon
239
- })]
240
- }), maxLength != null && /*#__PURE__*/_jsxs("div", {
241
- id: counterID,
242
- ...{
243
- 0: {
244
- className: "x78zum5 x13a6bvl xcsaf9d x9ynric x141an7d xv1l7n4"
245
- },
246
- 1: {
247
- className: "x78zum5 x13a6bvl xcsaf9d x9ynric x141an7d xjt36v0"
248
- }
249
- }[!!(optimisticValue.length > maxLength) << 0],
250
- children: [optimisticValue.length, "/", maxLength, /*#__PURE__*/_jsx(VisuallyHidden, {
251
- "aria-live": "polite",
252
- children: optimisticValue.length >= maxLength * COUNTER_WARNING_THRESHOLD ? optimisticValue.length > maxLength ? `${optimisticValue.length - maxLength} characters over limit` : `${maxLength - optimisticValue.length} characters remaining` : ''
311
+ }[!!(optimisticValue.length > maxLength) << 0],
312
+ children: [optimisticValue.length > maxLength &&
313
+ /*#__PURE__*/
314
+ // Non-color cue so the over-limit state isn't conveyed by the red
315
+ // color alone (WCAG 1.4.1). Decorative — the count text and the
316
+ // live-region announcement carry the meaning.
317
+ _jsx(Icon, {
318
+ icon: "warning",
319
+ size: "sm"
320
+ }), optimisticValue.length, "/", maxLength]
253
321
  })]
254
322
  }), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
255
323
  });
@@ -9,7 +9,7 @@
9
9
  * - /packages/core/src/TextInput/TextInput.test.tsx (tests for new/changed behavior)
10
10
  * - /packages/core/src/TextInput/index.ts (exports if types change)
11
11
  * - /apps/storybook/stories/TextInput.stories.tsx (storybook stories)
12
- * - /packages/cli/templates/blocks/components/TextInput/ (showcase blocks)
12
+ * - /packages/cli/assets/templates/blocks/components/TextInput/ (showcase blocks)
13
13
  */
14
14
  import { type ChangeEvent, type KeyboardEvent, type ReactNode } from 'react';
15
15
  import * as stylex from '@stylexjs/stylex';
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/TextInput/TextInput.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/TextInput/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/TextInput.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/TextInput/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/TextInput/ (showcase blocks)
17
17
  */
18
18
  import { useId, useOptimistic, useTransition, useCallback, useRef } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
@@ -1 +1 @@
1
- {"version":3,"file":"Thumbnail.d.ts","sourceRoot":"","sources":["../../src/Thumbnail/Thumbnail.tsx"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;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;;;OAGG;IACH;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,EACxB,GAAG,EACH,GAAG,EACH,KAAK,EACL,QAAQ,EACR,OAAO,EACP,SAAiB,EACjB,UAAkB,EAClB,YAAsB,EACtB,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,+BAiIhB;yBAhJe,SAAS"}
1
+ {"version":3,"file":"Thumbnail.d.ts","sourceRoot":"","sources":["../../src/Thumbnail/Thumbnail.tsx"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAK5C,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;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;;;OAGG;IACH;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAmJD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,EACxB,GAAG,EACH,GAAG,EACH,KAAK,EACL,QAAQ,EACR,OAAO,EACP,SAAiB,EACjB,UAAkB,EAClB,YAAsB,EACtB,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,+BA+IhB;yBA9Je,SAAS"}
@@ -22,8 +22,9 @@
22
22
  * - /packages/core/src/Thumbnail/Thumbnail.test.tsx
23
23
  * - /packages/core/src/Thumbnail/index.ts
24
24
  * - /apps/storybook/stories/Thumbnail.stories.tsx
25
- * - /packages/cli/templates/blocks/components/Thumbnail/ (showcase blocks)
25
+ * - /packages/cli/assets/templates/blocks/components/Thumbnail/ (showcase blocks)
26
26
  */
27
+ import { useState } from 'react';
27
28
  import * as stylex from '@stylexjs/stylex';
28
29
  import "../theme/tokens.stylex.js";
29
30
  import { colorVars, radiusVars, spacingVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
@@ -33,11 +34,10 @@ import { Skeleton } from "../Skeleton/index.js";
33
34
  import { Spinner } from "../Spinner/index.js";
34
35
  import { Tooltip } from "../Tooltip/Tooltip.js";
35
36
  import { useDevWarning } from "../hooks/useDevWarning.js";
37
+ import { useContainerReveal } from "../hooks/useContainerReveal.js";
36
38
  import { mergeProps } from "../utils/index.js";
37
39
  import { themeProps } from "../utils/themeProps.js";
38
40
  import { useTranslator } from "../i18n/index.js";
39
- import "./thumbnail.markers.stylex.js";
40
- import { thumbnailScope } from "./thumbnail.markers.stylex.js";
41
41
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
42
42
  // =============================================================================
43
43
  // Styles
@@ -53,38 +53,6 @@ const styles = {
53
53
  kHBbk8: "xc8icb0",
54
54
  $$css: true
55
55
  },
56
- imageContainer: {
57
- kVAEAm: "x1n2onr6",
58
- kzqmXN: "xh8yej3",
59
- kOBAk4: "x1plog1",
60
- kaIpWk: "xh6dtrn",
61
- kVQacm: "xb3r6kr",
62
- kWkggS: "x17x4s8c",
63
- $$css: true
64
- },
65
- interactive: {
66
- kkrTdU: "x1ypdohk",
67
- kI3sdo: "x1irc7jg",
68
- kInvED: "x1wfwxd8 xdjuwb3",
69
- $$css: true
70
- },
71
- overlay: {
72
- k5JduY: "x1s928wv",
73
- kwXMNM: "x1j6awrg",
74
- kv0HGH: "xarstr8",
75
- kUfP38: "x1k48kgn",
76
- kloYau: "x2q1x1w",
77
- kRicXK: "x1ywzrc5",
78
- kPNhGg: "x97pup0",
79
- kA8PQs: "x1dlmc9c",
80
- ks3ayO: "xyhc2n1",
81
- kAcZsS: "x1k7wiig",
82
- $$css: true
83
- },
84
- hoverOnPointer: {
85
- kJs8I2: "xi14tyy",
86
- $$css: true
87
- },
88
56
  removeButtonOverrides: {
89
57
  "--_button-radius": "xh8ntw8",
90
58
  kZKoxP: "x1qx5ct2",
@@ -157,14 +125,25 @@ export function Thumbnail({
157
125
  ...props
158
126
  }) {
159
127
  const t = useTranslator();
128
+
129
+ // Track the exact src that failed (rather than a boolean) so a changed src
130
+ // gets a fresh load attempt instead of the stale error.
131
+ const [erroredSrc, setErroredSrc] = useState(undefined);
160
132
  const hasSrc = src != null;
133
+ const hasError = hasSrc && erroredSrc === src;
161
134
  const showSkeleton = isLoading && !hasSrc;
162
- const showImage = hasSrc && !showSkeleton;
135
+ const showImage = hasSrc && !showSkeleton && !hasError;
163
136
  const showUploadOverlay = isLoading && hasSrc;
164
- const showPlaceholder = !isLoading && !hasSrc;
137
+ const showPlaceholder = !isLoading && !hasSrc || hasError;
165
138
  const isInteractive = onClick != null && !isDisabled && !isLoading;
166
139
  const hasRemove = onRemove != null && !isDisabled;
167
140
  const isHoverReveal = hasRemove && showRemoveOn === 'hover';
141
+ const {
142
+ getContainerProps,
143
+ getContentRevealProps
144
+ } = useContainerReveal({
145
+ isEnabled: isHoverReveal
146
+ });
168
147
  const accessibleName = label && alt ? `${label} — ${alt}` : label ?? alt ?? t('@astryx.thumbnail.fallbackName');
169
148
 
170
149
  // Without `alt`, the image is explicitly decorative rather than silently
@@ -184,6 +163,7 @@ export function Thumbnail({
184
163
  alt: alt ?? '',
185
164
  role: isImageDecorative ? 'presentation' : undefined,
186
165
  "aria-hidden": isImageDecorative || undefined,
166
+ onError: () => setErroredSrc(src),
187
167
  ...{
188
168
  className: "xh8yej3 x5yr21d xl1xv1r x1lliihq"
189
169
  }
@@ -197,14 +177,15 @@ export function Thumbnail({
197
177
  })]
198
178
  });
199
179
  const removeButtonEl = hasRemove ? /*#__PURE__*/_jsx("div", {
200
- ...{
201
- 0: {
202
- className: "x10l6tqk x8d4r5l xy3asu9 x1vjfegm x14ju556"
203
- },
204
- 1: {
205
- className: "x10l6tqk x8d4r5l xy3asu9 x1vjfegm x14ju556 xg01cxk xb7nc9r x1cyvi8a xhva3ql x19991ni xuedmi6 x12w9bfk xlr8y92"
206
- }
207
- }[!!isHoverReveal << 0],
180
+ ...mergeProps({
181
+ className: "x10l6tqk x8d4r5l xy3asu9 x1vjfegm x14ju556"
182
+ },
183
+ // The remove button is absolutely positioned in the corner, so it is
184
+ // already out of flow — an opacity-only reveal (layout preserved)
185
+ // matches its overlay placement instead of the clip recipe.
186
+ isHoverReveal ? getContentRevealProps({
187
+ isLayoutPreserved: true
188
+ }) : {}),
208
189
  children: /*#__PURE__*/_jsx(Button, {
209
190
  icon: /*#__PURE__*/_jsx(Icon, {
210
191
  icon: "close",
@@ -231,7 +212,32 @@ export function Thumbnail({
231
212
  ...mergeProps(themeProps('thumbnail'), stylex.props(styles.root, isDisabled && styles.disabled, xstyle), className, style),
232
213
  ...props,
233
214
  children: /*#__PURE__*/_jsxs("div", {
234
- ...stylex.props(styles.imageContainer, isHoverReveal && thumbnailScope, isInteractive && styles.interactive, isInteractive && styles.overlay, isInteractive && styles.hoverOnPointer),
215
+ ...mergeProps({
216
+ 0: {
217
+ className: "x1n2onr6 xh8yej3 x1plog1 xh6dtrn xb3r6kr x17x4s8c"
218
+ },
219
+ 4: {
220
+ className: "x1n2onr6 xh8yej3 x1plog1 xh6dtrn xb3r6kr x17x4s8c x1ypdohk x1irc7jg x1wfwxd8 xdjuwb3"
221
+ },
222
+ 2: {
223
+ className: "x1n2onr6 xh8yej3 x1plog1 xh6dtrn xb3r6kr x17x4s8c x1s928wv x1j6awrg xarstr8 x1k48kgn x2q1x1w x1ywzrc5 x97pup0 x1dlmc9c xyhc2n1 x1k7wiig"
224
+ },
225
+ 6: {
226
+ className: "x1n2onr6 xh8yej3 x1plog1 xh6dtrn xb3r6kr x17x4s8c x1ypdohk x1irc7jg x1wfwxd8 xdjuwb3 x1s928wv x1j6awrg xarstr8 x1k48kgn x2q1x1w x1ywzrc5 x97pup0 x1dlmc9c xyhc2n1 x1k7wiig"
227
+ },
228
+ 1: {
229
+ className: "x1n2onr6 xh8yej3 x1plog1 xh6dtrn xb3r6kr x17x4s8c xi14tyy"
230
+ },
231
+ 5: {
232
+ className: "x1n2onr6 xh8yej3 x1plog1 xh6dtrn xb3r6kr x17x4s8c x1ypdohk x1irc7jg x1wfwxd8 xdjuwb3 xi14tyy"
233
+ },
234
+ 3: {
235
+ className: "x1n2onr6 xh8yej3 x1plog1 xh6dtrn xb3r6kr x17x4s8c x1s928wv x1j6awrg xarstr8 x1k48kgn x2q1x1w x1ywzrc5 x97pup0 x1dlmc9c xyhc2n1 x1k7wiig xi14tyy"
236
+ },
237
+ 7: {
238
+ className: "x1n2onr6 xh8yej3 x1plog1 xh6dtrn xb3r6kr x17x4s8c x1ypdohk x1irc7jg x1wfwxd8 xdjuwb3 x1s928wv x1j6awrg xarstr8 x1k48kgn x2q1x1w x1ywzrc5 x97pup0 x1dlmc9c xyhc2n1 x1k7wiig xi14tyy"
239
+ }
240
+ }[!!isInteractive << 2 | !!isInteractive << 1 | !!isInteractive << 0], isHoverReveal ? getContainerProps() : {}),
235
241
  children: [isInteractive ? /*#__PURE__*/_jsx("button", {
236
242
  type: "button",
237
243
  onClick: onClick,
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/TimeInput/TimeInput.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/TimeInput/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/TimeInput.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/TimeInput/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/TimeInput/ (showcase blocks)
17
17
  */
18
18
  import { useId, useState, useCallback, useEffect, useRef, useMemo, useOptimistic, useTransition } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/Timestamp/Timestamp.test.tsx
14
14
  * - /packages/core/src/Timestamp/index.ts
15
15
  * - /apps/storybook/stories/Timestamp.stories.tsx
16
- * - /packages/cli/templates/blocks/components/Timestamp/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/Timestamp/ (showcase blocks)
17
17
  */
18
18
  import { useEffect, useRef, useState, lazy, Suspense, Fragment } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
@@ -26,7 +26,7 @@ import { colorVars, spacingVars } from "../theme/tokens.stylex.js";
26
26
  import { formatInstant } from "./formatInstant.js";
27
27
  import { formatTooltipLines } from "./tooltipEntries.js";
28
28
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
29
- const LazyXDSTooltip = /*#__PURE__*/lazy(async () => import('../Tooltip/Tooltip').then(mod => ({
29
+ const LazyXDSTooltip = /*#__PURE__*/lazy(async () => import("../Tooltip/Tooltip.js").then(mod => ({
30
30
  default: mod.Tooltip
31
31
  })));
32
32
 
@@ -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';