@revolist/ui 4.0.1-rc → 4.0.1

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 (427) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +36 -0
  3. package/OWNERSHIP.md +32 -32
  4. package/README.md +405 -264
  5. package/_button.scss +6 -2
  6. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  7. package/_chunks/calculator-CDWOuAcp.js +4 -0
  8. package/_chunks/calendar-DJqiFwFT.js +258 -0
  9. package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
  10. package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
  11. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  12. package/_chunks/choice-chips-yr6Uzmof.js +126 -0
  13. package/_chunks/clock-BOhPNlW3.js +4 -0
  14. package/_chunks/color-palette-DMJUChWC.js +92 -0
  15. package/_chunks/{color-picker-BRv-__AM.js → color-picker-CMWxQlWt.js} +61 -56
  16. package/_chunks/component-DyWiItBR.js +878 -0
  17. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BKd7U8OW.js} +0 -12
  18. package/_chunks/configurator-actions-DCodxcUw.js +155 -0
  19. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  20. package/_chunks/control-CbOYUakE.js +118 -0
  21. package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
  22. package/_chunks/controls-DD1qvPfE.js +650 -0
  23. package/_chunks/{date-control-CYCkb1aQ.js → date-control-XI2cpKI_.js} +21 -21
  24. package/_chunks/date-time-CGJdC1Qa.js +807 -0
  25. package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-CW9vjLnk.js} +7 -7
  26. package/_chunks/dialog.parts-CJ3FVxC9.js +131 -0
  27. package/_chunks/duration-CBJWK82T.js +272 -0
  28. package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
  29. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  30. package/_chunks/field-configurator-B-qtIwx1.js +288 -0
  31. package/_chunks/field-context-D57PnBbH.js +5 -0
  32. package/_chunks/framework-mount-Bk4O_T7T.js +54 -0
  33. package/_chunks/hooks.module-CG3gN83z.js +157 -0
  34. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  35. package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
  36. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  37. package/_chunks/minus-BOAR3A1C.js +4 -0
  38. package/_chunks/mount-C7i5gsKI.js +267 -0
  39. package/_chunks/native-Blr3byjO.js +32 -0
  40. package/_chunks/native-control-B9MNibfa.js +649 -0
  41. package/_chunks/{number-input-NnH57J4j.js → number-input-CgbZes5B.js} +89 -89
  42. package/_chunks/picker-DqpjDC90.js +122 -0
  43. package/_chunks/plus-CbGRkIGl.js +4 -0
  44. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  45. package/_chunks/popup-C35Isk7p.js +378 -0
  46. package/_chunks/preact.module-BBM36DnO.js +290 -0
  47. package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-WDrfiluf.js} +10 -10
  48. package/_chunks/render-m5eMMwFR.js +83 -0
  49. package/_chunks/reorder-list-C4HSda4n.js +59 -0
  50. package/_chunks/request-trail-SHynDFdM.js +762 -0
  51. package/_chunks/rich-text-CtjqRvv8.js +842 -0
  52. package/_chunks/rotate-left-BF6G883o.js +4 -0
  53. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  54. package/_chunks/selection-list-tooltips-BtWjpP6M.js +41 -0
  55. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  56. package/_chunks/tooltip-D4xkio5G.js +54 -0
  57. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  58. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  59. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  60. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  61. package/_dialog.scss +55 -21
  62. package/_form.scss +71 -21
  63. package/_legend.scss +25 -7
  64. package/_shared/data-query/index.d.ts +2 -2
  65. package/_shared/data-query/load-options.d.ts +2 -2
  66. package/_variables.scss +34 -32
  67. package/_vendor/preact/LICENSE +21 -0
  68. package/_vendor/preact/compat/src/index.d.ts +353 -0
  69. package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
  70. package/_vendor/preact/compat/src/suspense.d.ts +19 -0
  71. package/_vendor/preact/hooks/src/index.d.ts +145 -0
  72. package/_vendor/preact/src/dom.d.ts +2548 -0
  73. package/_vendor/preact/src/index.d.ts +373 -0
  74. package/_vendor/preact/src/jsx.d.ts +2958 -0
  75. package/_view-switcher.scss +6 -0
  76. package/activity-message.d.ts +2 -2
  77. package/activity-message.js +16 -16
  78. package/ai/_chat.scss +227 -0
  79. package/ai/_style.scss +170 -39
  80. package/ai/chat.d.ts +65 -0
  81. package/ai/components.d.ts +35 -6
  82. package/ai/index.d.ts +3 -0
  83. package/ai/index.js +3 -3
  84. package/ai/mount.d.ts +59 -6
  85. package/ai/prompt-history.d.ts +13 -0
  86. package/ai/request-trail.d.ts +9 -3
  87. package/ai/results/_style.scss +83 -0
  88. package/ai/results/index.d.ts +11 -0
  89. package/ai/results/metrics.d.ts +5 -0
  90. package/ai/results/table.d.ts +5 -0
  91. package/ai/results/text.d.ts +5 -0
  92. package/ai/results/types.d.ts +29 -0
  93. package/ai/transcript.d.ts +27 -0
  94. package/ai/translation-context.d.ts +1 -1
  95. package/ai/translations.d.ts +1 -1
  96. package/alert.d.ts +2 -2
  97. package/angular/angular.d.ts +1 -1
  98. package/angular/angular.js +13 -10
  99. package/assignee/assignee.scss +28 -6
  100. package/assignee/field.d.ts +2 -2
  101. package/assignee/index.js +86 -87
  102. package/assignee/layout.d.ts +2 -2
  103. package/assignee/picker.d.ts +1 -1
  104. package/avatar/avatar.style.scss +23 -6
  105. package/avatar/index.d.ts +25 -2
  106. package/avatar/index.js +42 -41
  107. package/badge.d.ts +1 -1
  108. package/badge.view.d.ts +8 -0
  109. package/brush-range/_brush-range.scss +55 -49
  110. package/brush-range/component.d.ts +2 -4
  111. package/brush-range/component.js +19 -19
  112. package/buttons/delete-button.d.ts +2 -1
  113. package/buttons/delete-button.js +1 -1
  114. package/buttons/delete-button.style.scss +6 -2
  115. package/buttons/remove-button.d.ts +2 -2
  116. package/buttons/remove-button.js +3 -3
  117. package/buttons/remove-button.style.scss +1 -1
  118. package/buttons/svg-button.d.ts +3 -2
  119. package/buttons/svg-button.js +23 -23
  120. package/calendar/_calendar.scss +27 -26
  121. package/calendar/calendar.d.ts +1 -1
  122. package/calendar/calendar.js +1 -1
  123. package/calendar/caption.d.ts +1 -1
  124. package/calendar/day.d.ts +1 -1
  125. package/calendar/day.js +4 -4
  126. package/calendar/header.d.ts +1 -1
  127. package/calendar/header.js +34 -35
  128. package/calendar/index.js +2 -2
  129. package/calendar/month-grid.d.ts +1 -1
  130. package/calendar/month-grid.js +37 -37
  131. package/calendar/picker.d.ts +1 -1
  132. package/calendar/types.d.ts +1 -1
  133. package/calendar/year-grid.d.ts +1 -1
  134. package/calendar/year-grid.js +12 -12
  135. package/cell-input.scss +3 -7
  136. package/cell-visuals/badge.style.scss +6 -3
  137. package/cell-visuals/bar-chart.style.scss +2 -1
  138. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  139. package/cell-visuals/progress-line.style.scss +1 -4
  140. package/cell-visuals/sparkline.style.scss +2 -1
  141. package/cell-visuals/timeline.style.css +4 -2
  142. package/checkbox/checkbox.scss +6 -24
  143. package/checkbox/index.d.ts +2 -2
  144. package/checkbox/index.js +9 -9
  145. package/choice-chips/index.d.ts +4 -2
  146. package/choice-chips/index.js +1 -1
  147. package/color-palette/color-palette.d.ts +1 -1
  148. package/color-palette/color-palette.js +1 -1
  149. package/color-palette/color-palette.style.scss +88 -25
  150. package/color-palette/color-picker.d.ts +1 -1
  151. package/color-palette/color-picker.js +2 -2
  152. package/color-palette/color-picker.style.scss +23 -10
  153. package/color-palette/common-palettes.d.ts +1 -1
  154. package/color-palette/common-palettes.js +1 -1
  155. package/color-palette/native.d.ts +15 -2
  156. package/component-catalog.d.ts +42 -29
  157. package/configurator-actions.d.ts +67 -0
  158. package/configurator-actions.js +1 -0
  159. package/configurator-aggregation-list.d.ts +14 -0
  160. package/configurator-aggregation-list.js +63 -0
  161. package/configurator-drop-zone.d.ts +39 -0
  162. package/configurator-drop-zone.js +66 -0
  163. package/configurator-field-icon.d.ts +10 -0
  164. package/configurator-field-icon.js +1 -0
  165. package/configurator-focus.d.ts +4 -0
  166. package/configurator-focus.js +39 -0
  167. package/configurator-sections.d.ts +42 -0
  168. package/configurator-sections.js +71 -0
  169. package/control-attributes.js +7 -7
  170. package/control-presentation.d.ts +8 -2
  171. package/control-presentation.js +31 -26
  172. package/controls.d.ts +23 -11
  173. package/controls.js +4 -3
  174. package/core/editor-commit.d.ts +1 -1
  175. package/core/editor-popup-position.d.ts +6 -2
  176. package/core/editor-popup.d.ts +5 -1
  177. package/core/editor-popup.js +1 -1
  178. package/core/popover-controller.d.ts +35 -0
  179. package/core/popup-ownership.d.ts +2 -0
  180. package/core/selection-list-tooltips.d.ts +2 -0
  181. package/core/title-tooltip.d.ts +2 -0
  182. package/core/tooltip-session.d.ts +29 -0
  183. package/core/tooltip-surface.d.ts +13 -0
  184. package/core/tooltip-text.d.ts +6 -0
  185. package/core/tooltip.d.ts +35 -0
  186. package/core/top-layer-popup.d.ts +4 -0
  187. package/core/top-layer-popup.js +1 -23
  188. package/date-time/attach.d.ts +1 -1
  189. package/date-time/date-control.d.ts +2 -2
  190. package/date-time/field.d.ts +4 -3
  191. package/date-time/index.js +1 -1
  192. package/date-time/picker.d.ts +1 -1
  193. package/date-time/style.scss +242 -39
  194. package/date-time/time-control.d.ts +1 -1
  195. package/date-time/time-selection.d.ts +3 -1
  196. package/date-time/types.d.ts +6 -2
  197. package/dialog/dialog-action-footer.d.ts +17 -2
  198. package/dialog/dialog.dom.d.ts +15 -2
  199. package/dialog/dialog.dom.js +53 -53
  200. package/dialog/dialog.parts.d.ts +18 -18
  201. package/dialog/dialog.parts.js +1 -1
  202. package/dialog/dialog.preact.d.ts +1 -1
  203. package/dialog/dialog.preact.js +6 -6
  204. package/distribution-chart/_distribution-chart.scss +113 -77
  205. package/distribution-chart/area-chart.d.ts +1 -1
  206. package/distribution-chart/area-chart.js +25 -25
  207. package/distribution-chart/bar-chart.d.ts +6 -3
  208. package/distribution-chart/bar-chart.js +10 -6
  209. package/distribution-chart/chart-frame.d.ts +3 -2
  210. package/distribution-chart/index.d.ts +2 -2
  211. package/distribution-chart/index.js +6 -6
  212. package/distribution-chart/line-chart.d.ts +1 -1
  213. package/distribution-chart/line-chart.js +9 -9
  214. package/distribution-chart/types.d.ts +1 -1
  215. package/dropdown/content.d.ts +3 -2
  216. package/dropdown/content.js +1 -141
  217. package/dropdown/control.d.ts +14 -0
  218. package/dropdown/control.js +1 -0
  219. package/dropdown/control.view.d.ts +6 -0
  220. package/dropdown/dropdown.service.d.ts +1 -1
  221. package/dropdown/dropdown.service.js +9 -9
  222. package/dropdown/dropdown.types.d.ts +5 -1
  223. package/dropdown/editor-dropdown.style.scss +54 -16
  224. package/dropdown/index.d.ts +1 -1
  225. package/dropdown/index.js +3 -4
  226. package/dropdown/lookup-field.d.ts +6 -1
  227. package/dropdown/lookup-field.js +42 -41
  228. package/dropdown/popup.d.ts +2 -2
  229. package/dropdown/popup.js +1 -140
  230. package/duration/controls.d.ts +1 -1
  231. package/duration/index.d.ts +2 -2
  232. package/duration/index.js +1 -1
  233. package/duration/style.scss +1 -1
  234. package/editor-actions.d.ts +1 -1
  235. package/editor-actions.js +21 -20
  236. package/editor-layout/index.d.ts +5 -5
  237. package/editor-layout/index.js +43 -38
  238. package/editor-layout/style.scss +82 -18
  239. package/field-configurator.d.ts +40 -2
  240. package/field-configurator.js +4 -170
  241. package/field-expansion.d.ts +9 -0
  242. package/field-reorder.hook.js +32 -32
  243. package/fieldset.d.ts +3 -0
  244. package/filter/filters/slider/_single-slider.scss +57 -38
  245. package/filter/filters/slider/_slider.scss +41 -33
  246. package/filter/filters/slider/control.js +2 -0
  247. package/filter/filters/slider/preact.js +3 -3
  248. package/filter/filters/slider/runtime.js +49 -22
  249. package/filter/filters/slider/single.d.ts +1 -1
  250. package/filter/filters/slider/single.js +23 -23
  251. package/filter-badge.d.ts +1 -1
  252. package/filter-badge.js +23 -22
  253. package/filter-controls.d.ts +1 -2
  254. package/filter-controls.js +29 -30
  255. package/form-controls/field-context.d.ts +5 -0
  256. package/form-controls/index.d.ts +10 -2
  257. package/form-controls/index.js +17 -22
  258. package/form-controls/presentation.d.ts +2 -2
  259. package/form-controls/presentation.js +59 -51
  260. package/formatting/comparison-preview.d.ts +1 -1
  261. package/formatting/icon-controls.d.ts +1 -1
  262. package/formatting/index.d.ts +1 -1
  263. package/formatting/index.js +106 -100
  264. package/formatting/inspector-section.d.ts +1 -1
  265. package/formatting/styles.scss +14 -57
  266. package/formatting/typography-controls.d.ts +1 -1
  267. package/framework-mount.d.ts +1 -1
  268. package/framework.js +237 -226
  269. package/history-controls.d.ts +14 -0
  270. package/history-controls.js +27 -0
  271. package/icon-toolbar.d.ts +62 -0
  272. package/icon-toolbar.js +1 -0
  273. package/icons/icon.d.ts +2 -2
  274. package/icons/icon.js +1 -1
  275. package/legend.d.ts +2 -2
  276. package/legend.js +12 -12
  277. package/masked-input/index.d.ts +1 -1
  278. package/masked-input/index.js +109 -109
  279. package/native-control.d.ts +14 -13
  280. package/native-control.js +3 -26
  281. package/native-controls.d.ts +54 -2
  282. package/native-styles.css +1 -1
  283. package/native-styles.scss +6 -2
  284. package/native.d.ts +3 -3
  285. package/native.js +49 -45
  286. package/number-input/index.d.ts +2 -2
  287. package/number-input/index.js +1 -1
  288. package/package.json +88 -15
  289. package/pagination.d.ts +3 -0
  290. package/pagination.js +50 -40
  291. package/pdf-viewer/component.d.ts +1 -1
  292. package/pdf-viewer/controller.js +1 -1
  293. package/pdf-viewer/header.d.ts +2 -2
  294. package/pdf-viewer/index.d.ts +2 -2
  295. package/pdf-viewer/index.js +13 -13
  296. package/pdf-viewer/search-bar.d.ts +2 -2
  297. package/pdf-viewer/status.d.ts +2 -2
  298. package/pdf-viewer/style.scss +205 -45
  299. package/pdf-viewer/toolbar.d.ts +1 -1
  300. package/pickers.d.ts +6 -2
  301. package/preact-mount.d.ts +1 -1
  302. package/preact-mount.js +2 -2
  303. package/preact.d.ts +15 -10
  304. package/preact.js +109 -64
  305. package/progress/_bar.scss +9 -3
  306. package/progress/_circular.scss +2 -1
  307. package/rating-choice.d.ts +1 -1
  308. package/rating-choice.js +1 -1
  309. package/react-adapter.d.ts +5 -3
  310. package/react-control.d.ts +1 -0
  311. package/react.d.ts +20 -11
  312. package/react.js +72 -88
  313. package/reorder-list.d.ts +2 -2
  314. package/reorder-list.js +1 -1
  315. package/reorder-list.scss +59 -17
  316. package/resource-picker/resource-picker-avatar.d.ts +1 -1
  317. package/resource-picker/resource-picker-avatar.js +14 -14
  318. package/resource-picker/resource-picker-option.d.ts +1 -1
  319. package/resource-picker/resource-picker-option.js +28 -28
  320. package/resource-picker/resource-picker-popup.d.ts +1 -1
  321. package/resource-picker/resource-picker-popup.js +3 -3
  322. package/resource-picker/resource-picker.d.ts +1 -1
  323. package/resource-picker/resource-picker.js +68 -66
  324. package/resource-picker/resource-picker.scss +66 -35
  325. package/rich-text/engine.d.ts +17 -19
  326. package/rich-text/format-html.d.ts +2 -0
  327. package/rich-text/index.d.ts +11 -7
  328. package/rich-text/index.js +1 -1
  329. package/rich-text/model.d.ts +6 -3
  330. package/rich-text/render-model.d.ts +4 -5
  331. package/rich-text/style.scss +295 -55
  332. package/rich-text/syntax.d.ts +5 -2
  333. package/rich-text/toolbar.d.ts +7 -7
  334. package/rich-text/translations.d.ts +5 -15
  335. package/search-input/index.js +12 -12
  336. package/search-input/native.d.ts +21 -2
  337. package/segmented-switch/index.d.ts +1 -1
  338. package/segmented-switch/index.js +1 -1
  339. package/select.d.ts +22 -0
  340. package/select.js +1 -0
  341. package/selection-list.d.ts +1 -0
  342. package/selection-list.js +3 -1
  343. package/status-feedback/exit-snapshot.js +1 -1
  344. package/status-feedback/index.js +2 -2
  345. package/status-feedback/popover.js +9 -9
  346. package/status-feedback/render.d.ts +2 -2
  347. package/status-feedback/render.js +3 -44
  348. package/status-feedback/status-feedback.scss +130 -34
  349. package/status-feedback/types.d.ts +4 -0
  350. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  351. package/styles/_activity-message.scss +24 -7
  352. package/styles/_alert.scss +78 -17
  353. package/styles/_cell-editor-frame.scss +11 -0
  354. package/styles/_compositions.scss +404 -82
  355. package/styles/_control.scss +42 -12
  356. package/styles/_disclosure.scss +15 -5
  357. package/styles/_editor-counter.scss +16 -6
  358. package/styles/_editor-slider.scss +8 -4
  359. package/styles/_field-configurator.scss +321 -23
  360. package/styles/_fields-grid.scss +49 -0
  361. package/styles/_filter-controls.scss +10 -2
  362. package/styles/_icon-action.scss +48 -15
  363. package/styles/_loading.scss +12 -3
  364. package/styles/_motion.scss +32 -9
  365. package/styles/_palette.scss +0 -24
  366. package/styles/_primitives.scss +376 -116
  367. package/styles/_theme.scss +130 -86
  368. package/styles/_thresholds.scss +28 -25
  369. package/styles/_time-grid.scss +8 -3
  370. package/styles/_tokens.scss +6 -1
  371. package/styles/configurator-actions.scss +241 -0
  372. package/styles/pagination.css +213 -0
  373. package/styles/{legacy-rating.css → rating.css} +8 -3
  374. package/styles.css +1 -1
  375. package/styles.scss +3 -5
  376. package/surfaces.d.ts +38 -2
  377. package/surfaces.js +37 -134
  378. package/svelte/UiComponent.server.js +1 -48
  379. package/svelte/UiComponent.svelte +44 -32
  380. package/svelte.d.ts +1 -1
  381. package/svelte.js +33 -68
  382. package/switch/index.js +3 -2
  383. package/time-grid.d.ts +1 -2
  384. package/time-grid.js +43 -42
  385. package/timeline-track/_style.scss +96 -24
  386. package/timeline-track/component.d.ts +5 -1
  387. package/timeline-track/index.js +91 -74
  388. package/timeline-track/model.d.ts +9 -0
  389. package/timeline-track/model.js +10 -1
  390. package/ui.css +1 -1
  391. package/view-switcher.d.ts +23 -0
  392. package/vue-adapter.d.ts +1 -1
  393. package/vue.d.ts +160 -144
  394. package/vue.js +149 -178
  395. package/_chunks/calendar-BsDxCYhI.js +0 -248
  396. package/_chunks/chart-frame-BvxbmEU9.js +0 -126
  397. package/_chunks/choice-chips-0HfOnK_4.js +0 -110
  398. package/_chunks/color-palette-BmZ7kH9R.js +0 -94
  399. package/_chunks/component-D4PH5UZT.js +0 -859
  400. package/_chunks/control-tooltip-BCNzQCXE.js +0 -100
  401. package/_chunks/controls-NEL5tDaz.js +0 -615
  402. package/_chunks/date-time-DjucJmbc.js +0 -769
  403. package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
  404. package/_chunks/dropdown-CkGQBm1Q.js +0 -357
  405. package/_chunks/duration-BCaktcvz.js +0 -270
  406. package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
  407. package/_chunks/editor-popup-B7fu_A_T.js +0 -81
  408. package/_chunks/framework-mount-BKIOsvY-.js +0 -54
  409. package/_chunks/mount-0-8opf1j.js +0 -90
  410. package/_chunks/native.view-8q_nwQ7x.js +0 -32
  411. package/_chunks/picker-oazJ7sO_.js +0 -121
  412. package/_chunks/reorder-list-BV3kZXso.js +0 -59
  413. package/_chunks/request-trail-D0oVzdRd.js +0 -347
  414. package/_chunks/rich-text-2Rla349o.js +0 -477
  415. package/avatar/index.view.d.ts +0 -25
  416. package/color-palette/native.view.d.ts +0 -15
  417. package/control-presentation.view.d.ts +0 -8
  418. package/dialog/dialog-action-footer.view.d.ts +0 -20
  419. package/dialog/dialog.dom.view.d.ts +0 -15
  420. package/form-controls/index.view.d.ts +0 -12
  421. package/formatting/control-tooltip.d.ts +0 -27
  422. package/native-controls.view.d.ts +0 -54
  423. package/react-native-select.d.ts +0 -6
  424. package/search-input/native.view.d.ts +0 -21
  425. package/styles/legacy-pagination.css +0 -112
  426. package/surfaces.view.d.ts +0 -63
  427. package/vue-native-select.d.ts +0 -9
