@lostgradient/cinder 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +2 -2
  3. package/components.json +59 -15
  4. package/dist/components/_internal/command-list-context.d.ts +3 -3
  5. package/dist/components/_internal/create-command-list-state.svelte.d.ts +11 -11
  6. package/dist/components/access-gate/index.js +201 -126
  7. package/dist/components/approval-card/approval-card-actions.svelte.d.ts +16 -0
  8. package/dist/components/approval-card/approval-card-state.d.ts +65 -0
  9. package/dist/components/approval-card/approval-card.css +269 -92
  10. package/dist/components/approval-card/approval-card.schema.js +10 -31
  11. package/dist/components/approval-card/approval-card.svelte.d.ts +3 -3
  12. package/dist/components/approval-card/approval-card.types.d.ts +14 -28
  13. package/dist/components/approval-card/index.d.ts +1 -1
  14. package/dist/components/approval-card/index.js +4268 -2884
  15. package/dist/components/card/card.css +5 -0
  16. package/dist/components/card/card.schema.js +2 -2
  17. package/dist/components/card/card.types.d.ts +2 -2
  18. package/dist/components/card/index.js +2 -1
  19. package/dist/components/chat/chat.schema.js +44 -2
  20. package/dist/components/chat/chat.svelte.d.ts +4 -2
  21. package/dist/components/chat/chat.types.d.ts +34 -3
  22. package/dist/components/chat/container/chat.svelte.d.ts +4 -2
  23. package/dist/components/chat/index.d.ts +3 -3
  24. package/dist/components/chat/index.js +2485 -6279
  25. package/dist/components/chat/input/chat-attachment-serialization.d.ts +9 -0
  26. package/dist/components/chat/input/chat-input.svelte.d.ts +22 -1
  27. package/dist/components/chat/input/index.d.ts +1 -0
  28. package/dist/components/chat-composer-popover/chat-composer-popover-filter.d.ts +11 -0
  29. package/dist/components/chat-composer-popover/chat-composer-popover.css +7 -0
  30. package/dist/components/chat-composer-popover/chat-composer-popover.css.d.ts +1 -0
  31. package/dist/components/chat-composer-popover/chat-composer-popover.schema.d.ts +3 -0
  32. package/dist/components/chat-composer-popover/chat-composer-popover.schema.js +150 -0
  33. package/dist/components/chat-composer-popover/chat-composer-popover.svelte.d.ts +46 -0
  34. package/dist/components/chat-composer-popover/chat-composer-popover.types.d.ts +77 -0
  35. package/dist/components/chat-composer-popover/chat-composer-popover.variables.d.ts +2 -0
  36. package/dist/components/chat-composer-popover/chat-composer-popover.variables.js +61 -0
  37. package/dist/components/chat-composer-popover/index.d.ts +6 -0
  38. package/dist/components/chat-composer-popover/index.js +3285 -0
  39. package/dist/components/chat-conversation-header/index.js +1627 -5600
  40. package/dist/components/chat-conversation-list/index.js +15 -3988
  41. package/dist/components/code-block/code-block.schema.js +5 -1
  42. package/dist/components/code-block/code-block.types.d.ts +6 -0
  43. package/dist/components/code-block/index.js +4 -4
  44. package/dist/components/command-item/index.js +7 -6
  45. package/dist/components/command-menu/command-menu.schema.js +5 -1
  46. package/dist/components/command-menu/command-menu.types.d.ts +2 -0
  47. package/dist/components/command-menu/index.js +48 -19
  48. package/dist/components/command-palette/index.js +40 -14
  49. package/dist/components/event-stream-viewer/index.js +44 -44
  50. package/dist/components/experimental/json-viewer/index.js +44 -44
  51. package/dist/components/json-schema-editor/index.js +5 -2
  52. package/dist/components/json-viewer/index.js +44 -44
  53. package/dist/components/json-viewer/json-viewer.css +10 -6
  54. package/dist/components/payload-inspector/index.d.ts +1 -1
  55. package/dist/components/payload-inspector/index.js +306 -1422
  56. package/dist/components/payload-inspector/payload-inspector.css +15 -75
  57. package/dist/components/payload-inspector/payload-inspector.schema.js +5 -41
  58. package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +5 -5
  59. package/dist/components/payload-inspector/payload-inspector.types.d.ts +10 -56
  60. package/dist/components/tab/index.js +5 -2
  61. package/dist/components/tab/tab.schema.js +7 -3
  62. package/dist/components/tab/tab.svelte.d.ts +2 -1
  63. package/dist/components/tab/tab.types.d.ts +8 -2
  64. package/dist/components/tabs/index.js +5 -2
  65. package/dist/components/team-section/index.js +2 -1
  66. package/dist/components/testimonial-section/index.js +2 -1
  67. package/dist/index.d.ts +4 -2
  68. package/dist/index.js +23711 -27432
  69. package/dist/server/components/access-gate/index.js +2 -1
  70. package/dist/server/components/accordion/index.js +2 -2
  71. package/dist/server/components/alert-dialog/index.js +2 -2
  72. package/dist/server/components/approval-card/index.js +15 -19
  73. package/dist/server/components/autocomplete/index.js +7 -7
  74. package/dist/server/components/avatar-group/index.js +5 -5
  75. package/dist/server/components/button-group/index.js +3 -5
  76. package/dist/server/components/card/index.js +2 -2
  77. package/dist/server/components/chat/index.js +14 -11
  78. package/dist/server/components/chat-composer-popover/index.js +26 -0
  79. package/dist/server/components/chat-conversation-header/index.js +9 -10
  80. package/dist/server/components/chat-conversation-list/index.js +4 -5
  81. package/dist/server/components/checkbox/index.js +3 -3
  82. package/dist/server/components/choice-grid/index.js +2 -2
  83. package/dist/server/components/code-block/index.js +2 -2
  84. package/dist/server/components/color-field/index.js +3 -3
  85. package/dist/server/components/combobox/index.js +6 -6
  86. package/dist/server/components/command-item/index.js +5 -3
  87. package/dist/server/components/command-menu/index.js +6 -4
  88. package/dist/server/components/command-palette/index.js +2 -2
  89. package/dist/server/components/confirm-dialog/index.js +2 -2
  90. package/dist/server/components/context-menu/index.js +5 -5
  91. package/dist/server/components/data-table/index.js +5 -5
  92. package/dist/server/components/date-picker/index.js +6 -6
  93. package/dist/server/components/date-range-field/index.js +7 -7
  94. package/dist/server/components/description-list/index.js +3 -5
  95. package/dist/server/components/diff-viewer/index.js +7 -7
  96. package/dist/server/components/drawer/index.js +3 -3
  97. package/dist/server/components/dropdown/index.js +4 -4
  98. package/dist/server/components/event-stream-viewer/index.js +2 -2
  99. package/dist/server/components/experimental/json-viewer/index.js +2 -2
  100. package/dist/server/components/faceted-filter-bar/index.js +1 -1
  101. package/dist/server/components/hover-card/index.js +1 -1
  102. package/dist/server/components/input/index.js +3 -3
  103. package/dist/server/components/json-schema-editor/index.js +22 -22
  104. package/dist/server/components/json-viewer/index.js +2 -2
  105. package/dist/server/components/markdown-editor/index.js +13 -13
  106. package/dist/server/components/modal/index.js +1 -1
  107. package/dist/server/components/multi-select/index.js +1 -1
  108. package/dist/server/components/newsletter-section/index.js +3 -3
  109. package/dist/server/components/payload-inspector/index.js +4 -16
  110. package/dist/server/components/popover/index.js +5 -5
  111. package/dist/server/components/review-editor/index.js +25 -25
  112. package/dist/server/components/run-step-timeline/index.js +2 -2
  113. package/dist/server/components/schema-form/index.js +4 -4
  114. package/dist/server/components/secret-value-field/index.js +3 -5
  115. package/dist/server/components/segment/index.js +3 -3
  116. package/dist/server/components/segmented-control/index.js +4 -4
  117. package/dist/server/components/selection-popover/index.js +4 -4
  118. package/dist/server/components/sheet/index.js +2 -2
  119. package/dist/server/components/sidebar/index.js +3 -3
  120. package/dist/server/components/tab/index.js +2 -2
  121. package/dist/server/components/table/index.js +3 -3
  122. package/dist/server/components/tabs/index.js +4 -4
  123. package/dist/server/components/tag-input/index.js +3 -3
  124. package/dist/server/components/team-section/index.js +8 -8
  125. package/dist/server/components/testimonial-section/index.js +2 -2
  126. package/dist/server/components/toggle/index.js +2 -2
  127. package/dist/server/components/tooltip/index.js +1 -1
  128. package/dist/server/index.js +159 -148
  129. package/dist/server/{index.server-cbtg8rq5.js → index.server-0atyznp7.js} +5 -5
  130. package/dist/server/{index.server-20y4mdhm.js → index.server-0chhpkg7.js} +40 -14
  131. package/dist/server/{index.server-ecm1vs3g.js → index.server-1nq7z1qw.js} +1 -1
  132. package/dist/server/{index.server-jync915v.js → index.server-2dga5yzr.js} +25 -25
  133. package/dist/server/index.server-2hqrv7ca.js +9 -0
  134. package/dist/server/{index.server-69epaape.js → index.server-2qj6s2mh.js} +1 -1
  135. package/dist/server/{index.server-pt8b65mt.js → index.server-38aywdk1.js} +1 -1
  136. package/dist/server/{index.server-rermas0k.js → index.server-47v2fhp4.js} +4 -4
  137. package/dist/server/{index.server-9j5sym59.js → index.server-4x91gzy1.js} +2 -2
  138. package/dist/server/{index.server-q48q15g7.js → index.server-4y2jtvv1.js} +4 -2
  139. package/dist/server/index.server-67qgdypc.js +9 -0
  140. package/dist/server/{index.server-9jete4xx.js → index.server-6sh11ap6.js} +4 -4
  141. package/dist/server/{index.server-4ztq565m.js → index.server-85p4ydph.js} +1 -1
  142. package/dist/server/{index.server-4nk7gy0q.js → index.server-894t97kv.js} +1 -1
  143. package/dist/server/{index.server-1vscnped.js → index.server-8dt36sdm.js} +2 -1
  144. package/dist/server/{index.server-bfsbp9dz.js → index.server-8xvc73zh.js} +4 -4
  145. package/dist/server/{index.server-cvnw3hw9.js → index.server-9kz37z89.js} +1 -1
  146. package/dist/server/{index.server-kc1k02tk.js → index.server-9ykk1kbg.js} +1 -1
  147. package/dist/server/{index.server-g789yep6.js → index.server-aqethy0w.js} +2 -2
  148. package/dist/server/{index.server-wc9aggfz.js → index.server-bmxbsk4y.js} +7 -7
  149. package/dist/server/{index.server-j3ddzcaa.js → index.server-c6pe4kaf.js} +6 -6
  150. package/dist/server/{index.server-q89dz8h1.js → index.server-d3pqthtp.js} +4 -3
  151. package/dist/server/{index.server-qfa2rxzx.js → index.server-dg83ke3k.js} +3 -5
  152. package/dist/server/{index.server-jk4rx4aa.js → index.server-dmmvwy6p.js} +1 -1
  153. package/dist/server/{index.server-hcfnae5y.js → index.server-dwwqssey.js} +4 -4
  154. package/dist/server/{index.server-e8x1hgw6.js → index.server-dz1r9xw5.js} +4 -4
  155. package/dist/server/{index.server-wm7mk5kw.js → index.server-ez5hp0ya.js} +1 -1
  156. package/dist/server/{index.server-ejyf7e48.js → index.server-fy068yne.js} +1 -1
  157. package/dist/server/{index.server-wc8dbm5e.js → index.server-g95bk8rc.js} +4 -2
  158. package/dist/server/index.server-gkazv439.js +576 -0
  159. package/dist/server/{index.server-dp9j2kkr.js → index.server-h0cvwvhy.js} +1 -1
  160. package/dist/server/{index.server-pacrqvyz.js → index.server-h90pjrez.js} +1 -1
  161. package/dist/server/{index.server-p8d04em5.js → index.server-hcsd5gdb.js} +6 -2
  162. package/dist/server/{index.server-n39drzes.js → index.server-hpeavvnq.js} +1 -1
  163. package/dist/server/{index.server-1p3patnj.js → index.server-hx91ng7z.js} +1 -1
  164. package/dist/server/{index.server-jtj3r53y.js → index.server-jgb8yh5k.js} +1 -1
  165. package/dist/server/{index.server-w1g5q9j9.js → index.server-jtgw9d23.js} +4 -2
  166. package/dist/server/{index.server-mehav5vs.js → index.server-jxg42jpz.js} +4 -4
  167. package/dist/server/{index.server-hd8gpehd.js → index.server-jxseyx33.js} +1 -1
  168. package/dist/server/{index.server-kg2sepsr.js → index.server-krqvnt6p.js} +14 -15
  169. package/dist/server/{index.server-0e1m3agz.js → index.server-ks49bprh.js} +1 -1
  170. package/dist/server/{index.server-f0hma3jp.js → index.server-kt0ncrqs.js} +1 -1
  171. package/dist/server/index.server-m0ezemav.js +170 -0
  172. package/dist/server/index.server-m191rm44.js +79 -0
  173. package/dist/server/{index.server-f23vtaw4.js → index.server-marjz8ps.js} +6 -6
  174. package/dist/server/index.server-mqt1ngqw.js +250 -0
  175. package/dist/server/{index.server-s9khh4ry.js → index.server-mzzb7dnm.js} +3 -5
  176. package/dist/server/{index.server-z721a5gp.js → index.server-n82rcv0m.js} +4 -4
  177. package/dist/server/{index.server-rhhmdxtz.js → index.server-np3c7kx0.js} +4 -4
  178. package/dist/server/{index.server-hpcs7tmh.js → index.server-p56xxef1.js} +1 -1
  179. package/dist/server/{index.server-w83kmcrx.js → index.server-pag862vz.js} +10 -10
  180. package/dist/server/{index.server-gxf0d1p5.js → index.server-q7w4jw89.js} +2 -2
  181. package/dist/server/{index.server-v4zabrsx.js → index.server-qh9qzd5t.js} +163 -25
  182. package/dist/server/{index.server-pxg74pyp.js → index.server-qk1h0n02.js} +4 -4
  183. package/dist/server/{index.server-sh2rxejg.js → index.server-qke3ekjt.js} +1 -1
  184. package/dist/server/{index.server-73x2d3j3.js → index.server-rbpvcrr3.js} +1 -1
  185. package/dist/server/{index.server-8cxs4kya.js → index.server-rga8sc7j.js} +41 -44
  186. package/dist/server/{index.server-e3fnv1g6.js → index.server-sedjxt36.js} +5 -5
  187. package/dist/server/{index.server-pen9pxt6.js → index.server-sf3nk3j2.js} +2 -2
  188. package/dist/server/{index.server-7fp0epev.js → index.server-veastatv.js} +4 -4
  189. package/dist/server/{index.server-jeqg2d22.js → index.server-xeqtpv61.js} +1 -1
  190. package/dist/server/{index.server-9s4na701.js → index.server-xjnge1yw.js} +4 -4
  191. package/dist/server/index.server-xtjjmsyq.js +315 -0
  192. package/dist/server/{index.server-hhxjaeen.js → index.server-xz99aed4.js} +4 -4
  193. package/dist/server/{index.server-vne4rzfa.js → index.server-y4n8vc08.js} +1 -1
  194. package/dist/server/{index.server-5d01cn4f.js → index.server-y83kqayt.js} +4 -4
  195. package/dist/server/{index.server-1nh09ck7.js → index.server-yhzydqxe.js} +5 -5
  196. package/dist/server/{index.server-atjc1qcq.js → index.server-yz4k36cw.js} +1 -1
  197. package/dist/server/{index.server-w6k62afr.js → index.server-ze1ymmbw.js} +2 -2
  198. package/dist/server/{index.server-914v805w.js → index.server-zgd1g8mk.js} +1 -1
  199. package/dist/server/{index.server-aeexcxdp.js → index.server-zh3r8vfd.js} +1 -1
  200. package/dist/server/{index.server-10jb2jzm.js → index.server-zsjf8enc.js} +4 -4
  201. package/package.json +40 -6
  202. package/src/components/_internal/command-list-context.ts +3 -3
  203. package/src/components/_internal/create-command-list-state.svelte.ts +39 -13
  204. package/src/components/approval-card/approval-card-actions.svelte +168 -0
  205. package/src/components/approval-card/approval-card-state.ts +152 -1
  206. package/src/components/approval-card/approval-card.css +269 -92
  207. package/src/components/approval-card/approval-card.examples.json +3 -3
  208. package/src/components/approval-card/approval-card.schema.json +9 -30
  209. package/src/components/approval-card/approval-card.schema.ts +13 -31
  210. package/src/components/approval-card/approval-card.svelte +176 -470
  211. package/src/components/approval-card/approval-card.types.ts +15 -28
  212. package/src/components/approval-card/index.ts +1 -0
  213. package/src/components/card/card.css +5 -0
  214. package/src/components/card/card.schema.json +1 -1
  215. package/src/components/card/card.schema.ts +1 -1
  216. package/src/components/card/card.svelte +1 -0
  217. package/src/components/card/card.types.ts +2 -2
  218. package/src/components/chat/chat.schema.json +36 -1
  219. package/src/components/chat/chat.schema.ts +44 -1
  220. package/src/components/chat/chat.svelte +12 -0
  221. package/src/components/chat/chat.types.ts +35 -3
  222. package/src/components/chat/container/chat.svelte +73 -3
  223. package/src/components/chat/index.ts +15 -3
  224. package/src/components/chat/input/chat-attachment-serialization.ts +63 -0
  225. package/src/components/chat/input/chat-input.svelte +22 -5
  226. package/src/components/chat/input/index.ts +5 -0
  227. package/src/components/chat-composer-popover/chat-composer-popover-filter.ts +68 -0
  228. package/src/components/chat-composer-popover/chat-composer-popover.css +7 -0
  229. package/src/components/chat-composer-popover/chat-composer-popover.examples.json +13 -0
  230. package/src/components/chat-composer-popover/chat-composer-popover.schema.json +90 -0
  231. package/src/components/chat-composer-popover/chat-composer-popover.schema.ts +95 -0
  232. package/src/components/chat-composer-popover/chat-composer-popover.svelte +234 -0
  233. package/src/components/chat-composer-popover/chat-composer-popover.types.ts +88 -0
  234. package/src/components/chat-composer-popover/chat-composer-popover.variables.json +1 -0
  235. package/src/components/chat-composer-popover/chat-composer-popover.variables.ts +3 -0
  236. package/src/components/chat-composer-popover/index.ts +19 -0
  237. package/src/components/code-block/code-block.schema.json +4 -0
  238. package/src/components/code-block/code-block.schema.ts +5 -0
  239. package/src/components/code-block/code-block.svelte +3 -3
  240. package/src/components/code-block/code-block.types.ts +6 -0
  241. package/src/components/command-item/command-item.svelte +7 -6
  242. package/src/components/command-menu/command-menu.schema.json +4 -0
  243. package/src/components/command-menu/command-menu.schema.ts +4 -0
  244. package/src/components/command-menu/command-menu.svelte +16 -5
  245. package/src/components/command-menu/command-menu.types.ts +2 -0
  246. package/src/components/json-viewer/_json-viewer-node.svelte +15 -1
  247. package/src/components/json-viewer/json-viewer.css +10 -6
  248. package/src/components/payload-inspector/index.ts +0 -2
  249. package/src/components/payload-inspector/payload-inspector.css +15 -75
  250. package/src/components/payload-inspector/payload-inspector.examples.json +5 -5
  251. package/src/components/payload-inspector/payload-inspector.schema.json +3 -31
  252. package/src/components/payload-inspector/payload-inspector.schema.ts +3 -36
  253. package/src/components/payload-inspector/payload-inspector.svelte +46 -239
  254. package/src/components/payload-inspector/payload-inspector.types.ts +10 -58
  255. package/src/components/tab/tab.schema.json +6 -2
  256. package/src/components/tab/tab.schema.ts +8 -2
  257. package/src/components/tab/tab.svelte +9 -5
  258. package/src/components/tab/tab.types.ts +8 -2
  259. package/src/index.ts +18 -5
  260. package/src/styles/components.css +1 -0
  261. package/dist/server/index-49we2xfs.js +0 -344
  262. package/dist/server/index-8fhvxk30.js +0 -265
  263. package/dist/server/index-x2ysg8ds.js +0 -388
  264. package/dist/server/index.server-20j0jh30.js +0 -9
  265. package/dist/server/index.server-dc35kh7d.js +0 -1835
  266. package/dist/server/index.server-kd4b0342.js +0 -607
  267. package/dist/server/index.server-n5cdmsz4.js +0 -30
  268. package/dist/server/index.server-rjap4k7y.js +0 -1389
  269. package/dist/server/index.server-vt6sn9y4.js +0 -447
  270. package/dist/server/index.server-w63n618v.js +0 -9
  271. package/dist/server/index.server-y2pa1k46.js +0 -9
