@lostgradient/cinder 0.3.0 → 0.4.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 (921) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/README.md +2 -2
  3. package/components.json +138 -86
  4. package/dist/_internal/locale-context.d.ts +9 -0
  5. package/dist/_internal/text-direction.d.ts +4 -0
  6. package/dist/_internal/tree-context.d.ts +2 -0
  7. package/dist/api-contract.d.ts +1 -1
  8. package/dist/components/_internal/create-command-list-state.svelte.d.ts +43 -0
  9. package/dist/components/_internal/create-sliding-dialog-state.svelte.d.ts +26 -0
  10. package/dist/components/access-gate/index.js +379 -513
  11. package/dist/components/alert/alert.css +1 -1
  12. package/dist/components/alert/alert.schema.js +4 -4
  13. package/dist/components/alert/alert.types.d.ts +4 -4
  14. package/dist/components/alert/index.js +4 -4
  15. package/dist/components/alert-dialog/index.js +9 -3
  16. package/dist/components/approval-card/approval-card-state.d.ts +3 -0
  17. package/dist/components/approval-card/approval-card.css +239 -0
  18. package/dist/components/approval-card/approval-card.schema.js +236 -0
  19. package/dist/components/approval-card/approval-card.svelte.d.ts +21 -0
  20. package/dist/components/approval-card/approval-card.types.d.ts +155 -0
  21. package/dist/components/{subscription-badge/subscription-badge.variables.js → approval-card/approval-card.variables.js} +4 -4
  22. package/dist/components/approval-card/index.d.ts +5 -0
  23. package/dist/components/approval-card/index.js +3794 -0
  24. package/dist/components/autocomplete/autocomplete.css +12 -1
  25. package/dist/components/autocomplete/index.js +106 -81
  26. package/dist/components/avatar-group/index.js +3 -2
  27. package/dist/components/badge/badge.schema.js +6 -3
  28. package/dist/components/badge/badge.svelte.d.ts +4 -0
  29. package/dist/components/badge/badge.types.d.ts +18 -4
  30. package/dist/components/badge/index.d.ts +1 -1
  31. package/dist/components/badge/index.js +99 -3
  32. package/dist/components/banner/banner.schema.js +2 -2
  33. package/dist/components/banner/banner.types.d.ts +1 -1
  34. package/dist/components/banner/index.js +3 -3
  35. package/dist/components/button/button.css +1 -1
  36. package/dist/components/capability-gate/capability-gate.css +15 -2
  37. package/dist/components/capability-gate/capability-gate.schema.js +4 -4
  38. package/dist/components/capability-gate/capability-gate.types.d.ts +6 -6
  39. package/dist/components/capability-gate/index.js +7 -7
  40. package/dist/components/chat/chat.schema.js +11 -26
  41. package/dist/components/chat/chat.types.d.ts +30 -15
  42. package/dist/components/chat/container/chat-events.d.ts +2 -2
  43. package/dist/components/chat/container/chat-history-trigger.svelte.d.ts +1 -1
  44. package/dist/components/chat/container/chat.svelte.d.ts +1 -1
  45. package/dist/components/chat/container/use-chat-scroll-state.svelte.d.ts +4 -4
  46. package/dist/components/chat/container/use-chat-unread-state.svelte.d.ts +6 -6
  47. package/dist/components/chat/index.d.ts +1 -1
  48. package/dist/components/chat/index.js +2257 -1913
  49. package/dist/components/chat/input/chat-input.svelte.d.ts +3 -1
  50. package/dist/components/chat-conversation-header/index.js +261 -29
  51. package/dist/components/chat-conversation-list/chat-conversation-list.css +13 -0
  52. package/dist/components/checkbox/checkbox.css +3 -0
  53. package/dist/components/checkbox/checkbox.schema.js +6 -1
  54. package/dist/components/checkbox/checkbox.types.d.ts +2 -0
  55. package/dist/components/checkbox/index.js +78 -22
  56. package/dist/components/checkbox-group/checkbox-group.css +3 -0
  57. package/dist/components/checkbox-group/checkbox-group.schema.js +4 -4
  58. package/dist/components/checkbox-group/checkbox-group.types.d.ts +12 -7
  59. package/dist/components/checkbox-group/index.js +50 -21
  60. package/dist/components/choice-grid/index.js +2 -2
  61. package/dist/components/choice-grid-item/index.js +2 -2
  62. package/dist/components/click-away-listener/click-away-listener.schema.js +3 -3
  63. package/dist/components/click-away-listener/click-away-listener.types.d.ts +3 -3
  64. package/dist/components/click-away-listener/index.js +3 -3
  65. package/dist/components/code-block/code-block.css +4 -3
  66. package/dist/components/code-block/index.js +6 -5
  67. package/dist/components/collapsible/collapsible.schema.js +2 -2
  68. package/dist/components/collapsible/collapsible.types.d.ts +2 -2
  69. package/dist/components/collapsible/index.js +3 -3
  70. package/dist/components/color-field/color-field.schema.js +3 -3
  71. package/dist/components/color-field/color-field.types.d.ts +2 -2
  72. package/dist/components/color-field/index.js +133 -69
  73. package/dist/components/color-picker/index.js +29 -18
  74. package/dist/components/color-swatch-picker/index.js +29 -18
  75. package/dist/components/combobox/combobox.schema.js +6 -2
  76. package/dist/components/combobox/combobox.types.d.ts +7 -1
  77. package/dist/components/combobox/index.js +112 -60
  78. package/dist/components/command-item/command-item.css +10 -0
  79. package/dist/components/command-item/command-item.schema.js +9 -1
  80. package/dist/components/command-item/command-item.types.d.ts +4 -0
  81. package/dist/components/command-item/index.js +9 -1
  82. package/dist/components/command-menu/index.js +257 -161
  83. package/dist/components/command-palette/command-palette.schema.js +2 -3
  84. package/dist/components/command-palette/command-palette.types.d.ts +1 -2
  85. package/dist/components/command-palette/index.js +282 -192
  86. package/dist/components/confirm-dialog/index.js +9 -3
  87. package/dist/components/context-menu/context-menu.context.d.ts +2 -0
  88. package/dist/components/context-menu/index.js +300 -40
  89. package/dist/components/context-menu-trigger/index.js +11 -8
  90. package/dist/components/copy-button/index.js +6 -5
  91. package/dist/components/data-grid/_internal/column-model.svelte.d.ts +1 -0
  92. package/dist/components/data-grid/data-grid.css +25 -0
  93. package/dist/components/data-grid/data-grid.schema.js +3 -3
  94. package/dist/components/data-grid/data-grid.types.d.ts +8 -2
  95. package/dist/components/data-grid/index.js +11 -8
  96. package/dist/components/data-list/data-list.schema.js +7 -10
  97. package/dist/components/data-list/data-list.types.d.ts +5 -9
  98. package/dist/components/data-list/index.js +15 -39
  99. package/dist/components/data-table/data-table.css +13 -0
  100. package/dist/components/data-table/index.js +32 -19
  101. package/dist/components/date-range-field/date-range-field.schema.js +7 -3
  102. package/dist/components/date-range-field/date-range-field.svelte.d.ts +2 -2
  103. package/dist/components/date-range-field/date-range-field.types.d.ts +15 -10
  104. package/dist/components/date-range-field/index.d.ts +1 -1
  105. package/dist/components/date-range-field/index.js +160 -17
  106. package/dist/components/diff-viewer/diff-front-matter.svelte.d.ts +2 -2
  107. package/dist/components/diff-viewer/diff-line.svelte.d.ts +2 -2
  108. package/dist/components/diff-viewer/diff-toolbar.svelte.d.ts +2 -2
  109. package/dist/components/diff-viewer/diff-viewer.svelte.d.ts +1 -1
  110. package/dist/components/diff-viewer/diff-viewer.types.d.ts +3 -3
  111. package/dist/components/diff-viewer/index.d.ts +1 -1
  112. package/dist/components/diff-viewer/index.js +171 -67
  113. package/dist/components/drawer/index.js +353 -283
  114. package/dist/components/dropdown/dropdown.css +7 -1
  115. package/dist/components/dropdown/dropdown.types.d.ts +3 -0
  116. package/dist/components/dropdown/index.js +267 -35
  117. package/dist/components/dropdown-group/dropdown-group.schema.js +4 -4
  118. package/dist/components/dropdown-group/dropdown-group.types.d.ts +4 -4
  119. package/dist/components/dropdown-group/index.js +7 -7
  120. package/dist/components/dropdown-item/dropdown-item.schema.js +9 -1
  121. package/dist/components/dropdown-item/dropdown-item.types.d.ts +5 -0
  122. package/dist/components/dropdown-item/index.js +13 -8
  123. package/dist/components/dropdown-menu/index.js +236 -14
  124. package/dist/components/dropdown-trigger/index.js +11 -12
  125. package/dist/components/event-stream-viewer/event-stream-viewer-keys.d.ts +6 -0
  126. package/dist/components/event-stream-viewer/event-stream-viewer.css +46 -0
  127. package/dist/components/event-stream-viewer/event-stream-viewer.schema.js +83 -10
  128. package/dist/components/event-stream-viewer/event-stream-viewer.svelte.d.ts +3 -3
  129. package/dist/components/event-stream-viewer/event-stream-viewer.types.d.ts +124 -3
  130. package/dist/components/event-stream-viewer/index.d.ts +1 -1
  131. package/dist/components/event-stream-viewer/index.js +764 -409
  132. package/dist/components/faceted-filter-bar/faceted-filter-bar.css +9 -0
  133. package/dist/components/faceted-filter-bar/index.js +25 -6
  134. package/dist/components/file-upload/file-upload.css +5 -5
  135. package/dist/components/floating-action-button/floating-action-button.css +22 -22
  136. package/dist/components/floating-action-button/floating-action-button.schema.js +5 -5
  137. package/dist/components/floating-action-button/floating-action-button.svelte.d.ts +1 -1
  138. package/dist/components/floating-action-button/floating-action-button.types.d.ts +21 -21
  139. package/dist/components/floating-action-button/index.d.ts +1 -1
  140. package/dist/components/floating-action-button/index.js +8 -8
  141. package/dist/components/form-field/form-field.css +3 -13
  142. package/dist/components/form-field/index.js +2 -2
  143. package/dist/components/hover-card/index.js +3 -2
  144. package/dist/components/input/index.js +131 -67
  145. package/dist/components/input/input.schema.js +6 -1
  146. package/dist/components/input/input.types.d.ts +2 -0
  147. package/dist/components/invocation-rule-builder/index.d.ts +1 -1
  148. package/dist/components/invocation-rule-builder/index.js +184 -107
  149. package/dist/components/invocation-rule-builder/invocation-rule-builder.css +63 -6
  150. package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +133 -35
  151. package/dist/components/invocation-rule-builder/invocation-rule-builder.svelte.d.ts +2 -2
  152. package/dist/components/invocation-rule-builder/invocation-rule-builder.types.d.ts +85 -8
  153. package/dist/components/json-schema-editor/form-view.svelte.d.ts +1 -0
  154. package/dist/components/json-schema-editor/index.js +677 -357
  155. package/dist/components/json-schema-editor/json-schema-editor.css +6 -1
  156. package/dist/components/json-schema-editor/json-schema-toolbar.svelte.d.ts +1 -0
  157. package/dist/components/json-schema-editor/property-editor.svelte.d.ts +2 -0
  158. package/dist/components/json-schema-editor/property-list-validation.d.ts +1 -0
  159. package/dist/components/json-schema-editor/property-list.svelte.d.ts +1 -0
  160. package/dist/components/json-viewer/_json-viewer-node.svelte.d.ts +3 -0
  161. package/dist/components/json-viewer/index.js +112 -26
  162. package/dist/components/json-viewer/json-viewer.css +11 -0
  163. package/dist/components/kanban-board/index.js +18 -13
  164. package/dist/components/kanban-board/kanban-board.css +56 -3
  165. package/dist/components/keyboard-shortcuts/index.js +2 -2
  166. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.css +2 -2
  167. package/dist/components/label/index.js +2 -2
  168. package/dist/components/label/label.css +2 -9
  169. package/dist/components/load-more/index.js +4 -4
  170. package/dist/components/load-more/load-more.css +13 -5
  171. package/dist/components/load-more/load-more.schema.js +4 -4
  172. package/dist/components/load-more/load-more.types.d.ts +3 -3
  173. package/dist/components/locale-provider/index.d.ts +4 -0
  174. package/dist/components/locale-provider/index.js +76 -0
  175. package/dist/components/{connection-indicator/connection-indicator.schema.js → locale-provider/locale-provider.schema.js} +18 -14
  176. package/dist/components/locale-provider/locale-provider.svelte.d.ts +17 -0
  177. package/dist/components/locale-provider/locale-provider.types.d.ts +17 -0
  178. package/dist/components/{connection-indicator/connection-indicator.variables.js → locale-provider/locale-provider.variables.js} +4 -4
  179. package/dist/components/markdown-editor/editor-toolbar/editor-toolbar.svelte.d.ts +2 -0
  180. package/dist/components/markdown-editor/index.js +437 -128
  181. package/dist/components/markdown-editor/markdown-editor.schema.js +4 -4
  182. package/dist/components/markdown-editor/markdown-editor.types.d.ts +4 -4
  183. package/dist/components/masonry/masonry.schema.js +4 -3
  184. package/dist/components/masonry/masonry.types.d.ts +13 -2
  185. package/dist/components/matrix-chart/index.js +245 -224
  186. package/dist/components/media-controls/index.js +7 -7
  187. package/dist/components/media-controls/media-controls.css +15 -4
  188. package/dist/components/media-controls/media-controls.schema.js +4 -4
  189. package/dist/components/media-controls/media-controls.types.d.ts +7 -7
  190. package/dist/components/menu-bar/menu-bar.css +11 -0
  191. package/dist/components/menu-bar/menu-bar.svelte.d.ts +1 -0
  192. package/dist/components/modal/index.js +9 -3
  193. package/dist/components/navigation-bar/index.js +4 -4
  194. package/dist/components/navigation-bar/navigation-bar.schema.js +2 -2
  195. package/dist/components/navigation-bar/navigation-bar.types.d.ts +1 -1
  196. package/dist/components/number-input/index.js +88 -42
  197. package/dist/components/number-input/number-input.schema.js +4 -3
  198. package/dist/components/number-input/number-input.types.d.ts +16 -5
  199. package/dist/components/payload-inspector/index.d.ts +1 -1
  200. package/dist/components/payload-inspector/index.js +271 -64
  201. package/dist/components/payload-inspector/payload-inspector.css +6 -0
  202. package/dist/components/payload-inspector/payload-inspector.schema.js +27 -15
  203. package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +2 -2
  204. package/dist/components/payload-inspector/payload-inspector.types.d.ts +52 -3
  205. package/dist/components/permission-matrix/permission-matrix.css +10 -0
  206. package/dist/components/phone-input/index.js +56 -33
  207. package/dist/components/phone-input/phone-input.schema.js +2 -2
  208. package/dist/components/phone-input/phone-input.types.d.ts +3 -2
  209. package/dist/components/pin-input/index.js +46 -41
  210. package/dist/components/pin-input/pin-input.schema.js +9 -2
  211. package/dist/components/pin-input/pin-input.types.d.ts +10 -1
  212. package/dist/components/popover/index.js +11 -4
  213. package/dist/components/portal/index.js +3 -2
  214. package/dist/components/pricing-card/index.js +22 -7
  215. package/dist/components/radio-group/index.js +51 -21
  216. package/dist/components/radio-group/radio-group.css +3 -0
  217. package/dist/components/radio-group/radio-group.schema.js +3 -3
  218. package/dist/components/radio-group/radio-group.types.d.ts +6 -2
  219. package/dist/components/rating/index.js +1 -6
  220. package/dist/components/rating/rating.schema.js +9 -2
  221. package/dist/components/rating/rating.types.d.ts +6 -0
  222. package/dist/components/review-editor/comment-list.svelte.d.ts +1 -1
  223. package/dist/components/review-editor/index.d.ts +1 -1
  224. package/dist/components/review-editor/index.js +789 -314
  225. package/dist/components/review-editor/review-editor-controls.svelte.d.ts +1 -1
  226. package/dist/components/review-editor/review-editor-impl.svelte.d.ts +4 -4
  227. package/dist/components/review-editor/review-editor-selection-types.d.ts +1 -1
  228. package/dist/components/review-editor/review-editor-state.svelte.d.ts +1 -1
  229. package/dist/components/review-editor/review-editor-threads.svelte.d.ts +2 -2
  230. package/dist/components/review-editor/review-editor.svelte.d.ts +2 -1
  231. package/dist/components/review-editor/review-editor.types.d.ts +77 -3
  232. package/dist/components/review-editor/thread-popover.svelte.d.ts +1 -1
  233. package/dist/components/run-step-timeline/index.d.ts +1 -1
  234. package/dist/components/run-step-timeline/index.js +747 -273
  235. package/dist/components/run-step-timeline/run-step-timeline.css +25 -5
  236. package/dist/components/run-step-timeline/run-step-timeline.schema.js +351 -21
  237. package/dist/components/run-step-timeline/run-step-timeline.svelte.d.ts +1 -1
  238. package/dist/components/run-step-timeline/run-step-timeline.types.d.ts +184 -3
  239. package/dist/components/schema-form/index.d.ts +1 -1
  240. package/dist/components/schema-form/index.js +1916 -474
  241. package/dist/components/schema-form/schema-form-async.fixture.d.ts +1 -0
  242. package/dist/components/schema-form/schema-form-body.svelte.d.ts +25 -0
  243. package/dist/components/schema-form/schema-form-model.d.ts +1 -4
  244. package/dist/components/schema-form/schema-form-validation.d.ts +1 -2
  245. package/dist/components/schema-form/schema-form.css +12 -74
  246. package/dist/components/schema-form/schema-form.schema.js +10 -3
  247. package/dist/components/schema-form/schema-form.svelte.d.ts +3 -3
  248. package/dist/components/schema-form/schema-form.types.d.ts +15 -8
  249. package/dist/components/scroll-area/index.js +3 -3
  250. package/dist/components/scroll-area/scroll-area.schema.js +2 -2
  251. package/dist/components/scroll-area/scroll-area.types.d.ts +1 -1
  252. package/dist/components/secret-value-field/index.js +10 -4
  253. package/dist/components/secret-value-field/secret-value-field.svelte.d.ts +1 -1
  254. package/dist/components/segmented-control/segmented-control.css +22 -1
  255. package/dist/components/select/index.js +37 -24
  256. package/dist/components/select/select.css +9 -2
  257. package/dist/components/selection-popover/index.js +11 -4
  258. package/dist/components/share-card/index.js +3 -4
  259. package/dist/components/share-card/share-card.css +15 -4
  260. package/dist/components/sheet/index.js +365 -300
  261. package/dist/components/shortcut-hint/index.js +3 -3
  262. package/dist/components/sidebar/index.js +423 -353
  263. package/dist/components/sidebar/sidebar.schema.js +2 -2
  264. package/dist/components/sidebar/sidebar.types.d.ts +1 -1
  265. package/dist/components/slider/index.js +211 -9
  266. package/dist/components/slider/slider.css +14 -9
  267. package/dist/components/sortable-list/sortable-list.css +1 -1
  268. package/dist/components/spectrogram/index.js +224 -203
  269. package/dist/components/spectrum-chart/index.js +208 -187
  270. package/dist/components/speed-dial/index.js +11 -11
  271. package/dist/components/speed-dial/speed-dial.css +3 -3
  272. package/dist/components/speed-dial-action/index.js +9 -9
  273. package/dist/components/stat/index.js +26 -4
  274. package/dist/components/stat/stat.schema.js +2 -2
  275. package/dist/components/stat/stat.types.d.ts +2 -2
  276. package/dist/components/stat-group/index.js +26 -4
  277. package/dist/components/stat-group/stat-group.css +1 -1
  278. package/dist/components/status-dot/index.d.ts +1 -1
  279. package/dist/components/status-dot/index.js +47 -8
  280. package/dist/components/status-dot/status-dot.css +45 -1
  281. package/dist/components/status-dot/status-dot.schema.js +12 -5
  282. package/dist/components/status-dot/status-dot.svelte.d.ts +5 -1
  283. package/dist/components/status-dot/status-dot.types.d.ts +16 -6
  284. package/dist/components/steps/steps.css +3 -3
  285. package/dist/components/table/index.js +23 -17
  286. package/dist/components/table/table.css +10 -0
  287. package/dist/components/table/table.types.d.ts +3 -3
  288. package/dist/components/table-header/index.js +5 -5
  289. package/dist/components/table-header/table-header.schema.js +3 -3
  290. package/dist/components/table-header/table-header.types.d.ts +2 -2
  291. package/dist/components/table-header-cell/index.js +11 -5
  292. package/dist/components/table-row/index.js +7 -7
  293. package/dist/components/table-row/table-row.schema.js +3 -3
  294. package/dist/components/table-row/table-row.types.d.ts +6 -6
  295. package/dist/components/tabs/index.js +17 -4
  296. package/dist/components/tabs/tabs.schema.js +6 -1
  297. package/dist/components/tabs/tabs.types.d.ts +2 -0
  298. package/dist/components/textarea/index.js +37 -24
  299. package/dist/components/textarea/textarea.css +16 -1
  300. package/dist/components/time-field/index.d.ts +5 -0
  301. package/dist/components/time-field/index.js +456 -0
  302. package/dist/components/time-field/time-field.css +60 -0
  303. package/dist/components/time-field/time-field.schema.d.ts +3 -0
  304. package/dist/components/time-field/time-field.schema.js +107 -0
  305. package/dist/components/time-field/time-field.svelte.d.ts +18 -0
  306. package/dist/components/time-field/time-field.types.d.ts +63 -0
  307. package/dist/components/time-field/time-field.variables.d.ts +2 -0
  308. package/dist/components/{experimental/connection-indicator/index.js → time-field/time-field.variables.js} +5 -14
  309. package/dist/components/toggle/index.js +39 -7
  310. package/dist/components/toggle/toggle.schema.js +11 -2
  311. package/dist/components/toggle/toggle.types.d.ts +2 -0
  312. package/dist/components/tooltip/index.js +3 -2
  313. package/dist/components/transfer-list/index.js +41 -11
  314. package/dist/components/transfer-list/transfer-list.css +22 -0
  315. package/dist/components/transfer-list/transfer-list.schema.js +2 -2
  316. package/dist/components/transfer-list/transfer-list.types.d.ts +2 -2
  317. package/dist/components/tree/index.js +238 -153
  318. package/dist/components/tree/tree.css +69 -0
  319. package/dist/components/tree/tree.schema.js +3 -3
  320. package/dist/components/tree/tree.types.d.ts +2 -2
  321. package/dist/components/tree-item/index.js +107 -68
  322. package/dist/components/tree-item/tree-item.schema.js +5 -5
  323. package/dist/components/tree-item/tree-item.types.d.ts +4 -4
  324. package/dist/components/virtual-list/index.js +98 -63
  325. package/dist/components/waveform/index.js +185 -164
  326. package/dist/editor/attach.d.ts +2 -2
  327. package/dist/editor/attach.js +10 -16
  328. package/dist/editor/editor.js +6 -6
  329. package/dist/editor/keymap-plugin.d.ts +2 -2
  330. package/dist/editor/keymap-plugin.js +4 -4
  331. package/dist/editor/types.d.ts +11 -11
  332. package/dist/index.d.ts +14 -12
  333. package/dist/index.js +106 -105
  334. package/dist/server/components/access-gate/index.js +176 -305
  335. package/dist/server/components/alert/alert.schema.js +4 -4
  336. package/dist/server/components/alert/index.css +1 -1
  337. package/dist/server/components/alert/index.js +4 -4
  338. package/dist/server/components/alert-dialog/index.js +9 -3
  339. package/dist/server/components/approval-card/approval-card.schema.js +217 -0
  340. package/dist/server/components/approval-card/approval-card.variables.js +12 -0
  341. package/dist/server/components/approval-card/index.css +1767 -0
  342. package/dist/server/components/approval-card/index.js +2499 -0
  343. package/dist/server/components/autocomplete/index.css +12 -1
  344. package/dist/server/components/autocomplete/index.js +34 -24
  345. package/dist/server/components/badge/badge.schema.js +6 -3
  346. package/dist/server/components/badge/index.js +71 -4
  347. package/dist/server/components/banner/banner.schema.js +2 -2
  348. package/dist/server/components/banner/index.js +3 -3
  349. package/dist/server/components/button/index.css +1 -1
  350. package/dist/server/components/capability-gate/capability-gate.schema.js +4 -4
  351. package/dist/server/components/capability-gate/index.css +10 -2
  352. package/dist/server/components/capability-gate/index.js +5 -5
  353. package/dist/server/components/chat/chat.schema.js +11 -26
  354. package/dist/server/components/chat/index.js +695 -438
  355. package/dist/server/components/chat-conversation-header/index.css +7 -1
  356. package/dist/server/components/chat-conversation-header/index.js +215 -17
  357. package/dist/server/components/chat-conversation-list/index.css +8 -0
  358. package/dist/server/components/checkbox/checkbox.schema.js +6 -1
  359. package/dist/server/components/checkbox/index.css +3 -0
  360. package/dist/server/components/checkbox/index.js +41 -4
  361. package/dist/server/components/checkbox-group/checkbox-group.schema.js +4 -4
  362. package/dist/server/components/checkbox-group/index.css +3 -0
  363. package/dist/server/components/checkbox-group/index.js +23 -4
  364. package/dist/server/components/choice-grid/index.js +2 -2
  365. package/dist/server/components/choice-grid-item/index.js +2 -2
  366. package/dist/server/components/click-away-listener/click-away-listener.schema.js +3 -3
  367. package/dist/server/components/click-away-listener/index.js +2 -2
  368. package/dist/server/components/code-block/index.css +4 -3
  369. package/dist/server/components/code-block/index.js +1 -6
  370. package/dist/server/components/collapsible/collapsible.schema.js +2 -2
  371. package/dist/server/components/collapsible/index.js +3 -3
  372. package/dist/server/components/color-field/color-field.schema.js +3 -3
  373. package/dist/server/components/color-field/index.js +61 -17
  374. package/dist/server/components/color-picker/index.js +29 -12
  375. package/dist/server/components/color-swatch-picker/index.js +29 -12
  376. package/dist/server/components/combobox/combobox.schema.js +6 -2
  377. package/dist/server/components/combobox/index.js +61 -12
  378. package/dist/server/components/command-item/command-item.schema.js +9 -1
  379. package/dist/server/components/command-item/index.css +1 -0
  380. package/dist/server/components/command-item/index.js +10 -2
  381. package/dist/server/components/command-menu/index.css +1 -0
  382. package/dist/server/components/command-menu/index.js +193 -102
  383. package/dist/server/components/command-palette/command-palette.schema.js +2 -3
  384. package/dist/server/components/command-palette/index.css +1 -0
  385. package/dist/server/components/command-palette/index.js +190 -106
  386. package/dist/server/components/confirm-dialog/index.js +9 -3
  387. package/dist/server/components/context-menu/index.css +7 -1
  388. package/dist/server/components/context-menu/index.js +244 -26
  389. package/dist/server/components/context-menu-trigger/index.js +7 -4
  390. package/dist/server/components/copy-button/index.js +1 -6
  391. package/dist/server/components/data-grid/data-grid.schema.js +3 -3
  392. package/dist/server/components/data-grid/index.css +23 -0
  393. package/dist/server/components/data-grid/index.js +9 -7
  394. package/dist/server/components/data-list/data-list.schema.js +7 -10
  395. package/dist/server/components/data-list/index.js +7 -21
  396. package/dist/server/components/data-table/index.css +20 -0
  397. package/dist/server/components/data-table/index.js +26 -16
  398. package/dist/server/components/date-range-field/date-range-field.schema.js +7 -3
  399. package/dist/server/components/date-range-field/index.js +146 -12
  400. package/dist/server/components/diff-viewer/index.js +79 -7
  401. package/dist/server/components/drawer/index.js +260 -193
  402. package/dist/server/components/dropdown/index.css +7 -1
  403. package/dist/server/components/dropdown/index.js +221 -23
  404. package/dist/server/components/dropdown-group/dropdown-group.schema.js +4 -4
  405. package/dist/server/components/dropdown-group/index.js +7 -7
  406. package/dist/server/components/dropdown-item/dropdown-item.schema.js +9 -1
  407. package/dist/server/components/dropdown-item/index.js +12 -7
  408. package/dist/server/components/dropdown-menu/index.js +197 -13
  409. package/dist/server/components/dropdown-trigger/index.js +5 -2
  410. package/dist/server/components/event-stream-viewer/event-stream-viewer.schema.js +83 -10
  411. package/dist/server/components/event-stream-viewer/index.css +323 -0
  412. package/dist/server/components/event-stream-viewer/index.js +406 -139
  413. package/dist/server/components/faceted-filter-bar/index.css +10 -1
  414. package/dist/server/components/faceted-filter-bar/index.js +24 -6
  415. package/dist/server/components/file-upload/index.css +3 -3
  416. package/dist/server/components/floating-action-button/floating-action-button.schema.js +5 -5
  417. package/dist/server/components/floating-action-button/index.css +16 -16
  418. package/dist/server/components/floating-action-button/index.js +5 -5
  419. package/dist/server/components/form-field/index.css +0 -10
  420. package/dist/server/components/form-field/index.js +2 -2
  421. package/dist/server/components/input/index.js +59 -15
  422. package/dist/server/components/input/input.schema.js +6 -1
  423. package/dist/server/components/invocation-rule-builder/index.css +51 -6
  424. package/dist/server/components/invocation-rule-builder/index.js +56 -17
  425. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.schema.js +133 -35
  426. package/dist/server/components/json-schema-editor/index.css +4 -1
  427. package/dist/server/components/json-schema-editor/index.js +282 -52
  428. package/dist/server/components/json-viewer/index.css +7 -1
  429. package/dist/server/components/json-viewer/index.js +83 -11
  430. package/dist/server/components/kanban-board/index.css +42 -3
  431. package/dist/server/components/kanban-board/index.js +7 -6
  432. package/dist/server/components/keyboard-shortcuts/index.css +2 -2
  433. package/dist/server/components/keyboard-shortcuts/index.js +2 -2
  434. package/dist/server/components/label/index.css +0 -10
  435. package/dist/server/components/label/index.js +2 -2
  436. package/dist/server/components/load-more/index.css +12 -4
  437. package/dist/server/components/load-more/index.js +5 -5
  438. package/dist/server/components/load-more/load-more.schema.js +4 -4
  439. package/dist/server/components/locale-provider/index.js +55 -0
  440. package/dist/server/components/locale-provider/locale-provider.schema.js +35 -0
  441. package/dist/server/components/locale-provider/locale-provider.variables.js +12 -0
  442. package/dist/server/components/markdown-editor/index.js +297 -60
  443. package/dist/server/components/markdown-editor/markdown-editor.schema.js +4 -4
  444. package/dist/server/components/masonry/masonry.schema.js +4 -3
  445. package/dist/server/components/matrix-chart/index.js +62 -39
  446. package/dist/server/components/media-controls/index.css +11 -3
  447. package/dist/server/components/media-controls/index.js +7 -7
  448. package/dist/server/components/media-controls/media-controls.schema.js +4 -4
  449. package/dist/server/components/menu-bar/index.css +15 -1
  450. package/dist/server/components/modal/index.js +9 -3
  451. package/dist/server/components/navigation-bar/index.js +3 -3
  452. package/dist/server/components/navigation-bar/navigation-bar.schema.js +2 -2
  453. package/dist/server/components/number-input/index.js +56 -18
  454. package/dist/server/components/number-input/number-input.schema.js +4 -3
  455. package/dist/server/components/payload-inspector/index.css +616 -0
  456. package/dist/server/components/payload-inspector/index.js +181 -22
  457. package/dist/server/components/payload-inspector/payload-inspector.schema.js +27 -15
  458. package/dist/server/components/permission-matrix/index.css +8 -0
  459. package/dist/server/components/phone-input/index.js +21 -3
  460. package/dist/server/components/phone-input/phone-input.schema.js +2 -2
  461. package/dist/server/components/pin-input/index.js +12 -7
  462. package/dist/server/components/pin-input/pin-input.schema.js +9 -2
  463. package/dist/server/components/popover/index.js +9 -3
  464. package/dist/server/components/pricing-card/index.js +22 -7
  465. package/dist/server/components/radio-group/index.css +3 -0
  466. package/dist/server/components/radio-group/index.js +24 -3
  467. package/dist/server/components/radio-group/radio-group.schema.js +3 -3
  468. package/dist/server/components/rating/rating.schema.js +9 -2
  469. package/dist/server/components/review-editor/index.js +426 -80
  470. package/dist/server/components/run-step-timeline/index.css +503 -6
  471. package/dist/server/components/run-step-timeline/index.js +455 -109
  472. package/dist/server/components/run-step-timeline/run-step-timeline.schema.js +351 -21
  473. package/dist/server/components/schema-form/index.css +11 -69
  474. package/dist/server/components/schema-form/index.js +1291 -218
  475. package/dist/server/components/schema-form/schema-form.schema.js +10 -3
  476. package/dist/server/components/scroll-area/index.js +3 -3
  477. package/dist/server/components/scroll-area/scroll-area.schema.js +2 -2
  478. package/dist/server/components/secret-value-field/index.js +4 -4
  479. package/dist/server/components/segmented-control/index.css +15 -1
  480. package/dist/server/components/select/index.css +9 -2
  481. package/dist/server/components/select/index.js +9 -2
  482. package/dist/server/components/selection-popover/index.js +9 -3
  483. package/dist/server/components/share-card/index.css +11 -3
  484. package/dist/server/components/share-card/index.js +1 -5
  485. package/dist/server/components/sheet/index.js +265 -195
  486. package/dist/server/components/sidebar/index.js +274 -207
  487. package/dist/server/components/sidebar/sidebar.schema.js +2 -2
  488. package/dist/server/components/slider/index.css +13 -9
  489. package/dist/server/components/slider/index.js +173 -4
  490. package/dist/server/components/sortable-list/index.css +1 -1
  491. package/dist/server/components/spectrogram/index.js +68 -45
  492. package/dist/server/components/spectrum-chart/index.js +54 -31
  493. package/dist/server/components/speed-dial/index.css +3 -3
  494. package/dist/server/components/speed-dial/index.js +8 -8
  495. package/dist/server/components/speed-dial-action/index.js +6 -6
  496. package/dist/server/components/stat/index.js +26 -4
  497. package/dist/server/components/stat/stat.schema.js +2 -2
  498. package/dist/server/components/stat-group/index.css +1 -1
  499. package/dist/server/components/stat-group/index.js +26 -4
  500. package/dist/server/components/status-dot/index.css +45 -1
  501. package/dist/server/components/status-dot/index.js +35 -7
  502. package/dist/server/components/status-dot/status-dot.schema.js +12 -5
  503. package/dist/server/components/steps/index.css +3 -3
  504. package/dist/server/components/table/index.css +8 -0
  505. package/dist/server/components/table/index.js +22 -16
  506. package/dist/server/components/table-header/index.js +6 -6
  507. package/dist/server/components/table-header/table-header.schema.js +3 -3
  508. package/dist/server/components/table-header-cell/index.js +9 -3
  509. package/dist/server/components/table-row/index.js +7 -7
  510. package/dist/server/components/table-row/table-row.schema.js +3 -3
  511. package/dist/server/components/tabs/index.js +18 -4
  512. package/dist/server/components/tabs/tabs.schema.js +6 -1
  513. package/dist/server/components/textarea/index.css +16 -1
  514. package/dist/server/components/textarea/index.js +9 -2
  515. package/dist/server/components/time-field/index.css +58 -0
  516. package/dist/server/components/time-field/index.js +291 -0
  517. package/dist/server/components/time-field/time-field.schema.js +88 -0
  518. package/dist/server/components/time-field/time-field.variables.js +12 -0
  519. package/dist/server/components/toggle/index.js +40 -7
  520. package/dist/server/components/toggle/toggle.schema.js +11 -2
  521. package/dist/server/components/transfer-list/index.css +16 -0
  522. package/dist/server/components/transfer-list/index.js +37 -11
  523. package/dist/server/components/transfer-list/transfer-list.schema.js +2 -2
  524. package/dist/server/components/tree/index.css +68 -0
  525. package/dist/server/components/tree/index.js +67 -20
  526. package/dist/server/components/tree/tree.schema.js +3 -3
  527. package/dist/server/components/tree-item/index.js +34 -13
  528. package/dist/server/components/tree-item/tree-item.schema.js +5 -5
  529. package/dist/server/components/virtual-list/index.js +36 -13
  530. package/dist/server/components/waveform/index.js +51 -28
  531. package/dist/server/editor/attach.d.ts +2 -2
  532. package/dist/server/editor/attach.js +10 -16
  533. package/dist/server/editor/editor.js +6 -6
  534. package/dist/server/editor/keymap-plugin.d.ts +2 -2
  535. package/dist/server/editor/keymap-plugin.js +4 -4
  536. package/dist/server/editor/types.d.ts +11 -11
  537. package/dist/server/index.css +2033 -1463
  538. package/dist/server/index.js +7203 -5135
  539. package/dist/utilities/attachments.d.ts +6 -6
  540. package/dist/utilities/value-change.d.ts +2 -0
  541. package/package.json +96 -63
  542. package/src/_internal/locale-context.ts +21 -0
  543. package/src/_internal/text-direction.ts +213 -0
  544. package/src/_internal/tree-context.ts +2 -0
  545. package/src/components/_internal/create-command-list-state.svelte.ts +171 -0
  546. package/src/components/_internal/create-sliding-dialog-state.svelte.ts +170 -0
  547. package/src/components/_radio/README.md +1 -1
  548. package/src/components/access-gate/access-gate-inline.svelte +3 -1
  549. package/src/components/alert/README.md +8 -8
  550. package/src/components/alert/alert.css +1 -1
  551. package/src/components/alert/alert.examples.json +4 -4
  552. package/src/components/alert/alert.svelte +3 -5
  553. package/src/components/alert/alert.types.ts +4 -4
  554. package/src/components/approval-card/README.md +92 -0
  555. package/src/components/approval-card/approval-card-state.ts +24 -0
  556. package/src/components/approval-card/approval-card.css +239 -0
  557. package/src/components/approval-card/approval-card.examples.json +25 -0
  558. package/src/components/approval-card/approval-card.svelte +583 -0
  559. package/src/components/approval-card/approval-card.types.ts +180 -0
  560. package/src/components/approval-card/index.ts +16 -0
  561. package/src/components/autocomplete/autocomplete.css +12 -1
  562. package/src/components/autocomplete/autocomplete.svelte +53 -27
  563. package/src/components/badge/README.md +8 -7
  564. package/src/components/badge/badge.svelte +80 -3
  565. package/src/components/badge/badge.types.ts +36 -13
  566. package/src/components/badge/index.ts +1 -1
  567. package/src/components/banner/README.md +2 -2
  568. package/src/components/banner/banner.examples.json +19 -0
  569. package/src/components/banner/banner.svelte +2 -2
  570. package/src/components/banner/banner.types.ts +1 -1
  571. package/src/components/button/button.css +1 -1
  572. package/src/components/callout/callout.examples.json +19 -0
  573. package/src/components/capability-gate/README.md +3 -3
  574. package/src/components/capability-gate/capability-gate.css +15 -2
  575. package/src/components/capability-gate/capability-gate.examples.json +1 -1
  576. package/src/components/capability-gate/capability-gate.svelte +7 -7
  577. package/src/components/capability-gate/capability-gate.types.ts +6 -6
  578. package/src/components/chat/README.md +6 -10
  579. package/src/components/chat/chat.examples.json +8 -8
  580. package/src/components/chat/chat.types.ts +31 -15
  581. package/src/components/chat/container/chat-events.ts +2 -2
  582. package/src/components/chat/container/chat-history-trigger.svelte +9 -1
  583. package/src/components/chat/container/chat.svelte +47 -46
  584. package/src/components/chat/container/use-chat-scroll-state.svelte.ts +21 -18
  585. package/src/components/chat/container/use-chat-unread-state.svelte.ts +19 -19
  586. package/src/components/chat/index.ts +1 -1
  587. package/src/components/chat/input/chat-input.svelte +35 -13
  588. package/src/components/chat/message/image-lightbox.svelte +38 -15
  589. package/src/components/chat/message/message-attachments.svelte +1 -1
  590. package/src/components/chat/message/parts/reasoning-part.svelte +8 -0
  591. package/src/components/chat/message/parts/tool-approval-part.svelte +22 -9
  592. package/src/components/chat-conversation-list/chat-conversation-list.css +13 -0
  593. package/src/components/checkbox/README.md +1 -0
  594. package/src/components/checkbox/checkbox.css +3 -0
  595. package/src/components/checkbox/checkbox.svelte +44 -2
  596. package/src/components/checkbox/checkbox.types.ts +2 -0
  597. package/src/components/checkbox-group/README.md +2 -2
  598. package/src/components/checkbox-group/checkbox-group.css +3 -0
  599. package/src/components/checkbox-group/checkbox-group.examples.json +13 -0
  600. package/src/components/checkbox-group/checkbox-group.svelte +23 -2
  601. package/src/components/checkbox-group/checkbox-group.types.ts +12 -7
  602. package/src/components/choice-grid-item/choice-grid-item.svelte +1 -1
  603. package/src/components/click-away-listener/README.md +2 -2
  604. package/src/components/click-away-listener/click-away-listener.examples.json +1 -1
  605. package/src/components/click-away-listener/click-away-listener.svelte +2 -2
  606. package/src/components/click-away-listener/click-away-listener.types.ts +3 -3
  607. package/src/components/code-block/code-block.css +4 -3
  608. package/src/components/collapsible/README.md +2 -2
  609. package/src/components/collapsible/collapsible.svelte +2 -2
  610. package/src/components/collapsible/collapsible.types.ts +5 -2
  611. package/src/components/color-field/README.md +18 -18
  612. package/src/components/color-field/color-field.svelte +2 -2
  613. package/src/components/color-field/color-field.types.ts +2 -2
  614. package/src/components/color-swatch-picker/color-swatch-picker.examples.json +13 -0
  615. package/src/components/color-swatch-picker/color-swatch-picker.svelte +38 -24
  616. package/src/components/combobox/README.md +2 -1
  617. package/src/components/combobox/combobox.svelte +38 -17
  618. package/src/components/combobox/combobox.types.ts +7 -1
  619. package/src/components/command-item/README.md +13 -11
  620. package/src/components/command-item/command-item.css +10 -0
  621. package/src/components/command-item/command-item.svelte +11 -0
  622. package/src/components/command-item/command-item.types.ts +4 -0
  623. package/src/components/command-menu/command-menu.svelte +21 -102
  624. package/src/components/command-palette/README.md +12 -12
  625. package/src/components/command-palette/command-palette.examples.json +3 -3
  626. package/src/components/command-palette/command-palette.svelte +17 -134
  627. package/src/components/command-palette/command-palette.types.ts +1 -2
  628. package/src/components/context-menu/context-menu.context.ts +2 -0
  629. package/src/components/context-menu/context-menu.svelte +35 -9
  630. package/src/components/context-menu-trigger/context-menu-trigger.svelte +9 -6
  631. package/src/components/copy-button/copy-button.svelte +4 -3
  632. package/src/components/data-grid/README.md +3 -3
  633. package/src/components/data-grid/_internal/column-model.svelte.ts +2 -0
  634. package/src/components/data-grid/data-grid.css +25 -0
  635. package/src/components/data-grid/data-grid.svelte +7 -7
  636. package/src/components/data-grid/data-grid.types.ts +8 -2
  637. package/src/components/data-list/README.md +9 -9
  638. package/src/components/data-list/data-list.examples.json +1 -1
  639. package/src/components/data-list/data-list.svelte +3 -9
  640. package/src/components/data-list/data-list.types.ts +5 -9
  641. package/src/components/data-table/data-table.css +13 -0
  642. package/src/components/data-table/data-table.svelte +13 -3
  643. package/src/components/date-range-field/README.md +9 -8
  644. package/src/components/date-range-field/date-range-field.svelte +193 -19
  645. package/src/components/date-range-field/date-range-field.types.ts +16 -10
  646. package/src/components/date-range-field/index.ts +1 -0
  647. package/src/components/diff-viewer/diff-front-matter.svelte +2 -2
  648. package/src/components/diff-viewer/diff-line.svelte +32 -8
  649. package/src/components/diff-viewer/diff-toolbar.svelte +3 -3
  650. package/src/components/diff-viewer/diff-viewer.svelte +4 -4
  651. package/src/components/diff-viewer/diff-viewer.types.ts +3 -3
  652. package/src/components/diff-viewer/index.ts +1 -1
  653. package/src/components/drawer/drawer.svelte +26 -145
  654. package/src/components/dropdown/dropdown.css +7 -1
  655. package/src/components/dropdown/dropdown.types.ts +3 -0
  656. package/src/components/dropdown-group/README.md +6 -6
  657. package/src/components/dropdown-group/dropdown-group.svelte +8 -8
  658. package/src/components/dropdown-group/dropdown-group.types.ts +4 -4
  659. package/src/components/dropdown-item/README.md +2 -0
  660. package/src/components/dropdown-item/dropdown-item.svelte +14 -11
  661. package/src/components/dropdown-item/dropdown-item.types.ts +5 -0
  662. package/src/components/dropdown-menu/dropdown-menu.svelte +42 -9
  663. package/src/components/dropdown-trigger/dropdown-trigger.svelte +4 -6
  664. package/src/components/event-stream-viewer/README.md +38 -16
  665. package/src/components/event-stream-viewer/event-stream-viewer-keys.ts +74 -0
  666. package/src/components/event-stream-viewer/event-stream-viewer.css +46 -0
  667. package/src/components/event-stream-viewer/event-stream-viewer.examples.json +6 -0
  668. package/src/components/event-stream-viewer/event-stream-viewer.svelte +262 -69
  669. package/src/components/event-stream-viewer/event-stream-viewer.types.ts +130 -3
  670. package/src/components/event-stream-viewer/index.ts +6 -0
  671. package/src/components/faceted-filter-bar/faceted-filter-bar.css +9 -0
  672. package/src/components/faceted-filter-bar/faceted-filter-bar.svelte +31 -5
  673. package/src/components/file-upload/file-upload.css +5 -5
  674. package/src/components/file-upload/file-upload.examples.json +13 -0
  675. package/src/components/floating-action-button/README.md +9 -9
  676. package/src/components/floating-action-button/floating-action-button.css +22 -22
  677. package/src/components/floating-action-button/floating-action-button.examples.json +1 -1
  678. package/src/components/floating-action-button/floating-action-button.svelte +7 -7
  679. package/src/components/floating-action-button/floating-action-button.types.ts +21 -21
  680. package/src/components/floating-action-button/index.ts +1 -1
  681. package/src/components/form-field/form-field.css +3 -13
  682. package/src/components/form-field/form-field.svelte +4 -1
  683. package/src/components/image/image.examples.json +13 -0
  684. package/src/components/input/README.md +16 -15
  685. package/src/components/input/input.examples.json +1 -1
  686. package/src/components/input/input.svelte +65 -28
  687. package/src/components/input/input.types.ts +2 -0
  688. package/src/components/invocation-rule-builder/README.md +14 -14
  689. package/src/components/invocation-rule-builder/index.ts +1 -0
  690. package/src/components/invocation-rule-builder/invocation-rule-builder.css +63 -6
  691. package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +73 -16
  692. package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +99 -8
  693. package/src/components/json-schema-editor/form-view.svelte +3 -1
  694. package/src/components/json-schema-editor/json-schema-editor-impl.svelte +30 -18
  695. package/src/components/json-schema-editor/json-schema-editor.css +6 -1
  696. package/src/components/json-schema-editor/json-schema-toolbar.svelte +6 -0
  697. package/src/components/json-schema-editor/json-view.svelte +1 -1
  698. package/src/components/json-schema-editor/property-editor.svelte +38 -2
  699. package/src/components/json-schema-editor/property-list-validation.ts +10 -0
  700. package/src/components/json-schema-editor/property-list.svelte +48 -3
  701. package/src/components/json-viewer/_json-viewer-node.svelte +55 -9
  702. package/src/components/json-viewer/json-viewer.css +11 -0
  703. package/src/components/json-viewer/json-viewer.svelte +63 -1
  704. package/src/components/kanban-board/kanban-board.css +56 -3
  705. package/src/components/kanban-board/kanban-board.svelte +10 -3
  706. package/src/components/keyboard-shortcuts/keyboard-shortcuts.css +2 -2
  707. package/src/components/keyboard-shortcuts/keyboard-shortcuts.svelte +1 -1
  708. package/src/components/label/README.md +1 -1
  709. package/src/components/label/label.css +2 -9
  710. package/src/components/label/label.svelte +4 -2
  711. package/src/components/load-more/README.md +4 -4
  712. package/src/components/load-more/load-more.css +13 -5
  713. package/src/components/load-more/load-more.examples.json +2 -2
  714. package/src/components/load-more/load-more.svelte +4 -4
  715. package/src/components/load-more/load-more.types.ts +3 -3
  716. package/src/components/locale-provider/README.md +43 -0
  717. package/src/components/locale-provider/index.ts +5 -0
  718. package/src/components/locale-provider/locale-provider.svelte +40 -0
  719. package/src/components/locale-provider/locale-provider.types.ts +21 -0
  720. package/src/components/markdown-editor/README.md +3 -3
  721. package/src/components/markdown-editor/editor-toolbar/editor-toolbar.svelte +5 -2
  722. package/src/components/markdown-editor/editor-toolbar/link-popover.svelte +13 -0
  723. package/src/components/markdown-editor/editor-toolbar/toolbar-dropdown.svelte +2 -0
  724. package/src/components/markdown-editor/markdown-editor.svelte +14 -12
  725. package/src/components/markdown-editor/markdown-editor.types.ts +4 -4
  726. package/src/components/masonry/README.md +7 -7
  727. package/src/components/masonry/masonry.types.ts +24 -2
  728. package/src/components/matrix-chart/matrix-chart.svelte +7 -21
  729. package/src/components/media-controls/README.md +3 -3
  730. package/src/components/media-controls/media-controls.css +15 -4
  731. package/src/components/media-controls/media-controls.examples.json +1 -1
  732. package/src/components/media-controls/media-controls.svelte +6 -6
  733. package/src/components/media-controls/media-controls.types.ts +10 -7
  734. package/src/components/menu-bar/menu-bar.css +11 -0
  735. package/src/components/menu-bar/menu-bar.svelte +81 -12
  736. package/src/components/navigation-bar/README.md +1 -1
  737. package/src/components/navigation-bar/navigation-bar.examples.json +1 -1
  738. package/src/components/navigation-bar/navigation-bar.svelte +2 -2
  739. package/src/components/navigation-bar/navigation-bar.types.ts +1 -1
  740. package/src/components/number-input/README.md +18 -18
  741. package/src/components/number-input/number-input.examples.json +13 -0
  742. package/src/components/number-input/number-input.svelte +77 -38
  743. package/src/components/number-input/number-input.types.ts +15 -5
  744. package/src/components/pagination/README.md +3 -1
  745. package/src/components/payload-inspector/README.md +11 -11
  746. package/src/components/payload-inspector/index.ts +2 -0
  747. package/src/components/payload-inspector/payload-inspector.css +6 -0
  748. package/src/components/payload-inspector/payload-inspector.svelte +22 -4
  749. package/src/components/payload-inspector/payload-inspector.types.ts +54 -3
  750. package/src/components/permission-matrix/permission-matrix.css +10 -0
  751. package/src/components/phone-input/README.md +1 -1
  752. package/src/components/phone-input/phone-input.svelte +7 -1
  753. package/src/components/phone-input/phone-input.types.ts +3 -2
  754. package/src/components/pin-input/README.md +19 -19
  755. package/src/components/pin-input/pin-input.svelte +16 -12
  756. package/src/components/pin-input/pin-input.types.ts +10 -1
  757. package/src/components/portal/portal.utilities.svelte.ts +4 -1
  758. package/src/components/pricing-card/pricing-card.svelte +26 -1
  759. package/src/components/radio-group/README.md +12 -12
  760. package/src/components/radio-group/radio-group.css +3 -0
  761. package/src/components/radio-group/radio-group.examples.json +3 -3
  762. package/src/components/radio-group/radio-group.svelte +22 -2
  763. package/src/components/radio-group/radio-group.types.ts +6 -2
  764. package/src/components/rating/README.md +18 -18
  765. package/src/components/rating/rating.svelte +0 -8
  766. package/src/components/rating/rating.types.ts +6 -0
  767. package/src/components/review-editor/comment-list.svelte +1 -1
  768. package/src/components/review-editor/index.ts +1 -1
  769. package/src/components/review-editor/review-editor-controls.svelte +8 -3
  770. package/src/components/review-editor/review-editor-impl.svelte +11 -7
  771. package/src/components/review-editor/review-editor-selection-types.ts +1 -1
  772. package/src/components/review-editor/review-editor-selection.svelte.ts +1 -1
  773. package/src/components/review-editor/review-editor-state.svelte.ts +1 -1
  774. package/src/components/review-editor/review-editor-threads.svelte.ts +2 -2
  775. package/src/components/review-editor/review-editor.types.ts +91 -3
  776. package/src/components/review-editor/thread-popover.svelte +1 -1
  777. package/src/components/run-step-timeline/README.md +53 -6
  778. package/src/components/run-step-timeline/index.ts +6 -0
  779. package/src/components/run-step-timeline/run-step-timeline.css +25 -5
  780. package/src/components/run-step-timeline/run-step-timeline.examples.json +3 -3
  781. package/src/components/run-step-timeline/run-step-timeline.svelte +314 -78
  782. package/src/components/run-step-timeline/run-step-timeline.types.ts +190 -3
  783. package/src/components/schema-form/README.md +9 -9
  784. package/src/components/schema-form/index.ts +0 -1
  785. package/src/components/schema-form/schema-form-async.fixture.ts +101 -0
  786. package/src/components/schema-form/schema-form-body.svelte +646 -0
  787. package/src/components/schema-form/schema-form-model.ts +4 -44
  788. package/src/components/schema-form/schema-form-validation.ts +83 -46
  789. package/src/components/schema-form/schema-form.css +12 -74
  790. package/src/components/schema-form/schema-form.examples.json +0 -6
  791. package/src/components/schema-form/schema-form.svelte +30 -598
  792. package/src/components/schema-form/schema-form.types.ts +16 -12
  793. package/src/components/scroll-area/README.md +1 -1
  794. package/src/components/scroll-area/scroll-area.examples.json +3 -3
  795. package/src/components/scroll-area/scroll-area.svelte +5 -5
  796. package/src/components/scroll-area/scroll-area.types.ts +1 -1
  797. package/src/components/secret-value-field/secret-value-field.svelte +10 -6
  798. package/src/components/segmented-control/segmented-control.css +22 -1
  799. package/src/components/segmented-control/segmented-control.examples.json +2 -2
  800. package/src/components/select/select.css +9 -2
  801. package/src/components/select/select.svelte +6 -1
  802. package/src/components/selection-popover/selection-popover.examples.json +1 -1
  803. package/src/components/share-card/share-card.css +15 -4
  804. package/src/components/share-card/share-card.svelte +2 -4
  805. package/src/components/sheet/sheet.svelte +30 -145
  806. package/src/components/shortcut-hint/shortcut-hint.svelte +1 -1
  807. package/src/components/side-navigation/side-navigation.examples.json +1 -1
  808. package/src/components/sidebar/README.md +6 -2
  809. package/src/components/sidebar/sidebar.examples.json +1 -1
  810. package/src/components/sidebar/sidebar.svelte +4 -4
  811. package/src/components/sidebar/sidebar.types.ts +1 -1
  812. package/src/components/slider/slider.css +14 -9
  813. package/src/components/slider/slider.svelte +33 -2
  814. package/src/components/sortable-list/README.md +18 -1
  815. package/src/components/sortable-list/sortable-list.css +1 -1
  816. package/src/components/sortable-list/sortable-list.examples.json +13 -0
  817. package/src/components/spectrogram/spectrogram.examples.json +1 -0
  818. package/src/components/spectrogram/spectrogram.svelte +7 -19
  819. package/src/components/spectrum-chart/spectrum-chart.svelte +8 -20
  820. package/src/components/speed-dial/speed-dial.css +3 -3
  821. package/src/components/speed-dial/speed-dial.examples.json +1 -1
  822. package/src/components/speed-dial/speed-dial.svelte +2 -2
  823. package/src/components/speed-dial-action/speed-dial-action.svelte +1 -1
  824. package/src/components/stacked-list-item/stacked-list-item.examples.json +1 -1
  825. package/src/components/stat/README.md +1 -1
  826. package/src/components/stat/stat.svelte +7 -2
  827. package/src/components/stat/stat.types.ts +2 -2
  828. package/src/components/stat-group/stat-group.css +1 -1
  829. package/src/components/status-dot/README.md +9 -7
  830. package/src/components/status-dot/index.ts +6 -1
  831. package/src/components/status-dot/status-dot.css +45 -1
  832. package/src/components/status-dot/status-dot.examples.json +1 -1
  833. package/src/components/status-dot/status-dot.svelte +57 -8
  834. package/src/components/status-dot/status-dot.types.ts +17 -6
  835. package/src/components/steps/steps.css +3 -3
  836. package/src/components/table/table.css +10 -0
  837. package/src/components/table/table.examples.json +1 -1
  838. package/src/components/table/table.svelte +2 -2
  839. package/src/components/table/table.types.ts +3 -3
  840. package/src/components/table-header/README.md +2 -2
  841. package/src/components/table-header/table-header.svelte +5 -5
  842. package/src/components/table-header/table-header.types.ts +2 -2
  843. package/src/components/table-header-cell/table-header-cell.svelte +13 -2
  844. package/src/components/table-row/README.md +2 -2
  845. package/src/components/table-row/table-row.svelte +6 -6
  846. package/src/components/table-row/table-row.types.ts +6 -6
  847. package/src/components/tabs/README.md +1 -0
  848. package/src/components/tabs/tabs.svelte +11 -3
  849. package/src/components/tabs/tabs.types.ts +2 -0
  850. package/src/components/textarea/textarea.css +16 -1
  851. package/src/components/textarea/textarea.svelte +6 -1
  852. package/src/components/time-field/README.md +60 -0
  853. package/src/components/time-field/index.ts +6 -0
  854. package/src/components/time-field/time-field.css +60 -0
  855. package/src/components/time-field/time-field.examples.json +13 -0
  856. package/src/components/time-field/time-field.svelte +277 -0
  857. package/src/components/time-field/time-field.types.ts +70 -0
  858. package/src/components/toggle/README.md +12 -11
  859. package/src/components/toggle/toggle.svelte +19 -6
  860. package/src/components/toggle/toggle.types.ts +2 -0
  861. package/src/components/transfer-list/README.md +1 -1
  862. package/src/components/transfer-list/transfer-list.css +22 -0
  863. package/src/components/transfer-list/transfer-list.svelte +44 -10
  864. package/src/components/transfer-list/transfer-list.types.ts +5 -2
  865. package/src/components/tree/README.md +2 -2
  866. package/src/components/tree/tree.css +69 -0
  867. package/src/components/tree/tree.examples.json +1 -1
  868. package/src/components/tree/tree.svelte +52 -9
  869. package/src/components/tree/tree.types.ts +2 -2
  870. package/src/components/tree-item/README.md +4 -4
  871. package/src/components/tree-item/tree-item.svelte +42 -12
  872. package/src/components/tree-item/tree-item.types.ts +4 -4
  873. package/src/components/virtual-list/virtual-list.svelte +5 -5
  874. package/src/components/waveform/waveform.svelte +7 -19
  875. package/src/index.ts +40 -16
  876. package/src/styles/components/_field-label.css +20 -0
  877. package/src/styles/components/_input-frame.css +2 -1
  878. package/src/styles/components.css +3 -2
  879. package/src/styles/index.css +1 -0
  880. package/src/styles/tokens-base.css +3 -0
  881. package/src/utilities/attachments.ts +15 -12
  882. package/src/utilities/value-change.ts +11 -0
  883. package/dist/components/connection-indicator/connection-indicator.css +0 -63
  884. package/dist/components/connection-indicator/connection-indicator.svelte.d.ts +0 -18
  885. package/dist/components/connection-indicator/connection-indicator.types.d.ts +0 -14
  886. package/dist/components/connection-indicator/index.d.ts +0 -5
  887. package/dist/components/connection-indicator/index.js +0 -75
  888. package/dist/components/experimental/connection-indicator/index.d.ts +0 -2
  889. package/dist/components/review-editor/review-editor-types.d.ts +0 -77
  890. package/dist/components/subscription-badge/index.d.ts +0 -5
  891. package/dist/components/subscription-badge/index.js +0 -353
  892. package/dist/components/subscription-badge/subscription-badge.css +0 -18
  893. package/dist/components/subscription-badge/subscription-badge.schema.js +0 -47
  894. package/dist/components/subscription-badge/subscription-badge.svelte.d.ts +0 -19
  895. package/dist/components/subscription-badge/subscription-badge.types.d.ts +0 -28
  896. package/dist/server/components/connection-indicator/connection-indicator.schema.js +0 -31
  897. package/dist/server/components/connection-indicator/connection-indicator.variables.js +0 -12
  898. package/dist/server/components/connection-indicator/index.css +0 -60
  899. package/dist/server/components/connection-indicator/index.js +0 -42
  900. package/dist/server/components/experimental/connection-indicator/index.js +0 -23
  901. package/dist/server/components/subscription-badge/index.css +0 -2
  902. package/dist/server/components/subscription-badge/index.js +0 -308
  903. package/dist/server/components/subscription-badge/subscription-badge.schema.js +0 -28
  904. package/dist/server/components/subscription-badge/subscription-badge.variables.js +0 -12
  905. package/src/components/connection-indicator/README.md +0 -41
  906. package/src/components/connection-indicator/connection-indicator.css +0 -63
  907. package/src/components/connection-indicator/connection-indicator.svelte +0 -44
  908. package/src/components/connection-indicator/connection-indicator.types.ts +0 -18
  909. package/src/components/connection-indicator/index.ts +0 -6
  910. package/src/components/experimental/connection-indicator/index.ts +0 -20
  911. package/src/components/review-editor/review-editor-types.ts +0 -92
  912. package/src/components/subscription-badge/README.md +0 -50
  913. package/src/components/subscription-badge/index.ts +0 -6
  914. package/src/components/subscription-badge/subscription-badge.css +0 -18
  915. package/src/components/subscription-badge/subscription-badge.examples.json +0 -19
  916. package/src/components/subscription-badge/subscription-badge.svelte +0 -69
  917. package/src/components/subscription-badge/subscription-badge.types.ts +0 -37
  918. /package/dist/components/{connection-indicator/connection-indicator.schema.d.ts → approval-card/approval-card.schema.d.ts} +0 -0
  919. /package/dist/components/{connection-indicator/connection-indicator.variables.d.ts → approval-card/approval-card.variables.d.ts} +0 -0
  920. /package/dist/components/{subscription-badge/subscription-badge.schema.d.ts → locale-provider/locale-provider.schema.d.ts} +0 -0
  921. /package/dist/components/{subscription-badge/subscription-badge.variables.d.ts → locale-provider/locale-provider.variables.d.ts} +0 -0
