@revolist/ui 4.0.5-rc → 4.0.5

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 (356) hide show
  1. package/MIGRATION.md +36 -0
  2. package/OWNERSHIP.md +36 -36
  3. package/README.md +65 -408
  4. package/_button.scss +6 -2
  5. package/_chunks/{calendar-DsXIhybL.js → calendar-BQYQLu8Q.js} +5 -5
  6. package/_chunks/{cell-visuals-E-2oEKHg.js → cell-visuals-r6DOOhGh.js} +7 -7
  7. package/_chunks/{chart-frame-CuZABXVI.js → chart-frame-GprenwEg.js} +17 -13
  8. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  9. package/_chunks/{choice-chips-BhP8MZjs.js → choice-chips-C5OxD0GV.js} +3 -3
  10. package/_chunks/{color-palette-DMJUChWC.js → color-palette-7siNch__.js} +3 -3
  11. package/_chunks/{color-picker-B4TQvxxB.js → color-picker-Cfc9eqZb.js} +4 -4
  12. package/_chunks/{component-qKctqdzk.js → component-C3k_8uIq.js} +44 -45
  13. package/_chunks/{component-metadata-BMOOmqx5.js → component-metadata-DlVkpW3h.js} +1 -9
  14. package/_chunks/{configurator-actions-C19O1rda.js → configurator-actions-vRnI54mO.js} +3 -3
  15. package/_chunks/{control-BkWukVt9.js → control-BRfF5DWQ.js} +32 -7
  16. package/_chunks/{controller-hRBm_Lfz.js → controller-BbiQuRt-.js} +5 -5
  17. package/_chunks/{controls-BLQnWEd7.js → controls-B3EgM_DS.js} +160 -132
  18. package/_chunks/{date-control-Cgw5PwlZ.js → date-control-87dcA5br.js} +5 -5
  19. package/_chunks/{date-time-B8rK5gpC.js → date-time-CfiFYodx.js} +316 -293
  20. package/_chunks/{delete-button-CW9vjLnk.js → delete-button-jneO24wa.js} +1 -1
  21. package/_chunks/dialog.parts-NqEEVc9P.js +131 -0
  22. package/_chunks/{duration-DwFXonEV.js → duration-BGZ_qJ99.js} +10 -7
  23. package/_chunks/{editor-commit-Bq3wSgvr.js → editor-commit-Dyo-FMgD.js} +1 -1
  24. package/_chunks/{editor-popup-BaaxL89T.js → editor-popup-NNP9Fh9U.js} +12 -11
  25. package/_chunks/field-configurator-DPulsY3l.js +288 -0
  26. package/_chunks/{field-context-D57PnBbH.js → field-context-C4_WrO2z.js} +1 -1
  27. package/_chunks/{framework-mount--RTLIqE-.js → framework-mount-D4I8HpVp.js} +2 -2
  28. package/_chunks/{icon-toolbar-xbqa0hu9.js → icon-toolbar-BAAdEvr9.js} +41 -35
  29. package/_chunks/{icons-Ci5mADVc.js → icons-B4qN13Yj.js} +1 -1
  30. package/_chunks/{iso-B0YHBK7m.js → iso-CJQl2kmq.js} +1 -1
  31. package/_chunks/{model-mPO2tG2f.js → model-CFrBgRHm.js} +3 -3
  32. package/_chunks/mount-C8CnIW9k.js +267 -0
  33. package/_chunks/{native.view-ByyZ1CT5.js → native-CJm3eq3-.js} +1 -1
  34. package/_chunks/{native-control-DO0d1kgx.js → native-control-um1L1wgZ.js} +124 -111
  35. package/_chunks/{number-input-s9ddPwX6.js → number-input-CKiA4d1N.js} +4 -4
  36. package/_chunks/{picker-AY05b41W.js → picker-igNshTRC.js} +5 -5
  37. package/_chunks/{popup-UXGCiv3n.js → popup-DECYM9FI.js} +21 -10
  38. package/_chunks/{rating-choice-BEs_QFZC.js → rating-choice-CepVfGUq.js} +2 -2
  39. package/_chunks/{render-m5eMMwFR.js → render-bTk3curw.js} +2 -2
  40. package/_chunks/{reorder-list-A49l172e.js → reorder-list-B4w3aARt.js} +2 -2
  41. package/_chunks/{request-trail-DCOfa5zw.js → request-trail-B1zVRPEf.js} +151 -142
  42. package/_chunks/{rich-text-xfMWadGi.js → rich-text-Ci4d6dHn.js} +11 -11
  43. package/_chunks/selection-list-tooltips-m00U3L6z.js +42 -0
  44. package/_chunks/{title-tooltip-Cw6LOZhb.js → title-tooltip-ncldbUwS.js} +2 -2
  45. package/_chunks/{tooltip-D4xkio5G.js → tooltip-h-Z8yFBY.js} +2 -2
  46. package/_chunks/{tooltip-owner-DjdvqKzz.js → tooltip-owner-BYho-vJl.js} +1 -1
  47. package/_chunks/{tooltip-session-B6X6x8G_.js → tooltip-session-CBtRMBPr.js} +3 -3
  48. package/_chunks/{tooltip-text-BXsUEmBH.js → tooltip-text-BN5WdGHn.js} +2 -2
  49. package/_chunks/{top-layer-popup-CNSDdfJV.js → top-layer-popup-CKJ7VJOF.js} +3 -3
  50. package/_dialog.scss +57 -22
  51. package/_form.scss +71 -21
  52. package/_legend.scss +25 -7
  53. package/_variables.scss +34 -32
  54. package/_view-switcher.scss +6 -0
  55. package/activity-message.d.ts +1 -1
  56. package/activity-message.js +1 -1
  57. package/ai/_chat.scss +7 -0
  58. package/ai/_style.scss +27 -20
  59. package/ai/components.d.ts +3 -1
  60. package/ai/index.js +2 -2
  61. package/ai/mount.d.ts +15 -7
  62. package/ai/request-trail.d.ts +9 -3
  63. package/ai/results/_style.scss +3 -0
  64. package/ai/results/index.d.ts +1 -1
  65. package/ai/translations.d.ts +1 -1
  66. package/angular/angular.d.ts +1 -1
  67. package/angular/angular.js +13 -7
  68. package/assignee/assignee.scss +28 -6
  69. package/assignee/index.js +6 -6
  70. package/avatar/avatar.style.scss +23 -6
  71. package/avatar/index.d.ts +25 -2
  72. package/avatar/index.js +2 -2
  73. package/badge.d.ts +1 -1
  74. package/badge.js +1 -1
  75. package/badge.view.d.ts +1 -1
  76. package/brush-range/_brush-range.scss +55 -49
  77. package/brush-range/component.d.ts +1 -3
  78. package/brush-range/component.js +10 -11
  79. package/buttons/delete-button.js +1 -1
  80. package/buttons/delete-button.style.scss +6 -2
  81. package/buttons/remove-button.d.ts +1 -1
  82. package/buttons/remove-button.js +2 -2
  83. package/buttons/remove-button.style.scss +1 -1
  84. package/buttons/svg-button.js +3 -3
  85. package/calendar/_calendar.scss +19 -23
  86. package/calendar/calendar.js +1 -1
  87. package/calendar/day.js +2 -2
  88. package/calendar/header.js +2 -3
  89. package/calendar/index.js +3 -3
  90. package/calendar/model.js +1 -1
  91. package/calendar/month-grid.js +2 -2
  92. package/calendar/translations.js +1 -1
  93. package/calendar/year-grid.js +2 -2
  94. package/cell-input.js +1 -1
  95. package/cell-input.scss +3 -7
  96. package/cell-visuals/badge.style.scss +6 -3
  97. package/cell-visuals/bar-chart.style.scss +2 -1
  98. package/cell-visuals/column-type.style.css +12 -0
  99. package/cell-visuals/index.js +1 -1
  100. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  101. package/cell-visuals/progress-line.style.scss +1 -4
  102. package/cell-visuals/sparkline.style.scss +2 -1
  103. package/cell-visuals/timeline.style.css +4 -2
  104. package/checkbox/checkbox.scss +6 -24
  105. package/checkbox/index.js +1 -1
  106. package/choice-chips/index.js +1 -1
  107. package/color-palette/built-in-palettes.js +1 -1
  108. package/color-palette/chart-palettes.js +1 -1
  109. package/color-palette/color-palette.js +1 -1
  110. package/color-palette/color-palette.style.scss +88 -25
  111. package/color-palette/color-picker.constants.js +1 -1
  112. package/color-palette/color-picker.js +2 -2
  113. package/color-palette/color-picker.style.scss +23 -10
  114. package/color-palette/common-palettes.d.ts +1 -1
  115. package/color-palette/common-palettes.js +2 -2
  116. package/color-palette/gantt-palettes.js +1 -1
  117. package/color-palette/native.d.ts +15 -2
  118. package/color-palette/palette.js +1 -1
  119. package/color-palette/pivot-palettes.js +1 -1
  120. package/color-palette/platform-palettes.js +1 -1
  121. package/color-palette/pro-palettes.js +1 -1
  122. package/color-palette/scheduler-palettes.js +1 -1
  123. package/component-catalog.d.ts +3 -6
  124. package/configurator-actions.d.ts +6 -6
  125. package/configurator-actions.js +1 -1
  126. package/configurator-aggregation-list.d.ts +1 -1
  127. package/configurator-aggregation-list.js +19 -17
  128. package/configurator-drop-zone.d.ts +3 -2
  129. package/configurator-drop-zone.js +34 -32
  130. package/configurator-focus.js +1 -1
  131. package/configurator-sections.d.ts +3 -3
  132. package/configurator-sections.js +1 -1
  133. package/control-attributes.js +1 -1
  134. package/control-presentation.d.ts +8 -2
  135. package/control-presentation.js +2 -2
  136. package/controls.d.ts +11 -0
  137. package/controls.js +4 -4
  138. package/core/anchored-popover.js +1 -1
  139. package/core/control-id.js +1 -1
  140. package/core/editor-popup-position.d.ts +6 -2
  141. package/core/editor-popup.d.ts +4 -0
  142. package/core/editor-popup.js +1 -1
  143. package/core/motion.js +1 -1
  144. package/{_chunks/popover-controller-D-AvKQ7B.js → core/popover-controller.js} +8 -8
  145. package/core/selection-list-tooltips.d.ts +2 -0
  146. package/core/tooltip.d.ts +1 -1
  147. package/core/top-layer-popup.d.ts +1 -1
  148. package/core/top-layer-popup.js +1 -1
  149. package/date-time/attach.d.ts +1 -1
  150. package/date-time/date-control.d.ts +1 -1
  151. package/date-time/field.d.ts +4 -2
  152. package/date-time/index.js +1 -1
  153. package/date-time/style.scss +206 -46
  154. package/date-time/time-selection.d.ts +1 -1
  155. package/date-time/types.d.ts +5 -1
  156. package/dialog/dialog-action-footer.d.ts +17 -2
  157. package/dialog/dialog.dom.d.ts +15 -2
  158. package/dialog/dialog.dom.js +3 -3
  159. package/dialog/dialog.drag.js +1 -1
  160. package/dialog/dialog.parts.d.ts +1 -1
  161. package/dialog/dialog.parts.js +1 -1
  162. package/dialog/dialog.preact.js +1 -1
  163. package/distribution-chart/_distribution-chart.scss +115 -23
  164. package/distribution-chart/area-chart.js +2 -2
  165. package/distribution-chart/bar-chart.js +2 -2
  166. package/distribution-chart/chart-frame.d.ts +1 -1
  167. package/distribution-chart/index.d.ts +1 -1
  168. package/distribution-chart/index.js +1 -1
  169. package/distribution-chart/line-chart.js +2 -2
  170. package/dropdown/content.js +1 -1
  171. package/dropdown/control.js +1 -1
  172. package/dropdown/dropdown.service.js +1 -1
  173. package/dropdown/dropdown.types.d.ts +1 -1
  174. package/dropdown/editor-dropdown.style.scss +19 -9
  175. package/dropdown/index.js +2 -2
  176. package/dropdown/lookup-field.d.ts +5 -0
  177. package/dropdown/lookup-field.js +3 -3
  178. package/dropdown/popup.js +1 -1
  179. package/duration/index.js +1 -1
  180. package/editor-actions.js +2 -2
  181. package/editor-layout/index.d.ts +4 -4
  182. package/editor-layout/index.js +40 -35
  183. package/editor-layout/style.scss +82 -18
  184. package/favicon.svg +9 -0
  185. package/field-configurator.d.ts +22 -3
  186. package/field-configurator.js +1 -1
  187. package/field-reorder.hook.js +1 -1
  188. package/field-reorder.js +1 -1
  189. package/filter/filters/slider/_single-slider.scss +57 -38
  190. package/filter/filters/slider/_slider.scss +41 -16
  191. package/filter/filters/slider/component.js +1 -1
  192. package/filter/filters/slider/control.js +1 -1
  193. package/filter/filters/slider/inputs.js +1 -1
  194. package/filter/filters/slider/logic.js +1 -1
  195. package/filter/filters/slider/preact.js +1 -1
  196. package/filter/filters/slider/runtime.js +3 -3
  197. package/filter/filters/slider/single.js +2 -2
  198. package/filter-badge.js +2 -2
  199. package/filter-controls.d.ts +0 -1
  200. package/filter-controls.js +6 -7
  201. package/form-controls/index.d.ts +10 -2
  202. package/form-controls/index.js +3 -3
  203. package/form-controls/presentation.d.ts +1 -1
  204. package/form-controls/presentation.js +2 -2
  205. package/formatting/index.d.ts +1 -1
  206. package/formatting/index.js +7 -7
  207. package/formatting/styles.scss +13 -11
  208. package/framework.js +201 -205
  209. package/history-controls.js +1 -1
  210. package/html-controls.js +1 -1
  211. package/icon-toolbar.d.ts +6 -2
  212. package/icon-toolbar.js +1 -1
  213. package/icons/icon.d.ts +1 -1
  214. package/icons/icon.js +1 -1
  215. package/legend.d.ts +1 -1
  216. package/legend.js +1 -1
  217. package/masked-input/index.js +4 -4
  218. package/native-control.js +1 -1
  219. package/native-controls.d.ts +54 -2
  220. package/native-styles.css +1 -1
  221. package/native-styles.scss +6 -2
  222. package/native.d.ts +3 -3
  223. package/native.js +35 -35
  224. package/number-input/index.d.ts +1 -1
  225. package/number-input/index.js +1 -1
  226. package/package.json +49 -1
  227. package/pagination.js +12 -12
  228. package/pdf-viewer/controller.js +1 -1
  229. package/pdf-viewer/header.d.ts +1 -1
  230. package/pdf-viewer/index.d.ts +2 -2
  231. package/pdf-viewer/index.js +3 -3
  232. package/pdf-viewer/search-bar.d.ts +1 -1
  233. package/pdf-viewer/status.d.ts +1 -1
  234. package/pdf-viewer/style.scss +203 -42
  235. package/preact-mount.js +1 -1
  236. package/preact.d.ts +6 -10
  237. package/preact.js +108 -70
  238. package/progress/_bar.scss +9 -3
  239. package/progress/_circular.scss +2 -1
  240. package/progress/bar.js +1 -1
  241. package/progress/circular.js +1 -1
  242. package/progress/range.js +1 -1
  243. package/rating-choice.js +1 -1
  244. package/react-adapter.d.ts +4 -2
  245. package/react-control.d.ts +2 -0
  246. package/react-control.js +3 -3
  247. package/react.d.ts +2 -8
  248. package/react.js +55 -56
  249. package/reorder-list.d.ts +1 -1
  250. package/reorder-list.js +1 -1
  251. package/reorder-list.scss +59 -17
  252. package/resource-picker/resource-picker-avatar.js +1 -1
  253. package/resource-picker/resource-picker-option.js +1 -1
  254. package/resource-picker/resource-picker-popup.js +2 -2
  255. package/resource-picker/resource-picker.js +74 -72
  256. package/resource-picker/resource-picker.scss +62 -34
  257. package/resource-picker/resource-picker.utils.js +1 -1
  258. package/rich-text/index.js +1 -1
  259. package/rich-text/style.scss +203 -49
  260. package/rich-text/toolbar.d.ts +1 -1
  261. package/robots.txt +4 -0
  262. package/search-input/index.js +2 -2
  263. package/search-input/native.d.ts +21 -2
  264. package/segmented-switch/index.js +1 -1
  265. package/select.js +1 -1
  266. package/selection-list.d.ts +1 -0
  267. package/selection-list.js +3 -1
  268. package/status-feedback/badge.js +2 -2
  269. package/status-feedback/exit-snapshot.js +2 -2
  270. package/status-feedback/header.js +2 -2
  271. package/status-feedback/icons.js +1 -1
  272. package/status-feedback/index.js +1 -1
  273. package/status-feedback/item.js +2 -2
  274. package/status-feedback/motion.js +1 -1
  275. package/status-feedback/placement.js +1 -1
  276. package/status-feedback/popover.js +2 -2
  277. package/status-feedback/render.js +1 -1
  278. package/status-feedback/status-feedback.scss +124 -35
  279. package/styles/_activity-message.scss +24 -7
  280. package/styles/_alert.scss +78 -17
  281. package/styles/_cell-editor-frame.scss +11 -0
  282. package/styles/_compositions.scss +399 -79
  283. package/styles/_control.scss +30 -8
  284. package/styles/_disclosure.scss +15 -5
  285. package/styles/_editor-counter.scss +16 -6
  286. package/styles/_editor-slider.scss +8 -4
  287. package/styles/_field-configurator.scss +194 -42
  288. package/styles/_fields-grid.scss +18 -4
  289. package/styles/_filter-controls.scss +10 -2
  290. package/styles/_icon-action.scss +48 -15
  291. package/styles/_loading.scss +12 -3
  292. package/styles/_motion.scss +32 -9
  293. package/styles/_palette.scss +0 -24
  294. package/styles/_primitives.scss +348 -96
  295. package/styles/_theme.scss +130 -86
  296. package/styles/_thresholds.scss +28 -25
  297. package/styles/_time-grid.scss +8 -3
  298. package/styles/_tokens.scss +6 -1
  299. package/styles/color-roles.js +1 -1
  300. package/styles/configurator-actions.scss +126 -26
  301. package/styles/pagination.css +213 -0
  302. package/styles/{legacy-rating.css → rating.css} +8 -3
  303. package/styles.css +1 -1
  304. package/styles.scss +3 -5
  305. package/surfaces.d.ts +37 -4
  306. package/surfaces.js +8 -8
  307. package/svelte/UiComponent.svelte +44 -11
  308. package/svelte-control.js +1 -1
  309. package/svelte.d.ts +1 -1
  310. package/svelte.js +5 -5
  311. package/switch/index.js +2 -2
  312. package/time-grid.d.ts +0 -1
  313. package/time-grid.js +6 -6
  314. package/timeline-track/_style.scss +96 -24
  315. package/timeline-track/index.js +3 -3
  316. package/timeline-track/model.js +1 -1
  317. package/ui.css +1 -1
  318. package/view-switcher.d.ts +23 -0
  319. package/vue-badge.js +1 -1
  320. package/vue-control.js +1 -1
  321. package/vue-segmented-switch.js +1 -1
  322. package/vue.d.ts +5 -23
  323. package/vue.js +84 -91
  324. package/_chunks/badge.view-D30pMUfi.js +0 -14
  325. package/_chunks/chevron-right-sxHQMSkq.js +0 -4
  326. package/_chunks/dialog.parts-BSbvnEwX.js +0 -134
  327. package/_chunks/field-configurator-1eQP0tKy.js +0 -223
  328. package/_chunks/mount-D1i5DLRn.js +0 -266
  329. package/_shared/data-query/binding.d.ts +0 -30
  330. package/_shared/data-query/blocks.d.ts +0 -30
  331. package/_shared/data-query/commands.d.ts +0 -47
  332. package/_shared/data-query/contracts.d.ts +0 -106
  333. package/_shared/data-query/cursor-reader.d.ts +0 -25
  334. package/_shared/data-query/direct-binding.d.ts +0 -3
  335. package/_shared/data-query/index.d.ts +0 -23
  336. package/_shared/data-query/infinite-binding.d.ts +0 -18
  337. package/_shared/data-query/keys.d.ts +0 -9
  338. package/_shared/data-query/limiter.d.ts +0 -12
  339. package/_shared/data-query/load-options.d.ts +0 -25
  340. package/_shared/data-query/materialize.d.ts +0 -2
  341. package/_shared/data-query/policy.d.ts +0 -14
  342. package/_shared/data-query/provider-queries.d.ts +0 -22
  343. package/_shared/data-query/reader.d.ts +0 -23
  344. package/_shared/data-query/remote-load.d.ts +0 -7
  345. package/_shared/data-query/source.d.ts +0 -40
  346. package/avatar/index.view.d.ts +0 -25
  347. package/color-palette/native.view.d.ts +0 -15
  348. package/control-presentation.view.d.ts +0 -8
  349. package/dialog/dialog-action-footer.view.d.ts +0 -20
  350. package/dialog/dialog.dom.view.d.ts +0 -15
  351. package/form-controls/index.view.d.ts +0 -10
  352. package/formatting/control-tooltip.d.ts +0 -2
  353. package/native-controls.view.d.ts +0 -54
  354. package/search-input/native.view.d.ts +0 -21
  355. package/styles/legacy-pagination.css +0 -129
  356. package/surfaces.view.d.ts +0 -33
