@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
@@ -93,7 +93,7 @@
93
93
  border-radius: var(--cinder-radius-md);
94
94
  background: var(--cinder-surface-raised);
95
95
  color: var(--cinder-text);
96
- box-shadow: var(--cinder-shadow-lg);
96
+ box-shadow: var(--cinder-shadow-overlay);
97
97
  }
98
98
 
99
99
  .cinder-dropdown__menu {
@@ -265,10 +265,16 @@
265
265
  position: fixed;
266
266
  inset: auto;
267
267
  top: calc(anchor(bottom) + var(--cinder-space-1));
268
+ left: auto;
268
269
  right: anchor(right);
269
270
  position-try-fallbacks: flip-block, flip-inline;
270
271
  }
271
272
 
273
+ .cinder-dropdown-menu[popover][dir='rtl'] {
274
+ right: auto;
275
+ left: anchor(left);
276
+ }
277
+
272
278
  .cinder-dropdown__menu[popover] {
273
279
  position: fixed;
274
280
  margin: 0;
@@ -8,6 +8,9 @@ export type DropdownContext = {
8
8
  get isOpen(): boolean;
9
9
  get supportsPopover(): boolean;
10
10
  readonly anchorElement?: HTMLElement | null | undefined;
11
+ readonly fallbackAnchorElement?: HTMLElement | null | undefined;
12
+ readonly fallbackPositionStyle?: string | undefined;
13
+ readonly fallbackPositionReady?: boolean | undefined;
11
14
  readonly fallbackPlacement?: Placement | undefined;
12
15
  readonly widthMode?: AnchoredOverlayWidthMode | undefined;
13
16
  readonly initialFocus?: 'first' | 'last' | 'none' | undefined;
@@ -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);
@@ -2032,7 +2033,7 @@ function Dropdown_group($$anchor, $$props) {
2032
2033
  "$$legacy",
2033
2034
  "class",
2034
2035
  "children",
2035
- "ariaLabel",
2036
+ "label",
2036
2037
  "labelledBy"
2037
2038
  ]);