@@ -27,60 +27,26 @@ import"@lostgradient/cinder/event-stream-viewer/styles";
27
27
  // src/components/event-stream-viewer/event-stream-viewer.svelte
28
28
  import"svelte/internal/disclose-version";
29
29
  import * as $9 from "svelte/internal/client";
30
+ import { SvelteSet } from "svelte/reactivity";
30
31
 
31
32
  // src/utilities/class-names.ts
32
33
  function classNames(...parts) {
33
34
  return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
34
35
  }
35
36
 
36
- // src/components/connection-indicator/connection-indicator.svelte
37
- import"svelte/internal/disclose-version";
38
- import * as $ from "svelte/internal/client";
39
- var root = $.from_html(`<span><span class="cinder-connection-indicator__dot" aria-hidden="true"></span> <span class="cinder-connection-indicator__label"> </span></span>`);
40
- function Connection_indicator($$anchor, $$props) {
41
- $.push($$props, true);
42
- let rest = $.rest_props($$props, ["$$slots", "$$events", "$$legacy", "state", "label", "class"]);
43
- const defaultLabels = {
44
- connected: "Connected",
45
- connecting: "Connecting",
46
- disconnected: "Disconnected",
47
- error: "Error"
48
- };
49
- const visibleLabel = $.derived(() => $$props.label ?? defaultLabels[$$props.state]);
50
- var span = root();
51
- $.attribute_effect(span, ($0) => ({
52
- ...rest,
53
- class: $0,
54
- "data-cinder-state": $$props.state,
55
- role: "status",
56
- "aria-live": "polite",
57
- "aria-atomic": "true"
58
- }), [
59
- () => classNames("cinder-connection-indicator", $$props.class)
60
- ]);
61
- var span_1 = $.sibling($.child(span), 2);
62
- var text = $.child(span_1, true);
63
- $.reset(span_1);
64
- $.reset(span);
65
- $.template_effect(() => $.set_text(text, $.get(visibleLabel)));
66
- $.append($$anchor, span);
67
- $.pop();
68
- }
69
-
70
37
  // src/components/copy-button/copy-button.svelte
