@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,16 +1,12 @@
1
1
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
2
2
  @import '../badge/badge.css';
3
- @import '../code-block/code-block.css';
4
3
  @import '../copy-button/copy-button.css';
5
- @import '../description-list/description-list.css';
6
4
  @import '../json-viewer/json-viewer.css';
7
- @import '../tabs/tabs.css';
8
5
 
9
6
  @layer cinder.components {
10
7
  .cinder-payload-inspector {
11
8
  display: flex;
12
9
  flex-direction: column;
13
- gap: var(--cinder-space-0);
14
10
  border: 1px solid var(--cinder-border-muted);
15
11
  border-radius: var(--cinder-radius-md);
16
12
  overflow: hidden;
@@ -27,7 +23,7 @@
27
23
  align-items: center;
28
24
  justify-content: space-between;
29
25
  gap: var(--cinder-space-2);
30
- padding: var(--cinder-space-2) var(--cinder-space-3);
26
+ padding: var(--cinder-space-1) var(--cinder-space-2) var(--cinder-space-1) var(--cinder-space-3);
31
27
  background: var(--cinder-surface-raised);
32
28
  border-bottom: 1px solid var(--cinder-border-muted);
33
29
  flex-wrap: wrap;
@@ -55,71 +51,29 @@
55
51
  }
56
52
 
57
53
  /* ----------------------------------------
58
- * Tab list within inspector
59
- * ---------------------------------------- */
60
-
61
- .cinder-payload-inspector__tabs {
62
- display: flex;
63
- flex-direction: column;
64
- flex: 1;
65
- min-block-size: 0;
66
- }
67
-
68
- /* ----------------------------------------
69
- * Panel content areas
54
+ * Panel content
70
55
  * ---------------------------------------- */
71
56
 
72
57
  .cinder-payload-inspector__panel {
73
- padding: var(--cinder-space-4);
74
- overflow: auto;
75
- }
76
-
77
- .cinder-payload-inspector__panel--code {
78
- padding: var(--cinder-space-0);
79
- }
80
-
81
- /* ----------------------------------------
82
- * Raw view (CodeBlock wrapper)
83
- * ---------------------------------------- */
84
-
85
- .cinder-payload-inspector__raw {
86
- /* Remove the built-in CodeBlock rounded corners so the block sits flush
87
- inside the panel. Border radius is handled by the outer inspector. */
88
- border-radius: 0;
89
- }
90
-
91
- /* ----------------------------------------
92
- * Summary view
93
- * ---------------------------------------- */
94
-
95
- .cinder-payload-inspector__summary {
96
- display: flex;
97
- flex-direction: column;
98
- gap: var(--cinder-space-4);
99
- }
100
-
101
- .cinder-payload-inspector__summary-badges {
102
- display: flex;
103
- align-items: center;
104
- gap: var(--cinder-space-2);
105
- flex-wrap: wrap;
106
- }
107
-
108
- .cinder-payload-inspector__summary-value {
109
58
  display: flex;
110
59
  flex-direction: column;
111
60
  gap: var(--cinder-space-2);
61
+ padding: var(--cinder-space-2);
62
+ overflow: auto;
112
63
  }
113
64
 
114
- .cinder-payload-inspector__summary-value-label {
115
- font-size: var(--cinder-text-xs);
116
- font-weight: var(--cinder-font-medium);
117
- color: var(--cinder-text-muted);
118
- text-transform: uppercase;
119
- letter-spacing: 0.04em;
65
+ /* JsonViewer carries its own border/background/padding for standalone use,
66
+ but nested here it would double the framing this component's own header
67
+ bar + outer border already provide — strip it back to flush content. */
68
+ .cinder-payload-inspector__panel .cinder-json-viewer {
69
+ padding: 0;
70
+ border: none;
71
+ border-radius: 0;
72
+ background: transparent;
120
73
  }
121
74
 
122
75
  .cinder-payload-inspector__primitive {
76
+ margin: 0;
123
77
  font-family: var(--cinder-font-mono);
124
78
  font-size: var(--cinder-text-sm);
125
79
  color: var(--cinder-text);
@@ -127,6 +81,7 @@
127
81
  padding: var(--cinder-space-2) var(--cinder-space-3);
128
82
  border-radius: var(--cinder-radius-sm);
129
83
  border: 1px solid var(--cinder-border-muted);
84
+ white-space: pre-wrap;
130
85
  word-break: break-all;
131
86
  }
132
87
 
@@ -156,24 +111,9 @@
156
111
  display: flex;
157
112
  align-items: center;
158
113
  justify-content: center;
159
- padding: var(--cinder-space-8) var(--cinder-space-4);
114
+ padding: var(--cinder-space-4);
160
115
  color: var(--cinder-text-disabled);
161
116
  font-size: var(--cinder-text-sm);
162
117
  font-style: italic;
163
118
  }
164
-
165
- /* ----------------------------------------
166
- * Focus ring on focusable elements we own
167
- * ---------------------------------------- */
168
-
169
- .cinder-payload-inspector:focus-visible {
170
- outline: var(--cinder-ring-width) solid transparent;
171
- box-shadow: var(--_cinder-focus-ring-shadow);
172
- }
173
-
174
- @media (forced-colors: active) {
175
- .cinder-payload-inspector:focus-visible {
176
- outline: var(--cinder-ring-width) solid ButtonText;
177
- }
178
- }
179
119
  }
