@astryxdesign/core 0.1.4-canary.fd7ab46 → 0.1.4

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 (579) hide show
  1. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  2. package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
  3. package/dist/AlertDialog/AlertDialog.js +18 -20
  4. package/dist/AlertDialog/useImperativeAlertDialog.js +3 -3
  5. package/dist/AppShell/AppShell.d.ts +1 -1
  6. package/dist/AppShell/AppShell.d.ts.map +1 -1
  7. package/dist/AppShell/AppShell.js +53 -55
  8. package/dist/AspectRatio/AspectRatio.d.ts +10 -48
  9. package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
  10. package/dist/AspectRatio/AspectRatio.js +12 -33
  11. package/dist/AspectRatio/index.d.ts +1 -1
  12. package/dist/AspectRatio/index.d.ts.map +1 -1
  13. package/dist/Avatar/Avatar.d.ts.map +1 -1
  14. package/dist/Avatar/Avatar.js +25 -27
  15. package/dist/Avatar/AvatarStatusDot.js +5 -5
  16. package/dist/AvatarGroup/AvatarGroup.js +5 -5
  17. package/dist/AvatarGroup/AvatarGroupOverflow.js +5 -5
  18. package/dist/Badge/Badge.js +3 -3
  19. package/dist/Banner/Banner.d.ts.map +1 -1
  20. package/dist/Banner/Banner.js +25 -32
  21. package/dist/Blockquote/Blockquote.js +7 -7
  22. package/dist/Breadcrumbs/BreadcrumbItem.js +17 -17
  23. package/dist/Breadcrumbs/Breadcrumbs.js +7 -7
  24. package/dist/Button/Button.js +19 -19
  25. package/dist/ButtonGroup/ButtonGroup.js +7 -7
  26. package/dist/Calendar/Calendar.d.ts.map +1 -1
  27. package/dist/Calendar/Calendar.js +48 -68
  28. package/dist/Calendar/dayCellUtils.d.ts.map +1 -1
  29. package/dist/Calendar/styles.d.ts +2 -2
  30. package/dist/Calendar/styles.d.ts.map +1 -1
  31. package/dist/Calendar/styles.js +2 -2
  32. package/dist/Card/Card.d.ts +2 -4
  33. package/dist/Card/Card.d.ts.map +1 -1
  34. package/dist/Card/Card.js +10 -18
  35. package/dist/Carousel/Carousel.d.ts.map +1 -1
  36. package/dist/Carousel/Carousel.js +21 -24
  37. package/dist/Carousel/carousel.markers.stylex.d.ts +7 -0
  38. package/dist/Carousel/carousel.markers.stylex.d.ts.map +1 -0
  39. package/dist/Carousel/carousel.markers.stylex.js +12 -0
  40. package/dist/Center/Center.js +3 -3
  41. package/dist/Chat/ChatComposer.js +23 -23
  42. package/dist/Chat/ChatComposerDrawer.js +14 -14
  43. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  44. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  45. package/dist/Chat/ChatComposerInput.js +15 -27
  46. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  47. package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
  48. package/dist/Chat/ChatDictationButton.js +11 -13
  49. package/dist/Chat/ChatLayout.js +17 -17
  50. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  51. package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
  52. package/dist/Chat/ChatLayoutScrollButton.js +10 -12
  53. package/dist/Chat/ChatMessage.js +12 -12
  54. package/dist/Chat/ChatMessageBubble.js +7 -7
  55. package/dist/Chat/ChatMessageList.js +14 -14
  56. package/dist/Chat/ChatMessageMetadata.d.ts +1 -1
  57. package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
  58. package/dist/Chat/ChatMessageMetadata.js +12 -14
  59. package/dist/Chat/ChatPastedTextToken.js +13 -13
  60. package/dist/Chat/ChatSendButton.js +3 -3
  61. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  62. package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
  63. package/dist/Chat/ChatSystemMessage.js +17 -17
  64. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  65. package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
  66. package/dist/Chat/ChatTokenizedText.js +15 -24
  67. package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
  68. package/dist/Chat/ChatToolCalls.js +74 -81
  69. package/dist/Chat/index.d.ts +1 -1
  70. package/dist/Chat/index.d.ts.map +1 -1
  71. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  72. package/dist/Chat/useTriggerMenu.js +15 -15
  73. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  74. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  75. package/dist/CheckboxInput/CheckboxInput.js +23 -25
  76. package/dist/CheckboxList/CheckboxList.js +9 -9
  77. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  78. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  79. package/dist/CheckboxList/CheckboxListItem.js +6 -8
  80. package/dist/Citation/Citation.js +10 -10
  81. package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
  82. package/dist/ClickableCard/ClickableCard.js +9 -32
  83. package/dist/Code/Code.js +3 -3
  84. package/dist/CodeBlock/CodeBlock.d.ts +1 -10
  85. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  86. package/dist/CodeBlock/CodeBlock.js +52 -88
  87. package/dist/Collapsible/Collapsible.d.ts +3 -9
  88. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  89. package/dist/Collapsible/Collapsible.js +22 -110
  90. package/dist/Collapsible/CollapsibleGroup.d.ts +7 -39
  91. package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
  92. package/dist/Collapsible/CollapsibleGroup.js +12 -73
  93. package/dist/Collapsible/CollapsibleGroupContext.d.ts +0 -31
  94. package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
  95. package/dist/Collapsible/CollapsibleGroupContext.js +3 -33
  96. package/dist/Collapsible/index.d.ts +0 -1
  97. package/dist/Collapsible/index.d.ts.map +1 -1
  98. package/dist/Collapsible/useCollapsible.d.ts +1 -4
  99. package/dist/Collapsible/useCollapsible.d.ts.map +1 -1
  100. package/dist/Collapsible/useCollapsible.js +6 -20
  101. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  102. package/dist/CommandPalette/CommandPalette.js +34 -36
  103. package/dist/CommandPalette/CommandPaletteEmpty.js +3 -3
  104. package/dist/CommandPalette/CommandPaletteFooter.js +16 -16
  105. package/dist/CommandPalette/CommandPaletteGroup.js +5 -5
  106. package/dist/CommandPalette/CommandPaletteInput.js +13 -13
  107. package/dist/CommandPalette/CommandPaletteItem.js +3 -3
  108. package/dist/CommandPalette/CommandPaletteList.js +3 -3
  109. package/dist/ContextMenu/ContextMenu.d.ts +2 -7
  110. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  111. package/dist/ContextMenu/ContextMenu.js +43 -76
  112. package/dist/DateInput/DateInput.js +18 -18
  113. package/dist/DateRangeInput/DateRangeInput.js +21 -21
  114. package/dist/DateTimeInput/DateTimeInput.d.ts +2 -5
  115. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  116. package/dist/DateTimeInput/DateTimeInput.js +26 -30
  117. package/dist/DateTimeInput/index.d.ts +1 -1
  118. package/dist/DateTimeInput/index.d.ts.map +1 -1
  119. package/dist/Dialog/Dialog.js +9 -9
  120. package/dist/Dialog/DialogHeader.js +16 -16
  121. package/dist/Dialog/useImperativeDialog.js +3 -3
  122. package/dist/Divider/Divider.js +7 -7
  123. package/dist/DropdownMenu/DropdownMenu.js +10 -10
  124. package/dist/DropdownMenu/DropdownMenuItem.d.ts +17 -2
  125. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  126. package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
  127. package/dist/DropdownMenu/renderDropdownItems.js +10 -10
  128. package/dist/EmptyState/EmptyState.js +9 -9
  129. package/dist/Field/Field.js +17 -17
  130. package/dist/Field/FieldLabel.js +15 -15
  131. package/dist/Field/InputClearButton.js +5 -5
  132. package/dist/FieldStatus/FieldStatus.js +3 -3
  133. package/dist/FileInput/FileInput.js +29 -29
  134. package/dist/FormLayout/FormLayout.js +5 -5
  135. package/dist/Grid/Grid.d.ts +3 -4
  136. package/dist/Grid/Grid.d.ts.map +1 -1
  137. package/dist/Grid/Grid.js +12 -29
  138. package/dist/Grid/GridSpan.js +3 -3
  139. package/dist/HStack/HStack.js +3 -3
  140. package/dist/Heading/Heading.js +10 -10
  141. package/dist/HoverCard/HoverCard.js +9 -9
  142. package/dist/HoverCard/useHoverCard.d.ts +1 -5
  143. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  144. package/dist/HoverCard/useHoverCard.js +3 -3
  145. package/dist/Icon/Icon.d.ts.map +1 -1
  146. package/dist/Icon/Icon.js +12 -16
  147. package/dist/Icon/defaultIcons.js +116 -116
  148. package/dist/IconButton/IconButton.js +3 -3
  149. package/dist/InputGroup/InputGroup.js +11 -11
  150. package/dist/InputGroup/InputGroupText.js +3 -3
  151. package/dist/Item/Item.js +18 -18
  152. package/dist/Kbd/Kbd.js +5 -5
  153. package/dist/Layer/LayerProvider.js +7 -7
  154. package/dist/Layer/useLayer.d.ts +2 -29
  155. package/dist/Layer/useLayer.d.ts.map +1 -1
  156. package/dist/Layer/useLayer.js +31 -44
  157. package/dist/Layout/Layout.js +21 -21
  158. package/dist/Layout/LayoutContent.js +3 -3
  159. package/dist/Layout/LayoutFooter.js +5 -5
  160. package/dist/Layout/LayoutHeader.js +5 -5
  161. package/dist/Layout/LayoutPanel.js +3 -3
  162. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  163. package/dist/Lightbox/Lightbox.js +31 -55
  164. package/dist/Lightbox/useLightbox.js +3 -3
  165. package/dist/Link/Link.js +15 -15
  166. package/dist/Link/LinkProvider.js +3 -3
  167. package/dist/Link/useLinkify.js +3 -3
  168. package/dist/List/List.js +11 -11
  169. package/dist/List/ListItem.js +11 -11
  170. package/dist/Markdown/Markdown.d.ts.map +1 -1
  171. package/dist/Markdown/Markdown.js +102 -102
  172. package/dist/MetadataList/MetadataList.js +10 -10
  173. package/dist/MetadataList/MetadataListItem.js +15 -15
  174. package/dist/MobileNav/MobileNav.js +15 -15
  175. package/dist/MobileNav/MobileNavToggle.js +5 -5
  176. package/dist/MoreMenu/MoreMenu.js +3 -3
  177. package/dist/MultiSelector/MultiSelector.js +56 -56
  178. package/dist/NavIcon/NavIcon.js +3 -3
  179. package/dist/NavMenu/NavHeadingMenu.js +5 -5
  180. package/dist/NavMenu/NavHeadingMenuItem.js +8 -8
  181. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  182. package/dist/NumberInput/NumberInput.js +32 -48
  183. package/dist/Outline/Outline.js +15 -15
  184. package/dist/OverflowList/OverflowList.js +8 -8
  185. package/dist/Overlay/Overlay.js +3 -3
  186. package/dist/Overlay/OverlayScrim.js +5 -5
  187. package/dist/Overlay/useOverlay.js +3 -3
  188. package/dist/Pagination/Pagination.d.ts +1 -1
  189. package/dist/Pagination/Pagination.d.ts.map +1 -1
  190. package/dist/Pagination/Pagination.js +72 -125
  191. package/dist/Popover/Popover.js +16 -16
  192. package/dist/Popover/usePopover.js +7 -7
  193. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  194. package/dist/PowerSearch/PowerSearch.js +92 -110
  195. package/dist/PowerSearch/PowerSearchEditPopover.js +84 -84
  196. package/dist/PowerSearch/PowerSearchFilterEditor.js +3 -3
  197. package/dist/PowerSearch/PowerSearchToken.js +5 -5
  198. package/dist/PowerSearch/PowerSearchValueEditor.js +54 -54
  199. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  200. package/dist/ProgressBar/ProgressBar.js +18 -25
  201. package/dist/RadioList/RadioList.js +7 -7
  202. package/dist/RadioList/RadioListItem.d.ts +1 -1
  203. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  204. package/dist/RadioList/RadioListItem.js +21 -24
  205. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  206. package/dist/Resizable/ResizeHandle.js +10 -28
  207. package/dist/Section/Section.js +5 -5
  208. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  209. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  210. package/dist/SegmentedControl/SegmentedControl.js +10 -32
  211. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  212. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  213. package/dist/SegmentedControl/SegmentedControlItem.js +12 -18
  214. package/dist/SelectableCard/SelectableCard.js +5 -5
  215. package/dist/Selector/Selector.js +46 -46
  216. package/dist/Selector/SelectorOption.js +3 -3
  217. package/dist/SideNav/SideNav.d.ts.map +1 -1
  218. package/dist/SideNav/SideNav.js +34 -38
  219. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  220. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  221. package/dist/SideNav/SideNavCollapseButton.js +6 -8
  222. package/dist/SideNav/SideNavHeading.js +87 -87
  223. package/dist/SideNav/SideNavItem.js +42 -42
  224. package/dist/SideNav/SideNavSection.d.ts +1 -1
  225. package/dist/SideNav/SideNavSection.d.ts.map +1 -1
  226. package/dist/SideNav/SideNavSection.js +16 -18
  227. package/dist/Skeleton/Skeleton.js +3 -3
  228. package/dist/Slider/Slider.js +23 -23
  229. package/dist/Spinner/Spinner.js +9 -9
  230. package/dist/StatusDot/StatusDot.js +5 -5
  231. package/dist/Switch/Switch.d.ts +4 -8
  232. package/dist/Switch/Switch.d.ts.map +1 -1
  233. package/dist/Switch/Switch.js +29 -34
  234. package/dist/TabList/Tab.js +18 -18
  235. package/dist/TabList/TabList.js +5 -5
  236. package/dist/TabList/TabMenu.d.ts.map +1 -1
  237. package/dist/TabList/TabMenu.js +30 -57
  238. package/dist/TabList/tab.markers.stylex.d.ts +1 -1
  239. package/dist/Table/BaseTable.d.ts.map +1 -1
  240. package/dist/Table/BaseTable.js +39 -50
  241. package/dist/Table/Table.js +7 -7
  242. package/dist/Table/TableBody.d.ts +1 -1
  243. package/dist/Table/TableBody.d.ts.map +1 -1
  244. package/dist/Table/TableBody.js +5 -9
  245. package/dist/Table/TableCell.js +3 -3
  246. package/dist/Table/TableFooter.d.ts +1 -1
  247. package/dist/Table/TableFooter.d.ts.map +1 -1
  248. package/dist/Table/TableFooter.js +5 -9
  249. package/dist/Table/TableHeader.d.ts +1 -1
  250. package/dist/Table/TableHeader.d.ts.map +1 -1
  251. package/dist/Table/TableHeader.js +5 -9
  252. package/dist/Table/TableHeaderCell.js +3 -3
  253. package/dist/Table/TableRow.js +5 -5
  254. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  255. package/dist/Table/plugins/columnResize/useTableColumnResize.js +11 -14
  256. package/dist/Table/plugins/filtering/useTableFiltering.js +71 -71
  257. package/dist/Table/plugins/pagination/paginateData.d.ts.map +1 -1
  258. package/dist/Table/plugins/pagination/paginateData.js +1 -5
  259. package/dist/Table/plugins/pagination/useTablePagination.js +7 -7
  260. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +22 -22
  261. package/dist/Table/plugins/selection/useTableSelection.js +18 -18
  262. package/dist/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
  263. package/dist/Table/plugins/selection/useTableSelectionState.js +1 -11
  264. package/dist/Table/plugins/sortable/useTableSortable.js +17 -17
  265. package/dist/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
  266. package/dist/Table/plugins/sortable/useTableSortableState.js +4 -8
  267. package/dist/Table/tableContextMenu.js +9 -9
  268. package/dist/Text/Text.js +10 -10
  269. package/dist/TextArea/TextArea.js +14 -14
  270. package/dist/TextInput/TextInput.js +15 -15
  271. package/dist/Thumbnail/Thumbnail.d.ts +2 -3
  272. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  273. package/dist/Thumbnail/Thumbnail.js +29 -30
  274. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  275. package/dist/TimeInput/TimeInput.js +21 -26
  276. package/dist/Timestamp/Timestamp.d.ts +1 -1
  277. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  278. package/dist/Timestamp/Timestamp.js +26 -37
  279. package/dist/Toast/Toast.d.ts.map +1 -1
  280. package/dist/Toast/Toast.js +17 -25
  281. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  282. package/dist/Toast/ToastViewport.js +11 -23
  283. package/dist/Toast/useToast.js +4 -4
  284. package/dist/ToggleButton/ToggleButton.js +12 -12
  285. package/dist/ToggleButton/ToggleButtonGroup.js +5 -5
  286. package/dist/Token/Token.js +21 -21
  287. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  288. package/dist/Tokenizer/Tokenizer.js +34 -36
  289. package/dist/Toolbar/Toolbar.js +18 -18
  290. package/dist/Tooltip/Tooltip.js +11 -11
  291. package/dist/Tooltip/useTooltip.d.ts +1 -5
  292. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  293. package/dist/Tooltip/useTooltip.js +3 -3
  294. package/dist/TopNav/TopNav.js +32 -32
  295. package/dist/TopNav/TopNavHeading.js +67 -67
  296. package/dist/TopNav/TopNavItem.js +5 -5
  297. package/dist/TopNav/TopNavMegaMenu.js +30 -30
  298. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  299. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
  300. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +14 -25
  301. package/dist/TopNav/TopNavMegaMenuItem.js +16 -16
  302. package/dist/TopNav/TopNavMenu.js +32 -32
  303. package/dist/TreeList/TreeList.js +8 -8
  304. package/dist/TreeList/TreeListBranches.js +11 -11
  305. package/dist/TreeList/TreeListItem.js +30 -30
  306. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  307. package/dist/Typeahead/BaseTypeahead.js +20 -23
  308. package/dist/Typeahead/Typeahead.js +12 -12
  309. package/dist/Typeahead/TypeaheadItem.js +10 -10
  310. package/dist/VStack/VStack.js +3 -3
  311. package/dist/astryx.css +0 -7
  312. package/dist/astryx.umd.js +60 -60
  313. package/dist/astryx.umd.js.map +4 -4
  314. package/dist/docs-types.d.ts +2 -8
  315. package/dist/docs-types.d.ts.map +1 -1
  316. package/dist/hooks/focusableSelector.d.ts +1 -1
  317. package/dist/hooks/focusableSelector.d.ts.map +1 -1
  318. package/dist/hooks/focusableSelector.js +1 -1
  319. package/dist/hooks/index.d.ts +0 -2
  320. package/dist/hooks/index.d.ts.map +1 -1
  321. package/dist/hooks/index.js +0 -1
  322. package/dist/hooks/useFocusTrap.d.ts +0 -3
  323. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  324. package/dist/hooks/useFocusTrap.js +1 -38
  325. package/dist/hooks/useInteractiveRole.d.ts +2 -6
  326. package/dist/hooks/useInteractiveRole.d.ts.map +1 -1
  327. package/dist/hooks/useInteractiveRole.js +2 -6
  328. package/dist/hooks/useKeyboardHint.js +9 -9
  329. package/dist/hooks/useStreamingText.d.ts +1 -3
  330. package/dist/hooks/useStreamingText.d.ts.map +1 -1
  331. package/dist/hooks/useStreamingText.js +5 -14
  332. package/dist/theme/MediaTheme.js +3 -3
  333. package/dist/theme/Theme.js +7 -7
  334. package/dist/theme/defineTheme.d.ts +1 -1
  335. package/dist/theme/defineTheme.d.ts.map +1 -1
  336. package/dist/theme/expandColorScale.d.ts.map +1 -1
  337. package/dist/theme/expandColorScale.js +3 -10
  338. package/dist/theme/hct.d.ts +15 -0
  339. package/dist/theme/hct.d.ts.map +1 -1
  340. package/dist/theme/hct.js +9 -9
  341. package/dist/theme/syntax/SyntaxTheme.js +5 -5
  342. package/dist/theme/tokens.d.ts +2 -10
  343. package/dist/theme/tokens.d.ts.map +1 -1
  344. package/dist/theme/tokens.js +4 -220
  345. package/dist/utils/index.d.ts +0 -3
  346. package/dist/utils/index.d.ts.map +1 -1
  347. package/dist/utils/index.js +1 -3
  348. package/dist/utils/timeParser.d.ts.map +1 -1
  349. package/dist/utils/timeParser.js +5 -8
  350. package/package.json +3 -3
  351. package/src/AlertDialog/AlertDialog.doc.mjs +0 -4
  352. package/src/AlertDialog/AlertDialog.tsx +0 -2
  353. package/src/AppShell/AppShell.tsx +0 -2
  354. package/src/AspectRatio/AspectRatio.doc.mjs +1 -28
  355. package/src/AspectRatio/AspectRatio.test.tsx +1 -142
  356. package/src/AspectRatio/AspectRatio.tsx +10 -70
  357. package/src/AspectRatio/index.ts +1 -5
  358. package/src/Avatar/Avatar.doc.mjs +0 -11
  359. package/src/Avatar/Avatar.test.tsx +1 -32
  360. package/src/Avatar/Avatar.tsx +20 -12
  361. package/src/Banner/Banner.doc.mjs +0 -8
  362. package/src/Banner/Banner.test.tsx +0 -38
  363. package/src/Banner/Banner.tsx +1 -8
  364. package/src/Calendar/Calendar.doc.mjs +1 -1
  365. package/src/Calendar/Calendar.test.tsx +17 -122
  366. package/src/Calendar/Calendar.tsx +5 -26
  367. package/src/Calendar/dayCellUtils.ts +1 -3
  368. package/src/Calendar/styles.ts +2 -12
  369. package/src/Card/Card.tsx +6 -16
  370. package/src/Carousel/Carousel.doc.mjs +12 -12
  371. package/src/Carousel/Carousel.test.tsx +0 -13
  372. package/src/Carousel/Carousel.tsx +2 -4
  373. package/src/Carousel/carousel.markers.stylex.ts +10 -0
  374. package/src/Chat/Chat.doc.mjs +1 -1
  375. package/src/Chat/ChatComposerInput.test.tsx +1 -27
  376. package/src/Chat/ChatComposerInput.tsx +15 -20
  377. package/src/Chat/ChatDictationButton.tsx +4 -4
  378. package/src/Chat/ChatLayoutScrollButton.tsx +1 -3
  379. package/src/Chat/ChatMessageMetadata.tsx +6 -4
  380. package/src/Chat/ChatSystemMessage.test.tsx +11 -26
  381. package/src/Chat/ChatSystemMessage.tsx +7 -7
  382. package/src/Chat/ChatTokenizedText.test.tsx +16 -29
  383. package/src/Chat/ChatTokenizedText.tsx +8 -15
  384. package/src/Chat/ChatToolCalls.test.tsx +0 -55
  385. package/src/Chat/ChatToolCalls.tsx +12 -10
  386. package/src/Chat/index.ts +4 -1
  387. package/src/Chat/useTriggerMenu.tsx +4 -1
  388. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  389. package/src/CheckboxInput/CheckboxInput.test.tsx +4 -71
  390. package/src/CheckboxInput/CheckboxInput.tsx +0 -2
  391. package/src/CheckboxList/CheckboxList.test.tsx +0 -19
  392. package/src/CheckboxList/CheckboxListItem.tsx +2 -11
  393. package/src/Citation/Citation.doc.mjs +0 -5
  394. package/src/ClickableCard/ClickableCard.tsx +2 -45
  395. package/src/CodeBlock/CodeBlock.doc.mjs +2 -7
  396. package/src/CodeBlock/CodeBlock.test.tsx +3 -122
  397. package/src/CodeBlock/CodeBlock.tsx +4 -62
  398. package/src/Collapsible/Collapsible.doc.mjs +4 -8
  399. package/src/Collapsible/Collapsible.tsx +10 -86
  400. package/src/Collapsible/CollapsibleGroup.doc.mjs +3 -27
  401. package/src/Collapsible/CollapsibleGroup.test.tsx +0 -318
  402. package/src/Collapsible/CollapsibleGroup.tsx +9 -107
  403. package/src/Collapsible/CollapsibleGroupContext.tsx +2 -42
  404. package/src/Collapsible/index.ts +0 -4
  405. package/src/Collapsible/useCollapsible.ts +6 -20
  406. package/src/CommandPalette/CommandPalette.doc.mjs +0 -4
  407. package/src/CommandPalette/CommandPalette.tsx +3 -5
  408. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +0 -5
  409. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +0 -10
  410. package/src/CommandPalette/CommandPaletteInput.doc.mjs +0 -6
  411. package/src/CommandPalette/CommandPaletteItem.doc.mjs +0 -6
  412. package/src/CommandPalette/CommandPaletteList.doc.mjs +0 -9
  413. package/src/ContextMenu/ContextMenu.doc.mjs +0 -15
  414. package/src/ContextMenu/ContextMenu.test.tsx +0 -87
  415. package/src/ContextMenu/ContextMenu.tsx +28 -87
  416. package/src/ContextMenu/ContextMenuItem.doc.mjs +0 -6
  417. package/src/DateInput/DateInput.test.tsx +20 -11
  418. package/src/DateRangeInput/DateRangeInput.test.tsx +44 -31
  419. package/src/DateTimeInput/DateTimeInput.doc.mjs +2 -3
  420. package/src/DateTimeInput/DateTimeInput.test.tsx +16 -118
  421. package/src/DateTimeInput/DateTimeInput.tsx +2 -8
  422. package/src/DateTimeInput/index.ts +0 -1
  423. package/src/Dialog/Dialog.doc.mjs +0 -4
  424. package/src/Dialog/DialogHeader.doc.mjs +0 -45
  425. package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
  426. package/src/DropdownMenu/DropdownMenu.test.tsx +2 -22
  427. package/src/DropdownMenu/DropdownMenuItem.tsx +17 -5
  428. package/src/Field/Field.test.tsx +4 -1
  429. package/src/Field/FieldLabel.test.tsx +2 -2
  430. package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +3 -0
  431. package/src/Grid/Grid.test.tsx +18 -43
  432. package/src/Grid/Grid.tsx +9 -26
  433. package/src/HoverCard/HoverCard.doc.mjs +6 -6
  434. package/src/HoverCard/useHoverCard.doc.mjs +5 -5
  435. package/src/HoverCard/useHoverCard.tsx +2 -9
  436. package/src/Icon/Icon.test.tsx +29 -41
  437. package/src/Icon/Icon.tsx +2 -6
  438. package/src/InputGroup/InputGroup.tsx +2 -2
  439. package/src/Item/Item.tsx +1 -1
  440. package/src/Layer/useLayer.doc.mjs +2 -2
  441. package/src/Layer/useLayer.test.tsx +2 -221
  442. package/src/Layer/useLayer.tsx +30 -69
  443. package/src/Layout/LayoutContent.doc.mjs +0 -12
  444. package/src/Layout/LayoutPanel.doc.mjs +0 -40
  445. package/src/Lightbox/Lightbox.doc.mjs +0 -5
  446. package/src/Lightbox/Lightbox.test.tsx +2 -123
  447. package/src/Lightbox/Lightbox.tsx +1 -29
  448. package/src/Markdown/Markdown.tsx +7 -9
  449. package/src/Markdown/parser.perf.test.ts +12 -34
  450. package/src/NavMenu/NavMenu.doc.mjs +0 -15
  451. package/src/NumberInput/NumberInput.test.tsx +3 -48
  452. package/src/NumberInput/NumberInput.tsx +15 -32
  453. package/src/Overlay/Overlay.doc.mjs +0 -6
  454. package/src/Pagination/Pagination.test.tsx +0 -162
  455. package/src/Pagination/Pagination.tsx +26 -80
  456. package/src/Popover/Popover.doc.mjs +6 -6
  457. package/src/Popover/Popover.test.tsx +0 -65
  458. package/src/Popover/usePopover.doc.mjs +1 -1
  459. package/src/PowerSearch/PowerSearch.doc.mjs +2 -2
  460. package/src/PowerSearch/PowerSearch.test.tsx +1 -109
  461. package/src/PowerSearch/PowerSearch.tsx +16 -37
  462. package/src/ProgressBar/ProgressBar.test.tsx +0 -30
  463. package/src/ProgressBar/ProgressBar.tsx +5 -12
  464. package/src/RadioList/RadioList.test.tsx +0 -19
  465. package/src/RadioList/RadioListItem.tsx +4 -9
  466. package/src/Resizable/ResizeHandle.tsx +4 -22
  467. package/src/SegmentedControl/SegmentedControl.doc.mjs +1 -1
  468. package/src/SegmentedControl/SegmentedControl.test.tsx +0 -192
  469. package/src/SegmentedControl/SegmentedControl.tsx +5 -27
  470. package/src/SegmentedControl/SegmentedControlItem.tsx +4 -9
  471. package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
  472. package/src/Selector/Selector.test.tsx +1 -27
  473. package/src/SideNav/SideNav.doc.mjs +1 -7
  474. package/src/SideNav/SideNav.test.tsx +0 -66
  475. package/src/SideNav/SideNav.tsx +2 -6
  476. package/src/SideNav/SideNavCollapseButton.tsx +3 -4
  477. package/src/SideNav/SideNavSection.tsx +4 -6
  478. package/src/Switch/Switch.doc.mjs +7 -7
  479. package/src/Switch/Switch.test.tsx +3 -102
  480. package/src/Switch/Switch.tsx +7 -20
  481. package/src/TabList/TabList.test.tsx +1 -185
  482. package/src/TabList/TabMenu.tsx +9 -45
  483. package/src/Table/BaseTable.tsx +2 -13
  484. package/src/Table/Table.test.tsx +0 -87
  485. package/src/Table/TableBody.tsx +2 -15
  486. package/src/Table/TableFooter.tsx +2 -15
  487. package/src/Table/TableHeader.tsx +2 -15
  488. package/src/Table/plugins/columnResize/useTableColumnResize.test.tsx +0 -13
  489. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +1 -3
  490. package/src/Table/plugins/pagination/paginateData.ts +1 -5
  491. package/src/Table/plugins/pagination/useTablePagination.test.tsx +0 -13
  492. package/src/Table/plugins/selection/useTableSelectionState.test.tsx +0 -23
  493. package/src/Table/plugins/selection/useTableSelectionState.tsx +6 -11
  494. package/src/Table/plugins/sortable/useTableSortableState.test.tsx +1 -35
  495. package/src/Table/plugins/sortable/useTableSortableState.tsx +4 -8
  496. package/src/TextArea/TextArea.test.tsx +3 -3
  497. package/src/TextInput/TextInput.test.tsx +3 -3
  498. package/src/Thumbnail/Thumbnail.test.tsx +2 -36
  499. package/src/Thumbnail/Thumbnail.tsx +2 -4
  500. package/src/TimeInput/TimeInput.test.tsx +0 -37
  501. package/src/TimeInput/TimeInput.tsx +1 -11
  502. package/src/Timestamp/Timestamp.doc.mjs +1 -1
  503. package/src/Timestamp/Timestamp.test.tsx +0 -52
  504. package/src/Timestamp/Timestamp.tsx +16 -30
  505. package/src/Toast/Toast.tsx +3 -11
  506. package/src/Toast/ToastViewport.test.tsx +0 -64
  507. package/src/Toast/ToastViewport.tsx +0 -12
  508. package/src/ToggleButton/ToggleButton.doc.mjs +0 -1
  509. package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
  510. package/src/Tokenizer/Tokenizer.test.tsx +0 -54
  511. package/src/Tokenizer/Tokenizer.tsx +4 -5
  512. package/src/Tooltip/Tooltip.doc.mjs +6 -6
  513. package/src/Tooltip/useTooltip.doc.mjs +5 -5
  514. package/src/Tooltip/useTooltip.tsx +2 -12
  515. package/src/TopNav/TopNav.doc.mjs +1 -1
  516. package/src/TopNav/TopNav.test.tsx +7 -23
  517. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +2 -9
  518. package/src/TreeList/TreeList.doc.mjs +2 -2
  519. package/src/Typeahead/BaseTypeahead.doc.mjs +0 -19
  520. package/src/Typeahead/BaseTypeahead.tsx +2 -5
  521. package/src/Typeahead/Typeahead.doc.mjs +1 -1
  522. package/src/Typeahead/Typeahead.test.tsx +1 -45
  523. package/src/docs-types.ts +1 -9
  524. package/src/hooks/focusableSelector.ts +1 -1
  525. package/src/hooks/index.ts +0 -3
  526. package/src/hooks/useFocusTrap.doc.mjs +2 -4
  527. package/src/hooks/useFocusTrap.test.tsx +1 -149
  528. package/src/hooks/useFocusTrap.ts +1 -50
  529. package/src/hooks/useInteractiveRole.ts +4 -12
  530. package/src/hooks/useStreamingText.test.ts +19 -54
  531. package/src/hooks/useStreamingText.ts +5 -16
  532. package/src/hooks/useTreeFocus.test.tsx +3 -1
  533. package/src/reset.css +0 -29
  534. package/src/theme/SyntaxTheme.doc.mjs +4 -4
  535. package/src/theme/defineTheme.ts +13 -4
  536. package/src/theme/derivedVarRegistry.test.ts +2 -2
  537. package/src/theme/expandColorScale.test.ts +0 -29
  538. package/src/theme/expandColorScale.ts +6 -11
  539. package/src/theme/hct.ts +17 -9
  540. package/src/theme/tokens.test.ts +9 -182
  541. package/src/theme/tokens.ts +4 -239
  542. package/src/theme/useTheme.test.tsx +0 -20
  543. package/src/utils/index.ts +0 -4
  544. package/src/utils/sharedResizeObserver.test.ts +2 -2
  545. package/src/utils/timeParser.test.ts +0 -13
  546. package/src/utils/timeParser.ts +5 -8
  547. package/dist/hooks/useHotkeys.d.ts +0 -51
  548. package/dist/hooks/useHotkeys.d.ts.map +0 -1
  549. package/dist/hooks/useHotkeys.js +0 -160
  550. package/dist/utils/color.d.ts +0 -42
  551. package/dist/utils/color.d.ts.map +0 -1
  552. package/dist/utils/color.js +0 -150
  553. package/dist/utils/composeEventHandlers.d.ts +0 -30
  554. package/dist/utils/composeEventHandlers.d.ts.map +0 -1
  555. package/dist/utils/composeEventHandlers.js +0 -40
  556. package/src/Chat/ChatDictationButton.test.tsx +0 -43
  557. package/src/Chat/ChatLayoutScrollButton.test.tsx +0 -33
  558. package/src/Chat/ChatMessageMetadata.test.tsx +0 -32
  559. package/src/Collapsible/Collapsible.test.tsx +0 -405
  560. package/src/FieldStatus/FieldStatus.test.tsx +0 -282
  561. package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +0 -185
  562. package/src/Layout/Layout.test.tsx +0 -285
  563. package/src/Layout/LayoutSlots.test.tsx +0 -364
  564. package/src/Outline/parseOutlineFromMarkdown.test.ts +0 -80
  565. package/src/OverflowList/OverflowList.test.tsx +0 -416
  566. package/src/Overlay/Overlay.test.tsx +0 -356
  567. package/src/Resizable/ResizeHandle.test.tsx +0 -218
  568. package/src/SizeContext/SizeContext.test.tsx +0 -226
  569. package/src/__tests__/TestIcon.tsx +0 -26
  570. package/src/__tests__/fastRoleQueries.ts +0 -66
  571. package/src/docPropReferences.test.ts +0 -178
  572. package/src/hooks/useHotkeys.doc.mjs +0 -52
  573. package/src/hooks/useHotkeys.test.ts +0 -245
  574. package/src/hooks/useHotkeys.ts +0 -203
  575. package/src/utils/color.test.ts +0 -133
  576. package/src/utils/color.ts +0 -148
  577. package/src/utils/composeEventHandlers.test.ts +0 -71
  578. package/src/utils/composeEventHandlers.ts +0 -44
  579. package/src/utils/mergeProps.test.ts +0 -166