@@ -2,6 +2,7 @@
2
2
  @use './disclosure';
3
3
  @use './alert';
4
4
  @use './loading';
5
+ @use './control';
5
6
 
6
7
  .rv-example-card {
7
8
  box-sizing: border-box;
@@ -11,104 +12,406 @@
11
12
  border: 0;
12
13
  border-radius: 10px;
13
14
  color: var(--rv-example-card-text, var(--rv-ui-text));
14
- 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
+ );
15
20
  font: 400 13px/1.5 var(--rv-example-card-font, system-ui, sans-serif);
16
21
  }
17
- @media (max-width: 560px) { .rv-example-card { padding: 12px; } }
22
+ @media (max-width: 560px) {
23
+ .rv-example-card {
24
+ padding: 12px;
25
+ }
26
+ }
18
27
 
19
- .rv-number-stepper, .rv-toolbar, .rv-date-picker, .rv-date-range-picker { display: flex; align-items: center; gap: 8px; min-width: 0; }
20
- .rv-toolbar { flex-wrap: wrap; }
21
- .rv-toolbar-separator { height: 24px; border-inline-start: 1px solid var(--rv-ui-border); }
22
- .rv-field__error { color: var(--rv-ui-danger); font-size: 12px; }
23
- .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); }
24
- .rv-empty-state { text-align: center; }
25
- .rv-popover, .rv-menu, .rv-tooltip { 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; }
26
- .rv-popover[hidden] { display: none; }
27
- .rv-menu { display: grid; gap: 2px; }
28
- .rv-menu > [role='menuitem'] { justify-content: start; text-align: start; }
29
- .rv-menu-separator { border-block-start: 1px solid var(--rv-ui-border); margin-block: 4px; }
30
- .rv-tooltip { font-size: 12px; padding: 6px 10px; pointer-events: none; }
31
- .rv-radio-group { display: flex; flex-wrap: wrap; gap: 12px; border: 0; padding: 0; margin: 0; }
32
- .rv-radio-group label { display: inline-flex; align-items: center; gap: 6px; }
33
- .rv-loading-container { position: relative; }
34
- .rv-loading-overlay { position: absolute; inset: 0; display: grid; place-items: center; background: color-mix(in srgb, var(--rv-ui-surface, white) 85%, transparent); }
35
- .rv-spinner { display: inline-flex; font-size: 24px; }
36
- .rv-spinner > span { animation: rv-ui-spin 1s linear infinite; }
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
+ }
37
87
 