@@ -65,43 +65,17 @@ string values; strings that look like serialized JSON are parsed. Pass
65
65
  truncated: {
66
66
  type: "boolean",
67
67
  description: `When true, the payload has been truncated by the producer (e.g. because it
68
- exceeded a wire size limit). The inspector renders a truncation badge in the
69
- summary and a notice above the raw view.`
68
+ exceeded a wire size limit). The inspector renders a truncation badge in
69
+ the header.`
70
70
  },
71
71
  maxBytes: {
72
72
  type: "number",
73
73
  description: `Maximum byte size before the tree view is replaced with an oversize
74
- placeholder. Defaults to 1,048,576 (1 MB). Does not affect the raw view.`
75
- },
76
- meta: {
77
- type: "object",
78
- properties: {
79
- contentType: {
80
- type: "string",
81
- description: 'Content type or serializer label, e.g. "application/json" or "Protobuf".'
82
- },
83
- source: {
84
- type: "string",
85
- description: "Optional source label, e.g. a workflow name, activity name, or endpoint path."
86
- },
87
- timestamp: {
88
- type: "string",
89
- description: "Optional ISO 8601 timestamp string rendered in the summary."
90
- }
91
- },
92
- additionalProperties: false,
93
- description: `Structured metadata shown in the summary panel. Pass contentType, source,
94
- and/or timestamp to populate the description list rows.`
95
- },
96
- activeView: {
97
- enum: ["summary", "tree", "raw"],
98
- description: `Initially active view tab. Defaults to "summary". Bind to control
99
- the active tab from outside.`
74
+ placeholder. Defaults to 1,048,576 (1 MB).`
100
75
  },
101
76
  label: {
102
77
  type: "string",
103
- description: `Label for the inspector region, used as the accessible name for the
104
- containing section. Defaults to "Payload inspector".`
78
+ description: 'Visible header label for the inspector. Defaults to "Payload inspector".'
105
79
  },
