@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
@@ -185,25 +185,92 @@ function useAnnouncer(options) {
185
185
  import * as $4 from "svelte/internal/server";
186
186
  function Badge($$renderer, $$props) {
187
187
  $$renderer.component(($$renderer2) => {
188
+ const subscriptionStateConfigurations = {
189
+ active: { variant: "success", label: "Active" },
190
+ trialing: { variant: "info", label: "Trialing" },
191
+ "past-due": { variant: "warning", label: "Past due" },
192
+ canceled: { variant: "neutral", label: "Canceled" },
193
+ expired: { variant: "danger", label: "Expired" },
194
+ refunded: { variant: "neutral", label: "Refunded" }
195
+ };
196
+ const subscriptionStateIconPaths = {
197
+ active: ["M21.801 10A10 10 0 1 1 17 3.335", "m9 11 3 3L22 4"],
198
+ trialing: ["M12 6v6l4 2", "M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"],
199
+ "past-due": [
200
+ "m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",
201
+ "M12 9v4",
202
+ "M12 17h.01"
203
+ ],
204
+ canceled: [
205
+ "M15 9 9 15",
206
+ "M9 9l6 6",
207
+ "M22 12A10 10 0 1 1 12 2a10 10 0 0 1 10 10Z"
208
+ ],
209
+ expired: [
210
+ "M8 2v4",
211
+ "M16 2v4",
212
+ "M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8",
213
+ "M3 10h18",
214
+ "m17 14-5-5",
215
+ "m12 14 5 5"
216
+ ],
217
+ refunded: [
218
+ "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
219
+ "M3 3v5h5"
220
+ ]
221
+ };
188
222
  let {
189
223
  variant = "neutral",
190
224
  size = "md",
191
225
  mono = false,
226
+ subscriptionState,
192
227
  class: customClassName,
193
228
  children,
194
229
  $$slots,
195
230
  $$events,
196
231
  ...rest
197
232
  } = $$props;
233
+ const subscriptionStateConfiguration = $4.derived(() => subscriptionState === undefined ? undefined : subscriptionStateConfigurations[subscriptionState]);
234
+ const resolvedVariant = $4.derived(() => subscriptionStateConfiguration()?.variant ?? variant);
235
+ const resolvedSubscriptionIconPaths = $4.derived(() => subscriptionState === undefined ? undefined : subscriptionStateIconPaths[subscriptionState]);
198
236
  $$renderer2.push(`<span${$4.attributes({
199
237
  class: $4.clsx(classNames("cinder-badge", customClassName)),
200
- "data-cinder-variant": variant,
238
+ "data-cinder-variant": resolvedVariant(),
201
239
  "data-cinder-size": size,
202
240
  "data-cinder-mono": mono ? "" : undefined,
241
+ "data-cinder-subscription-state": subscriptionState,
203
242
  ...rest
204
243
  })}>`);
205
- children?.($$renderer2);
206
- $$renderer2.push(`<!----></span>`);
244
+ if (subscriptionStateConfiguration()) {
245
+ $$renderer2.push("<!--[0-->");
246
+ if (resolvedSubscriptionIconPaths()) {
247
+ $$renderer2.push("<!--[0-->");
248
+ $$renderer2.push(`<svg class="icon-sm" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><!--[-->`);
249
+ const each_array = $4.ensure_array_like(resolvedSubscriptionIconPaths());
250
+ for (let $$index = 0, $$length = each_array.length;$$index < $$length; $$index++) {
251
+ let iconPath = each_array[$$index];
252
+ $$renderer2.push(`<path${$4.attr("d", iconPath)}></path>`);
253
+ }
254
+ $$renderer2.push(`<!--]--></svg>`);
255
+ } else {
256
+ $$renderer2.push("<!--[-1-->");
257
+ }
258
+ $$renderer2.push(`<!--]--> `);
259
+ if (children) {
260
+ $$renderer2.push("<!--[0-->");
261
+ children($$renderer2);
262
+ $$renderer2.push(`<!---->`);
263
+ } else {
264
+ $$renderer2.push("<!--[-1-->");
265
+ $$renderer2.push(`${$4.escape(subscriptionStateConfiguration().label)}`);
266
+ }
267
+ $$renderer2.push(`<!--]-->`);
268
+ } else {
269
+ $$renderer2.push("<!--[-1-->");
270
+ children?.($$renderer2);
271
+ $$renderer2.push(`<!---->`);
272
+ }
273
+ $$renderer2.push(`<!--]--></span>`);
207
274
  });
208
275
  }
209
276
 
@@ -397,12 +464,20 @@ function getFocusableIndex(selectedIndex, length, isDisabled) {
397
464
  return findFirstIndex(length, isDisabled, 0);
398
465
  }
399
466
 
467
+ // src/utilities/value-change.ts
468
+ function commitValue(proposed, onValueChange, setValue) {
469
+ const committed = onValueChange?.(proposed) ?? proposed;
470
+ setValue(committed);
471
+ return committed;
472
+ }
473
+
400
474
  // src/components/tabs/tabs.svelte
401
475
  function Tabs($$renderer, $$props) {
402
476
  $$renderer.component(($$renderer2) => {
403
477
  const baseId = $8.props_id($$renderer2);
404
478
  let {
405
479
  value = "",
480
+ onValueChange,
406
481
  orientation = "horizontal",
407
482
  activateOnFocus,
408
483
  class: className,
@@ -473,7 +548,9 @@ function Tabs($$renderer, $$props) {
473
548
  if (focusedValue === undefined)
474
549
  return;
475
550
  event.preventDefault();
476
- value = focusedValue;
551
+ commitValue(focusedValue, onValueChange, (next) => {
552
+ value = next;
553
+ });
477
554
  return;
478
555
  }
479
556
  const isHorizontal = orientation === "horizontal";
@@ -501,7 +578,9 @@ function Tabs($$renderer, $$props) {
501
578
  return;
502
579
  focusValue(nextValue);
503
580
  if (effectiveActivateOnFocus()) {
504
- value = nextValue;
581
+ commitValue(nextValue, onValueChange, (next) => {
582
+ value = next;
583
+ });
505
584
  }
506
585
  }
507
586
  setTabsContext({
@@ -518,7 +597,9 @@ function Tabs($$renderer, $$props) {
518
597
  return baseId;
519
598
  },
520
599
  select(next) {
521
- value = next;
600
+ commitValue(next, onValueChange, (nextValue) => {
601
+ value = nextValue;
602
+ });
522
603
  },
523
604
  isActive(candidate) {
524
605
  return value === candidate;
@@ -578,7 +659,7 @@ function Alert($$renderer, $$props) {
578
659
  let {
579
660
  variant = "info",
580
661
  dismissible = false,
581
- onDismiss,
662
+ ondismiss,
582
663
  class: className,
583
664
  children,
584
665
  icon,
@@ -586,7 +667,7 @@ function Alert($$renderer, $$props) {
586
667
  $$events,
587
668
  ...rest
588
669
  } = $$props;
589
- const resolvedVariant = $9.derived(() => variant === "danger" ? "error" : variant);
670
+ const resolvedVariant = $9.derived(() => variant);
590
671
  let visible = true;
591
672
  let rootElement = undefined;
592
673
  async function handleDismiss() {
@@ -597,7 +678,7 @@ function Alert($$renderer, $$props) {
597
678
  await tick();
598
679
  if (focusTarget?.isConnected)
599
680
  focusTarget.focus();
600
- onDismiss?.();
681
+ ondismiss?.();
601
682
  }
602
683
  function resolveFocusTarget(alertElement) {
603
684
  const alertDocument = alertElement.ownerDocument;
@@ -1281,6 +1362,11 @@ function Diff_line($$renderer, $$props) {
1281
1362
  return true;
1282
1363
  });
1283
1364
  const isInteractive = $19.derived(() => diff.type !== "same" && onselect !== undefined);
1365
+ const accessibleLineLabel = $19.derived(() => {
1366
+ const text = diff.type === "modified" ? viewMode === "original" ? diff.oldText : viewMode === "final" ? diff.newText : `${diff.oldText} changed to ${diff.newText}` : diff.text;
1367
+ const typeLabel = diff.type === "added" ? "Added line" : diff.type === "removed" ? "Removed line" : "Modified line";
1368
+ return `${typeLabel}: ${text || "blank line"}`;
1369
+ });
1284
1370
  if (isVisible()) {
1285
1371
  $$renderer2.push("<!--[0-->");
1286
1372
  if (diff.type === "same") {
@@ -1290,7 +1376,7 @@ function Diff_line($$renderer, $$props) {
1290
1376
  $$renderer2.push("<!--[1-->");
1291
1377
  if (isInteractive()) {
1292
1378
  $$renderer2.push("<!--[0-->");
1293
- $$renderer2.push(`<button${$19.attr_class($19.clsx(classNames("diff-line diff-line-added", className)), "svelte-hc3elb")}${$19.attr("data-selected", selected)} type="button"><span class="diff-gutter svelte-hc3elb">+</span> <span class="diff-text svelte-hc3elb">${$19.escape(diff.text || " ")}</span></button>`);
1379
+ $$renderer2.push(`<button${$19.attr_class($19.clsx(classNames("diff-line diff-line-added", className)), "svelte-hc3elb")}${$19.attr("data-selected", selected)}${$19.attr("aria-label", accessibleLineLabel())} type="button"><span class="diff-gutter svelte-hc3elb">+</span> <span class="diff-text svelte-hc3elb">${$19.escape(diff.text || " ")}</span></button>`);
1294
1380
  } else {
1295
1381
  $$renderer2.push("<!--[-1-->");
1296
1382
  $$renderer2.push(`<div${$19.attr_class($19.clsx(classNames("diff-line diff-line-added", className)), "svelte-hc3elb")}${$19.attr("data-selected", selected)}><span class="diff-gutter svelte-hc3elb">+</span> <span class="diff-text svelte-hc3elb">${$19.escape(diff.text || " ")}</span></div>`);
@@ -1301,7 +1387,7 @@ function Diff_line($$renderer, $$props) {
1301
1387
  const showStrikethrough = viewMode === "unified";
1302
1388
  if (isInteractive()) {
1303
1389
  $$renderer2.push("<!--[0-->");
1304
- $$renderer2.push(`<button${$19.attr_class($19.clsx(classNames("diff-line", showStrikethrough ? "diff-line-removed" : "diff-line-removed-original", className)), "svelte-hc3elb")}${$19.attr("data-selected", selected)} type="button"><span class="diff-gutter svelte-hc3elb">${$19.escape(showStrikethrough ? "-" : "")}</span> <span class="diff-text svelte-hc3elb">`);
1390
+ $$renderer2.push(`<button${$19.attr_class($19.clsx(classNames("diff-line", showStrikethrough ? "diff-line-removed" : "diff-line-removed-original", className)), "svelte-hc3elb")}${$19.attr("data-selected", selected)}${$19.attr("aria-label", accessibleLineLabel())} type="button"><span class="diff-gutter svelte-hc3elb">${$19.escape(showStrikethrough ? "-" : "")}</span> <span class="diff-text svelte-hc3elb">`);
1305
1391
  if (showStrikethrough) {
1306
1392
  $$renderer2.push("<!--[0-->");
1307
1393
  $$renderer2.push(`<del class="svelte-hc3elb">${$19.escape(diff.text || " ")}</del>`);
@@ -1329,7 +1415,7 @@ function Diff_line($$renderer, $$props) {
1329
1415
  const displayText = viewMode === "unified" ? null : viewMode === "final" ? diff.newText : diff.oldText;
1330
1416
  if (isInteractive()) {
1331
1417
  $$renderer2.push("<!--[0-->");
1332
- $$renderer2.push(`<button${$19.attr_class($19.clsx(classNames("diff-line", lineClass, className)), "svelte-hc3elb")}${$19.attr("data-selected", selected)} type="button"><span class="diff-gutter svelte-hc3elb">~</span> <span class="diff-text svelte-hc3elb">`);
1418
+ $$renderer2.push(`<button${$19.attr_class($19.clsx(classNames("diff-line", lineClass, className)), "svelte-hc3elb")}${$19.attr("data-selected", selected)}${$19.attr("aria-label", accessibleLineLabel())} type="button"><span class="diff-gutter svelte-hc3elb">~</span> <span class="diff-text svelte-hc3elb">`);
1333
1419
  if (viewMode === "unified") {
1334
1420
  $$renderer2.push("<!--[0-->");
1335
1421
  if (wordChangeRenderer) {
@@ -2536,6 +2622,7 @@ import * as $39 from "svelte/internal/server";
2536
2622
 
2537
2623
  // src/components/json-schema-editor/property-editor.svelte
2538
2624
  import * as $38 from "svelte/internal/server";
2625
+ import { onDestroy as onDestroy2 } from "svelte";
2539
2626
 
2540
2627
  // src/components/checkbox/checkbox.svelte
2541
2628
  import * as $32 from "svelte/internal/server";
@@ -2593,6 +2680,7 @@ function Checkbox($$renderer, $$props) {
2593
2680
  let {
2594
2681
  id,
2595
2682
  checked = false,
2683
+ onValueChange,
2596
2684
  indeterminate = false,
2597
2685
  label,
2598
2686
  description,
@@ -2602,6 +2690,7 @@ function Checkbox($$renderer, $$props) {
2602
2690
  class: className,
2603
2691
  "aria-describedby": consumerDescribedBy,
2604
2692
  "aria-invalid": consumerInvalid,
2693
+ onchange: consumerOnchange,
2605
2694
  $$slots,
2606
2695
  $$events,
2607
2696
  ...rest
@@ -2620,20 +2709,48 @@ function Checkbox($$renderer, $$props) {
2620
2709
  required: required ?? undefined
2621
2710
  }));
2622
2711
  let inputElement = undefined;
2712
+ let resetSyncTimeout;
2713
+ function syncCheckedAfterFormReset() {
2714
+ if (resetSyncTimeout !== undefined)
2715
+ clearTimeout(resetSyncTimeout);
2716
+ resetSyncTimeout = setTimeout(() => {
2717
+ resetSyncTimeout = undefined;
2718
+ if (!inputElement)
2719
+ return;
2720
+ checked = inputElement.checked;
2721
+ inputElement.indeterminate = indeterminate && !inputElement.checked;
2722
+ }, 0);
2723
+ }
2724
+ function handleChange(event) {
2725
+ const target = event.currentTarget;
2726
+ const committed = commitValue(target.checked, onValueChange, (next) => {
2727
+ checked = next;
2728
+ });
2729
+ target.checked = committed;
2730
+ target.indeterminate = indeterminate && !committed;
2731
+ consumerOnchange?.(event);
2732
+ }
2623
2733
  $$renderer2.push(`<div class="cinder-checkbox-field"><div class="cinder-checkbox-row"><span class="cinder-checkbox-field__control"><input${$32.attributes({
2624
2734
  id: field().id,
2625
2735
  type: "checkbox",
2736
+ ...rest,
2626
2737
  disabled: field().disabled,
2627
2738
  required: field().required,
2628
2739
  checked,
2629
2740
  class: $32.clsx(classNames("cinder-checkbox", className)),
2630
2741
  "aria-invalid": field().ariaInvalid,
2631
- "aria-describedby": field().describedBy,
2632
- ...rest
2742
+ "aria-describedby": field().describedBy
2633
2743
  }, undefined, undefined, undefined, 4)}/> <span class="cinder-checkbox-field__indicator" aria-hidden="true"></span></span> `);
2634
2744
  if (label) {
2635
2745
  $$renderer2.push("<!--[0-->");
2636
- $$renderer2.push(`<label${$32.attr("for", field().id)} class="cinder-checkbox-field__label"${$32.attr("data-disabled", field().disabled || undefined)}>${$32.escape(label)}</label>`);
2746
+ $$renderer2.push(`<label${$32.attr("for", field().id)} class="cinder-checkbox-field__label"${$32.attr("data-disabled", field().disabled || undefined)}>${$32.escape(label)} `);
2747
+ if (field().required) {
2748
+ $$renderer2.push("<!--[0-->");
2749
+ $$renderer2.push(`<span class="cinder-_required-marker" aria-hidden="true">*</span>`);
2750
+ } else {
2751
+ $$renderer2.push("<!--[-1-->");
2752
+ }
2753
+ $$renderer2.push(`<!--]--></label>`);
2637
2754
  } else {
2638
2755
  $$renderer2.push("<!--[-1-->");
2639
2756
  }
@@ -2666,6 +2783,7 @@ function Input($$renderer, $$props) {
2666
2783
  let {
2667
2784
  id,
2668
2785
  value = "",
2786
+ onValueChange,
2669
2787
  label,
2670
2788
  description,
2671
2789
  error,
@@ -2678,44 +2796,80 @@ function Input($$renderer, $$props) {
2678
2796
  leadingInteractive = false,
2679
2797
  trailingInteractive = false,
2680
2798
  "aria-describedby": consumerDescribedBy,
2799
+ "aria-invalid": consumerInvalid,
2800
+ oninput: consumerOninput,
2681
2801
  $$slots,
2682
2802
  $$events,
2683
2803
  ...rest
2684
2804
  } = $$props;
2685
2805
  const context = getFormFieldContext();
2686
- const defaultDescriptionId = $33.derived(() => describeId(id, !!description));
2687
- const defaultErrorId = $33.derived(() => errorId(id, !!error));
2688
- const ownDescriptionId = $33.derived(() => description && defaultDescriptionId() === context?.descriptionId ? `${id}-input-description` : defaultDescriptionId());
2689
- const ownErrorId = $33.derived(() => error && defaultErrorId() === context?.errorId ? `${id}-input-error` : defaultErrorId());
2690
- const resolvedDescriptionId = $33.derived(() => ownDescriptionId() ?? context?.descriptionId);
2691
- const resolvedErrorId = $33.derived(() => ownErrorId() ?? context?.errorId);
2692
- const describedBy = $33.derived(() => composeDescribedBy(resolvedDescriptionId(), resolvedErrorId(), consumerDescribedBy));
2693
- const resolvedAriaInvalid = $33.derived(() => error ? ariaInvalid(true) : context?.invalid ?? rest["aria-invalid"] ?? ariaInvalid(false));
2694
- const resolvedRequired = $33.derived(() => required ?? context?.required ?? false);
2695
- const resolvedDisabled = $33.derived(() => disabled ?? context?.disabled ?? false);
2806
+ const field = $33.derived(() => resolveFieldControl({
2807
+ id,
2808
+ generatedId: id,
2809
+ context,
2810
+ hasDescription: !!description,
2811
+ hasError: !!error,
2812
+ localIdNamespace: "input",
2813
+ consumerDescribedBy,
2814
+ consumerInvalid,
2815
+ required,
2816
+ disabled
2817
+ }));
2818
+ const ownDescriptionId = $33.derived(() => field().ownDescriptionId);
2819
+ const ownErrorId = $33.derived(() => field().ownErrorId);
2820
+ const describedBy = $33.derived(() => field().describedBy);
2821
+ const resolvedAriaInvalid = $33.derived(() => field().ariaInvalid);
2822
+ const resolvedRequired = $33.derived(() => field().required);
2823
+ const resolvedDisabled = $33.derived(() => field().disabled);
2696
2824
  const isNativeDateInput = $33.derived(() => type === "date");
2697
2825
  const rendersNativeDateIcon = $33.derived(() => isNativeDateInput() && !trailing);
2698
2826
  const hasTrailing = $33.derived(() => !!trailing || isNativeDateInput());
2699
2827
  const hasGroupWrapper = $33.derived(() => !!leading || hasTrailing());
2700
- const isInvalid = $33.derived(() => resolvedAriaInvalid() === "true" || resolvedAriaInvalid() === true);
2828
+ const isInvalid = $33.derived(() => resolvedAriaInvalid() === "true");
2829
+ let inputNode = undefined;
2830
+ let resetSyncTimeout;
2831
+ function syncValueAfterFormReset() {
2832
+ if (resetSyncTimeout !== undefined)
2833
+ clearTimeout(resetSyncTimeout);
2834
+ resetSyncTimeout = setTimeout(() => {
2835
+ resetSyncTimeout = undefined;
2836
+ if (inputNode)
2837
+ value = inputNode.value;
2838
+ }, 0);
2839
+ }
2840
+ function handleInput(event) {
2841
+ const target = event.currentTarget;
2842
+ const committed = commitValue(target.value, onValueChange, (next) => {
2843
+ value = next;
2844
+ });
2845
+ target.value = committed;
2846
+ consumerOninput?.(event);
2847
+ }
2701
2848
  function inputElement($$renderer3) {
2702
2849
  $$renderer3.push(`<input${$33.attributes({
2703
2850
  id,
2704
2851
  type,
2852
+ ...rest,
2705
2853
  disabled: resolvedDisabled(),
2706
2854
  required: resolvedRequired(),
2707
2855
  value,
2708
2856
  class: $33.clsx(classNames("cinder-input", className)),
2709
2857
  "data-cinder-native-date": rendersNativeDateIcon() ? "" : undefined,
2710
2858
  "aria-invalid": resolvedAriaInvalid(),
2711
- "aria-describedby": describedBy(),
2712
- ...rest
2859
+ "aria-describedby": describedBy()
2713
2860
  }, undefined, undefined, undefined, 4)}/>`);
2714
2861
  }
2715
2862
  $$renderer2.push(`<div class="cinder-input-field">`);
2716
2863
  if (label) {
2717
2864
  $$renderer2.push("<!--[0-->");
2718
- $$renderer2.push(`<label${$33.attr("for", id)} class="cinder-input-field__label"${$33.attr("data-disabled", resolvedDisabled() || undefined)}>${$33.escape(label)}</label>`);
2865
+ $$renderer2.push(`<label${$33.attr("for", id)} class="cinder-input-field__label"${$33.attr("data-disabled", resolvedDisabled() || undefined)}>${$33.escape(label)} `);
2866
+ if (resolvedRequired()) {
2867
+ $$renderer2.push("<!--[0-->");
2868
+ $$renderer2.push(`<span class="cinder-_required-marker" aria-hidden="true">*</span>`);
2869
+ } else {
2870
+ $$renderer2.push("<!--[-1-->");
2871
+ }
2872
+ $$renderer2.push(`<!--]--></label>`);
2719
2873
  } else {
2720
2874
  $$renderer2.push("<!--[-1-->");
2721
2875
  }
@@ -2929,6 +3083,7 @@ function Tooltip($$renderer, $$props) {
2929
3083
 
2930
3084
  // src/components/json-schema-editor/property-list.svelte
2931
3085
  import * as $37 from "svelte/internal/server";
3086
+ import { onDestroy } from "svelte";
2932
3087
 
2933
3088
  // src/components/chip/chip.svelte
2934
3089
  import * as $36 from "svelte/internal/server";
@@ -3052,6 +3207,11 @@ function Chip($$renderer, $$props) {
3052
3207
  });
3053
3208
  }
3054
3209
 
3210
+ // src/components/json-schema-editor/property-list-validation.ts
3211
+ function calculatePropertyValidationErrorCount(propertyNames, childValidationCounts, hasRenameError) {
3212
+ return (hasRenameError ? 1 : 0) + propertyNames.reduce((total, key) => total + (childValidationCounts[key] ?? 0), 0);
3213
+ }
3214
+
3055
3215
  // src/components/json-schema-editor/property-list.svelte
3056
3216
  function Property_list($$renderer, $$props) {
3057
3217
  $$renderer.component(($$renderer2) => {
@@ -3062,6 +3222,7 @@ function Property_list($$renderer, $$props) {
3062
3222
  path,
3063
3223
  depth = 0,
3064
3224
  readonly = false,
3225
+ onvalidationerrorcount,
3065
3226
  onchange
3066
3227
  } = $$props;
3067
3228
  const propertyNames = $37.derived(() => Object.keys(properties));
@@ -3069,6 +3230,11 @@ function Property_list($$renderer, $$props) {
3069
3230
  let draftNames = {};
3070
3231
  let renameError = null;
3071
3232
  let expanded = {};
3233
+ let childValidationCounts = {};
3234
+ const validationErrorCount = $37.derived(() => calculatePropertyValidationErrorCount(propertyNames(), childValidationCounts, renameError !== null));
3235
+ onDestroy(() => {
3236
+ onvalidationerrorcount?.(0);
3237
+ });
3072
3238
  function getDraftName(key) {
3073
3239
  return draftNames[key] ?? key;
3074
3240
  }
@@ -3108,6 +3274,11 @@ function Property_list($$renderer, $$props) {
3108
3274
  expanded[draft] = true;
3109
3275
  delete expanded[oldKey];
3110
3276
  }
3277
+ const childCount = childValidationCounts[oldKey];
3278
+ if (childCount !== undefined) {
3279
+ const { [oldKey]: _removedChildCount, ...remainingChildCounts } = childValidationCounts;
3280
+ childValidationCounts = { ...remainingChildCounts, [draft]: childCount };
3281
+ }
3111
3282
  onchange(next, nextRequired);
3112
3283
  }
3113
3284
  function deleteProperty(key) {
@@ -3118,8 +3289,25 @@ function Property_list($$renderer, $$props) {
3118
3289
  const nextRequired = required.filter((name) => name !== key);
3119
3290
  delete draftNames[key];
3120
3291
  delete expanded[key];
3292
+ const { [key]: _removedChildCount, ...remainingChildCounts } = childValidationCounts;
3293
+ childValidationCounts = remainingChildCounts;
3121
3294
  onchange(next, nextRequired);
3122
3295
  }
3296
+ function setChildValidationErrorCount(key, count) {
3297
+ if ((childValidationCounts[key] ?? 0) === count)
3298
+ return;
3299
+ if (count === 0) {
3300
+ const { [key]: _removedChildCount, ...remainingChildCounts } = childValidationCounts;
3301
+ childValidationCounts = remainingChildCounts;
3302
+ return;
3303
+ }
3304
+ childValidationCounts = { ...childValidationCounts, [key]: count };
3305
+ }
3306
+ function toggleExpanded(key, isOpen) {
3307
+ expanded[key] = !isOpen;
3308
+ if (isOpen)
3309
+ setChildValidationErrorCount(key, 0);
3310
+ }
3123
3311
  function moveProperty(key, direction) {
3124
3312
  if (readonly)
3125
3313
  return;
@@ -3191,7 +3379,7 @@ function Property_list($$renderer, $$props) {
3191
3379
  if (renameError) {
3192
3380
  $$renderer2.push("<!--[0-->");
3193
3381
  Alert($$renderer2, {
3194
- variant: "error",
3382
+ variant: "danger",
3195
3383
  children: ($$renderer3) => {
3196
3384
  $$renderer3.push(`<!---->${$37.escape(renameError)}`);
3197
3385
  },
@@ -3214,7 +3402,7 @@ function Property_list($$renderer, $$props) {
3214
3402
  const isRequired = required.includes(key);
3215
3403
  const isOpen = expanded[key] === true;
3216
3404
  const panelId = `${idPrefix}-${key}-panel`;
3217
- $$renderer2.push(`<div class="cinder-jse-property-row"${$37.attr("data-cinder-required", isRequired ? "" : undefined)}><div class="cinder-jse-property-row__summary"><button type="button" class="cinder-jse-property-row__trigger"${$37.attr("aria-expanded", isOpen)}${$37.attr("aria-controls", panelId)}><span class="cinder-jse-property-row__chevron" aria-hidden="true">▸</span> <span class="cinder-jse-property-row__name">${$37.escape(key)}</span> <span class="cinder-jse-property-row__type">${$37.escape(summariseType(properties[key] ?? {}))}</span></button> <span class="cinder-jse-property-row__spacer"></span> `);
3405
+ $$renderer2.push(`<div class="cinder-jse-property-row"${$37.attr("data-cinder-required", isRequired ? "" : undefined)}><div class="cinder-jse-property-row__summary"${$37.attr_style(`--cinder-jse-property-depth: ${depth}`)}><button type="button" class="cinder-jse-property-row__trigger"${$37.attr("aria-label", `${isOpen ? "Collapse" : "Expand"} ${key} property`)}${$37.attr("aria-expanded", isOpen)}${$37.attr("aria-controls", panelId)}><span class="cinder-jse-property-row__chevron" aria-hidden="true">▸</span> <span class="cinder-jse-property-row__name">${$37.escape(key)}</span> <span class="cinder-jse-property-row__type">${$37.escape(summariseType(properties[key] ?? {}))}</span></button> <span class="cinder-jse-property-row__spacer"></span> `);
3218
3406
  Button($$renderer2, {
3219
3407
  variant: isRequired ? "primary" : "ghost",
3220
3408
  size: "xs",
@@ -3282,6 +3470,7 @@ function Property_list($$renderer, $$props) {
3282
3470
  depth: depth + 1,
3283
3471
  readonly,
3284
3472
  value: properties[key] ?? {},
3473
+ onvalidationerrorcount: (count) => setChildValidationErrorCount(key, count),
3285
3474
  onchange: (next) => setPropertySchema(key, next)
3286
3475
  });
3287
3476
  $$renderer2.push(`<!----></div>`);
@@ -3406,6 +3595,7 @@ function Property_editor($$renderer, $$props) {
3406
3595
  path,
3407
3596
  depth = 0,
3408
3597
  readonly = false,
3598
+ onvalidationerrorcount,
3409
3599
  onchange,
3410
3600
  class: className
3411
3601
  } = $$props;
@@ -3426,7 +3616,7 @@ function Property_editor($$renderer, $$props) {
3426
3616
  const preservedKeys = $38.derived(() => {
3427
3617
  return Object.keys(objectValue()).filter((key) => !EDITABLE_KEYWORDS.has(key));
3428
3618
  });
3429
- function patch(edits, opts) {
3619
+ function patch(edits, opts = undefined) {
3430
3620
  if (readonly)
3431
3621
  return;
3432
3622
  const next = { ...objectValue(), ...edits };
@@ -3508,6 +3698,21 @@ function Property_editor($$renderer, $$props) {
3508
3698
  parts.push(`"${objectValue().title}"`);
3509
3699
  return parts.join(" · ");
3510
3700
  }
3701
+ let childValidationCounts = {};
3702
+ const validationErrorCount = $38.derived(() => Object.values(childValidationCounts).reduce((total, count) => total + count, 0));
3703
+ onDestroy2(() => {
3704
+ onvalidationerrorcount?.(0);
3705
+ });
3706
+ function setChildValidationErrorCount(key, count) {
3707
+ if ((childValidationCounts[key] ?? 0) === count)
3708
+ return;
3709
+ if (count === 0) {
3710
+ const { [key]: _removedChildCount, ...remainingChildCounts } = childValidationCounts;
3711
+ childValidationCounts = remainingChildCounts;
3712
+ return;
3713
+ }
3714
+ childValidationCounts = { ...childValidationCounts, [key]: count };
3715
+ }
3511
3716
  function patchProperties(properties, required) {
3512
3717
  const edits = { properties };
3513
3718
  edits.required = required.length > 0 ? required : undefined;
@@ -3537,8 +3742,13 @@ function Property_editor($$renderer, $$props) {
3537
3742
  }
3538
3743
  function removeCompositionBranch(keyword, branchIndex) {
3539
3744
  const list = Array.isArray(objectValue()[keyword]) ? [...objectValue()[keyword]] : [];
3745
+ const removedBranchKey = compositionBranchKeys()[keyword][branchIndex];
3746
+ const nextBranchKeys = [...compositionBranchKeys()[keyword]];
3540
3747
  list.splice(branchIndex, 1);
3541
- setKeywordKeys(keyword, compositionBranchKeys()[keyword].toSpliced(branchIndex, 1));
3748
+ nextBranchKeys.splice(branchIndex, 1);
3749
+ setKeywordKeys(keyword, nextBranchKeys);
3750
+ if (removedBranchKey)
3751
+ setChildValidationErrorCount(`${keyword}:${removedBranchKey}`, 0);
3542
3752
  patchComposition(keyword, list.length > 0 ? list : undefined);
3543
3753
  }
3544
3754
  function addCompositionBranch(keyword) {
@@ -3645,6 +3855,7 @@ function Property_editor($$renderer, $$props) {
3645
3855
  path: `${path}/properties`,
3646
3856
  properties: objectValue().properties ?? {},
3647
3857
  required: objectValue().required ?? [],
3858
+ onvalidationerrorcount: (count) => setChildValidationErrorCount("properties", count),
3648
3859
  onchange: patchProperties
3649
3860
  });
3650
3861
  $$renderer2.push(`<!----></div>`);
@@ -3661,6 +3872,7 @@ function Property_editor($$renderer, $$props) {
3661
3872
  depth: depth + 1,
3662
3873
  readonly,
3663
3874
  value: objectValue().items ?? {},
3875
+ onvalidationerrorcount: (count) => setChildValidationErrorCount("items", count),
3664
3876
  onchange: (next) => setItems(next)
3665
3877
  });
3666
3878
  $$renderer2.push(`<!----></div>`);
@@ -3745,12 +3957,14 @@ function Property_editor($$renderer, $$props) {
3745
3957
  const each_array_3 = $38.ensure_array_like(objectValue()[keyword]);
3746
3958
  for (let branchIndex = 0, $$length2 = each_array_3.length;branchIndex < $$length2; branchIndex++) {
3747
3959
  let branch = each_array_3[branchIndex];
3960
+ const branchKey = compositionBranchKeys()[keyword][branchIndex];
3748
3961
  Property_editor($$renderer2, {
3749
3962
  idPrefix: `${idPrefix}-${keyword}-${branchIndex}`,
3750
3963
  path: `${path}/${keyword}/${branchIndex}`,
3751
3964
  depth: depth + 1,
3752
3965
  readonly,
3753
3966
  value: branch,
3967
+ onvalidationerrorcount: (count) => setChildValidationErrorCount(`${keyword}:${branchKey}`, count),
3754
3968
  onchange: (next) => {
3755
3969
  const list = [...objectValue()[keyword]];
3756
3970
  list[branchIndex] = next;
@@ -3873,7 +4087,7 @@ function Property_editor($$renderer, $$props) {
3873
4087
  // src/components/json-schema-editor/form-view.svelte
3874
4088
  function Form_view($$renderer, $$props) {
3875
4089
  $$renderer.component(($$renderer2) => {
3876
- let { state, idPrefix, class: className } = $$props;
4090
+ let { state, idPrefix, onvalidationerrorcount, class: className } = $$props;
3877
4091
  const rootSchema = $39.derived(() => state.committedSchema);
3878
4092
  $$renderer2.push(`<div${$39.attr_class($39.clsx(classNames("cinder-jse-form-view", className)))}>`);
3879
4093
  if (state.jsonDraftIsDirty) {
@@ -3923,6 +4137,7 @@ function Form_view($$renderer, $$props) {
3923
4137
  depth: 0,
3924
4138
  readonly: state.readonly || state.jsonDraftIsDirty,
3925
4139
  value: rootSchema(),
4140
+ onvalidationerrorcount,
3926
4141
  onchange: (next, options) => state.commitFromForm(next, options)
3927
4142
  });
3928
4143
  }
@@ -4708,7 +4923,6 @@ import { untrack as untrack3 } from "svelte";
4708
4923
 
4709
4924
  // src/components/copy-button/copy-button.svelte
4710
4925
  import * as $45 from "svelte/internal/server";
4711
- import { onDestroy } from "svelte";
4712
4926
 
4713
4927
  // ../../node_modules/lucide-svelte/dist/icons/check.svelte
4714
4928
  import * as $42 from "svelte/internal/server";
@@ -4846,10 +5060,6 @@ function Copy_button($$renderer, $$props) {
4846
5060
  copied = false;
4847
5061
  }, confirmDuration);
4848
5062
  }
4849
- onDestroy(() => {
4850
- if (resetTimer)
4851
- clearTimeout(resetTimer);
4852
- });
4853
5063
  $$renderer2.push(`<button${$45.attributes({
4854
5064
  ...rest,
4855
5065
  type: "button",
@@ -4889,12 +5099,15 @@ function Json_schema_toolbar($$renderer, $$props) {
4889
5099
  $$renderer.component(($$renderer2) => {
4890
5100
  let {
4891
5101
  state: editorState,
5102
+ localValidationErrorCount = 0,
4892
5103
  onUndo,
4893
5104
  onRedo,
4894
5105
  onRevert,
4895
5106
  class: className
4896
5107
  } = $$props;
4897
5108
  const validationBadgeVariant = $46.derived(() => {
5109
+ if (localValidationErrorCount > 0)
5110
+ return "danger";
4898
5111
  switch (editorState.validationStatus) {
4899
5112
  case "valid":
4900
5113
  return "success";
@@ -4905,6 +5118,9 @@ function Json_schema_toolbar($$renderer, $$props) {
4905
5118
  }
4906
5119
  });
4907
5120
  const validationBadgeText = $46.derived(() => {
5121
+ if (localValidationErrorCount > 0) {
5122
+ return `Invalid — ${localValidationErrorCount} field ${localValidationErrorCount === 1 ? "error" : "errors"}`;
5123
+ }
4908
5124
  switch (editorState.validationStatus) {
4909
5125
  case "valid":
4910
5126
  return `Valid (${editorState.activeDraft})`;
@@ -5082,7 +5298,14 @@ function Textarea($$renderer, $$props) {
5082
5298
  $$renderer2.push(`<div class="cinder-textarea-field">`);
5083
5299
  if (label) {
5084
5300
  $$renderer2.push("<!--[0-->");
5085
- $$renderer2.push(`<label${$47.attr("for", id)} class="cinder-textarea-label">${$47.escape(label)}</label>`);
5301
+ $$renderer2.push(`<label${$47.attr("for", id)} class="cinder-textarea-label"${$47.attr("data-disabled", field().disabled || undefined)}>${$47.escape(label)} `);
5302
+ if (field().required) {
5303
+ $$renderer2.push("<!--[0-->");
5304
+ $$renderer2.push(`<span class="cinder-_required-marker" aria-hidden="true">*</span>`);
5305
+ } else {
5306
+ $$renderer2.push("<!--[-1-->");
5307
+ }
5308
+ $$renderer2.push(`<!--]--></label>`);
5086
5309
  } else {
5087
5310
  $$renderer2.push("<!--[-1-->");
5088
5311
  }
@@ -5197,7 +5420,7 @@ function Json_view($$renderer, $$props) {
5197
5420
  if (draftErrorMessage()) {
5198
5421
  $$renderer2.push("<!--[0-->");
5199
5422
  Alert($$renderer2, {
5200
- variant: "error",
5423
+ variant: "danger",
5201
5424
  children: ($$renderer3) => {
5202
5425
  $$renderer3.push(`<pre class="cinder-jse-json-view__errors">${$48.escape(draftErrorMessage())}</pre>`);
5203
5426
  },
@@ -5255,19 +5478,21 @@ function Json_schema_editor_impl($$renderer, $$props) {
5255
5478
  options.draftOverride = draftOverride;
5256
5479
  return options;
5257
5480
  });
5258
- const state = createEditorState(stateOptions);
5481
+ let localValidationErrorCount = 0;
5482
+ const editorState = createEditorState(stateOptions);
5483
+ const toolbarValidationErrorCount = $49.derived(() => view === "form" ? localValidationErrorCount : 0);
5259
5484
  let lastDraftOverride = untrack4(() => draftOverride);
5260
5485
  let lastSchemaKey = untrack4(() => schemaKey);
5261
5486
  function handleUndo() {
5262
- const label = state.undo();
5487
+ const label = editorState.undo();
5263
5488
  announcer.announce(label ? `Undid: ${label}` : "Undid last edit");
5264
5489
  }
5265
5490
  function handleRedo() {
5266
- const label = state.redo();
5491
+ const label = editorState.redo();
5267
5492
  announcer.announce(label ? `Redid: ${label}` : "Redid edit");
5268
5493
  }
5269
5494
  function handleRevert() {
5270
- state.revert();
5495
+ editorState.revert();
5271
5496
  announcer.announce("Reverted to original schema");
5272
5497
  }
5273
5498
  function isEditableTarget(target) {
@@ -5298,7 +5523,8 @@ function Json_schema_editor_impl($$renderer, $$props) {
5298
5523
  function $$render_inner($$renderer3) {
5299
5524
  $$renderer3.push(`<div${$49.attr("id", id)}${$49.attr_class($49.clsx(classNames("cinder-jse", className)))} data-cinder-jse="" role="region" aria-label="JSON Schema editor">`);
5300
5525
  Json_schema_toolbar($$renderer3, {
5301
- state,
5526
+ state: editorState,
5527
+ localValidationErrorCount: toolbarValidationErrorCount(),
5302
5528
  onUndo: handleUndo,
5303
5529
  onRedo: handleRedo,
5304
5530
  onRevert: handleRevert
@@ -5334,7 +5560,7 @@ function Json_schema_editor_impl($$renderer, $$props) {
5334
5560
  $$renderer5.push(`<!----> `);
5335
5561
  {
5336
5562
  let trailing = function($$renderer6) {
5337
- if (state.hasChanges) {
5563
+ if (editorState.hasChanges) {
5338
5564
  $$renderer6.push("<!--[0-->");
5339
5565
  Badge($$renderer6, {
5340
5566
  variant: "neutral",
@@ -5354,7 +5580,7 @@ function Json_schema_editor_impl($$renderer, $$props) {
5354
5580
  trailing,
5355
5581
  children: ($$renderer6) => {
5356
5582
  $$renderer6.push(`<!---->Diff`);
5357
- if (state.hasChanges) {
5583
+ if (editorState.hasChanges) {
5358
5584
  $$renderer6.push("<!--[0-->");
5359
5585
  $$renderer6.push(`<span class="cinder-sr-only">, has changes</span>`);
5360
5586
  } else {
@@ -5373,7 +5599,11 @@ function Json_schema_editor_impl($$renderer, $$props) {
5373
5599
  Tab_panel($$renderer4, {
5374
5600
  value: "form",
5375
5601
  children: ($$renderer5) => {
5376
- Form_view($$renderer5, { state, idPrefix: `${id}-form` });
5602
+ Form_view($$renderer5, {
5603
+ state: editorState,
5604
+ idPrefix: `${id}-form`,
5605
+ onvalidationerrorcount: (count) => localValidationErrorCount = count
5606
+ });
5377
5607
  },
5378
5608
  $$slots: { default: true }
5379
5609
  });
@@ -5381,7 +5611,7 @@ function Json_schema_editor_impl($$renderer, $$props) {
5381
5611
  Tab_panel($$renderer4, {
5382
5612
  value: "json",
5383
5613
  children: ($$renderer5) => {
5384
- Json_view($$renderer5, { state, idPrefix: `${id}-json` });
5614
+ Json_view($$renderer5, { state: editorState, idPrefix: `${id}-json` });
5385
5615
  },
5386
5616
  $$slots: { default: true }
5387
5617
  });
@@ -5389,7 +5619,7 @@ function Json_schema_editor_impl($$renderer, $$props) {
5389
5619
  Tab_panel($$renderer4, {
5390
5620
  value: "diff",
5391
5621
  children: ($$renderer5) => {
5392
- Diff_view($$renderer5, { state });
5622
+ Diff_view($$renderer5, { state: editorState });
5393
5623
  },
5394
5624
  $$slots: { default: true }
5395
5625
  });
@@ -5448,4 +5678,4 @@ export {
5448
5678
  Json_schema_editor as JsonSchemaEditor
5449
5679
  };
5450
5680
 
5451
- //# debugId=AC31A7AF113025B064756E2164756E21
5681
+ //# debugId=DF1B9101A18F3EB164756E2164756E21