38
- .rv-circular-progress { width: 36px; height: 36px; stroke-width: 3; color: var(--rv-ui-accent); }
39
- .rv-resize-handle { position: relative; width: 12px; min-height: 48px; flex: 0 0 12px; cursor: col-resize; touch-action: none; user-select: none; }
40
- .rv-resize-handle::after { content: ''; position: absolute; inset-block: 0; inset-inline-start: 5px; width: 2px; border-radius: 2px; background: var(--rv-ui-border-strong); transition: background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, cubic-bezier(.2, 0, 0, 1)); }
41
- .rv-resize-handle:hover::after, .rv-resize-handle:focus-visible::after { background: var(--rv-ui-accent); }
42
- .rv-resize-handle:focus-visible { outline: 2px solid var(--rv-ui-accent); }
43
- .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; }
44
- .rv-btn-sm { height: auto; min-height: 26px; padding: 4px 8px; font-size: 12px; }
45
- @media (prefers-reduced-motion: reduce) { .rv-spinner > span { animation: none; } }
46
- @media (max-width: 480px) { .rv-date-range-picker { flex-wrap: wrap; } .rv-date-range-picker > .rv-control { flex: 1 1 120px; } }
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
+ }
47
118
 
48
- .rv-ui-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); }
49
- .rv-form-section, .rv-radio-group { min-inline-size: 0; }
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
+ }
50
136
 