@@ -95,6 +95,11 @@
95
95
  padding: 0;
96
96
  }
97
97
 
98
+ .cinder-card[data-cinder-padding='none'] > .cinder-card__header,
99
+ .cinder-card[data-cinder-padding='none'] > .cinder-card__footer {
100
+ padding: 0;
101
+ }
102
+
98
103
  .cinder-card[data-cinder-variant='well'] > .cinder-card__body {
99
104
  background: var(--cinder-surface-inset);
100
105
  }
@@ -82,7 +82,7 @@ var schema = {
82
82
  },
83
83
  padding: {
84
84
  enum: ["none", "default"],
85
- description: "Body padding. `none` removes all padding for flush or full-bleed content (e.g. an image)."
85
+ description: "Region padding. `none` removes body, header, and footer padding for flush or full-bleed content (e.g. an image)."
86
86
  },
87
87
  headingLevel: {
88
88
  enum: [2, 3, 4, 5, 6],
@@ -121,4 +121,4 @@ export {
121
121
  card_schema_default as default
122
122
  };
123
123
 
124
- //# debugId=F6D9BA0707365EC764756E2164756E21
124
+ //# debugId=F547FD1405B4E7BD64756E2164756E21
@@ -3,7 +3,7 @@ import type { HTMLAttributes } from 'svelte/elements';
3
3
  export type CardVariant = 'card' | 'well';
4
4
  export type CardTone = 'default' | 'muted';
5
5
  export type CardSurfaceTone = 'default' | 'danger';
6
- /** Controls body padding. `none` removes all padding for flush/full-bleed content. Future values like `compact` may be added. */
6
+ /** Controls region padding. `none` removes body, header, and footer padding for flush/full-bleed content. Future values like `compact` may be added. */
7
7
  export type CardPadding = 'default' | 'none';
8
8
  /** Heading level for the generated card title, so the document outline stays correct. */
9
9
  export type CardHeadingLevel = 2 | 3 | 4 | 5 | 6;
@@ -19,7 +19,7 @@ type CardBase = HTMLAttributes<HTMLDivElement> & {
19
19
  footerTone?: CardTone;
20
20
  /** Remove side borders/radius and bleed to the viewport edge on narrow screens. */
21
21
  edgeToEdgeOnMobile?: boolean;
22
- /** Body padding. `none` removes all padding for flush or full-bleed content (e.g. an image). */
22
+ /** Region padding. `none` removes body, header, and footer padding for flush or full-bleed content (e.g. an image). */
23
23
  padding?: CardPadding;
24
24
  };
25
25
  /** Basic card with no generated header. */
@@ -253,6 +253,7 @@ function Card($$anchor, $$props) {
253
253
  "data-cinder-variant": variant(),
254
254
  "data-cinder-tone": tone(),
255
255
  "data-cinder-edge-to-edge-mobile": edgeToEdgeOnMobile() ? "" : undefined,
256
+ "data-cinder-padding": padding(),
256
257
  ...$3.get(labelAttributes)
257
258
  }), [() => classNames("cinder-card", $$props.class)]);
