@lostgradient/cinder 0.7.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 (279) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +7 -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 +48 -1
  20. package/dist/components/chat/chat.svelte.d.ts +6 -2
  21. package/dist/components/chat/chat.types.d.ts +37 -0
  22. package/dist/components/chat/container/chat.svelte.d.ts +6 -2
  23. package/dist/components/chat/index.d.ts +3 -3
  24. package/dist/components/chat/index.js +1099 -4865
  25. package/dist/components/chat/input/chat-attachment-serialization.d.ts +9 -0
  26. package/dist/components/chat/input/chat-input.svelte.d.ts +24 -0
  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/navigation-bar/index.js +44 -6
  55. package/dist/components/payload-inspector/index.d.ts +1 -1
  56. package/dist/components/payload-inspector/index.js +306 -1422
  57. package/dist/components/payload-inspector/payload-inspector.css +15 -75
  58. package/dist/components/payload-inspector/payload-inspector.schema.js +5 -41
  59. package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +5 -5
  60. package/dist/components/payload-inspector/payload-inspector.types.d.ts +10 -56
  61. package/dist/components/sidebar/index.js +6 -3
  62. package/dist/components/sidebar/sidebar.css +4 -0
  63. package/dist/components/tab/index.js +5 -2
  64. package/dist/components/tab/tab.schema.js +7 -3
  65. package/dist/components/tab/tab.svelte.d.ts +2 -1
  66. package/dist/components/tab/tab.types.d.ts +8 -2
  67. package/dist/components/tabs/index.js +5 -2
  68. package/dist/components/team-section/index.js +2 -1
  69. package/dist/components/testimonial-section/index.js +2 -1
  70. package/dist/index.d.ts +4 -2
  71. package/dist/index.js +24169 -27821
  72. package/dist/server/components/access-gate/index.js +2 -1
  73. package/dist/server/components/accordion/index.js +2 -2
  74. package/dist/server/components/alert-dialog/index.js +2 -2
  75. package/dist/server/components/approval-card/index.js +15 -19
  76. package/dist/server/components/autocomplete/index.js +7 -7
  77. package/dist/server/components/avatar-group/index.js +5 -5
  78. package/dist/server/components/button-group/index.js +3 -5
  79. package/dist/server/components/card/index.js +2 -2
  80. package/dist/server/components/chat/index.js +14 -11
  81. package/dist/server/components/chat-composer-popover/index.js +26 -0
  82. package/dist/server/components/chat-conversation-header/index.js +9 -10
  83. package/dist/server/components/chat-conversation-list/index.js +4 -5
  84. package/dist/server/components/checkbox/index.js +3 -3
  85. package/dist/server/components/choice-grid/index.js +2 -2
  86. package/dist/server/components/code-block/index.js +2 -2
  87. package/dist/server/components/color-field/index.js +3 -3
  88. package/dist/server/components/combobox/index.js +6 -6
  89. package/dist/server/components/command-item/index.js +5 -3
  90. package/dist/server/components/command-menu/index.js +6 -4
  91. package/dist/server/components/command-palette/index.js +2 -2
  92. package/dist/server/components/confirm-dialog/index.js +2 -2
  93. package/dist/server/components/context-menu/index.js +5 -5
  94. package/dist/server/components/data-table/index.js +5 -5
  95. package/dist/server/components/date-picker/index.js +6 -6
  96. package/dist/server/components/date-range-field/index.js +7 -7
  97. package/dist/server/components/description-list/index.js +3 -5
  98. package/dist/server/components/diff-viewer/index.js +7 -7
  99. package/dist/server/components/drawer/index.js +3 -3
  100. package/dist/server/components/dropdown/index.js +4 -4
  101. package/dist/server/components/event-stream-viewer/index.js +2 -2
  102. package/dist/server/components/experimental/json-viewer/index.js +2 -2
  103. package/dist/server/components/faceted-filter-bar/index.js +1 -1
  104. package/dist/server/components/hover-card/index.js +1 -1
  105. package/dist/server/components/input/index.js +3 -3
  106. package/dist/server/components/json-schema-editor/index.js +22 -22
  107. package/dist/server/components/json-viewer/index.js +2 -2
  108. package/dist/server/components/markdown-editor/index.js +13 -13
  109. package/dist/server/components/modal/index.js +1 -1
  110. package/dist/server/components/multi-select/index.js +1 -1
  111. package/dist/server/components/navigation-bar/index.js +1 -1
  112. package/dist/server/components/newsletter-section/index.js +3 -3
  113. package/dist/server/components/payload-inspector/index.js +4 -16
  114. package/dist/server/components/popover/index.js +5 -5
  115. package/dist/server/components/review-editor/index.js +25 -25
  116. package/dist/server/components/run-step-timeline/index.js +2 -2
  117. package/dist/server/components/schema-form/index.js +4 -4
  118. package/dist/server/components/secret-value-field/index.js +3 -5
  119. package/dist/server/components/segment/index.js +3 -3
  120. package/dist/server/components/segmented-control/index.js +4 -4
  121. package/dist/server/components/selection-popover/index.js +4 -4
  122. package/dist/server/components/sheet/index.js +2 -2
  123. package/dist/server/components/sidebar/index.js +3 -3
  124. package/dist/server/components/tab/index.js +2 -2
  125. package/dist/server/components/table/index.js +3 -3
  126. package/dist/server/components/tabs/index.js +4 -4
  127. package/dist/server/components/tag-input/index.js +3 -3
  128. package/dist/server/components/team-section/index.js +8 -8
  129. package/dist/server/components/testimonial-section/index.js +2 -2
  130. package/dist/server/components/toggle/index.js +2 -2
  131. package/dist/server/components/tooltip/index.js +1 -1
  132. package/dist/server/index.js +160 -149
  133. package/dist/server/{index.server-cbtg8rq5.js → index.server-0atyznp7.js} +5 -5
  134. package/dist/server/{index.server-20y4mdhm.js → index.server-0chhpkg7.js} +40 -14
  135. package/dist/server/{index.server-ecm1vs3g.js → index.server-1nq7z1qw.js} +1 -1
  136. package/dist/server/{index.server-jync915v.js → index.server-2dga5yzr.js} +25 -25
  137. package/dist/server/index.server-2hqrv7ca.js +9 -0
  138. package/dist/server/{index.server-qwknp759.js → index.server-2qj6s2mh.js} +7 -4
  139. package/dist/server/{index.server-pt8b65mt.js → index.server-38aywdk1.js} +1 -1
  140. package/dist/server/{index.server-rermas0k.js → index.server-47v2fhp4.js} +4 -4
  141. package/dist/server/{index.server-9j5sym59.js → index.server-4x91gzy1.js} +2 -2
  142. package/dist/server/{index.server-q48q15g7.js → index.server-4y2jtvv1.js} +4 -2
  143. package/dist/server/{index.server-zeqv7nrz.js → index.server-5tf22d6e.js} +43 -6
  144. package/dist/server/index.server-67qgdypc.js +9 -0
  145. package/dist/server/{index.server-9jete4xx.js → index.server-6sh11ap6.js} +4 -4
  146. package/dist/server/{index.server-4ztq565m.js → index.server-85p4ydph.js} +1 -1
  147. package/dist/server/{index.server-4nk7gy0q.js → index.server-894t97kv.js} +1 -1
  148. package/dist/server/{index.server-1vscnped.js → index.server-8dt36sdm.js} +2 -1
  149. package/dist/server/{index.server-bfsbp9dz.js → index.server-8xvc73zh.js} +4 -4
  150. package/dist/server/{index.server-cvnw3hw9.js → index.server-9kz37z89.js} +1 -1
  151. package/dist/server/{index.server-kc1k02tk.js → index.server-9ykk1kbg.js} +1 -1
  152. package/dist/server/{index.server-g789yep6.js → index.server-aqethy0w.js} +2 -2
  153. package/dist/server/{index.server-wc9aggfz.js → index.server-bmxbsk4y.js} +7 -7
  154. package/dist/server/{index.server-j3ddzcaa.js → index.server-c6pe4kaf.js} +6 -6
  155. package/dist/server/{index.server-q89dz8h1.js → index.server-d3pqthtp.js} +4 -3
  156. package/dist/server/{index.server-qfa2rxzx.js → index.server-dg83ke3k.js} +3 -5
  157. package/dist/server/{index.server-jk4rx4aa.js → index.server-dmmvwy6p.js} +1 -1
  158. package/dist/server/{index.server-hcfnae5y.js → index.server-dwwqssey.js} +4 -4
  159. package/dist/server/{index.server-e8x1hgw6.js → index.server-dz1r9xw5.js} +4 -4
  160. package/dist/server/{index.server-wm7mk5kw.js → index.server-ez5hp0ya.js} +1 -1
  161. package/dist/server/{index.server-ejyf7e48.js → index.server-fy068yne.js} +1 -1
  162. package/dist/server/{index.server-wc8dbm5e.js → index.server-g95bk8rc.js} +4 -2
  163. package/dist/server/index.server-gkazv439.js +576 -0
  164. package/dist/server/{index.server-dp9j2kkr.js → index.server-h0cvwvhy.js} +1 -1
  165. package/dist/server/{index.server-pacrqvyz.js → index.server-h90pjrez.js} +1 -1
  166. package/dist/server/{index.server-p8d04em5.js → index.server-hcsd5gdb.js} +6 -2
  167. package/dist/server/{index.server-n39drzes.js → index.server-hpeavvnq.js} +1 -1
  168. package/dist/server/{index.server-1p3patnj.js → index.server-hx91ng7z.js} +1 -1
  169. package/dist/server/{index.server-jtj3r53y.js → index.server-jgb8yh5k.js} +1 -1
  170. package/dist/server/{index.server-w1g5q9j9.js → index.server-jtgw9d23.js} +4 -2
  171. package/dist/server/{index.server-mehav5vs.js → index.server-jxg42jpz.js} +4 -4
  172. package/dist/server/{index.server-hd8gpehd.js → index.server-jxseyx33.js} +1 -1
  173. package/dist/server/{index.server-kg2sepsr.js → index.server-krqvnt6p.js} +14 -15
  174. package/dist/server/{index.server-0e1m3agz.js → index.server-ks49bprh.js} +1 -1
  175. package/dist/server/{index.server-f0hma3jp.js → index.server-kt0ncrqs.js} +1 -1
  176. package/dist/server/index.server-m0ezemav.js +170 -0
  177. package/dist/server/index.server-m191rm44.js +79 -0
  178. package/dist/server/{index.server-f23vtaw4.js → index.server-marjz8ps.js} +6 -6
  179. package/dist/server/index.server-mqt1ngqw.js +250 -0
  180. package/dist/server/{index.server-s9khh4ry.js → index.server-mzzb7dnm.js} +3 -5
  181. package/dist/server/{index.server-z721a5gp.js → index.server-n82rcv0m.js} +4 -4
  182. package/dist/server/{index.server-rhhmdxtz.js → index.server-np3c7kx0.js} +4 -4
  183. package/dist/server/{index.server-hpcs7tmh.js → index.server-p56xxef1.js} +1 -1
  184. package/dist/server/{index.server-w83kmcrx.js → index.server-pag862vz.js} +10 -10
  185. package/dist/server/{index.server-gxf0d1p5.js → index.server-q7w4jw89.js} +2 -2
  186. package/dist/server/{index.server-bvmwnjx6.js → index.server-qh9qzd5t.js} +186 -23
  187. package/dist/server/{index.server-pxg74pyp.js → index.server-qk1h0n02.js} +4 -4
  188. package/dist/server/{index.server-sh2rxejg.js → index.server-qke3ekjt.js} +1 -1
  189. package/dist/server/{index.server-73x2d3j3.js → index.server-rbpvcrr3.js} +1 -1
  190. package/dist/server/{index.server-8cxs4kya.js → index.server-rga8sc7j.js} +41 -44
  191. package/dist/server/{index.server-e3fnv1g6.js → index.server-sedjxt36.js} +5 -5
  192. package/dist/server/{index.server-pen9pxt6.js → index.server-sf3nk3j2.js} +2 -2
  193. package/dist/server/{index.server-7fp0epev.js → index.server-veastatv.js} +4 -4
  194. package/dist/server/{index.server-jeqg2d22.js → index.server-xeqtpv61.js} +1 -1
  195. package/dist/server/{index.server-9s4na701.js → index.server-xjnge1yw.js} +4 -4
  196. package/dist/server/index.server-xtjjmsyq.js +315 -0
  197. package/dist/server/{index.server-hhxjaeen.js → index.server-xz99aed4.js} +4 -4
  198. package/dist/server/{index.server-vne4rzfa.js → index.server-y4n8vc08.js} +1 -1
  199. package/dist/server/{index.server-5d01cn4f.js → index.server-y83kqayt.js} +4 -4
  200. package/dist/server/{index.server-1nh09ck7.js → index.server-yhzydqxe.js} +5 -5
  201. package/dist/server/{index.server-atjc1qcq.js → index.server-yz4k36cw.js} +1 -1
  202. package/dist/server/{index.server-w6k62afr.js → index.server-ze1ymmbw.js} +2 -2
  203. package/dist/server/{index.server-914v805w.js → index.server-zgd1g8mk.js} +1 -1
  204. package/dist/server/{index.server-aeexcxdp.js → index.server-zh3r8vfd.js} +1 -1
  205. package/dist/server/{index.server-10jb2jzm.js → index.server-zsjf8enc.js} +4 -4
  206. package/package.json +42 -6
  207. package/src/components/_internal/command-list-context.ts +3 -3
  208. package/src/components/_internal/create-command-list-state.svelte.ts +39 -13
  209. package/src/components/approval-card/approval-card-actions.svelte +168 -0
  210. package/src/components/approval-card/approval-card-state.ts +152 -1
  211. package/src/components/approval-card/approval-card.css +269 -92
  212. package/src/components/approval-card/approval-card.examples.json +3 -3
  213. package/src/components/approval-card/approval-card.schema.json +9 -30
  214. package/src/components/approval-card/approval-card.schema.ts +13 -31
  215. package/src/components/approval-card/approval-card.svelte +176 -470
  216. package/src/components/approval-card/approval-card.types.ts +15 -28
  217. package/src/components/approval-card/index.ts +1 -0
  218. package/src/components/card/card.css +5 -0
  219. package/src/components/card/card.schema.json +1 -1
  220. package/src/components/card/card.schema.ts +1 -1
  221. package/src/components/card/card.svelte +1 -0
  222. package/src/components/card/card.types.ts +2 -2
  223. package/src/components/chat/chat.schema.json +40 -0
  224. package/src/components/chat/chat.schema.ts +49 -0
  225. package/src/components/chat/chat.svelte +20 -0
  226. package/src/components/chat/chat.types.ts +38 -0
  227. package/src/components/chat/container/chat.svelte +82 -3
  228. package/src/components/chat/index.ts +15 -3
  229. package/src/components/chat/input/chat-attachment-serialization.ts +63 -0
  230. package/src/components/chat/input/chat-input.svelte +30 -3
  231. package/src/components/chat/input/index.ts +5 -0
  232. package/src/components/chat-composer-popover/chat-composer-popover-filter.ts +68 -0
  233. package/src/components/chat-composer-popover/chat-composer-popover.css +7 -0
  234. package/src/components/chat-composer-popover/chat-composer-popover.examples.json +13 -0
  235. package/src/components/chat-composer-popover/chat-composer-popover.schema.json +90 -0
  236. package/src/components/chat-composer-popover/chat-composer-popover.schema.ts +95 -0
  237. package/src/components/chat-composer-popover/chat-composer-popover.svelte +234 -0
  238. package/src/components/chat-composer-popover/chat-composer-popover.types.ts +88 -0
  239. package/src/components/chat-composer-popover/chat-composer-popover.variables.json +1 -0
  240. package/src/components/chat-composer-popover/chat-composer-popover.variables.ts +3 -0
  241. package/src/components/chat-composer-popover/index.ts +19 -0
  242. package/src/components/code-block/code-block.schema.json +4 -0
  243. package/src/components/code-block/code-block.schema.ts +5 -0
  244. package/src/components/code-block/code-block.svelte +3 -3
  245. package/src/components/code-block/code-block.types.ts +6 -0
  246. package/src/components/command-item/command-item.svelte +7 -6
  247. package/src/components/command-menu/command-menu.schema.json +4 -0
  248. package/src/components/command-menu/command-menu.schema.ts +4 -0
  249. package/src/components/command-menu/command-menu.svelte +16 -5
  250. package/src/components/command-menu/command-menu.types.ts +2 -0
  251. package/src/components/json-viewer/_json-viewer-node.svelte +15 -1
  252. package/src/components/json-viewer/json-viewer.css +10 -6
  253. package/src/components/navigation-bar/navigation-bar.svelte +49 -7
  254. package/src/components/payload-inspector/index.ts +0 -2
  255. package/src/components/payload-inspector/payload-inspector.css +15 -75
  256. package/src/components/payload-inspector/payload-inspector.examples.json +5 -5
  257. package/src/components/payload-inspector/payload-inspector.schema.json +3 -31
  258. package/src/components/payload-inspector/payload-inspector.schema.ts +3 -36
  259. package/src/components/payload-inspector/payload-inspector.svelte +46 -239
  260. package/src/components/payload-inspector/payload-inspector.types.ts +10 -58
  261. package/src/components/sidebar/sidebar.css +4 -0
  262. package/src/components/sidebar/sidebar.svelte +6 -3
  263. package/src/components/tab/tab.schema.json +6 -2
  264. package/src/components/tab/tab.schema.ts +8 -2
  265. package/src/components/tab/tab.svelte +9 -5
  266. package/src/components/tab/tab.types.ts +8 -2
  267. package/src/index.ts +18 -5
  268. package/src/styles/components.css +1 -0
  269. package/dist/server/index-49we2xfs.js +0 -344
  270. package/dist/server/index-8fhvxk30.js +0 -265
  271. package/dist/server/index-x2ysg8ds.js +0 -388
  272. package/dist/server/index.server-20j0jh30.js +0 -9
  273. package/dist/server/index.server-dc35kh7d.js +0 -1835
  274. package/dist/server/index.server-kd4b0342.js +0 -607
  275. package/dist/server/index.server-n5cdmsz4.js +0 -30
  276. package/dist/server/index.server-rjap4k7y.js +0 -1389
  277. package/dist/server/index.server-vt6sn9y4.js +0 -447
  278. package/dist/server/index.server-w63n618v.js +0 -9
  279. package/dist/server/index.server-y2pa1k46.js +0 -9
