@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
@@ -6,6 +6,9 @@
6
6
  }
7
7
 
8
8
  .cinder-autocomplete__label {
9
+ display: inline-flex;
10
+ align-items: center;
11
+ gap: var(--cinder-space-1);
9
12
  color: var(--cinder-text);
10
13
  font-size: var(--cinder-text-sm);
11
14
  font-weight: var(--cinder-font-medium);
@@ -27,6 +30,14 @@
27
30
  box-shadow: var(--_cinder-focus-ring-shadow);
28
31
  }
29
32
 
33
+ @media (forced-colors: active) {
34
+ .cinder-autocomplete__input:focus-visible {
35
+ outline: var(--cinder-ring-width) solid ButtonText;
36
+ outline-offset: 3px;
37
+ box-shadow: none;
38
+ }
39
+ }
40
+
30
41
  .cinder-autocomplete__description,
31
42
  .cinder-autocomplete__error {
32
43
  margin: 0;
@@ -99,7 +110,7 @@
99
110
  border-radius: var(--cinder-radius-sm);
100
111
  background: var(--cinder-color-warning-bg);
101
112
  color: var(--cinder-color-warning-fg);
102
- font-weight: 600;
113
+ font-weight: var(--cinder-font-semibold);
103
114
  }
104
115
 
