@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
@@ -339,7 +339,7 @@
339
339
  --_cinder-status-fg-chroma-dark: .14;
340
340
  }
341
341
 
342
- .cinder-alert[data-cinder-variant="error"] {
342
+ .cinder-alert[data-cinder-variant="danger"] {
343
343
  --_cinder-alert-ring: var(--cinder-danger);
344
344
  --_cinder-status-base: var(--cinder-danger);
345
345
  --_cinder-status-fg-chroma-light: .18;
@@ -362,6 +362,226 @@
362
362
  }
363
363
  }
364
364
 
365
+ /* src/components/approval-card/approval-card.css */
366
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
367
+
368
+ @layer cinder.components {
369
+ .cinder-approval-card {
370
+ container-type: inline-size;
371
+ container-name: cinder-approval-card;
372
+ display: block;
373
+ }
374
+
375
+ .cinder-approval-card__surface {
376
+ overflow: hidden;
377
+ }
378
+
379
+ .cinder-approval-card__header {
380
+ display: flex;
381
+ justify-content: space-between;
382
+ align-items: flex-start;
383
+ gap: var(--cinder-space-4);
384
+ padding: var(--cinder-space-4);
385
+ border-block-end: 1px solid var(--cinder-border-muted);
386
+ background: var(--cinder-surface-inset);
387
+ }
388
+
389
+ .cinder-approval-card__title-group {
390
+ display: flex;
391
+ gap: var(--cinder-space-1);
392
+ flex-direction: column;
393
+ min-inline-size: 0;
394
+ }
395
+
396
+ .cinder-approval-card__eyebrow, .cinder-approval-card__description, .cinder-approval-card__muted {
397
+ color: var(--cinder-text-muted);
398
+ font-size: var(--cinder-text-sm);
399
+ margin: 0;
400
+ }
401
+
402
+ .cinder-approval-card__eyebrow {
403
+ font-size: var(--cinder-text-xs);
404
+ font-weight: var(--cinder-font-semibold);
405
+ text-transform: uppercase;
406
+ }
407
+
408
+ .cinder-approval-card__title {
409
+ color: var(--cinder-text);
410
+ font-size: var(--cinder-text-lg);
411
+ font-weight: var(--cinder-font-semibold);
412
+ line-height: var(--cinder-leading-tight);
413
+ margin: 0;
414
+ }
415
+
416
+ .cinder-approval-card__badges, .cinder-approval-card__section-heading, .cinder-approval-card__editor-actions {
417
+ display: flex;
418
+ align-items: center;
419
+ gap: var(--cinder-space-2);
420
+ flex-wrap: wrap;
421
+ }
422
+
423
+ .cinder-approval-card__badges {
424
+ justify-content: flex-end;
425
+ }
426
+
427
+ .cinder-approval-card__body {
428
+ display: flex;
429
+ gap: var(--cinder-space-4);
430
+ padding: var(--cinder-space-4);
431
+ flex-direction: column;
432
+ }
433
+
434
+ .cinder-approval-card__section {
435
+ display: flex;
436
+ gap: var(--cinder-space-2);
437
+ flex-direction: column;
438
+ }
439
+
440
+ .cinder-approval-card__section-title, .cinder-approval-card__subsection-title {
441
+ color: var(--cinder-text);
442
+ font-size: var(--cinder-text-sm);
443
+ font-weight: var(--cinder-font-semibold);
444
+ margin: 0;
445
+ }
446
+
447
+ .cinder-approval-card__subsection-title {
448
+ font-size: var(--cinder-text-xs);
449
+ }
450
+
451
+ .cinder-approval-card__metadata {
452
+ display: grid;
453
+ grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
454
+ gap: var(--cinder-space-2);
455
+ margin: 0;
456
+ }
457
+
458
+ .cinder-approval-card__metadata--compact {
459
+ grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
460
+ }
461
+
462
+ .cinder-approval-card__metadata-item {
463
+ min-inline-size: 0;
464
+ }
465
+
466
+ .cinder-approval-card__metadata-item dt {
467
+ color: var(--cinder-text-muted);
468
+ font-size: var(--cinder-text-xs);
469
+ font-weight: var(--cinder-font-medium);
470
+ }
471
+
472
+ .cinder-approval-card__metadata-item dd {
473
+ overflow-wrap: anywhere;
474
+ color: var(--cinder-text);
475
+ font-family: var(--cinder-font-mono);
476
+ font-size: var(--cinder-text-xs);
477
+ margin: 0;
478
+ }
479
+
480
+ .cinder-approval-card__files {
481
+ display: flex;
482
+ gap: var(--cinder-space-2);
483
+ flex-direction: column;
484
+ }
485
+
486
+ .cinder-approval-card__file-list {
487
+ display: flex;
488
+ gap: var(--cinder-space-1);
489
+ overflow-y: auto;
490
+ list-style: none;
491
+ flex-direction: column;
492
+ max-block-size: 14rem;
493
+ margin: 0;
494
+ padding: 0;
495
+ }
496
+
497
+ .cinder-approval-card__file-list li {
498
+ overflow-wrap: anywhere;
499
+ border: 1px solid var(--cinder-border-muted);
500
+ border-radius: var(--cinder-radius-sm);
501
+ padding: var(--cinder-space-1) var(--cinder-space-2);
502
+ background: var(--cinder-surface-inset);
503
+ color: var(--cinder-text);
504
+ font-family: var(--cinder-font-mono);
505
+ font-size: var(--cinder-text-xs);
506
+ }
507
+
508
+ .cinder-approval-card__environment-list {
509
+ display: grid;
510
+ grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
511
+ gap: var(--cinder-space-2);
512
+ }
513
+
514
+ .cinder-approval-card__actions-section {
515
+ gap: var(--cinder-space-3);
516
+ }
517
+
518
+ .cinder-approval-card__editor {
519
+ display: flex;
520
+ gap: var(--cinder-space-2);
521
+ border: 1px solid var(--cinder-border-muted);
522
+ border-radius: var(--cinder-radius-md);
523
+ padding: var(--cinder-space-3);
524
+ background: var(--cinder-surface-inset);
525
+ flex-direction: column;
526
+ }
527
+
528
+ .cinder-approval-card__editor-label {
529
+ color: var(--cinder-text);
530
+ font-size: var(--cinder-text-sm);
531
+ font-weight: var(--cinder-font-semibold);
532
+ }
533
+
534
+ .cinder-approval-card__textarea {
535
+ resize: vertical;
536
+ border: 1px solid var(--cinder-border);
537
+ border-radius: var(--cinder-radius-md);
538
+ padding: var(--cinder-space-2);
539
+ background: var(--cinder-surface);
540
+ color: var(--cinder-text);
541
+ font-family: var(--cinder-font-mono);
542
+ font-size: var(--cinder-text-sm);
543
+ min-block-size: 10rem;
544
+ }
545
+
546
+ .cinder-approval-card__textarea:focus-visible {
547
+ outline: var(--cinder-ring-width) solid transparent;
548
+ box-shadow: var(--_cinder-focus-ring-shadow);
549
+ }
550
+
551
+ .cinder-approval-card__error {
552
+ color: var(--cinder-danger);
553
+ font-size: var(--cinder-text-sm);
554
+ margin: 0;
555
+ }
556
+
557
+ .cinder-approval-card__readonly-summary {
558
+ border: 1px solid var(--cinder-border-muted);
559
+ border-radius: var(--cinder-radius-md);
560
+ padding: var(--cinder-space-3);
561
+ background: var(--cinder-surface-inset);
562
+ color: var(--cinder-text-muted);
563
+ font-size: var(--cinder-text-sm);
564
+ margin: 0;
565
+ }
566
+
567
+ @container cinder-approval-card (width <= 40rem) {
568
+ .cinder-approval-card__header {
569
+ flex-direction: column;
570
+ }
571
+
572
+ .cinder-approval-card__badges {
573
+ justify-content: flex-start;
574
+ }
575
+ }
576
+
577
+ @media (forced-colors: active) {
578
+ .cinder-approval-card__textarea:focus-visible {
579
+ outline: var(--cinder-ring-width) solid ButtonText;
580
+ box-shadow: none;
581
+ }
582
+ }
583
+ }
584
+
365
585
  /* src/components/area-chart/area-chart.css */
366
586
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
367
587
 
@@ -540,6 +760,9 @@
540
760
  }
541
761
 
542
762
  .cinder-autocomplete__label {
763
+ display: inline-flex;
764
+ align-items: center;
765
+ gap: var(--cinder-space-1);
543
766
  color: var(--cinder-text);
544
767
  font-size: var(--cinder-text-sm);
545
768
  font-weight: var(--cinder-font-medium);
@@ -561,6 +784,14 @@
561
784
  box-shadow: var(--_cinder-focus-ring-shadow);
562
785
  }
563
786
 
787
+ @media (forced-colors: active) {
788
+ .cinder-autocomplete__input:focus-visible {
789
+ outline: var(--cinder-ring-width) solid ButtonText;
790
+ outline-offset: 3px;
791
+ box-shadow: none;
792
+ }
793
+ }
794
+
564
795
  .cinder-autocomplete__description, .cinder-autocomplete__error {
565
796
  font-size: var(--cinder-text-sm);
566
797
  line-height: var(--cinder-leading-normal);
@@ -609,8 +840,8 @@
609
840
  border-radius: var(--cinder-radius-sm);
610
841
  background: var(--cinder-color-warning-bg);
611
842
  color: var(--cinder-color-warning-fg);
843
+ font-weight: var(--cinder-font-semibold);
612
844
  padding: 0 .0625rem;
613
- font-weight: 600;
614
845
  }
615
846
 
616
847
  .cinder-autocomplete__status {
@@ -814,127 +1045,49 @@
814
1045
  }
815
1046
  }
816
1047
 
817
- /* src/components/badge/badge.css */
1048
+ /* src/components/backdrop/backdrop.css */
818
1049
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
819
1050
 