51
- .rv-badge--inline { position: static; inset: auto; transform: none; }
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
+ }
52
195
 
53
- .rv-control { color-scheme: var(--rv-ui-color-scheme, normal); }
54
- .rv-combobox .dropdown-trigger, .rv-multi-select .dropdown-trigger {
55
- min-height: 38px; padding: 8px 24px 8px 10px;
56
- border: 1px solid var(--rv-ui-border); border-radius: 8px;
57
- background: var(--rv-ui-surface-sunken); color: var(--rv-ui-text);
58
- }
59
- .rv-combobox .dropdown-trigger:focus-visible, .rv-multi-select .dropdown-trigger:focus-visible { outline: 2px solid var(--rv-ui-accent); outline-offset: 1px; }
60
- .rv-single-slider:focus-visible { outline: 2px solid var(--rv-ui-accent); outline-offset: 2px; }
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
+ }
204
+
205
+ .rv-badge--inline {
206
+ position: static;
207
+ inset: auto;
208
+ transform: none;
209
+ }
61
210
 
62
- .rv-spinner__ring { @include loading.ring; }
63
- .rv-rating { display: inline-flex; align-items: center; gap: 4px; }
64
- .rv-rating__star { display: inline-flex; color: var(--rv-rating-color, var(--rv-ui-accent)); }
65
- .rv-rating label { position: relative; display: inline-flex; padding: 4px; cursor: pointer; border-radius: 4px; }
66
- .rv-rating label input { position: absolute; opacity: 0; width: 1px; height: 1px; }
67
- .rv-rating label:has(input:focus-visible) { outline: 2px solid var(--rv-ui-accent); }
68
- .rv-rating label:has(input:disabled) { opacity: .55; cursor: not-allowed; }
211
+ .rv-control {
212
+ color-scheme: var(--rv-ui-color-scheme, normal);
213
+ }
214
+ .rv-combobox .dropdown-trigger,
215
+ .rv-multi-select .dropdown-trigger {
216
+ @include control.action-size;
217
+ padding-inline-end: 24px;
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;
231
+ }
232
+
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
+ }
69
265
 