258
259
  var node = $3.child(div);
@@ -351,4 +352,4 @@ export {
351
352
  Card
352
353
  };
353
354
 
354
- //# debugId=9672E10E3D232CA964756E2164756E21
355
+ //# debugId=AD4C1F4D4FAE6B8B64756E2164756E21
@@ -104,6 +104,26 @@ var schema = {
104
104
  type: "string",
105
105
  description: 'Optional status label displayed in the typing indicator while `streaming` is `true` and no streaming content has arrived yet (e.g. `"Thinking…"` or `"Analyzing file…"`). When omitted, three animated dots are shown.'
106
106
  },
107
+ composerRole: {
108
+ type: "string",
109
+ description: "Explicit role for the composer textarea, for overlay patterns such as ARIA comboboxes."
110
+ },
111
+ composerAriaExpanded: {
112
+ enum: [false, true, "true", "false"],
113
+ description: "`aria-expanded` passed to the composer textarea for overlays such as slash-command menus."
114
+ },
115
+ composerAriaControls: {
116
+ type: "string",
117
+ description: "`aria-controls` passed to the composer textarea for overlays such as slash-command menus."
118
+ },
119
+ composerAriaActiveDescendant: {
120
+ type: "string",
121
+ description: "`aria-activedescendant` passed to the composer textarea for overlays such as slash-command menus."
122
+ },
123
+ composerAriaAutocomplete: {
124
+ enum: ["none", "inline", "list", "both"],
125
+ description: "`aria-autocomplete` passed to the composer textarea for overlays such as slash-command menus."
126
+ },
107
127
  virtualized: {
108
128
  type: "boolean",
109
129
  description: "Use the virtualized message render path for long transcripts. The complete `ConversationHistory` remains unchanged; only the DOM window is reduced. Default `false`."
@@ -225,10 +245,32 @@ generation. When an adapter is also wired, Chat calls
225
245
  name: "onattachmentremove",
226
246
  reason: "function-or-snippet"
227
247
  },
