@astryxdesign/core 0.6.2-canary.bfee8a4 → 0.6.2-canary.c9fb1ad

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 (347) hide show
  1. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  2. package/dist/Chat/ChatComposer.js +10 -5
  3. package/dist/Chat/ChatComposerDrawer.d.ts +19 -5
  4. package/dist/Chat/ChatComposerDrawer.d.ts.map +1 -1
  5. package/dist/Chat/ChatComposerDrawer.js +48 -23
  6. package/dist/Chat/ChatComposerInput.d.ts +11 -3
  7. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  8. package/dist/Chat/ChatComposerInput.js +63 -16
  9. package/dist/Chat/ChatDictationButton.d.ts +3 -2
  10. package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
  11. package/dist/Chat/ChatDictationButton.js +6 -4
  12. package/dist/Chat/ChatSendButton.js +1 -1
  13. package/dist/Chat/index.d.ts +1 -1
  14. package/dist/Chat/index.d.ts.map +1 -1
  15. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  16. package/dist/CheckboxInput/CheckboxInput.js +12 -2
  17. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  18. package/dist/Collapsible/Collapsible.js +6 -1
  19. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  20. package/dist/CommandPalette/CommandPaletteInput.js +1 -1
  21. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  22. package/dist/ComplexSelector/ComplexSelector.js +1 -1
  23. package/dist/DateInput/DateInput.d.ts.map +1 -1
  24. package/dist/DateInput/DateInput.js +4 -4
  25. package/dist/DateInput/NativeDateField.d.ts.map +1 -1
  26. package/dist/DateInput/NativeDateField.js +16 -16
  27. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  28. package/dist/DateInput/TouchDateField.js +2 -2
  29. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  30. package/dist/DateRangeInput/DateRangeInput.js +4 -4
  31. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  32. package/dist/DateTimeInput/DateTimeInput.js +8 -8
  33. package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
  34. package/dist/DateTimeInput/TouchDateTimeField.js +4 -4
  35. package/dist/DateTimeInput/nativePickerSegmentStyles.d.ts +9 -3
  36. package/dist/DateTimeInput/nativePickerSegmentStyles.d.ts.map +1 -1
  37. package/dist/DateTimeInput/nativePickerSegmentStyles.js +3 -3
  38. package/dist/Field/InputClearButton.d.ts +4 -2
  39. package/dist/Field/InputClearButton.d.ts.map +1 -1
  40. package/dist/Field/InputClearButton.js +4 -2
  41. package/dist/Field/PanelSearchInput.d.ts.map +1 -1
  42. package/dist/Field/PanelSearchInput.js +1 -1
  43. package/dist/FileInput/FileInput.d.ts.map +1 -1
  44. package/dist/FileInput/FileInput.js +7 -7
  45. package/dist/Kbd/Kbd.d.ts +5 -3
  46. package/dist/Kbd/Kbd.d.ts.map +1 -1
  47. package/dist/Kbd/Kbd.js +36 -42
  48. package/dist/Link/Link.d.ts.map +1 -1
  49. package/dist/Link/Link.js +6 -2
  50. package/dist/Markdown/Markdown.d.ts +8 -2
  51. package/dist/Markdown/Markdown.d.ts.map +1 -1
  52. package/dist/Markdown/Markdown.fr23.bench.d.ts +2 -0
  53. package/dist/Markdown/Markdown.fr23.bench.d.ts.map +1 -0
  54. package/dist/Markdown/Markdown.fr23.bench.js +150 -0
  55. package/dist/Markdown/Markdown.fr23.sampling.d.ts +2 -0
  56. package/dist/Markdown/Markdown.fr23.sampling.d.ts.map +1 -0
  57. package/dist/Markdown/Markdown.fr23.sampling.js +43 -0
  58. package/dist/Markdown/Markdown.js +262 -109
  59. package/dist/Markdown/ast.d.ts +162 -0
  60. package/dist/Markdown/ast.d.ts.map +1 -0
  61. package/dist/Markdown/ast.js +74 -0
  62. package/dist/Markdown/index.d.ts +5 -3
  63. package/dist/Markdown/index.d.ts.map +1 -1
  64. package/dist/Markdown/index.js +3 -2
  65. package/dist/Markdown/parser/index.d.ts +10 -0
  66. package/dist/Markdown/parser/index.d.ts.map +1 -0
  67. package/dist/Markdown/parser/index.js +10 -0
  68. package/dist/Markdown/parser.d.ts +126 -58
  69. package/dist/Markdown/parser.d.ts.map +1 -1
  70. package/dist/Markdown/parser.js +716 -167
  71. package/dist/Markdown/plugins/frontmatter.d.ts +32 -0
  72. package/dist/Markdown/plugins/frontmatter.d.ts.map +1 -0
  73. package/dist/Markdown/plugins/frontmatter.js +132 -0
  74. package/dist/Markdown/plugins/index.d.ts +16 -0
  75. package/dist/Markdown/plugins/index.d.ts.map +1 -0
  76. package/dist/Markdown/plugins/index.js +13 -0
  77. package/dist/Markdown/plugins/protocol.d.ts +191 -0
  78. package/dist/Markdown/plugins/protocol.d.ts.map +1 -0
  79. package/dist/Markdown/plugins/protocol.js +957 -0
  80. package/dist/Markdown/plugins/semanticFence.d.ts +36 -0
  81. package/dist/Markdown/plugins/semanticFence.d.ts.map +1 -0
  82. package/dist/Markdown/plugins/semanticFence.js +213 -0
  83. package/dist/Markdown/plugins/sourceDecoration.d.ts +76 -0
  84. package/dist/Markdown/plugins/sourceDecoration.d.ts.map +1 -0
  85. package/dist/Markdown/plugins/sourceDecoration.js +393 -0
  86. package/dist/Markdown/plugins/textTransform.d.ts +30 -0
  87. package/dist/Markdown/plugins/textTransform.d.ts.map +1 -0
  88. package/dist/Markdown/plugins/textTransform.js +374 -0
  89. package/dist/Markdown/remark.d.ts +196 -0
  90. package/dist/Markdown/remark.d.ts.map +1 -0
  91. package/dist/Markdown/remark.js +1062 -0
  92. package/dist/Markdown/url.d.ts +4 -0
  93. package/dist/Markdown/url.d.ts.map +1 -0
  94. package/dist/Markdown/url.js +25 -0
  95. package/dist/Markdown/utils.d.ts +4 -2
  96. package/dist/Markdown/utils.d.ts.map +1 -1
  97. package/dist/Markdown/utils.js +2 -1
  98. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  99. package/dist/NumberInput/NumberInput.js +4 -4
  100. package/dist/Outline/index.d.ts +1 -0
  101. package/dist/Outline/index.d.ts.map +1 -1
  102. package/dist/Outline/parseOutlineFromMarkdown.d.ts +7 -1
  103. package/dist/Outline/parseOutlineFromMarkdown.d.ts.map +1 -1
  104. package/dist/Outline/parseOutlineFromMarkdown.js +14 -8
  105. package/dist/Outline/useOutlineFromMarkdown.d.ts +3 -1
  106. package/dist/Outline/useOutlineFromMarkdown.d.ts.map +1 -1
  107. package/dist/Outline/useOutlineFromMarkdown.js +8 -3
  108. package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
  109. package/dist/PowerSearch/PowerSearchEditPopover.js +46 -30
  110. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  111. package/dist/ProgressBar/ProgressBar.js +36 -31
  112. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  113. package/dist/RadioList/RadioListItem.js +13 -1
  114. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  115. package/dist/SegmentedControl/SegmentedControlItem.js +5 -5
  116. package/dist/Selector/Selector.d.ts +9 -7
  117. package/dist/Selector/Selector.d.ts.map +1 -1
  118. package/dist/Selector/Selector.js +7 -5
  119. package/dist/SideNav/SideNav.d.ts +2 -1
  120. package/dist/SideNav/SideNav.d.ts.map +1 -1
  121. package/dist/SideNav/SideNav.js +9 -3
  122. package/dist/Slider/Slider.d.ts.map +1 -1
  123. package/dist/Slider/Slider.js +28 -12
  124. package/dist/Spinner/Spinner.d.ts.map +1 -1
  125. package/dist/Spinner/Spinner.js +23 -7
  126. package/dist/Switch/Switch.d.ts.map +1 -1
  127. package/dist/Switch/Switch.js +11 -0
  128. package/dist/TabList/Tab.d.ts +1 -1
  129. package/dist/TabList/Tab.d.ts.map +1 -1
  130. package/dist/TabList/Tab.js +20 -7
  131. package/dist/Table/Table.d.ts +1 -0
  132. package/dist/Table/Table.d.ts.map +1 -1
  133. package/dist/Table/Table.js +29 -13
  134. package/dist/TextArea/TextArea.d.ts.map +1 -1
  135. package/dist/TextArea/TextArea.js +1 -1
  136. package/dist/TextInput/TextInput.d.ts.map +1 -1
  137. package/dist/TextInput/TextInput.js +2 -2
  138. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  139. package/dist/TimeInput/TimeInput.js +4 -4
  140. package/dist/ToggleButton/ToggleButton.d.ts +2 -1
  141. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  142. package/dist/ToggleButton/ToggleButton.js +7 -1
  143. package/dist/TreeList/TreeList.d.ts.map +1 -1
  144. package/dist/TreeList/TreeList.js +3 -0
  145. package/dist/TreeList/TreeListItem.d.ts +6 -1
  146. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  147. package/dist/TreeList/TreeListItem.js +12 -2
  148. package/dist/TreeList/TreeListTypes.d.ts +8 -1
  149. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  150. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  151. package/dist/Typeahead/BaseTypeahead.js +16 -7
  152. package/dist/astryx.css +15 -6
  153. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  154. package/dist/theme/generateThemeRules.js +10 -0
  155. package/dist/utils/interactionOverlay.stylex.d.ts +8 -0
  156. package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
  157. package/dist/utils/interactionOverlay.stylex.js +9 -0
  158. package/locales/af-ZA.json +530 -1
  159. package/locales/ar-SA.json +490 -1
  160. package/locales/ca-ES.json +514 -1
  161. package/locales/cs-CZ.json +498 -1
  162. package/locales/da-DK.json +522 -1
  163. package/locales/de-DE.json +522 -1
  164. package/locales/el-GR.json +498 -1
  165. package/locales/es-ES.json +510 -1
  166. package/locales/fi-FI.json +498 -1
  167. package/locales/fr-FR.json +534 -1
  168. package/locales/he-IL.json +498 -1
  169. package/locales/hu-HU.json +498 -1
  170. package/locales/it-IT.json +510 -1
  171. package/locales/ja-JP.json +490 -1
  172. package/locales/ko-KR.json +498 -1
  173. package/locales/nl-NL.json +534 -1
  174. package/locales/no-NO.json +510 -1
  175. package/locales/pl-PL.json +506 -1
  176. package/locales/pt-BR.json +506 -1
  177. package/locales/pt-PT.json +506 -1
  178. package/locales/ro-RO.json +506 -1
  179. package/locales/ru-RU.json +498 -1
  180. package/locales/sr-SP.json +498 -1
  181. package/locales/sv-SE.json +502 -1
  182. package/locales/tr-TR.json +498 -1
  183. package/locales/uk-UA.json +498 -1
  184. package/locales/vi-VN.json +502 -1
  185. package/locales/zh-CN.json +490 -1
  186. package/locales/zh-TW.json +490 -1
  187. package/package.json +18 -3
  188. package/src/Button/__tests__/Button.a11y.chromium.spec.ts +17 -1
  189. package/src/Button/__tests__/Button.a11y.known-failures.ts +0 -29
  190. package/src/Button/__tests__/Button.a11y.renders.tsx +9 -2
  191. package/src/Button/__tests__/Button.a11y.states.ts +9 -0
  192. package/src/Chat/ChatComposer.doc.mjs +14 -0
  193. package/src/Chat/ChatComposer.spec.md +230 -0
  194. package/src/Chat/ChatComposer.test.tsx +57 -0
  195. package/src/Chat/ChatComposer.tsx +21 -9
  196. package/src/Chat/ChatComposerDrawer.doc.mjs +63 -5
  197. package/src/Chat/ChatComposerDrawer.spec.md +267 -0
  198. package/src/Chat/ChatComposerDrawer.test.tsx +81 -12
  199. package/src/Chat/ChatComposerDrawer.tsx +38 -9
  200. package/src/Chat/ChatComposerInput.doc.mjs +114 -26
  201. package/src/Chat/ChatComposerInput.spec.md +185 -0
  202. package/src/Chat/ChatComposerInput.test.tsx +113 -3
  203. package/src/Chat/ChatComposerInput.tsx +78 -13
  204. package/src/Chat/ChatComposerTokenElement.spec.md +152 -0
  205. package/src/Chat/ChatComposerTokenElement.test.tsx +85 -0
  206. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  207. package/src/Chat/ChatDictationButton.spec.md +160 -0
  208. package/src/Chat/ChatDictationButton.test.tsx +92 -27
  209. package/src/Chat/ChatDictationButton.tsx +8 -6
  210. package/src/Chat/ChatSendButton.test.tsx +1 -4
  211. package/src/Chat/ChatSendButton.tsx +1 -1
  212. package/src/Chat/index.ts +1 -0
  213. package/src/CheckboxInput/CheckboxInput.doc.mjs +11 -0
  214. package/src/CheckboxInput/CheckboxInput.test.tsx +34 -0
  215. package/src/CheckboxInput/CheckboxInput.tsx +21 -1
  216. package/src/ClickableCard/ClickableCard.test.tsx +102 -5
  217. package/src/Collapsible/Collapsible.doc.mjs +11 -0
  218. package/src/Collapsible/Collapsible.test.tsx +21 -0
  219. package/src/Collapsible/Collapsible.tsx +5 -0
  220. package/src/CommandPalette/CommandPaletteInput.tsx +6 -1
  221. package/src/ComplexSelector/ComplexSelector.tsx +6 -1
  222. package/src/DateInput/DateInput.tsx +6 -1
  223. package/src/DateInput/NativeDateField.tsx +24 -8
  224. package/src/DateInput/TouchDateField.tsx +6 -2
  225. package/src/DateRangeInput/DateRangeInput.tsx +6 -1
  226. package/src/DateTimeInput/DateTimeInput.tsx +6 -1
  227. package/src/DateTimeInput/TouchDateTimeField.tsx +6 -1
  228. package/src/DateTimeInput/nativePickerSegmentStyles.ts +24 -8
  229. package/src/Field/InputClearButton.test.tsx +17 -3
  230. package/src/Field/InputClearButton.tsx +5 -2
  231. package/src/Field/PanelSearchInput.tsx +5 -2
  232. package/src/FieldStatus/__tests__/StatusMessage.a11y.states.ts +1 -1
  233. package/src/FileInput/FileInput.tsx +11 -2
  234. package/src/Kbd/Kbd.doc.mjs +3 -3
  235. package/src/Kbd/Kbd.test.tsx +57 -1
  236. package/src/Kbd/Kbd.tsx +57 -37
  237. package/src/Layout/LayoutFooter.doc.mjs +17 -0
  238. package/src/Link/Link.doc.mjs +11 -0
  239. package/src/Link/Link.test.tsx +24 -0
  240. package/src/Link/Link.tsx +5 -0
  241. package/src/List/List.spec.md +200 -0
  242. package/src/Markdown/Markdown.doc.mjs +272 -0
  243. package/src/Markdown/Markdown.fr23.bench.ts +174 -0
  244. package/src/Markdown/Markdown.fr23.perf.test.ts +249 -0
  245. package/src/Markdown/Markdown.fr23.sampling.ts +49 -0
  246. package/src/Markdown/Markdown.helpers.perf.test.ts +489 -0
  247. package/src/Markdown/Markdown.public.test.ts +126 -3
  248. package/src/Markdown/Markdown.spec.md +197 -44
  249. package/src/Markdown/Markdown.test.tsx +11 -0
  250. package/src/Markdown/Markdown.tsx +414 -135
  251. package/src/Markdown/ast.test.ts +307 -0
  252. package/src/Markdown/ast.ts +337 -0
  253. package/src/Markdown/incremental.test.ts +12 -0
  254. package/src/Markdown/index.ts +37 -1
  255. package/src/Markdown/modules/remark.spec.md +269 -0
  256. package/src/Markdown/parser/index.ts +64 -0
  257. package/src/Markdown/parser.public.test.ts +103 -0
  258. package/src/Markdown/parser.ts +1180 -235
  259. package/src/Markdown/plugins/frontmatter.test.tsx +125 -0
  260. package/src/Markdown/plugins/frontmatter.ts +198 -0
  261. package/src/Markdown/plugins/index.ts +53 -0
  262. package/src/Markdown/plugins/protocol.test.tsx +1022 -0
  263. package/src/Markdown/plugins/protocol.ts +1618 -0
  264. package/src/Markdown/plugins/semanticFence.test.tsx +546 -0
  265. package/src/Markdown/plugins/semanticFence.ts +424 -0
  266. package/src/Markdown/plugins/sourceDecoration.test.tsx +799 -0
  267. package/src/Markdown/plugins/sourceDecoration.ts +539 -0
  268. package/src/Markdown/plugins/textTransform.test.ts +467 -0
  269. package/src/Markdown/plugins/textTransform.ts +554 -0
  270. package/src/Markdown/remark.test.tsx +1877 -0
  271. package/src/Markdown/remark.ts +1574 -0
  272. package/src/Markdown/url.ts +30 -0
  273. package/src/Markdown/utils.ts +13 -1
  274. package/src/MultiSelector/MultiSelector.test.tsx +1 -35
  275. package/src/MultiSelector/__tests__/MultiSelector.listbox.a11y.test.tsx +128 -0
  276. package/src/NumberInput/NumberInput.tsx +6 -1
  277. package/src/Outline/Outline.doc.mjs +7 -5
  278. package/src/Outline/Outline.spec.md +1 -1
  279. package/src/Outline/index.ts +1 -0
  280. package/src/Outline/modules/parseOutlineFromMarkdown.spec.md +142 -0
  281. package/src/Outline/parseOutlineFromMarkdown.ts +40 -10
  282. package/src/Outline/useOutlineFromMarkdown.ts +15 -3
  283. package/src/PowerSearch/PowerSearch.doc.mjs +2 -2
  284. package/src/PowerSearch/PowerSearchEditPopover.test.tsx +150 -1
  285. package/src/PowerSearch/PowerSearchEditPopover.tsx +51 -28
  286. package/src/ProgressBar/ProgressBar.test.tsx +29 -11
  287. package/src/ProgressBar/ProgressBar.tsx +59 -72
  288. package/src/RadioList/RadioList.doc.mjs +11 -0
  289. package/src/RadioList/RadioList.test.tsx +32 -0
  290. package/src/RadioList/RadioListItem.tsx +25 -1
  291. package/src/SegmentedControl/SegmentedControl.doc.mjs +2 -2
  292. package/src/SegmentedControl/SegmentedControl.test.tsx +31 -0
  293. package/src/SegmentedControl/SegmentedControlItem.tsx +6 -9
  294. package/src/Selector/Selector.doc.mjs +2 -2
  295. package/src/Selector/Selector.spec.md +51 -49
  296. package/src/Selector/Selector.test.tsx +61 -55
  297. package/src/Selector/Selector.tsx +23 -14
  298. package/src/Selector/__tests__/Listbox.a11y.chromium.spec.ts +130 -0
  299. package/src/Selector/__tests__/Listbox.a11y.dom.ts +38 -0
  300. package/src/Selector/__tests__/Listbox.a11y.inventory.test.ts +63 -0
  301. package/src/Selector/__tests__/Listbox.a11y.known-failures.ts +37 -0
  302. package/src/Selector/__tests__/Listbox.a11y.states.ts +232 -0
  303. package/src/Selector/__tests__/Selector.listbox.a11y.test.tsx +121 -0
  304. package/src/SideNav/SideNav.doc.mjs +1 -1
  305. package/src/SideNav/SideNav.test.tsx +10 -0
  306. package/src/SideNav/SideNav.tsx +14 -2
  307. package/src/Slider/Slider.doc.mjs +17 -3
  308. package/src/Slider/Slider.test.tsx +221 -0
  309. package/src/Slider/Slider.tsx +40 -9
  310. package/src/Spinner/Spinner.test.tsx +4 -0
  311. package/src/Spinner/Spinner.tsx +31 -18
  312. package/src/Switch/Switch.doc.mjs +11 -0
  313. package/src/Switch/Switch.test.tsx +16 -0
  314. package/src/Switch/Switch.tsx +28 -0
  315. package/src/TabList/Tab.tsx +35 -7
  316. package/src/TabList/TabList.doc.mjs +11 -0
  317. package/src/TabList/TabList.spec.md +204 -0
  318. package/src/TabList/TabList.test.tsx +66 -0
  319. package/src/TabList/__tests__/Tabs.a11y.known-failures.ts +1 -34
  320. package/src/Table/Table.doc.mjs +1 -1
  321. package/src/Table/Table.spec.md +54 -40
  322. package/src/Table/Table.test.tsx +83 -10
  323. package/src/Table/Table.tsx +30 -22
  324. package/src/Table/__tests__/TableScroll.a11y.chromium.spec.ts +137 -0
  325. package/src/TextArea/TextArea.tsx +6 -1
  326. package/src/TextInput/TextInput.test.tsx +20 -1
  327. package/src/TextInput/TextInput.tsx +6 -1
  328. package/src/TimeInput/TimeInput.tsx +6 -1
  329. package/src/ToggleButton/ToggleButton.test.tsx +133 -0
  330. package/src/ToggleButton/ToggleButton.tsx +9 -2
  331. package/src/ToggleButton/__tests__/ToggleButton.a11y.chromium.spec.ts +209 -0
  332. package/src/Tokenizer/Tokenizer.spec.md +142 -75
  333. package/src/TreeList/TreeList.doc.mjs +3 -3
  334. package/src/TreeList/TreeList.spec.md +123 -75
  335. package/src/TreeList/TreeList.test.tsx +29 -0
  336. package/src/TreeList/TreeList.tsx +3 -0
  337. package/src/TreeList/TreeListItem.tsx +15 -1
  338. package/src/TreeList/TreeListTypes.ts +11 -1
  339. package/src/Typeahead/BaseTypeahead.spec.md +4 -3
  340. package/src/Typeahead/BaseTypeahead.tsx +21 -7
  341. package/src/Typeahead/Typeahead.test.tsx +53 -0
  342. package/src/__tests__/PressedState.a11y.chromium.spec.ts +813 -0
  343. package/src/__tests__/pressState.ts +93 -0
  344. package/src/inputFontFloor.test.ts +106 -0
  345. package/src/theme/generateThemeRules.test.ts +30 -0
  346. package/src/theme/generateThemeRules.ts +10 -0
  347. package/src/utils/interactionOverlay.stylex.ts +20 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA+B5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAI3B,6GAA6G;IAC7G,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,yHAAyH;IACzH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yGAAyG;IACzG,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gHAAgH;IAChH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iEAAiE;IACjE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CACnC;AA8MD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBA2MpD;yBA3Me,YAAY"}
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA+B5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAI3B,6GAA6G;IAC7G,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,yHAAyH;IACzH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yGAAyG;IACzG,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gHAAgH;IAChH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iEAAiE;IACjE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CACnC;AAmND;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAkNpD;yBAlNe,YAAY"}
@@ -150,14 +150,14 @@ export function ChatComposer(props) {
150
150
  }