70
- .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
+ }
71
277
 
72
- .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
+ }
73
285
 
74
- .rv-radio-group label:has(input:disabled) { opacity: .55; cursor: not-allowed; }
75
- .rv-date-range-picker { flex-wrap: wrap; }
76
- .rv-date-range-picker > .rv-control { flex: 1 1 170px; min-inline-size: min(170px, 100%); }
77
- .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
+ }
78
300
 
79
301
  .rv-slider-field {
80
302
  --range-color: var(--rv-slider-field-accent, var(--rv-ui-accent));
81
- display: grid; grid-template-columns: minmax(90px, 42%) minmax(90px, 1fr) auto;
82
- align-items: center; gap: 16px; min-width: 0; width: 100%; box-sizing: border-box; color: var(--rv-ui-text);
83
- &--stacked { grid-template-columns: minmax(0, 1fr) auto; }
84
- &--stacked .rv-slider-field__label { grid-column: 1 / -1; }
85
- &--none, &--thumb { grid-template-columns: minmax(90px, 42%) minmax(90px, 1fr); }
86
- &--stacked.rv-slider-field--none, &--stacked.rv-slider-field--thumb { grid-template-columns: minmax(0, 1fr); }
87
- &.is-disabled { --range-color: var(--rv-ui-border); color: var(--rv-ui-text-muted); }
88
- }
89
- .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
+ }
90
337
  .rv-slider-field__value {
91
- 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;
92
- --rv-ui-badge-bg: color-mix(in srgb, var(--range-color) 65%, black); --rv-ui-badge-fg: white;
93
- text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums;
94
- &::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
+ }
95
362
  }