@@ -12,105 +12,406 @@
12
12
  border: 0;
13
13
  border-radius: 10px;
14
14
  color: var(--rv-example-card-text, var(--rv-ui-text));
15
- background: color-mix(in srgb, var(--rv-example-card-text, var(--rv-ui-text)) 4%, var(--rv-example-card-surface, var(--rv-ui-surface)));
15
+ background: color-mix(
16
+ in srgb,
17
+ var(--rv-example-card-text, var(--rv-ui-text)) 4%,
18
+ var(--rv-example-card-surface, var(--rv-ui-surface))
19
+ );
16
20
  font: 400 13px/1.5 var(--rv-example-card-font, system-ui, sans-serif);
17
21
  }
18
- @media (max-width: 560px) { .rv-example-card { padding: 12px; } }
22
+ @media (max-width: 560px) {
23
+ .rv-example-card {
24
+ padding: 12px;
25
+ }
26
+ }
19
27
 
20
- .rv-number-stepper, .rv-toolbar, .rv-date-picker, .rv-date-range-picker { display: flex; align-items: center; gap: 8px; min-width: 0; }
21
- .rv-toolbar { flex-wrap: wrap; }
22
- .rv-toolbar-separator { height: 24px; border-inline-start: 1px solid var(--rv-ui-border); }
23
- .rv-field__error { color: var(--rv-ui-danger); font-size: 12px; }
24
- .rv-panel, .rv-empty-state { padding: 16px; border: 1px solid var(--rv-ui-border); border-radius: var(--rv-ui-radius, 8px); background: var(--rv-ui-surface); color: var(--rv-ui-text); }
25
- .rv-empty-state { text-align: center; }
26
- .rv-popover, .rv-menu { border: 1px solid var(--rv-ui-border); border-radius: var(--rv-ui-radius, 8px); background: var(--rv-ui-surface-elevated); color: var(--rv-ui-text); box-shadow: 0 8px 24px var(--rv-ui-shadow); padding: 8px; max-width: calc(100vw - 16px); max-height: calc(100vh - 16px); overflow: auto; z-index: 10000; }
27
- .rv-popover[hidden] { display: none; }
28
- .rv-menu { display: grid; gap: 2px; }
29
- .rv-menu > [role='menuitem'] { justify-content: start; text-align: start; }
30
- .rv-menu-separator { border-block-start: 1px solid var(--rv-ui-border); margin-block: 4px; }
28
+ .rv-number-stepper,
29
+ .rv-toolbar,
30
+ .rv-date-picker,
31
+ .rv-date-range-picker {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: 8px;
35
+ min-width: 0;
36
+ }
37
+ .rv-toolbar {
38
+ flex-wrap: wrap;
39
+ }
40
+ .rv-toolbar-separator {
41
+ height: 24px;
42
+ border-inline-start: 1px solid var(--rv-ui-border);
43
+ }
44
+ .rv-field__error {
45
+ color: var(--rv-ui-danger);
46
+ font-size: 12px;
47
+ }
48
+ .rv-panel,
49
+ .rv-empty-state {
50
+ padding: 16px;
51
+ border: 1px solid var(--rv-ui-border);
52
+ border-radius: var(--rv-ui-radius, 8px);
53
+ background: var(--rv-ui-surface);
54
+ color: var(--rv-ui-text);
55
+ }
56
+ .rv-empty-state {
57
+ text-align: center;
58
+ }
59
+ .rv-popover,
60
+ .rv-menu {
61
+ border: 1px solid var(--rv-ui-border);
62
+ border-radius: var(--rv-ui-radius, 8px);
63
+ background: var(--rv-ui-surface-elevated);
64
+ color: var(--rv-ui-text);
65
+ box-shadow: 0 8px 24px var(--rv-ui-shadow);
66
+ padding: 8px;
67
+ max-width: calc(100vw - 16px);
68
+ max-height: calc(100vh - 16px);
69
+ overflow: auto;
70
+ z-index: 10000;
71
+ }
72
+ .rv-popover[hidden] {
73
+ display: none;
74
+ }
75
+ .rv-menu {
76
+ display: grid;
77
+ gap: 2px;
78
+ }
79
+ .rv-menu > [role='menuitem'] {
80
+ justify-content: start;
81
+ text-align: start;
82
+ }
83
+ .rv-menu-separator {
84
+ border-block-start: 1px solid var(--rv-ui-border);
85
+ margin-block: 4px;
86
+ }
31
87
 