@@ -1,13 +1,13 @@
1
+ import {
2
+ getFocusableIndex,
3
+ handleRovingKeydown
4
+ } from "./index.server-0a8m173j.js";
1
5
  import {
2
6
  inDocumentOrder
3
7
  } from "./index.server-h54v6c32.js";
4
8
  import {
5
9
  strictStableContext
6
10
  } from "./index.server-bn02606y.js";
7
- import {
8
- getFocusableIndex,
9
- handleRovingKeydown
10
- } from "./index.server-0a8m173j.js";
11
11
  import {
12
12
  classNames
13
13
  } from "./index.server-z7nvkz8v.js";
@@ -220,4 +220,4 @@ function Segment($$renderer, $$props) {
220
220
 
221
221
  export { setSegmentedControlContext, SegmentedControlController, Segment };
222
222
 
223
- //# debugId=59A6980B6A89763364756E2164756E21
223
+ //# debugId=09DC6D8F3FE30AE564756E2164756E21
@@ -3,13 +3,13 @@ import {
3
3
  } from "./index.server-jd0gmw7x.js";
4
4
  import {
5
5
  Avatar_group
6
- } from "./index.server-7fp0epev.js";
6
+ } from "./index.server-veastatv.js";
7
7
  import {
8
8
  Avatar
9
9
  } from "./index.server-0m5sf323.js";