96
363
  .rv-slider-field.is-disabled .rv-slider-field__value,
97
- .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
+ }
98
368
  .rv-slider-field__ticks {
99
- position: absolute; inset-inline: 10px; top: calc(50% - 2px); display: flex; justify-content: space-between; pointer-events: none;
100
- 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
+ }
101
385
  }
102
386
  .rv-slider-field__thumb-value {
103
- position: absolute; left: calc(10px + (100% - 20px) * var(--rv-slider-field-position)); transform: translateX(-50%);
104
- min-width: 20px; height: 20px; border-radius: 50%; padding: 0 3px; box-sizing: border-box;
105
- display: grid; place-items: center; background: color-mix(in srgb, var(--range-color) 65%, black); color: white;
106
- 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;
107
402
  }
108
403
  @media (max-width: 520px) {
109
- .rv-slider-field { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; }
110
- .rv-slider-field__label { grid-column: 1 / -1; }
111
- .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
+ }
112
415
  }
113
416
 
114
417
  button.rv-rating-choice {
@@ -123,10 +426,29 @@ button.rv-rating-choice {
123
426
  background: transparent;
124
427
  box-shadow: none;
125
428
  cursor: pointer;
126
- 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));
127
- .rv-rating__star { color: var(--rv-rating-color, var(--rating-progress-star-color, var(--rv-ui-accent))); }
128
- .rv-svg-icon { --rv-icon-size: 24px; }
129
- &:hover { background: var(--rv-ui-hover, var(--rv-ui-surface-hover)); }
130
- &:focus-visible { outline: 2px solid var(--rv-ui-accent); outline-offset: 1px; }
131
- &: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
+ }
132
454
  }