2038
2039
  function normalizeAccessibleName(value, propertyName) {
@@ -2045,21 +2046,21 @@ function Dropdown_group($$anchor, $$props) {
2045
2046
  return trimmedValue;
2046
2047
  }
2047
2048
  const resolvedAccessibleName = $3.derived(() => {
2048
- const trimmedAriaLabel = normalizeAccessibleName($$props.ariaLabel, "ariaLabel");
2049
+ const trimmedLabel = normalizeAccessibleName($$props.label, "label");
2049
2050
  const trimmedLabelledBy = normalizeAccessibleName($$props.labelledBy, "labelledBy");
2050
- const namedByLabel = trimmedAriaLabel !== undefined;
2051
+ const namedByLabel = trimmedLabel !== undefined;
2051
2052
  const namedByReference = trimmedLabelledBy !== undefined;
2052
2053
  if (namedByLabel === namedByReference) {
2053
- throw new Error("DropdownGroup requires exactly one accessible naming strategy: ariaLabel or labelledBy.");
2054
+ throw new Error("DropdownGroup requires exactly one accessible naming strategy: label or labelledBy.");
2054
2055
  }
2055
- return { ariaLabel: trimmedAriaLabel, labelledBy: trimmedLabelledBy };
2056
+ return { label: trimmedLabel, labelledBy: trimmedLabelledBy };
2056
2057
  });
2057
2058
  var div = root2();
2058
2059
  $3.attribute_effect(div, ($0) => ({
2059
2060
  ...rest,
2060
2061
  class: $0,
2061
2062
  role: "group",
2062
- "aria-label": $3.get(resolvedAccessibleName).ariaLabel,
2063
+ "aria-label": $3.get(resolvedAccessibleName).label,
2063
2064
  "aria-labelledby": $3.get(resolvedAccessibleName).labelledBy
2064
2065
  }), [() => classNames("cinder-dropdown-group", $$props.class)]);
2065
2066
  var node = $3.child(div);
@@ -2100,11 +2101,13 @@ var root_1 = $4.from_html(`<a><!></a>`);
2100
2101
  var root_3 = $4.from_html(`<button><!></button>`);
2101
2102
  function Dropdown_item($$anchor, $$props) {
2102
2103
  $4.push($$props, true);
2103
- let variant = $4.prop($$props, "variant", 3, "default"), inset = $4.prop($$props, "inset", 3, false), closeOnSelect = $4.prop($$props, "closeOnSelect", 3, true), rest = $4.rest_props($$props, [
2104
+ let variant = $4.prop($$props, "variant", 3, "default"), itemRole = $4.prop($$props, "itemRole", 3, "menuitem"), checked = $4.prop($$props, "checked", 3, false), inset = $4.prop($$props, "inset", 3, false), closeOnSelect = $4.prop($$props, "closeOnSelect", 3, true), rest = $4.rest_props($$props, [
2104
2105
  "$$slots",
2105
2106
  "$$events",
2106
2107
  "$$legacy",
2107
2108
  "variant",
2109
+ "itemRole",
2110
+ "checked",
2108
2111
  "inset",
2109
2112
  "disabled",
2110
2113
  "closeOnSelect",
@@ -2146,18 +2149,20 @@ function Dropdown_item($$anchor, $$props) {
2146
2149
  return;
2147
2150
  event.currentTarget.click();
2148
2151
  }
2149
- const anchorAttributes = rest;
2150
- const buttonAttributes = rest;
2152
+ const anchorAttributes = $4.derived(() => rest);
2153
+ const buttonAttributes = $4.derived(() => rest);
2151
2154
  const buttonType = $4.derived(() => $$props.type ?? "button");
2155
+ const ariaChecked = $4.derived(() => itemRole() === "menuitemradio" ? checked() : undefined);
2152
2156
  var fragment = $4.comment();
2153
2157
  var node = $4.first_child(fragment);
2154
2158
  {
2155
2159
  var consequent_1 = ($$anchor2) => {
2156
2160
  var a = root_1();
2157
2161
  $4.attribute_effect(a, () => ({
2158
- ...anchorAttributes,
2162
+ ...$4.get(anchorAttributes),
2159
2163
  href: $$props.href,
2160
- role: "menuitem",
2164
+ role: itemRole(),
2165
+ "aria-checked": $4.get(ariaChecked),
2161
2166
  class: $4.get(sharedClass),
2162
2167
  "data-cinder-variant": variant(),
2163
2168
  tabindex: -1,
@@ -2185,9 +2190,10 @@ function Dropdown_item($$anchor, $$props) {
2185
2190
  var alternate = ($$anchor2) => {
2186
2191
  var button = root_3();
2187
2192
  $4.attribute_effect(button, () => ({
2188
- ...buttonAttributes,
2193
+ ...$4.get(buttonAttributes),
2189
2194
  type: $4.get(buttonType),
2190
- role: "menuitem",
2195
+ role: itemRole(),
2196
+ "aria-checked": $4.get(ariaChecked),
2191
2197
  class: $4.get(sharedClass),
2192
2198
  "data-cinder-variant": variant(),
2193
2199
  tabindex: -1,
@@ -2420,24 +2426,235 @@ function createAnchoredOverlay(options) {
2420
2426
  };
2421
2427
  }
2422
2428
 
2429
+ // src/_internal/locale-context.ts
2430
+ import { createContext as createContext2 } from "svelte";
2431
+
2432
+ // src/_internal/optional-context.ts
2433
+ function optionalContext(getStrict) {
2434
+ return () => {
2435
+ try {
2436
+ return getStrict();
2437
+ } catch {
2438
+ return;
2439
+ }
2440
+ };
2441
+ }
2442
+
2443
+ // src/_internal/locale-context.ts
2444
+ var [getLocaleContextStrict, setLocaleContextRaw] = createContext2();
2445
+ function setLocaleContext(context) {
2446
+ setLocaleContextRaw(context);
2447
+ }
2448
+ var getLocaleContext = optionalContext(getLocaleContextStrict);
2449
+
2450
+ // src/_internal/text-direction.ts
2451
+ function resolveTextDirection(element, fallback) {
2452
+ let currentElement = element ?? null;
2453
+ let documentDirection;
2454
+ let styledDirectionElement = null;
2455
+ while (currentElement) {
2456
+ const direction = currentElement.getAttribute("dir")?.toLowerCase();
2457
+ if (direction === "rtl" || direction === "ltr") {
2458
+ if (typeof getComputedStyle === "function" && styledDirectionElement) {
2459
+ const styledDirection2 = getComputedStyle(styledDirectionElement).direction;
2460
+ if (styledDirection2 === "rtl" || styledDirection2 === "ltr")
2461
+ return styledDirection2;
2462
+ }
2463
+ if (currentElement === currentElement.ownerDocument.documentElement) {
2464
+ documentDirection = direction;
2465
+ break;
2466
+ }
2467
+ return direction;
2468
+ }
2469
+ if (direction === "auto" && typeof getComputedStyle === "function") {
2470
+ const computedDirection2 = getComputedStyle(currentElement).direction;
2471
+ if (computedDirection2 === "rtl" || computedDirection2 === "ltr")
2472
+ return computedDirection2;
2473
+ }
2474
+ const styledDirection = currentElement.style.direction;
2475
+ if (!styledDirectionElement && (styledDirection === "rtl" || styledDirection === "ltr")) {
2476
+ styledDirectionElement = currentElement;
2477
+ }
2478
+ currentElement = currentElement.parentElement;
2479
+ }
2480
+ if (typeof getComputedStyle === "function" && styledDirectionElement) {
2481
+ const direction = getComputedStyle(styledDirectionElement).direction;
2482
+ if (direction === "rtl" || direction === "ltr")
2483
+ return direction;
2484
+ }
2485
+ const computedDirection = readComputedTextDirection(element);
2486
+ const rootComputedDirection = readComputedTextDirection(element?.ownerDocument.documentElement);
2487
+ if (computedDirection && computedDirection !== rootComputedDirection)
2488
+ return computedDirection;
2489
+ if (computedDirection && fallback && computedDirection !== fallback && hasDirectionStylingHint(element)) {
2490
+ return computedDirection;
2491
+ }
2492
+ if (!fallback && computedDirection === "rtl")
2493
+ return computedDirection;
2494
+ if (fallback)
2495
+ return fallback;
2496
+ if (documentDirection)
2497
+ return documentDirection;
2498
+ return;
2499
+ }
2500
+ function readComputedTextDirection(element) {
2501
+ if (!element || typeof getComputedStyle !== "function")
2502
+ return;
2503
+ const direction = getComputedStyle(element).direction;
2504
+ return direction === "rtl" || direction === "ltr" ? direction : undefined;
2505
+ }
2506
+ function hasDirectionStylingHint(element) {
2507
+ let currentElement = element?.parentElement;
2508
+ while (currentElement && currentElement !== currentElement.ownerDocument.documentElement) {
2509
+ if (currentElement.style.direction)
2510
+ return true;
2511
+ if (matchesDirectionStyleRule(currentElement))
2512
+ return true;
2513
+ currentElement = currentElement.parentElement;
2514
+ }
2515
+ return false;
2516
+ }
2517
+ function matchesDirectionStyleRule(element) {
2518
+ for (const sheet of Array.from(element.ownerDocument.styleSheets)) {
2519
+ let rules;
2520
+ try {
2521
+ rules = sheet.cssRules;
2522
+ } catch {
2523
+ continue;
2524
+ }
2525
+ if (matchesDirectionStyleRuleList(element, rules))
2526
+ return true;
2527
+ }
2528
+ return false;
2529
+ }
2530
+ function matchesDirectionStyleRuleList(element, rules) {
2531
+ for (const rule of Array.from(rules)) {
2532
+ if (isCssStyleRule(rule)) {
2533
+ if (!rule.style.direction) {
2534
+ const nestedRules2 = readNestedCssRules(rule);
2535
+ if (nestedRules2 && matchesDirectionStyleRuleList(element, nestedRules2))
2536
+ return true;
2537
+ continue;
2538
+ }
2539
+ try {
2540
+ if (element.matches(rule.selectorText))
2541
+ return true;
2542
+ } catch {
2543
+ continue;
2544
+ }
2545
+ }
2546
+ const nestedRules = readNestedCssRules(rule);
2547
+ if (nestedRules && isConditionalRuleActive(rule) && matchesDirectionStyleRuleList(element, nestedRules)) {
2548
+ return true;
2549
+ }
2550
+ }
2551
+ return false;
2552
+ }
2553
+ function readNestedCssRules(rule) {
2554
+ if (!("cssRules" in rule))
2555
+ return;
2556
+ try {
2557
+ const nestedRules = Reflect.get(rule, "cssRules");
2558
+ return isCssRuleCollection(nestedRules) ? nestedRules : undefined;
2559
+ } catch {
2560
+ return;
2561
+ }
2562
+ }
2563
+ function isCssRuleCollection(value) {
2564
+ if (typeof CSSRuleList !== "undefined" && value instanceof CSSRuleList)
2565
+ return true;
2566
+ return Array.isArray(value) && value.every(isCssRule);
2567
+ }
2568
+ function isCssRule(value) {
2569
+ return typeof value === "object" && value !== null && typeof Reflect.get(value, "cssText") === "string" && typeof Reflect.get(value, "type") === "number";
2570
+ }
2571
+ function isCssStyleRule(rule) {
2572
+ return typeof Reflect.get(rule, "selectorText") === "string" && typeof Reflect.get(rule, "style") === "object" && Reflect.get(rule, "style") !== null;
2573
+ }
2574
+ function isConditionalRuleActive(rule) {
2575
+ const conditionText = Reflect.get(rule, "conditionText");
2576
+ if (typeof conditionText !== "string" || !conditionText.trim())
2577
+ return true;
2578
+ if (isMediaRule(rule) && typeof matchMedia === "function") {
2579
+ return matchMedia(conditionText).matches;
2580
+ }
2581
+ if (isSupportsRule(rule) && typeof CSS !== "undefined" && typeof CSS.supports === "function") {
2582
+ return CSS.supports(conditionText);
2583
+ }
2584
+ return true;
2585
+ }
2586
+ function isMediaRule(rule) {
2587
+ return typeof Reflect.get(rule, "media") === "object" && Reflect.get(rule, "media") !== null;
2588
+ }
2589
+ function isSupportsRule(rule) {
2590
+ return rule.constructor.name === "CSSSupportsRule" || Reflect.get(rule, "type") === 12;
2591
+ }
2592
+ function observeTextDirection(element, onChange) {
2593
+ if (!element || typeof MutationObserver === "undefined")
2594
+ return;
2595
+ const observedElement = element;
2596
+ const observer = new MutationObserver((mutations) => {
2597
+ if (mutations.some((mutation) => mutation.type === "attributes" && mutation.attributeName === "dir")) {
2598
+ observeDirectionChain();
2599
+ }
2600
+ onChange();
2601
+ });
2602
+ function observeDirectionChain() {
2603
+ observer.disconnect();
2604
+ let currentElement = observedElement;
2605
+ while (currentElement) {
2606
+ const isAutoDirection = currentElement.getAttribute("dir")?.toLowerCase() === "auto";
2607
+ observer.observe(currentElement, {
2608
+ attributes: true,
2609
+ attributeFilter: ["dir", "style", "class"],
2610
+ childList: isAutoDirection,
2611
+ characterData: isAutoDirection,
2612
+ subtree: isAutoDirection
2613
+ });
2614
+ currentElement = currentElement.parentElement;
2615
+ }
2616
+ }
2617
+ observeDirectionChain();
2618
+ return () => observer.disconnect();
2619
+ }
2620
+
2423
2621
  // src/components/dropdown-menu/dropdown-menu.svelte
2424
2622
  var root_12 = $7.from_html(`<div><!></div>`);
2425
2623
  function Dropdown_menu($$anchor, $$props) {
2426
2624
  $7.push($$props, true);
2427
- let rest = $7.rest_props($$props, ["$$slots", "$$events", "$$legacy", "class", "children"]);
2625
+ let rest = $7.rest_props($$props, [
2626
+ "$$slots",
2627
+ "$$events",
2628
+ "$$legacy",
2629
+ "class",
2630
+ "children",
2631
+ "dir"
2632
+ ]);
2428
2633
  const context = getDropdownContext();
2429
2634
  const registerMenu = getDropdownRegister();
2430
2635
  const setOpen = getDropdownSetOpen();
2636
+ const localeContext = getLocaleContext();
2637
+ let directionRevision = $7.state(0);
2638
+ const resolvedDirection = $7.derived(() => {
2639
+ $7.get(directionRevision);
2640
+ if ($$props.dir === "auto") {
2641
+ return resolveTextDirection(context.anchorElement, localeContext?.direction) ?? $$props.dir;
2642
+ }
2643
+ return $$props.dir ?? resolveTextDirection(context.anchorElement, localeContext?.direction);
2644
+ });
2645
+ const fallbackAnchorElement = $7.derived(() => context.fallbackAnchorElement === undefined ? context.anchorElement : context.fallbackAnchorElement);
2431
2646
  let menuElement = $7.state(null);
2432
2647
  let focusedFallbackOpen = false;
2433
2648
  const anchoredFallback = createAnchoredOverlay({
2434
- open: () => context.isOpen && !context.supportsPopover && Boolean(context.anchorElement),
2435
- anchor: () => context.anchorElement,
2649
+ open: () => context.isOpen && !context.supportsPopover && Boolean($7.get(fallbackAnchorElement)),
2650
+ anchor: () => $7.get(fallbackAnchorElement),
2436
2651
  panel: () => $7.get(menuElement),
2437
2652
  placement: () => context.fallbackPlacement ?? "bottom-end",
2438
2653
  offset: () => 4,
2439
2654
  widthMode: () => context.widthMode ?? "menu"
2440
2655
  });
2656
+ const fallbackPositionStyle = $7.derived(() => context.fallbackPositionStyle ?? ($7.get(fallbackAnchorElement) ? anchoredFallback.positionStyle : undefined));
2657
+ const fallbackPositionReady = $7.derived(() => context.fallbackPositionReady ?? ($7.get(fallbackAnchorElement) ? anchoredFallback.positionReady : undefined));
2441
2658
  const fallbackPortalAttachment = createPortalAttachment({
2442
2659
  target: () => typeof document === "undefined" ? null : document.body,
2443
2660
  source: () => context.anchorElement,
@@ -2448,6 +2665,13 @@ function Dropdown_menu($$anchor, $$props) {
2448
2665
  registerMenu($7.get(menuElement));
2449
2666
  return () => registerMenu(null);
2450
2667
  });
2668
+ $7.user_effect(() => {
2669
+ if ($$props.dir && $$props.dir !== "auto")
2670
+ return;
2671
+ return observeTextDirection(context.anchorElement, () => {
2672
+ $7.set(directionRevision, $7.get(directionRevision) + 1);
2673
+ });
2674
+ });
2451
2675
  $7.user_effect(() => {
2452
2676
  if (context.supportsPopover || !context.isOpen) {
2453
2677
  focusedFallbackOpen = false;
@@ -2463,7 +2687,7 @@ function Dropdown_menu($$anchor, $$props) {
2463
2687
  function getOwnedMenuItems() {
2464
2688
  if (!$7.get(menuElement))
2465
2689
  return [];
2466
- return Array.from($7.get(menuElement).querySelectorAll('[role="menuitem"]:not([data-disabled])')).filter((item) => item.closest('[role="menu"]') === $7.get(menuElement));
2690
+ return Array.from($7.get(menuElement).querySelectorAll('[role="menuitem"]:not([data-disabled]), [role="menuitemradio"]:not([data-disabled])')).filter((item) => item.closest('[role="menu"]') === $7.get(menuElement));
2467
2691
  }
2468
2692
  function focusMenuItem(index) {
2469
2693
  const items = getOwnedMenuItems();
@@ -2526,14 +2750,16 @@ function Dropdown_menu($$anchor, $$props) {
2526
2750
  id: context.menuId,
2527
2751
  popover: context.supportsPopover ? "auto" : undefined,
2528
2752
  class: $0,
2529
- style: context.supportsPopover ? `position-anchor: --${context.menuId};` : context.anchorElement ? anchoredFallback.positionStyle : undefined,
2753
+ style: context.supportsPopover ? `position-anchor: --${context.menuId};` : $7.get(fallbackPositionStyle),
2530
2754
  role: "menu",
2531
2755
  "aria-orientation": "vertical",
2532
- "data-cinder-position-ready": !context.supportsPopover && context.anchorElement ? anchoredFallback.positionReady : undefined,
2756
+ "data-cinder-position-ready": !context.supportsPopover && $7.get(fallbackPositionReady) !== undefined ? $7.get(fallbackPositionReady) : undefined,
2533
2757
  tabindex: -1,
2534
2758
  onkeydown: handleKeydown,
2535
2759
  ontoggle: context.supportsPopover ? handleToggle : undefined,
2536
- ...rest
2760
+ ...rest,
2761
+ dir: $7.get(resolvedDirection),
2762
+ "data-cinder-explicit-direction": $7.get(resolvedDirection) ? "true" : undefined
2537
2763
  }), [
2538
2764
  () => classNames("cinder-_floating-surface", "cinder-dropdown-menu", $$props.class)
2539
2765
  ]);
@@ -2553,6 +2779,7 @@ function Dropdown_menu($$anchor, $$props) {
2553
2779
  $7.reset(div);
2554
2780
  $7.bind_this(div, ($$value) => $7.set(menuElement, $$value), () => $7.get(menuElement));
2555
2781
  $7.attach(div, () => fallbackPortalAttachment);
2782
+ $7.template_effect(() => div.dir = div.dir);
2556
2783
  $7.append($$anchor2, div);
2557
2784
  };
2558
2785
  $7.if(node, ($$render) => {
@@ -2596,11 +2823,10 @@ function Dropdown_trigger($$anchor, $$props) {
2596
2823
  const context = getDropdownContext();
2597
2824
  const registerTrigger = getDropdownRegisterTrigger();
2598
2825
  const setOpen = getDropdownSetOpen();
2599
- let triggerElement = $9.state(null);
2600
- $9.user_effect(() => {
2601
- registerTrigger($9.get(triggerElement));
2826
+ function attachTrigger(node) {
2827
+ registerTrigger(node);
2602
2828
  return () => registerTrigger(null);
2603
- });
2829
+ }
2604
2830
  function handleClick(event) {
2605
2831
  if (typeof $$props.onclick === "function") {
2606
2832
  $$props.onclick(event);
@@ -2621,32 +2847,32 @@ function Dropdown_trigger($$anchor, $$props) {
2621
2847
  onclick: handleClick,
2622
2848
  ...rest
2623
2849
  }), [() => classNames("cinder-dropdown-trigger", $$props.class)]);
2624
- var node = $9.child(button);
2850
+ var node_1 = $9.child(button);
2625
2851
  {
2626
2852
  var consequent = ($$anchor2) => {
2627
2853
  var fragment = $9.comment();
2628
- var node_1 = $9.first_child(fragment);
2629
- $9.snippet(node_1, () => $$props.children);
2854
+ var node_2 = $9.first_child(fragment);
2855
+ $9.snippet(node_2, () => $$props.children);
2630
2856
  $9.append($$anchor2, fragment);
2631
2857
  };
2632
- $9.if(node, ($$render) => {
2858
+ $9.if(node_1, ($$render) => {
2633
2859
  if ($$props.children)
2634
2860
  $$render(consequent);
2635
2861
  });
2636
2862
  }
2637
- var node_2 = $9.sibling(node, 2);
2863
+ var node_3 = $9.sibling(node_1, 2);
2638
2864
  {
2639
2865
  var consequent_1 = ($$anchor2) => {
2640
2866
  var svg = root_2();
2641
2867
  $9.append($$anchor2, svg);
2642
2868
  };
2643
- $9.if(node_2, ($$render) => {
2869
+ $9.if(node_3, ($$render) => {
2644
2870
  if (showCaret())
2645
2871
  $$render(consequent_1);
2646
2872
  });
2647
2873
  }
2648
2874
  $9.reset(button);
2649
- $9.bind_this(button, ($$value) => $9.set(triggerElement, $$value), () => $9.get(triggerElement));
2875
+ $9.attach(button, () => attachTrigger);
2650
2876
  $9.append($$anchor, button);
2651
2877
  $9.pop();
2652
2878
  }
@@ -2722,6 +2948,10 @@ function createBodyScrollLock() {
2722
2948
  return release;
2723
2949
  };
2724
2950
  }
2951
+ function isInsideEventPath(event, element) {
2952
+ const path = event.composedPath();
2953
+ return path.some((entry) => entry instanceof Node && element.contains(entry));
2954
+ }
2725
2955
  function createClickOutside(options) {
2726
2956
  const { handler, enabled = true, eventType = "click", capture = true, ignoreRefs } = options;
2727
2957
  return (node) => {
@@ -2729,17 +2959,19 @@ function createClickOutside(options) {
2729
2959
  const isEnabled = typeof enabled === "function" ? enabled() : enabled;
2730
2960
  if (!isEnabled)
2731
2961
  return;
2962
+ if (event.type === "touchstart" && !event.cancelable)
2963
+ return;
2732
2964
  const target = event.target;
2733
2965
  if (!(target instanceof Node)) {
2734
2966
  handler();
2735
2967
  return;
2736
2968
  }
2737
- if (node.contains(target))
2969
+ if (isInsideEventPath(event, node))
2738
2970
  return;
2739
2971
  if (ignoreRefs) {
2740
2972
  for (const ref of ignoreRefs) {
2741
2973
  const element = ref();
2742
- if (element && element.contains(target))
2974
+ if (element && isInsideEventPath(event, element))
2743
2975
  return;
2744
2976
  }
2745
2977
  }
@@ -3067,4 +3299,4 @@ export {
3067
3299
  Dropdown2 as Dropdown
3068
3300
  };
3069
3301
 
3070
- //# debugId=B11A6DC5F8BBAB5B64756E2164756E21
3302
+ //# debugId=E4656A6CA8AE02EB64756E2164756E21
@@ -30,13 +30,13 @@ var schema = {
30
30
  type: "string",
31
31
  description: "Additional class names merged onto the group root."
32
32
  },
33
- ariaLabel: {
33
+ label: {
34
34
  type: "string",
35
- description: "Accessible label for the group, applied as aria-label. Provide exactly one of `ariaLabel` or `labelledBy`."
35
+ description: "Accessible label for the group, applied as aria-label. Provide exactly one of `label` or `labelledBy`."
36
36
  },
37
37
  labelledBy: {
38
38
  type: "string",
39
- description: "ID of an existing element whose text labels the group, applied as aria-labelledby. Provide exactly one of `ariaLabel` or `labelledBy`."
39
+ description: "ID of an existing element whose text labels the group, applied as aria-labelledby. Provide exactly one of `label` or `labelledBy`."
40
40
  }
41
41
  },
42
42
  additionalProperties: false,
@@ -55,4 +55,4 @@ export {
55
55
  dropdown_group_schema_default as default
56
56
  };
57
57
 
58
- //# debugId=7BBE5C46ED79E20D64756E2164756E21
58
+ //# debugId=32EDE076981ACF6964756E2164756E21
@@ -7,12 +7,12 @@ type DropdownGroupBaseProps = Omit<HTMLAttributes<HTMLDivElement>, 'aria-label'
7
7
  children?: Snippet;
8
8
  };
9
9
  export type DropdownGroupProps = DropdownGroupBaseProps & ({
10
- /** Accessible label for the group, applied as aria-label. Provide exactly one of `ariaLabel` or `labelledBy`. */
11
- ariaLabel: string;
10
+ /** Accessible label for the group, applied as aria-label. Provide exactly one of `label` or `labelledBy`. */
11
+ label: string;
12
12
  labelledBy?: never;
13
13
  } | {
14
- ariaLabel?: never;
15
- /** ID of an existing element whose text labels the group, applied as aria-labelledby. Provide exactly one of `ariaLabel` or `labelledBy`. */
14
+ label?: never;
15
+ /** ID of an existing element whose text labels the group, applied as aria-labelledby. Provide exactly one of `label` or `labelledBy`. */
16
16
  labelledBy: string;
17
17
  });
18
18
  export {};
@@ -40,7 +40,7 @@ function Dropdown_group($$anchor, $$props) {
40
40
  "$$legacy",
41
41
  "class",
42
42
  "children",
43
- "ariaLabel",
43
+ "label",
44
44
  "labelledBy"
45
45
  ]);
46
46
  function normalizeAccessibleName(value, propertyName) {
@@ -53,21 +53,21 @@ function Dropdown_group($$anchor, $$props) {
53
53
  return trimmedValue;
54
54
  }
55
55
  const resolvedAccessibleName = $.derived(() => {
56
- const trimmedAriaLabel = normalizeAccessibleName($$props.ariaLabel, "ariaLabel");
56
+ const trimmedLabel = normalizeAccessibleName($$props.label, "label");
57
57
  const trimmedLabelledBy = normalizeAccessibleName($$props.labelledBy, "labelledBy");
58
- const namedByLabel = trimmedAriaLabel !== undefined;
58
+ const namedByLabel = trimmedLabel !== undefined;
59
59
  const namedByReference = trimmedLabelledBy !== undefined;
60
60
  if (namedByLabel === namedByReference) {
61
- throw new Error("DropdownGroup requires exactly one accessible naming strategy: ariaLabel or labelledBy.");
61
+ throw new Error("DropdownGroup requires exactly one accessible naming strategy: label or labelledBy.");
62
62
  }
63
- return { ariaLabel: trimmedAriaLabel, labelledBy: trimmedLabelledBy };
63
+ return { label: trimmedLabel, labelledBy: trimmedLabelledBy };
64
64
  });
65
65
  var div = root();
66
66
  $.attribute_effect(div, ($0) => ({
67
67
  ...rest,
68
68
  class: $0,
69
69
  role: "group",
70
- "aria-label": $.get(resolvedAccessibleName).ariaLabel,
70
+ "aria-label": $.get(resolvedAccessibleName).label,
71
71
  "aria-labelledby": $.get(resolvedAccessibleName).labelledBy
72
72
  }), [() => classNames("cinder-dropdown-group", $$props.class)]);
73
73
  var node = $.child(div);
@@ -95,4 +95,4 @@ export {
95
95
  Dropdown_group as DropdownGroup
96
96
  };
97
97
 
98
- //# debugId=161B7382F8086C3064756E2164756E21
98
+ //# debugId=F4A39801FF7536FB64756E2164756E21
@@ -30,6 +30,14 @@ var schema = {
30
30
  enum: ["default", "danger"],
31
31
  description: "Visual style of the item. Use `danger` to signal a destructive action. Default `default`."
32
32
  },
33
+ itemRole: {
34
+ enum: ["menuitem", "menuitemradio"],
35
+ description: "ARIA role for the row. Use `menuitemradio` for mutually exclusive menu selections."
36
+ },
37
+ checked: {
38
+ type: "boolean",
39
+ description: 'Checked state for `itemRole="menuitemradio"`. Omitted for normal menu items.'
40
+ },
33
41
  inset: {
34
42
  type: "boolean",
35
43
  description: "When true, adds leading padding to align the item with items that have a leading icon or indicator. Default `false`."
@@ -70,4 +78,4 @@ export {
70
78
  dropdown_item_schema_default as default
71
79
  };
72
80
 
73
- //# debugId=E625FED4A2622B1F64756E2164756E21
81
+ //# debugId=85BA1F701522FDD064756E2164756E21
@@ -1,9 +1,14 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { HTMLAnchorAttributes, HTMLAttributes, HTMLButtonAttributes } from 'svelte/elements';
3
3
  export type DropdownItemVariant = 'default' | 'danger';
4
+ export type DropdownItemRole = 'menuitem' | 'menuitemradio';
4
5
  type DropdownItemBase = Omit<HTMLAttributes<HTMLElement>, 'class'> & {
5
6
  /** Visual style of the item. Use `danger` to signal a destructive action. Default `default`. */
6
7
  variant?: DropdownItemVariant;
8
+ /** ARIA role for the row. Use `menuitemradio` for mutually exclusive menu selections. */
9
+ itemRole?: DropdownItemRole;
10
+ /** Checked state for `itemRole="menuitemradio"`. Omitted for normal menu items. */
11
+ checked?: boolean;
7
12
  /** When true, adds leading padding to align the item with items that have a leading icon or indicator. Default `false`. */
8
13
  inset?: boolean;
9
14
  /** When true, the parent dropdown closes after this item is activated. Default `true`. */