10
10
  import {
11
11
  Card
12
- } from "./index.server-1vscnped.js";
12
+ } from "./index.server-8dt36sdm.js";
13
13
  import {
14
14
  classNames
15
15
  } from "./index.server-z7nvkz8v.js";
@@ -1,9 +1,9 @@
1
- import {
2
- Tooltip
3
- } from "./index.server-txnxnbd6.js";
4
1
  import {
5
2
  Avatar
6
3
  } from "./index.server-0m5sf323.js";
4
+ import {
5
+ Tooltip
6
+ } from "./index.server-txnxnbd6.js";
7
7
  import {
8
8
  classNames
9
9
  } from "./index.server-z7nvkz8v.js";
@@ -140,4 +140,4 @@ function Avatar_group($$renderer, $$props) {
140
140
 
141
141
  export { Avatar_group };
142
142
 
143
- //# debugId=EB74332EC67B8CD964756E2164756E21
143
+ //# debugId=01508330EF7F8A6964756E2164756E21
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SegmentedControlController,
3
3
  setSegmentedControlContext
4
- } from "./index.server-e3fnv1g6.js";
4
+ } from "./index.server-sedjxt36.js";
5
5
  import {
6
6
  classNames
7
7
  } from "./index.server-z7nvkz8v.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  setTabsContext