248
+ {
249
+ name: "oncomposerblur",
250
+ reason: "function-or-snippet",
251
+ description: `Called when focus leaves the composer textarea. Overlay primitives can use
252
+ this to dismiss without preventing native focus movement.`
253
+ },
228
254
  {
229
255
  name: "oncomposerinput",
230
256
  reason: "function-or-snippet",
231
- description: "Called with the composer's current plain-text value on every composer\ninput event. Lets a consumer build slash-command, mention, or autocomplete\nUX without reaching into `.chat-input-editor` DOM directly."
257
+ description: "Called with the composer's current plain-text value on every composer\ninput event. The optional event exposes the textarea for composer-bound\noverlays without reaching into `.chat-input-editor` DOM directly."
258
+ },
259
+ {
260
+ name: "oncomposerkeydown",
261
+ reason: "function-or-snippet",
262
+ description: `Called before Chat's internal composer key handling when a keydown
263
+ originates from the composer textarea. Call \`event.preventDefault()\` to
264
+ let an overlay consume Arrow keys, Enter, or Escape before Enter-to-send.
265
+ Chat does not call this hook during IME composition, so Enter can still
266
+ confirm the active candidate instead of sending.`
267
+ },
268
+ {
269
+ name: "oncomposerselectionchange",
270
+ reason: "function-or-snippet",
271
+ description: `Called after pointer or selection activity may have moved the composer
272
+ caret without changing text. Overlay primitives can resync their active
273
+ token from the textarea selection.`
232
274
  },