105
116
  .cinder-autocomplete__status {
@@ -1902,7 +1902,8 @@ function copyInheritedPortalAttributes(element, source, inheritAttributes, fallb
1902
1902
  dir: element.getAttribute("dir"),
1903
1903
  theme: element.getAttribute("data-cinder-theme")
1904
1904
  }) {
1905
- const inheritedDir = inheritAttributes && source ? source.closest("[dir]")?.getAttribute("dir") : null;
1905
+ const preservesExplicitDirection = element.dataset["cinderExplicitDirection"] === "true";
1906
+ const inheritedDir = inheritAttributes && source && !preservesExplicitDirection ? source.closest("[dir]")?.getAttribute("dir") : null;
1906
1907
  const nextDir = inheritedDir ?? fallbackAttributes.dir;
1907
1908
  if (nextDir) {
1908
1909
  element.setAttribute("dir", nextDir);
@@ -2338,6 +2339,10 @@ function createBodyScrollLock() {
2338
2339
  return release;
2339
2340
  };
2340
2341
  }
2342
+ function isInsideEventPath(event, element) {
2343
+ const path = event.composedPath();
2344
+ return path.some((entry) => entry instanceof Node && element.contains(entry));
2345
+ }
2341
2346
  function createClickOutside(options) {
2342
2347
  const { handler, enabled = true, eventType = "click", capture = true, ignoreRefs } = options;
2343
2348
  return (node) => {
@@ -2345,17 +2350,19 @@ function createClickOutside(options) {
2345
2350
  const isEnabled = typeof enabled === "function" ? enabled() : enabled;
2346
2351
  if (!isEnabled)
2347
2352
  return;
2353
+ if (event.type === "touchstart" && !event.cancelable)
2354
+ return;
2348
2355
  const target = event.target;
2349
2356
  if (!(target instanceof Node)) {
2350
2357
  handler();
2351
2358
  return;
2352
2359
  }
2353
- if (node.contains(target))
2360
+ if (isInsideEventPath(event, node))
2354
2361
  return;
2355
2362
  if (ignoreRefs) {
2356
2363
  for (const ref of ignoreRefs) {
2357
2364
  const element = ref();
2358
- if (element && element.contains(target))
2365
+ if (element && isInsideEventPath(event, element))
2359
2366
  return;
2360
2367
  }
2361
2368
  }
@@ -2712,14 +2719,15 @@ function _visually_hidden_live_region($$anchor, $$props) {
2712
2719
  }
2713
2720
 
2714
2721
  // src/components/autocomplete/autocomplete.svelte
2715
- var root_12 = $6.from_html(`<label class="cinder-autocomplete__label"> </label>`);
2716
- var root_22 = $6.from_html(`<p class="cinder-autocomplete__description"> </p>`);
2717
- var root_32 = $6.from_html(`<p class="cinder-autocomplete__error" aria-live="polite"> </p>`);
2718
- var root_5 = $6.from_html(`<div role="option" tabindex="-1" class="cinder-_option-row cinder-autocomplete__option cinder-autocomplete__status" aria-selected="false" aria-disabled="true"> </div>`);
2722
+ var root_22 = $6.from_html(`<span class="cinder-_required-marker" aria-hidden="true">*</span>`);
2723
+ var root_12 = $6.from_html(`<label class="cinder-autocomplete__label"> <!></label>`);
2724
+ var root_32 = $6.from_html(`<p class="cinder-autocomplete__description"> </p>`);
2725
+ var root_4 = $6.from_html(`<p class="cinder-autocomplete__error" aria-live="polite"> </p>`);
2719
2726
  var root_6 = $6.from_html(`<div role="option" tabindex="-1" class="cinder-_option-row cinder-autocomplete__option cinder-autocomplete__status" aria-selected="false" aria-disabled="true"> </div>`);
2720
- var root_9 = $6.from_html(` <mark class="cinder-autocomplete__match"> </mark> `, 1);
2721
- var root_11 = $6.from_html(`<span class="cinder-autocomplete__option-description"> </span>`);
2722
- var root_8 = $6.from_html(`<div role="option" tabindex="-1" class="cinder-_option-row cinder-autocomplete__option"><span class="cinder-autocomplete__option-text"><span class="cinder-autocomplete__option-label"><!></span> <!></span></div>`);
2727
+ var root_7 = $6.from_html(`<div role="option" tabindex="-1" class="cinder-_option-row cinder-autocomplete__option cinder-autocomplete__status" aria-selected="false" aria-disabled="true"> </div>`);
2728
+ var root_10 = $6.from_html(` <mark class="cinder-autocomplete__match"> </mark> `, 1);
2729
+ var root_122 = $6.from_html(`<span class="cinder-autocomplete__option-description"> </span>`);
2730
+ var root_9 = $6.from_html(`<div role="option" tabindex="-1" class="cinder-_option-row cinder-autocomplete__option"><span class="cinder-autocomplete__option-text"><span class="cinder-autocomplete__option-label"><!></span> <!></span></div>`);
2723
2731
  var root4 = $6.from_html(`<div><!> <input/> <!> <!> <!></div> <!>`, 1);
2724
2732
  function Autocomplete($$anchor, $$props) {
2725
2733
  const generatedId = $6.props_id();
@@ -2776,7 +2784,7 @@ function Autocomplete($$anchor, $$props) {
2776
2784
  let composing = $6.state(false);
2777
2785
  let inputFocused = $6.state(false);
2778
2786
  let suggestions = $6.state($6.proxy([]));
2779
- let activeIndex = $6.state(null);
2787
+ let rawActiveIndex = $6.state(null);
2780
2788
  let suppressNextQuery = false;
2781
2789
  let ignoreSyntheticInput = false;
2782
2790
  let completionPointerIndex = $6.state(null);
@@ -2786,6 +2794,13 @@ function Autocomplete($$anchor, $$props) {
2786
2794
  let requestVersion = 0;
2787
2795
  const renderedSuggestions = $6.derived(() => $6.get(suggestions).slice(0, $6.get(resolvedMaxVisibleSuggestions)));
2788
2796
  const enabledIndexes = $6.derived(() => getEnabledIndexes($6.get(renderedSuggestions)));
2797
+ const activeIndex = $6.derived(() => {
2798
+ if ($6.get(enabledIndexes).length === 0)
2799
+ return null;
2800
+ if ($6.get(rawActiveIndex) !== null && $6.get(enabledIndexes).includes($6.get(rawActiveIndex)))
2801
+ return $6.get(rawActiveIndex);
2802
+ return $6.get(enabledIndexes)[0] ?? null;
2803
+ });
2789
2804
  const activeDescendant = $6.derived(() => $6.get(activeIndex) === null ? undefined : `${$6.get(resolvedId)}-option-${$6.get(activeIndex)}`);
2790
2805
  const statusMessage = $6.derived(() => $6.get(loading) ? loadingMessage() : $6.get(open) && $6.get(renderedSuggestions).length === 0 ? emptyMessage() : "");
2791
2806
  function isEligibleQuery(query) {
@@ -2804,20 +2819,6 @@ function Autocomplete($$anchor, $$props) {
2804
2819
  });
2805
2820
  return indexes;
2806
2821
  }
2807
- function clampActiveIndex(list) {
2808
- const availableEnabledIndexes = list === $6.get(renderedSuggestions) ? $6.get(enabledIndexes) : getEnabledIndexes(list);
2809
- if (availableEnabledIndexes.length === 0) {
2810
- $6.set(activeIndex, null);
2811
- return;
2812
- }
2813
- if ($6.get(activeIndex) !== null && availableEnabledIndexes.includes($6.get(activeIndex)))
2814
- return;
2815
- $6.set(activeIndex, availableEnabledIndexes[0] ?? null, true);
2816
- }
2817
- $6.user_effect(() => {
2818
- $6.get(renderedSuggestions);
2819
- clampActiveIndex($6.get(renderedSuggestions));
2820
- });
2821
2822
  $6.user_effect(() => {
2822
2823
  const wasOpen = previousOpen;
2823
2824
  previousOpen = $6.get(open);
@@ -2828,7 +2829,7 @@ function Autocomplete($$anchor, $$props) {
2828
2829
  requestVersion += 1;
2829
2830
  autocompleteDismissed = true;
2830
2831
  $6.set(loading, false);
2831
- $6.set(activeIndex, null);
2832
+ $6.set(rawActiveIndex, null);
2832
2833
  $6.set(suggestions, [], true);
2833
2834
  });
2834
2835
  function closePopup() {
@@ -2838,7 +2839,7 @@ function Autocomplete($$anchor, $$props) {
2838
2839
  autocompleteDismissed = true;
2839
2840
  $6.set(open, false);
2840
2841
  $6.set(loading, false);
2841
- $6.set(activeIndex, null);
2842
+ $6.set(rawActiveIndex, null);
2842
2843
  $6.set(suggestions, [], true);
2843
2844
  }
2844
2845
  $6.user_effect(() => {
@@ -2861,7 +2862,7 @@ function Autocomplete($$anchor, $$props) {
2861
2862
  $6.set(loading, true);
2862
2863
  $6.set(open, true);
2863
2864
  $6.set(suggestions, [], true);
2864
- $6.set(activeIndex, null);
2865
+ $6.set(rawActiveIndex, null);
2865
2866
  let result;
2866
2867
  try {
2867
2868
  if (controller.signal.aborted || currentVersion !== requestVersion)
@@ -2879,10 +2880,23 @@ function Autocomplete($$anchor, $$props) {
2879
2880
  if (controller.signal.aborted || currentVersion !== requestVersion || autocompleteDismissed) {
2880
2881
  return;
2881
2882
  }
2882
- $6.set(suggestions, nextSuggestions, true);
2883
+ const seen = new Set;
2884
+ const deduped = [];
2885
+ let hasDuplicates = false;
2886
+ for (const suggestion of nextSuggestions) {
2887
+ if (seen.has(suggestion.value)) {
2888
+ hasDuplicates = true;
2889
+ } else {
2890
+ seen.add(suggestion.value);
2891
+ deduped.push(suggestion);
2892
+ }
2893
+ }
2894
+ if (hasDuplicates) {
2895
+ devWarn("[cinder/Autocomplete] Duplicate suggestion values detected. Each rendered suggestion must have a unique value. Duplicates were removed; only the first occurrence of each value is shown.");
2896
+ }
2897
+ $6.set(suggestions, deduped, true);
2883
2898
  $6.set(loading, false);
2884
2899
  $6.set(open, true);
2885
- clampActiveIndex(nextSuggestions.slice(0, $6.get(resolvedMaxVisibleSuggestions)));
2886
2900
  }).catch((errorValue) => {
2887
2901
  if (controller.signal.aborted || currentVersion !== requestVersion || autocompleteDismissed) {
2888
2902
  return;
@@ -2921,19 +2935,19 @@ function Autocomplete($$anchor, $$props) {
2921
2935
  return;
2922
2936
  $6.set(open, true);
2923
2937
  if ($6.get(activeIndex) === null) {
2924
- $6.set(activeIndex, direction === 1 ? $6.get(enabledIndexes)[0] ?? null : $6.get(enabledIndexes).at(-1) ?? null, true);
2938
+ $6.set(rawActiveIndex, direction === 1 ? $6.get(enabledIndexes)[0] ?? null : $6.get(enabledIndexes).at(-1) ?? null, true);
2925
2939
  return;
2926
2940
  }
2927
2941
  const currentPosition = $6.get(enabledIndexes).indexOf($6.get(activeIndex));
2928
2942
  const nextPosition = currentPosition < 0 ? 0 : (currentPosition + direction + $6.get(enabledIndexes).length) % $6.get(enabledIndexes).length;
2929
- $6.set(activeIndex, $6.get(enabledIndexes)[nextPosition] ?? null, true);
2943
+ $6.set(rawActiveIndex, $6.get(enabledIndexes)[nextPosition] ?? null, true);
2930
2944
  }
2931
2945
  function moveToBoundary(direction) {
2932
2946
  if (!$6.get(open))
2933
2947
  return;
2934
2948
  if ($6.get(enabledIndexes).length === 0)
2935
2949
  return;
2936
- $6.set(activeIndex, direction === "start" ? $6.get(enabledIndexes)[0] ?? null : $6.get(enabledIndexes).at(-1) ?? null, true);
2950
+ $6.set(rawActiveIndex, direction === "start" ? $6.get(enabledIndexes)[0] ?? null : $6.get(enabledIndexes).at(-1) ?? null, true);
2937
2951
  }
2938
2952
  function dispatchCompletionInputEvent() {
2939
2953
  if (!$6.get(inputElement))
@@ -3038,20 +3052,31 @@ function Autocomplete($$anchor, $$props) {
3038
3052
  var div = $6.first_child(fragment);
3039
3053
  var node = $6.child(div);
3040
3054
  {
3041
- var consequent = ($$anchor2) => {
3055
+ var consequent_1 = ($$anchor2) => {
3042
3056
  var label_1 = root_12();
3043
- var text_1 = $6.child(label_1, true);
3057
+ var text_1 = $6.child(label_1);
3058
+ var node_1 = $6.sibling(text_1);
3059
+ {
3060
+ var consequent = ($$anchor3) => {
3061
+ var span = root_22();
3062
+ $6.append($$anchor3, span);
3063
+ };
3064
+ $6.if(node_1, ($$render) => {
3065
+ if ($6.get(field).required)
3066
+ $$render(consequent);
3067
+ });
3068
+ }
3044
3069
  $6.reset(label_1);
3045
3070
  $6.template_effect(() => {
3046
3071
  $6.set_attribute(label_1, "for", $6.get(resolvedId));
3047
3072
  $6.set_attribute(label_1, "data-disabled", $6.get(field).disabled || undefined);
3048
- $6.set_text(text_1, $$props.label);
3073
+ $6.set_text(text_1, `${$$props.label ?? ""} `);
3049
3074
  });
3050
3075
  $6.append($$anchor2, label_1);
3051
3076
  };
3052
3077
  $6.if(node, ($$render) => {
3053
3078
  if ($$props.label)
3054
- $$render(consequent);
3079
+ $$render(consequent_1);
3055
3080
  });
3056
3081
  }
3057
3082
  var input = $6.sibling(node, 2);
@@ -3088,10 +3113,10 @@ function Autocomplete($$anchor, $$props) {
3088
3113
  oncompositionend: event_handler_1
3089
3114
  }), undefined, undefined, undefined, undefined, true);
3090
3115
  $6.bind_this(input, ($$value) => $6.set(inputElement, $$value), () => $6.get(inputElement));
3091
- var node_1 = $6.sibling(input, 2);
3116
+ var node_2 = $6.sibling(input, 2);
3092
3117
  {
3093
- var consequent_1 = ($$anchor2) => {
3094
- var p = root_22();
3118
+ var consequent_2 = ($$anchor2) => {
3119
+ var p = root_32();
3095
3120
  var text_2 = $6.child(p, true);
3096
3121
  $6.reset(p);
3097
3122
  $6.template_effect(() => {
@@ -3100,15 +3125,15 @@ function Autocomplete($$anchor, $$props) {
3100
3125
  });
3101
3126
  $6.append($$anchor2, p);
3102
3127
  };
3103
- $6.if(node_1, ($$render) => {
3128
+ $6.if(node_2, ($$render) => {
3104
3129
  if ($$props.description)
3105
- $$render(consequent_1);
3130
+ $$render(consequent_2);
3106
3131
  });
3107
3132
  }
3108
- var node_2 = $6.sibling(node_1, 2);
3133
+ var node_3 = $6.sibling(node_2, 2);
3109
3134
  {
3110
- var consequent_2 = ($$anchor2) => {
3111
- var p_1 = root_32();
3135
+ var consequent_3 = ($$anchor2) => {
3136
+ var p_1 = root_4();
3112
3137
  var text_3 = $6.child(p_1, true);
3113
3138
  $6.reset(p_1);
3114
3139
  $6.template_effect(() => {
@@ -3117,20 +3142,20 @@ function Autocomplete($$anchor, $$props) {
3117
3142
  });
3118
3143
  $6.append($$anchor2, p_1);
3119
3144
  };
3120
- $6.if(node_2, ($$render) => {
3145
+ $6.if(node_3, ($$render) => {
3121
3146
  if ($$props.error)
3122
- $$render(consequent_2);
3147
+ $$render(consequent_3);
3123
3148
  });
3124
3149
  }
3125
- var node_3 = $6.sibling(node_2, 2);
3126
- _visually_hidden_live_region(node_3, {
3150
+ var node_4 = $6.sibling(node_3, 2);
3151
+ _visually_hidden_live_region(node_4, {
3127
3152
  get message() {
3128
3153
  return $6.get(statusMessage);
3129
3154
  }
3130
3155
  });
3131
3156
  $6.reset(div);
3132
- var node_4 = $6.sibling(div, 2);
3133
- Popover(node_4, {
3157
+ var node_5 = $6.sibling(div, 2);
3158
+ Popover(node_5, {
3134
3159
  get id() {
3135
3160
  return $6.get(listboxId);
3136
3161
  },
@@ -3150,10 +3175,10 @@ function Autocomplete($$anchor, $$props) {
3150
3175
  },
3151
3176
  children: ($$anchor2, $$slotProps) => {
3152
3177
  var fragment_1 = $6.comment();
3153
- var node_5 = $6.first_child(fragment_1);
3178
+ var node_6 = $6.first_child(fragment_1);
3154
3179
  {
3155
- var consequent_3 = ($$anchor3) => {
3156
- var div_1 = root_5();
3180
+ var consequent_4 = ($$anchor3) => {
3181
+ var div_1 = root_6();
3157
3182
  var text_4 = $6.child(div_1, true);
3158
3183
  $6.reset(div_1);
3159
3184
  $6.template_effect(() => {
@@ -3162,8 +3187,8 @@ function Autocomplete($$anchor, $$props) {
3162
3187
  });
3163
3188
  $6.append($$anchor3, div_1);
3164
3189
  };
3165
- var consequent_4 = ($$anchor3) => {
3166
- var div_2 = root_6();
3190
+ var consequent_5 = ($$anchor3) => {
3191
+ var div_2 = root_7();
3167
3192
  var text_5 = $6.child(div_2, true);
3168
3193
  $6.reset(div_2);
3169
3194
  $6.template_effect(() => {
@@ -3174,17 +3199,17 @@ function Autocomplete($$anchor, $$props) {
3174
3199
  };
3175
3200
  var alternate_1 = ($$anchor3) => {
3176
3201
  var fragment_2 = $6.comment();
3177
- var node_6 = $6.first_child(fragment_2);
3178
- $6.each(node_6, 19, () => $6.get(renderedSuggestions), (suggestion, index) => `${suggestion.value}-${index}`, ($$anchor4, suggestion, index) => {
3202
+ var node_7 = $6.first_child(fragment_2);
3203
+ $6.each(node_7, 19, () => $6.get(renderedSuggestions), (suggestion) => suggestion.value, ($$anchor4, suggestion, index) => {
3179
3204
  const suggestionLabel = $6.derived(() => $6.get(suggestion).label ?? $6.get(suggestion).value);
3180
3205
  const parts = $6.derived(() => highlightParts($6.get(suggestionLabel), value()));
3181
- var div_3 = root_8();
3182
- var span = $6.child(div_3);
3183
- var span_1 = $6.child(span);
3184
- var node_7 = $6.child(span_1);
3206
+ var div_3 = root_9();
3207
+ var span_1 = $6.child(div_3);
3208
+ var span_2 = $6.child(span_1);
3209
+ var node_8 = $6.child(span_2);
3185
3210
  {
3186
- var consequent_5 = ($$anchor5) => {
3187
- var fragment_3 = root_9();
3211
+ var consequent_6 = ($$anchor5) => {
3212
+ var fragment_3 = root_10();
3188
3213
  var text_6 = $6.first_child(fragment_3, true);
3189
3214
  var mark = $6.sibling(text_6);
3190
3215
  var text_7 = $6.child(mark, true);
@@ -3202,29 +3227,29 @@ function Autocomplete($$anchor, $$props) {
3202
3227
  $6.template_effect(() => $6.set_text(text_9, $6.get(suggestionLabel)));
3203
3228
  $6.append($$anchor5, text_9);
3204
3229
  };
3205
- $6.if(node_7, ($$render) => {
3230
+ $6.if(node_8, ($$render) => {
3206
3231
  if ($6.get(parts))
3207
- $$render(consequent_5);
3232
+ $$render(consequent_6);
3208
3233
  else
3209
3234
  $$render(alternate, -1);
3210
3235
  });
3211
3236
  }
3212
- $6.reset(span_1);
3213
- var node_8 = $6.sibling(span_1, 2);
3237
+ $6.reset(span_2);
3238
+ var node_9 = $6.sibling(span_2, 2);
3214
3239
  {
3215
- var consequent_6 = ($$anchor5) => {
3216
- var span_2 = root_11();
3217
- var text_10 = $6.child(span_2, true);
3218
- $6.reset(span_2);
3240
+ var consequent_7 = ($$anchor5) => {
3241
+ var span_3 = root_122();
3242
+ var text_10 = $6.child(span_3, true);
3243
+ $6.reset(span_3);
3219
3244
  $6.template_effect(() => $6.set_text(text_10, $6.get(suggestion).description));
3220
- $6.append($$anchor5, span_2);
3245
+ $6.append($$anchor5, span_3);
3221
3246
  };
3222
- $6.if(node_8, ($$render) => {
3247
+ $6.if(node_9, ($$render) => {
3223
3248
  if ($6.get(suggestion).description)
3224
- $$render(consequent_6);
3249
+ $$render(consequent_7);
3225
3250
  });
3226
3251
  }
3227
- $6.reset(span);
3252
+ $6.reset(span_1);
3228
3253
  $6.reset(div_3);
3229
3254
  $6.template_effect(() => {
3230
3255
  $6.set_attribute(div_3, "id", `${$6.get(resolvedId)}-option-${$6.get(index)}`);
@@ -3241,17 +3266,17 @@ function Autocomplete($$anchor, $$props) {
3241
3266
  });
3242
3267
  $6.event("mouseenter", div_3, () => {
3243
3268
  if (!$6.get(suggestion).disabled)
3244
- $6.set(activeIndex, $6.get(index), true);
3269
+ $6.set(rawActiveIndex, $6.get(index), true);
3245
3270
  });
3246
3271
  $6.append($$anchor4, div_3);
3247
3272
  });
3248
3273
  $6.append($$anchor3, fragment_2);
3249
3274
  };
3250
- $6.if(node_5, ($$render) => {
3275
+ $6.if(node_6, ($$render) => {
3251
3276
  if ($6.get(loading))
3252
- $$render(consequent_3);
3277
+ $$render(consequent_4);
3253
3278
  else if ($6.get(renderedSuggestions).length === 0)
3254
- $$render(consequent_4, 1);
3279
+ $$render(consequent_5, 1);
3255
3280
  else
3256
3281
  $$render(alternate_1, -1);
3257
3282
  });
@@ -3278,4 +3303,4 @@ export {
3278
3303
  autocomplete_default as default
3279
3304
  };
3280
3305
 
3281
- //# debugId=2B45C5A7A1013E5464756E2164756E21
3306
+ //# debugId=1531916F33B9D65B64756E2164756E21
@@ -1902,7 +1902,8 @@ function copyInheritedPortalAttributes(element, source, inheritAttributes, fallb
1902
1902
  dir: element.getAttribute("dir"),
1903
1903
  theme: element.getAttribute("data-cinder-theme")
1904
1904
  }) {
1905
- const inheritedDir = inheritAttributes && source ? source.closest("[dir]")?.getAttribute("dir") : null;
1905
+ const preservesExplicitDirection = element.dataset["cinderExplicitDirection"] === "true";
1906
+ const inheritedDir = inheritAttributes && source && !preservesExplicitDirection ? source.closest("[dir]")?.getAttribute("dir") : null;
1906
1907
  const nextDir = inheritedDir ?? fallbackAttributes.dir;
1907
1908
  if (nextDir) {
1908
1909
  element.setAttribute("dir", nextDir);
@@ -2665,4 +2666,4 @@ export {
2665
2666
  Avatar_group as AvatarGroup
2666
2667
  };
2667
2668
 
2668
- //# debugId=5148B3663545E71564756E2164756E21
2669
+ //# debugId=BBB3CC05AF128D0F64756E2164756E21
@@ -41,6 +41,10 @@ var schema = {
41
41
  description: "Render the badge label in a monospace font. Useful for version strings, error codes, or other technical labels.",
42
42
  default: false
43
43
  },
44
+ subscriptionState: {
45
+ enum: ["active", "trialing", "past-due", "canceled", "expired", "refunded"],
46
+ description: "Render a standardized subscription lifecycle badge without hand-wiring tone, icon, and label."
47
+ },
44
48
  class: {
45
49
  type: "string",
46
50
  description: "Custom class merged with `.cinder-badge`."
@@ -52,8 +56,7 @@ var schema = {
52
56
  {
53
57
  name: "children",
54
58
  reason: "function-or-snippet",
55
- required: true,
56
- description: "Badge content — intentionally required. A badge without content is\nsemantically meaningless. The render site uses optional chaining\n(`children?.()`) as a runtime safety net for JS consumers."
59
+ description: "Required badge content unless subscriptionState is provided; optional content override for the subscription preset label."
57
60
  }
58
61
  ]
59
62
  }
@@ -63,4 +66,4 @@ export {
63
66
  badge_schema_default as default
64
67
  };
65
68
 
66
- //# debugId=78BCD0A6CDE0F65664756E2164756E21
69
+ //# debugId=C3EE728A5127F99F64756E2164756E21
@@ -3,10 +3,14 @@
3
3
  * @category data-display
4
4
  * @status stable
5
5
  * @purpose Compact non-interactive label that annotates an adjacent element with a short status, count, or category.
6
+ * @tag billing
6
7
  * @tag label
7
8
  * @tag indicator
9
+ * @tag subscription
8
10
  * @useWhen Annotating a value with a short status word like "new" or "beta".
9
11
  * @useWhen Displaying a numeric count next to an icon or title.
12
+ * @useWhen Displaying the billing state of a subscription in a dashboard, invoice list, or account settings page.
13
+ * @useWhen Annotating a plan name, customer row, or invoice line with its current payment lifecycle state.
10
14
  * @avoidWhen The label must be interactive or removable — use chip instead.
11
15
  * @avoidWhen Showing only a colored dot for presence — use status-dot instead.
12
16
  * @related chip, status-dot
@@ -4,20 +4,32 @@ import type { HTMLAttributes } from 'svelte/elements';
4
4
  export type BadgeVariant = 'neutral' | 'success' | 'warning' | 'danger' | 'info' | 'accent';
5
5
  /** Size of the badge. */
6
6
  export type BadgeSize = 'xs' | 'sm' | 'md';
7
+ /** Billing lifecycle states that Badge can render as an opinionated preset. */
8
+ export type BadgeSubscriptionState = 'active' | 'trialing' | 'past-due' | 'canceled' | 'expired' | 'refunded';
7
9
  /** Props for the Badge component. */
8
- export type BadgeProps = HTMLAttributes<HTMLSpanElement> & {
10
+ export type BadgeProps = (HTMLAttributes<HTMLSpanElement> & {
9
11
  variant?: BadgeVariant;
10
12
  size?: BadgeSize;
11
13
  /** Render the badge label in a monospace font. */
12
14
  mono?: boolean;
13
15
  class?: string;
16
+ /** Render a standardized subscription lifecycle badge without hand-wiring tone, icon, and label. */
17
+ subscriptionState: BadgeSubscriptionState;
18
+ /** Required badge content unless subscriptionState is provided; optional content override for the subscription preset label. */
19
+ children?: Snippet;
20
+ }) | (HTMLAttributes<HTMLSpanElement> & {
21
+ variant?: BadgeVariant;
22
+ size?: BadgeSize;
23
+ /** Render the badge label in a monospace font. */
24
+ mono?: boolean;
25
+ class?: string;
26
+ subscriptionState?: undefined;
14
27
  /**
15
28
  * Badge content — intentionally required. A badge without content is
16
- * semantically meaningless. The render site uses optional chaining
17
- * (`children?.()`) as a runtime safety net for JS consumers.
29
+ * semantically meaningless.
18
30
  */
19
31
  children: Snippet;
20
- };
32
+ });
21
33
  /** Cinder-specific props for the Badge component, used by the schema generator. */
22
34
  export interface BadgeSchemaProps {
23
35
  /**
@@ -35,6 +47,8 @@ export interface BadgeSchemaProps {
35
47
  * @default false
36
48
  */
37
49
  mono?: boolean;
50
+ /** Render a standardized subscription lifecycle badge without hand-wiring tone, icon, and label. */
51
+ subscriptionState?: BadgeSubscriptionState;
38
52
  /** Custom class merged with `.cinder-badge`. */
39
53
  class?: string;
40
54
  }
@@ -1,5 +1,5 @@
1
1
  import './badge.css';
2
2
  import Badge from './badge.svelte';
3
3
  export default Badge;
4
- export type { BadgeProps, BadgeSize, BadgeVariant } from './badge.types.ts';
4
+ export type { BadgeProps, BadgeSize, BadgeSubscriptionState, BadgeVariant } from './badge.types.ts';
5
5
  export { Badge };