3
3
  } from "./index.server-js3eva86.js";
4
+ import {
5
+ commitValue
6
+ } from "./index.server-42qeekwc.js";
4
7
  import {
5
8
  handleRovingKeydown,
6
9
  isRovingKey
7
10
  } from "./index.server-0a8m173j.js";
8
- import {
9
- commitValue
10
- } from "./index.server-42qeekwc.js";
11
11
  import {
12
12
  classNames
13
13
  } from "./index.server-z7nvkz8v.js";
@@ -192,4 +192,4 @@ function Tabs($$renderer, $$props) {
192
192
 
193
193
  export { Tabs };
194
194
 
195
- //# debugId=FBD0BDC5785052B564756E2164756E21
195
+ //# debugId=712CE44C77B0B2EF64756E2164756E21
@@ -0,0 +1,315 @@
1
+ import {
2
+ Command_item
3
+ } from "./index.server-krqvnt6p.js";
4
+ import {
5
+ Command_menu,
6
+ detectTrigger
7
+ } from "./index.server-rga8sc7j.js";
8
+
9
+ // src/components/chat-composer-popover/chat-composer-popover.svelte
10
+ import * as $ from "svelte/internal/server";
11
+ import { onDestroy } from "svelte";
12
+
13
+ // src/components/chat-composer-popover/chat-composer-popover-filter.ts
14
+ function normalize(value) {
15
+ return value.trim().toLowerCase();
16
+ }
17
+ function fuzzySubsequenceScore(candidate, query) {
18
+ const normalizedCandidate = normalize(candidate);
19
+ const normalizedQuery = normalize(query);
20
+ if (normalizedQuery.length === 0)
21
+ return 0;
22
+ if (normalizedCandidate.length === 0)
23
+ return null;
24
+ let score = 0;
25
+ let searchIndex = 0;
26
+ let previousMatchIndex = -1;
27
+ for (const character of normalizedQuery) {
28
+ const matchIndex = normalizedCandidate.indexOf(character, searchIndex);
29
+ if (matchIndex === -1)
30
+ return null;
31
+ score += matchIndex === previousMatchIndex + 1 ? 4 : 1;
32
+ if (matchIndex === 0)
33
+ score += 2;
34
+ if (/[\s/_-]/u.test(normalizedCandidate[matchIndex - 1] ?? ""))
35
+ score += 2;
36
+ previousMatchIndex = matchIndex;
37
+ searchIndex = matchIndex + 1;
38
+ }
39
+ return score - normalizedCandidate.length * 0.01;
40
+ }
41
+ function filterFuzzySubsequence(items, query) {
42
+ const normalizedQuery = normalize(query);
43
+ if (normalizedQuery.length === 0)
44
+ return [...items];
45
+ const matchedItems = items.map((item, index) => {
46
+ const candidates = [item.label, item.value, ...item.keywords ?? []];
47
+ let bestScore = null;
48
+ for (const candidate of candidates) {
49
+ const score = fuzzySubsequenceScore(candidate, normalizedQuery);
50
+ if (score !== null && (bestScore === null || score > bestScore)) {
51
+ bestScore = score;
52
+ }
53
+ }
54
+ return bestScore === null ? null : { item, index, score: bestScore };
55
+ }).filter((result) => result !== null);
56
+ matchedItems.sort((a, b) => b.score - a.score || a.index - b.index);
57
+ return matchedItems.map((result) => result.item);
58
+ }
59
+
60
+ // src/components/chat-composer-popover/chat-composer-popover.svelte
61
+ function Chat_composer_popover($$renderer, $$props) {
62
+ $$renderer.component(($$renderer2) => {
63
+ let {
64
+ id,
65
+ value = "",
66
+ items,
67
+ triggers = ["/", "@"],
68
+ label = "Composer suggestions",
69
+ placement = "bottom-start",
70
+ offset = 6,
71
+ composer,
72
+ item,
73
+ empty,
74
+ detectTrigger: detectTrigger2,
75
+ filter = filterFuzzySubsequence,
76
+ onselect,
77
+ ondismiss
78
+ } = $$props;
79
+ let open = false;
80
+ let anchor = null;
81
+ let caretIndex = 0;
82
+ const listboxId = $.derived(() => `${id}-listbox`);
83
+ let activeItemId = null;
84
+ let activeMatch = null;
85
+ let composerSyncTimer = null;
86
+ let lastSyncedValue = value;
87
+ let suppressNextValueSync = false;
88
+ const emptyContent = $.derived(() => empty);
89
+ const query = $.derived(() => activeMatch?.query ?? "");
90
+ const trigger = $.derived(() => activeMatch?.trigger ?? triggers[0] ?? "/");
91
+ const filteredItems = $.derived(() => {
92
+ if (!activeMatch)
93
+ return [];
94
+ return [...filter(items, activeMatch.query, activeMatch.trigger)];
95
+ });
96
+ const composerProps = $.derived(() => ({
97
+ composerRole: "combobox",
98
+ composerAriaExpanded: open,
99
+ composerAriaControls: open ? listboxId() : undefined,
100
+ composerAriaActiveDescendant: open ? activeItemId ?? undefined : undefined,
101
+ composerAriaAutocomplete: "list",
102
+ oncomposerinput: handleComposerInput,
103
+ oncomposerkeydown: handleComposerKeydown,
104
+ oncomposerselectionchange: handleComposerSelectionChange,
105
+ oncomposerblur: handleComposerBlur
106
+ }));
107
+ function getComposerElement(event) {
108
+ const target = event.currentTarget ?? event.target;
109
+ if (target instanceof HTMLTextAreaElement || target instanceof HTMLInputElement) {
110
+ return target;
111
+ }
112
+ return null;
113
+ }
114
+ function findTriggerMatch(text, selectionStart, selectionEnd) {
115
+ if (detectTrigger2)
116
+ return detectTrigger2(text, selectionStart, selectionEnd);
117
+ for (const triggerChar of triggers) {
118
+ const match = detectTrigger({ text, selectionStart, selectionEnd, triggerChar });
119
+ if (match) {
120
+ return { ...match, trigger: triggerChar };
121
+ }
122
+ }
123
+ return null;
124
+ }
125
+ function updateFromComposer(composerElement, nextValue) {
126
+ if (composerElement)
127
+ anchor = composerElement;
128
+ const selectionStart = composerElement?.selectionStart ?? nextValue.length;
129
+ const selectionEnd = composerElement?.selectionEnd ?? selectionStart;
130
+ lastSyncedValue = nextValue;
131
+ value = nextValue;
132
+ caretIndex = selectionEnd;
133
+ activeMatch = findTriggerMatch(nextValue, selectionStart, selectionEnd);
134
+ const wasOpen = open;
135
+ open = activeMatch !== null && anchor !== null;
136
+ if (!open) {
137
+ activeItemId = null;
138
+ if (wasOpen)
139
+ ondismiss?.();
140
+ }
141
+ }
142
+ function dismiss({ restoreFocus = true } = {}) {
143
+ if (!open && !activeMatch && !activeItemId)
144
+ return;
145
+ clearComposerSyncTimer();
146
+ open = false;
147
+ activeItemId = null;
148
+ activeMatch = null;
149
+ if (restoreFocus)
150
+ anchor?.focus();
151
+ ondismiss?.();
152
+ }
153
+ function handleComposerInput(nextValue, event) {
154
+ suppressNextValueSync = false;
155
+ updateFromComposer(event ? getComposerElement(event) : anchor, nextValue);
156
+ }
157
+ function handleComposerSelectionChange(event) {
158
+ suppressNextValueSync = false;
159
+ const composerElement = getComposerElement(event);
160
+ if (!composerElement)
161
+ return;
162
+ syncComposerSelectionAfterNativeNavigation(composerElement);
163
+ }
164
+ function handleComposerBlur(event) {
165
+ if (event.currentTarget === anchor) {
166
+ dismiss({ restoreFocus: false });
167
+ }
168
+ }
169
+ function syncComposerSelectionAfterNativeNavigation(composerElement) {
170
+ clearComposerSyncTimer();
171
+ composerSyncTimer = setTimeout(() => {
172
+ composerSyncTimer = null;
173
+ updateFromComposer(composerElement, composerElement.value);
174
+ }, 0);
175
+ }
176
+ function clearComposerSyncTimer() {
177
+ if (composerSyncTimer === null)
178
+ return;
179
+ clearTimeout(composerSyncTimer);
180
+ composerSyncTimer = null;
181
+ }
182
+ function handleComposerKeydown(event) {
183
+ const composerElement = event.currentTarget instanceof HTMLTextAreaElement || event.currentTarget instanceof HTMLInputElement ? event.currentTarget : null;
184
+ if (composerElement) {
185
+ anchor = composerElement;
186
+ caretIndex = composerElement.selectionEnd ?? value.length;
187
+ }
188
+ if (!open || event.isComposing || event.keyCode === 229)
189
+ return;
190
+ if (event.key === "Escape") {
191
+ event.preventDefault();
192
+ event.stopPropagation();
193
+ dismiss();
194
+ return;
195
+ }
196
+ const isNavigationKey = event.key === "ArrowDown" || event.key === "ArrowUp" || event.key === "ArrowLeft" || event.key === "ArrowRight" || event.key === "Home" || event.key === "End";
197
+ const isMenuNavigationKey = event.key === "ArrowDown" || event.key === "ArrowUp" || event.key === "Home" || event.key === "End";
198
+ const isModifiedNavigation = isNavigationKey && (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey);
199
+ if (isMenuNavigationKey && !isModifiedNavigation || event.key === "Enter" && activeItemId) {
200
+ event.preventDefault();
201
+ }
202
+ if (composerElement && isNavigationKey && (isModifiedNavigation || !isMenuNavigationKey)) {
203
+ syncComposerSelectionAfterNativeNavigation(composerElement);
204
+ }
205
+ }
206
+ onDestroy(() => {
207
+ clearComposerSyncTimer();
208
+ });
209
+ function handleStateChange(state) {
210
+ activeItemId = state.activeItemId;
211
+ }
212
+ function handleSelect(selection) {
213
+ const selectedItem = filteredItems().find((candidate) => candidate.value === selection.value);
214
+ if (!selectedItem || !activeMatch)
215
+ return;
216
+ const detail = {
217
+ item: selectedItem,
218
+ value: selection.value,
219
+ query: activeMatch.query,
220
+ trigger: activeMatch.trigger,
221
+ range: { start: activeMatch.start, end: activeMatch.end }
222
+ };
223
+ open = false;
224
+ activeItemId = null;
225
+ activeMatch = null;
226
+ anchor?.focus();
227
+ suppressNextValueSync = true;
228
+ queueMicrotask(() => {
229
+ suppressNextValueSync = false;
230
+ });
231
+ onselect?.(detail);
232
+ }
233
+ let $$settled = true;
234
+ let $$inner_renderer;
235
+ function $$render_inner($$renderer3) {
236
+ composer($$renderer3, composerProps());
237
+ $$renderer3.push(`<!----> `);
238
+ {
239
+ let items2 = function($$renderer4) {
240
+ $$renderer4.push(`<!--[-->`);
241
+ const each_array = $.ensure_array_like(filteredItems());
242
+ for (let $$index = 0, $$length = each_array.length;$$index < $$length; $$index++) {
243
+ let command = each_array[$$index];
244
+ Command_item($$renderer4, {
245
+ value: command.value,
246
+ disabled: command.disabled === true,
247
+ description: item ? "" : command.description ?? "",
248
+ accessibleLabel: command.description ? `${command.label}, ${command.description}` : command.label,
249
+ selectionMode: "parent",
250
+ children: ($$renderer5) => {
251
+ if (item) {
252
+ $$renderer5.push("<!--[0-->");
253
+ item($$renderer5, { item: command, query: query(), trigger: trigger() });
254
+ $$renderer5.push(`<!---->`);
255
+ } else {
256
+ $$renderer5.push("<!--[-1-->");
257
+ $$renderer5.push(`${$.escape(command.label)}`);
258
+ }
259
+ $$renderer5.push(`<!--]-->`);
260
+ },
261
+ $$slots: { default: true }
262
+ });
263
+ }
264
+ $$renderer4.push(`<!--]-->`);
265
+ }, empty2 = function($$renderer4) {
266
+ if (emptyContent()) {
267
+ $$renderer4.push("<!--[0-->");
268
+ emptyContent()($$renderer4);
269
+ $$renderer4.push(`<!---->`);
270
+ } else {
271
+ $$renderer4.push("<!--[-1-->");
272
+ $$renderer4.push(`No suggestions`);
273
+ }
274
+ $$renderer4.push(`<!--]-->`);
275
+ };
276
+ Command_menu($$renderer3, {
277
+ anchor,
278
+ caretIndex,
279
+ query: query(),
280
+ placement,
281
+ offset,
282
+ label,
283
+ listboxId: listboxId(),
284
+ onselect: handleSelect,
285
+ ondismiss: () => dismiss({ restoreFocus: false }),
286
+ onstatechange: handleStateChange,
287
+ get open() {
288
+ return open;
289
+ },
290
+ set open($$value) {
291
+ open = $$value;
292
+ $$settled = false;
293
+ },
294
+ items: items2,
295
+ empty: empty2,
296
+ $$slots: { items: true, empty: true }
297
+ });
298
+ }
299
+ $$renderer3.push(`<!---->`);
300
+ }
301
+ do {
302
+ $$settled = true;
303
+ $$inner_renderer = $$renderer2.copy();
304
+ $$render_inner($$inner_renderer);
305
+ } while (!$$settled);
306
+ $$renderer2.subsume($$inner_renderer);
307
+ $.bind_props($$props, { value });
308
+ }, Chat_composer_popover);
309
+ }
310
+
311
+ // src/components/chat-composer-popover/index.ts
312
+ var chat_composer_popover_default = Chat_composer_popover;
313
+ export { fuzzySubsequenceScore, filterFuzzySubsequence, Chat_composer_popover, chat_composer_popover_default };
314
+
315
+ //# debugId=A26051A42F206F7F64756E2164756E21
@@ -1,12 +1,12 @@
1
+ import {
2
+ Dropdown_group
3
+ } from "./index.server-x8c8x34n.js";
1
4
  import {
2
5
  Dropdown_label
3
6
  } from "./index.server-z7tyy8gh.js";
4
7
  import {
5
8
  Dropdown_separator
6
9
  } from "./index.server-vcr8a585.js";
7
- import {
8
- Dropdown_group
9
- } from "./index.server-x8c8x34n.js";
10
10
  import {
11
11
  Dropdown
12
12
  } from "./index.server-tfftb7hs.js";
@@ -32,4 +32,4 @@ var Dropdown2 = Object.assign(Dropdown, {
32
32
  var dropdown_default = Dropdown2;
33
33
  export { Dropdown2 as Dropdown, dropdown_default };
34
34
 
35
- //# debugId=4AD75212C41AB8F664756E2164756E21
35
+ //# debugId=6DFC01E65956544564756E2164756E21
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Popover
3
- } from "./index.server-hcfnae5y.js";
3
+ } from "./index.server-dwwqssey.js";
4
4
 
5
5
  // src/components/popover/index.ts
6
6
  var popover_default = Popover;
@@ -1,10 +1,10 @@
1
+ import {
2
+ createMultiSelection
3
+ } from "./index.server-p3aw22qv.js";
1
4
  import {
2
5
  Accordion_item,
3
6
  setAccordionContext
4
7
  } from "./index.server-hfx487zj.js";
5
- import {
6
- createMultiSelection
7
- } from "./index.server-p3aw22qv.js";
8
8
  import {
9
9
  classNames
10
10
  } from "./index.server-z7nvkz8v.js";
@@ -49,4 +49,4 @@ var Accordion2 = Object.assign(Accordion, {
49
49
  var accordion_default = Accordion2;
50
50
  export { Accordion2 as Accordion, accordion_default };
51
51
 
52
- //# debugId=AD282D0CC6C77AEF64756E2164756E21
52
+ //# debugId=E689D757091789D364756E2164756E21
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  Popover
3
- } from "./index.server-hcfnae5y.js";
3
+ } from "./index.server-dwwqssey.js";
4
4
  import {
5
5
  getFormFieldContext
6
6
  } from "./index.server-weae7gs2.js";
7
- import {
8
- _visually_hidden_live_region
9
- } from "./index.server-44vrcbhz.js";
10
7
  import {
11
8
  resolveFieldControl
12
9
  } from "./index.server-abm21gz1.js";
10
+ import {
11
+ _visually_hidden_live_region
12
+ } from "./index.server-44vrcbhz.js";
13
13
  import {
14
14
  classNames
15
15
  } from "./index.server-z7nvkz8v.js";
@@ -374,4 +374,4 @@ var autocomplete_default = Autocomplete;
374
374
 
375
375
  export { autocomplete_default };
376
376
 
377
- //# debugId=97F5263277D289D864756E2164756E21
377
+ //# debugId=D047F702637E518564756E2164756E21
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  conversationSummaryTimestamp
3
- } from "./index.server-s9khh4ry.js";
3
+ } from "./index.server-mzzb7dnm.js";
4
4
  import {
5
5
  classNames
6
6
  } from "./index.server-z7nvkz8v.js";