820
1051
  @layer cinder.components {
821
- .cinder-badge {
822
- display: inline-flex;
1052
+ .cinder-backdrop {
1053
+ position: fixed;
1054
+ z-index: var(--cinder-z-backdrop);
1055
+ background: var(--cinder-overlay-backdrop);
1056
+ backdrop-filter: blur(var(--cinder-overlay-blur));
1057
+ display: flex;
1058
+ justify-content: center;
823
1059
  align-items: center;
824
- gap: var(--cinder-space-1);
825
- padding: var(--cinder-space-0-5) var(--cinder-space-2);
826
- font-size: var(--cinder-text-xs);
827
- font-weight: var(--cinder-font-medium);
828
- border-radius: var(--cinder-radius-sm);
829
- border: 1px solid var(--cinder-border);
830
- white-space: nowrap;
831
- background: var(--cinder-surface-inset);
832
- color: var(--cinder-text);
833
- transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard);
834
- line-height: 1.25;
1060
+ inset: 0;
835
1061
  }
836
1062
 
837
- .cinder-badge[data-cinder-size="xs"] {
838
- padding: 0 var(--cinder-space-1);
839
- font-size: .625rem;
840
- line-height: .875rem;
1063
+ .cinder-backdrop--invisible {
1064
+ backdrop-filter: none;
1065
+ background: none;
841
1066
  }
842
1067
 
843
- .cinder-badge[data-cinder-size="sm"] {
844
- font-size: var(--cinder-text-2xs, .625rem);
845
- padding: 0 var(--cinder-space-1);
846
- line-height: 1rem;
1068
+ @media (prefers-reduced-motion: reduce) {
1069
+ .cinder-backdrop {
1070
+ backdrop-filter: none;
1071
+ }
847
1072
  }
1073
+ }
848
1074
 
849
- .cinder-badge[data-cinder-size="md"] {
850
- font-size: var(--cinder-text-xs);
851
- padding: var(--cinder-space-0-5) var(--cinder-space-2);
852
- }
1075
+ /* src/components/banner/banner.css */
1076
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
853
1077
 
854
- .cinder-badge[data-cinder-variant="neutral"] {
855
- background: color-mix(in oklch, var(--cinder-surface-inset), var(--cinder-surface) 40%);
1078
+ @layer cinder.components {
1079
+ .cinder-banner {
1080
+ display: flex;
1081
+ align-items: center;
1082
+ gap: var(--cinder-space-3);
1083
+ padding-block: var(--cinder-space-3);
1084
+ padding-inline: var(--cinder-space-4);
1085
+ border-block: 1px solid var(--cinder-border);
1086
+ background: var(--cinder-surface);
856
1087
  color: var(--cinder-text);
857
- border-color: var(--cinder-border);
858
- }
859
-
860
- .cinder-badge[data-cinder-variant="success"] {
861
- background: var(--cinder-color-success-bg);
862
- color: var(--cinder-color-success-fg);
863
- border-color: var(--cinder-color-success-border);
864
- }
865
-
866
- .cinder-badge[data-cinder-variant="warning"] {
867
- background: var(--cinder-color-warning-bg);
868
- color: var(--cinder-color-warning-fg);
869
- border-color: var(--cinder-color-warning-border);
870
- }
871
-
872
- .cinder-badge[data-cinder-variant="danger"] {
873
- background: var(--cinder-color-danger-bg);
874
- color: var(--cinder-color-danger-fg);
875
- border-color: var(--cinder-color-danger-border);
876
- }
877
-
878
- .cinder-badge[data-cinder-variant="info"] {
879
- background: var(--cinder-color-info-bg);
880
- color: var(--cinder-color-info-fg);
881
- border-color: var(--cinder-color-info-border);
882
- }
883
-
884
- .cinder-badge[data-cinder-variant="accent"] {
885
- background: color-mix(in oklch, var(--cinder-accent), transparent 88%);
886
- color: var(--cinder-accent-text);
887
- border-color: color-mix(in oklch, var(--cinder-accent), transparent 60%);
888
- }
889
-
890
- .cinder-badge[data-cinder-mono] {
891
- font-family: var(--cinder-font-mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace);
892
- }
893
- }
894
-
895
- /* src/components/backdrop/backdrop.css */
896
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
897
-
898
- @layer cinder.components {
899
- .cinder-backdrop {
900
- position: fixed;
901
- z-index: var(--cinder-z-backdrop);
902
- background: var(--cinder-overlay-backdrop);
903
- backdrop-filter: blur(var(--cinder-overlay-blur));
904
- display: flex;
905
- justify-content: center;
906
- align-items: center;
907
- inset: 0;
908
- }
909
-
910
- .cinder-backdrop--invisible {
911
- backdrop-filter: none;
912
- background: none;
913
- }
914
-
915
- @media (prefers-reduced-motion: reduce) {
916
- .cinder-backdrop {
917
- backdrop-filter: none;
918
- }
919
- }
920
- }
921
-
922
- /* src/components/banner/banner.css */
923
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
924
-
925
- @layer cinder.components {
926
- .cinder-banner {
927
- display: flex;
928
- align-items: center;
929
- gap: var(--cinder-space-3);
930
- padding-block: var(--cinder-space-3);
931
- padding-inline: var(--cinder-space-4);
932
- border-block: 1px solid var(--cinder-border);
933
- background: var(--cinder-surface);
934
- color: var(--cinder-text);
935
- font-size: var(--cinder-text-sm);
936
- line-height: var(--cinder-leading-normal);
937
- inline-size: 100%;
1088
+ font-size: var(--cinder-text-sm);
1089
+ line-height: var(--cinder-leading-normal);
1090
+ inline-size: 100%;
938
1091
  }
939
1092
 
940
1093
  @media (prefers-reduced-motion: no-preference) {
@@ -1325,7 +1478,7 @@
1325
1478
  content: "";
1326
1479
  display: inline-block;
1327
1480
  border: 2px solid;
1328
- animation: cinder-button-spin .6s linear infinite;
1481
+ animation: cinder-button-spin var(--cinder-duration-spin) linear infinite;
1329
1482
  border-inline-end-color: #0000;
1330
1483
  border-radius: 50%;
1331
1484
  width: .75em;
@@ -2448,6 +2601,9 @@
2448
2601
  }
2449
2602
 
2450
2603
  .cinder-checkbox-field__label {
2604
+ display: inline-flex;
2605
+ align-items: center;
2606
+ gap: var(--cinder-space-1);
2451
2607
  font-size: var(--cinder-text-sm);
2452
2608
  line-height: var(--cinder-leading-normal);
2453
2609
  color: var(--cinder-text);
@@ -2490,6 +2646,9 @@
2490
2646
  }
2491
2647
 
2492
2648
  .cinder-checkbox-group__legend {
2649
+ display: inline-flex;
2650
+ align-items: center;
2651
+ gap: var(--cinder-space-1);
2493
2652
  font-size: var(--cinder-text-xs);
2494
2653
  font-weight: var(--cinder-font-medium);
2495
2654
  color: var(--cinder-text);
@@ -2561,341 +2720,123 @@
2561
2720
  }
2562
2721
  }
2563
2722
 
2564
- /* src/components/code-block/code-block.css */
2723
+ /* src/components/color-field/color-field.css */
2565
2724
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
2566
2725
 
2567
2726
  @layer cinder.components {
2568
- .cinder-code-block {
2569
- --_cinder-code-block-code-surface: light-dark(var(--cinder-surface-raised), var(--cinder-surface-inset));
2570
- background: var(--cinder-surface-inset);
2571
- border: 1px solid var(--cinder-border);
2572
- border-radius: var(--cinder-radius-md);
2573
- overflow: hidden;
2727
+ .cinder-color-field {
2728
+ display: contents;
2574
2729
  }
2575
2730
 
2576
- .cinder-code-block__header {
2577
- display: flex;
2578
- justify-content: space-between;
2579
- align-items: center;
2580
- gap: var(--cinder-space-2);
2581
- padding: var(--cinder-space-1-5) var(--cinder-space-3);
2582
- border-bottom: 1px solid var(--cinder-border-muted);
2583
- background: var(--cinder-surface-inset);
2584
- min-height: 2rem;
2731
+ .cinder-color-field__swatch {
2732
+ display: inline-block;
2733
+ border-radius: var(--cinder-radius-sm, 4px);
2734
+ background-color: var(--cinder-color-field-swatch, transparent);
2735
+ border: 1px solid var(--cinder-border);
2736
+ vertical-align: middle;
2737
+ width: 18px;
2738
+ height: 18px;
2585
2739
  }
2586
2740
 
2587
- .cinder-code-block__language {
2588
- font-size: var(--cinder-text-xs);
2589
- font-family: var(--cinder-font-mono);
2590
- color: var(--cinder-text-muted);
2591
- text-transform: uppercase;
2592
- letter-spacing: var(--cinder-tracking-wide);
2741
+ .cinder-color-field__swatch[data-cinder-empty] {
2742
+ background-color: #0000;
2743
+ background-image: linear-gradient(135deg, transparent 0%, transparent 45%, var(--cinder-border) 45%, var(--cinder-border) 55%, transparent 55%, transparent 100%);
2744
+ background-size: 6px 6px;
2593
2745
  }
2594
2746
 
2595
- .cinder-code-block__viewport {
2596
- display: block;
2597
- overflow-x: auto;
2598
- background: var(--_cinder-code-block-code-surface);
2747
+ .cinder-color-field__swatch[data-cinder-alpha]:not([data-cinder-empty]) {
2748
+ background-color: var(--cinder-color-checker-base);
2749
+ background-image: linear-gradient(var(--cinder-color-field-swatch, transparent), var(--cinder-color-field-swatch, transparent)), linear-gradient(45deg, var(--cinder-color-checker-tile) 25%, transparent 25%), linear-gradient(-45deg, var(--cinder-color-checker-tile) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--cinder-color-checker-tile) 75%), linear-gradient(-45deg, transparent 75%, var(--cinder-color-checker-tile) 75%);
2750
+ background-position: 0 0, 0 0, 0 3px, 3px -3px, -3px 0;
2751
+ background-size: auto, 6px 6px, 6px 6px, 6px 6px, 6px 6px;
2599
2752
  }
2600
2753
 
2601
- .cinder-code-block__pre, .cinder-code-block :where(pre.shiki) {
2602
- padding: var(--cinder-space-4);
2603
- overflow-x: clip;
2604
- font-family: var(--cinder-font-mono);
2605
- font-size: var(--cinder-text-sm);
2606
- line-height: var(--cinder-leading-relaxed);
2607
- color: var(--cinder-text);
2608
- background: var(--_cinder-code-block-code-surface);
2609
- width: max-content;
2610
- min-width: 100%;
2611
- margin: 0;
2612
- }
2754
+ @media (forced-colors: active) {
2755
+ .cinder-color-field__swatch {
2756
+ forced-color-adjust: none;
2757
+ background-color: buttonface;
2758
+ border-color: canvastext;
2759
+ }
2613
2760
 
2614
- .cinder-code-block :where(pre.shiki) {
2615
- padding: var(--cinder-space-4) !important;
2616
- background: var(--_cinder-code-block-code-surface) !important;
2617
- margin: 0 !important;
2618
- }
2761
+ .cinder-color-field__swatch[data-cinder-empty] {
2762
+ background-image: none;
2763
+ border-style: dashed;
2764
+ }
2619
2765
 
2620
- .cinder-code-block__code, .cinder-code-block :where(pre.shiki code) {
2621
- font-family: inherit;
2622
- font-size: inherit;
2623
- line-height: inherit;
2624
- background: none !important;
2766
+ .cinder-color-field__swatch[data-cinder-alpha]:not([data-cinder-empty]) {
2767
+ background-image: none;
2768
+ border-style: dotted;
2769
+ }
2625
2770
  }
2771
+ }
2626
2772
 
2627
- .cinder-code-block :where(pre.shiki code .line, pre.shiki code span) {
2628
- background: none !important;
2629
- }
2773
+ /* src/components/color-picker/color-picker.css */
2774
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
2630
2775
 
2631
- [data-cinder-theme="dark"] .cinder-code-block :where(pre.shiki) span {
2632
- color: var(--shiki-dark, inherit) !important;
2776
+ @layer cinder.components {
2777
+ .cinder-color-picker {
2778
+ container-type: inline-size;
2779
+ container-name: cinder-color-picker;
2780
+ display: flex;
2781
+ gap: var(--cinder-space-2);
2782
+ --_cinder-color-picker-thumb-border: #fff;
2783
+ --_cinder-color-picker-thumb-shadow-edge: #00000080;
2784
+ --_cinder-color-picker-thumb-shadow-support-light: transparent;
2785
+ --_cinder-color-picker-thumb-shadow-support-dark: #ffffffa6;
2786
+ --_cinder-color-picker-thumb-shadow-support: light-dark(var(--_cinder-color-picker-thumb-shadow-support-light), var(--_cinder-color-picker-thumb-shadow-support-dark));
2787
+ --_cinder-color-picker-thumb-shadow: 0 0 0 1px var(--_cinder-color-picker-thumb-shadow-edge), 0 0 0 2px var(--_cinder-color-picker-thumb-shadow-support);
2788
+ flex-direction: column;
2789
+ width: 100%;
2790
+ max-width: 280px;
2633
2791
  }
2634
2792
 
2635
- @media (prefers-color-scheme: dark) {
2636
- [data-cinder-theme="system"] .cinder-code-block :where(pre.shiki) span {
2637
- color: var(--shiki-dark, inherit) !important;
2638
- }
2793
+ .cinder-color-picker[data-cinder-disabled] {
2794
+ opacity: .6;
2795
+ cursor: not-allowed;
2639
2796
  }
2640
2797
 
2641
- .cinder-code-block .cinder-code-block__header .cinder-copy-button {
2642
- display: inline-flex;
2643
- border-radius: var(--cinder-radius-sm);
2644
- background: var(--cinder-surface-raised);
2645
- padding: var(--cinder-space-1);
2646
- color: var(--cinder-text-muted);
2647
- transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard), color var(--cinder-duration-fast) var(--cinder-ease-standard);
2648
- border: 1px solid #0000;
2649
- justify-content: center;
2650
- align-items: center;
2651
- min-block-size: 1.75rem;
2652
- inline-size: 1.75rem;
2798
+ .cinder-color-picker__gradient {
2799
+ position: relative;
2800
+ aspect-ratio: 4 / 3;
2801
+ border-radius: var(--cinder-radius-sm, 4px);
2802
+ --_cinder-color-picker-hue-fill: var(--cinder-color-picker-hue, red);
2803
+ --_cinder-color-picker-value-axis: linear-gradient(to top, #000, transparent);
2804
+ --_cinder-color-picker-saturation-axis: linear-gradient(to right, #fff, transparent);
2805
+ background-color: var(--_cinder-color-picker-hue-fill);
2806
+ background-image: var(--_cinder-color-picker-value-axis), var(--_cinder-color-picker-saturation-axis);
2807
+ touch-action: none;
2808
+ cursor: crosshair;
2809
+ outline: none;
2810
+ width: 100%;
2653
2811
  }
2654
2812
 
2655
- .cinder-code-block .cinder-code-block__header .cinder-copy-button:focus-visible {
2813
+ .cinder-color-picker__gradient:focus-visible {
2656
2814
  outline: var(--cinder-ring-width) solid transparent;
2657
- box-shadow: inset 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
2658
- }
2659
-
2660
- @media (forced-colors: active) {
2661
- .cinder-code-block .cinder-code-block__header .cinder-copy-button:focus-visible {
2662
- outline-color: canvastext;
2663
- box-shadow: none;
2664
- }
2815
+ box-shadow: var(--_cinder-focus-ring-shadow);
2665
2816
  }
2666
2817
 
2667
- @media (hover: hover) {
2668
- .cinder-code-block .cinder-code-block__header .cinder-copy-button:hover {
2669
- background: var(--cinder-surface-hover);
2670
- color: var(--cinder-text);
2671
- border-color: #0000;
2672
- }
2818
+ .cinder-color-picker__gradient-handle {
2819
+ position: absolute;
2820
+ border: 2px solid var(--_cinder-color-picker-thumb-border);
2821
+ box-shadow: var(--_cinder-color-picker-thumb-shadow);
2822
+ pointer-events: none;
2823
+ border-radius: 50%;
2824
+ width: 14px;
2825
+ height: 14px;
2826
+ transform: translate(-50%, -50%);
2673
2827
  }
2674
2828
 
2675
- .cinder-code-block__highlighted {
2676
- display: block;
2829
+ .cinder-color-picker__hue, .cinder-color-picker__alpha {
2830
+ position: relative;
2831
+ border-radius: var(--cinder-radius-full);
2832
+ outline: none;
2833
+ touch-action: none;
2834
+ height: 12px;
2677
2835
  }
2678
2836
 
2679
- .cinder-code-block__viewport:focus-visible {
2680
- outline: var(--cinder-ring-width) solid transparent;
2681
- box-shadow: inset 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
2682
- }
2683
-
2684
- @media (forced-colors: active) {
2685
- .cinder-code-block__viewport:focus-visible {
2686
- outline: var(--cinder-ring-width) solid ButtonText;
2687
- outline-offset: calc(var(--cinder-ring-width) * -1);
2688
- box-shadow: none;
2689
- }
2690
- }
2691
- }
2692
-
2693
- /* src/components/collapsible/collapsible.css */
2694
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
2695
-
2696
- @layer cinder.components {
2697
- .cinder-collapsible {
2698
- display: block;
2699
- }
2700
-
2701
- .cinder-collapsible__trigger {
2702
- display: flex;
2703
- justify-content: space-between;
2704
- align-items: center;
2705
- gap: var(--cinder-space-4);
2706
- padding: var(--cinder-space-4) var(--cinder-space-5);
2707
- font-size: var(--cinder-text-base);
2708
- font-weight: var(--cinder-font-medium);
2709
- line-height: var(--cinder-leading-snug);
2710
- color: var(--cinder-text);
2711
- text-align: start;
2712
- border-radius: var(--cinder-radius-md);
2713
- cursor: pointer;
2714
- transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard), color var(--cinder-duration-fast) var(--cinder-ease-standard);
2715
- background: none;
2716
- border: none;
2717
- inline-size: 100%;
2718
- }
2719
-
2720
- @media (hover: hover) {
2721
- .cinder-collapsible__trigger:hover:not(:disabled) {
2722
- background: var(--cinder-surface-hover);
2723
- }
2724
- }
2725
-
2726
- .cinder-collapsible__trigger:active:not(:disabled) {
2727
- background: var(--cinder-surface-pressed);
2728
- }
2729
-
2730
- .cinder-collapsible__trigger:focus-visible {
2731
- outline: var(--cinder-ring-width) solid transparent;
2732
- box-shadow: var(--_cinder-focus-ring-shadow);
2733
- }
2734
-
2735
- @media (forced-colors: active) {
2736
- .cinder-collapsible__trigger:focus-visible {
2737
- outline: var(--cinder-ring-width) solid ButtonText;
2738
- outline-offset: 3px;
2739
- }
2740
- }
2741
-
2742
- .cinder-collapsible__trigger:disabled {
2743
- cursor: not-allowed;
2744
- color: var(--cinder-text-disabled);
2745
- opacity: .6;
2746
- }
2747
-
2748
- .cinder-collapsible__label {
2749
- flex: 1;
2750
- }
2751
-
2752
- .cinder-collapsible__chevron {
2753
- color: var(--cinder-text-muted);
2754
- transition: transform var(--cinder-duration-fast) var(--cinder-ease-standard);
2755
- flex-shrink: 0;
2756
- width: 1.25rem;
2757
- height: 1.25rem;
2758
- }
2759
-
2760
- .cinder-collapsible[data-cinder-expanded] .cinder-collapsible__chevron {
2761
- transform: rotate(180deg);
2762
- }
2763
-
2764
- .cinder-collapsible[data-cinder-disabled] .cinder-collapsible__chevron {
2765
- opacity: .4;
2766
- }
2767
-
2768
- .cinder-collapsible__panel-inner {
2769
- padding: var(--cinder-space-4) var(--cinder-space-5) var(--cinder-space-5);
2770
- font-size: var(--cinder-text-base);
2771
- line-height: var(--cinder-leading-normal);
2772
- color: var(--cinder-text-muted);
2773
- }
2774
-
2775
- @media (prefers-reduced-motion: reduce) {
2776
- .cinder-collapsible__chevron {
2777
- transition: none;
2778
- }
2779
- }
2780
- }
2781
-
2782
- /* src/components/color-field/color-field.css */
2783
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
2784
-
2785
- @layer cinder.components {
2786
- .cinder-color-field {
2787
- display: contents;
2788
- }
2789
-
2790
- .cinder-color-field__swatch {
2791
- display: inline-block;
2792
- border-radius: var(--cinder-radius-sm, 4px);
2793
- background-color: var(--cinder-color-field-swatch, transparent);
2794
- border: 1px solid var(--cinder-border);
2795
- vertical-align: middle;
2796
- width: 18px;
2797
- height: 18px;
2798
- }
2799
-
2800
- .cinder-color-field__swatch[data-cinder-empty] {
2801
- background-color: #0000;
2802
- background-image: linear-gradient(135deg, transparent 0%, transparent 45%, var(--cinder-border) 45%, var(--cinder-border) 55%, transparent 55%, transparent 100%);
2803
- background-size: 6px 6px;
2804
- }
2805
-
2806
- .cinder-color-field__swatch[data-cinder-alpha]:not([data-cinder-empty]) {
2807
- background-color: var(--cinder-color-checker-base);
2808
- background-image: linear-gradient(var(--cinder-color-field-swatch, transparent), var(--cinder-color-field-swatch, transparent)), linear-gradient(45deg, var(--cinder-color-checker-tile) 25%, transparent 25%), linear-gradient(-45deg, var(--cinder-color-checker-tile) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--cinder-color-checker-tile) 75%), linear-gradient(-45deg, transparent 75%, var(--cinder-color-checker-tile) 75%);
2809
- background-position: 0 0, 0 0, 0 3px, 3px -3px, -3px 0;
2810
- background-size: auto, 6px 6px, 6px 6px, 6px 6px, 6px 6px;
2811
- }
2812
-
2813
- @media (forced-colors: active) {
2814
- .cinder-color-field__swatch {
2815
- forced-color-adjust: none;
2816
- background-color: buttonface;
2817
- border-color: canvastext;
2818
- }
2819
-
2820
- .cinder-color-field__swatch[data-cinder-empty] {
2821
- background-image: none;
2822
- border-style: dashed;
2823
- }
2824
-
2825
- .cinder-color-field__swatch[data-cinder-alpha]:not([data-cinder-empty]) {
2826
- background-image: none;
2827
- border-style: dotted;
2828
- }
2829
- }
2830
- }
2831
-
2832
- /* src/components/color-picker/color-picker.css */
2833
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
2834
-
2835
- @layer cinder.components {
2836
- .cinder-color-picker {
2837
- container-type: inline-size;
2838
- container-name: cinder-color-picker;
2839
- display: flex;
2840
- gap: var(--cinder-space-2);
2841
- --_cinder-color-picker-thumb-border: #fff;
2842
- --_cinder-color-picker-thumb-shadow-edge: #00000080;
2843
- --_cinder-color-picker-thumb-shadow-support-light: transparent;
2844
- --_cinder-color-picker-thumb-shadow-support-dark: #ffffffa6;
2845
- --_cinder-color-picker-thumb-shadow-support: light-dark(var(--_cinder-color-picker-thumb-shadow-support-light), var(--_cinder-color-picker-thumb-shadow-support-dark));
2846
- --_cinder-color-picker-thumb-shadow: 0 0 0 1px var(--_cinder-color-picker-thumb-shadow-edge), 0 0 0 2px var(--_cinder-color-picker-thumb-shadow-support);
2847
- flex-direction: column;
2848
- width: 100%;
2849
- max-width: 280px;
2850
- }
2851
-
2852
- .cinder-color-picker[data-cinder-disabled] {
2853
- opacity: .6;
2854
- cursor: not-allowed;
2855
- }
2856
-
2857
- .cinder-color-picker__gradient {
2858
- position: relative;
2859
- aspect-ratio: 4 / 3;
2860
- border-radius: var(--cinder-radius-sm, 4px);
2861
- --_cinder-color-picker-hue-fill: var(--cinder-color-picker-hue, red);
2862
- --_cinder-color-picker-value-axis: linear-gradient(to top, #000, transparent);
2863
- --_cinder-color-picker-saturation-axis: linear-gradient(to right, #fff, transparent);
2864
- background-color: var(--_cinder-color-picker-hue-fill);
2865
- background-image: var(--_cinder-color-picker-value-axis), var(--_cinder-color-picker-saturation-axis);
2866
- touch-action: none;
2867
- cursor: crosshair;
2868
- outline: none;
2869
- width: 100%;
2870
- }
2871
-
2872
- .cinder-color-picker__gradient:focus-visible {
2873
- outline: var(--cinder-ring-width) solid transparent;
2874
- box-shadow: var(--_cinder-focus-ring-shadow);
2875
- }
2876
-
2877
- .cinder-color-picker__gradient-handle {
2878
- position: absolute;
2879
- border: 2px solid var(--_cinder-color-picker-thumb-border);
2880
- box-shadow: var(--_cinder-color-picker-thumb-shadow);
2881
- pointer-events: none;
2882
- border-radius: 50%;
2883
- width: 14px;
2884
- height: 14px;
2885
- transform: translate(-50%, -50%);
2886
- }
2887
-
2888
- .cinder-color-picker__hue, .cinder-color-picker__alpha {
2889
- position: relative;
2890
- border-radius: var(--cinder-radius-full);
2891
- outline: none;
2892
- touch-action: none;
2893
- height: 12px;
2894
- }
2895
-
2896
- .cinder-color-picker__hue {
2897
- --_cinder-color-picker-hue-spectrum: linear-gradient(to right, red, #ff0, #0f0, #0ff, #00f, #f0f, red);
2898
- background: var(--_cinder-color-picker-hue-spectrum);
2837
+ .cinder-color-picker__hue {
2838
+ --_cinder-color-picker-hue-spectrum: linear-gradient(to right, red, #ff0, #0f0, #0ff, #00f, #f0f, red);
2839
+ background: var(--_cinder-color-picker-hue-spectrum);
2899
2840
  }
2900
2841
 
2901
2842
  .cinder-color-picker__alpha {
@@ -3324,6 +3265,7 @@
3324
3265
  .cinder-command-item[data-cinder-active] {
3325
3266
  background: var(--cinder-accent);
3326
3267
  color: var(--cinder-accent-contrast);
3268
+ box-shadow: inset 0 0 0 1px var(--cinder-accent-contrast);
3327
3269
  }
3328
3270
 
3329
3271
  @media (forced-colors: active) {
@@ -3570,97 +3512,36 @@
3570
3512
  }
3571
3513
  }
3572
3514
 
3573
- /* src/components/connection-indicator/connection-indicator.css */
3515
+ /* src/components/container/container.css */
3574
3516
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
3575
3517
 
3576
3518
  @layer cinder.components {
3577
- .cinder-connection-indicator {
3578
- display: inline-flex;
3579
- align-items: center;
3580
- gap: var(--cinder-space-1-5);
3581
- padding: var(--cinder-space-0-5) var(--cinder-space-2);
3582
- font-size: var(--cinder-text-xs);
3583
- font-weight: var(--cinder-font-medium);
3584
- border-radius: var(--cinder-radius-full);
3585
- background: var(--cinder-surface-inset);
3586
- color: var(--cinder-text);
3519
+ .cinder-container {
3520
+ box-sizing: border-box;
3521
+ display: block;
3522
+ max-inline-size: var(--cinder-content-width);
3523
+ inline-size: 100%;
3524
+ min-inline-size: 0;
3587
3525
  }
3588
3526
 
3589
- .cinder-connection-indicator__dot {
3590
- display: inline-block;
3591
- border-radius: var(--cinder-radius-full);
3592
- background: currentColor;
3593
- width: .5rem;
3594
- height: .5rem;
3527
+ .cinder-container[data-cinder-centered] {
3528
+ margin-inline: auto;
3595
3529
  }
3596
3530
 
3597
- .cinder-connection-indicator[data-cinder-state="connected"] {
3598
- color: var(--cinder-success);
3531
+ .cinder-container[data-cinder-padded] {
3532
+ padding-inline: var(--cinder-space-5);
3599
3533
  }
3600
3534
 
3601
- .cinder-connection-indicator[data-cinder-state="connecting"] {
3602
- color: var(--cinder-warning);
3535
+ .cinder-container[data-cinder-max-width="prose"] {
3536
+ max-inline-size: var(--cinder-content-width-prose);
3603
3537
  }
3604
3538
 
3605
- .cinder-connection-indicator[data-cinder-state="connecting"] .cinder-connection-indicator__dot {
3606
- animation: cinder-connection-pulse 1.4s ease-in-out infinite;
3539
+ .cinder-container[data-cinder-max-width="narrow"] {
3540
+ max-inline-size: var(--cinder-content-width-narrow);
3607
3541
  }
3608
3542
 
3609
- @keyframes cinder-connection-pulse {
3610
- 0%, 100% {
3611
- opacity: 1;
3612
- }
3613
-
3614
- 50% {
3615
- opacity: .3;
3616
- }
3617
- }
3618
-
3619
- @media (prefers-reduced-motion: reduce) {
3620
- .cinder-connection-indicator[data-cinder-state="connecting"] .cinder-connection-indicator__dot {
3621
- animation: none;
3622
- }
3623
- }
3624
-
3625
- .cinder-connection-indicator[data-cinder-state="disconnected"] {
3626
- color: var(--cinder-text-muted);
3627
- }
3628
-
3629
- .cinder-connection-indicator[data-cinder-state="error"] {
3630
- color: var(--cinder-danger);
3631
- }
3632
- }
3633
-
3634
- /* src/components/container/container.css */
3635
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
3636
-
3637
- @layer cinder.components {
3638
- .cinder-container {
3639
- box-sizing: border-box;
3640
- display: block;
3641
- max-inline-size: var(--cinder-content-width);
3642
- inline-size: 100%;
3643
- min-inline-size: 0;
3644
- }
3645
-
3646
- .cinder-container[data-cinder-centered] {
3647
- margin-inline: auto;
3648
- }
3649
-
3650
- .cinder-container[data-cinder-padded] {
3651
- padding-inline: var(--cinder-space-5);
3652
- }
3653
-
3654
- .cinder-container[data-cinder-max-width="prose"] {
3655
- max-inline-size: var(--cinder-content-width-prose);
3656
- }
3657
-
3658
- .cinder-container[data-cinder-max-width="narrow"] {
3659
- max-inline-size: var(--cinder-content-width-narrow);
3660
- }
3661
-
3662
- .cinder-container[data-cinder-max-width="wide"] {
3663
- max-inline-size: var(--cinder-content-width-wide);
3543
+ .cinder-container[data-cinder-max-width="wide"] {
3544
+ max-inline-size: var(--cinder-content-width-wide);
3664
3545
  }
3665
3546
 
3666
3547
  .cinder-container[data-cinder-max-width="full"] {
@@ -3677,53 +3558,6 @@
3677
3558
  }
3678
3559
  }
3679
3560
 
3680
- /* src/components/copy-button/copy-button.css */
3681
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
3682
-
3683
- @layer cinder.components {
3684
- .cinder-copy-button {
3685
- appearance: none;
3686
- display: inline-flex;
3687
- align-items: center;
3688
- gap: var(--cinder-space-1);
3689
- padding: var(--cinder-space-1) var(--cinder-space-2);
3690
- font-size: var(--cinder-text-xs);
3691
- font-family: inherit;
3692
- font-weight: var(--cinder-font-medium);
3693
- color: var(--cinder-text-muted);
3694
- border: 1px solid var(--cinder-border);
3695
- border-radius: var(--cinder-radius-sm);
3696
- cursor: pointer;
3697
- transition: color var(--cinder-duration-fast) var(--cinder-ease-standard), background var(--cinder-duration-fast) var(--cinder-ease-standard), border-color var(--cinder-duration-fast) var(--cinder-ease-standard);
3698
- background: none;
3699
- }
3700
-
3701
- @media (hover: hover) {
3702
- .cinder-copy-button:hover {
3703
- color: var(--cinder-text);
3704
- background: var(--cinder-surface-hover);
3705
- border-color: var(--cinder-border-strong);
3706
- }
3707
- }
3708
-
3709
- .cinder-copy-button:focus-visible {
3710
- outline: var(--cinder-ring-width) solid transparent;
3711
- box-shadow: var(--_cinder-focus-ring-shadow);
3712
- }
3713
-
3714
- @media (forced-colors: active) {
3715
- .cinder-copy-button:focus-visible {
3716
- outline: var(--cinder-ring-width) solid ButtonText;
3717
- outline-offset: 2px;
3718
- }
3719
- }
3720
-
3721
- .cinder-copy-button[data-cinder-copied] {
3722
- color: var(--cinder-success);
3723
- border-color: var(--cinder-success);
3724
- }
3725
- }
3726
-
3727
3561
  /* src/components/data-list/data-list.css */
3728
3562
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
3729
3563
 
@@ -3754,6 +3588,7 @@
3754
3588
  --_cinder-data-grid-content-width: max-content;
3755
3589
  display: block;
3756
3590
  overflow: auto;
3591
+ scrollbar-gutter: stable;
3757
3592
  border: 1px solid var(--cinder-border);
3758
3593
  border-radius: var(--cinder-radius-md);
3759
3594
  background: var(--cinder-surface);
@@ -3765,11 +3600,23 @@
3765
3600
  max-inline-size: 100%;
3766
3601
  }
3767
3602
 
3603
+ .cinder-data-grid[data-cinder-virtualized-columns="true"] {
3604
+ --_cinder-data-grid-overflow-shadow: inset 1rem 0 1rem -1rem color-mix(in srgb, var(--cinder-text) 28%, transparent), inset -1rem 0 1rem -1rem color-mix(in srgb, var(--cinder-text) 28%, transparent);
3605
+ }
3606
+
3768
3607
  .cinder-data-grid:focus-visible {
3769
3608
  outline: var(--cinder-ring-width) solid transparent;
3770
3609
  box-shadow: var(--_cinder-focus-ring-shadow);
3771
3610
  }
3772
3611
 
3612
+ @media (forced-colors: active) {
3613
+ .cinder-data-grid:focus-visible {
3614
+ outline: var(--cinder-ring-width) solid ButtonText;
3615
+ outline-offset: calc(-1 * var(--cinder-ring-width));
3616
+ box-shadow: none;
3617
+ }
3618
+ }
3619
+
3773
3620
  .cinder-data-grid__header-row, .cinder-data-grid__row {
3774
3621
  display: grid;
3775
3622
  grid-template-columns: var(--_cinder-data-grid-template-columns);
@@ -3779,6 +3626,7 @@
3779
3626
 
3780
3627
  .cinder-data-grid__header-row {
3781
3628
  background: var(--cinder-surface-inset);
3629
+ box-shadow: var(--_cinder-data-grid-overflow-shadow, none);
3782
3630
  }
3783
3631
 
3784
3632
  .cinder-data-grid[data-cinder-sticky-header] .cinder-data-grid__header-row {
@@ -3789,6 +3637,7 @@
3789
3637
 
3790
3638
  .cinder-data-grid__row {
3791
3639
  background: var(--cinder-surface);
3640
+ box-shadow: var(--_cinder-data-grid-overflow-shadow, none);
3792
3641
  transition: background var(--cinder-duration-fast) var(--cinder-ease-standard);
3793
3642
  }
3794
3643
 
@@ -3861,6 +3710,14 @@
3861
3710
  box-shadow: var(--_cinder-focus-ring-shadow);
3862
3711
  }
3863
3712
 
3713
+ @media (forced-colors: active) {
3714
+ .cinder-data-grid__sort-button:focus-visible {
3715
+ outline: var(--cinder-ring-width) solid ButtonText;
3716
+ outline-offset: 2px;
3717
+ box-shadow: none;
3718
+ }
3719
+ }
3720
+
3864
3721
  .cinder-data-grid__header-content {
3865
3722
  overflow: hidden;
3866
3723
  text-overflow: ellipsis;
@@ -4016,11 +3873,23 @@
4016
3873
  block-size: var(--_cinder-data-table-row-height, 44px);
4017
3874
  }
4018
3875
 
3876
+ .cinder-data-table tbody .cinder-table__row:focus-within {
3877
+ background: var(--cinder-surface-hover);
3878
+ }
3879
+
4019
3880
  .cinder-data-table[data-cinder-virtualized] .cinder-table__row[data-cinder-virtual-row]:focus-visible {
4020
3881
  outline: var(--cinder-ring-width) solid transparent;
4021
3882
  box-shadow: var(--_cinder-focus-ring-shadow);
4022
3883
  }
4023
3884
 
3885
+ @media (forced-colors: active) {
3886
+ .cinder-data-table[data-cinder-virtualized] .cinder-table__row[data-cinder-virtual-row]:focus-visible {
3887
+ outline: var(--cinder-ring-width) solid ButtonText;
3888
+ outline-offset: calc(-1 * var(--cinder-ring-width));
3889
+ box-shadow: none;
3890
+ }
3891
+ }
3892
+
4024
3893
  .cinder-data-table__virtual-spacer-cell {
4025
3894
  border: 0;
4026
3895
  padding: 0;
@@ -4206,90 +4075,6 @@
4206
4075
  }
4207
4076
  }
4208
4077
 
4209
- /* src/components/description-list/description-list.css */
4210
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
4211
-
4212
- @layer cinder.components {
4213
- .cinder-description-list {
4214
- display: flex;
4215
- flex-direction: column;
4216
- margin: 0;
4217
- }
4218
-
4219
- .cinder-description-list dt, .cinder-description-list dd {
4220
- margin: 0;
4221
- }
4222
-
4223
- .cinder-description-list__row {
4224
- display: flex;
4225
- gap: var(--cinder-space-1);
4226
- padding: var(--cinder-space-2) var(--cinder-space-3);
4227
- flex-direction: column;
4228
- }
4229
-
4230
- .cinder-description-list[data-cinder-variant="default"] .cinder-description-list__row:not(:first-child) {
4231
- border-block-start: 1px solid var(--cinder-border-muted);
4232
- }
4233
-
4234
- .cinder-description-list dd {
4235
- display: flex;
4236
- align-items: baseline;
4237
- gap: var(--cinder-space-2);
4238
- flex-wrap: wrap;
4239
- }
4240
-
4241
- .cinder-description-list__definition {
4242
- flex: auto;
4243
- min-width: 0;
4244
- }
4245
-
4246
- .cinder-description-list__actions {
4247
- display: inline-flex;
4248
- align-items: center;
4249
- gap: var(--cinder-space-1);
4250
- flex: none;
4251
- }
4252
-
4253
- .cinder-description-list[data-cinder-variant="striped"] .cinder-description-list__row:nth-child(odd) {
4254
- background: var(--cinder-surface-inset);
4255
- }
4256
-
4257
- .cinder-description-list[data-cinder-variant="two-column"] {
4258
- container-type: inline-size;
4259
- }
4260
-
4261
- .cinder-description-list[data-cinder-variant="two-column"] .cinder-description-list__row {
4262
- display: grid;
4263
- grid-template-columns: minmax(8rem, 1fr) 3fr;
4264
- align-items: baseline;
4265
- gap: var(--cinder-space-3);
4266
- }
4267
-
4268
- @supports (grid-template-columns: subgrid) {
4269
- .cinder-description-list[data-cinder-variant="two-column"] {
4270
- display: grid;
4271
- grid-template-columns: minmax(8rem, 1fr) 3fr;
4272
- }
4273
-
4274
- .cinder-description-list[data-cinder-variant="two-column"] .cinder-description-list__row {
4275
- grid-template-columns: subgrid;
4276
- grid-column: 1 / -1;
4277
- }
4278
- }
4279
-
4280
- @container (width <= 28rem) {
4281
- .cinder-description-list[data-cinder-variant="two-column"] .cinder-description-list__row {
4282
- grid-template-columns: 1fr;
4283
- }
4284
- }
4285
-
4286
- .cinder-description-list[data-cinder-variant="narrow"] .cinder-description-list__row {
4287
- align-items: baseline;
4288
- gap: var(--cinder-space-2);
4289
- flex-direction: row;
4290
- }
4291
- }
4292
-
4293
4078
  /* src/components/diff-statistics/diff-statistics.css */
4294
4079
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
4295
4080
 
@@ -4863,6 +4648,43 @@
4863
4648
  margin: 0;
4864
4649
  }
4865
4650
 
4651
+ .cinder-event-stream-viewer__boundary-marker, .cinder-event-stream-viewer__sequence-gap-marker {
4652
+ padding: var(--cinder-space-1) var(--cinder-space-3);
4653
+ border-block-end: 1px solid var(--cinder-border-muted);
4654
+ background: var(--cinder-surface-inset);
4655
+ }
4656
+
4657
+ .cinder-event-stream-viewer__marker-content {
4658
+ display: flex;
4659
+ align-items: center;
4660
+ gap: var(--cinder-space-2);
4661
+ color: var(--cinder-text-muted);
4662
+ font-family: var(--cinder-font-sans);
4663
+ font-size: var(--cinder-text-xs);
4664
+ line-height: var(--cinder-leading-normal);
4665
+ }
4666
+
4667
+ .cinder-event-stream-viewer__marker-content:before, .cinder-event-stream-viewer__marker-content:after {
4668
+ content: "";
4669
+ background: var(--cinder-border-muted);
4670
+ flex: auto;
4671
+ block-size: 1px;
4672
+ }
4673
+
4674
+ .cinder-event-stream-viewer__boundary-marker .cinder-event-stream-viewer__marker-content {
4675
+ color: var(--cinder-info);
4676
+ }
4677
+
4678
+ .cinder-event-stream-viewer__sequence-gap-marker .cinder-event-stream-viewer__marker-content {
4679
+ color: var(--cinder-warning);
4680
+ }
4681
+
4682
+ .cinder-event-stream-viewer__marker-time {
4683
+ color: var(--cinder-text-muted);
4684
+ font-family: var(--cinder-font-mono);
4685
+ white-space: nowrap;
4686
+ }
4687
+
4866
4688
  .cinder-event-stream-viewer__event {
4867
4689
  --cinder-event-stream-viewer-severity-color: var(--cinder-text-muted);
4868
4690
  display: grid;
@@ -5094,8 +4916,17 @@
5094
4916
  .cinder-faceted-filter-bar__facet {
5095
4917
  position: relative;
5096
4918
  display: inline-flex;
5097
- flex-shrink: 0;
5098
4919
  align-items: center;
4920
+ gap: var(--cinder-space-1);
4921
+ flex-shrink: 0;
4922
+ }
4923
+
4924
+ .cinder-faceted-filter-bar__facet-label {
4925
+ color: var(--cinder-text-muted);
4926
+ font-size: var(--cinder-text-xs);
4927
+ font-weight: var(--cinder-font-medium);
4928
+ line-height: var(--cinder-leading-tight);
4929
+ white-space: nowrap;
5099
4930
  }
5100
4931
 
5101
4932
  .cinder-faceted-filter-bar__select {
@@ -5300,11 +5131,11 @@
5300
5131
  font-size: var(--cinder-text-xs);
5301
5132
  }
5302
5133
 
5303
- .cinder-fab[data-cinder-size="sm"][data-cinder-variant="filled"] {
5134
+ .cinder-fab[data-cinder-size="sm"][data-cinder-shape="filled"] {
5304
5135
  inline-size: var(--cinder-space-10);
5305
5136
  }
5306
5137
 
5307
- .cinder-fab[data-cinder-size="sm"][data-cinder-variant="extended"] {
5138
+ .cinder-fab[data-cinder-size="sm"][data-cinder-shape="extended"] {
5308
5139
  padding-inline: var(--cinder-space-4);
5309
5140
  }
5310
5141
 
@@ -5313,11 +5144,11 @@
5313
5144
  font-size: var(--cinder-text-sm);
5314
5145
  }
5315
5146
 
5316
- .cinder-fab[data-cinder-size="md"][data-cinder-variant="filled"] {
5147
+ .cinder-fab[data-cinder-size="md"][data-cinder-shape="filled"] {
5317
5148
  inline-size: var(--cinder-space-12);
5318
5149
  }
5319
5150
 
5320
- .cinder-fab[data-cinder-size="md"][data-cinder-variant="extended"] {
5151
+ .cinder-fab[data-cinder-size="md"][data-cinder-shape="extended"] {
5321
5152
  padding-inline: var(--cinder-space-6);
5322
5153
  }
5323
5154
 
@@ -5326,41 +5157,41 @@
5326
5157
  font-size: var(--cinder-text-lg);
5327
5158
  }
5328
5159
 
5329
- .cinder-fab[data-cinder-size="lg"][data-cinder-variant="filled"] {
5160
+ .cinder-fab[data-cinder-size="lg"][data-cinder-shape="filled"] {
5330
5161
  inline-size: var(--cinder-space-16);
5331
5162
  }
5332
5163
 
5333
- .cinder-fab[data-cinder-size="lg"][data-cinder-variant="extended"] {
5164
+ .cinder-fab[data-cinder-size="lg"][data-cinder-shape="extended"] {
5334
5165
  padding-inline: var(--cinder-space-8);
5335
5166
  }
5336
5167
 
5337
- .cinder-fab[data-cinder-color="primary"] {
5168
+ .cinder-fab[data-cinder-variant="primary"] {
5338
5169
  --_cinder-fab-ring: var(--cinder-ring-on-accent);
5339
5170
  background: var(--cinder-accent);
5340
5171
  color: var(--cinder-accent-contrast);
5341
5172
  }
5342
5173
 
5343
- .cinder-fab[data-cinder-color="primary"]:disabled, .cinder-fab[data-cinder-color="primary"][aria-disabled="true"] {
5174
+ .cinder-fab[data-cinder-variant="primary"]:disabled, .cinder-fab[data-cinder-variant="primary"][aria-disabled="true"] {
5344
5175
  background: var(--cinder-surface-inset);
5345
5176
  color: var(--cinder-text-disabled);
5346
5177
  }
5347
5178
 
5348
- .cinder-fab[data-cinder-color="secondary"] {
5179
+ .cinder-fab[data-cinder-variant="secondary"] {
5349
5180
  background: var(--cinder-surface-raised);
5350
5181
  color: var(--cinder-text);
5351
5182
  }
5352
5183
 
5353
- .cinder-fab[data-cinder-color="secondary"]:disabled, .cinder-fab[data-cinder-color="secondary"][aria-disabled="true"] {
5184
+ .cinder-fab[data-cinder-variant="secondary"]:disabled, .cinder-fab[data-cinder-variant="secondary"][aria-disabled="true"] {
5354
5185
  background: var(--cinder-surface-inset);
5355
5186
  color: var(--cinder-text-disabled);
5356
5187
  }
5357
5188
 
5358
- .cinder-fab[data-cinder-color="surface"] {
5189
+ .cinder-fab[data-cinder-variant="surface"] {
5359
5190
  background: var(--cinder-surface);
5360
5191
  color: var(--cinder-text);
5361
5192
  }
5362
5193
 
5363
- .cinder-fab[data-cinder-color="surface"]:disabled, .cinder-fab[data-cinder-color="surface"][aria-disabled="true"] {
5194
+ .cinder-fab[data-cinder-variant="surface"]:disabled, .cinder-fab[data-cinder-variant="surface"][aria-disabled="true"] {
5364
5195
  background: var(--cinder-surface-inset);
5365
5196
  color: var(--cinder-text-disabled);
5366
5197
  }
@@ -5370,20 +5201,20 @@
5370
5201
  --_cinder-fab-elevation: var(--cinder-shadow-lg);
5371
5202
  }
5372
5203
 
5373
- .cinder-fab[data-cinder-color="primary"]:hover:not(:disabled):not([aria-disabled="true"]) {
5204
+ .cinder-fab[data-cinder-variant="primary"]:hover:not(:disabled):not([aria-disabled="true"]) {
5374
5205
  background: var(--cinder-accent-hover);
5375
5206
  }
5376
5207
 
5377
- .cinder-fab[data-cinder-color="secondary"]:hover:not(:disabled):not([aria-disabled="true"]), .cinder-fab[data-cinder-color="surface"]:hover:not(:disabled):not([aria-disabled="true"]) {
5208
+ .cinder-fab[data-cinder-variant="secondary"]:hover:not(:disabled):not([aria-disabled="true"]), .cinder-fab[data-cinder-variant="surface"]:hover:not(:disabled):not([aria-disabled="true"]) {
5378
5209
  background: var(--cinder-surface-hover);
5379
5210
  }
5380
5211
  }
5381
5212
 
5382
- .cinder-fab[data-cinder-color="primary"]:active:not(:disabled):not([aria-disabled="true"]) {
5213
+ .cinder-fab[data-cinder-variant="primary"]:active:not(:disabled):not([aria-disabled="true"]) {
5383
5214
  background: var(--cinder-accent-active-on-fill);
5384
5215
  }
5385
5216
 
5386
- .cinder-fab[data-cinder-color="secondary"]:active:not(:disabled):not([aria-disabled="true"]), .cinder-fab[data-cinder-color="surface"]:active:not(:disabled):not([aria-disabled="true"]) {
5217
+ .cinder-fab[data-cinder-variant="secondary"]:active:not(:disabled):not([aria-disabled="true"]), .cinder-fab[data-cinder-variant="surface"]:active:not(:disabled):not([aria-disabled="true"]) {
5387
5218
  background: var(--cinder-surface-pressed);
5388
5219
  }
5389
5220
 
@@ -5423,7 +5254,7 @@
5423
5254
  border-radius: var(--cinder-radius-lg);
5424
5255
  background: var(--cinder-file-upload-background);
5425
5256
  padding: var(--cinder-space-4);
5426
- transition: border-color .15s, background-color .15s, box-shadow .15s;
5257
+ transition: border-color var(--cinder-duration-fast) var(--cinder-ease-standard), background-color var(--cinder-duration-fast) var(--cinder-ease-standard), box-shadow var(--cinder-duration-fast) var(--cinder-ease-standard);
5427
5258
  }
5428
5259
 
5429
5260
  .cinder-file-upload__dropzone[data-drag-active] {
@@ -5438,7 +5269,7 @@
5438
5269
  }
5439
5270
 
5440
5271
  .cinder-file-upload__dropzone:focus-within {
5441
- outline: 2px solid #0000;
5272
+ outline: var(--cinder-ring-width) solid transparent;
5442
5273
  box-shadow: var(--_cinder-focus-ring-shadow);
5443
5274
  }
5444
5275
 
@@ -5571,8 +5402,8 @@
5571
5402
  .cinder-file-upload__progress-fill {
5572
5403
  background: var(--cinder-file-upload-progress-fill);
5573
5404
  inline-size: calc(clamp(0, var(--cinder-file-upload-progress, 0), 100) * 1%);
5405
+ transition: inline-size var(--cinder-duration-fast) var(--cinder-ease-standard);
5574
5406
  block-size: 100%;
5575
- transition: inline-size .15s;
5576
5407
  }
5577
5408
 
5578
5409
  .cinder-file-upload__error {
@@ -5613,16 +5444,6 @@
5613
5444
  cursor: not-allowed;
5614
5445
  }
5615
5446
 
5616
- .cinder-form-field__required {
5617
- display: inline-block;
5618
- background-color: var(--cinder-danger);
5619
- border-radius: 50%;
5620
- flex-shrink: 0;
5621
- align-self: center;
5622
- width: 6px;
5623
- height: 6px;
5624
- }
5625
-
5626
5447
  .cinder-form-field__description {
5627
5448
  font-size: var(--cinder-text-xs);
5628
5449
  line-height: var(--cinder-leading-normal);
@@ -6303,8 +6124,10 @@
6303
6124
  display: flex;
6304
6125
  align-items: center;
6305
6126
  gap: var(--cinder-space-2);
6306
- padding: var(--cinder-space-1-5) var(--cinder-space-3);
6127
+ padding-block: var(--cinder-space-1-5);
6307
6128
  min-height: var(--cinder-button-height-md);
6129
+ padding-inline-start: calc(var(--cinder-space-3) + var(--cinder-jse-property-depth, 0) * var(--cinder-space-4));
6130
+ padding-inline-end: var(--cinder-space-3);
6308
6131
  }
6309
6132
 
6310
6133
  .cinder-jse-property-row__trigger {
@@ -6370,6 +6193,7 @@
6370
6193
  padding: var(--cinder-space-3) var(--cinder-space-3) var(--cinder-space-4);
6371
6194
  background: none;
6372
6195
  flex-direction: column;
6196
+ margin-inline-start: calc(var(--cinder-jse-property-depth, 0) * var(--cinder-space-4));
6373
6197
  }
6374
6198
 
6375
6199
  .cinder-jse-property-row__panel > .cinder-jse-property-editor[data-cinder-jse-depth] {
@@ -6489,22 +6313,51 @@
6489
6313
  overflow-wrap: anywhere;
6490
6314
  flex: auto;
6491
6315
  min-inline-size: 0;
6316
+ margin: 0;
6492
6317
  }
6493
6318
 
6494
- .cinder-invocation-rule-builder__rule-controls {
6495
- display: inline-flex;
6496
- gap: var(--cinder-space-1);
6497
- flex-shrink: 0;
6498
- align-items: center;
6319
+ .cinder-invocation-rule-builder__rule-label-field {
6320
+ flex: auto;
6321
+ min-inline-size: 0;
6322
+ }
6323
+
6324
+ .cinder-invocation-rule-builder__rule-label-input {
6325
+ min-block-size: var(--cinder-control-height-sm, 2rem);
6326
+ padding-inline: var(--cinder-space-2);
6327
+ border: 1px solid var(--cinder-border);
6328
+ border-radius: var(--cinder-radius-sm);
6329
+ background: var(--cinder-surface);
6330
+ color: var(--cinder-text);
6331
+ font: inherit;
6332
+ font-size: var(--cinder-text-sm);
6333
+ font-weight: var(--cinder-font-semibold);
6334
+ inline-size: 100%;
6335
+ }
6336
+
6337
+ .cinder-invocation-rule-builder__rule-label-input:focus-visible {
6338
+ outline: var(--cinder-ring-width) solid transparent;
6339
+ box-shadow: var(--_cinder-focus-ring-shadow);
6340
+ }
6341
+
6342
+ @media (forced-colors: active) {
6343
+ .cinder-invocation-rule-builder__rule-label-input:focus-visible {
6344
+ outline: var(--cinder-ring-width) solid ButtonText;
6345
+ }
6346
+ }
6347
+
6348
+ .cinder-invocation-rule-builder__rule-controls {
6349
+ display: inline-flex;
6350
+ gap: var(--cinder-space-1);
6351
+ flex-shrink: 0;
6352
+ align-items: center;
6499
6353
  }
6500
6354
 
6501
6355
  .cinder-invocation-rule-builder__section-heading {
6502
6356
  display: block;
6503
6357
  font-size: var(--cinder-text-xs);
6504
6358
  font-weight: var(--cinder-font-semibold);
6505
- letter-spacing: .05em;
6506
6359
  text-transform: uppercase;
6507
- color: var(--cinder-text-muted);
6360
+ color: var(--cinder-text);
6508
6361
  margin-block-end: var(--cinder-space-2);
6509
6362
  }
6510
6363
 
@@ -6523,7 +6376,6 @@
6523
6376
 
6524
6377
  .cinder-invocation-rule-builder__condition-select {
6525
6378
  block-size: var(--cinder-control-height-sm, 2rem);
6526
- padding-inline: var(--cinder-space-2);
6527
6379
  border: 1px solid var(--cinder-border);
6528
6380
  border-radius: var(--cinder-radius-sm);
6529
6381
  background: var(--cinder-surface);
@@ -6531,8 +6383,14 @@
6531
6383
  font-size: var(--cinder-text-sm);
6532
6384
  cursor: pointer;
6533
6385
  appearance: none;
6386
+ background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);
6387
+ background-position: calc(100% - .85rem), calc(100% - .55rem);
6388
+ background-repeat: no-repeat;
6389
+ background-size: .3rem .3rem, .3rem .3rem;
6534
6390
  flex: 8rem;
6535
6391
  min-inline-size: 6rem;
6392
+ padding-inline-start: var(--cinder-space-2);
6393
+ padding-inline-end: var(--cinder-space-7);
6536
6394
  font-family: inherit;
6537
6395
  }
6538
6396
 
@@ -6585,7 +6443,6 @@
6585
6443
 
6586
6444
  .cinder-invocation-rule-builder__action-select {
6587
6445
  block-size: var(--cinder-control-height-sm, 2rem);
6588
- padding-inline: var(--cinder-space-2);
6589
6446
  border: 1px solid var(--cinder-border);
6590
6447
  border-radius: var(--cinder-radius-sm);
6591
6448
  background: var(--cinder-surface);
@@ -6593,10 +6450,22 @@
6593
6450
  font-size: var(--cinder-text-sm);
6594
6451
  cursor: pointer;
6595
6452
  appearance: none;
6453
+ background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);
6454
+ background-position: calc(100% - .85rem), calc(100% - .55rem);
6455
+ background-repeat: no-repeat;
6456
+ background-size: .3rem .3rem, .3rem .3rem;
6596
6457
  flex: auto;
6458
+ padding-inline-start: var(--cinder-space-2);
6459
+ padding-inline-end: var(--cinder-space-7);
6597
6460
  font-family: inherit;
6598
6461
  }
6599
6462
 
6463
+ .cinder-invocation-rule-builder__validation {
6464
+ margin: 0 0 var(--cinder-space-2);
6465
+ color: var(--cinder-color-warning-fg);
6466
+ font-size: var(--cinder-text-xs);
6467
+ }
6468
+
6600
6469
  .cinder-invocation-rule-builder__action-select:focus-visible {
6601
6470
  outline: var(--cinder-ring-width) solid transparent;
6602
6471
  box-shadow: var(--_cinder-focus-ring-shadow);
@@ -6618,8 +6487,8 @@
6618
6487
  flex-shrink: 0;
6619
6488
  justify-content: center;
6620
6489
  align-items: center;
6621
- block-size: 1.75rem;
6622
- inline-size: 1.75rem;
6490
+ block-size: 2rem;
6491
+ inline-size: 2rem;
6623
6492
  padding: 0;
6624
6493
  font-family: inherit;
6625
6494
  }
@@ -6718,124 +6587,6 @@
6718
6587
  }
6719
6588
  }
6720
6589
 
6721
- /* src/components/json-viewer/json-viewer.css */
6722
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
6723
-
6724
- @layer cinder.components {
6725
- .cinder-json-viewer {
6726
- font-family: var(--cinder-font-mono);
6727
- font-size: var(--cinder-text-sm);
6728
- color: var(--cinder-text);
6729
- background: var(--cinder-surface-inset);
6730
- border: 1px solid var(--cinder-border);
6731
- border-radius: var(--cinder-radius-md);
6732
- padding: var(--cinder-space-3);
6733
- overflow: auto;
6734
- }
6735
-
6736
- .cinder-json-viewer__fallback {
6737
- color: var(--cinder-text-muted);
6738
- font-family: var(--cinder-font-sans);
6739
- text-align: center;
6740
- padding: var(--cinder-space-4);
6741
- }
6742
-
6743
- .cinder-json-viewer__fallback p {
6744
- margin: 0 0 var(--cinder-space-1) 0;
6745
- }
6746
-
6747
- .cinder-json-viewer__node {
6748
- display: inline;
6749
- }
6750
-
6751
- .cinder-json-viewer__key {
6752
- color: var(--cinder-accent-text);
6753
- margin-inline-end: var(--cinder-space-1);
6754
- }
6755
-
6756
- .cinder-json-viewer__toggle {
6757
- appearance: none;
6758
- font: inherit;
6759
- color: inherit;
6760
- cursor: pointer;
6761
- display: inline-flex;
6762
- align-items: center;
6763
- gap: var(--cinder-space-1);
6764
- border-radius: var(--cinder-radius-sm);
6765
- background: none;
6766
- border: none;
6767
- padding: 0;
6768
- }
6769
-
6770
- @media (hover: hover) {
6771
- .cinder-json-viewer__toggle:hover {
6772
- background: var(--cinder-surface-hover);
6773
- }
6774
- }
6775
-
6776
- .cinder-json-viewer__toggle:focus-visible {
6777
- outline: var(--cinder-ring-width) solid transparent;
6778
- box-shadow: var(--_cinder-focus-ring-shadow);
6779
- }
6780
-
6781
- @media (forced-colors: active) {
6782
- .cinder-json-viewer__toggle:focus-visible {
6783
- outline: var(--cinder-ring-width) solid ButtonText;
6784
- outline-offset: 3px;
6785
- }
6786
- }
6787
-
6788
- .cinder-json-viewer__caret {
6789
- display: inline-block;
6790
- border-inline: .25rem solid #0000;
6791
- transition: transform var(--cinder-duration-fast) var(--cinder-ease-standard);
6792
- border-top: .375rem solid;
6793
- width: 0;
6794
- height: 0;
6795
- }
6796
-
6797
- .cinder-json-viewer__caret[data-cinder-collapsed] {
6798
- transform: rotate(-90deg);
6799
- }
6800
-
6801
- .cinder-json-viewer__brace {
6802
- color: var(--cinder-text-muted);
6803
- }
6804
-
6805
- .cinder-json-viewer__summary {
6806
- color: var(--cinder-text-muted);
6807
- font-style: italic;
6808
- }
6809
-
6810
- .cinder-json-viewer__children {
6811
- list-style: none;
6812
- border-inline-start: 1px dashed var(--cinder-border-muted);
6813
- margin: 0;
6814
- padding-inline-start: var(--cinder-space-4);
6815
- }
6816
-
6817
- .cinder-json-viewer__too-deep {
6818
- color: var(--cinder-text-muted);
6819
- }
6820
-
6821
- .cinder-json-viewer__value[data-cinder-type="string"] {
6822
- color: var(--cinder-success);
6823
- }
6824
-
6825
- .cinder-json-viewer__value[data-cinder-type="number"] {
6826
- color: var(--cinder-warning);
6827
- }
6828
-
6829
- .cinder-json-viewer__value[data-cinder-type="boolean"] {
6830
- color: var(--cinder-danger);
6831
- }
6832
-
6833
- .cinder-json-viewer__value[data-cinder-type="null"] {
6834
- color: var(--cinder-text-muted);
6835
- font-style: italic;
6836
- }
6837
- }
6838
-
6839
6590
  /* src/components/capability-gate/capability-gate.css */
6840
6591
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
6841
6592
 
@@ -6885,7 +6636,7 @@
6885
6636
  }
6886
6637
 
6887
6638
  .cinder-capability-gate__feature {
6888
- font-weight: 600;
6639
+ font-weight: var(--cinder-font-semibold);
6889
6640
  font-size: var(--cinder-text-sm);
6890
6641
  }
6891
6642
 
@@ -6910,11 +6661,11 @@
6910
6661
  padding: var(--cinder-space-1) var(--cinder-space-2);
6911
6662
  border-radius: var(--cinder-radius-sm);
6912
6663
  font-size: var(--cinder-text-sm);
6664
+ font-weight: var(--cinder-font-medium);
6913
6665
  cursor: pointer;
6914
6666
  text-decoration: none;
6915
6667
  border: 1px solid #0000;
6916
6668
  align-items: center;
6917
- font-weight: 500;
6918
6669
  }
6919
6670
 
6920
6671
  .cinder-capability-gate__primary {
@@ -6935,6 +6686,14 @@
6935
6686
  box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--cinder-ring-color);
6936
6687
  }
6937
6688
 
6689
+ @media (forced-colors: active) {
6690
+ .cinder-capability-gate__primary:focus-visible, .cinder-capability-gate__fallback:focus-visible, .cinder-capability-gate__dismiss:focus-visible {
6691
+ outline: var(--cinder-ring-width) solid ButtonText;
6692
+ outline-offset: 3px;
6693
+ box-shadow: none;
6694
+ }
6695
+ }
6696
+
6938
6697
  .cinder-capability-gate__fallback {
6939
6698
  color: var(--cinder-text);
6940
6699
  border-color: var(--cinder-border);
@@ -6972,9 +6731,22 @@
6972
6731
  --cinder-kanban-card-background: var(--cinder-surface);
6973
6732
  display: block;
6974
6733
  overflow-x: auto;
6734
+ background: linear-gradient(90deg, var(--cinder-surface) 30%, transparent) left center / 2rem 100% no-repeat local, linear-gradient(270deg, var(--cinder-surface) 30%, transparent) right center / 2rem 100% no-repeat local, linear-gradient(90deg, oklch(0% 0 0 / .12), transparent) left center / 1rem 100% no-repeat scroll, linear-gradient(270deg, oklch(0% 0 0 / .12), transparent) right center / 1rem 100% no-repeat scroll;
6975
6735
  padding-block-end: var(--cinder-space-2);
6976
6736
  }
6977
6737
 
6738
+ .cinder-kanban-board__keyboard-hint {
6739
+ margin: 0 0 var(--cinder-space-2);
6740
+ color: var(--cinder-text-muted);
6741
+ font-size: var(--cinder-text-xs);
6742
+ opacity: 0;
6743
+ transition: opacity var(--cinder-duration-fast) var(--cinder-ease-standard);
6744
+ }
6745
+
6746
+ .cinder-kanban-board:focus-within .cinder-kanban-board__keyboard-hint {
6747
+ opacity: 1;
6748
+ }
6749
+
6978
6750
  .cinder-kanban-board__columns {
6979
6751
  display: grid;
6980
6752
  grid-auto-columns: minmax(var(--cinder-kanban-column-width), 1fr);
@@ -7011,9 +6783,23 @@
7011
6783
  .cinder-kanban-board__column-title {
7012
6784
  overflow-wrap: anywhere;
7013
6785
  font-size: var(--cinder-text-sm);
6786
+ font-weight: var(--cinder-font-semibold);
7014
6787
  color: var(--cinder-text);
7015
6788
  min-inline-size: 0;
7016
- font-weight: 600;
6789
+ }
6790
+
6791
+ .cinder-kanban-board__card-count {
6792
+ display: inline-flex;
6793
+ padding-inline: var(--cinder-space-1-5);
6794
+ border: 1px solid var(--cinder-border-muted);
6795
+ border-radius: var(--cinder-radius-sm);
6796
+ color: var(--cinder-text-muted);
6797
+ font-size: var(--cinder-text-xs);
6798
+ font-weight: var(--cinder-font-medium);
6799
+ white-space: nowrap;
6800
+ align-items: center;
6801
+ min-block-size: 1.25rem;
6802
+ margin-inline-start: var(--cinder-space-2);
7017
6803
  }
7018
6804
 
7019
6805
  .cinder-kanban-board__column-actions {
@@ -7031,16 +6817,28 @@
7031
6817
  cursor: pointer;
7032
6818
  justify-content: center;
7033
6819
  align-items: center;
7034
- block-size: 1.75rem;
7035
- inline-size: 1.75rem;
6820
+ block-size: 2rem;
6821
+ inline-size: 2rem;
7036
6822
  padding: 0;
7037
6823
  }
7038
6824
 
6825
+ .cinder-kanban-board__column-handle svg {
6826
+ fill: currentcolor;
6827
+ }
6828
+
7039
6829
  .cinder-kanban-board__column-handle:focus-visible, .cinder-kanban-board__collapse:focus-visible {
7040
6830
  outline: var(--cinder-ring-width) solid transparent;
7041
6831
  box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--cinder-ring-color);
7042
6832
  }
7043
6833
 
6834
+ @media (forced-colors: active) {
6835
+ .cinder-kanban-board__column-handle:focus-visible, .cinder-kanban-board__collapse:focus-visible {
6836
+ outline: var(--cinder-ring-width) solid ButtonText;
6837
+ outline-offset: 3px;
6838
+ box-shadow: none;
6839
+ }
6840
+ }
6841
+
7044
6842
  @media (hover: hover) {
7045
6843
  .cinder-kanban-board__column-handle:hover, .cinder-kanban-board__collapse:hover {
7046
6844
  background: var(--cinder-surface-hover);
@@ -7213,9 +7011,9 @@
7213
7011
 
7214
7012
  .cinder-keyboard-shortcuts__heading {
7215
7013
  font-size: var(--cinder-text-lg);
7014
+ font-weight: var(--cinder-font-semibold);
7216
7015
  color: var(--cinder-text);
7217
7016
  margin: 0;
7218
- font-weight: 600;
7219
7017
  }
7220
7018
 
7221
7019
  .cinder-keyboard-shortcuts__intro {
@@ -7231,11 +7029,11 @@
7231
7029
 
7232
7030
  .cinder-keyboard-shortcuts__group-label {
7233
7031
  font-size: var(--cinder-text-xs);
7032
+ font-weight: var(--cinder-font-semibold);
7234
7033
  text-transform: uppercase;
7235
7034
  letter-spacing: .05em;
7236
7035
  color: var(--cinder-text-muted);
7237
7036
  margin: 0;
7238
- font-weight: 600;
7239
7037
  }
7240
7038
 
7241
7039
  .cinder-keyboard-shortcuts__list {
@@ -7306,109 +7104,28 @@
7306
7104
  color: var(--cinder-text-disabled);
7307
7105
  cursor: not-allowed;
7308
7106
  }
7309
-
7310
- .cinder-label__required {
7311
- display: inline-block;
7312
- background-color: var(--cinder-danger);
7313
- border-radius: 50%;
7314
- flex-shrink: 0;
7315
- align-self: center;
7316
- width: 6px;
7317
- height: 6px;
7318
- }
7319
7107
  }
7320
7108
 
7321
- /* src/components/link/link.css */
7109
+ /* src/components/line-chart/line-chart.css */
7322
7110
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
7323
7111
 
7324
7112
  @layer cinder.components {
7325
- .cinder-link {
7326
- color: var(--cinder-accent-text);
7327
- cursor: pointer;
7328
- font-family: inherit;
7329
- font-size: inherit;
7330
- font-weight: inherit;
7331
- line-height: inherit;
7332
- text-decoration: underline;
7333
- text-underline-offset: .15em;
7334
- transition: color var(--cinder-duration-fast) var(--cinder-ease-standard);
7335
- }
7336
-
7337
- .cinder-link[data-color="primary"] {
7338
- color: var(--cinder-accent-text);
7339
- }
7340
-
7341
- .cinder-link[data-color="inherit"] {
7342
- color: inherit;
7113
+ .cinder-line-chart {
7114
+ display: grid;
7115
+ gap: var(--cinder-space-3);
7116
+ color: var(--cinder-text);
7343
7117
  }
7344
7118
 
7345
- .cinder-link[data-underline="always"] {
7346
- text-decoration: underline;
7119
+ .cinder-line-chart__description {
7120
+ color: var(--cinder-text-muted);
7121
+ font-size: var(--cinder-text-sm);
7122
+ margin: 0;
7347
7123
  }
7348
7124
 
7349
- .cinder-link[data-underline="none"], .cinder-link[data-underline="hover"] {
7350
- text-decoration: none;
7351
- }
7352
-
7353
- @media (hover: hover) {
7354
- .cinder-link[data-underline="hover"]:hover:not([data-disabled]) {
7355
- text-decoration: underline;
7356
- }
7357
-
7358
- .cinder-link[data-underline="none"]:hover:not([data-disabled]) {
7359
- text-decoration: none;
7360
- }
7361
-
7362
- .cinder-link[data-color="primary"]:hover:not([data-disabled]) {
7363
- color: var(--cinder-accent-text-hover);
7364
- }
7365
- }
7366
-
7367
- .cinder-link:focus-visible {
7368
- outline: var(--cinder-ring-width) solid transparent;
7369
- box-shadow: var(--_cinder-focus-ring-shadow);
7370
- border-radius: 2px;
7371
- }
7372
-
7373
- .cinder-link[data-underline="hover"]:focus-visible:not([data-disabled]), .cinder-link[data-underline="none"]:focus-visible:not([data-disabled]) {
7374
- text-decoration: underline;
7375
- }
7376
-
7377
- @media (forced-colors: active) {
7378
- .cinder-link:focus-visible {
7379
- outline: var(--cinder-ring-width) solid LinkText;
7380
- outline-offset: 3px;
7381
- }
7382
- }
7383
-
7384
- .cinder-link[data-disabled] {
7385
- color: var(--cinder-text-disabled);
7386
- cursor: not-allowed;
7387
- pointer-events: none;
7388
- opacity: .6;
7389
- }
7390
- }
7391
-
7392
- /* src/components/line-chart/line-chart.css */
7393
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
7394
-
7395
- @layer cinder.components {
7396
- .cinder-line-chart {
7397
- display: grid;
7398
- gap: var(--cinder-space-3);
7399
- color: var(--cinder-text);
7400
- }
7401
-
7402
- .cinder-line-chart__description {
7403
- color: var(--cinder-text-muted);
7404
- font-size: var(--cinder-text-sm);
7405
- margin: 0;
7406
- }
7407
-
7408
- .cinder-line-chart__legend {
7409
- display: flex;
7410
- gap: var(--cinder-space-2);
7411
- flex-wrap: wrap;
7125
+ .cinder-line-chart__legend {
7126
+ display: flex;
7127
+ gap: var(--cinder-space-2);
7128
+ flex-wrap: wrap;
7412
7129
  }
7413
7130
 
7414
7131
  .cinder-line-chart__legend button {
@@ -7602,9 +7319,17 @@
7602
7319
  }
7603
7320
 
7604
7321
  .cinder-load-more__button:focus-visible {
7605
- outline: 2px solid #0000;
7606
- outline-offset: 2px;
7607
- box-shadow: 0 0 0 2px var(--cinder-ring-offset-color), 0 0 0 4px var(--cinder-ring-color);
7322
+ outline: var(--cinder-ring-width) solid transparent;
7323
+ outline-offset: var(--cinder-ring-offset);
7324
+ box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--cinder-ring-color);
7325
+ }
7326
+
7327
+ @media (forced-colors: active) {
7328
+ .cinder-load-more__button:focus-visible {
7329
+ outline: 2px solid buttontext;
7330
+ outline-offset: 3px;
7331
+ box-shadow: none;
7332
+ }
7608
7333
  }
7609
7334
 
7610
7335
  .cinder-load-more__button:disabled {
@@ -7622,7 +7347,7 @@
7622
7347
 
7623
7348
  @media (prefers-reduced-motion: no-preference) {
7624
7349
  .cinder-load-more__spinner {
7625
- animation: cinder-load-more-spin .8s linear infinite;
7350
+ animation: cinder-load-more-spin var(--cinder-duration-spin) linear infinite;
7626
7351
  }
7627
7352
  }
7628
7353
 
@@ -7655,10 +7380,10 @@
7655
7380
  color: var(--cinder-text);
7656
7381
  cursor: pointer;
7657
7382
  font-size: var(--cinder-text-sm);
7383
+ font-weight: var(--cinder-font-medium);
7384
+ transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard), border-color var(--cinder-duration-fast) var(--cinder-ease-standard);
7658
7385
  min-width: 2rem;
7659
7386
  min-height: 2rem;
7660
- transition: background-color .15s, border-color .15s;
7661
- font-weight: 500;
7662
7387
  line-height: 1;
7663
7388
  }
7664
7389
 
@@ -7674,6 +7399,14 @@
7674
7399
  box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--cinder-ring-color);
7675
7400
  }
7676
7401
 
7402
+ @media (forced-colors: active) {
7403
+ .cinder-media-controls__button:focus-visible {
7404
+ outline: var(--cinder-ring-width) solid ButtonText;
7405
+ outline-offset: 3px;
7406
+ box-shadow: none;
7407
+ }
7408
+ }
7409
+
7677
7410
  .cinder-media-controls__button:disabled {
7678
7411
  cursor: not-allowed;
7679
7412
  opacity: .5;
@@ -7738,8 +7471,8 @@
7738
7471
  .cinder-media-controls__progress-fill {
7739
7472
  border-radius: var(--cinder-radius-full, 9999px);
7740
7473
  background-color: var(--cinder-accent);
7474
+ transition: width var(--cinder-duration-fast) var(--cinder-ease-standard);
7741
7475
  height: 100%;
7742
- transition: width .1s;
7743
7476
  }
7744
7477
  }
7745
7478
 
@@ -7814,7 +7547,7 @@
7814
7547
  border-radius: var(--cinder-radius-md);
7815
7548
  background: var(--cinder-surface-raised);
7816
7549
  color: var(--cinder-text);
7817
- box-shadow: var(--cinder-shadow-lg);
7550
+ box-shadow: var(--cinder-shadow-overlay);
7818
7551
  }
7819
7552
 
7820
7553
  .cinder-dropdown__menu {
@@ -7946,10 +7679,16 @@
7946
7679
  position: fixed;
7947
7680
  inset: auto;
7948
7681
  top: calc(anchor(bottom) + var(--cinder-space-1));
7682
+ left: auto;
7949
7683
  right: anchor(right);
7950
7684
  position-try-fallbacks: flip-block, flip-inline;
7951
7685
  }
7952
7686
 
7687
+ .cinder-dropdown-menu[popover][dir="rtl"] {
7688
+ right: auto;
7689
+ left: anchor(left);
7690
+ }
7691
+
7953
7692
  .cinder-dropdown__menu[popover] {
7954
7693
  position: fixed;
7955
7694
  margin: 0;
@@ -8052,6 +7791,14 @@
8052
7791
  box-shadow: var(--_cinder-focus-ring-shadow);
8053
7792
  }
8054
7793
 
7794
+ @media (forced-colors: active) {
7795
+ .cinder-menu-bar__trigger:focus-visible {
7796
+ outline: var(--cinder-ring-width) solid ButtonText;
7797
+ outline-offset: 3px;
7798
+ box-shadow: none;
7799
+ }
7800
+ }
7801
+
8055
7802
  .cinder-menu-bar__access-key {
8056
7803
  text-decoration: underline;
8057
7804
  text-underline-offset: .125em;
@@ -8760,156 +8507,541 @@
8760
8507
  }
8761
8508
  }
8762
8509
 
8763
- /* src/components/payload-inspector/payload-inspector.css */
8510
+ /* src/components/code-block/code-block.css */
8764
8511
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
8765
8512
 
8766
8513
  @layer cinder.components {
8767
- .cinder-payload-inspector {
8768
- display: flex;
8769
- gap: var(--cinder-space-0);
8770
- border: 1px solid var(--cinder-border-muted);
8514
+ .cinder-code-block {
8515
+ --_cinder-code-block-code-surface: light-dark(var(--cinder-surface-raised), var(--cinder-surface-inset));
8516
+ background: var(--cinder-surface-inset);
8517
+ border: 1px solid var(--cinder-border);
8771
8518
  border-radius: var(--cinder-radius-md);
8772
8519
  overflow: hidden;
8773
- background: var(--cinder-surface);
8774
- font-size: var(--cinder-text-sm);
8775
- flex-direction: column;
8776
8520
  }
8777
8521
 
8778
- .cinder-payload-inspector__header {
8522
+ .cinder-code-block__header {
8779
8523
  display: flex;
8780
8524
  justify-content: space-between;
8781
8525
  align-items: center;
8782
8526
  gap: var(--cinder-space-2);
8783
- padding: var(--cinder-space-2) var(--cinder-space-3);
8784
- background: var(--cinder-surface-raised);
8527
+ padding: var(--cinder-space-1-5) var(--cinder-space-3);
8785
8528
  border-bottom: 1px solid var(--cinder-border-muted);
8786
- flex-wrap: wrap;
8529
+ background: var(--cinder-surface-inset);
8530
+ min-height: 2rem;
8787
8531
  }
8788
8532
 
8789
- .cinder-payload-inspector__label {
8533
+ .cinder-code-block__language {
8790
8534
  font-size: var(--cinder-text-xs);
8791
- font-weight: var(--cinder-font-medium);
8535
+ font-family: var(--cinder-font-mono);
8792
8536
  color: var(--cinder-text-muted);
8793
8537
  text-transform: uppercase;
8794
- letter-spacing: .04em;
8795
- }
8796
-
8797
- .cinder-payload-inspector__header-actions {
8798
- display: flex;
8799
- align-items: center;
8800
- gap: var(--cinder-space-2);
8801
- flex-wrap: wrap;
8802
- }
8803
-
8804
- .cinder-payload-inspector__size {
8805
- font-size: var(--cinder-text-xs);
8806
- color: var(--cinder-text-muted);
8807
- font-variant-numeric: tabular-nums;
8538
+ letter-spacing: var(--cinder-tracking-wide);
8808
8539
  }
8809
8540
 
8810
- .cinder-payload-inspector__tabs {
8811
- display: flex;
8812
- flex-direction: column;
8813
- flex: 1;
8814
- min-block-size: 0;
8541
+ .cinder-code-block__viewport {
8542
+ display: block;
8543
+ overflow-x: auto;
8544
+ background: var(--_cinder-code-block-code-surface);
8815
8545
  }
8816
8546
 
8817
- .cinder-payload-inspector__panel {
8547
+ .cinder-code-block__pre, .cinder-code-block :where(pre.shiki) {
8818
8548
  padding: var(--cinder-space-4);
8819
- overflow: auto;
8549
+ overflow-x: clip;
8550
+ font-family: var(--cinder-font-mono);
8551
+ font-size: var(--cinder-text-sm);
8552
+ line-height: var(--cinder-leading-relaxed);
8553
+ color: var(--cinder-text);
8554
+ background: var(--_cinder-code-block-code-surface);
8555
+ width: max-content;
8556
+ min-width: 100%;
8557
+ margin: 0;
8820
8558
  }
8821
8559
 
8822
- .cinder-payload-inspector__panel--code {
8823
- padding: var(--cinder-space-0);
8560
+ .cinder-code-block :where(pre.shiki) {
8561
+ padding: var(--cinder-space-4) !important;
8562
+ background: var(--_cinder-code-block-code-surface) !important;
8563
+ margin: 0 !important;
8824
8564
  }
8825
8565
 
8826
- .cinder-payload-inspector__raw {
8827
- border-radius: 0;
8566
+ .cinder-code-block__code, .cinder-code-block :where(pre.shiki code) {
8567
+ font-family: inherit;
8568
+ font-size: inherit;
8569
+ line-height: inherit;
8570
+ background: none !important;
8828
8571
  }
8829
8572
 
8830
- .cinder-payload-inspector__summary {
8831
- display: flex;
8832
- gap: var(--cinder-space-4);
8833
- flex-direction: column;
8573
+ .cinder-code-block :where(pre.shiki code .line, pre.shiki code span) {
8574
+ background: none !important;
8834
8575
  }
8835
8576
 
8836
- .cinder-payload-inspector__summary-badges {
8837
- display: flex;
8838
- align-items: center;
8839
- gap: var(--cinder-space-2);
8840
- flex-wrap: wrap;
8577
+ [data-cinder-theme="dark"] .cinder-code-block :where(pre.shiki) span {
8578
+ color: var(--shiki-dark, inherit) !important;
8841
8579
  }
8842
8580
 
8843
- .cinder-payload-inspector__summary-value {
8844
- display: flex;
8845
- gap: var(--cinder-space-2);
8846
- flex-direction: column;
8581
+ @media (prefers-color-scheme: dark) {
8582
+ [data-cinder-theme="system"] .cinder-code-block :where(pre.shiki) span {
8583
+ color: var(--shiki-dark, inherit) !important;
8584
+ }
8847
8585
  }
8848
8586
 
8849
- .cinder-payload-inspector__summary-value-label {
8850
- font-size: var(--cinder-text-xs);
8851
- font-weight: var(--cinder-font-medium);
8587
+ .cinder-code-block .cinder-code-block__header .cinder-copy-button {
8588
+ display: inline-flex;
8589
+ border-radius: var(--cinder-radius-sm);
8590
+ background: var(--cinder-surface-raised);
8591
+ padding: var(--cinder-space-1);
8852
8592
  color: var(--cinder-text-muted);
8853
- text-transform: uppercase;
8854
- letter-spacing: .04em;
8593
+ transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard), color var(--cinder-duration-fast) var(--cinder-ease-standard);
8594
+ border: 1px solid #0000;
8595
+ justify-content: center;
8596
+ align-items: center;
8597
+ min-block-size: 2rem;
8598
+ inline-size: 2rem;
8855
8599
  }
8856
8600
 
8857
- .cinder-payload-inspector__primitive {
8858
- font-family: var(--cinder-font-mono);
8859
- font-size: var(--cinder-text-sm);
8860
- color: var(--cinder-text);
8861
- background: var(--cinder-surface-raised);
8862
- padding: var(--cinder-space-2) var(--cinder-space-3);
8863
- border-radius: var(--cinder-radius-sm);
8864
- border: 1px solid var(--cinder-border-muted);
8865
- word-break: break-all;
8601
+ .cinder-code-block .cinder-code-block__header .cinder-copy-button:focus-visible {
8602
+ outline: var(--cinder-ring-width) solid transparent;
8603
+ box-shadow: inset 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
8866
8604
  }
8867
8605
 
8868
- .cinder-payload-inspector__notice {
8869
- display: flex;
8870
- align-items: flex-start;
8871
- gap: var(--cinder-space-2);
8872
- padding: var(--cinder-space-3);
8873
- background: var(--cinder-surface-raised);
8874
- border-radius: var(--cinder-radius-sm);
8875
- border: 1px solid var(--cinder-border-muted);
8876
- color: var(--cinder-text-muted);
8877
- font-size: var(--cinder-text-sm);
8606
+ @media (forced-colors: active) {
8607
+ .cinder-code-block .cinder-code-block__header .cinder-copy-button:focus-visible {
8608
+ outline: var(--cinder-ring-width) solid ButtonText;
8609
+ outline-offset: 3px;
8610
+ box-shadow: none;
8611
+ }
8878
8612
  }
8879
8613
 
8880
- .cinder-payload-inspector__notice--warning {
8881
- background: var(--cinder-color-warning-bg);
8882
- border-color: var(--cinder-color-warning-border);
8883
- color: var(--cinder-color-warning-fg);
8614
+ @media (hover: hover) {
8615
+ .cinder-code-block .cinder-code-block__header .cinder-copy-button:hover {
8616
+ background: var(--cinder-surface-hover);
8617
+ color: var(--cinder-text);
8618
+ border-color: #0000;
8619
+ }
8884
8620
  }
8885
8621
 
8886
- .cinder-payload-inspector__empty {
8887
- display: flex;
8888
- padding: var(--cinder-space-8) var(--cinder-space-4);
8889
- color: var(--cinder-text-disabled);
8890
- font-size: var(--cinder-text-sm);
8891
- justify-content: center;
8892
- align-items: center;
8893
- font-style: italic;
8622
+ .cinder-code-block__highlighted {
8623
+ display: block;
8894
8624
  }
8895
8625
 
8896
- .cinder-payload-inspector:focus-visible {
8626
+ .cinder-code-block__viewport:focus-visible {
8897
8627
  outline: var(--cinder-ring-width) solid transparent;
8898
- box-shadow: var(--_cinder-focus-ring-shadow);
8628
+ box-shadow: inset 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
8899
8629
  }
8900
8630
 
8901
8631
  @media (forced-colors: active) {
8902
- .cinder-payload-inspector:focus-visible {
8632
+ .cinder-code-block__viewport:focus-visible {
8903
8633
  outline: var(--cinder-ring-width) solid ButtonText;
8634
+ outline-offset: calc(var(--cinder-ring-width) * -1);
8635
+ box-shadow: none;
8904
8636
  }
8905
8637
  }
8906
8638
  }
8907
8639
 
8908
- /* src/components/permission-matrix/permission-matrix.css */
8640
+ /* src/components/copy-button/copy-button.css */
8909
8641
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
8910
8642
 
8911
8643
  @layer cinder.components {
8912
- .cinder-permission-matrix {
8644
+ .cinder-copy-button {
8645
+ appearance: none;
8646
+ display: inline-flex;
8647
+ align-items: center;
8648
+ gap: var(--cinder-space-1);
8649
+ padding: var(--cinder-space-1) var(--cinder-space-2);
8650
+ font-size: var(--cinder-text-xs);
8651
+ font-family: inherit;
8652
+ font-weight: var(--cinder-font-medium);
8653
+ color: var(--cinder-text-muted);
8654
+ border: 1px solid var(--cinder-border);
8655
+ border-radius: var(--cinder-radius-sm);
8656
+ cursor: pointer;
8657
+ transition: color var(--cinder-duration-fast) var(--cinder-ease-standard), background var(--cinder-duration-fast) var(--cinder-ease-standard), border-color var(--cinder-duration-fast) var(--cinder-ease-standard);
8658
+ background: none;
8659
+ }
8660
+
8661
+ @media (hover: hover) {
8662
+ .cinder-copy-button:hover {
8663
+ color: var(--cinder-text);
8664
+ background: var(--cinder-surface-hover);
8665
+ border-color: var(--cinder-border-strong);
8666
+ }
8667
+ }
8668
+
8669
+ .cinder-copy-button:focus-visible {
8670
+ outline: var(--cinder-ring-width) solid transparent;
8671
+ box-shadow: var(--_cinder-focus-ring-shadow);
8672
+ }
8673
+
8674
+ @media (forced-colors: active) {
8675
+ .cinder-copy-button:focus-visible {
8676
+ outline: var(--cinder-ring-width) solid ButtonText;
8677
+ outline-offset: 2px;
8678
+ }
8679
+ }
8680
+
8681
+ .cinder-copy-button[data-cinder-copied] {
8682
+ color: var(--cinder-success);
8683
+ border-color: var(--cinder-success);
8684
+ }
8685
+ }
8686
+
8687
+ /* src/components/description-list/description-list.css */
8688
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
8689
+
8690
+ @layer cinder.components {
8691
+ .cinder-description-list {
8692
+ display: flex;
8693
+ flex-direction: column;
8694
+ margin: 0;
8695
+ }
8696
+
8697
+ .cinder-description-list dt, .cinder-description-list dd {
8698
+ margin: 0;
8699
+ }
8700
+
8701
+ .cinder-description-list__row {
8702
+ display: flex;
8703
+ gap: var(--cinder-space-1);
8704
+ padding: var(--cinder-space-2) var(--cinder-space-3);
8705
+ flex-direction: column;
8706
+ }
8707
+
8708
+ .cinder-description-list[data-cinder-variant="default"] .cinder-description-list__row:not(:first-child) {
8709
+ border-block-start: 1px solid var(--cinder-border-muted);
8710
+ }
8711
+
8712
+ .cinder-description-list dd {
8713
+ display: flex;
8714
+ align-items: baseline;
8715
+ gap: var(--cinder-space-2);
8716
+ flex-wrap: wrap;
8717
+ }
8718
+
8719
+ .cinder-description-list__definition {
8720
+ flex: auto;
8721
+ min-width: 0;
8722
+ }
8723
+
8724
+ .cinder-description-list__actions {
8725
+ display: inline-flex;
8726
+ align-items: center;
8727
+ gap: var(--cinder-space-1);
8728
+ flex: none;
8729
+ }
8730
+
8731
+ .cinder-description-list[data-cinder-variant="striped"] .cinder-description-list__row:nth-child(odd) {
8732
+ background: var(--cinder-surface-inset);
8733
+ }
8734
+
8735
+ .cinder-description-list[data-cinder-variant="two-column"] {
8736
+ container-type: inline-size;
8737
+ }
8738
+
8739
+ .cinder-description-list[data-cinder-variant="two-column"] .cinder-description-list__row {
8740
+ display: grid;
8741
+ grid-template-columns: minmax(8rem, 1fr) 3fr;
8742
+ align-items: baseline;
8743
+ gap: var(--cinder-space-3);
8744
+ }
8745
+
8746
+ @supports (grid-template-columns: subgrid) {
8747
+ .cinder-description-list[data-cinder-variant="two-column"] {
8748
+ display: grid;
8749
+ grid-template-columns: minmax(8rem, 1fr) 3fr;
8750
+ }
8751
+
8752
+ .cinder-description-list[data-cinder-variant="two-column"] .cinder-description-list__row {
8753
+ grid-template-columns: subgrid;
8754
+ grid-column: 1 / -1;
8755
+ }
8756
+ }
8757
+
8758
+ @container (width <= 28rem) {
8759
+ .cinder-description-list[data-cinder-variant="two-column"] .cinder-description-list__row {
8760
+ grid-template-columns: 1fr;
8761
+ }
8762
+ }
8763
+
8764
+ .cinder-description-list[data-cinder-variant="narrow"] .cinder-description-list__row {
8765
+ align-items: baseline;
8766
+ gap: var(--cinder-space-2);
8767
+ flex-direction: row;
8768
+ }
8769
+ }
8770
+
8771
+ /* src/components/json-viewer/json-viewer.css */
8772
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
8773
+
8774
+ @layer cinder.components {
8775
+ .cinder-json-viewer {
8776
+ font-family: var(--cinder-font-mono);
8777
+ font-size: var(--cinder-text-sm);
8778
+ color: var(--cinder-text);
8779
+ background: var(--cinder-surface-inset);
8780
+ border: 1px solid var(--cinder-border);
8781
+ border-radius: var(--cinder-radius-md);
8782
+ padding: var(--cinder-space-3);
8783
+ overflow: auto;
8784
+ }
8785
+
8786
+ .cinder-json-viewer__fallback {
8787
+ color: var(--cinder-text-muted);
8788
+ font-family: var(--cinder-font-sans);
8789
+ text-align: center;
8790
+ padding: var(--cinder-space-4);
8791
+ }
8792
+
8793
+ .cinder-json-viewer__fallback p {
8794
+ margin: 0 0 var(--cinder-space-1) 0;
8795
+ }
8796
+
8797
+ .cinder-json-viewer__node {
8798
+ display: inline;
8799
+ }
8800
+
8801
+ .cinder-json-viewer__key {
8802
+ color: var(--cinder-accent-text);
8803
+ margin-inline-end: var(--cinder-space-1);
8804
+ }
8805
+
8806
+ .cinder-json-viewer__toggle {
8807
+ appearance: none;
8808
+ font: inherit;
8809
+ color: inherit;
8810
+ cursor: pointer;
8811
+ display: inline-flex;
8812
+ align-items: center;
8813
+ gap: var(--cinder-space-1);
8814
+ border-radius: var(--cinder-radius-sm);
8815
+ background: none;
8816
+ border: none;
8817
+ padding: 0;
8818
+ }
8819
+
8820
+ @media (hover: hover) {
8821
+ .cinder-json-viewer__toggle:hover {
8822
+ background: var(--cinder-surface-hover);
8823
+ }
8824
+ }
8825
+
8826
+ .cinder-json-viewer__toggle:focus-visible {
8827
+ outline: var(--cinder-ring-width) solid transparent;
8828
+ box-shadow: var(--_cinder-focus-ring-shadow);
8829
+ }
8830
+
8831
+ .cinder-json-viewer__node[role="treeitem"]:focus-visible {
8832
+ outline: var(--cinder-ring-width) solid transparent;
8833
+ border-radius: var(--cinder-radius-sm);
8834
+ box-shadow: var(--_cinder-focus-ring-shadow);
8835
+ }
8836
+
8837
+ @media (forced-colors: active) {
8838
+ .cinder-json-viewer__toggle:focus-visible, .cinder-json-viewer__node[role="treeitem"]:focus-visible {
8839
+ outline: var(--cinder-ring-width) solid ButtonText;
8840
+ outline-offset: 3px;
8841
+ }
8842
+ }
8843
+
8844
+ .cinder-json-viewer__caret {
8845
+ display: inline-block;
8846
+ border-inline: .25rem solid #0000;
8847
+ transition: transform var(--cinder-duration-fast) var(--cinder-ease-standard);
8848
+ border-top: .375rem solid;
8849
+ width: 0;
8850
+ height: 0;
8851
+ }
8852
+
8853
+ .cinder-json-viewer__caret[data-cinder-collapsed] {
8854
+ transform: rotate(-90deg);
8855
+ }
8856
+
8857
+ .cinder-json-viewer__brace {
8858
+ color: var(--cinder-text-muted);
8859
+ }
8860
+
8861
+ .cinder-json-viewer__summary {
8862
+ color: var(--cinder-text-muted);
8863
+ font-style: italic;
8864
+ }
8865
+
8866
+ .cinder-json-viewer__children {
8867
+ list-style: none;
8868
+ border-inline-start: 1px dashed var(--cinder-border-muted);
8869
+ margin: 0;
8870
+ padding-inline-start: var(--cinder-space-4);
8871
+ }
8872
+
8873
+ .cinder-json-viewer__too-deep {
8874
+ color: var(--cinder-text-muted);
8875
+ }
8876
+
8877
+ .cinder-json-viewer__value[data-cinder-type="string"] {
8878
+ color: var(--cinder-success);
8879
+ }
8880
+
8881
+ .cinder-json-viewer__value[data-cinder-type="number"] {
8882
+ color: var(--cinder-warning);
8883
+ }
8884
+
8885
+ .cinder-json-viewer__value[data-cinder-type="boolean"] {
8886
+ color: var(--cinder-danger);
8887
+ }
8888
+
8889
+ .cinder-json-viewer__value[data-cinder-type="null"] {
8890
+ color: var(--cinder-text-muted);
8891
+ font-style: italic;
8892
+ }
8893
+ }
8894
+
8895
+ /* src/components/payload-inspector/payload-inspector.css */
8896
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
8897
+
8898
+ @layer cinder.components {
8899
+ .cinder-payload-inspector {
8900
+ display: flex;
8901
+ gap: var(--cinder-space-0);
8902
+ border: 1px solid var(--cinder-border-muted);
8903
+ border-radius: var(--cinder-radius-md);
8904
+ overflow: hidden;
8905
+ background: var(--cinder-surface);
8906
+ font-size: var(--cinder-text-sm);
8907
+ flex-direction: column;
8908
+ }
8909
+
8910
+ .cinder-payload-inspector__header {
8911
+ display: flex;
8912
+ justify-content: space-between;
8913
+ align-items: center;
8914
+ gap: var(--cinder-space-2);
8915
+ padding: var(--cinder-space-2) var(--cinder-space-3);
8916
+ background: var(--cinder-surface-raised);
8917
+ border-bottom: 1px solid var(--cinder-border-muted);
8918
+ flex-wrap: wrap;
8919
+ }
8920
+
8921
+ .cinder-payload-inspector__label {
8922
+ font-size: var(--cinder-text-xs);
8923
+ font-weight: var(--cinder-font-medium);
8924
+ color: var(--cinder-text-muted);
8925
+ text-transform: uppercase;
8926
+ letter-spacing: .04em;
8927
+ }
8928
+
8929
+ .cinder-payload-inspector__header-actions {
8930
+ display: flex;
8931
+ align-items: center;
8932
+ gap: var(--cinder-space-2);
8933
+ flex-wrap: wrap;
8934
+ }
8935
+
8936
+ .cinder-payload-inspector__size {
8937
+ font-size: var(--cinder-text-xs);
8938
+ color: var(--cinder-text-muted);
8939
+ font-variant-numeric: tabular-nums;
8940
+ }
8941
+
8942
+ .cinder-payload-inspector__tabs {
8943
+ display: flex;
8944
+ flex-direction: column;
8945
+ flex: 1;
8946
+ min-block-size: 0;
8947
+ }
8948
+
8949
+ .cinder-payload-inspector__panel {
8950
+ padding: var(--cinder-space-4);
8951
+ overflow: auto;
8952
+ }
8953
+
8954
+ .cinder-payload-inspector__panel--code {
8955
+ padding: var(--cinder-space-0);
8956
+ }
8957
+
8958
+ .cinder-payload-inspector__raw {
8959
+ border-radius: 0;
8960
+ }
8961
+
8962
+ .cinder-payload-inspector__summary {
8963
+ display: flex;
8964
+ gap: var(--cinder-space-4);
8965
+ flex-direction: column;
8966
+ }
8967
+
8968
+ .cinder-payload-inspector__summary-badges {
8969
+ display: flex;
8970
+ align-items: center;
8971
+ gap: var(--cinder-space-2);
8972
+ flex-wrap: wrap;
8973
+ }
8974
+
8975
+ .cinder-payload-inspector__summary-value {
8976
+ display: flex;
8977
+ gap: var(--cinder-space-2);
8978
+ flex-direction: column;
8979
+ }
8980
+
8981
+ .cinder-payload-inspector__summary-value-label {
8982
+ font-size: var(--cinder-text-xs);
8983
+ font-weight: var(--cinder-font-medium);
8984
+ color: var(--cinder-text-muted);
8985
+ text-transform: uppercase;
8986
+ letter-spacing: .04em;
8987
+ }
8988
+
8989
+ .cinder-payload-inspector__primitive {
8990
+ font-family: var(--cinder-font-mono);
8991
+ font-size: var(--cinder-text-sm);
8992
+ color: var(--cinder-text);
8993
+ background: var(--cinder-surface-raised);
8994
+ padding: var(--cinder-space-2) var(--cinder-space-3);
8995
+ border-radius: var(--cinder-radius-sm);
8996
+ border: 1px solid var(--cinder-border-muted);
8997
+ word-break: break-all;
8998
+ }
8999
+
9000
+ .cinder-payload-inspector__notice {
9001
+ display: flex;
9002
+ align-items: flex-start;
9003
+ gap: var(--cinder-space-2);
9004
+ padding: var(--cinder-space-3);
9005
+ background: var(--cinder-surface-raised);
9006
+ border-radius: var(--cinder-radius-sm);
9007
+ border: 1px solid var(--cinder-border-muted);
9008
+ color: var(--cinder-text-muted);
9009
+ font-size: var(--cinder-text-sm);
9010
+ }
9011
+
9012
+ .cinder-payload-inspector__notice--warning {
9013
+ background: var(--cinder-color-warning-bg);
9014
+ border-color: var(--cinder-color-warning-border);
9015
+ color: var(--cinder-color-warning-fg);
9016
+ }
9017
+
9018
+ .cinder-payload-inspector__empty {
9019
+ display: flex;
9020
+ padding: var(--cinder-space-8) var(--cinder-space-4);
9021
+ color: var(--cinder-text-disabled);
9022
+ font-size: var(--cinder-text-sm);
9023
+ justify-content: center;
9024
+ align-items: center;
9025
+ font-style: italic;
9026
+ }
9027
+
9028
+ .cinder-payload-inspector:focus-visible {
9029
+ outline: var(--cinder-ring-width) solid transparent;
9030
+ box-shadow: var(--_cinder-focus-ring-shadow);
9031
+ }
9032
+
9033
+ @media (forced-colors: active) {
9034
+ .cinder-payload-inspector:focus-visible {
9035
+ outline: var(--cinder-ring-width) solid ButtonText;
9036
+ }
9037
+ }
9038
+ }
9039
+
9040
+ /* src/components/permission-matrix/permission-matrix.css */
9041
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
9042
+
9043
+ @layer cinder.components {
9044
+ .cinder-permission-matrix {
8913
9045
  display: grid;
8914
9046
  gap: var(--cinder-space-3);
8915
9047
  color: var(--cinder-text);
@@ -9025,6 +9157,14 @@
9025
9157
  z-index: 1;
9026
9158
  }
9027
9159
 
9160
+ @media (forced-colors: active) {
9161
+ button.cinder-permission-matrix__cell-control:focus-visible {
9162
+ outline: var(--cinder-ring-width) solid ButtonText;
9163
+ outline-offset: 2px;
9164
+ box-shadow: none;
9165
+ }
9166
+ }
9167
+
9028
9168
  @media (hover: hover) {
9029
9169
  button.cinder-permission-matrix__cell-control:hover {
9030
9170
  background: var(--cinder-surface-hover);
@@ -9513,514 +9653,755 @@
9513
9653
  font-style: italic;
9514
9654
  }
9515
9655
 
9516
- .cinder-pricing-card__footer {
9517
- padding: var(--cinder-space-3) var(--cinder-space-4) var(--cinder-space-4);
9518
- border-top: 1px solid var(--cinder-border-muted);
9519
- }
9656
+ .cinder-pricing-card__footer {
9657
+ padding: var(--cinder-space-3) var(--cinder-space-4) var(--cinder-space-4);
9658
+ border-top: 1px solid var(--cinder-border-muted);
9659
+ }
9660
+
9661
+ @container cinder-pricing-card (width <= 16rem) {
9662
+ .cinder-pricing-card__price {
9663
+ font-size: var(--cinder-text-2xl);
9664
+ }
9665
+ }
9666
+ }
9667
+
9668
+ /* src/components/radio-group/radio-group.css */
9669
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
9670
+
9671
+ @layer cinder.components {
9672
+ .cinder-radio-group {
9673
+ display: flex;
9674
+ gap: var(--cinder-space-2);
9675
+ border: none;
9676
+ flex-direction: column;
9677
+ margin: 0;
9678
+ padding: 0;
9679
+ }
9680
+
9681
+ .cinder-radio-group__legend {
9682
+ display: inline-flex;
9683
+ align-items: center;
9684
+ gap: var(--cinder-space-1);
9685
+ font-size: var(--cinder-text-xs);
9686
+ font-weight: var(--cinder-font-medium);
9687
+ color: var(--cinder-text);
9688
+ margin: 0 0 var(--cinder-space-1) 0;
9689
+ padding: 0;
9690
+ }
9691
+
9692
+ .cinder-radio-group[data-cinder-disabled] .cinder-radio-group__legend {
9693
+ color: var(--cinder-text-disabled);
9694
+ }
9695
+
9696
+ .cinder-radio-group__items {
9697
+ display: flex;
9698
+ gap: var(--cinder-space-2);
9699
+ flex-direction: column;
9700
+ }
9701
+
9702
+ .cinder-radio-group__description {
9703
+ font-size: var(--cinder-text-xs);
9704
+ line-height: var(--cinder-leading-normal);
9705
+ color: var(--cinder-text-muted);
9706
+ margin: 0;
9707
+ }
9708
+
9709
+ .cinder-radio-group__error {
9710
+ font-size: var(--cinder-text-xs);
9711
+ line-height: var(--cinder-leading-normal);
9712
+ color: var(--cinder-danger);
9713
+ margin: 0;
9714
+ }
9715
+
9716
+ .cinder-radio-row {
9717
+ display: inline-flex;
9718
+ align-items: center;
9719
+ gap: var(--cinder-space-2);
9720
+ }
9721
+
9722
+ .cinder-radio {
9723
+ appearance: none;
9724
+ border: 1px solid var(--cinder-border);
9725
+ border-radius: var(--cinder-radius-full);
9726
+ background: var(--cinder-surface-raised);
9727
+ cursor: pointer;
9728
+ display: inline-flex;
9729
+ transition: border-color var(--cinder-duration-fast) var(--cinder-ease-standard), background var(--cinder-duration-fast) var(--cinder-ease-standard), box-shadow var(--cinder-duration-fast) var(--cinder-ease-standard);
9730
+ flex-shrink: 0;
9731
+ justify-content: center;
9732
+ align-items: center;
9733
+ width: 1.125rem;
9734
+ height: 1.125rem;
9735
+ margin: 0;
9736
+ }
9737
+
9738
+ @media (hover: hover) {
9739
+ .cinder-radio:hover:not(:disabled) {
9740
+ border-color: var(--cinder-border-strong);
9741
+ }
9742
+ }
9743
+
9744
+ .cinder-radio:focus-visible {
9745
+ outline: var(--cinder-ring-width) solid transparent;
9746
+ box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--_cinder-radio-ring, var(--cinder-ring-color));
9747
+ }
9748
+
9749
+ @media (forced-colors: active) {
9750
+ .cinder-radio:focus-visible {
9751
+ outline: var(--cinder-ring-width) solid Highlight;
9752
+ outline-offset: 1px;
9753
+ }
9754
+ }
9755
+
9756
+ .cinder-radio:checked {
9757
+ background: var(--cinder-accent);
9758
+ border-color: var(--cinder-accent);
9759
+ }
9760
+
9761
+ .cinder-radio-row__control {
9762
+ position: relative;
9763
+ display: inline-flex;
9764
+ flex-shrink: 0;
9765
+ block-size: 1.125rem;
9766
+ inline-size: 1.125rem;
9767
+ }
9768
+
9769
+ .cinder-radio-row__indicator {
9770
+ --_cinder-radio-dot-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.5'/%3E%3C/svg%3E");
9771
+ position: absolute;
9772
+ pointer-events: none;
9773
+ z-index: 1;
9774
+ opacity: 0;
9775
+ color: var(--cinder-accent-contrast);
9776
+ -webkit-mask-repeat: no-repeat;
9777
+ mask-repeat: no-repeat;
9778
+ -webkit-mask-position: center;
9779
+ mask-position: center;
9780
+ -webkit-mask-size: .875rem .875rem;
9781
+ mask-size: .875rem .875rem;
9782
+ background-color: currentColor;
9783
+ block-size: .875rem;
9784
+ inline-size: .875rem;
9785
+ inset-block-start: 50%;
9786
+ inset-inline-start: 50%;
9787
+ transform: translate(-50%, -50%);
9788
+ }
9789
+
9790
+ .cinder-radio:checked + .cinder-radio-row__indicator {
9791
+ opacity: 1;
9792
+ -webkit-mask-image: var(--_cinder-radio-dot-mask);
9793
+ mask-image: var(--_cinder-radio-dot-mask);
9794
+ }
9795
+
9796
+ @media (forced-colors: active) {
9797
+ .cinder-radio:checked + .cinder-radio-row__indicator {
9798
+ forced-color-adjust: none;
9799
+ background-color: buttontext;
9800
+ }
9801
+ }
9802
+
9803
+ .cinder-radio:disabled {
9804
+ cursor: not-allowed;
9805
+ background: var(--cinder-surface-inset);
9806
+ border-color: var(--cinder-border-muted);
9807
+ }
9808
+
9809
+ .cinder-radio:disabled:checked {
9810
+ background-color: var(--cinder-fill-disabled);
9811
+ border-color: var(--cinder-fill-disabled);
9812
+ }
9813
+
9814
+ .cinder-radio:disabled:checked + .cinder-radio-row__indicator {
9815
+ color: var(--cinder-text-disabled);
9816
+ }
9817
+
9818
+ .cinder-radio[aria-invalid="true"] {
9819
+ --_cinder-radio-ring: var(--cinder-danger);
9820
+ border-color: var(--cinder-danger);
9821
+ }
9822
+
9823
+ .cinder-radio-row__label {
9824
+ font-size: var(--cinder-text-sm);
9825
+ line-height: var(--cinder-leading-normal);
9826
+ color: var(--cinder-text);
9827
+ cursor: pointer;
9828
+ }
9829
+
9830
+ .cinder-radio-row__label[data-disabled] {
9831
+ color: var(--cinder-text-disabled);
9832
+ cursor: not-allowed;
9833
+ }
9834
+
9835
+ .cinder-radio-row[data-has-description] {
9836
+ display: grid;
9837
+ grid-template-columns: auto 1fr;
9838
+ column-gap: var(--cinder-space-2);
9839
+ row-gap: var(--cinder-space-1);
9840
+ align-items: start;
9841
+ }
9842
+
9843
+ .cinder-radio-row[data-has-description] .cinder-radio-row__control {
9844
+ grid-row: 1;
9845
+ grid-column: 1;
9846
+ margin-top: var(--cinder-space-0-5);
9847
+ }
9848
+
9849
+ .cinder-radio-row[data-has-description] .cinder-radio-row__label {
9850
+ grid-row: 1;
9851
+ grid-column: 2;
9852
+ }
9853
+
9854
+ .cinder-radio-row__description {
9855
+ grid-row: 2;
9856
+ grid-column: 2;
9857
+ font-size: var(--cinder-text-xs);
9858
+ line-height: var(--cinder-leading-normal);
9859
+ color: var(--cinder-text-muted);
9860
+ margin: 0;
9861
+ }
9862
+
9863
+ .cinder-radio-row__description[data-disabled] {
9864
+ color: var(--cinder-text-disabled);
9865
+ }
9866
+
9867
+ .cinder-radio-group[data-variant="card"] .cinder-radio-group__items {
9868
+ gap: var(--cinder-space-2);
9869
+ }
9870
+
9871
+ .cinder-radio-group[data-variant="card"] .cinder-radio-row {
9872
+ border: 1px solid var(--cinder-border);
9873
+ border-radius: var(--cinder-radius-md);
9874
+ padding: var(--cinder-space-3);
9875
+ background: var(--cinder-surface-raised);
9876
+ transition: border-color var(--cinder-duration-fast) var(--cinder-ease-standard), background var(--cinder-duration-fast) var(--cinder-ease-standard);
9877
+ }
9878
+
9879
+ @media (hover: hover) {
9880
+ .cinder-radio-group[data-variant="card"] .cinder-radio-row:hover:not([data-disabled]) {
9881
+ border-color: var(--cinder-border-strong);
9882
+ }
9883
+ }
9884
+
9885
+ .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-checked] {
9886
+ border-color: var(--cinder-accent);
9887
+ background: var(--cinder-surface-raised);
9888
+ }
9889
+
9890
+ .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-invalid] {
9891
+ border-color: var(--cinder-danger);
9892
+ }
9893
+
9894
+ .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-disabled] {
9895
+ background: var(--cinder-surface-inset);
9896
+ border-color: var(--cinder-border-muted);
9897
+ cursor: not-allowed;
9898
+ }
9899
+
9900
+ @media (forced-colors: active) {
9901
+ .cinder-radio-group[data-variant="card"] .cinder-radio-row {
9902
+ border: 1px solid canvastext;
9903
+ }
9520
9904
 
9521
- @container cinder-pricing-card (width <= 16rem) {
9522
- .cinder-pricing-card__price {
9523
- font-size: var(--cinder-text-2xl);
9905
+ .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-checked] {
9906
+ border: 2px solid highlight;
9907
+ }
9908
+
9909
+ .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-invalid] {
9910
+ border: 2px solid mark;
9524
9911
  }
9525
9912
  }
9526
9913
  }
9527
9914
 
9528
- /* src/components/progress/progress.css */
9915
+ /* src/components/rating/rating.css */
9529
9916
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
9530
9917
 
9531
9918
  @layer cinder.components {
9532
- .cinder-progress {
9533
- display: inline-flex;
9534
- align-items: center;
9919
+ .cinder-rating-field {
9920
+ display: flex;
9921
+ gap: var(--cinder-space-1-5);
9922
+ flex-direction: column;
9923
+ inline-size: max-content;
9535
9924
  }
9536
9925
 
9537
- .cinder-progress--bar {
9538
- width: 100%;
9926
+ .cinder-rating-field__label {
9927
+ display: inline-flex;
9928
+ align-items: center;
9929
+ gap: var(--cinder-space-1);
9930
+ font-size: var(--cinder-text-xs);
9931
+ font-weight: var(--cinder-font-medium);
9932
+ color: var(--cinder-text);
9933
+ line-height: 1;
9539
9934
  }
9540
9935
 
9541
- .cinder-progress--bar .cinder-progress__track {
9542
- background: var(--cinder-surface-inset);
9543
- border-radius: var(--cinder-radius-full);
9544
- overflow: hidden;
9545
- width: 100%;
9936
+ .cinder-rating-field__label[data-disabled] {
9937
+ color: var(--cinder-text-disabled);
9938
+ cursor: not-allowed;
9546
9939
  }
9547
9940
 
9548
- .cinder-progress--bar[data-cinder-size="sm"] .cinder-progress__track {
9549
- height: .25rem;
9941
+ .cinder-rating {
9942
+ position: relative;
9943
+ display: inline-flex;
9944
+ align-items: center;
9945
+ gap: var(--cinder-space-1);
9946
+ --_cinder-rating-color: var(--cinder-warning, oklch(80% .18 80));
9947
+ --_cinder-rating-empty: var(--cinder-border-strong);
9948
+ --_cinder-rating-size: 1.5rem;
9550
9949
  }
9551
9950
 
9552
- .cinder-progress--bar[data-cinder-size="md"] .cinder-progress__track {
9553
- height: .5rem;
9951
+ .cinder-rating__star {
9952
+ position: relative;
9953
+ inline-size: var(--_cinder-rating-size);
9954
+ block-size: var(--_cinder-rating-size);
9955
+ background: var(--_cinder-rating-empty);
9956
+ -webkit-mask: var(--_cinder-rating-mask) center / contain no-repeat;
9957
+ mask: var(--_cinder-rating-mask) center / contain no-repeat;
9958
+ --_cinder-rating-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l2.99 6.06 6.69.97-4.84 4.72 1.14 6.66L12 17.27l-5.98 3.14 1.14-6.66L2.32 9.03l6.69-.97L12 2z'/></svg>");
9554
9959
  }
9555
9960
 
9556
- .cinder-progress--bar[data-cinder-size="lg"] .cinder-progress__track {
9557
- height: .75rem;
9961
+ .cinder-rating__star-fill {
9962
+ display: block;
9963
+ inline-size: var(--_cinder-rating-fill, 0%);
9964
+ background: var(--_cinder-rating-color);
9965
+ block-size: 100%;
9558
9966
  }
9559
9967
 
9560
- .cinder-progress--bar .cinder-progress__fill {
9561
- background: var(--cinder-accent);
9562
- border-radius: inherit;
9563
- transition: width var(--cinder-duration-moderate) var(--cinder-ease-in-out);
9564
- height: 100%;
9968
+ .cinder-rating__hit-area {
9969
+ position: absolute;
9970
+ display: flex;
9971
+ align-items: stretch;
9972
+ inset: 0;
9565
9973
  }
9566
9974
 
9567
- @media (prefers-reduced-motion: reduce) {
9568
- .cinder-progress--bar .cinder-progress__fill {
9569
- transition: none;
9570
- }
9975
+ .cinder-rating__option {
9976
+ appearance: none;
9977
+ cursor: pointer;
9978
+ color: inherit;
9979
+ font: inherit;
9980
+ background: none;
9981
+ border: none;
9982
+ flex: 1 1 0;
9983
+ min-inline-size: 0;
9984
+ margin: 0;
9985
+ padding: 0;
9571
9986
  }
9572
9987
 
9573
- .cinder-progress--bar .cinder-progress__fill--indeterminate {
9574
- animation: cinder-progress-bar-slide var(--cinder-duration-progress-bar-indeterminate) linear infinite;
9575
- width: 30%;
9988
+ .cinder-rating__option:focus-visible {
9989
+ outline: var(--cinder-ring-width) solid transparent;
9990
+ box-shadow: var(--_cinder-focus-ring-shadow);
9991
+ border-radius: var(--cinder-radius-sm);
9576
9992
  }
9577
9993
 
9578
- @keyframes cinder-progress-bar-slide {
9579
- from {
9580
- transform: translateX(-100%);
9581
- }
9582
-
9583
- to {
9584
- transform: translateX(400%);
9994
+ @media (forced-colors: active) {
9995
+ .cinder-rating__option:focus-visible {
9996
+ outline: var(--cinder-ring-width) solid ButtonText;
9997
+ outline-offset: 3px;
9585
9998
  }
9586
9999
  }
9587
10000
 
9588
- @media (prefers-reduced-motion: reduce) {
9589
- .cinder-progress--bar .cinder-progress__fill--indeterminate {
9590
- animation: none;
9591
- opacity: .5;
9592
- width: 100%;
9593
- }
10001
+ .cinder-rating--readonly {
10002
+ pointer-events: none;
9594
10003
  }
9595
10004
 
9596
- .cinder-progress--ring[data-cinder-size="sm"] .cinder-progress__svg {
9597
- width: 1.25rem;
9598
- height: 1.25rem;
10005
+ .cinder-rating[aria-disabled="true"] {
10006
+ opacity: .55;
10007
+ pointer-events: none;
9599
10008
  }
9600
10009
 
9601
- .cinder-progress--ring[data-cinder-size="md"] .cinder-progress__svg {
9602
- width: 2rem;
9603
- height: 2rem;
10010
+ .cinder-rating[aria-disabled="true"] .cinder-rating__option {
10011
+ cursor: not-allowed;
9604
10012
  }
9605
10013
 
9606
- .cinder-progress--ring[data-cinder-size="lg"] .cinder-progress__svg {
9607
- width: 2.75rem;
9608
- height: 2.75rem;
10014
+ @media (forced-colors: active) {
10015
+ .cinder-rating__star-fill {
10016
+ background: highlight;
10017
+ }
9609
10018
  }
9610
10019
 
9611
- .cinder-progress--ring .cinder-progress__svg {
9612
- transform: rotate(-90deg);
10020
+ .cinder-rating-field__description {
10021
+ font-size: var(--cinder-text-xs);
10022
+ color: var(--cinder-text-muted);
10023
+ margin: 0;
9613
10024
  }
9614
10025
 
9615
- .cinder-progress--ring .cinder-progress__track, .cinder-progress--ring .cinder-progress__fill {
9616
- fill: none;
9617
- stroke-width: 3;
10026
+ .cinder-rating-field__error {
10027
+ font-size: var(--cinder-text-xs);
10028
+ color: var(--cinder-danger);
10029
+ margin: 0;
9618
10030
  }
10031
+ }
9619
10032
 
9620
- .cinder-progress--ring .cinder-progress__track {
9621
- stroke: var(--cinder-surface-inset);
9622
- }
10033
+ /* src/components/badge/badge.css */
10034
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
9623
10035
 
9624
- .cinder-progress--ring .cinder-progress__fill {
9625
- stroke: var(--cinder-accent);
9626
- stroke-linecap: round;
9627
- stroke-dasharray: 100.53;
9628
- stroke-dashoffset: calc(100.53 - (var(--_cinder-progress-percent, 0) * 1.0053));
9629
- transition: stroke-dashoffset var(--cinder-duration-moderate) var(--cinder-ease-in-out);
10036
+ @layer cinder.components {
10037
+ .cinder-badge {
10038
+ display: inline-flex;
10039
+ align-items: center;
10040
+ gap: var(--cinder-space-1);
10041
+ padding: var(--cinder-space-0-5) var(--cinder-space-2);
10042
+ font-size: var(--cinder-text-xs);
10043
+ font-weight: var(--cinder-font-medium);
10044
+ border-radius: var(--cinder-radius-sm);
10045
+ border: 1px solid var(--cinder-border);
10046
+ white-space: nowrap;
10047
+ background: var(--cinder-surface-inset);
10048
+ color: var(--cinder-text);
10049
+ transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard);
10050
+ line-height: 1.25;
9630
10051
  }
9631
10052
 
9632
- @media (prefers-reduced-motion: reduce) {
9633
- .cinder-progress--ring .cinder-progress__fill {
9634
- transition: none;
9635
- }
10053
+ .cinder-badge[data-cinder-size="xs"] {
10054
+ padding: 0 var(--cinder-space-1);
10055
+ font-size: .625rem;
10056
+ line-height: .875rem;
9636
10057
  }
9637
10058
 
9638
- .cinder-progress--ring .cinder-progress__fill--indeterminate {
9639
- stroke-dasharray: 25 75;
9640
- stroke-dashoffset: 0;
9641
- animation: cinder-progress-ring-spin var(--cinder-duration-progress-ring-spin) linear infinite;
9642
- transform-origin: 18px 18px;
10059
+ .cinder-badge[data-cinder-size="sm"] {
10060
+ font-size: var(--cinder-text-2xs, .625rem);
10061
+ padding: 0 var(--cinder-space-1);
10062
+ line-height: 1rem;
9643
10063
  }
9644
10064
 
9645
- @keyframes cinder-progress-ring-spin {
9646
- from {
9647
- transform: rotate(0);
9648
- }
9649
-
9650
- to {
9651
- transform: rotate(360deg);
9652
- }
10065
+ .cinder-badge[data-cinder-size="md"] {
10066
+ font-size: var(--cinder-text-xs);
10067
+ padding: var(--cinder-space-0-5) var(--cinder-space-2);
9653
10068
  }
9654
10069
 
9655
- @media (prefers-reduced-motion: reduce) {
9656
- .cinder-progress--ring .cinder-progress__fill--indeterminate {
9657
- animation: none;
9658
- stroke-dasharray: 100.53;
9659
- stroke-dashoffset: 0;
9660
- opacity: .5;
9661
- }
10070
+ .cinder-badge[data-cinder-variant="neutral"] {
10071
+ background: color-mix(in oklch, var(--cinder-surface-inset), var(--cinder-surface) 40%);
10072
+ color: var(--cinder-text);
10073
+ border-color: var(--cinder-border);
9662
10074
  }
9663
- }
9664
10075
 
9665
- /* src/components/radio-group/radio-group.css */
9666
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
10076
+ .cinder-badge[data-cinder-variant="success"] {
10077
+ background: var(--cinder-color-success-bg);
10078
+ color: var(--cinder-color-success-fg);
10079
+ border-color: var(--cinder-color-success-border);
10080
+ }
9667
10081
 
9668
- @layer cinder.components {
9669
- .cinder-radio-group {
9670
- display: flex;
9671
- gap: var(--cinder-space-2);
9672
- border: none;
9673
- flex-direction: column;
9674
- margin: 0;
9675
- padding: 0;
10082
+ .cinder-badge[data-cinder-variant="warning"] {
10083
+ background: var(--cinder-color-warning-bg);
10084
+ color: var(--cinder-color-warning-fg);
10085
+ border-color: var(--cinder-color-warning-border);
9676
10086
  }
9677
10087
 
9678
- .cinder-radio-group__legend {
9679
- font-size: var(--cinder-text-xs);
9680
- font-weight: var(--cinder-font-medium);
9681
- color: var(--cinder-text);
9682
- margin: 0 0 var(--cinder-space-1) 0;
9683
- padding: 0;
10088
+ .cinder-badge[data-cinder-variant="danger"] {
10089
+ background: var(--cinder-color-danger-bg);
10090
+ color: var(--cinder-color-danger-fg);
10091
+ border-color: var(--cinder-color-danger-border);
9684
10092
  }
9685
10093
 
9686
- .cinder-radio-group[data-cinder-disabled] .cinder-radio-group__legend {
9687
- color: var(--cinder-text-disabled);
10094
+ .cinder-badge[data-cinder-variant="info"] {
10095
+ background: var(--cinder-color-info-bg);
10096
+ color: var(--cinder-color-info-fg);
10097
+ border-color: var(--cinder-color-info-border);
9688
10098
  }
9689
10099
 
9690
- .cinder-radio-group__items {
9691
- display: flex;
9692
- gap: var(--cinder-space-2);
9693
- flex-direction: column;
10100
+ .cinder-badge[data-cinder-variant="accent"] {
10101
+ background: color-mix(in oklch, var(--cinder-accent), transparent 88%);
10102
+ color: var(--cinder-accent-text);
10103
+ border-color: color-mix(in oklch, var(--cinder-accent), transparent 60%);
9694
10104
  }
9695
10105
 
9696
- .cinder-radio-group__description {
9697
- font-size: var(--cinder-text-xs);
9698
- line-height: var(--cinder-leading-normal);
9699
- color: var(--cinder-text-muted);
9700
- margin: 0;
10106
+ .cinder-badge[data-cinder-mono] {
10107
+ font-family: var(--cinder-font-mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace);
9701
10108
  }
10109
+ }
9702
10110
 
9703
- .cinder-radio-group__error {
9704
- font-size: var(--cinder-text-xs);
9705
- line-height: var(--cinder-leading-normal);
9706
- color: var(--cinder-danger);
9707
- margin: 0;
9708
- }
10111
+ /* src/components/collapsible/collapsible.css */
10112
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
9709
10113
 
9710
- .cinder-radio-row {
9711
- display: inline-flex;
9712
- align-items: center;
9713
- gap: var(--cinder-space-2);
10114
+ @layer cinder.components {
10115
+ .cinder-collapsible {
10116
+ display: block;
9714
10117
  }
9715
10118
 
9716
- .cinder-radio {
9717
- appearance: none;
9718
- border: 1px solid var(--cinder-border);
9719
- border-radius: var(--cinder-radius-full);
9720
- background: var(--cinder-surface-raised);
9721
- cursor: pointer;
9722
- display: inline-flex;
9723
- transition: border-color var(--cinder-duration-fast) var(--cinder-ease-standard), background var(--cinder-duration-fast) var(--cinder-ease-standard), box-shadow var(--cinder-duration-fast) var(--cinder-ease-standard);
9724
- flex-shrink: 0;
9725
- justify-content: center;
10119
+ .cinder-collapsible__trigger {
10120
+ display: flex;
10121
+ justify-content: space-between;
9726
10122
  align-items: center;
9727
- width: 1.125rem;
9728
- height: 1.125rem;
9729
- margin: 0;
10123
+ gap: var(--cinder-space-4);
10124
+ padding: var(--cinder-space-4) var(--cinder-space-5);
10125
+ font-size: var(--cinder-text-base);
10126
+ font-weight: var(--cinder-font-medium);
10127
+ line-height: var(--cinder-leading-snug);
10128
+ color: var(--cinder-text);
10129
+ text-align: start;
10130
+ border-radius: var(--cinder-radius-md);
10131
+ cursor: pointer;
10132
+ transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard), color var(--cinder-duration-fast) var(--cinder-ease-standard);
10133
+ background: none;
10134
+ border: none;
10135
+ inline-size: 100%;
9730
10136
  }
9731
10137
 
9732
10138
  @media (hover: hover) {
9733
- .cinder-radio:hover:not(:disabled) {
9734
- border-color: var(--cinder-border-strong);
10139
+ .cinder-collapsible__trigger:hover:not(:disabled) {
10140
+ background: var(--cinder-surface-hover);
9735
10141
  }
9736
10142
  }
9737
10143
 
9738
- .cinder-radio:focus-visible {
10144
+ .cinder-collapsible__trigger:active:not(:disabled) {
10145
+ background: var(--cinder-surface-pressed);
10146
+ }
10147
+
10148
+ .cinder-collapsible__trigger:focus-visible {
9739
10149
  outline: var(--cinder-ring-width) solid transparent;
9740
- box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--_cinder-radio-ring, var(--cinder-ring-color));
10150
+ box-shadow: var(--_cinder-focus-ring-shadow);
9741
10151
  }
9742
10152
 
9743
10153
  @media (forced-colors: active) {
9744
- .cinder-radio:focus-visible {
9745
- outline: var(--cinder-ring-width) solid Highlight;
9746
- outline-offset: 1px;
10154
+ .cinder-collapsible__trigger:focus-visible {
10155
+ outline: var(--cinder-ring-width) solid ButtonText;
10156
+ outline-offset: 3px;
9747
10157
  }
9748
10158
  }
9749
10159
 
9750
- .cinder-radio:checked {
9751
- background: var(--cinder-accent);
9752
- border-color: var(--cinder-accent);
10160
+ .cinder-collapsible__trigger:disabled {
10161
+ cursor: not-allowed;
10162
+ color: var(--cinder-text-disabled);
10163
+ opacity: .6;
9753
10164
  }
9754
10165
 
9755
- .cinder-radio-row__control {
9756
- position: relative;
9757
- display: inline-flex;
10166
+ .cinder-collapsible__label {
10167
+ flex: 1;
10168
+ }
10169
+
10170
+ .cinder-collapsible__chevron {
10171
+ color: var(--cinder-text-muted);
10172
+ transition: transform var(--cinder-duration-fast) var(--cinder-ease-standard);
9758
10173
  flex-shrink: 0;
9759
- block-size: 1.125rem;
9760
- inline-size: 1.125rem;
10174
+ width: 1.25rem;
10175
+ height: 1.25rem;
9761
10176
  }
9762
10177
 
9763
- .cinder-radio-row__indicator {
9764
- --_cinder-radio-dot-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.5'/%3E%3C/svg%3E");
9765
- position: absolute;
9766
- pointer-events: none;
9767
- z-index: 1;
9768
- opacity: 0;
9769
- color: var(--cinder-accent-contrast);
9770
- -webkit-mask-repeat: no-repeat;
9771
- mask-repeat: no-repeat;
9772
- -webkit-mask-position: center;
9773
- mask-position: center;
9774
- -webkit-mask-size: .875rem .875rem;
9775
- mask-size: .875rem .875rem;
9776
- background-color: currentColor;
9777
- block-size: .875rem;
9778
- inline-size: .875rem;
9779
- inset-block-start: 50%;
9780
- inset-inline-start: 50%;
9781
- transform: translate(-50%, -50%);
10178
+ .cinder-collapsible[data-cinder-expanded] .cinder-collapsible__chevron {
10179
+ transform: rotate(180deg);
9782
10180
  }
9783
10181
 
9784
- .cinder-radio:checked + .cinder-radio-row__indicator {
9785
- opacity: 1;
9786
- -webkit-mask-image: var(--_cinder-radio-dot-mask);
9787
- mask-image: var(--_cinder-radio-dot-mask);
10182
+ .cinder-collapsible[data-cinder-disabled] .cinder-collapsible__chevron {
10183
+ opacity: .4;
9788
10184
  }
9789
10185
 
9790
- @media (forced-colors: active) {
9791
- .cinder-radio:checked + .cinder-radio-row__indicator {
9792
- forced-color-adjust: none;
9793
- background-color: buttontext;
9794
- }
10186
+ .cinder-collapsible__panel-inner {
10187
+ padding: var(--cinder-space-4) var(--cinder-space-5) var(--cinder-space-5);
10188
+ font-size: var(--cinder-text-base);
10189
+ line-height: var(--cinder-leading-normal);
10190
+ color: var(--cinder-text-muted);
9795
10191
  }
9796
10192
 
9797
- .cinder-radio:disabled {
9798
- cursor: not-allowed;
9799
- background: var(--cinder-surface-inset);
9800
- border-color: var(--cinder-border-muted);
10193
+ @media (prefers-reduced-motion: reduce) {
10194
+ .cinder-collapsible__chevron {
10195
+ transition: none;
10196
+ }
9801
10197
  }
10198
+ }
9802
10199
 
9803
- .cinder-radio:disabled:checked {
9804
- background-color: var(--cinder-fill-disabled);
9805
- border-color: var(--cinder-fill-disabled);
10200
+ /* src/components/link/link.css */
10201
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
10202
+
10203
+ @layer cinder.components {
10204
+ .cinder-link {
10205
+ color: var(--cinder-accent-text);
10206
+ cursor: pointer;
10207
+ font-family: inherit;
10208
+ font-size: inherit;
10209
+ font-weight: inherit;
10210
+ line-height: inherit;
10211
+ text-decoration: underline;
10212
+ text-underline-offset: .15em;
10213
+ transition: color var(--cinder-duration-fast) var(--cinder-ease-standard);
9806
10214
  }
9807
10215
 
9808
- .cinder-radio:disabled:checked + .cinder-radio-row__indicator {
9809
- color: var(--cinder-text-disabled);
10216
+ .cinder-link[data-color="primary"] {
10217
+ color: var(--cinder-accent-text);
9810
10218
  }
9811
10219
 
9812
- .cinder-radio[aria-invalid="true"] {
9813
- --_cinder-radio-ring: var(--cinder-danger);
9814
- border-color: var(--cinder-danger);
10220
+ .cinder-link[data-color="inherit"] {
10221
+ color: inherit;
9815
10222
  }
9816
10223
 
9817
- .cinder-radio-row__label {
9818
- font-size: var(--cinder-text-sm);
9819
- line-height: var(--cinder-leading-normal);
9820
- color: var(--cinder-text);
9821
- cursor: pointer;
10224
+ .cinder-link[data-underline="always"] {
10225
+ text-decoration: underline;
9822
10226
  }
9823
10227
 
9824
- .cinder-radio-row__label[data-disabled] {
9825
- color: var(--cinder-text-disabled);
9826
- cursor: not-allowed;
10228
+ .cinder-link[data-underline="none"], .cinder-link[data-underline="hover"] {
10229
+ text-decoration: none;
9827
10230
  }
9828
10231
 
9829
- .cinder-radio-row[data-has-description] {
9830
- display: grid;
9831
- grid-template-columns: auto 1fr;
9832
- column-gap: var(--cinder-space-2);
9833
- row-gap: var(--cinder-space-1);
9834
- align-items: start;
10232
+ @media (hover: hover) {
10233
+ .cinder-link[data-underline="hover"]:hover:not([data-disabled]) {
10234
+ text-decoration: underline;
10235
+ }
10236
+
10237
+ .cinder-link[data-underline="none"]:hover:not([data-disabled]) {
10238
+ text-decoration: none;
10239
+ }
10240
+
10241
+ .cinder-link[data-color="primary"]:hover:not([data-disabled]) {
10242
+ color: var(--cinder-accent-text-hover);
10243
+ }
9835
10244
  }
9836
10245
 
9837
- .cinder-radio-row[data-has-description] .cinder-radio-row__control {
9838
- grid-row: 1;
9839
- grid-column: 1;
9840
- margin-top: var(--cinder-space-0-5);
10246
+ .cinder-link:focus-visible {
10247
+ outline: var(--cinder-ring-width) solid transparent;
10248
+ box-shadow: var(--_cinder-focus-ring-shadow);
10249
+ border-radius: 2px;
9841
10250
  }
9842
10251
 
9843
- .cinder-radio-row[data-has-description] .cinder-radio-row__label {
9844
- grid-row: 1;
9845
- grid-column: 2;
10252
+ .cinder-link[data-underline="hover"]:focus-visible:not([data-disabled]), .cinder-link[data-underline="none"]:focus-visible:not([data-disabled]) {
10253
+ text-decoration: underline;
9846
10254
  }
9847
10255
 
9848
- .cinder-radio-row__description {
9849
- grid-row: 2;
9850
- grid-column: 2;
9851
- font-size: var(--cinder-text-xs);
9852
- line-height: var(--cinder-leading-normal);
9853
- color: var(--cinder-text-muted);
9854
- margin: 0;
10256
+ @media (forced-colors: active) {
10257
+ .cinder-link:focus-visible {
10258
+ outline: var(--cinder-ring-width) solid LinkText;
10259
+ outline-offset: 3px;
10260
+ }
9855
10261
  }
9856
10262
 
9857
- .cinder-radio-row__description[data-disabled] {
10263
+ .cinder-link[data-disabled] {
9858
10264
  color: var(--cinder-text-disabled);
10265
+ cursor: not-allowed;
10266
+ pointer-events: none;
10267
+ opacity: .6;
9859
10268
  }
10269
+ }
9860
10270
 
9861
- .cinder-radio-group[data-variant="card"] .cinder-radio-group__items {
9862
- gap: var(--cinder-space-2);
10271
+ /* src/components/progress/progress.css */
10272
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
10273
+
10274
+ @layer cinder.components {
10275
+ .cinder-progress {
10276
+ display: inline-flex;
10277
+ align-items: center;
9863
10278
  }
9864
10279
 
9865
- .cinder-radio-group[data-variant="card"] .cinder-radio-row {
9866
- border: 1px solid var(--cinder-border);
9867
- border-radius: var(--cinder-radius-md);
9868
- padding: var(--cinder-space-3);
9869
- background: var(--cinder-surface-raised);
9870
- transition: border-color var(--cinder-duration-fast) var(--cinder-ease-standard), background var(--cinder-duration-fast) var(--cinder-ease-standard);
10280
+ .cinder-progress--bar {
10281
+ width: 100%;
9871
10282
  }
9872
10283
 
9873
- @media (hover: hover) {
9874
- .cinder-radio-group[data-variant="card"] .cinder-radio-row:hover:not([data-disabled]) {
9875
- border-color: var(--cinder-border-strong);
9876
- }
10284
+ .cinder-progress--bar .cinder-progress__track {
10285
+ background: var(--cinder-surface-inset);
10286
+ border-radius: var(--cinder-radius-full);
10287
+ overflow: hidden;
10288
+ width: 100%;
9877
10289
  }
9878
10290
 
9879
- .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-checked] {
9880
- border-color: var(--cinder-accent);
9881
- background: var(--cinder-surface-raised);
10291
+ .cinder-progress--bar[data-cinder-size="sm"] .cinder-progress__track {
10292
+ height: .25rem;
9882
10293
  }
9883
10294
 
9884
- .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-invalid] {
9885
- border-color: var(--cinder-danger);
10295
+ .cinder-progress--bar[data-cinder-size="md"] .cinder-progress__track {
10296
+ height: .5rem;
9886
10297
  }
9887
10298
 
9888
- .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-disabled] {
9889
- background: var(--cinder-surface-inset);
9890
- border-color: var(--cinder-border-muted);
9891
- cursor: not-allowed;
10299
+ .cinder-progress--bar[data-cinder-size="lg"] .cinder-progress__track {
10300
+ height: .75rem;
9892
10301
  }
9893
10302
 
9894
- @media (forced-colors: active) {
9895
- .cinder-radio-group[data-variant="card"] .cinder-radio-row {
9896
- border: 1px solid canvastext;
9897
- }
9898
-
9899
- .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-checked] {
9900
- border: 2px solid highlight;
9901
- }
10303
+ .cinder-progress--bar .cinder-progress__fill {
10304
+ background: var(--cinder-accent);
10305
+ border-radius: inherit;
10306
+ transition: width var(--cinder-duration-moderate) var(--cinder-ease-in-out);
10307
+ height: 100%;
10308
+ }
9902
10309
 
9903
- .cinder-radio-group[data-variant="card"] .cinder-radio-row[data-invalid] {
9904
- border: 2px solid mark;
10310
+ @media (prefers-reduced-motion: reduce) {
10311
+ .cinder-progress--bar .cinder-progress__fill {
10312
+ transition: none;
9905
10313
  }
9906
10314
  }
9907
- }
9908
-
9909
- /* src/components/rating/rating.css */
9910
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
9911
10315
 
9912
- @layer cinder.components {
9913
- .cinder-rating-field {
9914
- display: flex;
9915
- gap: var(--cinder-space-1-5);
9916
- flex-direction: column;
9917
- inline-size: max-content;
10316
+ .cinder-progress--bar .cinder-progress__fill--indeterminate {
10317
+ animation: cinder-progress-bar-slide var(--cinder-duration-progress-bar-indeterminate) linear infinite;
10318
+ width: 30%;
9918
10319
  }
9919
10320
 
9920
- .cinder-rating-field__label {
9921
- display: inline-flex;
9922
- align-items: center;
9923
- gap: var(--cinder-space-1);
9924
- font-size: var(--cinder-text-xs);
9925
- font-weight: var(--cinder-font-medium);
9926
- color: var(--cinder-text);
9927
- line-height: 1;
9928
- }
10321
+ @keyframes cinder-progress-bar-slide {
10322
+ from {
10323
+ transform: translateX(-100%);
10324
+ }
9929
10325
 
9930
- .cinder-rating-field__label[data-disabled] {
9931
- color: var(--cinder-text-disabled);
9932
- cursor: not-allowed;
10326
+ to {
10327
+ transform: translateX(400%);
10328
+ }
9933
10329
  }
9934
10330
 
9935
- .cinder-rating {
9936
- position: relative;
9937
- display: inline-flex;
9938
- align-items: center;
9939
- gap: var(--cinder-space-1);
9940
- --_cinder-rating-color: var(--cinder-warning, oklch(80% .18 80));
9941
- --_cinder-rating-empty: var(--cinder-border-strong);
9942
- --_cinder-rating-size: 1.5rem;
10331
+ @media (prefers-reduced-motion: reduce) {
10332
+ .cinder-progress--bar .cinder-progress__fill--indeterminate {
10333
+ animation: none;
10334
+ opacity: .5;
10335
+ width: 100%;
10336
+ }
9943
10337
  }
9944
10338
 
9945
- .cinder-rating__star {
9946
- position: relative;
9947
- inline-size: var(--_cinder-rating-size);
9948
- block-size: var(--_cinder-rating-size);
9949
- background: var(--_cinder-rating-empty);
9950
- -webkit-mask: var(--_cinder-rating-mask) center / contain no-repeat;
9951
- mask: var(--_cinder-rating-mask) center / contain no-repeat;
9952
- --_cinder-rating-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l2.99 6.06 6.69.97-4.84 4.72 1.14 6.66L12 17.27l-5.98 3.14 1.14-6.66L2.32 9.03l6.69-.97L12 2z'/></svg>");
10339
+ .cinder-progress--ring[data-cinder-size="sm"] .cinder-progress__svg {
10340
+ width: 1.25rem;
10341
+ height: 1.25rem;
9953
10342
  }
9954
10343
 
9955
- .cinder-rating__star-fill {
9956
- display: block;
9957
- inline-size: var(--_cinder-rating-fill, 0%);
9958
- background: var(--_cinder-rating-color);
9959
- block-size: 100%;
10344
+ .cinder-progress--ring[data-cinder-size="md"] .cinder-progress__svg {
10345
+ width: 2rem;
10346
+ height: 2rem;
9960
10347
  }
9961
10348
 
9962
- .cinder-rating__hit-area {
9963
- position: absolute;
9964
- display: flex;
9965
- align-items: stretch;
9966
- inset: 0;
10349
+ .cinder-progress--ring[data-cinder-size="lg"] .cinder-progress__svg {
10350
+ width: 2.75rem;
10351
+ height: 2.75rem;
9967
10352
  }
9968
10353
 
9969
- .cinder-rating__option {
9970
- appearance: none;
9971
- cursor: pointer;
9972
- color: inherit;
9973
- font: inherit;
9974
- background: none;
9975
- border: none;
9976
- flex: 1 1 0;
9977
- min-inline-size: 0;
9978
- margin: 0;
9979
- padding: 0;
10354
+ .cinder-progress--ring .cinder-progress__svg {
10355
+ transform: rotate(-90deg);
9980
10356
  }
9981
10357
 
9982
- .cinder-rating__option:focus-visible {
9983
- outline: var(--cinder-ring-width) solid transparent;
9984
- box-shadow: var(--_cinder-focus-ring-shadow);
9985
- border-radius: var(--cinder-radius-sm);
10358
+ .cinder-progress--ring .cinder-progress__track, .cinder-progress--ring .cinder-progress__fill {
10359
+ fill: none;
10360
+ stroke-width: 3;
9986
10361
  }
9987
10362
 
9988
- @media (forced-colors: active) {
9989
- .cinder-rating__option:focus-visible {
9990
- outline: var(--cinder-ring-width) solid ButtonText;
9991
- outline-offset: 3px;
9992
- }
10363
+ .cinder-progress--ring .cinder-progress__track {
10364
+ stroke: var(--cinder-surface-inset);
9993
10365
  }
9994
10366
 
9995
- .cinder-rating--readonly {
9996
- pointer-events: none;
10367
+ .cinder-progress--ring .cinder-progress__fill {
10368
+ stroke: var(--cinder-accent);
10369
+ stroke-linecap: round;
10370
+ stroke-dasharray: 100.53;
10371
+ stroke-dashoffset: calc(100.53 - (var(--_cinder-progress-percent, 0) * 1.0053));
10372
+ transition: stroke-dashoffset var(--cinder-duration-moderate) var(--cinder-ease-in-out);
9997
10373
  }
9998
10374
 
9999
- .cinder-rating[aria-disabled="true"] {
10000
- opacity: .55;
10001
- pointer-events: none;
10375
+ @media (prefers-reduced-motion: reduce) {
10376
+ .cinder-progress--ring .cinder-progress__fill {
10377
+ transition: none;
10378
+ }
10002
10379
  }
10003
10380
 
10004
- .cinder-rating[aria-disabled="true"] .cinder-rating__option {
10005
- cursor: not-allowed;
10381
+ .cinder-progress--ring .cinder-progress__fill--indeterminate {
10382
+ stroke-dasharray: 25 75;
10383
+ stroke-dashoffset: 0;
10384
+ animation: cinder-progress-ring-spin var(--cinder-duration-progress-ring-spin) linear infinite;
10385
+ transform-origin: 18px 18px;
10006
10386
  }
10007
10387
 
10008
- @media (forced-colors: active) {
10009
- .cinder-rating__star-fill {
10010
- background: highlight;
10388
+ @keyframes cinder-progress-ring-spin {
10389
+ from {
10390
+ transform: rotate(0);
10011
10391
  }
10012
- }
10013
10392
 
10014
- .cinder-rating-field__description {
10015
- font-size: var(--cinder-text-xs);
10016
- color: var(--cinder-text-muted);
10017
- margin: 0;
10393
+ to {
10394
+ transform: rotate(360deg);
10395
+ }
10018
10396
  }
10019
10397
 
10020
- .cinder-rating-field__error {
10021
- font-size: var(--cinder-text-xs);
10022
- color: var(--cinder-danger);
10023
- margin: 0;
10398
+ @media (prefers-reduced-motion: reduce) {
10399
+ .cinder-progress--ring .cinder-progress__fill--indeterminate {
10400
+ animation: none;
10401
+ stroke-dasharray: 100.53;
10402
+ stroke-dashoffset: 0;
10403
+ opacity: .5;
10404
+ }
10024
10405
  }
10025
10406
  }
10026
10407
 
@@ -10032,6 +10413,8 @@
10032
10413
  --_cinder-rst-rail-size: 1.5rem;
10033
10414
  --_cinder-rst-marker-size: .875rem;
10034
10415
  --_cinder-rst-rail-center: .6875rem;
10416
+ --_cinder-rst-depth: 0;
10417
+ --_cinder-rst-nested-indent: 1.75rem;
10035
10418
  list-style: none;
10036
10419
  position: relative;
10037
10420
  margin: 0;
@@ -10039,6 +10422,7 @@
10039
10422
  }
10040
10423
 
10041
10424
  .cinder-run-step-timeline__item {
10425
+ --_cinder-rst-depth-offset: calc(var(--_cinder-rst-depth) * var(--_cinder-rst-nested-indent));
10042
10426
  position: relative;
10043
10427
  padding-bottom: var(--cinder-space-4);
10044
10428
  }
@@ -10050,11 +10434,10 @@
10050
10434
  .cinder-run-step-timeline__item:before {
10051
10435
  content: "";
10052
10436
  position: absolute;
10053
- left: var(--_cinder-rst-rail-center);
10054
10437
  background: var(--cinder-border-muted);
10055
- width: 1px;
10056
- top: 1rem;
10057
- bottom: 0;
10438
+ inline-size: 1px;
10439
+ inset-block: 1rem 0;
10440
+ inset-inline-start: calc(var(--_cinder-rst-depth-offset) + var(--_cinder-rst-rail-center));
10058
10441
  }
10059
10442
 
10060
10443
  .cinder-run-step-timeline__item[data-cinder-connector-after="hidden"]:before {
@@ -10066,6 +10449,7 @@
10066
10449
  grid-template-columns: var(--_cinder-rst-rail-size) 1fr;
10067
10450
  gap: var(--cinder-space-3);
10068
10451
  align-items: start;
10452
+ padding-inline-start: var(--_cinder-rst-depth-offset);
10069
10453
  }
10070
10454
 
10071
10455
  .cinder-run-step-timeline__marker {
@@ -10099,12 +10483,16 @@
10099
10483
  flex-shrink: 0;
10100
10484
  }
10101
10485
 
10102
- .cinder-run-step-timeline__item[data-cinder-status="running"] .cinder-run-step-timeline__label, .cinder-run-step-timeline__item[data-cinder-status="retrying"] .cinder-run-step-timeline__label {
10486
+ .cinder-run-step-timeline__item[data-cinder-status="running"] .cinder-run-step-timeline__label, .cinder-run-step-timeline__item[data-cinder-status="retrying"] .cinder-run-step-timeline__label, .cinder-run-step-timeline__item[data-cinder-status="waiting_approval"] .cinder-run-step-timeline__label {
10103
10487
  color: var(--cinder-text);
10104
10488
  font-weight: var(--cinder-font-semibold);
10105
10489
  }
10106
10490
 
10107
- .cinder-run-step-timeline__item[data-cinder-status="pending"] .cinder-run-step-timeline__label, .cinder-run-step-timeline__item[data-cinder-status="skipped"] .cinder-run-step-timeline__label, .cinder-run-step-timeline__item[data-cinder-status="cancelled"] .cinder-run-step-timeline__label {
10491
+ .cinder-run-step-timeline__link {
10492
+ font-size: var(--cinder-text-xs);
10493
+ }
10494
+
10495
+ .cinder-run-step-timeline__link--unsafe, .cinder-run-step-timeline__item[data-cinder-status="pending"] .cinder-run-step-timeline__label, .cinder-run-step-timeline__item[data-cinder-status="skipped"] .cinder-run-step-timeline__label, .cinder-run-step-timeline__item[data-cinder-status="cancelled"] .cinder-run-step-timeline__label {
10108
10496
  color: var(--cinder-text-muted);
10109
10497
  }
10110
10498
 
@@ -10310,108 +10698,48 @@
10310
10698
  margin: 0;
10311
10699
  }
10312
10700
 
10313
- .cinder-schema-form__legend, .cinder-schema-form__label, .cinder-schema-form__switch-label {
10314
- color: var(--cinder-text);
10315
- font-size: var(--cinder-text-sm);
10316
- font-weight: var(--cinder-font-medium);
10317
- }
10318
-
10319
10701
  .cinder-schema-form__legend {
10702
+ display: inline-flex;
10703
+ align-items: center;
10704
+ gap: var(--cinder-space-1);
10320
10705
  padding-inline: var(--cinder-space-1);
10321
- }
10322
-
10323
- .cinder-schema-form__field {
10324
- display: grid;
10325
- gap: var(--cinder-space-2);
10326
- }
10327
-
10328
- .cinder-schema-form__required {
10329
- color: var(--cinder-danger);
10330
- margin-inline-start: var(--cinder-space-1);
10331
- }
10332
-
10333
- .cinder-schema-form__description {
10334
- color: var(--cinder-text-muted);
10335
- font-size: var(--cinder-text-sm);
10336
- margin: 0;
10337
- }
10338
-
10339
- .cinder-schema-form__error {
10340
- color: var(--cinder-danger);
10706
+ color: var(--cinder-text);
10341
10707
  font-size: var(--cinder-text-sm);
10342
- margin: 0;
10343
- }
10344
-
10345
- .cinder-schema-form__control {
10346
- inline-size: 100%;
10347
- }
10348
-
10349
- .cinder-schema-form__json-control {
10350
- font-family: var(--cinder-font-mono);
10351
- resize: vertical;
10352
- min-block-size: 8rem;
10353
- }
10354
-
10355
- .cinder-schema-form__array-item {
10356
- display: grid;
10357
- gap: var(--cinder-space-2);
10358
- padding: var(--cinder-space-3);
10359
- border: 1px dashed var(--cinder-border-muted);
10360
- border-radius: var(--cinder-radius-md);
10361
- }
10362
-
10363
- .cinder-schema-form__switch {
10364
- display: inline-grid;
10365
- grid-template-columns: 2.25rem minmax(0, 1fr);
10366
- align-items: center;
10367
- gap: var(--cinder-space-2);
10368
- color: inherit;
10369
- text-align: start;
10370
- cursor: pointer;
10371
- background: none;
10372
- border: 0;
10373
- justify-self: start;
10374
- padding: 0;
10708
+ font-weight: var(--cinder-font-medium);
10375
10709
  }
10376
-
10377
- .cinder-schema-form__switch-thumb {
10378
- position: relative;
10379
- border: 1px solid var(--cinder-border-muted);
10380
- background: var(--cinder-surface-inset);
10381
- transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard), border-color var(--cinder-duration-fast) var(--cinder-ease-standard);
10382
- border-radius: 999px;
10383
- block-size: 1.25rem;
10384
- inline-size: 2.25rem;
10710
+
10711
+ .cinder-schema-form__field {
10712
+ display: grid;
10713
+ gap: var(--cinder-space-2);
10385
10714
  }
10386
10715
 
10387
- .cinder-schema-form__switch-thumb:after {
10388
- position: absolute;
10389
- background: var(--cinder-surface);
10390
- box-shadow: var(--cinder-shadow-sm);
10391
- content: "";
10392
- transition: transform var(--cinder-duration-fast) var(--cinder-ease-standard);
10393
- border-radius: 999px;
10394
- block-size: .875rem;
10395
- inline-size: .875rem;
10396
- inset-block-start: 50%;
10397
- inset-inline-start: .125rem;
10398
- transform: translateY(-50%);
10716
+ .cinder-schema-form__description {
10717
+ color: var(--cinder-text-muted);
10718
+ font-size: var(--cinder-text-sm);
10719
+ margin: 0;
10399
10720
  }
10400
10721
 
10401
- .cinder-schema-form__switch[data-cinder-checked="true"] .cinder-schema-form__switch-thumb {
10402
- border-color: var(--cinder-accent);
10403
- background: var(--cinder-accent);
10722
+ .cinder-schema-form__error {
10723
+ color: var(--cinder-danger);
10724
+ font-size: var(--cinder-text-sm);
10725
+ margin: 0;
10404
10726
  }
10405
10727
 
10406
- .cinder-schema-form__switch[data-cinder-checked="true"] .cinder-schema-form__switch-thumb:after {
10407
- transform: translate(1rem, -50%);
10728
+ .cinder-schema-form__json-control {
10729
+ font-family: var(--cinder-font-mono);
10730
+ resize: vertical;
10731
+ min-block-size: 8rem;
10408
10732
  }
10409
10733
 
10410
- .cinder-schema-form__control[aria-invalid="true"], .cinder-schema-form__switch[data-cinder-invalid="true"] .cinder-schema-form__switch-thumb {
10411
- border-color: var(--cinder-danger);
10734
+ .cinder-schema-form__array-item {
10735
+ display: grid;
10736
+ gap: var(--cinder-space-2);
10737
+ padding: var(--cinder-space-3);
10738
+ border: 1px dashed var(--cinder-border-muted);
10739
+ border-radius: var(--cinder-radius-md);
10412
10740
  }
10413
10741
 
10414
- .cinder-schema-form__switch:focus-visible .cinder-schema-form__switch-thumb, .cinder-schema-form__secondary-button:focus-visible, .cinder-schema-form__submit:focus-visible {
10742
+ .cinder-schema-form__secondary-button:focus-visible, .cinder-schema-form__submit:focus-visible {
10415
10743
  outline: var(--cinder-ring-width) solid transparent;
10416
10744
  box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--cinder-ring-color);
10417
10745
  }
@@ -10444,12 +10772,14 @@
10444
10772
  }
10445
10773
 
10446
10774
  @media (forced-colors: active) {
10447
- .cinder-schema-form__switch-thumb, .cinder-schema-form__secondary-button, .cinder-schema-form__submit {
10775
+ .cinder-schema-form__secondary-button, .cinder-schema-form__submit {
10448
10776
  border-color: canvastext;
10449
10777
  }
10450
10778
 
10451
- .cinder-schema-form__switch:focus-visible .cinder-schema-form__switch-thumb, .cinder-schema-form__secondary-button:focus-visible, .cinder-schema-form__submit:focus-visible {
10452
- outline-color: highlight;
10779
+ .cinder-schema-form__secondary-button:focus-visible, .cinder-schema-form__submit:focus-visible {
10780
+ outline: var(--cinder-ring-width) solid Highlight;
10781
+ outline-offset: 3px;
10782
+ box-shadow: none;
10453
10783
  }
10454
10784
  }
10455
10785
  }
@@ -11029,7 +11359,7 @@
11029
11359
  }
11030
11360
 
11031
11361
  .cinder-segmented-control-option:focus-visible {
11032
- outline: 2px solid #0000;
11362
+ outline: var(--cinder-ring-width) solid transparent;
11033
11363
  box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--cinder-ring-color);
11034
11364
  z-index: 1;
11035
11365
  }
@@ -11059,6 +11389,14 @@
11059
11389
  z-index: 1;
11060
11390
  }
11061
11391
 
11392
+ @media (forced-colors: active) {
11393
+ .cinder-segmented-control:not([data-cinder-variant="tablist"]) .cinder-segmented-control-option[data-cinder-selected]:focus-visible, .cinder-segmented-control:not([data-cinder-variant="tablist"]) .cinder-segmented-control-option[data-cinder-pressed]:focus-visible {
11394
+ outline: var(--cinder-ring-width) solid Highlight;
11395
+ outline-offset: 1px;
11396
+ box-shadow: none;
11397
+ }
11398
+ }
11399
+
11062
11400
  .cinder-segmented-control[data-cinder-selection-mode="single"][data-cinder-variant="tablist"] {
11063
11401
  background: none;
11064
11402
  border: none;
@@ -11087,6 +11425,12 @@
11087
11425
  outline: var(--cinder-ring-width) solid Highlight;
11088
11426
  outline-offset: 1px;
11089
11427
  }
11428
+
11429
+ .cinder-segmented-control[data-cinder-selection-mode="single"][data-cinder-variant="tablist"] .cinder-segmented-control-option[data-cinder-selected]:focus-visible {
11430
+ outline: var(--cinder-ring-width) solid Highlight;
11431
+ outline-offset: 1px;
11432
+ box-shadow: none;
11433
+ }
11090
11434
  }
11091
11435
 
11092
11436
  @media (hover: hover) {
@@ -11124,14 +11468,21 @@
11124
11468
  flex-direction: column;
11125
11469
  }
11126
11470
 
11127
- .cinder-select-field > label {
11128
- display: inline-block;
11471
+ .cinder-select-field__label {
11472
+ display: inline-flex;
11473
+ align-items: center;
11474
+ gap: var(--cinder-space-1);
11129
11475
  font-size: var(--cinder-text-xs);
11130
11476
  font-weight: var(--cinder-font-medium);
11131
11477
  color: var(--cinder-text);
11132
11478
  line-height: 1;
11133
11479
  }
11134
11480
 
11481
+ .cinder-select-field__label[data-disabled] {
11482
+ color: var(--cinder-text-disabled);
11483
+ cursor: not-allowed;
11484
+ }
11485
+
11135
11486
  .cinder-select-field__control {
11136
11487
  display: block;
11137
11488
  position: relative;
@@ -11492,7 +11843,7 @@
11492
11843
  }
11493
11844
 
11494
11845
  .cinder-share-card__title {
11495
- font-weight: 600;
11846
+ font-weight: var(--cinder-font-semibold);
11496
11847
  font-size: var(--cinder-text-sm);
11497
11848
  color: var(--cinder-text);
11498
11849
  margin: 0;
@@ -11544,9 +11895,9 @@
11544
11895
  color: var(--cinder-text);
11545
11896
  cursor: pointer;
11546
11897
  font-size: var(--cinder-text-sm);
11898
+ font-weight: var(--cinder-font-medium);
11899
+ transition: background-color var(--cinder-duration-fast) var(--cinder-ease-standard), border-color var(--cinder-duration-fast) var(--cinder-ease-standard);
11547
11900
  white-space: nowrap;
11548
- transition: background-color .15s, border-color .15s;
11549
- font-weight: 500;
11550
11901
  }
11551
11902
 
11552
11903
  @media (hover: hover) {
@@ -11561,6 +11912,14 @@
11561
11912
  box-shadow: 0 0 0 var(--cinder-ring-offset) var(--cinder-ring-offset-color), 0 0 0 calc(var(--cinder-ring-offset) + var(--cinder-ring-width)) var(--cinder-ring-color);
11562
11913
  }
11563
11914
 
11915
+ @media (forced-colors: active) {
11916
+ .cinder-share-card__action:focus-visible {
11917
+ outline: var(--cinder-ring-width) solid ButtonText;
11918
+ outline-offset: 3px;
11919
+ box-shadow: none;
11920
+ }
11921
+ }
11922
+
11564
11923
  .cinder-share-card__action[data-cinder-copied] {
11565
11924
  color: var(--cinder-color-success-fg);
11566
11925
  border-color: var(--cinder-color-success-border);
@@ -12129,7 +12488,7 @@
12129
12488
  }
12130
12489
 
12131
12490
  .cinder-sortable-item--shifting {
12132
- transition: transform .15s;
12491
+ transition: transform var(--cinder-duration-fast) var(--cinder-ease-standard);
12133
12492
  }
12134
12493
 
12135
12494
  @media (prefers-reduced-motion: reduce) {
@@ -12276,17 +12635,17 @@
12276
12635
 
12277
12636
  .cinder-slider__range {
12278
12637
  position: absolute;
12279
- inset-block: 0;
12280
- left: var(--_cinder-slider-low);
12281
- right: calc(100% - var(--_cinder-slider-high));
12282
12638
  background: var(--cinder-accent);
12283
12639
  border-radius: var(--cinder-radius-full);
12284
- transition: left var(--cinder-duration-fast, .12s) var(--cinder-ease-standard, ease), right var(--cinder-duration-fast, .12s) var(--cinder-ease-standard, ease);
12640
+ transition: inset-inline-start var(--cinder-duration-fast, .12s) var(--cinder-ease-standard, ease), inset-inline-end var(--cinder-duration-fast, .12s) var(--cinder-ease-standard, ease);
12641
+ inset-block: 0;
12642
+ inset-inline-start: var(--_cinder-slider-low);
12643
+ inset-inline-end: calc(100% - var(--_cinder-slider-high));
12285
12644
  }
12286
12645
 
12287
12646
  .cinder-slider:not(.cinder-slider--range) .cinder-slider__range {
12288
- left: 0;
12289
- right: calc(100% - var(--_cinder-slider-low));
12647
+ inset-inline-start: 0;
12648
+ inset-inline-end: calc(100% - var(--_cinder-slider-low));
12290
12649
  }
12291
12650
 
12292
12651
  .cinder-slider__ticks {
@@ -12298,19 +12657,18 @@
12298
12657
  .cinder-slider__tick {
12299
12658
  position: absolute;
12300
12659
  top: 50%;
12301
- left: var(--_cinder-slider-tick);
12302
12660
  background: var(--cinder-border, currentColor);
12303
12661
  border-radius: var(--cinder-radius-full);
12304
12662
  opacity: .6;
12305
12663
  width: 2px;
12306
12664
  height: .5rem;
12665
+ inset-inline-start: var(--_cinder-slider-tick);
12307
12666
  transform: translate(-50%, -50%);
12308
12667
  }
12309
12668
 
12310
12669
  .cinder-slider__thumb {
12311
12670
  position: absolute;
12312
12671
  top: 50%;
12313
- left: var(--_cinder-slider-pos);
12314
12672
  width: var(--_cinder-slider-thumb-size);
12315
12673
  height: var(--_cinder-slider-thumb-size);
12316
12674
  background: var(--cinder-surface-raised, white);
@@ -12319,10 +12677,15 @@
12319
12677
  cursor: grab;
12320
12678
  box-shadow: var(--cinder-shadow-sm);
12321
12679
  touch-action: none;
12322
- transition: left var(--cinder-duration-fast, .12s) var(--cinder-ease-standard, ease), box-shadow var(--cinder-duration-fast, .12s) var(--cinder-ease-standard, ease);
12680
+ transition: inset-inline-start var(--cinder-duration-fast, .12s) var(--cinder-ease-standard, ease), box-shadow var(--cinder-duration-fast, .12s) var(--cinder-ease-standard, ease);
12681
+ inset-inline-start: var(--_cinder-slider-pos);
12323
12682
  transform: translate(-50%, -50%);
12324
12683
  }
12325
12684
 
12685
+ .cinder-slider__tick:dir(rtl), .cinder-slider__thumb:dir(rtl) {
12686
+ transform: translate(50%, -50%);
12687
+ }
12688
+
12326
12689
  .cinder-slider__thumb[data-cinder-active] {
12327
12690
  z-index: 2;
12328
12691
  }
@@ -12678,7 +13041,7 @@
12678
13041
  transform: translateY(-50%);
12679
13042
  }
12680
13043
 
12681
- .cinder-speed-dial[data-cinder-open="true"] .cinder-speed-dial__actions {
13044
+ .cinder-speed-dial[data-cinder-open] .cinder-speed-dial__actions {
12682
13045
  pointer-events: auto;
12683
13046
  }
12684
13047
 
@@ -12691,7 +13054,7 @@
12691
13054
  transform: scale(.86);
12692
13055
  }
12693
13056
 
12694
- .cinder-speed-dial[data-cinder-open="true"] .cinder-speed-dial-action {
13057
+ .cinder-speed-dial[data-cinder-open] .cinder-speed-dial-action {
12695
13058
  opacity: 1;
12696
13059
  transform: none;
12697
13060
  }
@@ -12728,7 +13091,7 @@
12728
13091
  max-inline-size: 12rem;
12729
13092
  }
12730
13093
 
12731
- .cinder-speed-dial[data-cinder-open="false"] .cinder-speed-dial-action {
13094
+ .cinder-speed-dial:not([data-cinder-open]) .cinder-speed-dial-action {
12732
13095
  pointer-events: none;
12733
13096
  }
12734
13097
 
@@ -12851,14 +13214,14 @@
12851
13214
 
12852
13215
  [data-cinder-state="current"] .cinder-steps__marker {
12853
13216
  background: var(--cinder-surface);
12854
- box-shadow: 0 0 0 2px var(--cinder-ring-color);
13217
+ box-shadow: 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
12855
13218
  color: var(--cinder-accent-text);
12856
13219
  }
12857
13220
 
12858
13221
  @media (forced-colors: active) {
12859
13222
  [data-cinder-state="current"] .cinder-steps__marker {
12860
- outline: 2px solid buttontext;
12861
- outline-offset: 2px;
13223
+ outline: var(--cinder-ring-width) solid ButtonText;
13224
+ outline-offset: var(--cinder-ring-width);
12862
13225
  box-shadow: none;
12863
13226
  }
12864
13227
  }
@@ -13110,7 +13473,7 @@
13110
13473
  }
13111
13474
 
13112
13475
  .cinder-stat-group[data-cinder-columns="auto"] {
13113
- grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
13476
+ grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
13114
13477
  }
13115
13478
 
13116
13479
  .cinder-stat-group[data-cinder-columns="1"] {
@@ -13179,6 +13542,30 @@
13179
13542
  line-height: 1.25;
13180
13543
  }
13181
13544
 
13545
+ .cinder-status-dot[data-cinder-state] {
13546
+ padding: var(--cinder-space-0-5) var(--cinder-space-2);
13547
+ font-size: var(--cinder-text-xs);
13548
+ font-weight: var(--cinder-font-medium);
13549
+ border-radius: var(--cinder-radius-full);
13550
+ background: var(--cinder-surface-inset);
13551
+ }
13552
+
13553
+ .cinder-status-dot[data-cinder-state="connected"] {
13554
+ color: var(--cinder-success);
13555
+ }
13556
+
13557
+ .cinder-status-dot[data-cinder-state="connecting"] {
13558
+ color: var(--cinder-warning);
13559
+ }
13560
+
13561
+ .cinder-status-dot[data-cinder-state="disconnected"] {
13562
+ color: var(--cinder-text-muted);
13563
+ }
13564
+
13565
+ .cinder-status-dot[data-cinder-state="error"] {
13566
+ color: var(--cinder-danger);
13567
+ }
13568
+
13182
13569
  .cinder-status-dot__indicator {
13183
13570
  display: inline-block;
13184
13571
  inline-size: var(--cinder-status-dot-size);
@@ -13213,7 +13600,7 @@
13213
13600
  --cinder-status-dot-color: var(--cinder-warning);
13214
13601
  }
13215
13602
 
13216
- .cinder-status-dot[data-cinder-status="error"] {
13603
+ .cinder-status-dot[data-cinder-status="danger"] {
13217
13604
  --cinder-status-dot-color: var(--cinder-danger);
13218
13605
  }
13219
13606
 
@@ -13232,10 +13619,27 @@
13232
13619
  .cinder-status-dot[data-cinder-status="accent"] {
13233
13620
  --cinder-status-dot-color: var(--cinder-accent);
13234
13621
  }
13235
- }
13236
13622
 
13237
- /* src/components/subscription-badge/subscription-badge.css */
13238
- @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
13623
+ .cinder-status-dot[data-cinder-state="connecting"] .cinder-status-dot__indicator {
13624
+ animation: cinder-status-dot-pulse 1.4s ease-in-out infinite;
13625
+ }
13626
+
13627
+ @keyframes cinder-status-dot-pulse {
13628
+ 0%, 100% {
13629
+ opacity: 1;
13630
+ }
13631
+
13632
+ 50% {
13633
+ opacity: .3;
13634
+ }
13635
+ }
13636
+
13637
+ @media (prefers-reduced-motion: reduce) {
13638
+ .cinder-status-dot[data-cinder-state="connecting"] .cinder-status-dot__indicator {
13639
+ animation: none;
13640
+ }
13641
+ }
13642
+ }
13239
13643
 
13240
13644
  /* src/components/surface/surface.css */
13241
13645
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
@@ -13375,6 +13779,14 @@
13375
13779
  z-index: 2;
13376
13780
  }
13377
13781
 
13782
+ @media (forced-colors: active) {
13783
+ .cinder-table__sort-button:focus-visible {
13784
+ outline: var(--cinder-ring-width) solid ButtonText;
13785
+ outline-offset: 2px;
13786
+ box-shadow: none;
13787
+ }
13788
+ }
13789
+
13378
13790
  @media (hover: hover) {
13379
13791
  .cinder-table__sort-button:hover {
13380
13792
  background: var(--cinder-surface-hover);
@@ -13779,13 +14191,20 @@
13779
14191
  }
13780
14192
 
13781
14193
  .cinder-textarea-label {
13782
- display: block;
14194
+ display: inline-flex;
14195
+ align-items: center;
14196
+ gap: var(--cinder-space-1);
13783
14197
  font-size: var(--cinder-text-xs);
13784
14198
  font-weight: var(--cinder-font-medium);
13785
14199
  color: var(--cinder-text);
13786
14200
  line-height: 1;
13787
14201
  }
13788
14202
 
14203
+ .cinder-textarea-label[data-disabled] {
14204
+ color: var(--cinder-text-disabled);
14205
+ cursor: not-allowed;
14206
+ }
14207
+
13789
14208
  .cinder-textarea {
13790
14209
  display: block;
13791
14210
  resize: vertical;
@@ -13840,6 +14259,14 @@
13840
14259
  border-color: #0000;
13841
14260
  }
13842
14261
 
14262
+ @media (forced-colors: active) {
14263
+ .cinder-textarea[aria-invalid="true"]:focus-visible {
14264
+ outline: var(--cinder-ring-width) solid Mark;
14265
+ outline-offset: 3px;
14266
+ box-shadow: none;
14267
+ }
14268
+ }
14269
+
13843
14270
  .cinder-textarea:disabled {
13844
14271
  cursor: not-allowed;
13845
14272
  resize: none;
@@ -13871,6 +14298,65 @@
13871
14298
  }
13872
14299
  }
13873
14300
 
14301
+ /* src/components/time-field/time-field.css */
14302
+ @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
14303
+
14304
+ @layer cinder.components {
14305
+ .cinder-time-field {
14306
+ display: grid;
14307
+ gap: var(--cinder-space-2);
14308
+ color: var(--cinder-text);
14309
+ }
14310
+
14311
+ .cinder-time-field__label {
14312
+ font-size: var(--cinder-text-sm);
14313
+ font-weight: var(--cinder-font-semibold);
14314
+ }
14315
+
14316
+ .cinder-time-field__controls {
14317
+ display: flex;
14318
+ gap: var(--cinder-space-2);
14319
+ flex-wrap: wrap;
14320
+ align-items: center;
14321
+ }
14322
+
14323
+ .cinder-time-field__input, .cinder-time-field__timezone {
14324
+ padding-block: var(--cinder-space-2);
14325
+ padding-inline: var(--cinder-space-3);
14326
+ color: var(--cinder-text);
14327
+ background: var(--cinder-surface);
14328
+ border: 1px solid var(--cinder-border);
14329
+ border-radius: var(--cinder-radius-md);
14330
+ min-height: 2.25rem;
14331
+ }
14332
+
14333
+ .cinder-time-field__input:focus-visible, .cinder-time-field__timezone:focus-visible {
14334
+ outline: var(--cinder-ring-width) solid transparent;
14335
+ box-shadow: var(--_cinder-focus-ring-shadow);
14336
+ }
14337
+
14338
+ @media (forced-colors: active) {
14339
+ .cinder-time-field__input:focus-visible, .cinder-time-field__timezone:focus-visible {
14340
+ outline: var(--cinder-ring-width) solid ButtonText;
14341
+ outline-offset: 3px;
14342
+ box-shadow: none;
14343
+ }
14344
+ }
14345
+
14346
+ .cinder-time-field__description, .cinder-time-field__error {
14347
+ font-size: var(--cinder-text-sm);
14348
+ margin: 0;
14349
+ }
14350
+
14351
+ .cinder-time-field__description {
14352
+ color: var(--cinder-text-muted);
14353
+ }
14354
+
14355
+ .cinder-time-field__error {
14356
+ color: var(--cinder-danger);
14357
+ }
14358
+ }
14359
+
13874
14360
  /* src/components/toast-region/toast-region.css */
13875
14361
  @layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
13876
14362
 
@@ -14145,6 +14631,14 @@
14145
14631
  box-shadow: var(--_cinder-focus-ring-shadow);
14146
14632
  }
14147
14633
 
14634
+ @media (forced-colors: active) {
14635
+ .cinder-transfer-list__list:focus-visible {
14636
+ outline: var(--cinder-ring-width) solid ButtonText;
14637
+ outline-offset: calc(-1 * var(--cinder-ring-width));
14638
+ box-shadow: none;
14639
+ }
14640
+ }
14641
+
14148
14642
  .cinder-transfer-list__option {
14149
14643
  padding: var(--cinder-space-2) var(--cinder-space-3);
14150
14644
  border-radius: var(--cinder-radius-sm);
@@ -14204,6 +14698,14 @@
14204
14698
  box-shadow: var(--_cinder-focus-ring-shadow);
14205
14699
  }
14206
14700
 
14701
+ @media (forced-colors: active) {
14702
+ .cinder-transfer-list__control:focus-visible {
14703
+ outline: var(--cinder-ring-width) solid ButtonText;
14704
+ outline-offset: 3px;
14705
+ box-shadow: none;
14706
+ }
14707
+ }
14708
+
14207
14709
  @container cinder-transfer-list (width <= 42rem) {
14208
14710
  .cinder-transfer-list__layout {
14209
14711
  grid-template-columns: minmax(0, 1fr);
@@ -14585,6 +15087,14 @@
14585
15087
  box-shadow: 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
14586
15088
  }
14587
15089
 
15090
+ @media (forced-colors: active) {
15091
+ .cinder-tree__filter-input:focus-visible {
15092
+ outline: var(--cinder-ring-width) solid ButtonText;
15093
+ outline-offset: 3px;
15094
+ box-shadow: none;
15095
+ }
15096
+ }
15097
+
14588
15098
  .cinder-tree__selection-controls {
14589
15099
  display: flex;
14590
15100
  gap: var(--cinder-space-2, .5rem);
@@ -14665,6 +15175,50 @@
14665
15175
  min-block-size: 2.25rem;
14666
15176
  }
14667
15177
 
15178
+ .cinder-tree-item__disclosure, .cinder-tree-item__disclosure-spacer {
15179
+ flex: none;
15180
+ block-size: 1rem;
15181
+ inline-size: 1rem;
15182
+ }
15183
+
15184
+ .cinder-tree-item__disclosure {
15185
+ display: inline-flex;
15186
+ border-radius: var(--cinder-radius-sm);
15187
+ color: currentColor;
15188
+ cursor: pointer;
15189
+ background: none;
15190
+ border: 0;
15191
+ justify-content: center;
15192
+ align-items: center;
15193
+ padding: 0;
15194
+ }
15195
+
15196
+ .cinder-tree-item__disclosure > span {
15197
+ transition: transform var(--cinder-duration-fast) var(--cinder-ease-standard);
15198
+ border-block-end: 1.5px solid;
15199
+ border-inline-end: 1.5px solid;
15200
+ block-size: .45rem;
15201
+ inline-size: .45rem;
15202
+ transform: rotate(-45deg);
15203
+ }
15204
+
15205
+ .cinder-tree-item__disclosure[aria-expanded="true"] > span {
15206
+ transform: rotate(45deg);
15207
+ }
15208
+
15209
+ .cinder-tree-item__disclosure:focus-visible {
15210
+ outline: var(--cinder-ring-width) solid transparent;
15211
+ box-shadow: 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
15212
+ }
15213
+
15214
+ @media (forced-colors: active) {
15215
+ .cinder-tree-item__disclosure:focus-visible {
15216
+ outline: var(--cinder-ring-width) solid ButtonText;
15217
+ outline-offset: 2px;
15218
+ box-shadow: none;
15219
+ }
15220
+ }
15221
+
14668
15222
  .cinder-tree-item__checkbox {
14669
15223
  accent-color: var(--cinder-accent, currentColor);
14670
15224
  pointer-events: auto;
@@ -14699,6 +15253,14 @@
14699
15253
  box-shadow: 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
14700
15254
  }
14701
15255
 
15256
+ @media (forced-colors: active) {
15257
+ .cinder-tree-item__drag-handle:focus-visible {
15258
+ outline: var(--cinder-ring-width) solid ButtonText;
15259
+ outline-offset: 2px;
15260
+ box-shadow: none;
15261
+ }
15262
+ }
15263
+
14702
15264
  .cinder-tree-item__label {
14703
15265
  flex: auto;
14704
15266
  min-inline-size: 0;
@@ -14778,6 +15340,14 @@
14778
15340
  box-shadow: 0 0 0 var(--cinder-ring-width) var(--cinder-ring-color);
14779
15341
  }
14780
15342
 
15343
+ @media (forced-colors: active) {
15344
+ .cinder-tree-item__rename-input:focus-visible {
15345
+ outline: var(--cinder-ring-width) solid ButtonText;
15346
+ outline-offset: 3px;
15347
+ box-shadow: none;
15348
+ }
15349
+ }
15350
+
14781
15351
  .cinder-tree-item__rename-input[aria-invalid="true"] {
14782
15352
  border-color: var(--cinder-danger);
14783
15353
  }