@@ -6,12 +6,18 @@ import {ChatTokenizedText} from './ChatTokenizedText';
6
6
 
7
7
  describe('ChatTokenizedText', () => {
8
8
  it('renders plain text when no tokens provided', () => {
9
- render(<ChatTokenizedText>Hello world</ChatTokenizedText>);
9
+ render(
10
+ <ChatTokenizedText>Hello world</ChatTokenizedText>,
11
+ );
10
12
  expect(screen.getByText('Hello world')).toBeInTheDocument();
11
13
  });
12
14
 
13
15
  it('renders plain text when tokens array is empty', () => {
14
- render(<ChatTokenizedText tokens={[]}>Hello world</ChatTokenizedText>);
16
+ render(
17
+ <ChatTokenizedText tokens={[]}>
18
+ Hello world
19
+ </ChatTokenizedText>,
20
+ );
15
21
  expect(screen.getByText('Hello world')).toBeInTheDocument();
16
22
  });
17
23
 
@@ -42,7 +48,8 @@ describe('ChatTokenizedText', () => {
42
48
 
43
49
  it('handles repeated occurrences of the same token', () => {
44
50
  render(
45
- <ChatTokenizedText tokens={[{value: '@cindy', label: '@Cindy Zhang'}]}>
51
+ <ChatTokenizedText
52
+ tokens={[{value: '@cindy', label: '@Cindy Zhang'}]}>
46
53
  @cindy and @cindy again
47
54
  </ChatTokenizedText>,
48
55
  );
@@ -51,7 +58,8 @@ describe('ChatTokenizedText', () => {
51
58
 
52
59
  it('renders text with no matching tokens as plain text', () => {
53
60
  render(
54
- <ChatTokenizedText tokens={[{value: '@cindy', label: '@Cindy Zhang'}]}>
61
+ <ChatTokenizedText
62
+ tokens={[{value: '@cindy', label: '@Cindy Zhang'}]}>
55
63
  Hello world
56
64
  </ChatTokenizedText>,
57
65
  );
@@ -60,7 +68,8 @@ describe('ChatTokenizedText', () => {
60
68
 
61
69
  it('handles tokens with special regex characters in pattern', () => {
62
70
  render(
63
- <ChatTokenizedText tokens={[{value: '/search', label: '/search'}]}>
71
+ <ChatTokenizedText
72
+ tokens={[{value: '/search', label: '/search'}]}>
64
73
  Run /search now
65
74
  </ChatTokenizedText>,
66
75
  );
@@ -70,7 +79,8 @@ describe('ChatTokenizedText', () => {
70
79
 
71
80
  it('preserves surrounding text', () => {
72
81
  const {container} = render(
73
- <ChatTokenizedText tokens={[{value: '@cindy', label: '@Cindy Zhang'}]}>
82
+ <ChatTokenizedText
83
+ tokens={[{value: '@cindy', label: '@Cindy Zhang'}]}>
74
84
  Before @cindy after
75
85
  </ChatTokenizedText>,
76
86
  );
@@ -78,27 +88,4 @@ describe('ChatTokenizedText', () => {
78
88
  expect(container.textContent).toContain('after');
79
89
  expect(container.textContent).toContain('@Cindy Zhang');
80
90
  });
81
-
82
- it('forwards rest props (data-*, id) to the root element', () => {
83
- render(
84
- <ChatTokenizedText data-testid="tokenized" data-custom="x" id="tok-1">
85
- Plain text
86
- </ChatTokenizedText>,
87
- );
88
- const root = screen.getByTestId('tokenized');
89
- expect(root).toHaveAttribute('data-custom', 'x');
90
- expect(root).toHaveAttribute('id', 'tok-1');
91
- });
92
-
93
- it('forwards rest props when rendering tokens', () => {
94
- render(
95
- <ChatTokenizedText
96
- tokens={[{value: '@cindy', label: '@Cindy Zhang'}]}
97
- data-testid="tokenized"
98
- data-custom="x">
99
- Hi @cindy
100
- </ChatTokenizedText>,
101
- );
102
- expect(screen.getByTestId('tokenized')).toHaveAttribute('data-custom', 'x');
103
- });
104
91
  });
@@ -91,10 +91,6 @@ export function ChatTokenizedText({
91
91
  ref,
92
92
  children,
93
93
  tokens,
94
- xstyle,
95
- className,
96
- style,
97
- ...rest
98
94
  }: ChatTokenizedTextProps) {
99
95
  if (!children || !tokens || tokens.length === 0) {
100
96
  return (
@@ -102,11 +98,8 @@ export function ChatTokenizedText({
102
98
  ref={ref}
103
99
  {...mergeProps(
104
100
  themeProps('chat-tokenized-text'),
105
- stylex.props(styles.root, xstyle),
106
- className,
107
- style,
108
- )}
109
- {...rest}>
101
+ stylex.props(styles.root),
102
+ )}>
110
103
  {children ?? ''}
111
104
  </span>
112
105
  );
@@ -118,11 +111,8 @@ export function ChatTokenizedText({
118
111
  ref={ref}
119
112
  {...mergeProps(
120
113
  themeProps('chat-tokenized-text'),
121
- stylex.props(styles.root, xstyle),
122
- className,
123
- style,
124
- )}
125
- {...rest}>
114
+ stylex.props(styles.root),
115
+ )}>
126
116
  {parts}
127
117
  </span>
128
118
  );
@@ -134,7 +124,10 @@ ChatTokenizedText.displayName = 'ChatTokenizedText';
134
124
  // Render
135
125
  // =============================================================================
136
126
 
137
- function renderTokens(text: string, tokens: ChatComposerToken[]): ReactNode[] {
127
+ function renderTokens(
128
+ text: string,
129
+ tokens: ChatComposerToken[],
130
+ ): ReactNode[] {
138
131
  const pattern = tokens.map(t => escapeRegExp(t.value)).join('|');
139
132
  const regex = new RegExp(`(${pattern})`, 'g');
140
133
 
@@ -97,59 +97,4 @@ describe('ChatToolCalls', () => {
97
97
  );
98
98
  expect(screen.getByText('git status')).toBeInTheDocument();
99
99
  });
100
-
101
- it('exposes no aria-expanded on a call row without resultDetail', () => {
102
- const {container} = render(
103
- <ChatToolCalls calls={[{name: 'bash', status: 'complete'}]} />,
104
- );
105
- expect(container.querySelector('[aria-expanded]')).toBeNull();
106
- });
107
-
108
- it('wires disclosure semantics on an expandable call row', () => {
109
- render(
110
- <ChatToolCalls
111
- calls={[
112
- {
113
- name: 'readFile',
114
- status: 'complete',
115
- resultDetail: <div>file contents here</div>,
116
- },
117
- ]}
118
- />,
119
- );
120
- const row = screen.getByRole('button');
121
- expect(row).toHaveAttribute('aria-expanded', 'false');
122
- // Detail panel is conditionally mounted, so no aria-controls while closed.
123
- expect(row).not.toHaveAttribute('aria-controls');
124
- expect(screen.queryByText('file contents here')).not.toBeInTheDocument();
125
-
126
- fireEvent.click(row);
127
-
128
- expect(row).toHaveAttribute('aria-expanded', 'true');
129
- const detailId = row.getAttribute('aria-controls');
130
- expect(detailId).toBeTruthy();
131
- const panel = document.getElementById(detailId as string);
132
- expect(panel).not.toBeNull();
133
- expect(panel).toHaveTextContent('file contents here');
134
- });
135
-
136
- it('points the group header aria-controls at the content region', () => {
137
- render(
138
- <ChatToolCalls
139
- defaultIsExpanded={true}
140
- calls={[
141
- {name: 'searchCode', status: 'complete'},
142
- {name: 'readFile', status: 'complete'},
143
- ]}
144
- />,
145
- );
146
- const header = screen.getByRole('button');
147
- expect(header).toHaveAttribute('aria-expanded', 'true');
148
- const regionId = header.getAttribute('aria-controls');
149
- expect(regionId).toBeTruthy();
150
- const region = document.getElementById(regionId as string);
151
- expect(region).not.toBeNull();
152
- expect(region).toHaveTextContent('searchCode');
153
- expect(region).toHaveTextContent('readFile');
154
- });
155
100
  });
@@ -18,7 +18,7 @@
18
18
  * for builders to wire up.
19
19
  */
20
20
 
21
- import React, {useState, useCallback, useId, type ReactNode} from 'react';
21
+ import React, {useState, useCallback, type ReactNode} from 'react';
22
22
  import type {BaseProps} from '../BaseProps';
23
23
  import * as stylex from '@stylexjs/stylex';
24
24
  import {
@@ -41,7 +41,11 @@ import {themeProps} from '../utils/themeProps';
41
41
  // Types
42
42
  // =============================================================================
43
43
 
44
- export type ChatToolCallStatus = 'pending' | 'running' | 'complete' | 'error';
44
+ export type ChatToolCallStatus =
45
+ | 'pending'
46
+ | 'running'
47
+ | 'complete'
48
+ | 'error';
45
49
 
46
50
  export interface ChatToolCallItem {
47
51
  /** Tool/function name. */
@@ -352,7 +356,6 @@ function CallRow({call}: {call: ChatToolCallItem}) {
352
356
  const status = call.status ?? 'complete';
353
357
  const hasDetail = call.resultDetail != null;
354
358
  const [isDetailOpen, setIsDetailOpen] = useState(false);
355
- const detailId = useId();
356
359
 
357
360
  const toggleDetail = hasDetail
358
361
  ? () => setIsDetailOpen(prev => !prev)
@@ -362,8 +365,6 @@ function CallRow({call}: {call: ChatToolCallItem}) {
362
365
  <div
363
366
  role={hasDetail ? 'button' : undefined}
364
367
  tabIndex={hasDetail ? 0 : undefined}
365
- aria-expanded={hasDetail ? isDetailOpen : undefined}
366
- aria-controls={hasDetail && isDetailOpen ? detailId : undefined}
367
368
  onClick={toggleDetail}
368
369
  onKeyDown={
369
370
  hasDetail
@@ -398,7 +399,11 @@ function CallRow({call}: {call: ChatToolCallItem}) {
398
399
  </span>
399
400
  <span {...stylex.props(styles.callName)}>{call.name}</span>
400
401
  {call.node != null && (
401
- <Badge label={call.node} variant="neutral" xstyle={styles.nodePill} />
402
+ <Badge
403
+ label={call.node}
404
+ variant="neutral"
405
+ xstyle={styles.nodePill}
406
+ />
402
407
  )}
403
408
  {call.target != null && (
404
409
  <span {...stylex.props(styles.callLabel)}>{call.target}</span>
@@ -443,7 +448,7 @@ function CallRow({call}: {call: ChatToolCallItem}) {
443
448
  <div>
444
449
  {row}
445
450
  {isDetailOpen && (
446
- <div id={detailId} {...stylex.props(styles.callDetailContent)}>
451
+ <div {...stylex.props(styles.callDetailContent)}>
447
452
  {call.resultDetail}
448
453
  </div>
449
454
  )}
@@ -492,7 +497,6 @@ export function ChatToolCalls(props: ChatToolCallsProps) {
492
497
 
493
498
  const autoDefault = defaultIsExpanded ?? false;
494
499
  const [internalExpanded, setInternalExpanded] = useState(autoDefault);
495
- const contentId = useId();
496
500
  const isControlled = controlledExpanded !== undefined;
497
501
  const isExpanded = isControlled ? controlledExpanded : internalExpanded;
498
502
 
@@ -544,7 +548,6 @@ export function ChatToolCalls(props: ChatToolCallsProps) {
544
548
  role="button"
545
549
  tabIndex={0}
546
550
  aria-expanded={isExpanded}
547
- aria-controls={contentId}
548
551
  onClick={toggle}
549
552
  onKeyDown={e => {
550
553
  if (e.key === 'Enter' || e.key === ' ') {
@@ -610,7 +613,6 @@ export function ChatToolCalls(props: ChatToolCallsProps) {
610
613
 
611
614
  {/* Expanded: all calls with full metadata */}
612
615
  <div
613
- id={contentId}
614
616
  {...stylex.props(
615
617
  styles.groupContent,
616
618
  isExpanded && styles.groupContentExpanded,
package/src/Chat/index.ts CHANGED
@@ -21,7 +21,10 @@ export type {ChatSendButtonProps} from './ChatSendButton';
21
21
  export {ChatComposerDrawer} from './ChatComposerDrawer';
22
22
  export type {ChatComposerDrawerProps} from './ChatComposerDrawer';
23
23
 
24
- export {ChatComposerInput, ChatComposerTokenElement} from './ChatComposerInput';
24
+ export {
25
+ ChatComposerInput,
26
+ ChatComposerTokenElement,
27
+ } from './ChatComposerInput';
25
28
  export type {
26
29
  ChatComposerInputProps,
27
30
  ChatComposerInputHandle,
@@ -40,7 +40,10 @@ import {
40
40
  import {mergeProps, groupItems} from '../utils';
41
41
  import type {SearchableItem} from '../Typeahead/types';
42
42
  import {themeProps} from '../utils/themeProps';
43
- import type {ChatComposerTrigger, ChatComposerToken} from './ChatComposerInput';
43
+ import type {
44
+ ChatComposerTrigger,
45
+ ChatComposerToken,
46
+ } from './ChatComposerInput';
44
47
 
45
48
  // =============================================================================
46
49
  // Types
@@ -125,7 +125,7 @@ export const docs = {
125
125
  theming: {
126
126
  targets: [
127
127
  {className: 'astryx-checkbox-input', visualProps: ['size']},
128
- {className: 'astryx-checkbox', visualProps: ['size'], states: ['checked', 'disabled']},
128
+ {className: 'astryx-checkbox'},
129
129
  ],
130
130
  },
131
131
  usage: {
@@ -178,7 +178,7 @@ export const docsZh = {
178
178
  {name: 'isLoading', type: 'boolean', description: '复选框是否处于加载状态。显示旋转器并阻止交互。', default: 'false'},
179
179
  {name: 'isDisabled', type: 'boolean', description: '复选框是否禁用。', default: 'false'},
180
180
  {name: 'htmlName', type: 'string', description: '底层复选框输入的 HTML name 属性,用于表单提交(勾选时提交 "on")。'},
181
- {name: 'disabledMessage', type: 'string', description: 'Explains why the checkbox is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the checkbox focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled CheckboxInput in Tooltip: disabled controls swallow the hover events an external Tooltip needs.'},
181
+ {name: 'disabledMessage', type: 'string', description: 'Explains why the checkbox is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the checkbox focusable via aria-disabled (toggling stays blocked). Use this instead of wrapping a disabled CheckboxInput in Tooltip disabled controls swallow the hover events an external Tooltip needs.'},
182
182
  {name: 'isReadOnly', type: 'boolean', description: '复选框是否为只读。以完整不透明度显示当前状态但阻止交互。与 isDisabled 不同,只读复选框不会变暗。', default: 'false'},
183
183
  {name: 'isOptional', type: 'boolean', description: '字段是否可选。与 isRequired 互斥。', default: 'false'},
184
184
  {name: 'isRequired', type: 'boolean', description: '复选框是否必填。与 isOptional 互斥。', default: 'false'},
@@ -200,7 +200,7 @@ export const docsZh = {
200
200
  'size',
201
201
  ],
202
202
  },
203
- {className: 'astryx-checkbox', visualProps: ['size'], states: ['checked', 'disabled']},
203
+ {className: 'astryx-checkbox'},
204
204
  ],
205
205
  },
206
206
  };
@@ -167,59 +167,6 @@ describe('CheckboxInput', () => {
167
167
  expect(handleChange).not.toHaveBeenCalled();
168
168
  });
169
169
 
170
- it('forwards data-testid to the input', () => {
171
- render(
172
- <CheckboxInput
173
- label="Accept terms"
174
- value={false}
175
- onChange={() => {}}
176
- data-testid="accept-terms-checkbox"
177
- />,
178
- );
179
- expect(screen.getByTestId('accept-terms-checkbox')).toBe(
180
- screen.getByRole('checkbox'),
181
- );
182
- });
183
-
184
- it('forwards arbitrary data-* attributes to the input', () => {
185
- render(
186
- <CheckboxInput
187
- label="Accept terms"
188
- value={false}
189
- onChange={() => {}}
190
- data-tracking-id="checkbox-42"
191
- />,
192
- );
193
- expect(screen.getByRole('checkbox')).toHaveAttribute(
194
- 'data-tracking-id',
195
- 'checkbox-42',
196
- );
197
- });
198
-
199
- it('does not let rest props override checked, disabled, or type', () => {
200
- // Not part of CheckboxInputProps; spread (rather than named attributes)
201
- // to sidestep JSX excess-property checks the same way a real caller's
202
- // spread rest-props object would arrive untyped at runtime.
203
- const foreignAttrs: Record<string, unknown> = {
204
- checked: false,
205
- disabled: false,
206
- type: 'text',
207
- };
208
- render(
209
- <CheckboxInput
210
- {...foreignAttrs}
211
- label="Accept terms"
212
- value={true}
213
- onChange={() => {}}
214
- isDisabled
215
- />,
216
- );
217
- const checkbox = screen.getByRole('checkbox');
218
- expect(checkbox).toBeChecked();
219
- expect(checkbox).toBeDisabled();
220
- expect(checkbox).toHaveAttribute('type', 'checkbox');
221
- });
222
-
223
170
  it('forwards ref correctly', () => {
224
171
  const ref = vi.fn();
225
172
  render(
@@ -449,12 +396,7 @@ describe('CheckboxInput', () => {
449
396
  it('submits under htmlName when checked', () => {
450
397
  const {container} = render(
451
398
  <form>
452
- <CheckboxInput
453
- label="Terms"
454
- htmlName="terms"
455
- value={true}
456
- onChange={() => {}}
457
- />
399
+ <CheckboxInput label="Terms" htmlName="terms" value={true} onChange={() => {}} />
458
400
  </form>,
459
401
  );
460
402
  const data = new FormData(container.querySelector('form')!);
@@ -474,25 +416,16 @@ describe('CheckboxInput', () => {
474
416
  />
475
417
  </form>,
476
418
  );
477
- expect([
478
- ...new FormData(container.querySelector('form')!).keys(),
479
- ]).toEqual([]);
419
+ expect([...new FormData(container.querySelector('form')!).keys()]).toEqual([]);
480
420
  });
481
421
 
482
422
  it('submits nothing when unchecked', () => {
483
423
  const {container} = render(
484
424
  <form>
485
- <CheckboxInput
486
- label="Terms"
487
- htmlName="terms"
488
- value={false}
489
- onChange={() => {}}
490
- />
425
+ <CheckboxInput label="Terms" htmlName="terms" value={false} onChange={() => {}} />
491
426
  </form>,
492
427
  );
493
- expect([
494
- ...new FormData(container.querySelector('form')!).keys(),
495
- ]).toEqual([]);
428
+ expect([...new FormData(container.querySelector('form')!).keys()]).toEqual([]);
496
429
  });
497
430
  });
498
431
  });
@@ -395,7 +395,6 @@ export function CheckboxInput({
395
395
  className,
396
396
  style,
397
397
  ref,
398
- ...rest
399
398
  }: CheckboxInputProps) {
400
399
  const id = useId();
401
400
  const descriptionID = useId();
@@ -485,7 +484,6 @@ export function CheckboxInput({
485
484
  )}>
486
485
  <div {...stylex.props(styles.checkboxWrapper, wrapperSizeStyles[size])}>
487
486
  <input
488
- {...rest}
489
487
  ref={mergeRefs(
490
488
  ref,
491
489
  indeterminateRef,
@@ -135,25 +135,6 @@ describe('CheckboxList', () => {
135
135
  expect(handleChange).toHaveBeenCalledWith(['b']);
136
136
  });
137
137
 
138
- it('fires a consumer onClick on an item in addition to toggling', async () => {
139
- const user = userEvent.setup();
140
- const handleChange = vi.fn();
141
- const handleClick = vi.fn();
142
- render(
143
- <CheckboxList label="Preferences" value={['a']} onChange={handleChange}>
144
- <CheckboxListItem label="Option A" value="a" />
145
- <CheckboxListItem label="Option B" value="b" onClick={handleClick} />
146
- </CheckboxList>,
147
- );
148
-
149
- // Click the interactive row (invisible-button pattern), which is where the
150
- // composed onClick lives — not the inner checkbox.
151
- await user.click(screen.getByRole('button', {name: 'Option B'}));
152
-
153
- expect(handleClick).toHaveBeenCalledTimes(1);
154
- expect(handleChange).toHaveBeenCalledWith(['a', 'b']);
155
- });
156
-
157
138
  it('disables all checkboxes when group isDisabled is true', () => {
158
139
  render(
159
140
  <CheckboxList
@@ -16,12 +16,11 @@
16
16
  * - /packages/cli/templates/blocks/components/CheckboxList/ (showcase blocks)
17
17
  */
18
18
 
19
- import {use, type MouseEvent, type ReactNode} from 'react';
19
+ import {use, type ReactNode} from 'react';
20
20
  import * as stylex from '@stylexjs/stylex';
21
21
  import type {StyleXStyles} from '@stylexjs/stylex';
22
22
  import {colorVars} from '../theme/tokens.stylex';
23
23
  import type {BaseProps} from '../BaseProps';
24
- import {composeEventHandlers} from '../utils';
25
24
  import {CheckboxInput} from '../CheckboxInput/CheckboxInput';
26
25
  import {ListItem} from '../List/ListItem';
27
26
  import {ListContext} from '../List/ListContext';
@@ -129,7 +128,6 @@ export function CheckboxListItem({
129
128
  xstyle,
130
129
  className,
131
130
  style,
132
- onClick: onClickProp,
133
131
  ...restProps
134
132
  }: CheckboxListItemProps) {
135
133
  const ctx = use(CheckboxListContext);
@@ -202,14 +200,7 @@ export function CheckboxListItem({
202
200
  description={description}
203
201
  endContent={endContent}
204
202
  isDisabled={effectiveDisabled}
205
- onClick={
206
- isInteractive || onClickProp
207
- ? composeEventHandlers<MouseEvent>(
208
- onClickProp as ((event: MouseEvent) => void) | undefined,
209
- isInteractive ? handleToggle : undefined,
210
- )
211
- : undefined
212
- }
203
+ onClick={isInteractive ? handleToggle : undefined}
213
204
  aria-busy={isBusy || undefined}
214
205
  xstyle={
215
206
  [
@@ -88,11 +88,6 @@ export const docs = {
88
88
  default: "'label'",
89
89
  },
90
90
  ],
91
- theming: {
92
- targets: [
93
- {className: 'astryx-citation', visualProps: ['variant']},
94
- ],
95
- },
96
91
  };
97
92
 
98
93
  /** @type {import('../docs-types').TranslationDoc} */
@@ -31,12 +31,7 @@
31
31
  import {type ReactNode, type MouseEvent, useRef, type Ref} from 'react';
32
32
  import * as stylex from '@stylexjs/stylex';
33
33
  import type {StyleXStyles} from '@stylexjs/stylex';
34
- import {
35
- borderVars,
36
- colorVars,
37
- durationVars,
38
- easeVars,
39
- } from '../theme/tokens.stylex';
34
+ import {colorVars, durationVars, easeVars} from '../theme/tokens.stylex';
40
35
  import type {SizeValue, SpacingStep} from '../utils/types';
41
36
  import {mergeProps, mergeRefs} from '../utils';
42
37
  import {Card} from '../Card/Card';
@@ -71,6 +66,7 @@ const styles = stylex.create({
71
66
  content: '""',
72
67
  position: 'absolute',
73
68
  inset: 0,
69
+ borderRadius: 'inherit',
74
70
  pointerEvents: 'none',
75
71
  transitionProperty: 'background-color',
76
72
  transitionDuration: durationVars['--duration-fast'],
@@ -88,38 +84,6 @@ const styles = stylex.create({
88
84
  },
89
85
  },
90
86
  },
91
- // Borderless variants (everything except `default`): drop the transparent
92
- // 1px border Card applies. The overlay is inset to the padding box — inside
93
- // that border — so a transparent border strip stays untinted on hover and
94
- // reads as a faint ring. With no border, the overlay covers the full box
95
- // edge-to-edge and the ring disappears.
96
- borderless: {
97
- borderWidth: 0,
98
- },
99
- // Bordered variant (`default`): draw the 1px border *within* the padding by
100
- // subtracting the border width from every side. Total inset (border +
101
- // padding) then equals the borderless variants' padding, so content geometry
102
- // and outer dimensions stay identical across all variants. The border rests
103
- // at the subtle token and emphasizes on hover.
104
- bordered: {
105
- borderColor: colorVars['--color-border'],
106
- paddingInlineStart: `calc(var(--container-padding-inline-start) - ${borderVars['--border-width']})`,
107
- paddingInlineEnd: `calc(var(--container-padding-inline-end) - ${borderVars['--border-width']})`,
108
- paddingBlockStart: `calc(var(--container-padding-block-start) - ${borderVars['--border-width']})`,
109
- paddingBlockEnd: `calc(var(--container-padding-block-end) - ${borderVars['--border-width']})`,
110
- transitionProperty: 'border-color',
111
- transitionDuration: durationVars['--duration-fast'],
112
- transitionTimingFunction: easeVars['--ease-standard'],
113
- },
114
- // Emphasize the bordered variant's border on hover. Guarded by
115
- // @media (hover: hover) so touch devices don't get a stuck hover state.
116
- borderedHoverOnPointer: {
117
- '@media (hover: hover)': {
118
- ':hover': {
119
- borderColor: colorVars['--color-border-emphasized'],
120
- },
121
- },
122
- },
123
87
  disabled: {
124
88
  cursor: 'not-allowed',
125
89
  opacity: 0.5,
@@ -284,11 +248,6 @@ export function ClickableCard({
284
248
 
285
249
  const isLink = href != null;
286
250
 
287
- // Only the `default` variant has a visible border. Card draws a transparent
288
- // 1px border on every other variant purely to avoid layout jitter; we drop
289
- // it here so the hover overlay covers the full box with no untinted ring.
290
- const hasBorder = variant === 'default';
291
-
292
251
  return (
293
252
  <Card
294
253
  ref={mergeRefs(ref, containerRef)}
@@ -305,10 +264,8 @@ export function ClickableCard({
305
264
  [
306
265
  styles.interactive,
307
266
  styles.focusWithin,
308
- hasBorder ? styles.bordered : styles.borderless,
309
267
  !isDisabled && styles.overlay,
310
268
  !isDisabled && styles.hoverOnPointer,
311
- !isDisabled && hasBorder && styles.borderedHoverOnPointer,
312
269
  isDisabled && styles.disabled,
313
270
  xstyleProp,
314
271
  ] as unknown as StyleXStyles
@@ -90,11 +90,6 @@ export const docs = {
90
90
  type: '(code: string, language: string) => Array<{type: string; start: number; end: number}>',
91
91
  description: 'Custom tokenizer override for unsupported languages.',
92
92
  },
93
- {
94
- name: 'syntaxTheme',
95
- type: 'SyntaxThemeDefinition',
96
- description: 'Per-instance syntax theme override. Shorthand for wrapping the block in <SyntaxTheme theme={...}>. Accepts a preset from @astryxdesign/core/theme/syntax or a theme created with defineSyntaxTheme(). Defaults to the nearest SyntaxTheme ancestor or the theme-level syntax colors.',
97
- },
98
93
  {
99
94
  name: 'isCollapsible',
100
95
  type: 'boolean',
@@ -140,8 +135,8 @@ export const docs = {
140
135
  },
141
136
  theming: {
142
137
  targets: [
143
- {className: 'astryx-code', visualProps: ['color']},
144
- {className: 'astryx-codeblock', visualProps: ['size', 'language', 'container']},
138
+ {className: 'astryx-code'},
139
+ {className: 'astryx-codeblock', visualProps: ['size', 'language']},
145
140
  ],
146
141
  },
147
142
  usage: {