151
151
  onChange?.(newValue);
152
152
  }, [isControlled, onChange]);
153
- const handleSubmit = useCallback(() => {
154
- const trimmed = currentValue.trim();
153
+ const handleSubmit = useCallback(value => {
154
+ const trimmed = value.trim();
155
155
  if (!trimmed || isDisabled) {
156
156
  return;
157
157
  }
158
158
  onSubmit(trimmed);
159
159
  updateValue('');
160
- }, [currentValue, isDisabled, onSubmit, updateValue]);
160
+ }, [isDisabled, onSubmit, updateValue]);
161
161
  const canSend = currentValue.trim().length > 0 && !isDisabled;
162
162
  const bodyRef = useRef(null);
163
163
 
@@ -289,8 +289,13 @@ export function ChatComposer(props) {
289
289
  children: footerActions
290
290
  }), /*#__PURE__*/_jsxs("div", {
291
291
  ...{
292
- className: "x78zum5 x6s0dn4 xzye2dw"
293
- },
292
+ 0: {
293
+ className: "x78zum5 x6s0dn4 xzye2dw"
294
+ },
295
+ 1: {
296
+ className: "x78zum5 x6s0dn4 xzye2dw x67bb7w"
297
+ }
298
+ }[!!(isDisabled && isStopShown) << 0],
294
299
  children: [sendActions, sendButton ?? /*#__PURE__*/_jsx(ChatSendButton, {})]
295
300
  })]