233
275
  {
234
276
  name: "ondeny",
@@ -321,4 +363,4 @@ export {
321
363
  chat_schema_default as default
322
364
  };
323
365
 
324
- //# debugId=9906999F3FA9B93664756E2164756E21
366
+ //# debugId=F47E899530612A1264756E2164756E21
@@ -12,17 +12,19 @@
12
12
  * @avoidWhen The transcript is read-only and needs no composer — a simple list of message bubbles is a better fit.
13
13
  * @related markdown-editor
14
14
  */
15
- export type { ChatProps } from './chat.types.ts';
16
- import type { ChatProps } from './chat.types.ts';
15
+ export type { ChatAnnounceLevel, ChatProps } from './chat.types.ts';
16
+ import type { ChatAnnounceLevel, ChatProps } from './chat.types.ts';
17
17
  declare const Chat: import("svelte").Component<ChatProps, {
18
18
  beginStreaming: (messageId: string) => void;
19
19
  pushToken: (token: string) => void;
20
20
  endStreaming: () => void;
21
+ announce: (message: string, level?: ChatAnnounceLevel) => void;
21
22
  scrollToBottom: () => void;
22
23
  scrollToTop: () => void;
23
24
  focusInput: () => void;
24
25
  clearInput: () => void;
25
26
  getComposerValue: () => string;
27
+ getEditorElement: () => HTMLTextAreaElement | null;
26
28
  }, "">;
27
29
  type Chat = ReturnType<typeof Chat>;
28
30
  export default Chat;
@@ -36,6 +36,8 @@ export type ReadReceipt = {
36
36
  */
37
37
  readBy?: string[];
38
38
  };
39
+ /** Live-region channel for imperative Chat announcements. */
40
+ export type ChatAnnounceLevel = 'polite' | 'assertive';
39
41
  /**
40
42
  * Full-row override snippet. Inversion of control: receives the message AND a
41
43
  * `renderDefault` snippet that renders the built-in row, so a consumer can wrap
@@ -109,6 +111,16 @@ export type ChatProps = Omit<HTMLAttributes<HTMLElement>, 'class' | 'onsubmit'>
109
111
  * rather than as five separate boolean props.
110
112
  */
111
113
  capabilities?: ChatCapabilities;
114
+ /** Explicit role for the composer textarea, for overlay patterns such as ARIA comboboxes. */
115
+ composerRole?: string | undefined;
116
+ /** `aria-expanded` passed to the composer textarea for overlays such as slash-command menus. */
117
+ composerAriaExpanded?: boolean | 'true' | 'false' | undefined;
118
+ /** `aria-controls` passed to the composer textarea for overlays such as slash-command menus. */
119
+ composerAriaControls?: string | undefined;
120
+ /** `aria-activedescendant` passed to the composer textarea for overlays such as slash-command menus. */
121
+ composerAriaActiveDescendant?: string | undefined;
122
+ /** `aria-autocomplete` passed to the composer textarea for overlays such as slash-command menus. */
123
+ composerAriaAutocomplete?: 'none' | 'inline' | 'list' | 'both' | undefined;
112
124
  /** Use the virtualized message render path for long transcripts. The complete `ConversationHistory` remains unchanged; only the DOM window is reduced. Default `false`. */
113
125
  virtualized?: boolean;
114
126
  /** Estimated row height in pixels for virtualized message rows. Default `88`. */
@@ -230,8 +242,27 @@ export type ChatProps = Omit<HTMLAttributes<HTMLElement>, 'class' | 'onsubmit'>
230
242
  onattachmentfailure?: (file: File, error: string) => void;
231
243
  /**
232
244
  * Called with the composer's current plain-text value on every composer
233
- * input event. Lets a consumer build slash-command, mention, or autocomplete
234
- * UX without reaching into `.chat-input-editor` DOM directly.
245
+ * input event. The optional event exposes the textarea for composer-bound
246
+ * overlays without reaching into `.chat-input-editor` DOM directly.
235
247
  */
236
- oncomposerinput?: (value: string) => void;
248
+ oncomposerinput?: (value: string, event?: Event) => void;
249
+ /**
250
+ * Called before Chat's internal composer key handling when a keydown
251
+ * originates from the composer textarea. Call `event.preventDefault()` to
252
+ * let an overlay consume Arrow keys, Enter, or Escape before Enter-to-send.
253
+ * Chat does not call this hook during IME composition, so Enter can still
254
+ * confirm the active candidate instead of sending.
255
+ */
256
+ oncomposerkeydown?: (event: KeyboardEvent) => void;
257
+ /**
258
+ * Called after pointer or selection activity may have moved the composer
259
+ * caret without changing text. Overlay primitives can resync their active
260
+ * token from the textarea selection.
261
+ */
262
+ oncomposerselectionchange?: (event: Event) => void;
263
+ /**
264
+ * Called when focus leaves the composer textarea. Overlay primitives can use
265
+ * this to dismiss without preventing native focus movement.
266
+ */
267
+ oncomposerblur?: (event: FocusEvent) => void;
237
268
  };