106
80
  class: {
107
81
  type: "string",
@@ -111,16 +85,6 @@ containing section. Defaults to "Payload inspector".`
111
85
  additionalProperties: false,
112
86
  metadata: {
113
87
  unsupportedProps: [
114
- {
115
- name: "format",
116
- reason: "function-or-snippet",
117
- description: `Custom serializer for the Raw view display text. Receives the parsed value
118
- and must return a string. Defaults to JSON.stringify with 2-space
119
- indentation. Use this to customize key ordering, indentation, or
120
- alternative serialization formats. Does not affect the Summary or Tree
121
- views, or the copy buttons. For redaction, transform the value upstream and
122
- pass the already-redacted value as \`value\`.`
123
- },
124
88
  {
125
89
  name: "parse",
126
90
  reason: "function-or-snippet",
@@ -134,4 +98,4 @@ export {
134
98
  payload_inspector_schema_default as default
135
99
  };
136
100
 
137
- //# debugId=73A69749F4816F5B64756E2164756E21
101
+ //# debugId=EA34362B199727DB64756E2164756E21
@@ -2,18 +2,18 @@
2
2
  * @cinder
3
3
  * @category data-display
4
4
  * @status stable
5
- * @purpose Composed inspector for structured payloads with summary, tree, and raw views, copy actions, and size/truncation status.
5
+ * @purpose Compact inspector for structured payloads: a labeled tree view with a copy action and size/truncation status.
6
6
  * @tag json
7
7
  * @tag inspector
8
8
  * @tag payload
9
9
  * @useWhen Inspecting workflow inputs, signal payloads, activity results, or API response bodies in a dashboard.
10
- * @useWhen Displaying a structured payload with metadata like content type, source, and timestamp.
10
+ * @useWhen Displaying a structured payload with a visible label, byte size, and copy affordance.
11
11
  * @avoidWhen Rendering a raw code block only — use code-block directly instead.
12
12
  * @avoidWhen Needing search, filtering, or virtualization over large collections — compose a custom viewer.
13
- * @related json-viewer, code-block, description-list, copy-button
13
+ * @related json-viewer, code-block, copy-button
14
14
  */
15
- export type { PayloadInspectorMeta, PayloadInspectorProps, PayloadInspectorSchemaProps, PayloadInspectorSchemaValue, PayloadInspectorView, } from './payload-inspector.types.ts';
15
+ export type { PayloadInspectorProps, PayloadInspectorSchemaProps, PayloadInspectorSchemaValue, } from './payload-inspector.types.ts';
16
16
  import type { PayloadInspectorProps } from './payload-inspector.types.ts';
17
- declare const PayloadInspector: import("svelte").Component<PayloadInspectorProps, {}, "activeView">;
17
+ declare const PayloadInspector: import("svelte").Component<PayloadInspectorProps, {}, "">;
18
18
  type PayloadInspector = ReturnType<typeof PayloadInspector>;
19
19
  export default PayloadInspector;
@@ -1,19 +1,4 @@
1
1
  import type { HTMLAttributes } from 'svelte/elements';
2
- /** Active view tab for the inspector. */
3
- export type PayloadInspectorView = 'summary' | 'tree' | 'raw';
4
- /**
5
- * Structured metadata about the payload shown in the summary view.
6
- *
7
- * @schemaObject
8
- */
9
- export type PayloadInspectorMeta = {
10
- /** Content type or serializer label, e.g. "application/json" or "Protobuf". */
11
- contentType?: string;
12
- /** Optional source label, e.g. a workflow name, activity name, or endpoint path. */
13
- source?: string;
14
- /** Optional ISO 8601 timestamp string rendered in the summary. */
15
- timestamp?: string;
16
- };
17
2
  /** Schema-facing payload value. Kept permissive to match the runtime `unknown` prop. */
18
3
  export type PayloadInspectorSchemaValue = unknown;
19
4
  /**
@@ -29,29 +14,15 @@ export type PayloadInspectorProps = Omit<HTMLAttributes<HTMLElement>, 'class' |
29
14
  value?: unknown;
30
15
  /**
31
16
  * When true, the payload has been truncated by the producer (e.g. because it
32
- * exceeded a wire size limit). The inspector renders a truncation badge in the
33
- * summary and a notice above the raw view.
17
+ * exceeded a wire size limit). The inspector renders a truncation badge in
18
+ * the header.
34
19
  */
35
20
  truncated?: boolean;
36
21
  /**
37
22
  * Maximum byte size before the tree view is replaced with an oversize
38
- * placeholder. Defaults to 1,048,576 (1 MB). Does not affect the raw view.
23
+ * placeholder. Defaults to 1,048,576 (1 MB).
39
24
  */
40
25
  maxBytes?: number;
41
- /**
42
- * Structured metadata shown in the summary panel. Pass contentType, source,
43
- * and/or timestamp to populate the description list rows.
44
- */
45
- meta?: PayloadInspectorMeta;
46
- /**
47
- * Custom serializer for the Raw view display text. Receives the parsed value
48
- * and must return a string. Defaults to JSON.stringify with 2-space
49
- * indentation. Use this to customize key ordering, indentation, or
50
- * alternative serialization formats. Does not affect the Summary or Tree
51
- * views, or the copy buttons. For redaction, transform the value upstream and
52
- * pass the already-redacted value as `value`.
53
- */
54
- format?: (value: unknown) => string;
55
26
  /**
56
27
  * Custom parser applied when `value` is a string. Receives the raw string
57
28
  * and must return a parsed value or throw. Defaults to JSON.parse. Use this
@@ -59,13 +30,7 @@ export type PayloadInspectorProps = Omit<HTMLAttributes<HTMLElement>, 'class' |
59
30
  */
60
31
  parse?: (raw: string) => unknown;
61
32
  /**
62
- * Initially active view tab. Defaults to "summary". Bind to control
63
- * the active tab from outside.
64
- */
65
- activeView?: PayloadInspectorView;
66
- /**
67
- * Label for the inspector region, used as the accessible name for the
68
- * containing section. Defaults to "Payload inspector".
33
+ * Visible header label for the inspector. Defaults to "Payload inspector".
69
34
  */
70
35
  label?: string;
71
36
  /** Additional CSS classes applied to the root element. */
@@ -74,8 +39,8 @@ export type PayloadInspectorProps = Omit<HTMLAttributes<HTMLElement>, 'class' |
74
39
  /**
75
40
  * Cinder-specific schema surface for PayloadInspector.
76
41
  *
77
- * Parser and formatter callbacks are documented but marked unsupported because
78
- * functions cannot be represented as JSON Schema controls.
42
+ * The parser callback is documented but marked unsupported because functions
43
+ * cannot be represented as JSON Schema controls.
79
44
  */
80
45
  export type PayloadInspectorSchemaProps = {
81
46
  /**
@@ -89,28 +54,17 @@ export type PayloadInspectorSchemaProps = {
89
54
  value?: PayloadInspectorSchemaValue;
90
55
  /**
91
56
  * When true, the payload has been truncated by the producer (e.g. because it
92
- * exceeded a wire size limit). The inspector renders a truncation badge in the
93
- * summary and a notice above the raw view.
57
+ * exceeded a wire size limit). The inspector renders a truncation badge in
58
+ * the header.
94
59
  */
95
60
  truncated?: boolean;
96
61
  /**
97
62
  * Maximum byte size before the tree view is replaced with an oversize
98
- * placeholder. Defaults to 1,048,576 (1 MB). Does not affect the raw view.
63
+ * placeholder. Defaults to 1,048,576 (1 MB).
99
64
  */
100
65
  maxBytes?: number;
101
66
  /**
102
- * Structured metadata shown in the summary panel. Pass contentType, source,
103
- * and/or timestamp to populate the description list rows.
104
- */
105
- meta?: PayloadInspectorMeta;
106
- /**
107
- * Initially active view tab. Defaults to "summary". Bind to control
108
- * the active tab from outside.
109
- */
110
- activeView?: PayloadInspectorView;
111
- /**
112
- * Label for the inspector region, used as the accessible name for the
113
- * containing section. Defaults to "Payload inspector".
67
+ * Visible header label for the inspector. Defaults to "Payload inspector".
114
68
  */
115
69
  label?: string;
116
70
  /** Additional CSS classes applied to the root element. */
@@ -1053,7 +1053,9 @@ function Sidebar($$anchor, $$props) {
1053
1053
  return label();
1054
1054
  });
1055
1055
  const navigationLabel = $6.derived(() => `${$6.get(validatedLabel)} navigation`);
1056
- const mobile = typeof window === "undefined" || typeof window.matchMedia !== "function" ? { current: false } : new MediaQuery2("(max-width: 47.99rem)", false);
1056
+ const hasMatchMedia = typeof window !== "undefined" && typeof window.matchMedia === "function";
1057
+ const usesSsrResponsiveFallback = !hasMatchMedia;
1058
+ const mobile = hasMatchMedia ? new MediaQuery2("(max-width: 47.99rem)", false) : { current: false };
1057
1059
  const context = {
1058
1060
  get collapsed() {
1059
1061
  return collapsed();
@@ -1103,7 +1105,8 @@ function Sidebar($$anchor, $$props) {
1103
1105
  ...rest,
1104
1106
  class: $0,
1105
1107
  "aria-label": $6.get(validatedLabel),
1106
- "data-cinder-collapsed": collapsed() ? "" : undefined
1108
+ "data-cinder-collapsed": collapsed() ? "" : undefined,
1109
+ "data-cinder-ssr-mobile-fallback": usesSsrResponsiveFallback ? "" : undefined
1107
1110
  }), [
1108
1111
  () => classNames("cinder-sidebar", "cinder-sidebar--desktop", $$props.class)
1109
1112
  ]);
@@ -1130,4 +1133,4 @@ export {
1130
1133
  Sidebar
1131
1134
  };
1132
1135
 
1133
- //# debugId=3DBAC8BB0279502164756E2164756E21
1136
+ //# debugId=13D61E15EB9EC3BE64756E2164756E21
@@ -40,6 +40,10 @@
40
40
  border-inline-end: none;
41
41
  }