296
301
  })]
@@ -3,12 +3,16 @@
3
3
  * @input Uses React, StyleX, theme tokens
4
4
  * @output Exports ChatComposerDrawer component
5
5
  * @position Collapsible drawer panel for ChatComposer.
6
- * Supports expanded (full content) and collapsed (count + label) states
7
- * with fade animation and grid-template-rows height transition.
6
+ * Supports expanded (full content) and collapsed (default or caller-composed
7
+ * summary) states with fade animation and grid-template-rows height transition.
8
8
  * The collapse toggle exposes aria-expanded + aria-controls linking it to
9
9
  * the content region (disclosure pattern).
10
10
  *
11
11
  * SYNC: When modified, update:
12
+ * - /packages/core/src/Chat/ChatComposerDrawer.test.tsx
13
+ * - /packages/core/src/Chat/ChatComposerDrawer.doc.mjs
14
+ * - /packages/core/src/Chat/ChatComposerDrawer.spec.md
15
+ * - /apps/storybook/stories/ChatComposerDrawer.stories.tsx
12
16
  * - /packages/core/src/Chat/index.ts (exports)
13
17
  * - /packages/cli/assets/templates/blocks/components/ChatComposerDrawer/ (block examples)
14
18
  */
@@ -27,10 +31,18 @@ export interface ChatComposerDrawerProps extends BaseProps<HTMLDivElement> {
27
31
  */
28
32
  count?: number;
29
33
  /**
30
- * Label shown next to the count in collapsed state.
34
+ * Label shown next to the count in the default collapsed summary and used to
35
+ * name the expand/collapse action.
31
36
  * @default 'Items'
32
37
  */
33
38
  label?: string;
39
+ /**
40
+ * Visual content for the canonical Collapsed summary anatomy part. Replaces
41
+ * the complete default Badge and label when count enables collapse. The
42
+ * component keeps this content presentation-only and owns disclosure
43
+ * semantics and accessible naming.
44
+ */
45
+ collapsedSummary?: ReactNode;
34
46
  /**
35
47
  * Whether the drawer is collapsed.
36
48
  * Uncontrolled by default (internal toggle).
@@ -52,7 +64,9 @@ export interface ChatComposerDrawerProps extends BaseProps<HTMLDivElement> {
52
64
  * @example
53
65
  * ```
54
66
  * const styles = stylex.create({ wrapper: { marginTop: 8 } });
55
- * <ChatComposerDrawer xstyle={styles.wrapper} />
67
+ * <ChatComposerDrawer xstyle={styles.wrapper}>
68
+ * <AttachmentThumbnail />
69
+ * </ChatComposerDrawer>
56
70
  * ```
57
71
  */
58
72
  xstyle?: StyleXStyles;
@@ -72,7 +86,7 @@ export interface ChatComposerDrawerProps extends BaseProps<HTMLDivElement> {
72
86
  * </ChatComposerDrawer>
73
87
  * ```
74
88
  */
75
- export declare function ChatComposerDrawer({ ref, children, count, label: labelFromProps, isCollapsed: controlledCollapsed, defaultIsCollapsed, onCollapsedChange, xstyle, className, style, 'data-testid': testId, ...htmlProps }: ChatComposerDrawerProps): React.ReactElement;
89
+ export declare function ChatComposerDrawer({ ref, children, count, label: labelFromProps, collapsedSummary, isCollapsed: controlledCollapsed, defaultIsCollapsed, onCollapsedChange, xstyle, className, style, 'data-testid': testId, ...htmlProps }: ChatComposerDrawerProps): React.ReactElement;
76
90
  export declare namespace ChatComposerDrawer {
77
91
  var displayName: string;
78
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposerDrawer.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposerDrawer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAYnD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAI5C,MAAM,WAAW,uBAAwB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACxE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAmID;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,QAAQ,EACR,KAAK,EACL,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,mBAAmB,EAChC,kBAA0B,EAC1B,iBAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CA6F9C;yBA1Ge,kBAAkB"}
1
+ {"version":3,"file":"ChatComposerDrawer.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposerDrawer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAYnD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAK5C,MAAM,WAAW,uBAAwB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACxE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAoID;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,QAAQ,EACR,KAAK,EACL,KAAK,EAAE,cAAc,EACrB,gBAAgB,EAChB,WAAW,EAAE,mBAAmB,EAChC,kBAA0B,EAC1B,iBAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAyG9C;yBAvHe,kBAAkB"}
@@ -7,12 +7,16 @@
7
7
  * @input Uses React, StyleX, theme tokens
8
8
  * @output Exports ChatComposerDrawer component
9
9
  * @position Collapsible drawer panel for ChatComposer.
10
- * Supports expanded (full content) and collapsed (count + label) states
11
- * with fade animation and grid-template-rows height transition.
10
+ * Supports expanded (full content) and collapsed (default or caller-composed
11
+ * summary) states with fade animation and grid-template-rows height transition.
12
12
  * The collapse toggle exposes aria-expanded + aria-controls linking it to
13
13
  * the content region (disclosure pattern).
14
14
  *
15
15
  * SYNC: When modified, update:
16
+ * - /packages/core/src/Chat/ChatComposerDrawer.test.tsx
17
+ * - /packages/core/src/Chat/ChatComposerDrawer.doc.mjs
18
+ * - /packages/core/src/Chat/ChatComposerDrawer.spec.md
19
+ * - /apps/storybook/stories/ChatComposerDrawer.stories.tsx
16
20
  * - /packages/core/src/Chat/index.ts (exports)
17
21
  * - /packages/cli/assets/templates/blocks/components/ChatComposerDrawer/ (block examples)
18
22
  */
@@ -23,8 +27,9 @@ import { colorVars, spacingVars, radiusVars, durationVars, easeVars, typeScaleVa
23
27
  import { Badge } from "../Badge/index.js";
24
28
  import { mergeProps } from "../utils/index.js";
25
29
  import { themeProps } from "../utils/themeProps.js";
30
+ import { focusOutlineProps } from "../utils/focusOutline.stylex.js";
26
31
  import { useTranslator } from "../i18n/index.js";
27
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
32
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
28
33
  const styles = {
29
34
  root: {
30
35
  kVAEAm: "x1n2onr6",
@@ -41,6 +46,20 @@ const styles = {
41
46
  krdFHd: "x1n70msy",
42
47
  kfmiAY: "xg0tfu",
43
48
  $$css: true
49
+ },
50
+ toggleRow: {
51
+ k1xSpc: "xrvj5dj",
52
+ kumcoG: "x1y6fwsi",
53
+ kGNEyG: "x6s0dn4",
54
+ kZKoxP: "x1grt7ep",
55
+ kg3NbH: "x1pzlopt",
56
+ kUOVxO: "x1ng9b9t",
57
+ kkrTdU: "x1ypdohk x16khyan",
58
+ kfSwDN: "x87ps6o",
59
+ $$css: true
60
+ },
61
+ toggleCollapsed: {
62
+ $$css: true
44
63
  }
45
64
  };
46
65
 
@@ -61,6 +80,7 @@ export function ChatComposerDrawer({
61
80
  children,
62
81
  count,
63
82
  label: labelFromProps,
83
+ collapsedSummary,
64
84
  isCollapsed: controlledCollapsed,
65
85
  defaultIsCollapsed = false,
66
86
  onCollapsedChange,
@@ -97,14 +117,10 @@ export function ChatComposerDrawer({
97
117
  }), stylex.props(styles.root, xstyle), className, style),
98
118
  ...htmlProps,
99
119
  children: [canCollapse && /*#__PURE__*/_jsxs("div", {
100
- ...{
101
- 0: {
102
- className: "xrvj5dj x1y6fwsi x6s0dn4 x1grt7ep x1pzlopt x1ng9b9t x1ypdohk x16khyan x87ps6o x-default-marker"
103
- },
104
- 1: {
105
- className: "xrvj5dj x1y6fwsi x6s0dn4 x1grt7ep x1pzlopt x1ng9b9t x1ypdohk x16khyan x87ps6o x-default-marker"
106
- }
107
- }[!!isCollapsed << 0],
120
+ ...focusOutlineProps.focusVisible(styles.toggleRow, isCollapsed && styles.toggleCollapsed, {
121
+ "x-default-marker": "x-default-marker",
122
+ $$css: true
123
+ }),
108
124
  role: "button",
109
125
  tabIndex: 0,
110
126
  "aria-expanded": !isCollapsed,
@@ -121,24 +137,28 @@ export function ChatComposerDrawer({
121
137
  toggle();
122
138
  }
123
139
  },
124
- children: [/*#__PURE__*/_jsxs("div", {
140
+ children: [/*#__PURE__*/_jsx("div", {
141
+ "aria-hidden": "true",
142
+ inert: true,
125
143
  ...{
126
144
  0: {
127
- className: "x1ms6mhf xgkxs2y x1lqcxt8 x3nfvp2 x6s0dn4 x1grt7ep x1txdalj xjspbzw x1hc1fzr x19991ni xuedmi6 xlr8y92"
145
+ className: "x1ms6mhf xgkxs2y x1lqcxt8 x3nfvp2 x6s0dn4 x47corl x1grt7ep x1txdalj xjspbzw x1hc1fzr x19991ni xuedmi6 xlr8y92"
128
146
  },
129
147
  1: {
130
148
  className: "x1ms6mhf xgkxs2y x1lqcxt8 x3nfvp2 x6s0dn4 x1grt7ep x1txdalj xjspbzw x19991ni xuedmi6 xlr8y92 xg01cxk x47corl"
131
149
  }
132
150
  }[!!!isCollapsed << 0],
133
- children: [/*#__PURE__*/_jsx(Badge, {
134
- variant: "neutral",
135
- label: count
136
- }), /*#__PURE__*/_jsx("span", {
137
- ...{
138
- className: "xv1l7n4 x1t9gxa6 xjm74w1 x7acx1w xt3l3uh xuedmi6 xlr8y92"
139
- },
140
- children: label
141
- })]
151
+ children: collapsedSummary === undefined ? /*#__PURE__*/_jsxs(_Fragment, {
152
+ children: [/*#__PURE__*/_jsx(Badge, {
153
+ variant: "neutral",
154
+ label: count
155
+ }), /*#__PURE__*/_jsx("span", {
156
+ ...{
157
+ className: "xv1l7n4 x1t9gxa6 xjm74w1 x7acx1w xt3l3uh xuedmi6 xlr8y92"
158
+ },
159
+ children: label
160
+ })]
161
+ }) : collapsedSummary
142
162
  }), /*#__PURE__*/_jsx("div", {
143
163
  ...{
144
164
  0: {
@@ -150,7 +170,12 @@ export function ChatComposerDrawer({
150
170
  }[!!isCollapsed << 0]
151
171
  })]
152
172
  }), /*#__PURE__*/_jsx("div", {
153
- id: contentId,
173
+ id: contentId
174
+ // The 0fr row keeps the collapse animation in place. `inert` also
175
+ // removes visually hidden descendants from keyboard and assistive-
176
+ // technology navigation until the drawer expands again.
177
+ ,
178
+ inert: canCollapse && isCollapsed ? true : undefined,
154
179
  ...{
155
180
  0: {
156
181
  className: "xrvj5dj x1tu4anv x1qn9uv2 x80gvsz xlr8y92"
@@ -14,6 +14,10 @@
14
14
  *
15
15
  *
16
16
  * SYNC: When modified, update:
17
+ * - /packages/core/src/Chat/ChatComposerInput.test.tsx
18
+ * - /packages/core/src/Chat/ChatComposerInput.doc.mjs
19
+ * - /packages/core/src/Chat/ChatComposerInput.spec.md
20
+ * - /apps/storybook/stories/ChatComposerInput.stories.tsx
17
21
  * - /packages/core/src/Chat/index.ts
18
22
  * - /apps/storybook/stories/ChatComposer.stories.tsx
19
23
  * - /packages/cli/assets/templates/blocks/components/ChatComposerInput/ (block examples)
@@ -58,6 +62,12 @@ export type ChatComposerTokenCustom = {
58
62
  * Use for tooltips, hovercards, or any content beyond a badge.
59
63
  */
60
64
  export type ChatComposerToken = ChatComposerTokenBadge | ChatComposerTokenCustom;
65
+ export interface ChatComposerTokenElementProps extends BaseProps<HTMLSpanElement> {
66
+ /** Ref forwarded to the token wrapper. */
67
+ ref?: React.Ref<HTMLSpanElement>;
68
+ /** Token rendered as a Badge or by its custom render function. */
69
+ token: ChatComposerToken;
70
+ }
61
71
  export type ChatComposerTriggerItem = SearchableItem;
62
72
  export type ChatComposerTrigger = {
63
73
  /** Character that activates this trigger menu (e.g. '@', '/') */
@@ -159,9 +169,7 @@ export declare function ChatComposerInput(props: ChatComposerInputProps): import
159
169
  export declare namespace ChatComposerInput {
160
170
  var displayName: string;
161
171
  }
162
- export declare function ChatComposerTokenElement({ token }: {
163
- token: ChatComposerToken;
164
- }): import("react").JSX.Element;
172
+ export declare function ChatComposerTokenElement(props: ChatComposerTokenElementProps): import("react").JSX.Element;
165
173
  export declare namespace ChatComposerTokenElement {
166
174
  var displayName: string;
167
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposerInput.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposerInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatComposerInput.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposerInput.tsx"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@
18
18
  *
19
19
  *
20
20
  * SYNC: When modified, update:
21
+ * - /packages/core/src/Chat/ChatComposerInput.test.tsx
22
+ * - /packages/core/src/Chat/ChatComposerInput.doc.mjs
23
+ * - /packages/core/src/Chat/ChatComposerInput.spec.md
24
+ * - /apps/storybook/stories/ChatComposerInput.stories.tsx
21
25
  * - /packages/core/src/Chat/index.ts
22
26
  * - /apps/storybook/stories/ChatComposer.stories.tsx
23
27
  * - /packages/cli/assets/templates/blocks/components/ChatComposerInput/ (block examples)
@@ -75,6 +79,11 @@ const styles = {
75
79
  kSiTet: "xbyyjgo",
76
80
  kfzvcC: "x47corl",
77
81
  $$css: true
82
+ },
83
+ tokenSpan: {
84
+ k1xSpc: "x3nfvp2",
85
+ kXLuUW: "xxymvpz",
86
+ $$css: true
78
87
  }
79
88
  };
80
89
 
@@ -303,6 +312,7 @@ export function ChatComposerInput(props) {
303
312
  }
304
313
  }, [controlledValue]);
305
314
  const cleanupPortalsRef = useRef(null);
315
+ const emitChangeVersionRef = useRef(0);
306
316
  const emitChange = useCallback(() => {
307
317
  if (!editableRef.current) {
308
318
  return;
@@ -315,6 +325,7 @@ export function ChatComposerInput(props) {
315
325
  const nextValue = trimmedEmpty ? '' : text;
316
326
  pendingEchoValueRef.current = nextValue;
317
327
  setIsEmpty(trimmedEmpty);
328
+ emitChangeVersionRef.current += 1;
318
329
  onChange?.(nextValue);
319
330
  cleanupPortalsRef.current?.();
320
331
  }, [onChange]);
@@ -331,13 +342,17 @@ export function ChatComposerInput(props) {
331
342
  inputRef: selfRef
332
343
  });
333
344
  const pasteAsToken = pasteAsTokenProp === false ? null : pasteAsTokenProp ?? defaultPasteAsToken;
334
- const insertText = useCallback(text => {
345
+ const insertTextWithoutEmit = useCallback(text => {
335
346
  const editable = editableRef.current;
336
347
  if (!editable) {
337
348
  return;
338
349
  }
339
350
  insertTextAtCursor(editable, text);
340
351
  }, []);
352
+ const insertText = useCallback(text => {
353
+ insertTextWithoutEmit(text);
354
+ emitChange();
355
+ }, [emitChange, insertTextWithoutEmit]);
341
356
 
342
357
  // Keep stable refs in sync for imperative handle
343
358
  insertTokenRef.current = tokens.insertToken;
@@ -348,7 +363,7 @@ export function ChatComposerInput(props) {
348
363
  triggers,
349
364
  editableRef,
350
365
  onInsertToken: tokens.insertToken,
351
- onInsertText: insertText,
366
+ onInsertText: insertTextWithoutEmit,
352
367
  onEmitChange: emitChange,
353
368
  debounceMs
354
369
  });
@@ -513,21 +528,44 @@ export function ChatComposerInput(props) {
513
528
  e.preventDefault();
514
529
  const text = e.clipboardData.getData('text/plain');
515
530
 
516
- // Paste-as-token: convert long pastes to token chips
517
- if (pasteAsToken?.onPaste(e, text)) {
518
- emitChange();
531
+ // Consumer onPaste gets first refusal over plain text. Return true after
532
+ // handling it so the built-in insertion paths do not run. A consumer may
533
+ // use the observable imperative handle while handling the event; emit only
534
+ // if that path did not already publish the change.
535
+ const versionBeforeConsumer = emitChangeVersionRef.current;
536
+ const handled = onPasteProp?.(e, text);
537
+ if (handled) {
538
+ if (emitChangeVersionRef.current === versionBeforeConsumer) {
539
+ emitChange();
540
+ }
519
541
  return;
520
542
  }
521
543
 
522
- // Consumer onPaste — return true to prevent default text insert
523
- const handled = onPasteProp?.(e, text);
524
- if (handled) {
544
+ // Paste-as-token: convert long pastes to token chips.
545
+ if (pasteAsToken?.onPaste(e, text)) {
525
546
  emitChange();
526
547
  return;
527
548
  }
528
549
  insertTextAtCursor(editable, text);
529
550
  emitChange();
530
551
  }, [onFiles, onPasteProp, emitChange, tokens, pasteAsToken]);
552
+ const handleDragOver = useCallback(e => {
553
+ if (Array.from(e.dataTransfer.types).includes('Files')) {
554
+ e.preventDefault();
555
+ }
556
+ }, []);
557
+ const handleDrop = useCallback(e => {
558
+ const files = Array.from(e.dataTransfer.files);
559
+ if (files.length === 0) {
560
+ return;
561
+ }
562
+ // File drops navigate the page by default. The input owns that drop
563
+ // target even when no callback is supplied, so keep the user in place.
564
+ e.preventDefault();
565
+ if (!isDisabled) {
566
+ onFiles?.(files);
567
+ }
568
+ }, [isDisabled, onFiles]);
531
569
  const maxHeight = maxRows * LINE_HEIGHT_PX;
532
570
  return /*#__PURE__*/_jsxs("div", {
533
571
  ref: ref,
@@ -535,7 +573,7 @@ export function ChatComposerInput(props) {
535
573
  ...rest,
536
574
  children: [isEmpty && /*#__PURE__*/_jsx("div", {
537
575
  ...{
538
- className: "x10l6tqk x13vifvy x1o0tod xtijo5x x47corl xv1l7n4 xjm74w1 x6pjikd x19v9tvf x9ynric x87ps6o x9epnlk"
576
+ className: "x10l6tqk x13vifvy x1o0tod xtijo5x x47corl xv1l7n4 xjm74w1 xf9zqsd x19v9tvf x9ynric x87ps6o x9epnlk"
539
577
  },
540
578
  "aria-hidden": "true",
541
579
  children: placeholder
@@ -547,9 +585,12 @@ export function ChatComposerInput(props) {
547
585
  onInput: handleInput,
548
586
  onKeyDown: handleKeyDown,
549
587
  onPaste: handlePaste,
588
+ onDragOver: handleDragOver,
589
+ onDrop: handleDrop,
550
590
  ...triggerMenu.ariaProps,
591
+ "aria-disabled": isDisabled || undefined,
551
592
  ...mergeProps({
552
- className: "x1a2a7pz x126k92a x13faqbe x1odjw0f xjm74w1 x6pjikd x19v9tvf x9ynric x1tgivj0 xxugrtn x9epnlk"
593
+ className: "x1a2a7pz x126k92a x13faqbe x1odjw0f xjm74w1 xf9zqsd x19v9tvf x9ynric x1tgivj0 xxugrtn x9epnlk"
553
594
  }, {
554
595
  style: {
555
596
  maxHeight: `${maxHeight}px`
@@ -579,16 +620,22 @@ ChatComposerInput.displayName = 'ChatComposerInput';
579
620
  // Token element helper (for custom rendering in stories/consumers)
580
621
  // =============================================================================
581
622
 
582
- export function ChatComposerTokenElement({
583
- token
584
- }) {
623
+ export function ChatComposerTokenElement(props) {
624
+ const {
625
+ token,
626
+ ref,
627
+ xstyle,
628
+ className,
629
+ style,
630
+ ...rest
631
+ } = props;
585
632
  return /*#__PURE__*/_jsx("span", {
633
+ ref: ref,
634
+ ...mergeProps(stylex.props(styles.tokenSpan, xstyle), className, style),
635
+ ...rest,
586
636
  "data-astryx-token": "",
587
637
  "data-astryx-token-value": token.value,
588
638
  contentEditable: false,
589
- ...{
590
- className: "x3nfvp2 xxymvpz"
591
- },
592
639
  children: isCustomToken(token) ? token.render() : /*#__PURE__*/_jsx(Badge, {
593
640
  label: token.label,
594
641
  variant: token.variant,
@@ -7,7 +7,8 @@
7
7
  * A toggle button that connects to useChatDictation. Shows a microphone
8
8
  * icon when idle. When listening, replaces the icon with volume-reactive
9
9
  * frequency bars (equalizer style) that respond to real mic input.
10
- * Bars use the accent color and hue-shift when volume clips past 10%.
10
+ * Bars use the accent color and blend toward the semantic error color when
11
+ * volume clips past 20%.
11
12
  *
12
13
  * SYNC: When modified, update:
13
14
  * - /packages/core/src/Chat/index.ts (exports)
@@ -22,7 +23,7 @@ export interface ChatDictationButtonProps extends BaseProps<HTMLSpanElement> {
22
23
  dictation: UseSpeechRecognitionReturn;
23
24
  /** Button size. @default "md" */
24
25
  size?: 'sm' | 'md';
25
- /** Hide the button when SpeechRecognition is not supported. @default true */
26
+ /** Hide the button when SpeechRecognition is unsupported. When false, the unsupported button remains visible but disabled. @default true */
26
27
  isHiddenWhenUnsupported?: boolean;
27
28
  /** Accessible label override. */
28
29
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatDictationButton.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatDictationButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAMvE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAQ5C,MAAM,WAAW,wBAAyB,SAAQ,SAAS,CAAC,eAAe,CAAC;IAC1E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC,sEAAsE;IACtE,SAAS,EAAE,0BAA0B,CAAC;IACtC,iCAAiC;IACjC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiDD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,SAAS,EACT,IAAW,EACX,uBAA8B,EAC9B,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,wBAAwB,4BAyE1B;yBAnFe,mBAAmB"}
1
+ {"version":3,"file":"ChatDictationButton.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatDictationButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAMvE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAQ5C,MAAM,WAAW,wBAAyB,SAAQ,SAAS,CAAC,eAAe,CAAC;IAC1E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC,sEAAsE;IACtE,SAAS,EAAE,0BAA0B,CAAC;IACtC,iCAAiC;IACjC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,4IAA4I;IAC5I,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiDD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,SAAS,EACT,IAAW,EACX,uBAA8B,EAC9B,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,wBAAwB,4BA0E1B;yBApFe,mBAAmB"}
@@ -11,7 +11,8 @@
11
11
  * A toggle button that connects to useChatDictation. Shows a microphone
12
12
  * icon when idle. When listening, replaces the icon with volume-reactive
13
13
  * frequency bars (equalizer style) that respond to real mic input.
14
- * Bars use the accent color and hue-shift when volume clips past 10%.
14
+ * Bars use the accent color and blend toward the semantic error color when
15
+ * volume clips past 20%.
15
16
  *
16
17
  * SYNC: When modified, update:
17
18
  * - /packages/core/src/Chat/index.ts (exports)
@@ -102,10 +103,10 @@ export function ChatDictationButton({
102
103
  // Boost each band for visibility — quiet speech (0-10%) maps to full visual range
103
104
  const boostedBands = bands.map(b => Math.min(Math.pow(b / 0.2, 0.5), 1));
104
105
 
105
- // Hue shift from accent color when volume clips past 10%
106
+ // Blend toward the theme's semantic error color as clipping increases.
106
107
  const isClipping = rawVolume >= 0.2;
107
- const hueShift = isClipping ? Math.min((rawVolume - 0.2) / 0.1, 1) * 60 : 0;
108
- const barColor = isClipping ? `hsl(calc(var(--accent-hue, 210) + ${hueShift}), 80%, 50%)` : `var(--color-accent, ${colorVars['--color-accent']})`;
108
+ const clippingStrength = Math.min((rawVolume - 0.2) / 0.1, 1) * 100;
109
+ const barColor = isClipping ? `color-mix(in srgb, ${colorVars['--color-accent']}, ${colorVars['--color-error']} ${clippingStrength}%)` : colorVars['--color-accent'];
109
110
  const {
110
111
  barWidth,
111
112
  barGap,
@@ -150,6 +151,7 @@ export function ChatDictationButton({
150
151
  size: size
151
152
  }),
152
153
  isIconOnly: true,
154
+ isDisabled: !dictation.isSupported,
153
155
  onClick: dictation.toggle
154
156
  })]
155
157
  });
@@ -73,7 +73,7 @@ export function ChatSendButton(props) {
73
73
  ref,
74
74
  ...rest
75
75
  } = props;
76
- const handleSend = onSend ?? (() => context?.onSubmit(''));
76
+ const handleSend = onSend ?? (() => context?.onSubmit(context.value));
77
77
  const defaultStopIcon = useIcon('stop');
78
78
  const defaultSendIcon = useIcon('arrowUp');
79
79
  return /*#__PURE__*/_jsx(Button, {
@@ -10,7 +10,7 @@ export type { ChatSendButtonProps } from './ChatSendButton';
10
10
  export { ChatComposerDrawer } from './ChatComposerDrawer';
11
11
  export type { ChatComposerDrawerProps } from './ChatComposerDrawer';
12
12
  export { ChatComposerInput, ChatComposerTokenElement } from './ChatComposerInput';
13
- export type { ChatComposerInputProps, ChatComposerInputHandle, ChatComposerToken, ChatComposerTrigger, ChatComposerTriggerItem, } from './ChatComposerInput';
13
+ export type { ChatComposerInputProps, ChatComposerInputHandle, ChatComposerTokenElementProps, ChatComposerToken, ChatComposerTrigger, ChatComposerTriggerItem, } from './ChatComposerInput';
14
14
  export { ChatTokenizedText } from './ChatTokenizedText';
15
15
  export type { ChatTokenizedTextProps } from './ChatTokenizedText';
16
16
  export { ChatMessageList } from './ChatMessageList';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAS3C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAqEhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,wDAAwD;IACxD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,IAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,kBAAkB,EAAE,mBAAmB,EACvC,GAAG,IAAI,EACR,EAAE,kBAAkB,+BAqNpB;yBA/Oe,aAAa"}
1
+ {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAS3C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAqFhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,wDAAwD;IACxD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,IAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,kBAAkB,EAAE,mBAAmB,EACvC,GAAG,IAAI,EACR,EAAE,kBAAkB,+BAyNpB;yBAnPe,aAAa"}
@@ -18,12 +18,13 @@
18
18
  import { useId, useCallback, use, useOptimistic, useRef, useTransition } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
20
20
  import "../theme/tokens.stylex.js";
21
- import { colorVars, spacingVars, typographyVars, typeScaleVars, fontWeightVars } from "../theme/tokens.stylex.js";
21
+ import { colorVars, spacingVars, radiusVars, typographyVars, typeScaleVars, fontWeightVars } from "../theme/tokens.stylex.js";
22
22
  import { FieldLabel } from "../Field/FieldLabel.js";
23
23
  import { FieldStatus } from "../FieldStatus/FieldStatus.js";
24
24
  import { Spinner } from "../Spinner/index.js";
25
25
  import { useTooltip } from "../Tooltip/index.js";
26
26
  import { mergeProps, rtlStyles } from "../utils/index.js";
27
+ import "../Indicator/indicator.markers.stylex.js";
27
28
  import { indicatorScope } from "../Indicator/indicator.markers.stylex.js";
28
29
  import { useIndicatorFocusRing } from "../hooks/useIndicatorFocusRing.js";
29
30
  import { useResolvedRequired } from "../hooks/useResolvedRequired.js";
@@ -52,6 +53,15 @@ const styles = {
52
53
  kHBbk8: "xc8icb0",
53
54
  $$css: true
54
55
  },
56
+ indicatorPressOverlay: {
57
+ k5JduY: "x1s928wv",
58
+ kwXMNM: "x1j6awrg",
59
+ kv0HGH: "xarstr8",
60
+ kUfP38: "xtb6wbx",
61
+ kloYau: "x2q1x1w",
62
+ ks3ayO: "xyhc2n1 xzywxsk",
63
+ $$css: true
64
+ },
55
65
  input: {
56
66
  kVAEAm: "x10l6tqk",
57
67
  k87sOh: "xwa60dl",
@@ -236,7 +246,7 @@ export function CheckboxInput({
236
246
  // marker rather than props, so the whole row drives it.
237
247
  !isDisabled && indicatorScope),
238
248
  children: [/*#__PURE__*/_jsxs("div", {
239
- ...stylex.props(styles.checkboxWrapper, wrapperSizeStyles[size]),
249
+ ...stylex.props(styles.checkboxWrapper, wrapperSizeStyles[size], !isDisabled && styles.indicatorPressOverlay),
240
250
  ...focusProps,
241
251
  children: [/*#__PURE__*/_jsx("input", {
242
252
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../src/Collapsible/Collapsible.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAejD,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,2BAA2B,CAAC;AAG1E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA0J5C,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAE7C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAM,EAAE,gBAAgB,EACxB,UAAkB,EAClB,YAAY,EACZ,eAAe,EACf,KAAK,EACL,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,+BA0HlB;yBAxIe,WAAW"}
1
+ {"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../src/Collapsible/Collapsible.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAejD,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,2BAA2B,CAAC;AAG1E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA2J5C,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAE7C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAM,EAAE,gBAAgB,EACxB,UAAkB,EAClB,YAAY,EACZ,eAAe,EACf,KAAK,EACL,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,+BA8HlB;yBA5Ie,WAAW"}
@@ -36,6 +36,7 @@ import { Icon } from "../Icon/index.js";
36
36
  import { mergeProps } from "../utils/index.js";
37
37
  import { themeProps } from "../utils/themeProps.js";
38
38
  import { focusOutlineProps } from "../utils/focusOutline.stylex.js";
39
+ import { interactionOverlayStyles } from "../utils/interactionOverlay.stylex.js";
39
40
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
40
41
  const styles = {
41
42
  root: {
@@ -282,7 +283,11 @@ export function Collapsible({
282
283
  tabIndex: isDisabled ? -1 : undefined,
283
284
  ...mergeProps(themeProps('collapsible-trigger', {
284
285
  density: density ?? undefined
285
- }), focusOutlineProps.focusVisible(styles.trigger, density != null && triggerDensity[density], isDisabled && styles.triggerDisabled)),
286
+ }), focusOutlineProps.focusVisible(styles.trigger, density != null && triggerDensity[density],
287
+ // The system's pressed overlay on the disclosure row. The trigger
288
+ // has no hover surface of its own, so this is the one background
289
+ // it paints, and only while it is pressed.
290
+ !isDisabled && interactionOverlayStyles.pressedBackgroundColor, isDisabled && styles.triggerDisabled)),
286
291
  children: [isChevronAtStart && chevron, /*#__PURE__*/_jsx("span", {
287
292
  ...{
288
293
  className: "x1b2iylo xwgcxoh x1iyjqo2"