@@ -1,12 +1,14 @@
1
- import type { ChatProps } from '../chat.types.ts';
2
- export type { ChatProps };
1
+ import type { ChatAnnounceLevel, ChatProps } from '../chat.types.ts';
2
+ export type { ChatAnnounceLevel, ChatProps };
3
3
  export type { ChatScrollStateChangeEvent, ChatStopGeneratingEvent, ChatSubmitEvent, ChatUnreadIndicatorChangeEvent, } from './chat-events.ts';
4
4
  declare const Chat: import("svelte").Component<ChatProps, {
5
+ announce: (message: string, level?: ChatAnnounceLevel) => void;
5
6
  scrollToBottom: () => void;
6
7
  scrollToTop: () => void;
7
8
  focusInput: () => void;
8
9
  clearInput: () => void;
9
10
  getComposerValue: () => string;
11
+ getEditorElement: () => HTMLTextAreaElement | null;
10
12
  beginStreaming: (messageId: string) => void;
11
13
  pushToken: (token: string) => void;
12
14
  endStreaming: () => void;
@@ -8,14 +8,14 @@
8
8
  import './chat.css';
9
9
  import Chat from './chat.svelte';
10
10
  export default Chat;
11
- export type { ChatCapabilities, ChatProps, ReadReceipt, TypingParticipant } from './chat.types.ts';
11
+ export type { ChatAnnounceLevel, ChatCapabilities, ChatProps, ReadReceipt, TypingParticipant, } from './chat.types.ts';
12
12
  export { Chat };
13
13
  export type { ChatAdapter, ChatAdapterErrorEvent, ChatCommand, ChatPushHandlers, ChatReadReceiptEvent, } from './adapter';
14
14
  export { appendAssistantMessage, appendMessages, appendUserMessage, createConversation, } from './builders.ts';
15
15
  export type { AssistantMessage, ContainerUploadContent, ConversationHistory, ConversationStatus, ExportOptions, ImageContent, JSONValue, Message, MessageInput, MessageRole, MultiModalContent, RedactedThinkingContent, ServerToolResultContent, ServerToolResultType, ServerToolUseContent, TextContent, ThinkingContent, ToMarkdownOptions, TokenUsage, ToolAction, ToolCall, ToolCallPair, ToolError, ToolErrorCategory, ToolResult, WebSearchToolResultContent, } from './conversation-model.ts';
16
16
  export { formatMessageAsMarkdown, getMessageRoleLabel, getMessageText, messagesToMarkdown, type ChatExportOptions, type DeliveryStatus, } from './utilities';
17
- export { ChatAttachmentPreview, ChatInput, deriveAttachmentKind } from './input';
18
- export type { AttachmentKind, ChatAttachment } from './input';
17
+ export { ChatAttachmentPreview, ChatInput, deriveAttachmentKind, serializeChatAttachment, serializeChatAttachments, } from './input';
18
+ export type { AttachmentKind, ChatAttachment, SerializedChatAttachment } from './input';
19
19
  export { ChatDateSeparator, ChatMessage, MessageAttachments, MessageContent, ToolCallGroup, } from './message';
20
20
  export { DEFAULT_SCROLL_CONFIGURATION, calculateScrollToBottom, calculateUnreadCount, extractTimestamp, findUnreadBoundaryIndex, isAtBottom, shouldShowJumpToLatest, } from './container';
21
21
  export type { ChatScrollStateChangeEvent, ChatStopGeneratingEvent, ChatSubmitEvent, ChatUnreadIndicatorChangeEvent, ScrollConfiguration, ScrollState, } from './container';