@@ -55,7 +55,7 @@ function _json_viewer_node($$renderer, $$props) {
55
55
  } else {
56
56
  $$renderer2.push("<!--[-1-->");
57
57
  }
58
- $$renderer2.push(`<!--]--> <span class="cinder-json-viewer__caret"${$.attr("data-cinder-collapsed", collapsed || undefined)}></span> <span class="cinder-json-viewer__brace">${$.escape(isArray() ? "[" : "{")}</span> `);
58
+ $$renderer2.push(`<!--]--> <svg class="cinder-json-viewer__caret"${$.attr("data-cinder-collapsed", collapsed || undefined)} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" focusable="false"><path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06z" clip-rule="evenodd"></path></svg> <span class="cinder-json-viewer__brace">${$.escape(isArray() ? "[" : "{")}</span> `);
59
59
  if (collapsed) {
60
60
  $$renderer2.push("<!--[0-->");
61
61
  $$renderer2.push(`<span class="cinder-json-viewer__summary">${$.escape(itemCount())} ${$.escape(itemCount() === 1 ? "item" : "items")}</span> <span class="cinder-json-viewer__brace">${$.escape(isArray() ? "]" : "}")}</span>`);
@@ -220,4 +220,4 @@ function Json_viewer($$renderer, $$props) {
220
220
 
221
221
  export { Json_viewer };
222
222
 
223
- //# debugId=4610D0EF23A4B97D64756E2164756E21
223
+ //# debugId=73E01DFC934121F164756E2164756E21
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Json_viewer
3
- } from "./index.server-w6k62afr.js";
3
+ } from "./index.server-ze1ymmbw.js";
4
4
 