32
- .rv-radio-group { display: flex; flex-wrap: wrap; gap: 12px; border: 0; padding: 0; margin: 0; }
33
- .rv-radio-group label { display: inline-flex; align-items: center; gap: 6px; }
34
- .rv-loading-container { position: relative; }
35
- .rv-loading-overlay { position: absolute; inset: 0; display: grid; place-items: center; background: color-mix(in srgb, var(--rv-ui-surface, white) 85%, transparent); }
36
- .rv-spinner { display: inline-flex; font-size: 24px; }
37
- .rv-spinner > span { animation: rv-ui-spin 1s linear infinite; }
88
+ .rv-radio-group {
89
+ display: flex;
90
+ flex-wrap: wrap;
91
+ gap: 12px;
92
+ border: 0;
93
+ padding: 0;
94
+ margin: 0;
95
+ }
96
+ .rv-radio-group label {
97
+ display: inline-flex;
98
+ align-items: center;
99
+ gap: 6px;
100
+ }
101
+ .rv-loading-container {
102
+ position: relative;
103
+ }
104
+ .rv-loading-overlay {
105
+ position: absolute;
106
+ inset: 0;
107
+ display: grid;
108
+ place-items: center;
109
+ background: color-mix(in srgb, var(--rv-ui-surface, white) 85%, transparent);
110
+ }
111
+ .rv-spinner {
112
+ display: inline-flex;
113
+ font-size: 24px;
114
+ }
115
+ .rv-spinner > span {
116
+ animation: rv-ui-spin 1s linear infinite;
117
+ }
38
118
 
