@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
@@ -0,0 +1,9 @@
1
+ import type { ChatAttachment } from './chat-attachment.ts';
2
+ export interface SerializedChatAttachment {
3
+ name: string;
4
+ mimeType: string;
5
+ kind: ChatAttachment['kind'];
6
+ content: string;
7
+ }
8
+ export declare function serializeChatAttachment(attachment: ChatAttachment): Promise<SerializedChatAttachment>;
9
+ export declare function serializeChatAttachments(attachments: readonly ChatAttachment[]): Promise<SerializedChatAttachment[]>;
@@ -12,6 +12,16 @@ export type ChatInputProps = Omit<HTMLFormAttributes, 'onsubmit' | 'class'> & {
12
12
  placeholder?: string;
13
13
  /** Accessible label passed to the inner message editor */
14
14
  composerLabel?: string;
15
+ /** Explicit role for the inner message editor, for overlay patterns such as ARIA comboboxes. */
16
+ composerRole?: string | undefined;
17
+ /** `aria-expanded` passed to the inner message editor for composer overlays. */
18
+ composerAriaExpanded?: boolean | 'true' | 'false' | undefined;
19
+ /** `aria-controls` passed to the inner message editor for composer overlays. */
20
+ composerAriaControls?: string | undefined;
21
+ /** `aria-activedescendant` passed to the inner message editor for composer overlays. */
22
+ composerAriaActiveDescendant?: string | undefined;
23
+ /** `aria-autocomplete` passed to the inner message editor for composer overlays. */
24
+ composerAriaAutocomplete?: 'none' | 'inline' | 'list' | 'both' | undefined;
15
25
  /** Whether the input is disabled */
16
26
  disabled?: boolean;
17
27
  /** Whether a submission is in progress */
@@ -37,7 +47,17 @@ export type ChatInputProps = Omit<HTMLFormAttributes, 'onsubmit' | 'class'> & {
37
47
  /** Called when stop is requested (transforms send button into stop button when sending=true) */
38
48
  onstop?: (() => void) | undefined;
39
49
  /** Called with the composer's current plain-text value on every input event. */
40
- oncomposerinput?: ((value: string) => void) | undefined;
50
+ oncomposerinput?: ((value: string, event?: Event) => void) | undefined;
51
+ /**
52
+ * Called before ChatInput's internal Enter-to-send handling when a keydown
53
+ * originates from the composer textarea. Calling `preventDefault()` skips
54
+ * the internal key handling for that event.
55
+ */
56
+ oncomposerkeydown?: ((event: KeyboardEvent) => void) | undefined;
57
+ /** Called after pointer or selection activity may have moved the composer caret. */
58
+ oncomposerselectionchange?: ((event: Event) => void) | undefined;
59
+ /** Called when focus leaves the composer textarea. */
60
+ oncomposerblur?: ((event: FocusEvent) => void) | undefined;
41
61
  /** Called when an attachment is added */
42
62
  onattachmentadd?: ((attachment: ChatAttachment) => void) | undefined;
43
63
  /** Called when an attachment is removed */
@@ -52,6 +72,7 @@ declare const ChatInput: import("svelte").Component<ChatInputProps, {
52
72
  clear: () => void;
53
73
  getAttachments: () => ChatAttachment[];
54
74
  getValue: () => string;
75
+ getEditorElement: () => HTMLTextAreaElement | null;
55
76
  addFiles: (files: File[]) => void;
56
77
  }, "value">;
57
78
  type ChatInput = ReturnType<typeof ChatInput>;
@@ -1,4 +1,5 @@
1
1
  export { deriveAttachmentKind, type AttachmentKind } from './attachment-kind.js';
2
2
  export { default as ChatAttachmentPreview } from './chat-attachment-preview.svelte';
3
+ export { serializeChatAttachment, serializeChatAttachments, type SerializedChatAttachment, } from './chat-attachment-serialization.ts';
3
4
  export type { ChatAttachment } from './chat-attachment.ts';
4
5
  export { default as ChatInput } from './chat-input.svelte';
@@ -0,0 +1,11 @@
1
+ export type FuzzyFilterItem = {
2
+ value: string;
3
+ label: string;
4
+ keywords?: readonly string[] | undefined;
5
+ };
6
+ export type FuzzyFilterResult<TItem extends FuzzyFilterItem> = {
7
+ item: TItem;
8
+ score: number;
9
+ };
10
+ export declare function fuzzySubsequenceScore(candidate: string, query: string): number | null;
11
+ export declare function filterFuzzySubsequence<TItem extends FuzzyFilterItem>(items: readonly TItem[], query: string): TItem[];
@@ -0,0 +1,7 @@
1
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
2
+ /* ChatComposerPopover renders CommandMenu and CommandItem internally. Pull in
3
+ * the command menu family so the wrapper is styled through its own styles path. */
4
+ @import '../command-menu/command-menu.css';
5
+
6
+ @layer cinder.components {
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { ComponentSchema } from '../../schema-types';
2
+ declare const _default: ComponentSchema;
3
+ export default _default;
@@ -0,0 +1,150 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ function __accessProp(key) {
7
+ return this[key];
8
+ }
9
+ var __toESMCache_node;
10
+ var __toESMCache_esm;
11
+ var __toESM = (mod, isNodeMode, target) => {
12
+ var canCache = mod != null && typeof mod === "object";
13
+ if (canCache) {
14
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
15
+ var cached = cache.get(mod);
16
+ if (cached)
17
+ return cached;
18
+ }
19
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
20
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
21
+ for (let key of __getOwnPropNames(mod))
22
+ if (!__hasOwnProp.call(to, key))
23
+ __defProp(to, key, {
24
+ get: __accessProp.bind(mod, key),
25
+ enumerable: true
26
+ });
27
+ if (canCache)
28
+ cache.set(mod, to);
29
+ return to;
30
+ };
31
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
32
+ var __returnValue = (v) => v;
33
+ function __exportSetter(name, newValue) {
34
+ this[name] = __returnValue.bind(null, newValue);
35
+ }
36
+ var __export = (target, all) => {
37
+ for (var name in all)
38
+ __defProp(target, name, {
39
+ get: all[name],
40
+ enumerable: true,
41
+ configurable: true,
42
+ set: __exportSetter.bind(all, name)
43
+ });
44
+ };
45
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
46
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
47
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
48
+ }) : x)(function(x) {
49
+ if (typeof require !== "undefined")
50
+ return require.apply(this, arguments);
51
+ throw Error('Dynamic require of "' + x + '" is not supported');
52
+ });
53
+
54
+ // src/components/chat-composer-popover/chat-composer-popover.schema.ts
55
+ var schema = {
56
+ $schema: "https://json-schema.org/draft/2020-12/schema",
57
+ type: "object",
58
+ properties: {
59
+ id: {
60
+ type: "string",
61
+ description: "Unique identifier used for the listbox and item ids."
62
+ },
63
+ value: {
64
+ type: "string",
65
+ description: "Current composer value. Bind this to the same value as ChatInput."
66
+ },
67
+ triggers: {
68
+ type: "array",
69
+ items: {
70
+ type: "string"
71
+ },
72
+ description: "Trigger characters that open the popover. Default `['/', '@']`."
73
+ },
74
+ label: {
75
+ type: "string",
76
+ description: "Accessible listbox label. Default `'Composer suggestions'`."
77
+ },
78
+ placement: {
79
+ enum: [
80
+ "top",
81
+ "bottom",
82
+ "left",
83
+ "right",
84
+ "top-start",
85
+ "top-end",
86
+ "bottom-start",
87
+ "bottom-end"
88
+ ],
89
+ description: "Caret-relative placement. Default `'bottom-start'`."
90
+ },
91
+ offset: {
92
+ type: "number",
93
+ description: "Distance in px between the caret and popover. Default `6`."
94
+ }
95
+ },
96
+ additionalProperties: false,
97
+ required: ["id"],
98
+ metadata: {
99
+ unsupportedProps: [
100
+ {
101
+ name: "composer",
102
+ reason: "function-or-snippet",
103
+ required: true,
104
+ description: "Render the ChatInput or compatible composer with the provided overlay props."
105
+ },
106
+ {
107
+ name: "detectTrigger",
108
+ reason: "function-or-snippet",
109
+ description: "Override trigger detection."
110
+ },
111
+ {
112
+ name: "empty",
113
+ reason: "function-or-snippet",
114
+ description: "Optional empty state rendered when filtering produces no matching rows."
115
+ },
116
+ {
117
+ name: "filter",
118
+ reason: "function-or-snippet",
119
+ description: "Override filtering."
120
+ },
121
+ {
122
+ name: "item",
123
+ reason: "function-or-snippet",
124
+ description: "Optional custom row contents. Defaults to the item label and description."
125
+ },
126
+ {
127
+ name: "items",
128
+ reason: "generic-type-parameter",
129
+ required: true,
130
+ description: "Consumer-owned command or mention definitions."
131
+ },
132
+ {
133
+ name: "ondismiss",
134
+ reason: "function-or-snippet",
135
+ description: "Invoked when Escape, trigger loss, or outside pointerdown dismisses the popover."
136
+ },
137
+ {
138
+ name: "onselect",
139
+ reason: "function-or-snippet",
140
+ description: "Invoked when an enabled item is selected by keyboard or pointer."
141
+ }
142
+ ]
143
+ }
144
+ };
145
+ var chat_composer_popover_schema_default = schema;
146
+ export {
147
+ chat_composer_popover_schema_default as default
148
+ };
149
+
150
+ //# debugId=92206E0DCC723B1864756E2164756E21
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @cinder
3
+ * @category overlay
4
+ * @status beta
5
+ * @purpose Chat composer-bound slash-command and mention listbox primitive.
6
+ * @tag chat
7
+ * @tag command
8
+ * @tag overlay
9
+ * @useWhen Adding slash commands, mentions, or autocomplete to ChatInput without re-implementing combobox ARIA.
10
+ * @useWhen Composer suggestions should stay anchored to the active token and leave command definitions in application code.
11
+ * @avoidWhen Opening a global command launcher detached from the composer — use command-palette instead.
12
+ * @avoidWhen Anchoring a generic command menu to an arbitrary input — use command-menu instead.
13
+ * @related chat, command-menu, command-item, command-palette
14
+ * @a11yPattern WAI-ARIA Combobox with Listbox Popup
15
+ * @keyboardShortcut ArrowUp / ArrowDown | Moves the active suggestion.
16
+ * @keyboardShortcut Enter | Selects the active suggestion.
17
+ * @keyboardShortcut Escape | Dismisses the suggestion popover.
18
+ * @a11yNote Passes combobox role and aria-expanded, aria-controls, aria-activedescendant, and aria-autocomplete through to ChatInput's composer overlay API.
19
+ */
20
+ export type { ChatComposerPopoverComposerProps, ChatComposerPopoverItem, ChatComposerPopoverItemSnippetContext, ChatComposerPopoverProps, ChatComposerPopoverSelection, ChatComposerPopoverTriggerMatch, } from './chat-composer-popover.types.ts';
21
+ export { filterFuzzySubsequence, fuzzySubsequenceScore, type FuzzyFilterItem, type FuzzyFilterResult, } from './chat-composer-popover-filter.ts';
22
+ import type { ChatComposerPopoverItem, ChatComposerPopoverProps } from './chat-composer-popover.types.ts';
23
+ declare function $$render<TItem extends ChatComposerPopoverItem>(): {
24
+ props: ChatComposerPopoverProps<TItem>;
25
+ exports: {};
26
+ bindings: "value";
27
+ slots: {};
28
+ events: {};
29
+ };
30
+ declare class __sveltets_Render<TItem extends ChatComposerPopoverItem> {
31
+ props(): ReturnType<typeof $$render<TItem>>['props'];
32
+ events(): ReturnType<typeof $$render<TItem>>['events'];
33
+ slots(): ReturnType<typeof $$render<TItem>>['slots'];
34
+ bindings(): "value";
35
+ exports(): {};
36
+ }
37
+ interface $$IsomorphicComponent {
38
+ new <TItem extends ChatComposerPopoverItem>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TItem>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TItem>['props']>, ReturnType<__sveltets_Render<TItem>['events']>, ReturnType<__sveltets_Render<TItem>['slots']>> & {
39
+ $$bindings?: ReturnType<__sveltets_Render<TItem>['bindings']>;
40
+ } & ReturnType<__sveltets_Render<TItem>['exports']>;
41
+ <TItem extends ChatComposerPopoverItem>(internal: unknown, props: ReturnType<__sveltets_Render<TItem>['props']> & {}): ReturnType<__sveltets_Render<TItem>['exports']>;
42
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
43
+ }
44
+ declare const ChatComposerPopover: $$IsomorphicComponent;
45
+ type ChatComposerPopover<TItem extends ChatComposerPopoverItem> = InstanceType<typeof ChatComposerPopover<TItem>>;
46
+ export default ChatComposerPopover;
@@ -0,0 +1,77 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { PopoverPlacement } from '../popover/popover.types.ts';
3
+ export type ChatComposerPopoverItem = {
4
+ /** Stable submitted value surfaced through onselect. */
5
+ value: string;
6
+ /** Default visible and accessible label for the command row. */
7
+ label: string;
8
+ /** Optional secondary text for the command row. */
9
+ description?: string | undefined;
10
+ /** Optional fuzzy-search aliases. */
11
+ keywords?: readonly string[] | undefined;
12
+ /** Whether this row is skipped by keyboard navigation and activation. */
13
+ disabled?: boolean | undefined;
14
+ };
15
+ export type ChatComposerPopoverTriggerMatch = {
16
+ active: true;
17
+ trigger: string;
18
+ query: string;
19
+ start: number;
20
+ end: number;
21
+ };
22
+ export type ChatComposerPopoverSelection<TItem extends ChatComposerPopoverItem> = {
23
+ item: TItem;
24
+ value: string;
25
+ query: string;
26
+ trigger: string;
27
+ range: {
28
+ start: number;
29
+ end: number;
30
+ };
31
+ };
32
+ export type ChatComposerPopoverComposerProps = {
33
+ composerRole: 'combobox';
34
+ composerAriaExpanded: boolean;
35
+ composerAriaControls: string | undefined;
36
+ composerAriaActiveDescendant: string | undefined;
37
+ composerAriaAutocomplete: 'list';
38
+ oncomposerinput: (value: string, event?: Event) => void;
39
+ oncomposerkeydown: (event: KeyboardEvent) => void;
40
+ oncomposerselectionchange: (event: Event) => void;
41
+ oncomposerblur: (event: FocusEvent) => void;
42
+ };
43
+ export type ChatComposerPopoverItemSnippetContext<TItem extends ChatComposerPopoverItem> = {
44
+ item: TItem;
45
+ query: string;
46
+ trigger: string;
47
+ };
48
+ export type ChatComposerPopoverProps<TItem extends ChatComposerPopoverItem> = {
49
+ /** Unique identifier used for the listbox and item ids. */
50
+ id: string;
51
+ /** Current composer value. Bind this to the same value as ChatInput. */
52
+ value?: string;
53
+ /** Consumer-owned command or mention definitions. */
54
+ items: readonly TItem[];
55
+ /** Trigger characters that open the popover. Default `['/', '@']`. */
56
+ triggers?: readonly string[];
57
+ /** Accessible listbox label. Default `'Composer suggestions'`. */
58
+ label?: string;
59
+ /** Caret-relative placement. Default `'bottom-start'`. */
60
+ placement?: PopoverPlacement;
61
+ /** Distance in px between the caret and popover. Default `6`. */
62
+ offset?: number;
63
+ /** Render the ChatInput or compatible composer with the provided overlay props. */
64
+ composer: Snippet<[ChatComposerPopoverComposerProps]>;
65
+ /** Optional custom row contents. Defaults to the item label and description. */
66
+ item?: Snippet<[ChatComposerPopoverItemSnippetContext<TItem>]>;
67
+ /** Optional empty state rendered when filtering produces no matching rows. */
68
+ empty?: Snippet;
69
+ /** Override trigger detection. */
70
+ detectTrigger?: (value: string, selectionStart: number, selectionEnd: number) => ChatComposerPopoverTriggerMatch | null;
71
+ /** Override filtering. */
72
+ filter?: (items: readonly TItem[], query: string, trigger: string) => readonly TItem[];
73
+ /** Invoked when an enabled item is selected by keyboard or pointer. */
74
+ onselect?: (selection: ChatComposerPopoverSelection<TItem>) => void;
75
+ /** Invoked when Escape, trigger loss, or outside pointerdown dismisses the popover. */
76
+ ondismiss?: () => void;
77
+ };
@@ -0,0 +1,2 @@
1
+ declare const variables: readonly string[];
2
+ export default variables;
@@ -0,0 +1,61 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ function __accessProp(key) {
7
+ return this[key];
8
+ }
9
+ var __toESMCache_node;
10
+ var __toESMCache_esm;
11
+ var __toESM = (mod, isNodeMode, target) => {
12
+ var canCache = mod != null && typeof mod === "object";
13
+ if (canCache) {
14
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
15
+ var cached = cache.get(mod);
16
+ if (cached)
17
+ return cached;
18
+ }
19
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
20
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
21
+ for (let key of __getOwnPropNames(mod))
22
+ if (!__hasOwnProp.call(to, key))
23
+ __defProp(to, key, {
24
+ get: __accessProp.bind(mod, key),
25
+ enumerable: true
26
+ });
27
+ if (canCache)
28
+ cache.set(mod, to);
29
+ return to;
30
+ };
31
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
32
+ var __returnValue = (v) => v;
33
+ function __exportSetter(name, newValue) {
34
+ this[name] = __returnValue.bind(null, newValue);
35
+ }
36
+ var __export = (target, all) => {
37
+ for (var name in all)
38
+ __defProp(target, name, {
39
+ get: all[name],
40
+ enumerable: true,
41
+ configurable: true,
42
+ set: __exportSetter.bind(all, name)
43
+ });
44
+ };
45
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
46
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
47
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
48
+ }) : x)(function(x) {
49
+ if (typeof require !== "undefined")
50
+ return require.apply(this, arguments);
51
+ throw Error('Dynamic require of "' + x + '" is not supported');
52
+ });
53
+
54
+ // src/components/chat-composer-popover/chat-composer-popover.variables.ts
55
+ var variables = [];
56
+ var chat_composer_popover_variables_default = variables;
57
+ export {
58
+ chat_composer_popover_variables_default as default
59
+ };
60
+
61
+ //# debugId=F762A3C05DFE401A64756E2164756E21
@@ -0,0 +1,6 @@
1
+ import './chat-composer-popover.css';
2
+ import ChatComposerPopover from './chat-composer-popover.svelte';
3
+ export default ChatComposerPopover;
4
+ export { filterFuzzySubsequence, fuzzySubsequenceScore, type FuzzyFilterItem, type FuzzyFilterResult, } from './chat-composer-popover-filter.ts';
5
+ export type { ChatComposerPopoverComposerProps, ChatComposerPopoverItem, ChatComposerPopoverItemSnippetContext, ChatComposerPopoverProps, ChatComposerPopoverSelection, ChatComposerPopoverTriggerMatch, } from './chat-composer-popover.types.ts';
6
+ export { ChatComposerPopover };