@@ -1,28 +1,58 @@
1
1
  @use './motion';
2
+ // Standalone actions and dropdowns share dimensions and typography across adapters.
3
+ @mixin action-size {
4
+ box-sizing: border-box;
5
+ min-height: var(--rv-control-height, 32px);
6
+ padding: var(--rv-control-padding, 6px 12px);
7
+ font-family: inherit;
8
+ font-size: var(--rv-control-font-size, 0.875rem);
9
+ line-height: 1;
10
+ }
11
+
2
12
  // One native field presentation, also available to legacy consumer selectors.
3
13
  @mixin field {
4
14
  appearance: none;
5
15
  box-sizing: border-box;
6
16
  width: 100%;
7
17
  min-width: 0;
8
- min-height: var(--rv-control-height, 38px);
9
- padding: var(--rv-control-padding, 8px 10px);
18
+ @include action-size;
10
19
  border: 1px solid var(--rv-control-border, var(--rv-ui-border));
11
20
  border-radius: var(--rv-control-radius, 8px);
12
21
  background-color: var(--rv-control-bg, var(--rv-ui-surface-sunken));
13
22
  color: var(--rv-control-color, inherit);
14
- font: inherit;
15
- line-height: 1.25;
23
+
16
24
  color-scheme: var(--rv-ui-color-scheme, normal);
17
25
  transition:
18
26
  border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),
19
- 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),
20
29
  opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease);
21
- &::placeholder { color: var(--rv-ui-text-muted); opacity: .8; }
22
- &:hover:not(:disabled):not([readonly]) { border-color: var(--rv-ui-border-strong); }
23
- &:focus { transition: none; outline: none; border-color: var(--rv-ui-accent); box-shadow: 0 0 0 3px var(--rv-ui-focus-ring); }
24
- &:disabled { cursor: not-allowed; opacity: var(--rv-control-disabled-opacity, .55); }
25
- &[readonly] { background-color: var(--rv-ui-surface); border-style: dashed; }
26
- &[aria-invalid='true'] { border-color: var(--rv-ui-danger); }
27
- &[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
+ }
28
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
+ }