39
- .rv-circular-progress { width: 36px; height: 36px; stroke-width: 3; color: var(--rv-ui-accent); }
40
- .rv-resize-handle { position: relative; width: 12px; min-height: 48px; flex: 0 0 12px; cursor: col-resize; touch-action: none; user-select: none; }
41
- .rv-resize-handle::after { content: ''; position: absolute; inset-block: 0; inset-inline-start: 5px; width: 1px; border-radius: 2px; background: var(--rv-ui-border); transition: background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, cubic-bezier(.2, 0, 0, 1)); }
42
- .rv-resize-handle:hover::after, .rv-resize-handle:focus-visible::after { background: var(--rv-ui-accent); }
43
- .rv-resize-handle:focus-visible { outline: 2px solid var(--rv-ui-accent); }
44
- .rv-btn[aria-pressed='true'] { background: var(--rv-ui-selected-bg); color: var(--rv-ui-selected-accent-fg, var(--rv-ui-accent-text)); border-color: transparent; font-weight: 500; }
45
- .rv-btn-sm { height: auto; min-height: 26px; padding: 4px 8px; font-size: 12px; }
46
- @media (prefers-reduced-motion: reduce) { .rv-spinner > span { animation: none; } }
47
- @media (max-width: 480px) { .rv-date-range-picker { flex-wrap: wrap; } .rv-date-range-picker > .rv-control { flex: 1 1 120px; } }
119
+ .rv-circular-progress {
120
+ width: 36px;
121
+ height: 36px;
122
+ stroke-width: 3;
123
+ color: var(--rv-ui-accent);
124
+ }
125
+ .rv-panel-resize-handle {
126
+ position: absolute;
127
+ z-index: 4;
128
+ inset-block: 0;
129
+ right: 0;
130
+ display: flex;
131
+ }
132
+ .rv-panel-resize-handle[data-edge='left'] {
133
+ right: auto;
134
+ left: 0;
135
+ }
48
136
 