71
38
  import"svelte/internal/disclose-version";
72
- import * as $6 from "svelte/internal/client";
73
- import { onDestroy } from "svelte";
39
+ import * as $5 from "svelte/internal/client";
74
40
 
75
41
  // ../../node_modules/lucide-svelte/dist/icons/check.svelte
76
42
  import"svelte/internal/disclose-version";
77
43
  import"svelte/internal/flags/legacy";
78
- import * as $3 from "svelte/internal/client";
44
+ import * as $2 from "svelte/internal/client";
79
45
 
80
46
  // ../../node_modules/lucide-svelte/dist/Icon.svelte
81
47
  import"svelte/internal/disclose-version";
82
48
  import"svelte/internal/flags/legacy";
83
- import * as $2 from "svelte/internal/client";
49
+ import * as $ from "svelte/internal/client";
84
50
 
85
51
  // ../../node_modules/lucide-svelte/dist/defaultAttributes.js
86
52
  var defaultAttributes = {
@@ -97,10 +63,10 @@ var defaultAttributes = {
97
63
  var defaultAttributes_default = defaultAttributes;
98
64
 
99
65
  // ../../node_modules/lucide-svelte/dist/Icon.svelte
100
- var root2 = $2.from_svg(`<svg><!><!></svg>`);
66
+ var root = $.from_svg(`<svg><!><!></svg>`);
101
67
  function Icon($$anchor, $$props) {
102
- const $$sanitized_props = $2.legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
103
- const $$restProps = $2.legacy_rest_props($$sanitized_props, [
68
+ const $$sanitized_props = $.legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
69
+ const $$restProps = $.legacy_rest_props($$sanitized_props, [
104
70
  "name",
105
71
  "color",
106
72
  "size",
@@ -108,19 +74,19 @@ function Icon($$anchor, $$props) {
108
74
  "absoluteStrokeWidth",
109
75
  "iconNode"
110
76
  ]);
111
- $2.push($$props, false);
112
- let name = $2.prop($$props, "name", 8, undefined);
113
- let color = $2.prop($$props, "color", 8, "currentColor");
114
- let size = $2.prop($$props, "size", 8, 24);
115
- let strokeWidth = $2.prop($$props, "strokeWidth", 8, 2);
116
- let absoluteStrokeWidth = $2.prop($$props, "absoluteStrokeWidth", 8, false);
117
- let iconNode = $2.prop($$props, "iconNode", 24, () => []);
77
+ $.push($$props, false);
78
+ let name = $.prop($$props, "name", 8, undefined);
79
+ let color = $.prop($$props, "color", 8, "currentColor");
80
+ let size = $.prop($$props, "size", 8, 24);
81
+ let strokeWidth = $.prop($$props, "strokeWidth", 8, 2);
82
+ let absoluteStrokeWidth = $.prop($$props, "absoluteStrokeWidth", 8, false);
83
+ let iconNode = $.prop($$props, "iconNode", 24, () => []);
118
84
  const mergeClasses = (...classes) => classes.filter((className, index2, array) => {
119
85
  return Boolean(className) && array.indexOf(className) === index2;
120
86
  }).join(" ");
121
- $2.init();
122
- var svg = root2();
123
- $2.attribute_effect(svg, ($0, $1) => ({
87
+ $.init();
88
+ var svg = root();
89
+ $.attribute_effect(svg, ($0, $1) => ({
124
90
  ...defaultAttributes_default,
125
91
  ...$$restProps,
126
92
  width: size(),
@@ -129,41 +95,41 @@ function Icon($$anchor, $$props) {
129
95
  "stroke-width": $0,
130
96
  class: $1
131
97
  }), [
132
- () => ($2.deep_read_state(absoluteStrokeWidth()), $2.deep_read_state(strokeWidth()), $2.deep_read_state(size()), $2.untrack(() => absoluteStrokeWidth() ? Number(strokeWidth()) * 24 / Number(size()) : strokeWidth())),
133
- () => ($2.deep_read_state(name()), $2.deep_read_state($$sanitized_props), $2.untrack(() => mergeClasses("lucide-icon", "lucide", name() ? `lucide-${name()}` : "", $$sanitized_props.class)))
98
+ () => ($.deep_read_state(absoluteStrokeWidth()), $.deep_read_state(strokeWidth()), $.deep_read_state(size()), $.untrack(() => absoluteStrokeWidth() ? Number(strokeWidth()) * 24 / Number(size()) : strokeWidth())),
99
+ () => ($.deep_read_state(name()), $.deep_read_state($$sanitized_props), $.untrack(() => mergeClasses("lucide-icon", "lucide", name() ? `lucide-${name()}` : "", $$sanitized_props.class)))
134
100
  ]);
135
- var node = $2.child(svg);
136
- $2.each(node, 1, iconNode, $2.index, ($$anchor2, $$item) => {
137
- var $$array = $2.derived(() => $2.to_array($2.get($$item), 2));
138
- let tag = () => $2.get($$array)[0];
139
- let attrs = () => $2.get($$array)[1];
140
- var fragment = $2.comment();
141
- var node_1 = $2.first_child(fragment);
142
- $2.element(node_1, tag, true, ($$element, $$anchor3) => {
143
- $2.attribute_effect($$element, () => ({ ...attrs() }));
101
+ var node = $.child(svg);
102
+ $.each(node, 1, iconNode, $.index, ($$anchor2, $$item) => {
103
+ var $$array = $.derived(() => $.to_array($.get($$item), 2));
104
+ let tag = () => $.get($$array)[0];
105
+ let attrs = () => $.get($$array)[1];
106
+ var fragment = $.comment();
107
+ var node_1 = $.first_child(fragment);
108
+ $.element(node_1, tag, true, ($$element, $$anchor3) => {
109
+ $.attribute_effect($$element, () => ({ ...attrs() }));
144
110
  });
145
- $2.append($$anchor2, fragment);
111
+ $.append($$anchor2, fragment);
146
112
  });
147
- var node_2 = $2.sibling(node);
148
- $2.slot(node_2, $$props, "default", {}, null);
149
- $2.reset(svg);
150
- $2.append($$anchor, svg);
151
- $2.pop();
113
+ var node_2 = $.sibling(node);
114
+ $.slot(node_2, $$props, "default", {}, null);
115
+ $.reset(svg);
116
+ $.append($$anchor, svg);
117
+ $.pop();
152
118
  }
153
119
 
154
120
  // ../../node_modules/lucide-svelte/dist/icons/check.svelte
155
121
  function Check($$anchor, $$props) {
156
- const $$sanitized_props = $3.legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
122
+ const $$sanitized_props = $2.legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
157
123
  const iconNode = [["path", { d: "M20 6 9 17l-5-5" }]];
158
- Icon($$anchor, $3.spread_props({ name: "check" }, () => $$sanitized_props, {
124
+ Icon($$anchor, $2.spread_props({ name: "check" }, () => $$sanitized_props, {
159
125
  get iconNode() {
160
126
  return iconNode;
161
127
  },
162
128
  children: ($$anchor2, $$slotProps) => {
163
- var fragment_1 = $3.comment();
164
- var node = $3.first_child(fragment_1);
165
- $3.slot(node, $$props, "default", {}, null);
166
- $3.append($$anchor2, fragment_1);
129
+ var fragment_1 = $2.comment();
130
+ var node = $2.first_child(fragment_1);
131
+ $2.slot(node, $$props, "default", {}, null);
132
+ $2.append($$anchor2, fragment_1);
167
133
  },
168
134
  $$slots: { default: true }
169
135
  }));
@@ -171,9 +137,9 @@ function Check($$anchor, $$props) {
171
137
  // ../../node_modules/lucide-svelte/dist/icons/copy.svelte
172
138
  import"svelte/internal/disclose-version";
173
139
  import"svelte/internal/flags/legacy";
174
- import * as $4 from "svelte/internal/client";
140
+ import * as $3 from "svelte/internal/client";
175
141
  function Copy($$anchor, $$props) {
176
- const $$sanitized_props = $4.legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
142
+ const $$sanitized_props = $3.legacy_rest_props($$props, ["children", "$$slots", "$$events", "$$legacy"]);
177
143
  const iconNode = [
178
144
  [
179
145
  "rect",
@@ -193,15 +159,15 @@ function Copy($$anchor, $$props) {
193
159
  }
194
160
  ]
195
161
  ];
196
- Icon($$anchor, $4.spread_props({ name: "copy" }, () => $$sanitized_props, {
162
+ Icon($$anchor, $3.spread_props({ name: "copy" }, () => $$sanitized_props, {
197
163
  get iconNode() {
198
164
  return iconNode;
199
165
  },
200
166
  children: ($$anchor2, $$slotProps) => {
201
- var fragment_1 = $4.comment();
202
- var node = $4.first_child(fragment_1);
203
- $4.slot(node, $$props, "default", {}, null);
204
- $4.append($$anchor2, fragment_1);
167
+ var fragment_1 = $3.comment();
168
+ var node = $3.first_child(fragment_1);
169
+ $3.slot(node, $$props, "default", {}, null);
170
+ $3.append($$anchor2, fragment_1);
205
171
  },
206
172
  $$slots: { default: true }
207
173
  }));
@@ -240,16 +206,16 @@ function legacyCopy(text) {
240
206
 
241
207
  // src/components/_visually-hidden-live-region.svelte
242
208
  import"svelte/internal/disclose-version";
243
- import * as $5 from "svelte/internal/client";
244
- var root3 = $5.from_html(`<div aria-atomic="true"> </div>`);
209
+ import * as $4 from "svelte/internal/client";
210
+ var root2 = $4.from_html(`<div aria-atomic="true"> </div>`);
245
211
  function _visually_hidden_live_region($$anchor, $$props) {
246
- $5.push($$props, true);
247
- let message = $5.prop($$props, "message", 3, ""), announcementSequence = $5.prop($$props, "announcementSequence", 3, 0), priority = $5.prop($$props, "priority", 3, "polite");
248
- let rendered = $5.state("");
212
+ $4.push($$props, true);
213
+ let message = $4.prop($$props, "message", 3, ""), announcementSequence = $4.prop($$props, "announcementSequence", 3, 0), priority = $4.prop($$props, "priority", 3, "polite");
214
+ let rendered = $4.state("");
249
215
  let setTimeoutId = null;
250
216
  let version = 0;
251
217
  let isDestroyed = false;
252
- $5.user_effect(() => {
218
+ $4.user_effect(() => {
253
219
  return () => {
254
220
  isDestroyed = true;
255
221
  if (setTimeoutId) {
@@ -258,7 +224,7 @@ function _visually_hidden_live_region($$anchor, $$props) {
258
224
  }
259
225
  };
260
226
  });
261
- $5.user_effect(() => {
227
+ $4.user_effect(() => {
262
228
  const next = message();
263
229
  announcementSequence();
264
230
  const current = ++version;
@@ -266,34 +232,34 @@ function _visually_hidden_live_region($$anchor, $$props) {
266
232
  clearTimeout(setTimeoutId);
267
233
  setTimeoutId = null;
268
234
  }
269
- $5.set(rendered, "");
235
+ $4.set(rendered, "");
270
236
  if (next === "")
271
237
  return;
272
238
  setTimeoutId = setTimeout(() => {
273
239
  if (isDestroyed || version !== current)
274
240
  return;
275
- $5.set(rendered, next, true);
241
+ $4.set(rendered, next, true);
276
242
  setTimeoutId = null;
277
243
  }, 0);
278
244
  });
279
- var div = root3();
280
- var text = $5.child(div, true);
281
- $5.reset(div);
282
- $5.template_effect(($0) => {
283
- $5.set_attribute(div, "role", priority() === "assertive" ? "alert" : "status");
284
- $5.set_attribute(div, "aria-live", priority() === "assertive" ? "assertive" : "polite");
285
- $5.set_class(div, 1, $0);
286
- $5.set_text(text, $5.get(rendered));
287
- }, [() => $5.clsx(classNames("cinder-sr-only", $$props.class))]);
288
- $5.append($$anchor, div);
289
- $5.pop();
245
+ var div = root2();
246
+ var text = $4.child(div, true);
247
+ $4.reset(div);
248
+ $4.template_effect(($0) => {
249
+ $4.set_attribute(div, "role", priority() === "assertive" ? "alert" : "status");
250
+ $4.set_attribute(div, "aria-live", priority() === "assertive" ? "assertive" : "polite");
251
+ $4.set_class(div, 1, $0);
252
+ $4.set_text(text, $4.get(rendered));
253
+ }, [() => $4.clsx(classNames("cinder-sr-only", $$props.class))]);
254
+ $4.append($$anchor, div);
255
+ $4.pop();
290
256
  }
291
257
 
292
258
  // src/components/copy-button/copy-button.svelte
293
- var root4 = $6.from_html(`<button><!></button> <!>`, 1);
259
+ var root3 = $5.from_html(`<button><!></button> <!>`, 1);
294
260
  function Copy_button($$anchor, $$props) {
295
- $6.push($$props, true);
296
- let confirmDuration = $6.prop($$props, "confirmDuration", 3, 1500), iconOnly = $6.prop($$props, "iconOnly", 3, false), rest = $6.rest_props($$props, [
261
+ $5.push($$props, true);
262
+ let confirmDuration = $5.prop($$props, "confirmDuration", 3, 1500), iconOnly = $5.prop($$props, "iconOnly", 3, false), rest = $5.rest_props($$props, [
297
263
  "$$slots",
298
264
  "$$events",
299
265
  "$$legacy",
@@ -306,68 +272,70 @@ function Copy_button($$anchor, $$props) {
306
272
  "children",
307
273
  "confirmation"
308
274
  ]);
309
- let copied = $6.state(false);
275
+ let copied = $5.state(false);
310
276
  let resetTimer;
311
- const copiedAnnouncement = $6.derived(() => $6.get(copied) ? $$props.copiedLabel ?? "Copied" : "");
277
+ const copiedAnnouncement = $5.derived(() => $5.get(copied) ? $$props.copiedLabel ?? "Copied" : "");
312
278
  async function handleClick() {
313
279
  const ok = await copyToClipboard($$props.value);
314
280
  if (!ok)
315
281
  return;
316
- $6.set(copied, true);
282
+ $5.set(copied, true);
317
283
  if (resetTimer)
318
284
  clearTimeout(resetTimer);
319
285
  resetTimer = setTimeout(() => {
320
- $6.set(copied, false);
286
+ $5.set(copied, false);
321
287
  }, confirmDuration());
322
288
  }
323
- onDestroy(() => {
324
- if (resetTimer)
325
- clearTimeout(resetTimer);
289
+ $5.user_effect(() => {
290
+ return () => {
291
+ if (resetTimer)
292
+ clearTimeout(resetTimer);
293
+ };
326
294
  });
327
- var fragment = root4();
328
- var button = $6.first_child(fragment);
329
- $6.attribute_effect(button, ($0) => ({
295
+ var fragment = root3();
296
+ var button = $5.first_child(fragment);
297
+ $5.attribute_effect(button, ($0) => ({
330
298
  ...rest,
331
299
  type: "button",
332
- "data-cinder-copied": $6.get(copied) || undefined,
300
+ "data-cinder-copied": $5.get(copied) || undefined,
333
301
  "aria-label": $$props.label ?? "Copy to clipboard",
334
302
  onclick: handleClick,
335
303
  class: $0
336
304
  }), [() => classNames("cinder-copy-button", $$props.class)]);
337
- var node = $6.child(button);
305
+ var node = $5.child(button);
338
306
  {
339
307
  var consequent = ($$anchor2) => {
340
- var fragment_1 = $6.comment();
341
- var node_1 = $6.first_child(fragment_1);
342
- $6.snippet(node_1, () => $$props.confirmation);
343
- $6.append($$anchor2, fragment_1);
308
+ var fragment_1 = $5.comment();
309
+ var node_1 = $5.first_child(fragment_1);
310
+ $5.snippet(node_1, () => $$props.confirmation);
311
+ $5.append($$anchor2, fragment_1);
344
312
  };
345
313
  var consequent_1 = ($$anchor2) => {
346
314
  Check($$anchor2, { class: "icon-sm", "aria-hidden": "true" });
347
315
  };
348
316
  var consequent_2 = ($$anchor2) => {
349
- var text2 = $6.text("Copied");
350
- $6.append($$anchor2, text2);
317
+ var text2 = $5.text("Copied");
318
+ $5.append($$anchor2, text2);
351
319
  };
352
320
  var consequent_3 = ($$anchor2) => {
353
- var fragment_3 = $6.comment();
354
- var node_2 = $6.first_child(fragment_3);
355
- $6.snippet(node_2, () => $$props.children);
356
- $6.append($$anchor2, fragment_3);
321
+ var fragment_3 = $5.comment();
322
+ var node_2 = $5.first_child(fragment_3);
323
+ $5.snippet(node_2, () => $$props.children);
324
+ $5.append($$anchor2, fragment_3);
357
325
  };
358
326
  var consequent_4 = ($$anchor2) => {
359
327
  Copy($$anchor2, { class: "icon-sm", "aria-hidden": "true" });
360
328
  };
361
329
  var alternate = ($$anchor2) => {
362
- var text_1 = $6.text("Copy");
363
- $6.append($$anchor2, text_1);
330
+ var text_1 = $5.text("Copy");
331
+ $5.append($$anchor2, text_1);
364
332
  };
365
- $6.if(node, ($$render) => {
366
- if ($6.get(copied) && $$props.confirmation)
333
+ $5.if(node, ($$render) => {
334
+ if ($5.get(copied) && $$props.confirmation)
367
335
  $$render(consequent);
368
- else if ($6.get(copied) && iconOnly())
336
+ else if ($5.get(copied) && iconOnly())
369
337
  $$render(consequent_1, 1);
370
- else if ($6.get(copied))
338
+ else if ($5.get(copied))
371
339
  $$render(consequent_2, 2);
372
340
  else if ($$props.children)
373
341
  $$render(consequent_3, 3);
@@ -377,51 +345,52 @@ function Copy_button($$anchor, $$props) {
377
345
  $$render(alternate, -1);
378
346
  });
379
347
  }
380
- $6.reset(button);
381
- var node_3 = $6.sibling(button, 2);
348
+ $5.reset(button);
349
+ var node_3 = $5.sibling(button, 2);
382
350
  _visually_hidden_live_region(node_3, {
383
351
  get message() {
384
- return $6.get(copiedAnnouncement);
352
+ return $5.get(copiedAnnouncement);
385
353
  }
386
354
  });
387
- $6.append($$anchor, fragment);
388
- $6.pop();
355
+ $5.append($$anchor, fragment);
356
+ $5.pop();
389
357
  }
390
358
 
391
359
  // src/components/json-viewer/json-viewer.svelte
392
360
  import"svelte/internal/disclose-version";
393
- import * as $8 from "svelte/internal/client";
361
+ import * as $7 from "svelte/internal/client";
394
362
 
395
363
  // src/components/json-viewer/_json-viewer-node.svelte
396
364
  import"svelte/internal/disclose-version";
397
- import * as $7 from "svelte/internal/client";
365
+ import * as $6 from "svelte/internal/client";
398
366
  import { untrack as untrack2 } from "svelte";
399
- var root_2 = $7.from_html(`<span class="cinder-json-viewer__key"> </span>`);
400
- var root_3 = $7.from_html(`<span class="cinder-json-viewer__summary"> </span> <span class="cinder-json-viewer__brace"> </span>`, 1);
401
- var root_5 = $7.from_html(`<li><!></li>`);
402
- var root_4 = $7.from_html(`<ul class="cinder-json-viewer__children"></ul> <span class="cinder-json-viewer__brace"> </span>`, 1);
403
- var root_1 = $7.from_html(`<span><button type="button" class="cinder-json-viewer__toggle"><!> <span class="cinder-json-viewer__caret"></span> <span class="cinder-json-viewer__brace"> </span> <!></button> <!></span>`);
404
- var root_7 = $7.from_html(`<span class="cinder-json-viewer__key"> </span>`);
405
- var root_6 = $7.from_html(`<span class="cinder-json-viewer__node"><!> <span class="cinder-json-viewer__too-deep">…</span></span>`);
406
- var root_9 = $7.from_html(`<span class="cinder-json-viewer__key"> </span>`);
407
- var root_8 = $7.from_html(`<span class="cinder-json-viewer__node"><!> <span class="cinder-json-viewer__value"><!></span></span>`);
367
+ var root_3 = $6.from_html(`<span class="cinder-json-viewer__key"> </span>`);
368
+ var root_4 = $6.from_html(`<span class="cinder-json-viewer__summary"> </span> <span class="cinder-json-viewer__brace"> </span>`, 1);
369
+ var root_6 = $6.from_html(`<li role="none"><!></li>`);
370
+ var root_5 = $6.from_html(`<ul class="cinder-json-viewer__children" role="group"></ul> <span class="cinder-json-viewer__brace"> </span>`, 1);
371
+ var root_2 = $6.from_html(`<span role="treeitem"><button type="button" class="cinder-json-viewer__toggle" tabindex="-1"><!> <span class="cinder-json-viewer__caret"></span> <span class="cinder-json-viewer__brace"> </span> <!></button> <!></span>`);
372
+ var root_8 = $6.from_html(`<span class="cinder-json-viewer__key"> </span>`);
373
+ var root_7 = $6.from_html(`<span class="cinder-json-viewer__node" role="treeitem"><!> <span class="cinder-json-viewer__too-deep">…</span></span>`);
374
+ var root_10 = $6.from_html(`<span class="cinder-json-viewer__key"> </span>`);
375
+ var root_9 = $6.from_html(`<span class="cinder-json-viewer__node" role="treeitem"><!> <span class="cinder-json-viewer__value"><!></span></span>`);
408
376
  function _json_viewer_node($$anchor, $$props) {
409
- $7.push($$props, true);
410
- const isObject = $7.derived(() => $$props.value !== null && typeof $$props.value === "object");
411
- const isArray = $7.derived(() => Array.isArray($$props.value));
412
- const tooDeep = $7.derived(() => $$props.depth >= $$props.maxDepth);
413
- let collapsed = $7.state($7.proxy(untrack2(() => $$props.depth >= $$props.initialDepth)));
414
- const entries = $7.derived(() => {
415
- if (!$7.get(isObject) || $7.get(tooDeep))
377
+ $6.push($$props, true);
378
+ let root4 = $6.prop($$props, "root", 3, false);
379
+ const isObject = $6.derived(() => $$props.value !== null && typeof $$props.value === "object");
380
+ const isArray = $6.derived(() => Array.isArray($$props.value));
381
+ const tooDeep = $6.derived(() => $$props.depth >= $$props.maxDepth);
382
+ let collapsed = $6.state($6.proxy(untrack2(() => $$props.depth >= $$props.initialDepth)));
383
+ const entries = $6.derived(() => {
384
+ if (!$6.get(isObject) || $6.get(tooDeep))
416
385
  return [];
417
- if ($7.get(isArray)) {
386
+ if ($6.get(isArray)) {
418
387
  return $$props.value.map((item, i) => [i, item]);
419
388
  }
420
389
  return Object.entries($$props.value);
421
390
  });
422
- const itemCount = $7.derived(() => $7.get(entries).length);
423
- const collectionLabel = $7.derived(() => `${$7.get(isArray) ? "array" : "object"}, ${$7.get(itemCount)} ${$7.get(itemCount) === 1 ? "item" : "items"}`);
424
- const toggleLabel = $7.derived(() => $$props.keyName === undefined ? $7.get(collectionLabel) : `${$$props.keyName}: ${$7.get(collectionLabel)}`);
391
+ const itemCount = $6.derived(() => $6.get(entries).length);
392
+ const collectionLabel = $6.derived(() => `${$6.get(isArray) ? "array" : "object"}, ${$6.get(itemCount)} ${$6.get(itemCount) === 1 ? "item" : "items"}`);
393
+ const toggleLabel = $6.derived(() => $$props.keyName === undefined ? $6.get(collectionLabel) : `${$$props.keyName}: ${$6.get(collectionLabel)}`);
425
394
  function valueClass(v) {
426
395
  if (v === null)
427
396
  return "null";
@@ -433,65 +402,66 @@ function _json_viewer_node($$anchor, $$props) {
433
402
  return "boolean";
434
403
  return "unknown";
435
404
  }
436
- var fragment = $7.comment();
437
- var node = $7.first_child(fragment);
405
+ var fragment = $6.comment();
406
+ var node = $6.first_child(fragment);
438
407
  {
439
408
  var consequent_3 = ($$anchor2) => {
440
- var span = root_1();
441
- var button = $7.child(span);
442
- var node_1 = $7.child(button);
409
+ var span = root_2();
410
+ var button = $6.child(span);
411
+ var node_1 = $6.child(button);
443
412
  {
444
413
  var consequent = ($$anchor3) => {
445
- var span_1 = root_2();
446
- var text3 = $7.child(span_1);
447
- $7.reset(span_1);
448
- $7.template_effect(() => $7.set_text(text3, `${$$props.keyName ?? ""}:`));
449
- $7.append($$anchor3, span_1);
414
+ var span_1 = root_3();
415
+ var text3 = $6.child(span_1);
416
+ $6.reset(span_1);
417
+ $6.template_effect(() => $6.set_text(text3, `${$$props.keyName ?? ""}:`));
418
+ $6.append($$anchor3, span_1);
450
419
  };
451
- $7.if(node_1, ($$render) => {
420
+ $6.if(node_1, ($$render) => {
452
421
  if ($$props.keyName !== undefined)
453
422
  $$render(consequent);
454
423
  });
455
424
  }
456
- var span_2 = $7.sibling(node_1, 2);
457
- var span_3 = $7.sibling(span_2, 2);
458
- var text_1 = $7.child(span_3, true);
459
- $7.reset(span_3);
460
- var node_2 = $7.sibling(span_3, 2);
425
+ var span_2 = $6.sibling(node_1, 2);
426
+ var span_3 = $6.sibling(span_2, 2);
427
+ var text_1 = $6.child(span_3, true);
428
+ $6.reset(span_3);
429
+ var node_2 = $6.sibling(span_3, 2);
461
430
  {
462
431
  var consequent_1 = ($$anchor3) => {
463
- var fragment_1 = root_3();
464
- var span_4 = $7.first_child(fragment_1);
465
- var text_2 = $7.child(span_4);
466
- $7.reset(span_4);
467
- var span_5 = $7.sibling(span_4, 2);
468
- var text_3 = $7.child(span_5, true);
469
- $7.reset(span_5);
470
- $7.template_effect(() => {
471
- $7.set_text(text_2, `${$7.get(itemCount) ?? ""} ${$7.get(itemCount) === 1 ? "item" : "items"}`);
472
- $7.set_text(text_3, $7.get(isArray) ? "]" : "}");
432
+ var fragment_1 = root_4();
433
+ var span_4 = $6.first_child(fragment_1);
434
+ var text_2 = $6.child(span_4);
435
+ $6.reset(span_4);
436
+ var span_5 = $6.sibling(span_4, 2);
437
+ var text_3 = $6.child(span_5, true);
438
+ $6.reset(span_5);
439
+ $6.template_effect(() => {
440
+ $6.set_text(text_2, `${$6.get(itemCount) ?? ""} ${$6.get(itemCount) === 1 ? "item" : "items"}`);
441
+ $6.set_text(text_3, $6.get(isArray) ? "]" : "}");
473
442
  });
474
- $7.append($$anchor3, fragment_1);
443
+ $6.append($$anchor3, fragment_1);
475
444
  };
476
- $7.if(node_2, ($$render) => {
477
- if ($7.get(collapsed))
445
+ $6.if(node_2, ($$render) => {
446
+ if ($6.get(collapsed))
478
447
  $$render(consequent_1);
479
448
  });
480
449
  }
481
- $7.reset(button);
482
- var node_3 = $7.sibling(button, 2);
450
+ $6.reset(button);
451
+ var node_3 = $6.sibling(button, 2);
483
452
  {
484
453
  var consequent_2 = ($$anchor3) => {
485
- var fragment_2 = root_4();
486
- var ul = $7.first_child(fragment_2);
487
- $7.each(ul, 21, () => $7.get(entries), ([k, v]) => k, ($$anchor4, $$item) => {
488
- var $$array = $7.derived(() => $7.to_array($7.get($$item), 2));
489
- let k = () => $7.get($$array)[0];
490
- let v = () => $7.get($$array)[1];
491
- var li = root_5();
492
- var node_4 = $7.child(li);
454
+ var fragment_2 = root_5();
455
+ var ul = $6.first_child(fragment_2);
456
+ $6.each(ul, 23, () => $6.get(entries), ([k, v]) => k, ($$anchor4, $$item, index2) => {
457
+ var $$array = $6.derived(() => $6.to_array($6.get($$item), 2));
458
+ let k = () => $6.get($$array)[0];
459
+ let v = () => $6.get($$array)[1];
460
+ var li = root_6();
461
+ var node_4 = $6.child(li);
493
462
  {
494
- let $0 = $7.derived(() => $$props.depth + 1);
463
+ let $0 = $6.derived(() => $$props.depth + 1);
464
+ let $1 = $6.derived(() => $6.get(index2) + 1);
495
465
  _json_viewer_node(node_4, {
496
466
  get value() {
497
467
  return v();
@@ -500,125 +470,149 @@ function _json_viewer_node($$anchor, $$props) {
500
470
  return k();
501
471
  },
502
472
  get depth() {
503
- return $7.get($0);
473
+ return $6.get($0);
504
474
  },
505
475
  get initialDepth() {
506
476
  return $$props.initialDepth;
507
477
  },
508
478
  get maxDepth() {
509
479
  return $$props.maxDepth;
480
+ },
481
+ get position() {
482
+ return $6.get($1);
483
+ },
484
+ get setSize() {
485
+ return $6.get(entries).length;
510
486
  }
511
487
  });
512
488
  }
513
- $7.reset(li);
514
- $7.append($$anchor4, li);
489
+ $6.reset(li);
490
+ $6.append($$anchor4, li);
515
491
  });
516
- $7.reset(ul);
517
- var span_6 = $7.sibling(ul, 2);
518
- var text_4 = $7.child(span_6, true);
519
- $7.reset(span_6);
520
- $7.template_effect(() => $7.set_text(text_4, $7.get(isArray) ? "]" : "}"));
521
- $7.append($$anchor3, fragment_2);
492
+ $6.reset(ul);
493
+ var span_6 = $6.sibling(ul, 2);
494
+ var text_4 = $6.child(span_6, true);
495
+ $6.reset(span_6);
496
+ $6.template_effect(() => $6.set_text(text_4, $6.get(isArray) ? "]" : "}"));
497
+ $6.append($$anchor3, fragment_2);
522
498
  };
523
- $7.if(node_3, ($$render) => {
524
- if (!$7.get(collapsed))
499
+ $6.if(node_3, ($$render) => {
500
+ if (!$6.get(collapsed))
525
501
  $$render(consequent_2);
526
502
  });
527
503
  }
528
- $7.reset(span);
529
- $7.template_effect(($0) => {
530
- $7.set_class(span, 1, $0);
531
- $7.set_attribute(button, "aria-expanded", !$7.get(collapsed));
532
- $7.set_attribute(button, "aria-label", $7.get(toggleLabel));
533
- $7.set_attribute(span_2, "data-cinder-collapsed", $7.get(collapsed) || undefined);
534
- $7.set_text(text_1, $7.get(isArray) ? "[" : "{");
535
- }, [() => $7.clsx(classNames("cinder-json-viewer__node"))]);
536
- $7.delegated("click", button, () => $7.set(collapsed, !$7.get(collapsed)));
537
- $7.append($$anchor2, span);
504
+ $6.reset(span);
505
+ $6.template_effect(($0) => {
506
+ $6.set_class(span, 1, $0);
507
+ $6.set_attribute(span, "aria-expanded", !$6.get(collapsed));
508
+ $6.set_attribute(span, "aria-label", $6.get(toggleLabel));
509
+ $6.set_attribute(span, "aria-level", $$props.depth + 1);
510
+ $6.set_attribute(span, "aria-posinset", $$props.position);
511
+ $6.set_attribute(span, "aria-setsize", $$props.setSize);
512
+ $6.set_attribute(span, "tabindex", root4() ? 0 : -1);
513
+ $6.set_attribute(button, "aria-label", $6.get(toggleLabel));
514
+ $6.set_attribute(span_2, "data-cinder-collapsed", $6.get(collapsed) || undefined);
515
+ $6.set_text(text_1, $6.get(isArray) ? "[" : "{");
516
+ }, [() => $6.clsx(classNames("cinder-json-viewer__node"))]);
517
+ $6.delegated("click", button, () => $6.set(collapsed, !$6.get(collapsed)));
518
+ $6.append($$anchor2, span);
538
519
  };
539
520
  var consequent_5 = ($$anchor2) => {
540
- var span_7 = root_6();
541
- var node_5 = $7.child(span_7);
521
+ var span_7 = root_7();
522
+ var node_5 = $6.child(span_7);
542
523
  {
543
524
  var consequent_4 = ($$anchor3) => {
544
- var span_8 = root_7();
545
- var text_5 = $7.child(span_8);
546
- $7.reset(span_8);
547
- $7.template_effect(() => $7.set_text(text_5, `${$$props.keyName ?? ""}:`));
548
- $7.append($$anchor3, span_8);
525
+ var span_8 = root_8();
526
+ var text_5 = $6.child(span_8);
527
+ $6.reset(span_8);
528
+ $6.template_effect(() => $6.set_text(text_5, `${$$props.keyName ?? ""}:`));
529
+ $6.append($$anchor3, span_8);
549
530
  };
550
- $7.if(node_5, ($$render) => {
531
+ $6.if(node_5, ($$render) => {
551
532
  if ($$props.keyName !== undefined)
552
533
  $$render(consequent_4);
553
534
  });
554
535
  }
555
- $7.next(2);
556
- $7.reset(span_7);
557
- $7.append($$anchor2, span_7);
536
+ $6.next(2);
537
+ $6.reset(span_7);
538
+ $6.template_effect(() => {
539
+ $6.set_attribute(span_7, "tabindex", root4() ? 0 : -1);
540
+ $6.set_attribute(span_7, "aria-level", $$props.depth + 1);
541
+ $6.set_attribute(span_7, "aria-posinset", $$props.position);
542
+ $6.set_attribute(span_7, "aria-setsize", $$props.setSize);
543
+ });
544
+ $6.append($$anchor2, span_7);
558
545
  };
559
546
  var alternate_1 = ($$anchor2) => {
560
- var span_9 = root_8();
561
- var node_6 = $7.child(span_9);
547
+ var span_9 = root_9();
548
+ var node_6 = $6.child(span_9);
562
549
  {
563
550
  var consequent_6 = ($$anchor3) => {
564
- var span_10 = root_9();
565
- var text_6 = $7.child(span_10);
566
- $7.reset(span_10);
567
- $7.template_effect(() => $7.set_text(text_6, `${$$props.keyName ?? ""}:`));
568
- $7.append($$anchor3, span_10);
551
+ var span_10 = root_10();
552
+ var text_6 = $6.child(span_10);
553
+ $6.reset(span_10);
554
+ $6.template_effect(() => $6.set_text(text_6, `${$$props.keyName ?? ""}:`));
555
+ $6.append($$anchor3, span_10);
569
556
  };
570
- $7.if(node_6, ($$render) => {
557
+ $6.if(node_6, ($$render) => {
571
558
  if ($$props.keyName !== undefined)
572
559
  $$render(consequent_6);
573
560
  });
574
561
  }
575
- var span_11 = $7.sibling(node_6, 2);
576
- var node_7 = $7.child(span_11);
562
+ var span_11 = $6.sibling(node_6, 2);
563
+ var node_7 = $6.child(span_11);
577
564
  {
578
565
  var consequent_7 = ($$anchor3) => {
579
- var text_7 = $7.text();
580
- $7.template_effect(() => $7.set_text(text_7, `"${$$props.value ?? ""}"`));
581
- $7.append($$anchor3, text_7);
566
+ var text_7 = $6.text();
567
+ $6.template_effect(() => $6.set_text(text_7, `"${$$props.value ?? ""}"`));
568
+ $6.append($$anchor3, text_7);
582
569
  };
583
570
  var alternate = ($$anchor3) => {
584
- var text_8 = $7.text();
585
- $7.template_effect(($0) => $7.set_text(text_8, $0), [() => String($$props.value)]);
586
- $7.append($$anchor3, text_8);
571
+ var text_8 = $6.text();
572
+ $6.template_effect(($0) => $6.set_text(text_8, $0), [() => String($$props.value)]);
573
+ $6.append($$anchor3, text_8);
587
574
  };
588
- $7.if(node_7, ($$render) => {
575
+ $6.if(node_7, ($$render) => {
589
576
  if (typeof $$props.value === "string")
590
577
  $$render(consequent_7);
591
578
  else
592
579
  $$render(alternate, -1);
593
580
  });
594
581
  }
595
- $7.reset(span_11);
596
- $7.reset(span_9);
597
- $7.template_effect(($0) => $7.set_attribute(span_11, "data-cinder-type", $0), [() => valueClass($$props.value)]);
598
- $7.append($$anchor2, span_9);
582
+ $6.reset(span_11);
583
+ $6.reset(span_9);
584
+ $6.template_effect(($0) => {
585
+ $6.set_attribute(span_9, "tabindex", root4() ? 0 : -1);
586
+ $6.set_attribute(span_9, "aria-level", $$props.depth + 1);
587
+ $6.set_attribute(span_9, "aria-posinset", $$props.position);
588
+ $6.set_attribute(span_9, "aria-setsize", $$props.setSize);
589
+ $6.set_attribute(span_11, "data-cinder-type", $0);
590
+ }, [() => valueClass($$props.value)]);
591
+ $6.append($$anchor2, span_9);
599
592
  };
600
- $7.if(node, ($$render) => {
601
- if ($7.get(isObject) && !$7.get(tooDeep))
593
+ $6.if(node, ($$render) => {
594
+ if ($6.get(isObject) && !$6.get(tooDeep))
602
595
  $$render(consequent_3);
603
- else if ($7.get(isObject) && $7.get(tooDeep))
596
+ else if ($6.get(isObject) && $6.get(tooDeep))
604
597
  $$render(consequent_5, 1);
605
598
  else
606
599
  $$render(alternate_1, -1);
607
600
  });
608
601
  }
609
- $7.append($$anchor, fragment);
610
- $7.pop();
602
+ $6.append($$anchor, fragment);
603
+ $6.pop();
611
604
  }
612
- $7.delegate(["click"]);
605
+ $6.delegate(["click"]);
613
606
 
614
607
  // src/components/json-viewer/json-viewer.svelte
615
- var root_12 = $8.from_html(`<div class="cinder-json-viewer__fallback" role="status"><p>This value can't be serialized as JSON (it may contain a circular reference or a BigInt).</p> <p>Pass a plain JSON-serializable value, or use the consumer's download or copy action.</p></div>`);
616
- var root_22 = $8.from_html(`<div class="cinder-json-viewer__fallback" role="status"><p> </p> <p>Use the consumer's download or copy action to inspect the raw JSON.</p></div>`);
617
- var root5 = $8.from_html(`<div><!></div>`);
608
+ var root_1 = $7.from_html(`<div class="cinder-json-viewer__fallback" role="status"><p>This value can't be serialized as JSON (it may contain a circular reference or a BigInt).</p> <p>Pass a plain JSON-serializable value, or use the consumer's download or copy action.</p></div>`);
609
+ var root_22 = $7.from_html(`<div class="cinder-json-viewer__fallback" role="status"><p> </p> <p>Use the consumer's download or copy action to inspect the raw JSON.</p></div>`);
610
+ var root_32 = $7.from_html(`<div role="tree" aria-label="JSON tree" tabindex="-1"><!></div>`);
611
+ var root4 = $7.from_html(`<div><!></div>`);
618
612
  function Json_viewer($$anchor, $$props) {
619
- $8.push($$props, true);
620
- let initialDepth = $8.prop($$props, "initialDepth", 3, 1), maxDepth = $8.prop($$props, "maxDepth", 3, 50), maxBytes = $8.prop($$props, "maxBytes", 3, 1048576);
621
- const serialized = $8.derived(() => {
613
+ $7.push($$props, true);
614
+ let initialDepth = $7.prop($$props, "initialDepth", 3, 1), maxDepth = $7.prop($$props, "maxDepth", 3, 50), maxBytes = $7.prop($$props, "maxBytes", 3, 1048576);
615
+ const serialized = $7.derived(() => {
622
616
  try {
623
617
  const json = JSON.stringify($$props.value);
624
618
  if (typeof json !== "string")
@@ -628,31 +622,84 @@ function Json_viewer($$anchor, $$props) {
628
622
  return { ok: false };
629
623
  }
630
624
  });
631
- const unserializable = $8.derived(() => !$8.get(serialized).ok);
632
- const tooLarge = $8.derived(() => $8.get(serialized).ok && $8.get(serialized).size > maxBytes());
633
- var div = root5();
634
- var node = $8.child(div);
625
+ const unserializable = $7.derived(() => !$7.get(serialized).ok);
626
+ const tooLarge = $7.derived(() => $7.get(serialized).ok && $7.get(serialized).size > maxBytes());
627
+ function handleTreeKeydown(event) {
628
+ const tree = event.currentTarget;
629
+ const items = Array.from(tree.querySelectorAll('[role="treeitem"]'));
630
+ const eventTarget = event.target instanceof HTMLElement ? event.target : null;
631
+ const current = eventTarget?.closest('[role="treeitem"]') ?? null;
632
+ const targetIsToggle = eventTarget?.closest(".cinder-json-viewer__toggle") !== null;
633
+ const currentIndex = current ? items.indexOf(current) : -1;
634
+ function focusItem(index2) {
635
+ const item = items[index2];
636
+ item?.focus();
637
+ }
638
+ if (event.key === "ArrowDown") {
639
+ event.preventDefault();
640
+ focusItem(Math.min(currentIndex + 1, items.length - 1));
641
+ } else if (event.key === "ArrowUp") {
642
+ event.preventDefault();
643
+ focusItem(Math.max(currentIndex - 1, 0));
644
+ } else if (event.key === "Home") {
645
+ event.preventDefault();
646
+ focusItem(0);
647
+ } else if (event.key === "End") {
648
+ event.preventDefault();
649
+ focusItem(items.length - 1);
650
+ } else if (event.key === "ArrowRight" && current && !targetIsToggle) {
651
+ if (current.getAttribute("aria-expanded") === "false") {
652
+ event.preventDefault();
653
+ current.querySelector(".cinder-json-viewer__toggle")?.click();
654
+ } else if (current.getAttribute("aria-expanded") === "true") {
655
+ const firstChild = current.querySelector('.cinder-json-viewer__children [role="treeitem"]');
656
+ if (firstChild) {
657
+ event.preventDefault();
658
+ firstChild.focus();
659
+ }
660
+ }
661
+ } else if (event.key === "ArrowLeft" && current && !targetIsToggle) {
662
+ if (current.getAttribute("aria-expanded") === "true") {
663
+ event.preventDefault();
664
+ current.querySelector(".cinder-json-viewer__toggle")?.click();
665
+ } else {
666
+ const parent = current.parentElement?.closest('[role="treeitem"]');
667
+ if (parent) {
668
+ event.preventDefault();
669
+ parent.focus();
670
+ }
671
+ }
672
+ } else if ((event.key === "Enter" || event.key === " " || event.key === "Spacebar") && current && !targetIsToggle) {
673
+ event.preventDefault();
674
+ const toggle = current.querySelector(".cinder-json-viewer__toggle");
675
+ toggle?.click();
676
+ }
677
+ }
678
+ var div = root4();
679
+ var node = $7.child(div);
635
680
  {
636
681
  var consequent = ($$anchor2) => {
637
- var div_1 = root_12();
638
- $8.append($$anchor2, div_1);
682
+ var div_1 = root_1();
683
+ $7.append($$anchor2, div_1);
639
684
  };
640
685
  var consequent_1 = ($$anchor2) => {
641
686
  var div_2 = root_22();
642
- var p = $8.child(div_2);
643
- var text3 = $8.child(p);
644
- $8.reset(p);
645
- $8.next(2);
646
- $8.reset(div_2);
647
- $8.template_effect(($0, $1) => $8.set_text(text3, `Payload too large to render (~${$0 ?? ""} KB; cap
687
+ var p = $7.child(div_2);
688
+ var text3 = $7.child(p);
689
+ $7.reset(p);
690
+ $7.next(2);
691
+ $7.reset(div_2);
692
+ $7.template_effect(($0, $1) => $7.set_text(text3, `Payload too large to render (~${$0 ?? ""} KB; cap
648
693
  is ${$1 ?? ""} KB).`), [
649
- () => Math.round(($8.get(serialized).ok ? $8.get(serialized).size : 0) / 1024),
694
+ () => Math.round(($7.get(serialized).ok ? $7.get(serialized).size : 0) / 1024),
650
695
  () => Math.round(maxBytes() / 1024)
651
696
  ]);
652
- $8.append($$anchor2, div_2);
697
+ $7.append($$anchor2, div_2);
653
698
  };
654
699
  var alternate = ($$anchor2) => {
655
- _json_viewer_node($$anchor2, {
700
+ var div_3 = root_32();
701
+ var node_1 = $7.child(div_3);
702
+ _json_viewer_node(node_1, {
656
703
  get value() {
657
704
  return $$props.value;
658
705
  },
@@ -662,44 +709,203 @@ function Json_viewer($$anchor, $$props) {
662
709
  },
663
710
  get maxDepth() {
664
711
  return maxDepth();
665
- }
712
+ },
713
+ position: 1,
714
+ setSize: 1,
715
+ root: true
666
716
  });
717
+ $7.reset(div_3);
718
+ $7.delegated("keydown", div_3, handleTreeKeydown);
719
+ $7.append($$anchor2, div_3);
667
720
  };
668
- $8.if(node, ($$render) => {
669
- if ($8.get(unserializable))
721
+ $7.if(node, ($$render) => {
722
+ if ($7.get(unserializable))
670
723
  $$render(consequent);
671
- else if ($8.get(tooLarge))
724
+ else if ($7.get(tooLarge))
672
725
  $$render(consequent_1, 1);
673
726
  else
674
727
  $$render(alternate, -1);
675
728
  });
676
729
  }
677
- $8.reset(div);
678
- $8.template_effect(($0) => $8.set_class(div, 1, $0), [
679
- () => $8.clsx(classNames("cinder-json-viewer", $$props.class))
730
+ $7.reset(div);
731
+ $7.template_effect(($0) => $7.set_class(div, 1, $0), [
732
+ () => $7.clsx(classNames("cinder-json-viewer", $$props.class))
733
+ ]);
734
+ $7.append($$anchor, div);
735
+ $7.pop();
736
+ }
737
+ $7.delegate(["keydown"]);
738
+
739
+ // src/components/status-dot/status-dot.svelte
740
+ import"svelte/internal/disclose-version";
741
+ import * as $8 from "svelte/internal/client";
742
+ var root_12 = $8.from_html(`<span class="cinder-status-dot__label"> </span>`);
743
+ var root_23 = $8.from_html(`<span class="cinder-sr-only"> </span>`);
744
+ var root5 = $8.from_html(`<span><span class="cinder-status-dot__indicator" aria-hidden="true"></span> <!> <!></span>`);
745
+ function Status_dot($$anchor, $$props) {
746
+ $8.push($$props, true);
747
+ const connectionStatusMap = {
748
+ connected: "online",
749
+ connecting: "warning",
750
+ disconnected: "offline",
751
+ error: "danger"
752
+ };
753
+ const connectionLabels = {
754
+ connected: "Connected",
755
+ connecting: "Connecting",
756
+ disconnected: "Disconnected",
757
+ error: "Error"
758
+ };
759
+ let showLabel = $8.prop($$props, "showLabel", 3, true), size = $8.prop($$props, "size", 3, "md"), rest = $8.rest_props($$props, [
760
+ "$$slots",
761
+ "$$events",
762
+ "$$legacy",
763
+ "status",
764
+ "connectionState",
765
+ "label",
766
+ "live",
767
+ "showLabel",
768
+ "size",
769
+ "class",
770
+ "aria-label"
680
771
  ]);
681
- $8.append($$anchor, div);
772
+ const normalizedAriaLabel = $8.derived(() => $$props["aria-label"]?.trim() ? $$props["aria-label"].trim() : undefined);
773
+ const resolvedStatus = $8.derived(() => $$props.status ?? ($$props.connectionState === undefined ? "neutral" : connectionStatusMap[$$props.connectionState]));
774
+ const resolvedLive = $8.derived(() => $$props.live ?? $$props.connectionState !== undefined);
775
+ const normalizedLabel = $8.derived(() => $$props.label?.trim() ? $$props.label.trim() : $$props.connectionState === undefined ? undefined : connectionLabels[$$props.connectionState]);
776
+ const hasVisibleLabel = $8.derived(() => showLabel() && $8.get(normalizedLabel) !== undefined);
777
+ const resolvedAriaLabel = $8.derived(() => $8.get(normalizedAriaLabel) ?? $8.get(normalizedLabel) ?? $8.get(resolvedStatus));
778
+ const visibleLabelIsLiveDuplicate = $8.derived(() => $8.get(resolvedLive) && $8.get(normalizedLabel) !== undefined && $8.get(resolvedAriaLabel) !== $8.get(normalizedLabel));
779
+ const needsHiddenLiveLabel = $8.derived(() => $8.get(resolvedLive) && (!$8.get(hasVisibleLabel) || $8.get(visibleLabelIsLiveDuplicate)));
780
+ var span = root5();
781
+ $8.attribute_effect(span, ($0) => ({
782
+ ...rest,
783
+ class: $0,
784
+ "data-cinder-status": $8.get(resolvedStatus),
785
+ "data-cinder-state": $$props.connectionState,
786
+ "data-cinder-size": size(),
787
+ role: $8.get(resolvedLive) ? "status" : "img",
788
+ "aria-live": $8.get(resolvedLive) ? "polite" : undefined,
789
+ "aria-atomic": $8.get(resolvedLive) ? "true" : undefined,
790
+ "aria-label": $8.get(resolvedLive) ? undefined : $8.get(resolvedAriaLabel)
791
+ }), [() => classNames("cinder-status-dot", $$props.class)]);
792
+ var node = $8.sibling($8.child(span), 2);
793
+ {
794
+ var consequent = ($$anchor2) => {
795
+ var span_1 = root_12();
796
+ var text3 = $8.child(span_1, true);
797
+ $8.reset(span_1);
798
+ $8.template_effect(() => {
799
+ $8.set_attribute(span_1, "aria-hidden", $8.get(visibleLabelIsLiveDuplicate) ? "true" : undefined);
800
+ $8.set_text(text3, $8.get(normalizedLabel));
801
+ });
802
+ $8.append($$anchor2, span_1);
803
+ };
804
+ $8.if(node, ($$render) => {
805
+ if ($8.get(hasVisibleLabel))
806
+ $$render(consequent);
807
+ });
808
+ }
809
+ var node_1 = $8.sibling(node, 2);
810
+ {
811
+ var consequent_1 = ($$anchor2) => {
812
+ var span_2 = root_23();
813
+ var text_1 = $8.child(span_2, true);
814
+ $8.reset(span_2);
815
+ $8.template_effect(() => $8.set_text(text_1, $8.get(resolvedAriaLabel)));
816
+ $8.append($$anchor2, span_2);
817
+ };
818
+ $8.if(node_1, ($$render) => {
819
+ if ($8.get(needsHiddenLiveLabel))
820
+ $$render(consequent_1);
821
+ });
822
+ }
823
+ $8.reset(span);
824
+ $8.append($$anchor, span);
682
825
  $8.pop();
683
826
  }
684
827
 
828
+ // src/components/event-stream-viewer/event-stream-viewer-keys.ts
829
+ function streamEventKey(event) {
830
+ const parts = [keyType("event"), keyField("id", event.id)];
831
+ if (typeof event.sequence === "number")
832
+ parts.push(keyField("sequence", event.sequence));
833
+ return parts.join("|");
834
+ }
835
+ function reconnectedBoundaryKey(boundary) {
836
+ return [keyType("reconnected"), keyField("id", boundary.id)].join("|");
837
+ }
838
+ function sequenceGapKey(previousEventId, event, expectedSequence, actualSequence) {
839
+ return [
840
+ keyType("sequence-gap"),
841
+ previousEventId === undefined ? keyField("previous-missing", true) : keyField("previous", previousEventId),
842
+ keyField("next", event.id),
843
+ keyField("expected", expectedSequence),
844
+ keyField("actual", actualSequence)
845
+ ].join("|");
846
+ }
847
+ function uniqueRenderedKey(baseKey, occurrences) {
848
+ const occurrence = occurrences.get(baseKey) ?? 0;
849
+ occurrences.set(baseKey, occurrence + 1);
850
+ return occurrence === 0 ? baseKey : `${baseKey}|occurrence=${occurrence + 1}`;
851
+ }
852
+ function detailsIdForKey(instanceId, key) {
853
+ return `${escapeDomIdPart(instanceId)}-details-${hashString(key)}-${hashString(reverseString(key))}-${key.length}`;
854
+ }
855
+ function keyType(type) {
856
+ return keyField("type", type);
857
+ }
858
+ function keyField(name, value) {
859
+ const stringValue = String(value);
860
+ return `${name.length}:${name}:${stringValue.length}:${stringValue}`;
861
+ }
862
+ function escapeDomIdPart(value) {
863
+ let result = "";
864
+ for (const character of value) {
865
+ result += /^[A-Za-z0-9_-]$/.test(character) ? character : `_${character.codePointAt(0)?.toString(16) ?? "0"}_`;
866
+ }
867
+ return result === "" ? "empty" : result;
868
+ }
869
+ function reverseString(value) {
870
+ let result = "";
871
+ for (const character of value) {
872
+ result = character + result;
873
+ }
874
+ return result;
875
+ }
876
+ function hashString(value) {
877
+ let hash = 0;
878
+ for (let index2 = 0;index2 < value.length; index2 += 1) {
879
+ hash = Math.imul(31, hash) + value.charCodeAt(index2);
880
+ hash |= 0;
881
+ }
882
+ return (hash >>> 0).toString(36);
883
+ }
884
+
685
885
  // src/components/event-stream-viewer/event-stream-viewer.svelte
686
- var root_23 = $9.from_html(`<button type="button" class="cinder-event-stream-viewer__resume-button">Resume following</button>`);
687
- var root_32 = $9.from_html(`<input type="search" class="cinder-event-stream-viewer__filter-input" placeholder="Filter events…" aria-label="Filter events"/>`);
886
+ var root_24 = $9.from_html(`<button type="button" class="cinder-event-stream-viewer__resume-button">Resume following</button>`);
887
+ var root_33 = $9.from_html(`<input type="search" class="cinder-event-stream-viewer__filter-input" placeholder="Filter events…" aria-label="Filter events"/>`);
688
888
  var root_42 = $9.from_html(`<button type="button" class="cinder-event-stream-viewer__copy-all-button" aria-label="Copy all visible events">Copy visible</button>`);
689
889
  var root_52 = $9.from_html(`<div class="cinder-event-stream-viewer__truncation-notice" role="status" aria-live="polite">Stream truncated — only the most recent events are shown.</div>`);
690
890
  var root_72 = $9.from_html(`<div class="cinder-event-stream-viewer__loading" role="status" aria-label="Loading events"><div class="cinder-event-stream-viewer__skeleton" aria-hidden="true"></div> <div class="cinder-event-stream-viewer__skeleton" aria-hidden="true"></div> <div class="cinder-event-stream-viewer__skeleton" aria-hidden="true"></div></div>`);
691
891
  var root_82 = $9.from_html(`<div class="cinder-event-stream-viewer__empty" role="status"><p class="cinder-event-stream-viewer__empty-message">No events to display.</p></div>`);
692
- var root_11 = $9.from_html(`<span class="cinder-event-stream-viewer__event-severity"> </span>`);
693
- var root_122 = $9.from_html(`<span class="cinder-event-stream-viewer__event-source"> </span>`);
694
- var root_14 = $9.from_html(`<div class="cinder-event-stream-viewer__event-details"><!></div>`);
695
- var root_13 = $9.from_html(`<div class="cinder-event-stream-viewer__event-details-section"><button type="button" class="cinder-event-stream-viewer__details-toggle"> </button> <!></div>`);
696
- var root_10 = $9.from_html(`<li class="cinder-event-stream-viewer__event"><div class="cinder-event-stream-viewer__event-bar" aria-hidden="true"></div> <div class="cinder-event-stream-viewer__event-body"><div class="cinder-event-stream-viewer__event-meta"><time class="cinder-event-stream-viewer__event-time"> </time> <!> <!></div> <p class="cinder-event-stream-viewer__event-summary"> </p> <!></div> <div class="cinder-event-stream-viewer__event-actions"><!></div></li>`);
892
+ var root_122 = $9.from_html(`<time class="cinder-event-stream-viewer__marker-time"> </time>`);
893
+ var root_13 = $9.from_html(`<span class="cinder-event-stream-viewer__marker-time"> </span>`);
894
+ var root_11 = $9.from_html(`<li class="cinder-event-stream-viewer__boundary-marker"><div class="cinder-event-stream-viewer__marker-content" role="separator"><!> <span> </span></div></li>`);
895
+ var root_14 = $9.from_html(`<li class="cinder-event-stream-viewer__sequence-gap-marker"><div class="cinder-event-stream-viewer__marker-content" role="note"><span> </span></div></li>`);
896
+ var root_16 = $9.from_html(`<span class="cinder-event-stream-viewer__event-severity"> </span>`);
897
+ var root_17 = $9.from_html(`<span class="cinder-event-stream-viewer__event-source"> </span>`);
898
+ var root_18 = $9.from_html(`<div class="cinder-event-stream-viewer__event-details-section"><button type="button" class="cinder-event-stream-viewer__details-toggle"> </button> <div class="cinder-event-stream-viewer__event-details"><!></div></div>`);
899
+ var root_15 = $9.from_html(`<li class="cinder-event-stream-viewer__event"><div class="cinder-event-stream-viewer__event-bar" aria-hidden="true"></div> <div class="cinder-event-stream-viewer__event-body"><div class="cinder-event-stream-viewer__event-meta"><time class="cinder-event-stream-viewer__event-time"> </time> <!> <!></div> <p class="cinder-event-stream-viewer__event-summary"> </p> <!></div> <div class="cinder-event-stream-viewer__event-actions"><!></div></li>`);
697
900
  var root_92 = $9.from_html(`<ol class="cinder-event-stream-viewer__list"></ol>`);
698
901
  var root6 = $9.from_html(`<div><div class="cinder-event-stream-viewer__toolbar" role="group" aria-label="Stream controls"><div class="cinder-event-stream-viewer__toolbar-start"><!> <!></div> <div class="cinder-event-stream-viewer__toolbar-end"><!> <!></div></div> <!> <!> <span class="cinder-event-stream-viewer__live-region" role="status" aria-live="polite" aria-atomic="true"> </span></div>`);
699
902
  function Event_stream_viewer($$anchor, $$props) {
700
903
  const instanceId = $9.props_id();
701
904
  $9.push($$props, true);
702
- let followLatest = $9.prop($$props, "followLatest", 15, true), truncated = $9.prop($$props, "truncated", 3, false), loading = $9.prop($$props, "loading", 3, false), label = $9.prop($$props, "label", 3, "Event stream"), filterQuery = $9.prop($$props, "filterQuery", 3, ""), rest = $9.rest_props($$props, [
905
+ function isValidSequence(value) {
906
+ return Number.isInteger(value);
907
+ }
908
+ let followLatest = $9.prop($$props, "followLatest", 15, true), truncated = $9.prop($$props, "truncated", 3, false), loading = $9.prop($$props, "loading", 3, false), label = $9.prop($$props, "label", 3, "Event stream"), detectSequenceGaps = $9.prop($$props, "detectSequenceGaps", 3, false), filterQuery = $9.prop($$props, "filterQuery", 3, ""), rest = $9.rest_props($$props, [
703
909
  "$$slots",
704
910
  "$$events",
705
911
  "$$legacy",
@@ -709,26 +915,89 @@ function Event_stream_viewer($$anchor, $$props) {
709
915
  "truncated",
710
916
  "loading",
711
917
  "label",
918
+ "detectSequenceGaps",
712
919
  "oncopyvisible",
713
920
  "onfilter",
714
921
  "filterQuery",
715
922
  "class"
716
923
  ]);
717
- let expandedIds = $9.state($9.proxy(new Set));
924
+ const expandedIds = new SvelteSet;
718
925
  let scrollContainerEl = $9.state(null);
719
926
  let programmaticScroll = false;
720
927
  let liveMessage = $9.state("");
721
928
  const isEmpty = $9.derived(() => !loading() && $$props.events.length === 0);
722
929
  const eventCount = $9.derived(() => $$props.events.length);
723
930
  const latestEvent = $9.derived(() => $$props.events.at(-1));
724
- function toggleDetails(id) {
725
- const next3 = new Set($9.get(expandedIds));
726
- if (next3.has(id)) {
727
- next3.delete(id);
931
+ const renderedEntries = $9.derived(() => {
932
+ const entries = [];
933
+ const keyOccurrences = new Map;
934
+ let previousSequence;
935
+ let previousEventId;
936
+ const shouldDetectSequenceGaps = detectSequenceGaps() && filterQuery().trim() === "";
937
+ for (const entry of $$props.events) {
938
+ if (isReconnectedBoundary(entry)) {
939
+ const key2 = uniqueRenderedKey(reconnectedBoundaryKey(entry), keyOccurrences);
940
+ entries.push({
941
+ type: "reconnected",
942
+ key: key2,
943
+ boundary: entry,
944
+ label: formatReconnectedBoundaryLabel(entry),
945
+ datetime: boundaryDateTime(entry)
946
+ });
947
+ previousSequence = undefined;
948
+ previousEventId = undefined;
949
+ continue;
950
+ }
951
+ const currentSequence = entry.sequence;
952
+ if (shouldDetectSequenceGaps && isValidSequence(previousSequence) && isValidSequence(currentSequence)) {
953
+ const expectedSequence = previousSequence + 1;
954
+ if (currentSequence !== expectedSequence) {
955
+ const key2 = uniqueRenderedKey(sequenceGapKey(previousEventId, entry, expectedSequence, currentSequence), keyOccurrences);
956
+ entries.push({
957
+ type: "sequence-gap",
958
+ key: key2,
959
+ expectedSequence,
960
+ actualSequence: currentSequence,
961
+ label: formatSequenceGapLabel(expectedSequence, currentSequence)
962
+ });
963
+ }
964
+ }
965
+ if (isValidSequence(currentSequence)) {
966
+ previousSequence = currentSequence;
967
+ previousEventId = entry.id;
968
+ } else {
969
+ previousSequence = undefined;
970
+ previousEventId = undefined;
971
+ }
972
+ const key = uniqueRenderedKey(streamEventKey(entry), keyOccurrences);
973
+ entries.push({
974
+ type: "event",
975
+ key,
976
+ detailsId: detailsIdForKey(instanceId, key),
977
+ event: entry
978
+ });
979
+ }
980
+ return entries;
981
+ });
982
+ function toggleDetails(rowKey) {
983
+ if (expandedIds.has(rowKey)) {
984
+ expandedIds.delete(rowKey);
728
985
  } else {
729
- next3.add(id);
986
+ expandedIds.add(rowKey);
730
987
  }
731
- $9.set(expandedIds, next3, true);
988
+ }
989
+ function isReconnectedBoundary(entry) {
990
+ return "kind" in entry && entry.kind === "reconnected" && "replayedCount" in entry && Number.isInteger(entry.replayedCount) && entry.replayedCount >= 0;
991
+ }
992
+ function formatReconnectedBoundaryLabel(boundary) {
993
+ const eventWord = boundary.replayedCount === 1 ? "event" : "events";
994
+ return `Reconnected — ${boundary.replayedCount} ${eventWord} replayed`;
995
+ }
996
+ function formatSequenceGapLabel(expectedSequence, actualSequence) {
997
+ return `Sequence gap — expected ${expectedSequence}, received ${actualSequence}`;
998
+ }
999
+ function boundaryDateTime(boundary) {
1000
+ return boundary.datetime;
732
1001
  }
733
1002
  function formatEventAsText(event) {
734
1003
  const parts = [];
@@ -745,13 +1014,28 @@ function Event_stream_viewer($$anchor, $$props) {
745
1014
  }
746
1015
  return parts.join(" ");
747
1016
  }
1017
+ function formatReconnectedBoundaryAsText(boundary) {
1018
+ const timeLabel = boundary.timestamp ?? boundary.datetime;
1019
+ const markerText = formatReconnectedBoundaryLabel(boundary);
1020
+ return timeLabel ? `[${timeLabel}] ${markerText}` : markerText;
1021
+ }
1022
+ function formatRenderedEntryAsText(entry) {
1023
+ if (entry.type === "event")
1024
+ return formatEventAsText(entry.event);
1025
+ if (entry.type === "reconnected")
1026
+ return formatReconnectedBoundaryAsText(entry.boundary);
1027
+ return entry.label;
1028
+ }
1029
+ function formatCopyVisibleAnnouncement(entryCount) {
1030
+ return `${entryCount} stream ${entryCount === 1 ? "entry" : "entries"} sent to copy handler`;
1031
+ }
748
1032
  function handleCopyVisible() {
749
- const text3 = $$props.events.map(formatEventAsText).join(`
1033
+ const text3 = $9.get(renderedEntries).map(formatRenderedEntryAsText).join(`
750
1034
  `);
751
1035
  if (!$$props.oncopyvisible)
752
1036
  return;
753
1037
  $$props.oncopyvisible(text3);
754
- $9.set(liveMessage, `${$$props.events.length} event${$$props.events.length !== 1 ? "s" : ""} sent to copy handler`);
1038
+ $9.set(liveMessage, formatCopyVisibleAnnouncement($9.get(renderedEntries).length), true);
755
1039
  setTimeout(() => {
756
1040
  $9.set(liveMessage, "");
757
1041
  }, 2000);
@@ -802,8 +1086,8 @@ function Event_stream_viewer($$anchor, $$props) {
802
1086
  var node = $9.child(div_2);
803
1087
  {
804
1088
  var consequent = ($$anchor2) => {
805
- Connection_indicator($$anchor2, {
806
- get state() {
1089
+ Status_dot($$anchor2, {
1090
+ get connectionState() {
807
1091
  return $$props.connectionState;
808
1092
  }
809
1093
  });
@@ -816,7 +1100,7 @@ function Event_stream_viewer($$anchor, $$props) {
816
1100
  var node_1 = $9.sibling(node, 2);
817
1101
  {
818
1102
  var consequent_1 = ($$anchor2) => {
819
- var button = root_23();
1103
+ var button = root_24();
820
1104
  $9.delegated("click", button, resumeFollowing);
821
1105
  $9.append($$anchor2, button);
822
1106
  };
@@ -830,7 +1114,7 @@ function Event_stream_viewer($$anchor, $$props) {
830
1114
  var node_2 = $9.child(div_3);
831
1115
  {
832
1116
  var consequent_2 = ($$anchor2) => {
833
- var input = root_32();
1117
+ var input = root_33();
834
1118
  $9.remove_input_defaults(input);
835
1119
  $9.template_effect(() => $9.set_value(input, filterQuery()));
836
1120
  $9.delegated("input", input, (e) => $$props.onfilter?.(e.currentTarget.value));
@@ -888,119 +1172,190 @@ function Event_stream_viewer($$anchor, $$props) {
888
1172
  var div_6 = root_82();
889
1173
  $9.append($$anchor3, div_6);
890
1174
  };
891
- var alternate = ($$anchor3) => {
1175
+ var alternate_1 = ($$anchor3) => {
892
1176
  var ol = root_92();
893
- $9.each(ol, 23, () => $$props.events, (event) => event.id, ($$anchor4, event, eventIndex) => {
894
- const isExpanded = $9.derived(() => $9.get(expandedIds).has($9.get(event).id));
895
- const detailsId = $9.derived(() => `${instanceId}-details-${$9.get(eventIndex)}`);
896
- var li = root_10();
897
- var div_7 = $9.sibling($9.child(li), 2);
898
- var div_8 = $9.child(div_7);
899
- var time = $9.child(div_8);
900
- var text_1 = $9.child(time, true);
901
- $9.reset(time);
902
- var node_7 = $9.sibling(time, 2);
1177
+ $9.each(ol, 21, () => $9.get(renderedEntries), (entry) => entry.key, ($$anchor4, entry) => {
1178
+ var fragment_2 = $9.comment();
1179
+ var node_7 = $9.first_child(fragment_2);
903
1180
  {
904
- var consequent_7 = ($$anchor5) => {
905
- var span = root_11();
906
- var text_2 = $9.child(span, true);
907
- $9.reset(span);
908
- $9.template_effect(() => {
909
- $9.set_attribute(span, "aria-label", `Severity: ${$9.get(event).severity}`);
910
- $9.set_text(text_2, $9.get(event).severity);
911
- });
912
- $9.append($$anchor5, span);
913
- };
914
- $9.if(node_7, ($$render) => {
915
- if ($9.get(event).severity)
916
- $$render(consequent_7);
917
- });
918
- }
919
- var node_8 = $9.sibling(node_7, 2);
920
- {
921
- var consequent_8 = ($$anchor5) => {
922
- var span_1 = root_122();
1181
+ var consequent_9 = ($$anchor5) => {
1182
+ var li = root_11();
1183
+ var div_7 = $9.child(li);
1184
+ var node_8 = $9.child(div_7);
1185
+ {
1186
+ var consequent_7 = ($$anchor6) => {
1187
+ var time = root_122();
1188
+ var text_1 = $9.child(time, true);
1189
+ $9.reset(time);
1190
+ $9.template_effect(() => {
1191
+ $9.set_attribute(time, "datetime", $9.get(entry).boundary.datetime);
1192
+ $9.set_attribute(time, "title", $9.get(entry).boundary.datetime);
1193
+ $9.set_text(text_1, $9.get(entry).boundary.timestamp ?? $9.get(entry).boundary.datetime);
1194
+ });
1195
+ $9.append($$anchor6, time);
1196
+ };
1197
+ var consequent_8 = ($$anchor6) => {
1198
+ var span = root_13();
1199
+ var text_2 = $9.child(span, true);
1200
+ $9.reset(span);
1201
+ $9.template_effect(() => $9.set_text(text_2, $9.get(entry).boundary.timestamp));
1202
+ $9.append($$anchor6, span);
1203
+ };
1204
+ $9.if(node_8, ($$render) => {
1205
+ if ($9.get(entry).boundary.datetime)
1206
+ $$render(consequent_7);
1207
+ else if ($9.get(entry).boundary.timestamp)
1208
+ $$render(consequent_8, 1);
1209
+ });
1210
+ }
1211
+ var span_1 = $9.sibling(node_8, 2);
923
1212
  var text_3 = $9.child(span_1, true);
924
1213
  $9.reset(span_1);
925
- $9.template_effect(() => $9.set_text(text_3, $9.get(event).source));
926
- $9.append($$anchor5, span_1);
1214
+ $9.reset(div_7);
1215
+ $9.reset(li);
1216
+ $9.template_effect(() => {
1217
+ $9.set_attribute(div_7, "aria-label", $9.get(entry).label);
1218
+ $9.set_text(text_3, $9.get(entry).label);
1219
+ });
1220
+ $9.append($$anchor5, li);
927
1221
  };
928
- $9.if(node_8, ($$render) => {
929
- if ($9.get(event).source)
930
- $$render(consequent_8);
931
- });
932
- }
933
- $9.reset(div_8);
934
- var p = $9.sibling(div_8, 2);
935
- var text_4 = $9.child(p, true);
936
- $9.reset(p);
937
- var node_9 = $9.sibling(p, 2);
938
- {
939
1222
  var consequent_10 = ($$anchor5) => {
940
- var div_9 = root_13();
941
- var button_2 = $9.child(div_9);
942
- var text_5 = $9.child(button_2, true);
943
- $9.reset(button_2);
944
- var node_10 = $9.sibling(button_2, 2);
1223
+ var li_1 = root_14();
1224
+ var div_8 = $9.child(li_1);
1225
+ var span_2 = $9.child(div_8);
1226
+ var text_4 = $9.child(span_2, true);
1227
+ $9.reset(span_2);
1228
+ $9.reset(div_8);
1229
+ $9.reset(li_1);
1230
+ $9.template_effect(() => {
1231
+ $9.set_attribute(div_8, "aria-label", $9.get(entry).label);
1232
+ $9.set_text(text_4, $9.get(entry).label);
1233
+ });
1234
+ $9.append($$anchor5, li_1);
1235
+ };
1236
+ var alternate = ($$anchor5) => {
1237
+ const event = $9.derived(() => $9.get(entry).event);
1238
+ const isExpanded = $9.derived(() => expandedIds.has($9.get(entry).key));
1239
+ const detailsId = $9.derived(() => $9.get(entry).detailsId);
1240
+ var li_2 = root_15();
1241
+ var div_9 = $9.sibling($9.child(li_2), 2);
1242
+ var div_10 = $9.child(div_9);
1243
+ var time_1 = $9.child(div_10);
1244
+ var text_5 = $9.child(time_1, true);
1245
+ $9.reset(time_1);
1246
+ var node_9 = $9.sibling(time_1, 2);
945
1247
  {
946
- var consequent_9 = ($$anchor6) => {
947
- var div_10 = root_14();
948
- var node_11 = $9.child(div_10);
949
- Json_viewer(node_11, {
950
- get value() {
951
- return $9.get(event).details;
952
- }
1248
+ var consequent_11 = ($$anchor6) => {
1249
+ var span_3 = root_16();
1250
+ var text_6 = $9.child(span_3, true);
1251
+ $9.reset(span_3);
1252
+ $9.template_effect(() => {
1253
+ $9.set_attribute(span_3, "aria-label", `Severity: ${$9.get(event).severity}`);
1254
+ $9.set_text(text_6, $9.get(event).severity);
953
1255
  });
954
- $9.reset(div_10);
955
- $9.template_effect(() => $9.set_attribute(div_10, "id", $9.get(detailsId)));
956
- $9.append($$anchor6, div_10);
1256
+ $9.append($$anchor6, span_3);
1257
+ };
1258
+ $9.if(node_9, ($$render) => {
1259
+ if ($9.get(event).severity)
1260
+ $$render(consequent_11);
1261
+ });
1262
+ }
1263
+ var node_10 = $9.sibling(node_9, 2);
1264
+ {
1265
+ var consequent_12 = ($$anchor6) => {
1266
+ var span_4 = root_17();
1267
+ var text_7 = $9.child(span_4, true);
1268
+ $9.reset(span_4);
1269
+ $9.template_effect(() => $9.set_text(text_7, $9.get(event).source));
1270
+ $9.append($$anchor6, span_4);
957
1271
  };
958
1272
  $9.if(node_10, ($$render) => {
959
- if ($9.get(isExpanded))
960
- $$render(consequent_9);
1273
+ if ($9.get(event).source)
1274
+ $$render(consequent_12);
1275
+ });
1276
+ }
1277
+ $9.reset(div_10);
1278
+ var p = $9.sibling(div_10, 2);
1279
+ var text_8 = $9.child(p, true);
1280
+ $9.reset(p);
1281
+ var node_11 = $9.sibling(p, 2);
1282
+ {
1283
+ var consequent_14 = ($$anchor6) => {
1284
+ var div_11 = root_18();
1285
+ var button_2 = $9.child(div_11);
1286
+ var text_9 = $9.child(button_2, true);
1287
+ $9.reset(button_2);
1288
+ var div_12 = $9.sibling(button_2, 2);
1289
+ var node_12 = $9.child(div_12);
1290
+ {
1291
+ var consequent_13 = ($$anchor7) => {
1292
+ Json_viewer($$anchor7, {
1293
+ get value() {
1294
+ return $9.get(event).details;
1295
+ }
1296
+ });
1297
+ };
1298
+ $9.if(node_12, ($$render) => {
1299
+ if ($9.get(isExpanded))
1300
+ $$render(consequent_13);
1301
+ });
1302
+ }
1303
+ $9.reset(div_12);
1304
+ $9.reset(div_11);
1305
+ $9.template_effect(() => {
1306
+ $9.set_attribute(button_2, "aria-expanded", $9.get(isExpanded));
1307
+ $9.set_attribute(button_2, "aria-controls", $9.get(detailsId));
1308
+ $9.set_attribute(button_2, "aria-label", `${$9.get(isExpanded) ? "Hide" : "Show"} details for ${$9.get(event).severity ? `${$9.get(event).severity}: ` : ""}${$9.get(event).summary}`);
1309
+ $9.set_text(text_9, $9.get(isExpanded) ? "Hide details" : "Show details");
1310
+ $9.set_attribute(div_12, "id", $9.get(detailsId));
1311
+ $9.set_attribute(div_12, "hidden", !$9.get(isExpanded));
1312
+ });
1313
+ $9.delegated("click", button_2, () => toggleDetails($9.get(entry).key));
1314
+ $9.append($$anchor6, div_11);
1315
+ };
1316
+ $9.if(node_11, ($$render) => {
1317
+ if ($9.get(event).details !== undefined)
1318
+ $$render(consequent_14);
961
1319
  });
962
1320
  }
963
1321
  $9.reset(div_9);
1322
+ var div_13 = $9.sibling(div_9, 2);
1323
+ var node_13 = $9.child(div_13);
1324
+ {
1325
+ let $0 = $9.derived(() => formatEventAsText($9.get(event)));
1326
+ let $1 = $9.derived(() => `Copy event: ${$9.get(event).summary}`);
1327
+ Copy_button(node_13, {
1328
+ get value() {
1329
+ return $9.get($0);
1330
+ },
1331
+ get label() {
1332
+ return $9.get($1);
1333
+ },
1334
+ copiedLabel: "Event copied",
1335
+ class: "cinder-event-stream-viewer__copy-event-button"
1336
+ });
1337
+ }
1338
+ $9.reset(div_13);
1339
+ $9.reset(li_2);
964
1340
  $9.template_effect(() => {
965
- $9.set_attribute(button_2, "aria-expanded", $9.get(isExpanded));
966
- $9.set_attribute(button_2, "aria-controls", $9.get(isExpanded) ? $9.get(detailsId) : undefined);
967
- $9.set_text(text_5, $9.get(isExpanded) ? "Hide details" : "Show details");
1341
+ $9.set_attribute(li_2, "data-cinder-severity", $9.get(event).severity ?? "info");
1342
+ $9.set_attribute(time_1, "datetime", $9.get(event).datetime);
1343
+ $9.set_attribute(time_1, "title", $9.get(event).datetime);
1344
+ $9.set_text(text_5, $9.get(event).timestamp ?? $9.get(event).datetime);
1345
+ $9.set_text(text_8, $9.get(event).summary);
968
1346
  });
969
- $9.delegated("click", button_2, () => toggleDetails($9.get(event).id));
970
- $9.append($$anchor5, div_9);
1347
+ $9.append($$anchor5, li_2);
971
1348
  };
972
- $9.if(node_9, ($$render) => {
973
- if ($9.get(event).details !== undefined)
974
- $$render(consequent_10);
975
- });
976
- }
977
- $9.reset(div_7);
978
- var div_11 = $9.sibling(div_7, 2);
979
- var node_12 = $9.child(div_11);
980
- {
981
- let $0 = $9.derived(() => formatEventAsText($9.get(event)));
982
- let $1 = $9.derived(() => `Copy event: ${$9.get(event).summary}`);
983
- Copy_button(node_12, {
984
- get value() {
985
- return $9.get($0);
986
- },
987
- get label() {
988
- return $9.get($1);
989
- },
990
- copiedLabel: "Event copied",
991
- class: "cinder-event-stream-viewer__copy-event-button"
1349
+ $9.if(node_7, ($$render) => {
1350
+ if ($9.get(entry).type === "reconnected")
1351
+ $$render(consequent_9);
1352
+ else if ($9.get(entry).type === "sequence-gap")
1353
+ $$render(consequent_10, 1);
1354
+ else
1355
+ $$render(alternate, -1);
992
1356
  });
993
1357
  }
994
- $9.reset(div_11);
995
- $9.reset(li);
996
- $9.template_effect(() => {
997
- $9.set_attribute(li, "data-cinder-severity", $9.get(event).severity ?? "info");
998
- $9.set_attribute(time, "datetime", $9.get(event).datetime);
999
- $9.set_attribute(time, "title", $9.get(event).datetime);
1000
- $9.set_text(text_1, $9.get(event).timestamp ?? $9.get(event).datetime);
1001
- $9.set_text(text_4, $9.get(event).summary);
1002
- });
1003
- $9.append($$anchor4, li);
1358
+ $9.append($$anchor4, fragment_2);
1004
1359
  });
1005
1360
  $9.reset(ol);
1006
1361
  $9.append($$anchor3, ol);
@@ -1011,16 +1366,16 @@ function Event_stream_viewer($$anchor, $$props) {
1011
1366
  else if ($9.get(isEmpty))
1012
1367
  $$render(consequent_6, 1);
1013
1368
  else
1014
- $$render(alternate, -1);
1369
+ $$render(alternate_1, -1);
1015
1370
  });
1016
1371
  }
1017
1372
  $9.append($$anchor2, fragment_1);
1018
1373
  });
1019
- var span_2 = $9.sibling(node_5, 2);
1020
- var text_6 = $9.child(span_2, true);
1021
- $9.reset(span_2);
1374
+ var span_5 = $9.sibling(node_5, 2);
1375
+ var text_10 = $9.child(span_5, true);
1376
+ $9.reset(span_5);
1022
1377
  $9.reset(div);
1023
- $9.template_effect(() => $9.set_text(text_6, $9.get(liveMessage)));
1378
+ $9.template_effect(() => $9.set_text(text_10, $9.get(liveMessage)));
1024
1379
  $9.append($$anchor, div);
1025
1380
  $9.pop();
1026
1381
  }
@@ -1033,4 +1388,4 @@ export {
1033
1388
  Event_stream_viewer as EventStreamViewer
1034
1389
  };
1035
1390
 
1036
- //# debugId=265EFC2C6C76F3EA64756E2164756E21
1391
+ //# debugId=E4B4EF6FF5D93DD964756E2164756E21