42
42
 
43
+ .cinder-sidebar--desktop[data-cinder-ssr-mobile-fallback] {
44
+ display: none;
45
+ }
46
+
43
47
  .cinder-sidebar--desktop[data-cinder-collapsed] {
44
48
  display: none;
45
49
  }
@@ -114,7 +114,10 @@ function Tab($$anchor, $$props) {
114
114
  let disabled = $.prop($$props, "disabled", 3, false);
115
115
  const tabs = getTabsContext();
116
116
  const tabId = $.derived(() => $$props.id ?? `${tabs.baseId}-tab-${$$props.value}`);
117
- const panelId = $.derived(() => `${tabs.baseId}-panel-${$$props.value}`);
117
+ const panelId = $.derived(() => {
118
+ const controlsId = $$props.controls?.trim();
119
+ return controlsId ? controlsId : `${tabs.baseId}-panel-${$$props.value}`;
120
+ });
118
121
  const isActive = $.derived(() => tabs.isActive($$props.value));
119
122
  const isFocusable = $.derived(() => tabs.isFocusable($$props.value));
120
123
  let buttonElement = $.state(undefined);
@@ -194,4 +197,4 @@ export {
194
197
  Tab
195
198
  };
196
199
 
197
- //# debugId=DBA8AA18E9131ED964756E2164756E21
200
+ //# debugId=4B2CDEBAC98F406464756E2164756E21
@@ -58,15 +58,19 @@ var schema = {
58
58
  properties: {
59
59
  value: {
60
60
  type: "string",
61
- description: "Identifier matches the value of the corresponding TabPanel."
61
+ description: "Stable identifier used for tab selection; matches TabPanel in the default pattern."
62
62
  },
63
63
  id: {
64
64
  type: "string",
65
65
  description: "Optional explicit id override; auto-generated otherwise for ARIA wiring."
66
66
  },
67
+ controls: {
68
+ type: "string",
69
+ description: "Optional non-empty `aria-controls` target for caller-owned panels. Empty or\nwhitespace-only strings are treated as omitted. By default, Cinder points\nat the matching TabPanel id (`${baseId}-panel-${value}`)."
70
+ },
67
71
  disabled: {
68
72
  type: "boolean",
69
- description: "Disables this single tab. The panel content is hidden but its DOM stays."
73
+ description: "Disables this single tab and removes it from keyboard activation."
70
74
  },
71
75
  class: {
72
76
  type: "string",
@@ -96,4 +100,4 @@ export {
96
100
  tab_schema_default as default
97
101
  };
98
102
 
99
- //# debugId=70EF8B46C259F16164756E2164756E21
103
+ //# debugId=6054ACE83602A98064756E2164756E21
@@ -2,11 +2,12 @@
2
2
  * @cinder
3
3
  * @category navigation
4
4
  * @status stable
5
- * @purpose Single selectable tab trigger inside a tabs composite that registers with the parent context and controls a matching tab-panel.
5
+ * @purpose Single selectable tab trigger inside a tabs composite that registers with the parent context and controls a matching tab-panel or caller-owned panel id.
6
6
  * @tag navigation
7
7
  * @tag tabs
8
8
  * @useWhen Declaring one tab heading inside a tabs ancestor with a stable value identifier.
9
9
  * @useWhen Pairing one-to-one with a tab-panel that shares the same value to wire aria-controls.
10
+ * @useWhen Pointing multiple tab triggers at a caller-owned panel with the controls prop.
10
11
  * @avoidWhen Used outside a tabs ancestor — the component throws at construction.
11
12
  * @avoidWhen Rendering a generic action button — use button instead.
12
13
  * @related tabs, tab-list, tab-panel
@@ -1,10 +1,16 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  export type TabProps = {
3
- /** Identifier matches the value of the corresponding TabPanel. */
3
+ /** Stable identifier used for tab selection; matches TabPanel in the default pattern. */
4
4
  value: string;
5
5
  /** Optional explicit id override; auto-generated otherwise for ARIA wiring. */
6
6
  id?: string;
7
- /** Disables this single tab. The panel content is hidden but its DOM stays. */
7
+ /**
8
+ * Optional non-empty `aria-controls` target for caller-owned panels. Empty or
9
+ * whitespace-only strings are treated as omitted. By default, Cinder points
10
+ * at the matching TabPanel id (`${baseId}-panel-${value}`).
11
+ */
12
+ controls?: string;
13
+ /** Disables this single tab and removes it from keyboard activation. */
8
14
  disabled?: boolean;
9
15
  /** Additional class names merged with `.cinder-tab`. */
10
16
  class?: string;
@@ -173,7 +173,10 @@ function Tab($$anchor, $$props) {
173
173
  let disabled = $3.prop($$props, "disabled", 3, false);
174
174
  const tabs = getTabsContext();
175
175
  const tabId = $3.derived(() => $$props.id ?? `${tabs.baseId}-tab-${$$props.value}`);
176
- const panelId = $3.derived(() => `${tabs.baseId}-panel-${$$props.value}`);
176
+ const panelId = $3.derived(() => {
177
+ const controlsId = $$props.controls?.trim();
178
+ return controlsId ? controlsId : `${tabs.baseId}-panel-${$$props.value}`;
179
+ });
177
180
  const isActive = $3.derived(() => tabs.isActive($$props.value));
178
181
  const isFocusable = $3.derived(() => tabs.isFocusable($$props.value));
179
182
  let buttonElement = $3.state(undefined);
@@ -521,4 +524,4 @@ export {
521
524
  Tab
522
525
  };
523
526
 
524
- //# debugId=CAE059CC8EC3D9DC64756E2164756E21
527
+ //# debugId=03ABA1ADD3F1F54D64756E2164756E21
@@ -3045,6 +3045,7 @@ function Card($$anchor, $$props) {
3045
3045
  "data-cinder-variant": variant(),
3046
3046
  "data-cinder-tone": tone(),
3047
3047
  "data-cinder-edge-to-edge-mobile": edgeToEdgeOnMobile() ? "" : undefined,
3048
+ "data-cinder-padding": padding(),
3048
3049
  ...$10.get(labelAttributes)
3049
3050
  }), [() => classNames("cinder-card", $$props.class)]);
3050
3051
  var node = $10.child(div);
@@ -3347,4 +3348,4 @@ export {
3347
3348
  Team_section as TeamSection
3348
3349
  };
3349
3350
 
3350
- //# debugId=EFCDF452D3F479D764756E2164756E21
3351
+ //# debugId=B2014F051BEF956864756E2164756E21
@@ -384,6 +384,7 @@ function Card($$anchor, $$props) {
384
384
  "data-cinder-variant": variant(),
385
385
  "data-cinder-tone": tone(),
386
386
  "data-cinder-edge-to-edge-mobile": edgeToEdgeOnMobile() ? "" : undefined,
387
+ "data-cinder-padding": padding(),
387
388
  ...$5.get(labelAttributes)
388
389
  }), [() => classNames("cinder-card", $$props.class)]);
389
390
  var node = $5.child(div);
@@ -652,4 +653,4 @@ export {
652
653
  Testimonial_section as TestimonialSection
653
654
  };
654
655
 
655
- //# debugId=B0CA25CCA793A0AE64756E2164756E21
656
+ //# debugId=D161A9E7D3DB5B8764756E2164756E21
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export type { AlertProps, AlertVariant } from './components/alert/index.ts';
11
11
  export { default as AlertDialog } from './components/alert-dialog/index.ts';
12
12
  export type { AlertDialogProps } from './components/alert-dialog/index.ts';
13
13
  export { default as ApprovalCard } from './components/approval-card/index.ts';
14
- export type { ApprovalCardCallbacks, ApprovalCardProps, ApprovalCardSchemaProps, ApprovalOperation, ApprovalOperationKind, ApprovalResolution, ApprovalResolutionDecision, ApprovalSandbox, ApprovalState, ApprovalTool, ApprovalToolRisk, } from './components/approval-card/index.ts';
14
+ export type { ApprovalCardCallbacks, ApprovalCardHeadingLevel, ApprovalCardProps, ApprovalCardSchemaProps, ApprovalOperation, ApprovalOperationKind, ApprovalResolution, ApprovalResolutionDecision, ApprovalSandbox, ApprovalState, ApprovalTool, ApprovalToolRisk, } from './components/approval-card/index.ts';
15
15
  export { default as AreaChart } from './components/area-chart/index.ts';
16
16
  export type { AreaChartProps, AreaChartSchemaProps } from './components/area-chart/index.ts';
17
17
  export { default as Autocomplete } from './components/autocomplete/index.ts';
@@ -53,6 +53,8 @@ export { default as Carousel } from './components/carousel/index.ts';
53
53
  export type { CarouselControlLabel, CarouselProps, CarouselSlide, CarouselSlideContent, } from './components/carousel/index.ts';
54
54
  export { default as Chat } from './components/chat/index.ts';
55
55
  export type { ChatProps } from './components/chat/index.ts';
56
+ export { default as ChatComposerPopover, filterFuzzySubsequence, fuzzySubsequenceScore, } from './components/chat-composer-popover/index.ts';
57
+ export type { ChatComposerPopoverComposerProps, ChatComposerPopoverItem, ChatComposerPopoverItemSnippetContext, ChatComposerPopoverProps, ChatComposerPopoverSelection, ChatComposerPopoverTriggerMatch, FuzzyFilterItem, FuzzyFilterResult, } from './components/chat-composer-popover/index.ts';
56
58
  export { default as ChatConversationHeader } from './components/chat-conversation-header/index.ts';
57
59
  export type { ChatConversationHeaderHeadingLevel, ChatConversationHeaderProps, } from './components/chat-conversation-header/index.ts';
58
60
  export { default as ChatConversationList, deriveConversationSummary, } from './components/chat-conversation-list/index.ts';
@@ -243,7 +245,7 @@ export type { PaginationProps } from './components/pagination/index.ts';
243
245
  export { default as PageHeader } from './components/page-header/index.ts';
244
246
  export type { PageHeaderProps } from './components/page-header/index.ts';
245
247
  export { default as PayloadInspector } from './components/payload-inspector/index.ts';
246
- export type { PayloadInspectorMeta, PayloadInspectorProps, PayloadInspectorView, } from './components/payload-inspector/index.ts';
248
+ export type { PayloadInspectorProps } from './components/payload-inspector/index.ts';
247
249
  export { default as PermissionMatrix } from './components/permission-matrix/index.ts';
248
250
  export type { PermissionMatrixAxisItem, PermissionMatrixCellState, PermissionMatrixProps, PermissionMatrixSchemaProps, PermissionMatrixStateLabels, } from './components/permission-matrix/index.ts';
249
251
  export { default as PhoneInput } from './components/phone-input/index.ts';