49
- .rv-ui-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); }
50
- .rv-form-section, .rv-radio-group { min-inline-size: 0; }
137
+ .rv-resize-handle {
138
+ position: relative;
139
+ width: 12px;
140
+ min-height: 48px;
141
+ flex: 0 0 12px;
142
+ cursor: col-resize;
143
+ touch-action: none;
144
+ user-select: none;
145
+ }
146
+ .rv-resize-handle::after {
147
+ content: '';
148
+ position: absolute;
149
+ inset-block: 0;
150
+ inset-inline-start: 5px;
151
+ width: 1px;
152
+ border-radius: 2px;
153
+ background: var(--rv-ui-border);
154
+ transition: background-color var(--rv-ui-motion-fast, 120ms)
155
+ var(--rv-ui-motion-ease, cubic-bezier(0.2, 0, 0, 1));
156
+ }
157
+ .rv-resize-handle:hover::after,
158
+ .rv-resize-handle:focus-visible::after {
159
+ background: var(--rv-ui-accent);
160
+ }
161
+ .rv-resize-handle:focus-visible {
162
+ outline: none;
163
+ }
164
+ @media (forced-colors: active) {
165
+ .rv-resize-handle:focus-visible {
166
+ outline: 2px solid Highlight;
167
+ outline-offset: 2px;
168
+ }
169
+ }
170
+ .rv-btn[aria-pressed='true'] {
171
+ background: var(--rv-ui-selected-bg);
172
+ color: var(--rv-ui-selected-accent-fg, var(--rv-ui-accent-text));
173
+ border-color: transparent;
174
+ font-weight: 500;
175
+ }
176
+ .rv-btn-sm {
177
+ height: auto;
178
+ min-height: 26px;
179
+ padding: 4px 8px;
180
+ font-size: 12px;
181
+ }
182
+ @media (prefers-reduced-motion: reduce) {
183
+ .rv-spinner > span {
184
+ animation: none;
185
+ }
186
+ }
187
+ @media (max-width: 480px) {
188
+ .rv-date-range-picker {
189
+ flex-wrap: wrap;
190
+ }
191
+ .rv-date-range-picker > .rv-control {
192
+ flex: 1 1 120px;
193
+ }
194
+ }
51
195
 
52
- .rv-badge--inline { position: static; inset: auto; transform: none; }
196
+ .rv-ui-dialog {
197
+ width: min(560px, calc(100vw - 32px));
198
+ max-height: calc(100dvh - 32px);
199
+ }
200
+ .rv-form-section,
201
+ .rv-radio-group {
202
+ min-inline-size: 0;
203
+ }
53
204
 