5
5
  // src/components/json-viewer/index.ts
6
6
  var json_viewer_default = Json_viewer;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Payload_inspector
3
- } from "./index.server-vt6sn9y4.js";
3
+ } from "./index.server-m0ezemav.js";
4
4
 
5
5
  // src/components/payload-inspector/index.ts
6
6
  var payload_inspector_default = Payload_inspector;
@@ -1,9 +1,9 @@
1
- import {
2
- getFormFieldContext
3
- } from "./index.server-weae7gs2.js";
4
1
  import {
5
2
  commitValue
6
3
  } from "./index.server-42qeekwc.js";
4
+ import {
5
+ getFormFieldContext
6
+ } from "./index.server-weae7gs2.js";
7
7
  import {
8
8
  classNames
9
9
  } from "./index.server-z7nvkz8v.js";
@@ -50,4 +50,4 @@ function Toggle($$renderer, $$props) {
50
50
  var toggle_default = Toggle;
51
51
  export { Toggle, toggle_default };
52
52
 
53
- //# debugId=426B7366973E509A64756E2164756E21
53
+ //# debugId=12CB9C541A47207164756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lostgradient/cinder",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "A Svelte 5 component library and design system focused on accessibility, theming, and per-component tree-shaking.",
5
5
  "keywords": [
6
6
  "svelte",
@@ -967,6 +967,38 @@
967
967
  "import": "./src/components/chat/chat.examples.json",
968
968
  "default": "./src/components/chat/chat.examples.json"
969
969
  },
970
+ "./chat-composer-popover": {
971
+ "types": "./dist/components/chat-composer-popover/index.d.ts",
972
+ "browser": "./src/components/chat-composer-popover/index.ts",
973
+ "node": "./dist/server/components/chat-composer-popover/index.js",
974
+ "svelte": "./src/components/chat-composer-popover/index.ts",
975
+ "import": "./src/components/chat-composer-popover/index.ts",
976
+ "default": "./dist/components/chat-composer-popover/index.js"
977
+ },
978
+ "./chat-composer-popover/schema": {
979
+ "types": "./dist/components/chat-composer-popover/chat-composer-popover.schema.d.ts",
980
+ "browser": "./src/components/chat-composer-popover/chat-composer-popover.schema.ts",
981
+ "node": "./dist/components/chat-composer-popover/chat-composer-popover.schema.js",
982
+ "svelte": "./src/components/chat-composer-popover/chat-composer-popover.schema.ts",
983
+ "import": "./src/components/chat-composer-popover/chat-composer-popover.schema.ts",
984
+ "default": "./dist/components/chat-composer-popover/chat-composer-popover.schema.js"
985
+ },
986
+ "./chat-composer-popover/variables": {
987
+ "types": "./dist/components/chat-composer-popover/chat-composer-popover.variables.d.ts",
988
+ "browser": "./src/components/chat-composer-popover/chat-composer-popover.variables.ts",
989
+ "node": "./dist/components/chat-composer-popover/chat-composer-popover.variables.js",
990
+ "svelte": "./src/components/chat-composer-popover/chat-composer-popover.variables.ts",
991
+ "import": "./src/components/chat-composer-popover/chat-composer-popover.variables.ts",
992
+ "default": "./dist/components/chat-composer-popover/chat-composer-popover.variables.js"
993
+ },
994
+ "./chat-composer-popover/styles": {
995
+ "types": "./dist/components/chat-composer-popover/chat-composer-popover.css.d.ts",
996
+ "default": "./dist/components/chat-composer-popover/chat-composer-popover.css"
997
+ },
998
+ "./chat-composer-popover/examples": {
999
+ "import": "./src/components/chat-composer-popover/chat-composer-popover.examples.json",
1000
+ "default": "./src/components/chat-composer-popover/chat-composer-popover.examples.json"
1001
+ },
970
1002
  "./chat-conversation-header": {
971
1003
  "types": "./dist/components/chat-conversation-header/index.d.ts",
972
1004
  "browser": "./src/components/chat-conversation-header/index.ts",
@@ -6414,12 +6446,10 @@
6414
6446
  "@modelcontextprotocol/sdk": "^1.29.0",
6415
6447
  "@tanstack/virtual-core": "^3.17.1",
6416
6448
  "ajv": "^8",
6417
- "conversationalist": "^0.2.1",
6418
6449
  "diff-match-patch": "^1.0.5",
6419
6450
  "esm-env": "^1.2.0",
6420
6451
  "libphonenumber-js": "^1.13.3",
6421
- "qrcode": "^1.5.4",
6422
- "zod": "4.4.1"
6452
+ "qrcode": "^1.5.4"
6423
6453
  },
6424
6454
  "devDependencies": {
6425
6455
  "@changesets/parse": "0.4.3",
@@ -6427,10 +6457,13 @@
6427
6457
  "@testing-library/jest-dom": "^6.9.1",
6428
6458
  "@testing-library/svelte": "^5.2.7",
6429
6459
  "@types/bun": "^1.3.11",
6460
+ "@types/js-yaml": "^4.0.9",
6430
6461
  "@types/qrcode": "^1.5.6",
6431
6462
  "chalk": "^5.6.2",
6432
6463
  "change-case": "^5.4.4",
6464
+ "conversationalist": "^0.2.1",
6433
6465
  "happy-dom": "^15.11.7",
6466
+ "js-yaml": "^4.1.0",
6434
6467
  "lucide-svelte": "^0.503.0",
6435
6468
  "oxlint": "^1.56.0",
6436
6469
  "oxlint-tsgolint": "^0.17.0",
@@ -6444,7 +6477,8 @@
6444
6477
  "svelte-check": "^4.0.0",
6445
6478
  "svelte2tsx": "^0.7.33",
6446
6479
  "ts-morph": "^28.0.0",
6447
- "typescript": "^5.9.0"
6480
+ "typescript": "^5.9.0",
6481
+ "zod": "4.4.1"
6448
6482
  },
6449
6483
  "peerDependencies": {
6450
6484
  "@milkdown/ctx": "^7.17.3",
@@ -6458,6 +6492,7 @@
6458
6492
  "@types/mdast": "^4.0.4",
6459
6493
  "@types/unist": "^3.0.0",
6460
6494
  "comlink": "^4.4.2",
6495
+ "conversationalist": "^0.2.1",
6461
6496
  "hast-util-sanitize": "^5.0.0",
6462
6497
  "js-yaml": "^4.1.0",
6463
6498
  "lucide-svelte": ">=0.400.0 <1",
@@ -6478,7 +6513,8 @@
6478
6513
  "svelte": ">=5.56.0 <6",
6479
6514
  "unified": "^11.0.5",
6480
6515
  "unist-util-remove": "^4.0.0",
6481
- "unist-util-visit": "^5.0.0"
6516
+ "unist-util-visit": "^5.0.0",
6517
+ "zod": "4.4.1"
6482
6518
  },
6483
6519
  "peerDependenciesMeta": {
6484
6520
  "@milkdown/ctx": {
@@ -34,18 +34,18 @@ export type CommandItemRegistrationInput = {
34
34
  * Context provided by CommandPalette and consumed by CommandItem.
35
35
  */
36
36
  export type CommandListContext = {
37
- /** Stable id for the listbox; items compose their own ids from this. */
37
+ /** Live id for the listbox; items keep their ids in sync with it. */
38
38
  readonly listboxId: string;
39
39
  /** Id of the currently active (virtually focused) item, or null. */
40
40
  readonly activeItemId: string | null;
41
41
  /**
42
42
  * Called by each CommandItem when it mounts.
43
- * Returns a stable id and an unregister function.
43
+ * Returns a live id handle and an unregister function.
44
44
  */
45
45
  register: (
46
46
  input: CommandItemRegistrationInput,
47
47
  node: HTMLElement,
48
- ) => { id: string; unregister: () => void };
48
+ ) => { readonly id: string; unregister: () => void };
49
49
  /** Called by items on pointerenter to sync hover with arrow-key navigation. */
50
50
  setActiveById: (id: string) => void;
51
51
  /** Called by items and owners to activate the current item by id. */