54
- .rv-control { color-scheme: var(--rv-ui-color-scheme, normal); }
55
- .rv-combobox .dropdown-trigger, .rv-multi-select .dropdown-trigger {
205
+ .rv-badge--inline {
206
+ position: static;
207
+ inset: auto;
208
+ transform: none;
209
+ }
210
+
211
+ .rv-control {
212
+ color-scheme: var(--rv-ui-color-scheme, normal);
213
+ }
214
+ .rv-combobox .dropdown-trigger,
215
+ .rv-multi-select .dropdown-trigger {
56
216
  @include control.action-size;
57
217
  padding-inline-end: 24px;
58
- border: 1px solid var(--rv-ui-border); border-radius: 8px;
59
- background: var(--rv-ui-surface-sunken); color: var(--rv-ui-text);
218
+ border: 1px solid var(--rv-ui-border);
219
+ border-radius: 8px;
220
+ background: var(--rv-ui-surface-sunken);
221
+ color: var(--rv-ui-text);
222
+ }
223
+ .rv-combobox .dropdown-trigger:focus-visible,
224
+ .rv-multi-select .dropdown-trigger:focus-visible {
225
+ outline: 2px solid var(--rv-ui-accent);
226
+ outline-offset: 1px;
227
+ }
228
+ .rv-single-slider:focus-visible {
229
+ outline: 2px solid var(--rv-ui-accent);
230
+ outline-offset: 2px;
60
231
  }
61
- .rv-combobox .dropdown-trigger:focus-visible, .rv-multi-select .dropdown-trigger:focus-visible { outline: 2px solid var(--rv-ui-accent); outline-offset: 1px; }
62
- .rv-single-slider:focus-visible { outline: 2px solid var(--rv-ui-accent); outline-offset: 2px; }
63
232
 
64
- .rv-spinner__ring { @include loading.ring; }
65
- .rv-rating { display: inline-flex; align-items: center; gap: 4px; }
66
- .rv-rating__star { display: inline-flex; color: var(--rv-rating-color, var(--rv-ui-accent)); }
67
- .rv-rating label { position: relative; display: inline-flex; padding: 4px; cursor: pointer; border-radius: 4px; }
68
- .rv-rating label input { position: absolute; opacity: 0; width: 1px; height: 1px; }
69
- .rv-rating label:has(input:focus-visible) { outline: 2px solid var(--rv-ui-accent); }
70
- .rv-rating label:has(input:disabled) { opacity: .55; cursor: not-allowed; }
233
+ .rv-spinner__ring {
234
+ @include loading.ring;
235
+ }
236
+ .rv-rating {
237
+ display: inline-flex;
238
+ align-items: center;
239
+ gap: 4px;
240
+ }
241
+ .rv-rating__star {
242
+ display: inline-flex;
243
+ color: var(--rv-rating-color, var(--rv-ui-accent));
244
+ }
245
+ .rv-rating label {
246
+ position: relative;
247
+ display: inline-flex;
248
+ padding: 4px;
249
+ cursor: pointer;
250
+ border-radius: 4px;
251
+ }
252
+ .rv-rating label input {
253
+ position: absolute;
254
+ opacity: 0;
255
+ width: 1px;
256
+ height: 1px;
257
+ }
258
+ .rv-rating label:has(input:focus-visible) {
259
+ outline: 2px solid var(--rv-ui-accent);
260
+ }
261
+ .rv-rating label:has(input:disabled) {
262
+ opacity: 0.55;
263
+ cursor: not-allowed;
264
+ }
71
265
 
72
- .rv-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
266
+ .rv-visually-hidden {
267
+ position: absolute;
268
+ width: 1px;
269
+ height: 1px;
270
+ padding: 0;
271
+ margin: -1px;
272
+ overflow: hidden;
273
+ clip-path: inset(50%);
274
+ white-space: nowrap;
275
+ border: 0;
276
+ }
73
277
 
74
- .rv-toolbar-group { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 14px; padding-block: 5px; }
278
+ .rv-toolbar-group {
279
+ display: inline-flex;
280
+ flex-wrap: wrap;
281
+ align-items: center;
282
+ gap: 14px;
283
+ padding-block: 5px;
284
+ }
75
285
 
76
- .rv-radio-group label:has(input:disabled) { opacity: .55; cursor: not-allowed; }
77
- .rv-date-range-picker { flex-wrap: wrap; }
78
- .rv-date-range-picker > .rv-control { flex: 1 1 170px; min-inline-size: min(170px, 100%); }
79
- .rv-date-range-picker > .rv-btn { flex: none; }
286
+ .rv-radio-group label:has(input:disabled) {
287
+ opacity: 0.55;
288
+ cursor: not-allowed;
289
+ }
290
+ .rv-date-range-picker {
291
+ flex-wrap: wrap;
292
+ }
293
+ .rv-date-range-picker > .rv-control {
294
+ flex: 1 1 170px;
295
+ min-inline-size: min(170px, 100%);
296
+ }
297
+ .rv-date-range-picker > .rv-btn {
298
+ flex: none;
299
+ }
80
300
 
81
301
  .rv-slider-field {
82
302
  --range-color: var(--rv-slider-field-accent, var(--rv-ui-accent));
83
- display: grid; grid-template-columns: minmax(90px, 42%) minmax(90px, 1fr) auto;
84
- align-items: center; gap: 16px; min-width: 0; width: 100%; box-sizing: border-box; color: var(--rv-ui-text);
85
- &--stacked { grid-template-columns: minmax(0, 1fr) auto; }
86
- &--stacked .rv-slider-field__label { grid-column: 1 / -1; }
87
- &--none, &--thumb { grid-template-columns: minmax(90px, 42%) minmax(90px, 1fr); }
88
- &--stacked.rv-slider-field--none, &--stacked.rv-slider-field--thumb { grid-template-columns: minmax(0, 1fr); }
89
- &.is-disabled { --range-color: var(--rv-ui-border); color: var(--rv-ui-text-muted); }
90
- }
91
- .rv-slider-field__track { position: relative; display: flex; align-items: center; min-width: 0; direction: ltr; }
303
+ display: grid;
304
+ grid-template-columns: minmax(90px, 42%) minmax(90px, 1fr) auto;
305
+ align-items: center;
306
+ gap: 16px;
307
+ min-width: 0;
308
+ width: 100%;
309
+ box-sizing: border-box;
310
+ color: var(--rv-ui-text);
311
+ &--stacked {
312
+ grid-template-columns: minmax(0, 1fr) auto;
313
+ }
314
+ &--stacked .rv-slider-field__label {
315
+ grid-column: 1 / -1;
316
+ }
317
+ &--none,
318
+ &--thumb {
319
+ grid-template-columns: minmax(90px, 42%) minmax(90px, 1fr);
320
+ }
321
+ &--stacked.rv-slider-field--none,
322
+ &--stacked.rv-slider-field--thumb {
323
+ grid-template-columns: minmax(0, 1fr);
324
+ }
325
+ &.is-disabled {
326
+ --range-color: var(--rv-ui-border);
327
+ color: var(--rv-ui-text-muted);
328
+ }
329
+ }
330
+ .rv-slider-field__track {
331
+ position: relative;
332
+ display: flex;
333
+ align-items: center;
334
+ min-width: 0;
335
+ direction: ltr;
336
+ }
92
337
  .rv-slider-field__value {
93
- position: relative; inset: auto; height: auto; min-width: 36px; padding: 4px 7px; border-radius: 6px; font-size: 12px; line-height: 1.4; box-sizing: border-box;
94
- --rv-ui-badge-bg: color-mix(in srgb, var(--range-color) 65%, black); --rv-ui-badge-fg: white;
95
- text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums;
96
- &::before { content: ''; position: absolute; width: 10px; height: 10px; inset-inline-start: -5px; top: calc(50% - 5px); transform: rotate(45deg); background: inherit; }
338
+ position: relative;
339
+ inset: auto;
340
+ height: auto;
341
+ min-width: 36px;
342
+ padding: 4px 7px;
343
+ border-radius: 6px;
344
+ font-size: 12px;
345
+ line-height: 1.4;
346
+ box-sizing: border-box;
347
+ --rv-ui-badge-bg: color-mix(in srgb, var(--range-color) 65%, black);
348
+ --rv-ui-badge-fg: white;
349
+ text-align: center;
350
+ white-space: nowrap;
351
+ font-variant-numeric: tabular-nums;
352
+ &::before {
353
+ content: '';
354
+ position: absolute;
355
+ width: 10px;
356
+ height: 10px;
357
+ inset-inline-start: -5px;
358
+ top: calc(50% - 5px);
359
+ transform: rotate(45deg);
360
+ background: inherit;
361
+ }
97
362
  }
98
363
  .rv-slider-field.is-disabled .rv-slider-field__value,
99
- .rv-slider-field.is-disabled .rv-slider-field__thumb-value { background: var(--rv-ui-border); color: var(--rv-ui-text-muted); }
364
+ .rv-slider-field.is-disabled .rv-slider-field__thumb-value {
365
+ background: var(--rv-ui-border);
366
+ color: var(--rv-ui-text-muted);
367
+ }
100
368
  .rv-slider-field__ticks {
101
- position: absolute; inset-inline: 10px; top: calc(50% - 2px); display: flex; justify-content: space-between; pointer-events: none;
102
- i { width: 4px; height: 4px; border-radius: 50%; background: color-mix(in srgb, var(--range-color) 40%, var(--rv-ui-surface)); }
369
+ position: absolute;
370
+ inset-inline: 10px;
371
+ top: calc(50% - 2px);
372
+ display: flex;
373
+ justify-content: space-between;
374
+ pointer-events: none;
375
+ i {
376
+ width: 4px;
377
+ height: 4px;
378
+ border-radius: 50%;
379
+ background: color-mix(
380
+ in srgb,
381
+ var(--range-color) 40%,
382
+ var(--rv-ui-surface)
383
+ );
384
+ }
103
385
  }
104
386
  .rv-slider-field__thumb-value {
105
- position: absolute; left: calc(10px + (100% - 20px) * var(--rv-slider-field-position)); transform: translateX(-50%);
106
- min-width: 20px; height: 20px; border-radius: 50%; padding: 0 3px; box-sizing: border-box;
107
- display: grid; place-items: center; background: color-mix(in srgb, var(--range-color) 65%, black); color: white;
108
- pointer-events: none; font-size: 11px; font-variant-numeric: tabular-nums;
387
+ position: absolute;
388
+ left: calc(10px + (100% - 20px) * var(--rv-slider-field-position));
389
+ transform: translateX(-50%);
390
+ min-width: 20px;
391
+ height: 20px;
392
+ border-radius: 50%;
393
+ padding: 0 3px;
394
+ box-sizing: border-box;
395
+ display: grid;
396
+ place-items: center;
397
+ background: color-mix(in srgb, var(--range-color) 65%, black);
398
+ color: white;
399
+ pointer-events: none;
400
+ font-size: 11px;
401
+ font-variant-numeric: tabular-nums;
109
402
  }
110
403
  @media (max-width: 520px) {
111
- .rv-slider-field { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; }
112
- .rv-slider-field__label { grid-column: 1 / -1; }
113
- .rv-slider-field--none, .rv-slider-field--thumb { grid-template-columns: minmax(0, 1fr); }
404
+ .rv-slider-field {
405
+ grid-template-columns: minmax(0, 1fr) auto;
406
+ gap: 8px 14px;
407
+ }
408
+ .rv-slider-field__label {
409
+ grid-column: 1 / -1;
410
+ }
411
+ .rv-slider-field--none,
412
+ .rv-slider-field--thumb {
413
+ grid-template-columns: minmax(0, 1fr);
414
+ }
114
415
  }
115
416
 
116
417
  button.rv-rating-choice {
@@ -125,10 +426,29 @@ button.rv-rating-choice {
125
426
  background: transparent;
126
427
  box-shadow: none;
127
428
  cursor: pointer;
128
- transition: background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, cubic-bezier(.2, 0, 0, 1)), opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, cubic-bezier(.2, 0, 0, 1));
129
- .rv-rating__star { color: var(--rv-rating-color, var(--rating-progress-star-color, var(--rv-ui-accent))); }
130
- .rv-svg-icon { --rv-icon-size: 24px; }
131
- &:hover { background: var(--rv-ui-hover, var(--rv-ui-surface-hover)); }
132
- &:focus-visible { outline: 2px solid var(--rv-ui-accent); outline-offset: 1px; }
133
- &:disabled { opacity: .55; cursor: not-allowed; }
429
+ transition:
430
+ background-color var(--rv-ui-motion-fast, 120ms)
431
+ var(--rv-ui-motion-ease, cubic-bezier(0.2, 0, 0, 1)),
432
+ opacity var(--rv-ui-motion-fast, 120ms)
433
+ var(--rv-ui-motion-ease, cubic-bezier(0.2, 0, 0, 1));
434
+ .rv-rating__star {
435
+ color: var(
436
+ --rv-rating-color,
437
+ var(--rating-progress-star-color, var(--rv-ui-accent))
438
+ );
439
+ }
440
+ .rv-svg-icon {
441
+ --rv-icon-size: 24px;
442
+ }
443
+ &:hover {
444
+ background: var(--rv-ui-hover, var(--rv-ui-surface-hover));
445
+ }
446
+ &:focus-visible {
447
+ outline: 2px solid var(--rv-ui-accent);
448
+ outline-offset: 1px;
449
+ }
450
+ &:disabled {
451
+ opacity: 0.55;
452
+ cursor: not-allowed;
453
+ }
134
454
  }
@@ -24,13 +24,35 @@
24
24
  color-scheme: var(--rv-ui-color-scheme, normal);
25
25
  transition:
26
26
  border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),
27
- background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),
27
+ background-color var(--rv-ui-motion-fast, 120ms)
28
+ var(--rv-ui-motion-ease, ease),
28
29
  opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease);
29
- &::placeholder { color: var(--rv-ui-text-muted); opacity: .8; }
30
- &:hover:not(:disabled):not([readonly]) { border-color: var(--rv-ui-border-strong); }
31
- &:focus { transition: none; outline: none; border-color: var(--rv-ui-accent); box-shadow: 0 0 0 3px var(--rv-ui-focus-ring); }
32
- &:disabled { cursor: not-allowed; opacity: var(--rv-control-disabled-opacity, .55); }
33
- &[readonly] { background-color: var(--rv-ui-surface); border-style: dashed; }
34
- &[aria-invalid='true'] { border-color: var(--rv-ui-danger); }
35
- &[aria-invalid='true']:focus { box-shadow: 0 0 0 3px color-mix(in srgb, var(--rv-ui-danger) 20%, transparent); }
30
+ &::placeholder {
31
+ color: var(--rv-ui-text-muted);
32
+ opacity: 0.8;
33
+ }
34
+ &:hover:not(:disabled):not([readonly]) {
35
+ border-color: var(--rv-ui-border-strong);
36
+ }
37
+ &:focus {
38
+ transition: none;
39
+ outline: none;
40
+ border-color: var(--rv-ui-accent);
41
+ box-shadow: 0 0 0 3px var(--rv-ui-focus-ring);
42
+ }
43
+ &:disabled {
44
+ cursor: not-allowed;
45
+ opacity: var(--rv-control-disabled-opacity, 0.55);
46
+ }
47
+ &[readonly] {
48
+ background-color: var(--rv-ui-surface);
49
+ border-style: dashed;
50
+ }
51
+ &[aria-invalid='true'] {
52
+ border-color: var(--rv-ui-danger);
53
+ }
54
+ &[aria-invalid='true']:focus {
55
+ box-shadow: 0 0 0 3px
56
+ color-mix(in srgb, var(--rv-ui-danger) 20%, transparent);
57
+ }
36
58
  }
@@ -26,13 +26,21 @@ details[open] > .rv-disclosure-summary--compact::before {
26
26
  }
27
27
 
28
28
  @media (prefers-reduced-motion: reduce) {
29
- .rv-disclosure-summary--compact::before { transition: none; }
29
+ .rv-disclosure-summary--compact::before {
30
+ transition: none;
31
+ }
30
32
  }
31
33
 
32
34
  // Keep native details state, keyboard behavior and intrinsic content sizing.
33
35
  // Browsers without these capabilities retain immediate native disclosure behavior.
34
- @supports (interpolate-size: allow-keywords) and (transition-behavior: allow-discrete) {
35
- :where(.rv-ui details, .rv-disclosure, .rv-format-inspector-section, .rv-configurator-available-fields) {
36
+ @supports (interpolate-size: allow-keywords) and
37
+ (transition-behavior: allow-discrete) {
38
+ :where(
39
+ .rv-ui details,
40
+ .rv-disclosure,
41
+ .rv-format-inspector-section,
42
+ .rv-configurator-available-fields
43
+ ) {
36
44
  interpolate-size: allow-keywords;
37
45
 
38
46
  &::details-content {
@@ -41,8 +49,10 @@ details[open] > .rv-disclosure-summary--compact::before {
41
49
  overflow: clip;
42
50
  overflow-clip-margin: 4px;
43
51
  transition:
44
- block-size var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out),
45
- opacity var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out),
52
+ block-size var(--rv-ui-motion-normal, 160ms)
53
+ var(--rv-ui-motion-ease, ease-out),
54
+ opacity var(--rv-ui-motion-normal, 160ms)
55
+ var(--rv-ui-motion-ease, ease-out),
46
56
  content-visibility var(--rv-ui-motion-normal, 160ms) allow-discrete;
47
57
  }
48
58
 
@@ -1,13 +1,21 @@
1
1
  @use './motion';
2
- revo-grid, .rv-ui, :root {
2
+ revo-grid,
3
+ .rv-ui,
4
+ :root {
3
5
  .revo-counter {
4
6
  --counter-button-size: 24px;
5
7
  --counter-value-size: 14px;
6
8
  --counter-spacing: 4px;
7
9
  --counter-button-bg: var(--revo-grid-background, var(--rv-ui-surface));
8
10
  --counter-button-color: var(--revo-grid-text, var(--rv-ui-text));
9
- --counter-button-hover-bg: var(--revo-primary-light, var(--rv-ui-surface-hover));
10
- --counter-button-border-color: var(--revo-grid-cell-border, var(--rv-ui-border));
11
+ --counter-button-hover-bg: var(
12
+ --revo-primary-light,
13
+ var(--rv-ui-surface-hover)
14
+ );
15
+ --counter-button-border-color: var(
16
+ --revo-grid-cell-border,
17
+ var(--rv-ui-border)
18
+ );
11
19
  --counter-value-color: var(--revo-grid-text, var(--rv-ui-text));
12
20
  --counter-disabled-opacity: 0.5;
13
21
 
@@ -32,8 +40,10 @@ revo-grid, .rv-ui, :root {
32
40
  line-height: 1;
33
41
  cursor: pointer;
34
42
  transition:
35
- background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),
36
- border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),
43
+ background-color var(--rv-ui-motion-fast, 120ms)
44
+ var(--rv-ui-motion-ease, ease),
45
+ border-color var(--rv-ui-motion-fast, 120ms)
46
+ var(--rv-ui-motion-ease, ease),
37
47
  color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),
38
48
  opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease);
39
49
  padding: 0;
@@ -65,4 +75,4 @@ revo-grid, .rv-ui, :root {
65
75
  user-select: none;
66
76
  }
67
77
  }
68
- }
78
+ }
@@ -2,7 +2,9 @@
2
2
  @use './thresholds' as *;
3
3
  @use '../filter/filters/slider/single-slider';
4
4
 
5
- revo-grid, .rv-ui, :root {
5
+ revo-grid,
6
+ .rv-ui,
7
+ :root {
6
8
  .revo-slider {
7
9
  --slider-thumb-size: 20px;
8
10
  --slider-track-height: 4px;
@@ -33,8 +35,6 @@ revo-grid, .rv-ui, :root {
33
35
  display: flex;
34
36
  align-items: center;
35
37
  }
36
- // Retain the legacy hook; the shared input now owns the track fill.
37
- &-fill { display: none; }
38
38
  &-input {
39
39
  @include single-slider.presentation;
40
40
  min-width: 0;
@@ -42,7 +42,11 @@ revo-grid, .rv-ui, :root {
42
42
  }
43
43
  &-value {
44
44
  @include thresholds;
45
- --rv-ui-badge-bg: color-mix(in srgb, var(--threshold-color) 16%, var(--rv-ui-surface));
45
+ --rv-ui-badge-bg: color-mix(
46
+ in srgb,
47
+ var(--threshold-color) 16%,
48
+ var(--rv-ui-surface)
49
+ );
46
50
  --rv-ui-badge-fg: var(--slider-value-color);
47
51
  position: static;
48
52
  inset: auto;