@revolist/ui 4.0.2-rc → 4.0.3-rc

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 (161) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +345 -263
  3. package/_chunks/{calendar-CpaUK7w1.js → calendar-xpZ0v3xf.js} +39 -29
  4. package/_chunks/{chart-frame-BC99KjGa.js → chart-frame-Cmc7xU1i.js} +16 -13
  5. package/_chunks/{choice-chips-Cs4D-3nH.js → choice-chips-CHQTUdLs.js} +10 -10
  6. package/_chunks/clock-BOhPNlW3.js +4 -0
  7. package/_chunks/{color-palette-BBMFmUNA.js → color-palette-D8vyPfld.js} +1 -1
  8. package/_chunks/{color-picker-D90Jg-M8.js → color-picker-CudqPYZo.js} +10 -10
  9. package/_chunks/{component-YDcfoOLz.js → component-C_T2VN5u.js} +182 -178
  10. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BMOOmqx5.js} +0 -4
  11. package/_chunks/control-AHKXD5Eu.js +93 -0
  12. package/_chunks/{control-tooltip-ztgmsG7H.js → control-tooltip-uscKfAnV.js} +15 -15
  13. package/_chunks/{controls-DIum-E66.js → controls-DsNi8V8I.js} +144 -129
  14. package/_chunks/{date-control-BJSzu79z.js → date-control-DrVFX13g.js} +1 -1
  15. package/_chunks/{date-time-BxPJusp9.js → date-time-qIhp5vaX.js} +143 -145
  16. package/_chunks/{delete-button-Bblyah10.js → delete-button-CW9vjLnk.js} +6 -6
  17. package/_chunks/{dialog.parts-DBqo3Qwb.js → dialog.parts-CKGkC5zP.js} +20 -20
  18. package/_chunks/{duration-87U2EoMS.js → duration-CL68Em0o.js} +16 -15
  19. package/_chunks/{editor-popup-D3JdS8l3.js → editor-popup-WDdtVDNA.js} +5 -5
  20. package/_chunks/field-context-D57PnBbH.js +5 -0
  21. package/_chunks/{framework-mount-C-Zwm44H.js → framework-mount--RTLIqE-.js} +1 -1
  22. package/_chunks/history-controls-B3u3INEK.js +27 -0
  23. package/_chunks/mount-DQ1cpppK.js +257 -0
  24. package/_chunks/native-control-C_yok8_-.js +605 -0
  25. package/_chunks/{number-input-BeIadZuL.js → number-input-BKwA5FnM.js} +2 -2
  26. package/_chunks/{picker-DpP7iQLA.js → picker-h1P5RUgp.js} +2 -2
  27. package/_chunks/popup-CT2uD3go.js +367 -0
  28. package/_chunks/{rating-choice-Ca8ZBty3.js → rating-choice-DZgmaic0.js} +1 -1
  29. package/_chunks/render-m5eMMwFR.js +83 -0
  30. package/_chunks/{reorder-list-Cc3KmfAN.js → reorder-list-CSlqAGHw.js} +1 -1
  31. package/_chunks/request-trail-DSlFix6i.js +618 -0
  32. package/_chunks/rich-text-CH7gIqOS.js +636 -0
  33. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  34. package/_form.scss +1 -1
  35. package/ai/_chat.scss +195 -0
  36. package/ai/_style.scss +105 -34
  37. package/ai/chat.d.ts +63 -0
  38. package/ai/components.d.ts +19 -3
  39. package/ai/index.d.ts +2 -0
  40. package/ai/index.js +3 -3
  41. package/ai/mount.d.ts +30 -1
  42. package/ai/prompt-history.d.ts +13 -0
  43. package/ai/transcript.d.ts +25 -0
  44. package/ai/translations.d.ts +1 -1
  45. package/angular/angular.js +0 -3
  46. package/assignee/index.js +34 -35
  47. package/buttons/delete-button.d.ts +2 -1
  48. package/buttons/delete-button.js +1 -1
  49. package/buttons/remove-button.js +1 -1
  50. package/buttons/svg-button.d.ts +1 -0
  51. package/buttons/svg-button.js +5 -5
  52. package/calendar/_calendar.scss +7 -2
  53. package/calendar/calendar.js +1 -1
  54. package/calendar/index.js +2 -2
  55. package/choice-chips/index.js +1 -1
  56. package/color-palette/color-palette.js +1 -1
  57. package/color-palette/color-picker.js +2 -2
  58. package/component-catalog.d.ts +16 -5
  59. package/control-attributes.js +7 -7
  60. package/controls.d.ts +8 -6
  61. package/controls.js +3 -3
  62. package/core/editor-popup.js +1 -1
  63. package/date-time/index.js +1 -1
  64. package/date-time/style.scss +4 -4
  65. package/dialog/dialog.dom.js +8 -8
  66. package/dialog/dialog.parts.js +1 -1
  67. package/distribution-chart/area-chart.js +1 -1
  68. package/distribution-chart/bar-chart.d.ts +5 -2
  69. package/distribution-chart/bar-chart.js +7 -3
  70. package/distribution-chart/chart-frame.d.ts +2 -1
  71. package/distribution-chart/line-chart.js +1 -1
  72. package/dropdown/content.d.ts +2 -1
  73. package/dropdown/content.js +1 -142
  74. package/dropdown/control.d.ts +14 -0
  75. package/dropdown/control.js +1 -0
  76. package/dropdown/control.view.d.ts +6 -0
  77. package/dropdown/dropdown.types.d.ts +4 -0
  78. package/dropdown/editor-dropdown.style.scss +37 -9
  79. package/dropdown/index.d.ts +1 -1
  80. package/dropdown/index.js +3 -4
  81. package/dropdown/lookup-field.js +1 -1
  82. package/dropdown/popup.js +1 -141
  83. package/duration/index.js +1 -1
  84. package/duration/style.scss +1 -1
  85. package/editor-actions.js +1 -1
  86. package/field-configurator.js +6 -6
  87. package/fieldset.d.ts +3 -0
  88. package/filter/filters/slider/single.js +1 -1
  89. package/filter-badge.js +1 -1
  90. package/filter-controls.js +7 -7
  91. package/form-controls/field-context.d.ts +5 -0
  92. package/form-controls/index.js +7 -12
  93. package/form-controls/index.view.d.ts +2 -4
  94. package/form-controls/presentation.js +51 -43
  95. package/formatting/index.js +25 -21
  96. package/framework.js +215 -207
  97. package/history-controls.d.ts +14 -0
  98. package/history-controls.js +1 -0
  99. package/masked-input/index.js +1 -1
  100. package/native-control.d.ts +6 -4
  101. package/native-control.js +3 -26
  102. package/native-styles.css +1 -1
  103. package/native.js +31 -30
  104. package/number-input/index.js +1 -1
  105. package/package.json +18 -13
  106. package/pagination.d.ts +3 -0
  107. package/pagination.js +43 -33
  108. package/pdf-viewer/index.js +1 -1
  109. package/pdf-viewer/style.scss +3 -4
  110. package/preact.d.ts +2 -0
  111. package/preact.js +62 -62
  112. package/rating-choice.js +1 -1
  113. package/react-control.d.ts +0 -1
  114. package/react-control.js +2 -2
  115. package/react.d.ts +13 -3
  116. package/react.js +71 -88
  117. package/reorder-list.js +1 -1
  118. package/resource-picker/resource-picker-popup.js +1 -1
  119. package/resource-picker/resource-picker.js +4 -4
  120. package/resource-picker/resource-picker.scss +6 -3
  121. package/rich-text/engine.d.ts +16 -19
  122. package/rich-text/index.d.ts +7 -7
  123. package/rich-text/index.js +1 -1
  124. package/rich-text/model.d.ts +4 -3
  125. package/rich-text/render-model.d.ts +4 -5
  126. package/rich-text/style.scss +3 -12
  127. package/rich-text/toolbar.d.ts +6 -6
  128. package/rich-text/translations.d.ts +3 -15
  129. package/select.d.ts +20 -0
  130. package/select.js +1 -0
  131. package/status-feedback/exit-snapshot.js +4 -4
  132. package/status-feedback/index.js +2 -2
  133. package/status-feedback/popover.js +10 -10
  134. package/status-feedback/render.js +3 -44
  135. package/status-feedback/status-feedback.scss +7 -0
  136. package/status-feedback/types.d.ts +4 -0
  137. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  138. package/styles/_compositions.scss +3 -1
  139. package/styles/_control.scss +12 -4
  140. package/styles/_primitives.scss +9 -8
  141. package/styles.css +1 -1
  142. package/surfaces.js +45 -45
  143. package/svelte/UiComponent.server.js +1 -48
  144. package/svelte/UiComponent.svelte +0 -21
  145. package/svelte.js +33 -68
  146. package/time-grid.js +1 -1
  147. package/timeline-track/component.d.ts +5 -1
  148. package/timeline-track/index.js +71 -54
  149. package/timeline-track/model.d.ts +9 -0
  150. package/timeline-track/model.js +10 -1
  151. package/ui.css +1 -1
  152. package/vue.d.ts +24 -5
  153. package/vue.js +140 -164
  154. package/_chunks/compat.module-DDB2pm9O.js +0 -229
  155. package/_chunks/dropdown-voWqmwAe.js +0 -357
  156. package/_chunks/mount-DZe_6VtR.js +0 -90
  157. package/_chunks/request-trail-IdNiFvKH.js +0 -347
  158. package/_chunks/rich-text-BzI1DyfF.js +0 -477
  159. package/react-native-select.d.ts +0 -6
  160. package/rich-text/syntax.d.ts +0 -2
  161. package/vue-native-select.d.ts +0 -9
package/native-styles.css CHANGED
@@ -1 +1 @@
1
- :root{--rv-ui-motion-enabled: 1;--rv-ui-motion-fast: 120ms;--rv-ui-motion-normal: 160ms;--rv-ui-motion-enter: 180ms;--rv-ui-motion-exit: 120ms;--rv-ui-motion-ease: cubic-bezier(.2, 0, 0, 1)}[data-rv-ui-motion=off]{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}[data-rv-ui-motion=off],[data-rv-ui-motion=off]::before,[data-rv-ui-motion=off]::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}[data-rv-ui-motion=off]::details-content{animation:none !important;transition:none !important}[data-rv-ui-motion=off] *,[data-rv-ui-motion=off] *::before,[data-rv-ui-motion=off] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}[data-rv-ui-motion=off] *::details-content{animation:none !important;transition:none !important}@keyframes rv-ui-surface-in{from{opacity:0}to{opacity:1}}[data-rv-ui-surface]:not(.rv-status-feedback):not([data-status-feedback-exit]){animation:rv-ui-surface-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out)}@media(prefers-reduced-motion: reduce){:root{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}:where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface]),:where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::before,:where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::after,:where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *,:where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::before,:where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}:where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::details-content,:where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::details-content{animation:none !important;transition:none !important}}.rv-disclosure-summary.rv-disclosure-summary--compact{display:inline-flex;width:fit-content;max-width:100%;margin-block:8px;text-align:start}.rv-disclosure-summary.rv-disclosure-summary--compact::before{content:"";flex:none;width:6px;height:6px;margin-inline:1px 3px;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--rv-ui-motion-fast, 120ms) ease}details[open]>.rv-disclosure-summary--compact::before{transform:rotate(45deg)}@media(prefers-reduced-motion: reduce){.rv-disclosure-summary--compact::before{transition:none}}@supports(interpolate-size: allow-keywords) and (transition-behavior: allow-discrete){:where(.rv-ui details,.rv-disclosure,.rv-format-inspector-section,.rv-configurator-available-fields){interpolate-size:allow-keywords}:where(.rv-ui details,.rv-disclosure,.rv-format-inspector-section,.rv-configurator-available-fields)::details-content{block-size:0;opacity:0;overflow:clip;overflow-clip-margin:4px;transition:block-size var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out),opacity var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out),content-visibility var(--rv-ui-motion-normal, 160ms) allow-discrete}:where(.rv-ui details,.rv-disclosure,.rv-format-inspector-section,.rv-configurator-available-fields)[open]::details-content{block-size:auto;opacity:1}}.rv-native-controls{--rv-ui-color-scheme: light;color-scheme:light;--rv-ui-overlay: color-mix(in srgb, black 38%, transparent);--rv-ui-shadow: color-mix(in srgb, black 10%, transparent);--rv-ui-disabled-bg: var(--rv-ui-surface-sunken);--rv-ui-disabled-fg: var(--rv-ui-text-muted);--rv-ui-danger-surface: color-mix(in srgb, var(--rv-ui-danger) 10%, var(--rv-ui-surface));--rv-ui-warning-surface: color-mix(in srgb, var(--rv-ui-warning) 10%, var(--rv-ui-surface));--rv-ui-success-surface: color-mix(in srgb, var(--rv-ui-success) 10%, var(--rv-ui-surface));--rv-ui-field-muted: var(--rv-ui-text-muted);--rv-ui-field-accent-text: color-mix(in srgb, var(--rv-ui-accent, #2563eb) 90%, black);--rv-ui-field-surface: #f6f6f6;--rv-ui-field-text: var(--rv-ui-text);--rv-ui-font-weight-medium: 500;--rv-ui-canvas: #f5f5f5;--rv-ui-surface: #ffffff;--rv-ui-surface-elevated: #ffffff;--rv-ui-surface-sunken: #f8f8f8;--rv-ui-surface-hover: #f1f1f1;--rv-ui-border: #e0e0e0;--rv-ui-border-strong: #cccccc;--rv-ui-text: #171717;--rv-ui-text-muted: #666666;--rv-ui-text-subtle: #737373;--rv-ui-selected-bg: color-mix(in srgb, var(--rv-ui-accent) 12%, var(--rv-ui-surface));--rv-dropdown-container-tag-background: #eeeeee;--rv-dropdown-placeholder-color: var(--rv-ui-text-muted);--rv-ui-selected-fg: #171717;--rv-ui-selected-accent-fg: color-mix(in srgb, var(--rv-ui-accent) 65%, black);--rv-ui-danger: #b91c1c;--rv-ui-warning: #b45309;--rv-ui-success: #15803d;--rv-ui-accent: #2563eb;--rv-ui-accent-hover: #1d4ed8;--rv-ui-accent-fg: #ffffff;--rv-ui-accent-text-weight: 90%;--rv-ui-accent-text-base: black;--rv-ui-accent-text: color-mix(in srgb, var(--rv-ui-accent) 90%, black);--rv-ui-btn-outline-bg: transparent;--rv-ui-btn-outline-bg-hover:var(--rv-ui-surface-hover);--rv-ui-btn-outline-fg: var(--rv-ui-text);--rv-ui-btn-outline-border: var(--rv-ui-border);--rv-ui-btn-outline-border-hover:var(--rv-ui-border-strong);--rv-ui-btn-bg: #262626;--rv-ui-btn-bg-hover: #404040;--rv-ui-btn-fg: #ffffff;--rv-ui-btn-secondary-bg: var(--rv-ui-border);--rv-ui-btn-secondary-bg-hover: var(--rv-ui-border-strong);--rv-ui-btn-secondary-fg: var(--rv-ui-text);--rv-ui-btn-danger-bg: transparent;--rv-ui-btn-danger-bg-hover: rgba(220, 38, 38, 0.08);--rv-ui-btn-danger-fg: var(--rv-ui-danger);--rv-ui-btn-danger-outline: #dc2626;--rv-ui-btn-danger-outline-hover:rgba(220, 38, 38, 0.08);--rv-ui-btn-ghost-hover-bg: rgba(0, 0, 0, 0.06);--rv-ui-btn-ghost-active-bg: rgba(0, 0, 0, 0.10);--rv-ui-switch-track-off: #9ca3af;--rv-ui-switch-thumb: #ffffff;--rv-ui-group-border: var(--rv-ui-border);--rv-ui-group-hover-bg: var(--rv-ui-surface-hover);--rv-ui-badge-bg: var(--rv-ui-accent);--rv-ui-badge-fg: var(--rv-ui-accent-fg);--rv-ui-badge-disabled-bg: #a1a1aa;--rv-ui-badge-disabled-fg: #ffffff;--rv-ui-radius: 6px;--rv-ui-transition: var(--rv-ui-motion-fast, 120ms);--rv-ui-focus-ring: color-mix(in srgb, var(--rv-ui-accent) 35%, transparent);--rv-control-height: 32px;--rv-control-padding: 6px 9px;color:var(--rv-ui-text)}.rv-native-controls :root{--rv-ui-motion-enabled: 1;--rv-ui-motion-fast: 120ms;--rv-ui-motion-normal: 160ms;--rv-ui-motion-enter: 180ms;--rv-ui-motion-exit: 120ms;--rv-ui-motion-ease: cubic-bezier(.2, 0, 0, 1)}.rv-native-controls [data-rv-ui-motion=off]{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls [data-rv-ui-motion=off],.rv-native-controls [data-rv-ui-motion=off]::before,.rv-native-controls [data-rv-ui-motion=off]::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off]::details-content{animation:none !important;transition:none !important}.rv-native-controls [data-rv-ui-motion=off] *,.rv-native-controls [data-rv-ui-motion=off] *::before,.rv-native-controls [data-rv-ui-motion=off] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off] *::details-content{animation:none !important;transition:none !important}@keyframes rv-ui-surface-in{from{opacity:0}to{opacity:1}}.rv-native-controls [data-rv-ui-surface]:not(.rv-status-feedback):not([data-status-feedback-exit]){animation:rv-ui-surface-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out)}@media(prefers-reduced-motion: reduce){.rv-native-controls :root{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface]),.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::before,.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::after,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::before,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::details-content,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::details-content{animation:none !important;transition:none !important}}@keyframes rv-ui-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion: reduce){.rv-native-controls .rv-spinner>span{animation:none}}.rv-native-controls .rv-btn-link,.rv-native-controls .rv-btn-tab,.rv-native-controls .rv-btn-ghost,.rv-native-controls .rv-btn-secondary,.rv-native-controls .rv-btn-danger-ghost,.rv-native-controls .rv-btn-danger,.rv-native-controls .rv-btn-danger-outline,.rv-native-controls .rv-btn-primary,.rv-native-controls .rv-btn-solid,.rv-native-controls .rv-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:var(--rv-ui-radius);min-height:32px;padding:6px 12px;border:1px solid rgba(0,0,0,0);font-family:inherit;font-size:.875rem;font-weight:var(--rv-ui-button-font-weight, 500);line-height:1;cursor:pointer;user-select:none;box-shadow:none;text-decoration:none;white-space:nowrap;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-btn-link:focus-visible,.rv-native-controls .rv-btn-tab:focus-visible,.rv-native-controls .rv-btn-ghost:focus-visible,.rv-native-controls .rv-btn-secondary:focus-visible,.rv-native-controls .rv-btn-danger-ghost:focus-visible,.rv-native-controls .rv-btn-danger:focus-visible,.rv-native-controls .rv-btn-danger-outline:focus-visible,.rv-native-controls .rv-btn-primary:focus-visible,.rv-native-controls .rv-btn-solid:focus-visible,.rv-native-controls .rv-btn:focus-visible{outline:2px solid var(--rv-ui-accent-text);outline-offset:2px;box-shadow:0 0 0 2px var(--rv-ui-focus-ring)}.rv-native-controls .rv-btn-link:disabled,.rv-native-controls .rv-btn-tab:disabled,.rv-native-controls .rv-btn-ghost:disabled,.rv-native-controls .rv-btn-secondary:disabled,.rv-native-controls .rv-btn-danger-ghost:disabled,.rv-native-controls .rv-btn-danger:disabled,.rv-native-controls .rv-btn-danger-outline:disabled,.rv-native-controls .rv-btn-primary:disabled,.rv-native-controls .rv-btn-solid:disabled,.rv-native-controls .rv-btn:disabled,.rv-native-controls [disabled].rv-btn-link,.rv-native-controls [disabled].rv-btn-tab,.rv-native-controls [disabled].rv-btn-ghost,.rv-native-controls [disabled].rv-btn-secondary,.rv-native-controls [disabled].rv-btn-danger-ghost,.rv-native-controls [disabled].rv-btn-danger,.rv-native-controls [disabled].rv-btn-danger-outline,.rv-native-controls [disabled].rv-btn-primary,.rv-native-controls [disabled].rv-btn-solid,.rv-native-controls [disabled].rv-btn{pointer-events:none;opacity:.5}.rv-native-controls .rv-btn:where(:not(.rv-btn-solid,.rv-btn-primary,.rv-btn-danger,.rv-btn-danger-outline,.rv-btn-danger-ghost,.rv-btn-secondary,.rv-btn-ghost,.rv-btn-link,.rv-btn-tab)){background:var(--rv-ui-btn-outline-bg);border-color:var(--rv-ui-btn-outline-border);color:var(--rv-ui-btn-outline-fg)}.rv-native-controls .rv-btn:where(:not(.rv-btn-solid,.rv-btn-primary,.rv-btn-danger,.rv-btn-danger-outline,.rv-btn-danger-ghost,.rv-btn-secondary,.rv-btn-ghost,.rv-btn-link,.rv-btn-tab)):hover,.rv-native-controls .rv-btn:where(:not(.rv-btn-solid,.rv-btn-primary,.rv-btn-danger,.rv-btn-danger-outline,.rv-btn-danger-ghost,.rv-btn-secondary,.rv-btn-ghost,.rv-btn-link,.rv-btn-tab)):active{background:var(--rv-ui-btn-outline-bg-hover);border-color:var(--rv-ui-btn-outline-border-hover)}.rv-native-controls .rv-btn-solid{background:var(--rv-ui-btn-bg);color:var(--rv-ui-btn-fg)}.rv-native-controls .rv-btn-solid:hover{background:var(--rv-ui-btn-bg-hover)}.rv-native-controls .rv-btn-solid:active{background:var(--rv-ui-btn-bg-hover)}.rv-native-controls .rv-btn-primary{background:var(--rv-ui-accent);color:var(--rv-ui-accent-fg)}.rv-native-controls .rv-btn-primary:hover{background:var(--rv-ui-accent-hover)}.rv-native-controls .rv-btn-primary:active{background:var(--rv-ui-accent-hover)}.rv-native-controls .rv-btn-danger,.rv-native-controls .rv-btn-danger-outline{border-color:var(--rv-ui-btn-danger-outline);background:rgba(0,0,0,0);color:var(--rv-ui-btn-danger-outline)}.rv-native-controls .rv-btn-danger:hover,.rv-native-controls .rv-btn-danger:active,.rv-native-controls .rv-btn-danger-outline:hover,.rv-native-controls .rv-btn-danger-outline:active{background:var(--rv-ui-btn-danger-outline-hover)}.rv-native-controls .rv-btn-danger-ghost{background:var(--rv-ui-btn-danger-bg);color:var(--rv-ui-btn-danger-fg)}.rv-native-controls .rv-btn-danger-ghost:hover,.rv-native-controls .rv-btn-danger-ghost:active{background:var(--rv-ui-btn-danger-bg-hover)}.rv-native-controls .rv-btn-secondary{background:var(--rv-ui-btn-secondary-bg);color:var(--rv-ui-btn-secondary-fg)}.rv-native-controls .rv-btn-secondary:hover{background:var(--rv-ui-btn-secondary-bg-hover)}.rv-native-controls .rv-btn-secondary:active{background:var(--rv-ui-btn-secondary-bg-hover)}.rv-native-controls .rv-btn-ghost{background:rgba(0,0,0,0);color:inherit}.rv-native-controls .rv-btn-ghost:hover{background:var(--rv-ui-btn-ghost-hover-bg)}.rv-native-controls .rv-btn-ghost:active{background:var(--rv-ui-btn-ghost-active-bg)}.rv-native-controls .rv-switch{appearance:none;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0;border:0;background:rgba(0,0,0,0);color:inherit;cursor:pointer;font:inherit;text-align:start;user-select:none}.rv-native-controls .rv-switch:focus-visible{border-radius:8px;outline:2px solid var(--rv-ui-accent);outline-offset:3px}.rv-native-controls .rv-switch:disabled{cursor:default;opacity:.55}.rv-native-controls .rv-switch-label{min-width:0;line-height:1.35}.rv-native-controls label.rv-switch-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;user-select:none}.rv-native-controls .rv-switch-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rv-native-controls .rv-switch-input:checked+.rv-switch-track{background:var(--rv-ui-accent)}.rv-native-controls .rv-switch-input:checked+.rv-switch-track .rv-switch-thumb{inset-inline-start:15px}.rv-native-controls .rv-switch-input:focus-visible+.rv-switch-track{outline:2px solid var(--rv-ui-accent);outline-offset:3px}.rv-native-controls .rv-switch-track{position:relative;display:inline-flex;align-items:center;flex-shrink:0;width:34px;height:19px;padding:2px;box-sizing:border-box;border-radius:999px;background:var(--rv-ui-switch-track-off);transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-switch-thumb{position:relative;inset-inline-start:0;width:15px;height:15px;border-radius:50%;background:var(--rv-ui-switch-thumb);box-shadow:0 1px 3px var(--rv-ui-shadow);transition:inset-inline-start var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-switch[aria-checked=true] .rv-switch-track{background:var(--rv-ui-accent)}.rv-native-controls .rv-switch[aria-checked=true] .rv-switch-thumb{inset-inline-start:15px}.rv-native-controls .rv-btn-group{display:inline-flex;align-items:stretch;gap:0;border-radius:var(--rv-ui-radius);border:1px solid var(--rv-ui-group-border);overflow:visible}.rv-native-controls .rv-btn-group>.rv-btn{border:0;border-radius:0}.rv-native-controls .rv-btn-group>.rv-btn+.rv-btn{border-inline-start:1px solid var(--rv-ui-group-border)}.rv-native-controls .rv-btn-group>.rv-btn:first-child{border-start-start-radius:calc(var(--rv-ui-radius) - 1px);border-end-start-radius:calc(var(--rv-ui-radius) - 1px)}.rv-native-controls .rv-btn-group>.rv-btn:last-child{border-start-end-radius:calc(var(--rv-ui-radius) - 1px);border-end-end-radius:calc(var(--rv-ui-radius) - 1px)}.rv-native-controls .rv-btn-group>.rv-btn:focus-visible{z-index:1}.rv-native-controls .rv-btn-group-item{position:relative;display:inline-flex}.rv-native-controls .rv-btn-group-item input[type=radio],.rv-native-controls .rv-btn-group-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.rv-native-controls .rv-btn-group-item input[type=radio]:checked+span,.rv-native-controls .rv-btn-group-item input[type=checkbox]:checked+span{background:var(--rv-ui-accent);color:var(--rv-ui-accent-fg)}.rv-native-controls .rv-btn-group-item span{display:block;padding:6px 16px;font-size:.875rem;cursor:pointer;user-select:none;color:inherit;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-btn-group-item+.rv-btn-group-item span{border-inline-start:1px solid var(--rv-ui-group-border)}.rv-native-controls .rv-btn-group-item:hover span{background:var(--rv-ui-group-hover-bg)}.rv-native-controls .rv-chip-remove{appearance:none;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);border:0;border-radius:calc(var(--rv-ui-radius)/2);color:inherit;cursor:pointer;font-size:16px;line-height:1;opacity:.5;padding:0 2px;transition:opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-chip-remove:hover:not(:disabled){opacity:1;background:var(--rv-ui-btn-ghost-hover-bg)}.rv-native-controls .rv-chip-remove:disabled{cursor:not-allowed;opacity:.5}.rv-native-controls .rv-btn-pill{appearance:none;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--rv-ui-group-border);border-radius:999px;background:var(--rv-ui-btn-secondary-bg);color:inherit;font-size:.8rem;cursor:pointer;white-space:nowrap;line-height:1.4;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-btn-pill:hover{background:var(--rv-ui-btn-secondary-bg-hover)}.rv-native-controls .rv-btn-pill:active{opacity:.75}.rv-native-controls .rv-btn-pill:disabled,.rv-native-controls .rv-btn-pill[disabled]{pointer-events:none;opacity:.5}.rv-native-controls .rv-switch-sm .rv-switch-track{width:28px;height:16px}.rv-native-controls .rv-switch-sm .rv-switch-thumb{width:12px;height:12px}.rv-native-controls .rv-switch-sm[aria-checked=true] .rv-switch-thumb{inset-inline-start:12px}.rv-native-controls .rv-switch-sm .rv-switch-input:checked+.rv-switch-track .rv-switch-thumb{inset-inline-start:12px}@media(prefers-reduced-motion: reduce){.rv-native-controls .rv-switch-track,.rv-native-controls .rv-switch-thumb{transition:none}}.rv-native-controls .rv-choice-chips{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.rv-native-controls .rv-choice-chip{appearance:none;min-height:29px;padding:0 11px;border:1px solid rgba(0,0,0,0);border-radius:8px;background:var(--rv-ui-surface-sunken);color:var(--rv-ui-text);cursor:pointer;font:inherit;font-size:13px;font-weight:400;line-height:1;white-space:nowrap;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-choice-chip:hover:not(:disabled){background:var(--rv-ui-surface-hover)}.rv-native-controls .rv-choice-chip[aria-pressed=true],.rv-native-controls .rv-choice-chip[data-selected=true]{border-color:rgba(0,0,0,0);background:var(--rv-ui-choice-chip-selected-bg, var(--rv-ui-selected-bg));color:var(--rv-ui-selected-fg);font-weight:400}.rv-native-controls .rv-choice-chip:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px}.rv-native-controls .rv-choice-chip:disabled{cursor:default;opacity:.5}.rv-native-controls .rv-choice-chips--outlined .rv-choice-chip{border-color:var(--rv-ui-border);background:var(--rv-ui-surface)}.rv-native-controls .rv-choice-chips--outlined .rv-choice-chip[aria-pressed=true],.rv-native-controls .rv-choice-chips--outlined .rv-choice-chip[data-selected=true]{border-color:rgba(0,0,0,0);background:var(--rv-ui-choice-chip-selected-bg, var(--rv-ui-selected-bg))}.rv-native-controls .rv-choice-chip[aria-pressed=true],.rv-native-controls .rv-choice-chip[aria-pressed=true]:hover{border-color:rgba(0,0,0,0);background:var(--rv-ui-choice-chip-selected-bg, var(--rv-ui-selected-bg));color:var(--rv-ui-selected-accent-fg, var(--rv-ui-accent-text));font-weight:500}.rv-native-controls .rv-choice-chips--small .rv-choice-chip{min-height:24px;padding:0 9px;border-radius:7px;font-size:12px}.rv-native-controls .group-expand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border:none;border-radius:var(--rv-ui-radius);background:rgba(0,0,0,0);color:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .group-expand:hover{background:var(--rv-ui-btn-ghost-hover-bg)}.rv-native-controls .rv-segmented-switch,.rv-native-controls .rv-value-selection-editor{--rv-ui-accent-text: color-mix(in srgb, var(--rv-ui-accent) var(--rv-ui-accent-text-weight, 90%), var(--rv-ui-accent-text-base, black))}.rv-native-controls .rv-segmented-switch{--rv-segmented-theme-item-hover-bg: color-mix(in srgb, var(--rv-ui-text) 8%, var(--rv-ui-surface-sunken));display:inline-flex;box-sizing:border-box;height:37px;align-items:center;gap:2px;background:var(--rv-segmented-bg, var(--rv-ah-bg-up, var(--rv-segmented-theme-bg, var(--rv-ui-surface-sunken))));border:1px solid var(--rv-segmented-border, var(--rv-ah-border, transparent));border-radius:10px;padding:2px;box-shadow:none}.rv-native-controls :where(.dark,[data-theme^=dark],revo-grid[theme^=dark]) .rv-segmented-switch,.rv-native-controls .rv-segmented-switch[data-theme^=dark]{--rv-segmented-theme-bg: var(--rv-ui-surface-sunken);--rv-segmented-theme-border: var(--rv-ui-border);--rv-segmented-theme-item-color: var(--rv-ui-text);--rv-segmented-theme-item-hover-bg: var(--rv-ui-surface-hover);--rv-segmented-theme-item-hover-color: var(--rv-ui-text);--rv-segmented-theme-active-bg: var(--rv-ui-surface-elevated);--rv-segmented-theme-active-border: var(--rv-ui-border-strong);--rv-segmented-theme-active-color: var(--rv-ui-accent-text);--rv-segmented-theme-focus-outline: var(--rv-ui-surface-elevated)}.rv-native-controls .rv-segmented-switch-item{box-sizing:border-box;flex:1 1 auto;display:flex;appearance:none;height:31px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(0,0,0,0);border-radius:7px;padding:0 14px;background:rgba(0,0,0,0);color:var(--rv-segmented-item-color, var(--rv-ah-text-2, var(--rv-segmented-theme-item-color, var(--rv-ui-text))));cursor:pointer;font:inherit;font-size:13px;font-weight:400;line-height:1;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-segmented-switch--icon-only .rv-segmented-switch-item{flex:none;width:30px;padding:0}.rv-native-controls .rv-segmented-switch-label{gap:5px;display:inline-flex;align-items:center;justify-content:center}.rv-native-controls .rv-segmented-switch-item:where(:not(.on)):hover:not(:disabled){background:var(--rv-segmented-item-hover-bg, var(--rv-segmented-theme-item-hover-bg, var(--rv-ui-surface-hover)));color:var(--rv-segmented-item-hover-color, var(--rv-ah-text-2, var(--rv-segmented-theme-item-hover-color, var(--rv-ui-text))))}.rv-native-controls .rv-segmented-switch-item.on{background:var(--rv-segmented-active-bg, var(--rv-ah-bg, var(--rv-segmented-theme-active-bg, var(--rv-ui-surface))));color:var(--rv-segmented-active-color, var(--rv-ui-selected-accent-fg, var(--rv-ui-accent-text)));font-weight:500;border-color:var(--rv-segmented-active-border, var(--rv-segmented-theme-active-border, var(--rv-ui-border)));box-shadow:none}.rv-native-controls .rv-segmented-switch-item:focus-visible{outline:2px solid var(--rv-segmented-focus-outline, var(--rv-ah-bg, var(--rv-segmented-theme-focus-outline, var(--rv-ui-text-muted))));box-shadow:0 0 0 4px var(--rv-segmented-focus-ring, color-mix(in srgb, var(--rv-ui-accent) 28%, transparent))}.rv-native-controls .rv-segmented-switch-item:disabled{cursor:not-allowed;color:var(--rv-ui-text-muted);opacity:.55}.rv-native-controls .rv-segmented-switch-count{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;padding:1px 5px;border-radius:4px;background:var(--rv-segmented-count-bg, var(--rv-ah-bg-up, var(--rv-ui-surface-sunken)));color:var(--rv-segmented-count-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)));border:1px solid var(--rv-segmented-count-border, var(--rv-ah-border, var(--rv-ui-border)))}.rv-native-controls .rv-segmented-switch-item.on .rv-segmented-switch-count{background:var(--rv-segmented-active-count-bg, var(--rv-ah-bg-hover, var(--rv-ui-surface-sunken)));color:var(--rv-segmented-active-count-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)))}.rv-native-controls .rv-search-input{min-width:0;position:relative}.rv-native-controls .rv-search-input-icon{position:absolute;inset-inline-start:10px;top:50%;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);color:var(--rv-search-input-icon-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)));pointer-events:none}.rv-native-controls .rv-search-input>input:is([type=search],[type=text]){box-sizing:border-box;width:100%;height:var(--rv-search-input-height, 32px);min-height:var(--rv-search-input-height, 32px);appearance:none;background:var(--rv-search-input-bg, var(--rv-ah-bg-input, var(--rv-ui-surface-sunken)));border:1px solid var(--rv-search-input-border, var(--rv-ah-border, var(--rv-ui-border)));border-radius:8px;padding-block:0;padding-inline:32px 38px;color:var(--rv-search-input-color, var(--rv-ah-text, var(--rv-ui-text)));outline:none;font:inherit;font-size:12px;transition:border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-search-input>input[type=search]::-webkit-search-cancel-button{appearance:none}.rv-native-controls .rv-search-input>input:is([type=search],[type=text])::placeholder{color:var(--rv-search-input-placeholder-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)))}.rv-native-controls .rv-search-input>input:is([type=search],[type=text]):focus{transition:none;border-color:var(--rv-search-input-focus-border, var(--rv-ah-border-strong, var(--rv-ui-border-strong)));background:var(--rv-search-input-focus-bg, var(--rv-ah-bg, var(--rv-ui-surface)))}.rv-native-controls .rv-search-input--no-icon>input:is([type=search],[type=text]){padding-inline-start:12px}.rv-native-controls .rv-search-input--no-shortcut>input:is([type=search],[type=text]){padding-inline-end:12px}.rv-native-controls .rv-search-input-shortcut{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--rv-search-input-shortcut-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)));background:var(--rv-search-input-shortcut-bg, var(--rv-ah-canvas, var(--rv-ui-surface-elevated)));border:1px solid var(--rv-search-input-shortcut-border, var(--rv-ah-border, var(--rv-ui-border)));padding:1px 5px;border-radius:3px}.rv-native-controls .rv-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:var(--rv-ui-badge-bg);color:var(--rv-ui-badge-fg);font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;padding:0 4px;line-height:1;pointer-events:none}.rv-native-controls .rv-badge{position:absolute;inset-block-start:-6px;inset-inline-end:-6px;min-width:18px;height:18px;border-radius:999px;background:var(--rv-ui-badge-bg);color:var(--rv-ui-badge-fg);font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none}.rv-native-controls button.rv-badge--inline{border:0;appearance:none;font-family:inherit;box-shadow:none;cursor:pointer;pointer-events:auto}.rv-native-controls button.rv-badge--inline:focus-visible{outline:2px solid var(--rv-ui-accent-text);outline-offset:2px}.rv-native-controls .rv-badge--inline:is(.rv-badge--neutral,.rv-badge--accent){min-height:20px;height:auto;padding:2px 7px;font-size:12px}.rv-native-controls .rv-badge--neutral{background:var(--rv-ui-surface-hover);color:var(--rv-ui-text-muted)}.rv-native-controls .rv-badge--accent{background:var(--rv-ui-selected-bg);color:var(--rv-ui-selected-accent-fg, var(--rv-ui-accent-text))}.rv-native-controls .rv-badge--rounded{border-radius:4px}.rv-native-controls .rv-btn:disabled .rv-badge,.rv-native-controls .rv-btn[disabled] .rv-badge{background:var(--rv-ui-badge-disabled-bg);color:var(--rv-ui-badge-disabled-fg)}.rv-native-controls .rv-svg-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:var(--rv-icon-size, 14px);height:var(--rv-icon-size, 14px);line-height:1}.rv-native-controls .rv-svg-icon>svg{display:block;width:var(--rv-icon-size, 14px);height:var(--rv-icon-size, 14px);fill:currentColor}.rv-native-controls .rv-btn-icon{box-sizing:border-box;flex:none;width:var(--rv-icon-button-size, 32px);height:var(--rv-icon-button-size, 32px);padding:6px}.rv-native-controls .rv-btn-icon[aria-pressed=true],.rv-native-controls .rv-btn-icon[data-active=true]{background:var(--rv-ui-selected-bg);color:var(--rv-ui-selected-fg)}.rv-native-controls .rv-control-tooltip{display:none;border:0;position:absolute;bottom:calc(100% + 8px);inset-inline-start:50%;transform:translateX(-50%);padding:6px 9px;border-radius:6px;white-space:nowrap;font:12px sans-serif;color:var(--rv-ui-surface);background:var(--rv-ui-text);box-shadow:0 3px 10px var(--rv-ui-shadow);pointer-events:none;visibility:hidden;z-index:20}.rv-native-controls .rv-icon-action:hover .rv-control-tooltip:not([data-visible]),.rv-native-controls .rv-icon-action:focus .rv-control-tooltip:not([data-visible]),.rv-native-controls .rv-btn-icon:hover .rv-control-tooltip:not([data-visible]),.rv-native-controls .rv-btn-icon:focus .rv-control-tooltip:not([data-visible]){display:block;visibility:visible}@supports(anchor-scope: --rv-control-action){.rv-native-controls .rv-icon-action,.rv-native-controls .rv-btn-icon{anchor-name:--rv-control-action;anchor-scope:--rv-control-action}.rv-native-controls .rv-control-tooltip{position:fixed;position-anchor:--rv-control-action;inset:auto;position-area:top;position-try-fallbacks:top span-left,top span-right;margin-bottom:8px;transform:none}}.rv-native-controls .rv-btn-icon{position:relative;overflow:visible}.rv-native-controls .rv-btn-icon .rv-badge{position:absolute;inset-block-start:-5px;inset-inline-end:-6px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;pointer-events:none}.rv-native-controls .rv-history-controls{display:flex;align-items:center;gap:12px;padding-block:5px;padding-inline-end:6px}.rv-native-controls .rv-btn-icon:disabled{pointer-events:auto}.rv-native-controls .rv-toolbar--surface{--rv-icon-size: 18px;display:inline-flex;align-items:center;flex-wrap:wrap;width:fit-content;max-width:100%;gap:3px;padding:4px;border:1px solid var(--rv-ui-border);border-radius:10px;background:var(--rv-ui-surface);box-shadow:0 4px 10px -3px var(--rv-ui-shadow)}.rv-native-controls .rv-toolbar--surface>.rv-btn-icon[aria-pressed=true]{background:var(--rv-ui-selected-bg);color:var(--rv-ui-selected-fg)}.rv-native-controls .rv-toolbar--surface>.rv-btn-icon[aria-pressed=true]:hover:not(:disabled){background:var(--rv-ui-selected-bg)}.rv-native-controls .rv-svg-icon>svg[fill=none]{fill:none}.rv-native-controls .rv-choice-chip--composite{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:default}.rv-native-controls .rv-choice-chip--composite .rv-choice-chip-label{min-width:0}.rv-native-controls .rv-choice-chip--composite button.rv-choice-chip-label{appearance:none;border:0;padding:0;margin:0;background:rgba(0,0,0,0);color:inherit;font:inherit;cursor:pointer}.rv-native-controls .rv-choice-chip--composite button.rv-choice-chip-label:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px}.rv-native-controls .rv-choice-chip--composite[aria-disabled=true]{opacity:.5}.rv-native-controls button.rv-choice-chip-info{box-sizing:border-box;min-width:24px;min-height:24px;box-shadow:none;display:inline-grid;width:24px;height:24px;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);color:var(--rv-ui-text-muted);font:600 13px/1 system-ui,sans-serif;cursor:pointer;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls button.rv-choice-chip-info:hover,.rv-native-controls button.rv-choice-chip-info:focus-visible{background:color-mix(in srgb, currentColor 10%, transparent);color:var(--rv-filter-active-icon-color, var(--rv-ui-accent-text))}.rv-native-controls button.rv-choice-chip-info:focus-visible,.rv-native-controls .rv-choice-chip .rv-chip-remove:focus-visible{outline:2px solid var(--rv-filter-active-icon-color, var(--rv-ui-accent));outline-offset:1px}.rv-native-controls .rv-choice-chip[data-color=true]:is([aria-pressed=true],[data-selected=true]){border-color:rgba(0,0,0,0);background:color-mix(in srgb, var(--rv-choice-chip-color) 9%, var(--rv-ui-surface));color:var(--rv-ui-text)}.rv-native-controls .rv-btn-tab{min-height:40px;padding:0 8px;border:0;border-radius:0;background:rgba(0,0,0,0);color:var(--rv-tab-color, var(--rv-ui-text-muted));font-size:14px;font-weight:500}.rv-native-controls .rv-btn-tab::after{position:absolute;inset-inline:8px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:rgba(0,0,0,0);content:""}.rv-native-controls .rv-btn-tab:hover:not(:disabled),.rv-native-controls .rv-btn-tab[aria-selected=true]{color:var(--rv-tab-accent, var(--rv-ui-accent-text))}.rv-native-controls .rv-btn-tab[aria-selected=true]::after{background:var(--rv-tab-accent, var(--rv-ui-accent-text))}.rv-native-controls .rv-btn-tab:focus-visible{z-index:2;border-radius:6px;outline-color:var(--rv-tab-accent, var(--rv-ui-accent-text));outline-offset:-4px;box-shadow:none}.rv-native-controls .rv-btn-link{min-height:30px;padding:0 7px;gap:6px;border:0;border-radius:6px;background:rgba(0,0,0,0);color:var(--rv-ui-accent-text);font-weight:400;text-decoration:none}.rv-native-controls .rv-btn-link svg{width:12px;height:12px;fill:currentColor}.rv-native-controls .rv-btn-link:hover:not(:disabled){background:rgba(0,0,0,0);text-decoration:underline}.rv-native-controls .rv-btn-link:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px;box-shadow:none}@media(forced-colors: active){.rv-native-controls :is(.rv-btn,.rv-btn-solid,.rv-btn-primary,.rv-btn-ghost,.rv-btn-link,.rv-control,.rv-choice-chip,.rv-segmented-switch-item,.rv-rating-choice):focus-visible{outline:2px solid Highlight;outline-offset:2px}}.rv-native-controls .rv-btn.rv-btn-busy:disabled{pointer-events:auto;cursor:progress}.rv-native-controls .rv-btn.rv-btn-busy:not(.rv-btn-busy-disabled):disabled{opacity:1}.rv-native-controls .rv-button-spinner{display:block;box-sizing:border-box;width:1em;height:1em;border:2px solid var(--rv-ui-border);border-block-start-color:var(--rv-ui-accent);border-radius:50%;animation:rv-ui-spin calc(var(--rv-ui-motion-normal, 160ms)*6.25) linear infinite;flex:0 0 auto;border-color:color-mix(in srgb, currentColor 30%, transparent);border-block-start-color:currentColor}.rv-native-controls .rv-btn-busy.rv-btn-icon>:not(.rv-button-spinner){display:none}.rv-native-controls :root{--rv-ui-motion-enabled: 1;--rv-ui-motion-fast: 120ms;--rv-ui-motion-normal: 160ms;--rv-ui-motion-enter: 180ms;--rv-ui-motion-exit: 120ms;--rv-ui-motion-ease: cubic-bezier(.2, 0, 0, 1)}.rv-native-controls [data-rv-ui-motion=off]{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls [data-rv-ui-motion=off],.rv-native-controls [data-rv-ui-motion=off]::before,.rv-native-controls [data-rv-ui-motion=off]::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off]::details-content{animation:none !important;transition:none !important}.rv-native-controls [data-rv-ui-motion=off] *,.rv-native-controls [data-rv-ui-motion=off] *::before,.rv-native-controls [data-rv-ui-motion=off] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off] *::details-content{animation:none !important;transition:none !important}@keyframes rv-ui-surface-in{from{opacity:0}to{opacity:1}}.rv-native-controls [data-rv-ui-surface]:not(.rv-status-feedback):not([data-status-feedback-exit]){animation:rv-ui-surface-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out)}@media(prefers-reduced-motion: reduce){.rv-native-controls :root{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface]),.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::before,.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::after,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::before,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::details-content,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::details-content{animation:none !important;transition:none !important}}.rv-native-controls .rv-form-section{display:grid;gap:14px;padding:16px;border:1px solid var(--rv-form-border, var(--rv-ui-border));border-radius:10px;background:var(--rv-form-section-bg, transparent)}.rv-native-controls .rv-form-section__heading{display:grid;gap:3px}.rv-native-controls .rv-form-section__title{margin:0;color:inherit;font-size:13px;font-weight:var(--rv-ui-font-weight-medium, 500);line-height:1.35}.rv-native-controls .rv-form-section__description,.rv-native-controls .rv-form-description{margin:0;color:var(--rv-dialog-muted, var(--rv-ui-text-muted));font-size:12px;line-height:1.45}.rv-native-controls .rv-form-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}.rv-native-controls .rv-field{display:grid;align-content:start;gap:6px;min-width:0}.rv-native-controls .rv-field[hidden]{display:none}.rv-native-controls .rv-field--wide{grid-column:1/-1}.rv-native-controls .rv-field__label{color:inherit;font-size:12px;font-weight:var(--rv-ui-font-weight-medium, 500);line-height:1.35}.rv-native-controls .rv-field__hint{color:var(--rv-dialog-muted, var(--rv-ui-text-muted));font-size:11px;line-height:1.35}.rv-native-controls .rv-control{appearance:none;box-sizing:border-box;width:100%;min-width:0;min-height:var(--rv-control-height, 38px);padding:var(--rv-control-padding, 8px 10px);border:1px solid var(--rv-control-border, var(--rv-ui-border));border-radius:var(--rv-control-radius, 8px);background-color:var(--rv-control-bg, var(--rv-ui-surface-sunken));color:var(--rv-control-color, inherit);font:inherit;line-height:1.25;color-scheme:var(--rv-ui-color-scheme, normal);transition:border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-control::placeholder{color:var(--rv-ui-text-muted);opacity:.8}.rv-native-controls .rv-control:hover:not(:disabled):not([readonly]){border-color:var(--rv-ui-border-strong)}.rv-native-controls .rv-control:focus{transition:none;outline:none;border-color:var(--rv-ui-accent);box-shadow:0 0 0 3px var(--rv-ui-focus-ring)}.rv-native-controls .rv-control:disabled{cursor:not-allowed;opacity:var(--rv-control-disabled-opacity, 0.55)}.rv-native-controls .rv-control[readonly]{background-color:var(--rv-ui-surface);border-style:dashed}.rv-native-controls .rv-control[aria-invalid=true]{border-color:var(--rv-ui-danger)}.rv-native-controls .rv-control[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--rv-ui-danger) 20%, transparent)}.rv-native-controls textarea.rv-control{min-height:var(--rv-textarea-height, 92px);resize:vertical}.rv-native-controls [dir=ltr]{--rv-select-caret-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%}.rv-native-controls [dir=rtl]{--rv-select-caret-position: 11px 50%, 16px 50%}.rv-native-controls select.rv-control{padding-inline-end:34px;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:var(--rv-select-caret-position, calc(100% - 16px) 50%, calc(100% - 11px) 50%);background-repeat:no-repeat;background-size:5px 5px}.rv-native-controls select.rv-control[multiple]{background-image:none;padding-inline-end:10px}.rv-native-controls .rv-control--compact{--rv-control-height: 30px;--rv-control-padding: 5px 8px;--rv-control-radius: var(--rv-ui-radius, 6px);font-size:12px}.rv-native-controls select.rv-control--compact{padding-inline-end:28px}.rv-native-controls .rv-radio{width:16px;height:16px;margin:0;flex:none;accent-color:var(--rv-ui-accent)}.rv-native-controls .rv-radio:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px}.rv-native-controls .rv-radio:disabled{opacity:.55;cursor:not-allowed}@media(max-width: 560px){.rv-native-controls .rv-form-grid{grid-template-columns:1fr}.rv-native-controls .rv-field--wide{grid-column:auto}}.rv-native-controls .rv-disclosure-summary{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer;list-style:none}.rv-native-controls .rv-disclosure-summary::-webkit-details-marker{display:none}.rv-native-controls .rv-disclosure-summary__label{min-width:0}.rv-native-controls .rv-disclosure-summary__icon{display:inline-flex;align-items:center;justify-content:center;flex:none}.rv-native-controls .rv-native-slider{width:100%;min-width:0;accent-color:var(--rv-ui-accent);cursor:pointer}.rv-native-controls .rv-native-slider:disabled{opacity:.55;cursor:not-allowed}.rv-native-controls .rv-native-slider:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px}.rv-native-controls :root{--rv-ui-motion-enabled: 1;--rv-ui-motion-fast: 120ms;--rv-ui-motion-normal: 160ms;--rv-ui-motion-enter: 180ms;--rv-ui-motion-exit: 120ms;--rv-ui-motion-ease: cubic-bezier(.2, 0, 0, 1)}.rv-native-controls [data-rv-ui-motion=off]{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls [data-rv-ui-motion=off],.rv-native-controls [data-rv-ui-motion=off]::before,.rv-native-controls [data-rv-ui-motion=off]::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off]::details-content{animation:none !important;transition:none !important}.rv-native-controls [data-rv-ui-motion=off] *,.rv-native-controls [data-rv-ui-motion=off] *::before,.rv-native-controls [data-rv-ui-motion=off] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off] *::details-content{animation:none !important;transition:none !important}@keyframes rv-ui-surface-in{from{opacity:0}to{opacity:1}}.rv-native-controls [data-rv-ui-surface]:not(.rv-status-feedback):not([data-status-feedback-exit]){animation:rv-ui-surface-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out)}@media(prefers-reduced-motion: reduce){.rv-native-controls :root{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface]),.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::before,.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::after,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::before,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::details-content,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::details-content{animation:none !important;transition:none !important}}.rv-native-controls revo-grid{--rv-ui-checkbox-bg: var(--revo-row-select-checkbox-bg, var(--rv-ui-surface));--rv-ui-checkbox-border: var(--rv-column-dialog-check-border, var(--revo-row-select-checkbox-border, var(--rv-ui-border-strong)));--rv-ui-checkbox-checked: var(--rv-column-dialog-check-bg, var(--revo-row-select-checkbox-checked, var(--rv-ui-accent)));--rv-ui-checkbox-check: var(--revo-row-select-checkbox-check, var(--rv-ui-accent-fg));--rv-ui-checkbox-focus: var(--revo-row-select-checkbox-focus, var(--rv-ui-focus-ring))}.rv-native-controls revo-grid[theme^=dark]{--rv-ui-checkbox-bg: var(--revo-row-select-checkbox-bg, var(--rv-ui-surface-sunken));--rv-ui-checkbox-border: var(--rv-column-dialog-check-border, var(--revo-row-select-checkbox-border, var(--rv-ui-border-strong)));--rv-ui-checkbox-checked: var(--rv-column-dialog-check-bg, var(--revo-row-select-checkbox-checked, var(--rv-ui-accent)));--rv-ui-checkbox-focus: var(--revo-row-select-checkbox-focus, var(--rv-ui-focus-ring))}.rv-native-controls .rv-checkbox{appearance:none;-webkit-appearance:none;background-color:var(--rv-ui-checkbox-bg, var(--rv-ui-surface));border:2px solid var(--rv-ui-checkbox-border, var(--rv-ui-border-strong));border-radius:4px;box-sizing:border-box;color:var(--rv-ui-checkbox-check, var(--rv-ui-accent-fg));cursor:pointer;display:inline-grid;flex:0 0 auto;height:17px;margin:0;place-content:center;vertical-align:middle;width:17px;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-checkbox::after{content:"";display:block;transform:scale(0)}.rv-native-controls .rv-checkbox:checked,.rv-native-controls .rv-checkbox:indeterminate{background-color:var(--rv-ui-checkbox-checked, var(--rv-ui-accent));border-color:var(--rv-ui-checkbox-checked, var(--rv-ui-accent))}.rv-native-controls .rv-checkbox:checked::after{border:solid currentColor;border-width:0 2px 2px 0;height:8px;transform:translateY(-1px) rotate(45deg) scale(1);width:4px}.rv-native-controls .rv-checkbox:indeterminate::after{background:currentColor;border-radius:1px;height:2px;transform:scale(1);width:9px}.rv-native-controls .rv-checkbox:focus-visible{box-shadow:0 0 0 3px var(--rv-ui-checkbox-focus, var(--rv-ui-focus-ring));outline:none}.rv-native-controls .rv-checkbox:disabled{cursor:not-allowed;opacity:.55}.rv-native-controls .rv-checkbox-control{display:inline-flex;align-items:center;gap:9px;min-width:0;cursor:pointer}.rv-native-controls .rv-checkbox-control__copy{display:inline-flex;flex-direction:column;min-width:0}.rv-native-controls .rv-checkbox-control__label{line-height:1.25}.rv-native-controls .rv-checkbox-control__description{color:var(--rv-ui-text-muted);font-size:.85em;line-height:1.3}.rv-native-controls .rv-checkbox-control:has(.rv-checkbox:disabled){cursor:not-allowed;opacity:.55}.rv-native-controls[data-theme^=dark]{--rv-ui-color-scheme: dark;--rv-ui-disabled-bg: var(--rv-ui-surface-sunken);--rv-ui-disabled-fg: var(--rv-ui-text-muted);--rv-ui-danger-surface: color-mix(in srgb, var(--rv-ui-danger) 10%, var(--rv-ui-surface));--rv-ui-warning-surface: color-mix(in srgb, var(--rv-ui-warning) 10%, var(--rv-ui-surface));--rv-ui-success-surface: color-mix(in srgb, var(--rv-ui-success) 10%, var(--rv-ui-surface));--rv-ui-overlay: color-mix(in srgb, black 60%, transparent);--rv-ui-shadow: color-mix(in srgb, black 32%, transparent);--rv-ui-field-muted: var(--rv-ui-text-muted);--rv-ui-field-accent-text: color-mix(in srgb, var(--rv-ui-accent, #2563eb) 45%, white);--rv-ui-field-surface: #262626;--rv-ui-field-text: var(--rv-ui-text);--rv-ui-canvas: #0a0a0a;--rv-ui-surface: #1f1f1f;--rv-ui-surface-elevated: #262626;--rv-ui-surface-sunken: #111111;--rv-ui-surface-hover: #2f2f2f;--rv-ui-border: #3a3a3a;--rv-ui-border-strong: #525252;--rv-ui-text: #f5f5f5;--rv-ui-text-muted: #a3a3a3;--rv-ui-text-subtle: #737373;--rv-ui-selected-bg: color-mix(in srgb, var(--rv-ui-accent) 12%, var(--rv-ui-surface));--rv-dropdown-container-tag-background: #2b2b2b;--rv-dropdown-placeholder-color: var(--rv-ui-text-muted);--rv-ui-selected-fg: #f5f5f5;--rv-ui-selected-accent-fg: var(--rv-ui-accent-text);--rv-ui-danger: #fca5a5;--rv-ui-warning: #fcd34d;--rv-ui-success: #86efac;--rv-ui-btn-danger-outline: #fca5a5;--rv-ui-btn-danger-outline-hover: rgba(252, 165, 165, 0.10);color-scheme:dark;--rv-ui-accent: #2563eb;--rv-ui-accent-hover: #1d4ed8;--rv-ui-accent-text-weight: 45%;--rv-ui-accent-text-base: white;--rv-ui-accent-text: color-mix(in srgb, var(--rv-ui-accent) 45%, white);--rv-ui-btn-outline-bg: transparent;--rv-ui-btn-outline-bg-hover: var(--rv-ui-surface-hover);--rv-ui-btn-outline-fg: var(--rv-ui-text);--rv-ui-btn-outline-border: var(--rv-ui-border);--rv-ui-btn-outline-border-hover:var(--rv-ui-border-strong);--rv-ui-btn-bg: var(--rv-ui-surface-elevated);--rv-ui-btn-bg-hover: #404040;--rv-ui-btn-secondary-bg: var(--rv-ui-surface);--rv-ui-btn-secondary-bg-hover: var(--rv-ui-surface-hover);--rv-ui-btn-secondary-fg: var(--rv-ui-text);--rv-ui-btn-ghost-hover-bg: rgba(255, 255, 255, 0.08);--rv-ui-btn-ghost-active-bg: rgba(255, 255, 255, 0.14);--rv-ui-switch-track-off: #666666;--rv-ui-switch-thumb: var(--rv-ui-text);--rv-ui-group-border: var(--rv-ui-border);--rv-ui-group-hover-bg: var(--rv-ui-surface-hover);--rv-ui-focus-ring: color-mix(in srgb, var(--rv-ui-accent) 38%, transparent);--rv-ui-badge-disabled-bg: #52525b;--rv-ui-badge-disabled-fg: #e4e4e7}@media(prefers-color-scheme: dark){.rv-native-controls[data-theme=auto]{--rv-ui-color-scheme: dark;--rv-ui-disabled-bg: var(--rv-ui-surface-sunken);--rv-ui-disabled-fg: var(--rv-ui-text-muted);--rv-ui-danger-surface: color-mix(in srgb, var(--rv-ui-danger) 10%, var(--rv-ui-surface));--rv-ui-warning-surface: color-mix(in srgb, var(--rv-ui-warning) 10%, var(--rv-ui-surface));--rv-ui-success-surface: color-mix(in srgb, var(--rv-ui-success) 10%, var(--rv-ui-surface));--rv-ui-overlay: color-mix(in srgb, black 60%, transparent);--rv-ui-shadow: color-mix(in srgb, black 32%, transparent);--rv-ui-field-muted: var(--rv-ui-text-muted);--rv-ui-field-accent-text: color-mix(in srgb, var(--rv-ui-accent, #2563eb) 45%, white);--rv-ui-field-surface: #262626;--rv-ui-field-text: var(--rv-ui-text);--rv-ui-canvas: #0a0a0a;--rv-ui-surface: #1f1f1f;--rv-ui-surface-elevated: #262626;--rv-ui-surface-sunken: #111111;--rv-ui-surface-hover: #2f2f2f;--rv-ui-border: #3a3a3a;--rv-ui-border-strong: #525252;--rv-ui-text: #f5f5f5;--rv-ui-text-muted: #a3a3a3;--rv-ui-text-subtle: #737373;--rv-ui-selected-bg: color-mix(in srgb, var(--rv-ui-accent) 12%, var(--rv-ui-surface));--rv-dropdown-container-tag-background: #2b2b2b;--rv-dropdown-placeholder-color: var(--rv-ui-text-muted);--rv-ui-selected-fg: #f5f5f5;--rv-ui-selected-accent-fg: var(--rv-ui-accent-text);--rv-ui-danger: #fca5a5;--rv-ui-warning: #fcd34d;--rv-ui-success: #86efac;--rv-ui-btn-danger-outline: #fca5a5;--rv-ui-btn-danger-outline-hover: rgba(252, 165, 165, 0.10);color-scheme:dark;--rv-ui-accent: #2563eb;--rv-ui-accent-hover: #1d4ed8;--rv-ui-accent-text-weight: 45%;--rv-ui-accent-text-base: white;--rv-ui-accent-text: color-mix(in srgb, var(--rv-ui-accent) 45%, white);--rv-ui-btn-outline-bg: transparent;--rv-ui-btn-outline-bg-hover: var(--rv-ui-surface-hover);--rv-ui-btn-outline-fg: var(--rv-ui-text);--rv-ui-btn-outline-border: var(--rv-ui-border);--rv-ui-btn-outline-border-hover:var(--rv-ui-border-strong);--rv-ui-btn-bg: var(--rv-ui-surface-elevated);--rv-ui-btn-bg-hover: #404040;--rv-ui-btn-secondary-bg: var(--rv-ui-surface);--rv-ui-btn-secondary-bg-hover: var(--rv-ui-surface-hover);--rv-ui-btn-secondary-fg: var(--rv-ui-text);--rv-ui-btn-ghost-hover-bg: rgba(255, 255, 255, 0.08);--rv-ui-btn-ghost-active-bg: rgba(255, 255, 255, 0.14);--rv-ui-switch-track-off: #666666;--rv-ui-switch-thumb: var(--rv-ui-text);--rv-ui-group-border: var(--rv-ui-border);--rv-ui-group-hover-bg: var(--rv-ui-surface-hover);--rv-ui-focus-ring: color-mix(in srgb, var(--rv-ui-accent) 38%, transparent);--rv-ui-badge-disabled-bg: #52525b;--rv-ui-badge-disabled-fg: #e4e4e7}}
1
+ :root{--rv-ui-motion-enabled: 1;--rv-ui-motion-fast: 120ms;--rv-ui-motion-normal: 160ms;--rv-ui-motion-enter: 180ms;--rv-ui-motion-exit: 120ms;--rv-ui-motion-ease: cubic-bezier(.2, 0, 0, 1)}[data-rv-ui-motion=off]{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}[data-rv-ui-motion=off],[data-rv-ui-motion=off]::before,[data-rv-ui-motion=off]::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}[data-rv-ui-motion=off]::details-content{animation:none !important;transition:none !important}[data-rv-ui-motion=off] *,[data-rv-ui-motion=off] *::before,[data-rv-ui-motion=off] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}[data-rv-ui-motion=off] *::details-content{animation:none !important;transition:none !important}@keyframes rv-ui-surface-in{from{opacity:0}to{opacity:1}}[data-rv-ui-surface]:not(.rv-status-feedback):not([data-status-feedback-exit]){animation:rv-ui-surface-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out)}@media(prefers-reduced-motion: reduce){:root{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}:where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface]),:where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::before,:where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::after,:where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *,:where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::before,:where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}:where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::details-content,:where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::details-content{animation:none !important;transition:none !important}}.rv-disclosure-summary.rv-disclosure-summary--compact{display:inline-flex;width:fit-content;max-width:100%;margin-block:8px;text-align:start}.rv-disclosure-summary.rv-disclosure-summary--compact::before{content:"";flex:none;width:6px;height:6px;margin-inline:1px 3px;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--rv-ui-motion-fast, 120ms) ease}details[open]>.rv-disclosure-summary--compact::before{transform:rotate(45deg)}@media(prefers-reduced-motion: reduce){.rv-disclosure-summary--compact::before{transition:none}}@supports(interpolate-size: allow-keywords) and (transition-behavior: allow-discrete){:where(.rv-ui details,.rv-disclosure,.rv-format-inspector-section,.rv-configurator-available-fields){interpolate-size:allow-keywords}:where(.rv-ui details,.rv-disclosure,.rv-format-inspector-section,.rv-configurator-available-fields)::details-content{block-size:0;opacity:0;overflow:clip;overflow-clip-margin:4px;transition:block-size var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out),opacity var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out),content-visibility var(--rv-ui-motion-normal, 160ms) allow-discrete}:where(.rv-ui details,.rv-disclosure,.rv-format-inspector-section,.rv-configurator-available-fields)[open]::details-content{block-size:auto;opacity:1}}.rv-native-controls{--rv-ui-color-scheme: light;color-scheme:light;--rv-ui-overlay: color-mix(in srgb, black 38%, transparent);--rv-ui-shadow: color-mix(in srgb, black 10%, transparent);--rv-ui-disabled-bg: var(--rv-ui-surface-sunken);--rv-ui-disabled-fg: var(--rv-ui-text-muted);--rv-ui-danger-surface: color-mix(in srgb, var(--rv-ui-danger) 10%, var(--rv-ui-surface));--rv-ui-warning-surface: color-mix(in srgb, var(--rv-ui-warning) 10%, var(--rv-ui-surface));--rv-ui-success-surface: color-mix(in srgb, var(--rv-ui-success) 10%, var(--rv-ui-surface));--rv-ui-field-muted: var(--rv-ui-text-muted);--rv-ui-field-accent-text: color-mix(in srgb, var(--rv-ui-accent, #2563eb) 90%, black);--rv-ui-field-surface: #f6f6f6;--rv-ui-field-text: var(--rv-ui-text);--rv-ui-font-weight-medium: 500;--rv-ui-canvas: #f5f5f5;--rv-ui-surface: #ffffff;--rv-ui-surface-elevated: #ffffff;--rv-ui-surface-sunken: #f8f8f8;--rv-ui-surface-hover: #f1f1f1;--rv-ui-border: #e0e0e0;--rv-ui-border-strong: #cccccc;--rv-ui-text: #171717;--rv-ui-text-muted: #666666;--rv-ui-text-subtle: #737373;--rv-ui-selected-bg: color-mix(in srgb, var(--rv-ui-accent) 12%, var(--rv-ui-surface));--rv-dropdown-container-tag-background: #eeeeee;--rv-dropdown-placeholder-color: var(--rv-ui-text-muted);--rv-ui-selected-fg: #171717;--rv-ui-selected-accent-fg: color-mix(in srgb, var(--rv-ui-accent) 65%, black);--rv-ui-danger: #b91c1c;--rv-ui-warning: #b45309;--rv-ui-success: #15803d;--rv-ui-accent: #2563eb;--rv-ui-accent-hover: #1d4ed8;--rv-ui-accent-fg: #ffffff;--rv-ui-accent-text-weight: 90%;--rv-ui-accent-text-base: black;--rv-ui-accent-text: color-mix(in srgb, var(--rv-ui-accent) 90%, black);--rv-ui-btn-outline-bg: transparent;--rv-ui-btn-outline-bg-hover:var(--rv-ui-surface-hover);--rv-ui-btn-outline-fg: var(--rv-ui-text);--rv-ui-btn-outline-border: var(--rv-ui-border);--rv-ui-btn-outline-border-hover:var(--rv-ui-border-strong);--rv-ui-btn-bg: #262626;--rv-ui-btn-bg-hover: #404040;--rv-ui-btn-fg: #ffffff;--rv-ui-btn-secondary-bg: var(--rv-ui-border);--rv-ui-btn-secondary-bg-hover: var(--rv-ui-border-strong);--rv-ui-btn-secondary-fg: var(--rv-ui-text);--rv-ui-btn-danger-bg: transparent;--rv-ui-btn-danger-bg-hover: rgba(220, 38, 38, 0.08);--rv-ui-btn-danger-fg: var(--rv-ui-danger);--rv-ui-btn-danger-outline: #dc2626;--rv-ui-btn-danger-outline-hover:rgba(220, 38, 38, 0.08);--rv-ui-btn-ghost-hover-bg: rgba(0, 0, 0, 0.06);--rv-ui-btn-ghost-active-bg: rgba(0, 0, 0, 0.10);--rv-ui-switch-track-off: #9ca3af;--rv-ui-switch-thumb: #ffffff;--rv-ui-group-border: var(--rv-ui-border);--rv-ui-group-hover-bg: var(--rv-ui-surface-hover);--rv-ui-badge-bg: var(--rv-ui-accent);--rv-ui-badge-fg: var(--rv-ui-accent-fg);--rv-ui-badge-disabled-bg: #a1a1aa;--rv-ui-badge-disabled-fg: #ffffff;--rv-ui-radius: 6px;--rv-ui-transition: var(--rv-ui-motion-fast, 120ms);--rv-ui-focus-ring: color-mix(in srgb, var(--rv-ui-accent) 35%, transparent);--rv-control-height: 32px;--rv-control-padding: 6px 9px;color:var(--rv-ui-text)}.rv-native-controls :root{--rv-ui-motion-enabled: 1;--rv-ui-motion-fast: 120ms;--rv-ui-motion-normal: 160ms;--rv-ui-motion-enter: 180ms;--rv-ui-motion-exit: 120ms;--rv-ui-motion-ease: cubic-bezier(.2, 0, 0, 1)}.rv-native-controls [data-rv-ui-motion=off]{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls [data-rv-ui-motion=off],.rv-native-controls [data-rv-ui-motion=off]::before,.rv-native-controls [data-rv-ui-motion=off]::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off]::details-content{animation:none !important;transition:none !important}.rv-native-controls [data-rv-ui-motion=off] *,.rv-native-controls [data-rv-ui-motion=off] *::before,.rv-native-controls [data-rv-ui-motion=off] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off] *::details-content{animation:none !important;transition:none !important}@keyframes rv-ui-surface-in{from{opacity:0}to{opacity:1}}.rv-native-controls [data-rv-ui-surface]:not(.rv-status-feedback):not([data-status-feedback-exit]){animation:rv-ui-surface-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out)}@media(prefers-reduced-motion: reduce){.rv-native-controls :root{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface]),.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::before,.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::after,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::before,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::details-content,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::details-content{animation:none !important;transition:none !important}}@keyframes rv-ui-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion: reduce){.rv-native-controls .rv-spinner>span{animation:none}}.rv-native-controls .rv-btn-link,.rv-native-controls .rv-btn-tab,.rv-native-controls .rv-btn-ghost,.rv-native-controls .rv-btn-secondary,.rv-native-controls .rv-btn-danger-ghost,.rv-native-controls .rv-btn-danger,.rv-native-controls .rv-btn-danger-outline,.rv-native-controls .rv-btn-primary,.rv-native-controls .rv-btn-solid,.rv-native-controls .rv-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:var(--rv-ui-radius);box-sizing:border-box;min-height:var(--rv-control-height, 32px);padding:var(--rv-control-padding, 6px 12px);font-family:inherit;font-size:var(--rv-control-font-size, 0.875rem);line-height:1;border:1px solid rgba(0,0,0,0);font-weight:var(--rv-ui-button-font-weight, 500);cursor:pointer;user-select:none;box-shadow:none;text-decoration:none;white-space:nowrap;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-btn-link:focus-visible,.rv-native-controls .rv-btn-tab:focus-visible,.rv-native-controls .rv-btn-ghost:focus-visible,.rv-native-controls .rv-btn-secondary:focus-visible,.rv-native-controls .rv-btn-danger-ghost:focus-visible,.rv-native-controls .rv-btn-danger:focus-visible,.rv-native-controls .rv-btn-danger-outline:focus-visible,.rv-native-controls .rv-btn-primary:focus-visible,.rv-native-controls .rv-btn-solid:focus-visible,.rv-native-controls .rv-btn:focus-visible{outline:2px solid var(--rv-ui-accent-text);outline-offset:2px;box-shadow:0 0 0 2px var(--rv-ui-focus-ring)}.rv-native-controls .rv-btn-link:disabled,.rv-native-controls .rv-btn-tab:disabled,.rv-native-controls .rv-btn-ghost:disabled,.rv-native-controls .rv-btn-secondary:disabled,.rv-native-controls .rv-btn-danger-ghost:disabled,.rv-native-controls .rv-btn-danger:disabled,.rv-native-controls .rv-btn-danger-outline:disabled,.rv-native-controls .rv-btn-primary:disabled,.rv-native-controls .rv-btn-solid:disabled,.rv-native-controls .rv-btn:disabled,.rv-native-controls [disabled].rv-btn-link,.rv-native-controls [disabled].rv-btn-tab,.rv-native-controls [disabled].rv-btn-ghost,.rv-native-controls [disabled].rv-btn-secondary,.rv-native-controls [disabled].rv-btn-danger-ghost,.rv-native-controls [disabled].rv-btn-danger,.rv-native-controls [disabled].rv-btn-danger-outline,.rv-native-controls [disabled].rv-btn-primary,.rv-native-controls [disabled].rv-btn-solid,.rv-native-controls [disabled].rv-btn{pointer-events:none;opacity:.5}.rv-native-controls .rv-btn:where(:not(.rv-btn-solid,.rv-btn-primary,.rv-btn-danger,.rv-btn-danger-outline,.rv-btn-danger-ghost,.rv-btn-secondary,.rv-btn-ghost,.rv-btn-link,.rv-btn-tab)){background:var(--rv-ui-btn-outline-bg);border-color:var(--rv-ui-btn-outline-border);color:var(--rv-ui-btn-outline-fg)}.rv-native-controls .rv-btn:where(:not(.rv-btn-solid,.rv-btn-primary,.rv-btn-danger,.rv-btn-danger-outline,.rv-btn-danger-ghost,.rv-btn-secondary,.rv-btn-ghost,.rv-btn-link,.rv-btn-tab)):hover,.rv-native-controls .rv-btn:where(:not(.rv-btn-solid,.rv-btn-primary,.rv-btn-danger,.rv-btn-danger-outline,.rv-btn-danger-ghost,.rv-btn-secondary,.rv-btn-ghost,.rv-btn-link,.rv-btn-tab)):active{background:var(--rv-ui-btn-outline-bg-hover);border-color:var(--rv-ui-btn-outline-border-hover)}.rv-native-controls .rv-btn-solid{background:var(--rv-ui-btn-bg);color:var(--rv-ui-btn-fg)}.rv-native-controls .rv-btn-solid:hover{background:var(--rv-ui-btn-bg-hover)}.rv-native-controls .rv-btn-solid:active{background:var(--rv-ui-btn-bg-hover)}.rv-native-controls .rv-btn-primary{background:var(--rv-ui-accent);color:var(--rv-ui-accent-fg)}.rv-native-controls .rv-btn-primary:hover{background:var(--rv-ui-accent-hover)}.rv-native-controls .rv-btn-primary:active{background:var(--rv-ui-accent-hover)}.rv-native-controls .rv-btn-danger,.rv-native-controls .rv-btn-danger-outline{border-color:var(--rv-ui-btn-danger-outline);background:rgba(0,0,0,0);color:var(--rv-ui-btn-danger-outline)}.rv-native-controls .rv-btn-danger:hover,.rv-native-controls .rv-btn-danger:active,.rv-native-controls .rv-btn-danger-outline:hover,.rv-native-controls .rv-btn-danger-outline:active{background:var(--rv-ui-btn-danger-outline-hover)}.rv-native-controls .rv-btn-danger-ghost{background:var(--rv-ui-btn-danger-bg);color:var(--rv-ui-btn-danger-fg)}.rv-native-controls .rv-btn-danger-ghost:hover,.rv-native-controls .rv-btn-danger-ghost:active{background:var(--rv-ui-btn-danger-bg-hover)}.rv-native-controls .rv-btn-secondary{background:var(--rv-ui-btn-secondary-bg);color:var(--rv-ui-btn-secondary-fg)}.rv-native-controls .rv-btn-secondary:hover{background:var(--rv-ui-btn-secondary-bg-hover)}.rv-native-controls .rv-btn-secondary:active{background:var(--rv-ui-btn-secondary-bg-hover)}.rv-native-controls .rv-btn-ghost{background:rgba(0,0,0,0);color:inherit}.rv-native-controls .rv-btn-ghost:hover{background:var(--rv-ui-btn-ghost-hover-bg)}.rv-native-controls .rv-btn-ghost:active{background:var(--rv-ui-btn-ghost-active-bg)}.rv-native-controls .rv-switch{appearance:none;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0;border:0;background:rgba(0,0,0,0);color:inherit;cursor:pointer;font:inherit;text-align:start;user-select:none}.rv-native-controls .rv-switch:focus-visible{border-radius:8px;outline:2px solid var(--rv-ui-accent);outline-offset:3px}.rv-native-controls .rv-switch:disabled{cursor:default;opacity:.55}.rv-native-controls .rv-switch-label{min-width:0;line-height:1.35}.rv-native-controls label.rv-switch-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;user-select:none}.rv-native-controls .rv-switch-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rv-native-controls .rv-switch-input:checked+.rv-switch-track{background:var(--rv-ui-accent)}.rv-native-controls .rv-switch-input:checked+.rv-switch-track .rv-switch-thumb{inset-inline-start:15px}.rv-native-controls .rv-switch-input:focus-visible+.rv-switch-track{outline:2px solid var(--rv-ui-accent);outline-offset:3px}.rv-native-controls .rv-switch-track{position:relative;display:inline-flex;align-items:center;flex-shrink:0;width:34px;height:19px;padding:2px;box-sizing:border-box;border-radius:999px;background:var(--rv-ui-switch-track-off);transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-switch-thumb{position:relative;inset-inline-start:0;width:15px;height:15px;border-radius:50%;background:var(--rv-ui-switch-thumb);box-shadow:0 1px 3px var(--rv-ui-shadow);transition:inset-inline-start var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-switch[aria-checked=true] .rv-switch-track{background:var(--rv-ui-accent)}.rv-native-controls .rv-switch[aria-checked=true] .rv-switch-thumb{inset-inline-start:15px}.rv-native-controls .rv-btn-group{display:inline-flex;align-items:stretch;gap:0;border-radius:var(--rv-ui-radius);border:1px solid var(--rv-ui-group-border);overflow:visible}.rv-native-controls .rv-btn-group>.rv-btn{border:0;border-radius:0}.rv-native-controls .rv-btn-group>.rv-btn+.rv-btn{border-inline-start:1px solid var(--rv-ui-group-border)}.rv-native-controls .rv-btn-group>.rv-btn:first-child{border-start-start-radius:calc(var(--rv-ui-radius) - 1px);border-end-start-radius:calc(var(--rv-ui-radius) - 1px)}.rv-native-controls .rv-btn-group>.rv-btn:last-child{border-start-end-radius:calc(var(--rv-ui-radius) - 1px);border-end-end-radius:calc(var(--rv-ui-radius) - 1px)}.rv-native-controls .rv-btn-group>.rv-btn:focus-visible{z-index:1}.rv-native-controls .rv-btn-group-item{position:relative;display:inline-flex}.rv-native-controls .rv-btn-group-item input[type=radio],.rv-native-controls .rv-btn-group-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.rv-native-controls .rv-btn-group-item input[type=radio]:checked+span,.rv-native-controls .rv-btn-group-item input[type=checkbox]:checked+span{background:var(--rv-ui-accent);color:var(--rv-ui-accent-fg)}.rv-native-controls .rv-btn-group-item span{display:block;padding:6px 16px;font-size:.875rem;cursor:pointer;user-select:none;color:inherit;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-btn-group-item+.rv-btn-group-item span{border-inline-start:1px solid var(--rv-ui-group-border)}.rv-native-controls .rv-btn-group-item:hover span{background:var(--rv-ui-group-hover-bg)}.rv-native-controls .rv-chip-remove{appearance:none;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);border:0;border-radius:calc(var(--rv-ui-radius)/2);color:inherit;cursor:pointer;font-size:16px;line-height:1;opacity:.5;padding:0 2px;transition:opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-chip-remove:hover:not(:disabled){opacity:1;background:var(--rv-ui-btn-ghost-hover-bg)}.rv-native-controls .rv-chip-remove:disabled{cursor:not-allowed;opacity:.5}.rv-native-controls .rv-btn-pill{appearance:none;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--rv-ui-group-border);border-radius:999px;background:var(--rv-ui-btn-secondary-bg);color:inherit;font-size:.8rem;cursor:pointer;white-space:nowrap;line-height:1.4;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-btn-pill:hover{background:var(--rv-ui-btn-secondary-bg-hover)}.rv-native-controls .rv-btn-pill:active{opacity:.75}.rv-native-controls .rv-btn-pill:disabled,.rv-native-controls .rv-btn-pill[disabled]{pointer-events:none;opacity:.5}.rv-native-controls .rv-switch-sm .rv-switch-track{width:28px;height:16px}.rv-native-controls .rv-switch-sm .rv-switch-thumb{width:12px;height:12px}.rv-native-controls .rv-switch-sm[aria-checked=true] .rv-switch-thumb{inset-inline-start:12px}.rv-native-controls .rv-switch-sm .rv-switch-input:checked+.rv-switch-track .rv-switch-thumb{inset-inline-start:12px}@media(prefers-reduced-motion: reduce){.rv-native-controls .rv-switch-track,.rv-native-controls .rv-switch-thumb{transition:none}}.rv-native-controls .rv-choice-chips{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.rv-native-controls .rv-choice-chip{appearance:none;min-height:29px;padding:0 11px;border:1px solid rgba(0,0,0,0);border-radius:8px;background:var(--rv-ui-surface-sunken);color:var(--rv-ui-text);cursor:pointer;font:inherit;font-size:13px;font-weight:400;line-height:1;white-space:nowrap;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-choice-chip:hover:not(:disabled){background:var(--rv-ui-surface-hover)}.rv-native-controls .rv-choice-chip[aria-pressed=true],.rv-native-controls .rv-choice-chip[data-selected=true]{border-color:rgba(0,0,0,0);background:var(--rv-ui-choice-chip-selected-bg, var(--rv-ui-selected-bg));color:var(--rv-ui-selected-fg);font-weight:400}.rv-native-controls .rv-choice-chip:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px}.rv-native-controls .rv-choice-chip:disabled{cursor:default;opacity:.5}.rv-native-controls .rv-choice-chips--outlined .rv-choice-chip{border-color:var(--rv-ui-border);background:var(--rv-ui-surface)}.rv-native-controls .rv-choice-chips--outlined .rv-choice-chip[aria-pressed=true],.rv-native-controls .rv-choice-chips--outlined .rv-choice-chip[data-selected=true]{border-color:rgba(0,0,0,0);background:var(--rv-ui-choice-chip-selected-bg, var(--rv-ui-selected-bg))}.rv-native-controls .rv-choice-chip[aria-pressed=true],.rv-native-controls .rv-choice-chip[aria-pressed=true]:hover{border-color:rgba(0,0,0,0);background:var(--rv-ui-choice-chip-selected-bg, var(--rv-ui-selected-bg));color:var(--rv-ui-selected-accent-fg, var(--rv-ui-accent-text));font-weight:500}.rv-native-controls .rv-choice-chips--small .rv-choice-chip{min-height:24px;padding:0 9px;border-radius:7px;font-size:12px}.rv-native-controls .group-expand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border:none;border-radius:var(--rv-ui-radius);background:rgba(0,0,0,0);color:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .group-expand:hover{background:var(--rv-ui-btn-ghost-hover-bg)}.rv-native-controls .rv-segmented-switch,.rv-native-controls .rv-value-selection-editor{--rv-ui-accent-text: color-mix(in srgb, var(--rv-ui-accent) var(--rv-ui-accent-text-weight, 90%), var(--rv-ui-accent-text-base, black))}.rv-native-controls .rv-segmented-switch{--rv-segmented-theme-item-hover-bg: color-mix(in srgb, var(--rv-ui-text) 8%, var(--rv-ui-surface-sunken));display:inline-flex;box-sizing:border-box;height:37px;align-items:center;gap:2px;background:var(--rv-segmented-bg, var(--rv-ah-bg-up, var(--rv-segmented-theme-bg, var(--rv-ui-surface-sunken))));border:1px solid var(--rv-segmented-border, var(--rv-ah-border, transparent));border-radius:10px;padding:2px;box-shadow:none}.rv-native-controls :where(.dark,[data-theme^=dark],revo-grid[theme^=dark]) .rv-segmented-switch,.rv-native-controls .rv-segmented-switch[data-theme^=dark]{--rv-segmented-theme-bg: var(--rv-ui-surface-sunken);--rv-segmented-theme-border: var(--rv-ui-border);--rv-segmented-theme-item-color: var(--rv-ui-text);--rv-segmented-theme-item-hover-bg: var(--rv-ui-surface-hover);--rv-segmented-theme-item-hover-color: var(--rv-ui-text);--rv-segmented-theme-active-bg: var(--rv-ui-surface-elevated);--rv-segmented-theme-active-border: var(--rv-ui-border-strong);--rv-segmented-theme-active-color: var(--rv-ui-accent-text);--rv-segmented-theme-focus-outline: var(--rv-ui-surface-elevated)}.rv-native-controls .rv-segmented-switch-item{box-sizing:border-box;flex:1 1 auto;display:flex;appearance:none;height:31px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(0,0,0,0);border-radius:7px;padding:0 14px;background:rgba(0,0,0,0);color:var(--rv-segmented-item-color, var(--rv-ah-text-2, var(--rv-segmented-theme-item-color, var(--rv-ui-text))));cursor:pointer;font:inherit;font-size:13px;font-weight:400;line-height:1;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-segmented-switch--icon-only .rv-segmented-switch-item{flex:none;width:30px;padding:0}.rv-native-controls .rv-segmented-switch-label{gap:5px;display:inline-flex;align-items:center;justify-content:center}.rv-native-controls .rv-segmented-switch-item:where(:not(.on)):hover:not(:disabled){background:var(--rv-segmented-item-hover-bg, var(--rv-segmented-theme-item-hover-bg, var(--rv-ui-surface-hover)));color:var(--rv-segmented-item-hover-color, var(--rv-ah-text-2, var(--rv-segmented-theme-item-hover-color, var(--rv-ui-text))))}.rv-native-controls .rv-segmented-switch-item.on{background:var(--rv-segmented-active-bg, var(--rv-ah-bg, var(--rv-segmented-theme-active-bg, var(--rv-ui-surface))));color:var(--rv-segmented-active-color, var(--rv-ui-selected-accent-fg, var(--rv-ui-accent-text)));font-weight:500;border-color:var(--rv-segmented-active-border, var(--rv-segmented-theme-active-border, var(--rv-ui-border)));box-shadow:none}.rv-native-controls .rv-segmented-switch-item:focus-visible{outline:2px solid var(--rv-segmented-focus-outline, var(--rv-ah-bg, var(--rv-segmented-theme-focus-outline, var(--rv-ui-text-muted))));box-shadow:0 0 0 4px var(--rv-segmented-focus-ring, color-mix(in srgb, var(--rv-ui-accent) 28%, transparent))}.rv-native-controls .rv-segmented-switch-item:disabled{cursor:not-allowed;color:var(--rv-ui-text-muted);opacity:.55}.rv-native-controls .rv-segmented-switch-count{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;padding:1px 5px;border-radius:4px;background:var(--rv-segmented-count-bg, var(--rv-ah-bg-up, var(--rv-ui-surface-sunken)));color:var(--rv-segmented-count-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)));border:1px solid var(--rv-segmented-count-border, var(--rv-ah-border, var(--rv-ui-border)))}.rv-native-controls .rv-segmented-switch-item.on .rv-segmented-switch-count{background:var(--rv-segmented-active-count-bg, var(--rv-ah-bg-hover, var(--rv-ui-surface-sunken)));color:var(--rv-segmented-active-count-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)))}.rv-native-controls .rv-search-input{min-width:0;position:relative}.rv-native-controls .rv-search-input-icon{position:absolute;inset-inline-start:10px;top:50%;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);color:var(--rv-search-input-icon-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)));pointer-events:none}.rv-native-controls .rv-search-input>input:is([type=search],[type=text]){box-sizing:border-box;width:100%;height:var(--rv-search-input-height, var(--rv-control-height, 32px));min-height:var(--rv-search-input-height, var(--rv-control-height, 32px));appearance:none;background:var(--rv-search-input-bg, var(--rv-ah-bg-input, var(--rv-ui-surface-sunken)));border:1px solid var(--rv-search-input-border, var(--rv-ah-border, var(--rv-ui-border)));border-radius:8px;padding-block:0;padding-inline:32px 38px;color:var(--rv-search-input-color, var(--rv-ah-text, var(--rv-ui-text)));outline:none;font:inherit;font-size:var(--rv-control-font-size, 0.875rem);transition:border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-search-input>input[type=search]::-webkit-search-cancel-button{appearance:none}.rv-native-controls .rv-search-input>input:is([type=search],[type=text])::placeholder{color:var(--rv-search-input-placeholder-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)))}.rv-native-controls .rv-search-input>input:is([type=search],[type=text]):focus{transition:none;border-color:var(--rv-search-input-focus-border, var(--rv-ah-border-strong, var(--rv-ui-border-strong)));background:var(--rv-search-input-focus-bg, var(--rv-ah-bg, var(--rv-ui-surface)))}.rv-native-controls .rv-search-input--no-icon>input:is([type=search],[type=text]){padding-inline-start:12px}.rv-native-controls .rv-search-input--no-shortcut>input:is([type=search],[type=text]){padding-inline-end:12px}.rv-native-controls .rv-search-input-shortcut{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--rv-search-input-shortcut-color, var(--rv-ah-text-2, var(--rv-ui-text-muted)));background:var(--rv-search-input-shortcut-bg, var(--rv-ah-canvas, var(--rv-ui-surface-elevated)));border:1px solid var(--rv-search-input-shortcut-border, var(--rv-ah-border, var(--rv-ui-border)));padding:1px 5px;border-radius:3px}.rv-native-controls .rv-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:var(--rv-ui-badge-bg);color:var(--rv-ui-badge-fg);font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;padding:0 4px;line-height:1;pointer-events:none}.rv-native-controls .rv-badge{position:absolute;inset-block-start:-6px;inset-inline-end:-6px;min-width:18px;height:18px;border-radius:999px;background:var(--rv-ui-badge-bg);color:var(--rv-ui-badge-fg);font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none}.rv-native-controls button.rv-badge--inline{border:0;appearance:none;font-family:inherit;box-shadow:none;cursor:pointer;pointer-events:auto}.rv-native-controls button.rv-badge--inline:focus-visible{outline:2px solid var(--rv-ui-accent-text);outline-offset:2px}.rv-native-controls .rv-badge--inline:is(.rv-badge--neutral,.rv-badge--accent){min-height:20px;height:auto;padding:2px 7px;font-size:12px}.rv-native-controls .rv-badge--neutral{background:var(--rv-ui-surface-hover);color:var(--rv-ui-text-muted)}.rv-native-controls .rv-badge--accent{background:var(--rv-ui-selected-bg);color:var(--rv-ui-selected-accent-fg, var(--rv-ui-accent-text))}.rv-native-controls .rv-badge--rounded{border-radius:4px}.rv-native-controls .rv-btn:disabled .rv-badge,.rv-native-controls .rv-btn[disabled] .rv-badge{background:var(--rv-ui-badge-disabled-bg);color:var(--rv-ui-badge-disabled-fg)}.rv-native-controls .rv-svg-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:var(--rv-icon-size, 14px);height:var(--rv-icon-size, 14px);line-height:1}.rv-native-controls .rv-svg-icon>svg{display:block;width:var(--rv-icon-size, 14px);height:var(--rv-icon-size, 14px);fill:currentColor}.rv-native-controls .rv-btn-icon{box-sizing:border-box;flex:none;width:var(--rv-icon-button-size, 32px);height:var(--rv-icon-button-size, 32px);padding:6px}.rv-native-controls .rv-btn-icon[aria-pressed=true],.rv-native-controls .rv-btn-icon[data-active=true]{background:var(--rv-ui-selected-bg);color:var(--rv-ui-selected-fg)}.rv-native-controls .rv-control-tooltip{display:none;border:0;position:absolute;bottom:calc(100% + 8px);inset-inline-start:50%;transform:translateX(-50%);padding:6px 9px;border-radius:6px;white-space:nowrap;font:12px sans-serif;color:var(--rv-ui-surface);background:var(--rv-ui-text);box-shadow:0 3px 10px var(--rv-ui-shadow);pointer-events:none;visibility:hidden;z-index:20}.rv-native-controls .rv-icon-action:hover .rv-control-tooltip:not([data-visible]),.rv-native-controls .rv-icon-action:focus .rv-control-tooltip:not([data-visible]),.rv-native-controls .rv-btn-icon:hover .rv-control-tooltip:not([data-visible]),.rv-native-controls .rv-btn-icon:focus .rv-control-tooltip:not([data-visible]){display:block;visibility:visible}@supports(anchor-scope: --rv-control-action){.rv-native-controls .rv-icon-action,.rv-native-controls .rv-btn-icon{anchor-name:--rv-control-action;anchor-scope:--rv-control-action}.rv-native-controls .rv-control-tooltip{position:fixed;position-anchor:--rv-control-action;inset:auto;position-area:top;position-try-fallbacks:top span-left,top span-right;margin-bottom:8px;transform:none}}.rv-native-controls .rv-btn-icon{position:relative;overflow:visible}.rv-native-controls .rv-btn-icon .rv-badge{position:absolute;inset-block-start:-5px;inset-inline-end:-6px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;pointer-events:none}.rv-native-controls .rv-history-controls{display:flex;align-items:center;gap:12px;padding-block:5px;padding-inline-end:6px}.rv-native-controls .rv-btn-icon:disabled{pointer-events:auto}.rv-native-controls .rv-toolbar--surface{--rv-icon-size: 18px;display:inline-flex;align-items:center;flex-wrap:wrap;width:fit-content;max-width:100%;gap:3px;padding:4px;border:1px solid var(--rv-ui-border);border-radius:10px;background:var(--rv-ui-surface);box-shadow:0 4px 10px -3px var(--rv-ui-shadow)}.rv-native-controls .rv-toolbar--surface>.rv-btn-icon[aria-pressed=true]{background:var(--rv-ui-selected-bg);color:var(--rv-ui-selected-fg)}.rv-native-controls .rv-toolbar--surface>.rv-btn-icon[aria-pressed=true]:hover:not(:disabled){background:var(--rv-ui-selected-bg)}.rv-native-controls .rv-svg-icon>svg[fill=none]{fill:none}.rv-native-controls .rv-choice-chip--composite{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:default}.rv-native-controls .rv-choice-chip--composite .rv-choice-chip-label{min-width:0}.rv-native-controls .rv-choice-chip--composite button.rv-choice-chip-label{appearance:none;border:0;padding:0;margin:0;background:rgba(0,0,0,0);color:inherit;font:inherit;cursor:pointer}.rv-native-controls .rv-choice-chip--composite button.rv-choice-chip-label:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px}.rv-native-controls .rv-choice-chip--composite[aria-disabled=true]{opacity:.5}.rv-native-controls button.rv-choice-chip-info{box-sizing:border-box;min-width:24px;min-height:24px;box-shadow:none;display:inline-grid;width:24px;height:24px;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);color:var(--rv-ui-text-muted);font:600 13px/1 system-ui,sans-serif;cursor:pointer;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls button.rv-choice-chip-info:hover,.rv-native-controls button.rv-choice-chip-info:focus-visible{background:color-mix(in srgb, currentColor 10%, transparent);color:var(--rv-filter-active-icon-color, var(--rv-ui-accent-text))}.rv-native-controls button.rv-choice-chip-info:focus-visible,.rv-native-controls .rv-choice-chip .rv-chip-remove:focus-visible{outline:2px solid var(--rv-filter-active-icon-color, var(--rv-ui-accent));outline-offset:1px}.rv-native-controls .rv-choice-chip[data-color=true]:is([aria-pressed=true],[data-selected=true]){border-color:rgba(0,0,0,0);background:color-mix(in srgb, var(--rv-choice-chip-color) 9%, var(--rv-ui-surface));color:var(--rv-ui-text)}.rv-native-controls .rv-btn-tab{min-height:40px;padding:0 8px;border:0;border-radius:0;background:rgba(0,0,0,0);color:var(--rv-tab-color, var(--rv-ui-text-muted));font-size:14px;font-weight:500}.rv-native-controls .rv-btn-tab::after{position:absolute;inset-inline:8px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:rgba(0,0,0,0);content:""}.rv-native-controls .rv-btn-tab:hover:not(:disabled),.rv-native-controls .rv-btn-tab[aria-selected=true]{color:var(--rv-tab-accent, var(--rv-ui-accent-text))}.rv-native-controls .rv-btn-tab[aria-selected=true]::after{background:var(--rv-tab-accent, var(--rv-ui-accent-text))}.rv-native-controls .rv-btn-tab:focus-visible{z-index:2;border-radius:6px;outline-color:var(--rv-tab-accent, var(--rv-ui-accent-text));outline-offset:-4px;box-shadow:none}.rv-native-controls .rv-btn-link{min-height:30px;padding:0 7px;gap:6px;border:0;border-radius:6px;background:rgba(0,0,0,0);color:var(--rv-ui-accent-text);font-weight:400;text-decoration:none}.rv-native-controls .rv-btn-link svg{width:12px;height:12px;fill:currentColor}.rv-native-controls .rv-btn-link:hover:not(:disabled){background:rgba(0,0,0,0);text-decoration:underline}.rv-native-controls .rv-btn-link:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px;box-shadow:none}@media(forced-colors: active){.rv-native-controls :is(.rv-btn,.rv-btn-solid,.rv-btn-primary,.rv-btn-ghost,.rv-btn-link,.rv-control,.rv-choice-chip,.rv-segmented-switch-item,.rv-rating-choice):focus-visible{outline:2px solid Highlight;outline-offset:2px}}.rv-native-controls .rv-btn.rv-btn-busy:disabled{pointer-events:auto;cursor:progress}.rv-native-controls .rv-btn.rv-btn-busy:not(.rv-btn-busy-disabled):disabled{opacity:1}.rv-native-controls .rv-button-spinner{display:block;box-sizing:border-box;width:1em;height:1em;border:2px solid var(--rv-ui-border);border-block-start-color:var(--rv-ui-accent);border-radius:50%;animation:rv-ui-spin calc(var(--rv-ui-motion-normal, 160ms)*6.25) linear infinite;flex:0 0 auto;border-color:color-mix(in srgb, currentColor 30%, transparent);border-block-start-color:currentColor}.rv-native-controls .rv-btn-busy.rv-btn-icon>:not(.rv-button-spinner){display:none}.rv-native-controls .rv-btn-rounded.rv-btn-rounded{border-radius:9999px}.rv-native-controls .rv-btn-rounded[aria-disabled=true]{opacity:.5;pointer-events:none}.rv-native-controls :root{--rv-ui-motion-enabled: 1;--rv-ui-motion-fast: 120ms;--rv-ui-motion-normal: 160ms;--rv-ui-motion-enter: 180ms;--rv-ui-motion-exit: 120ms;--rv-ui-motion-ease: cubic-bezier(.2, 0, 0, 1)}.rv-native-controls [data-rv-ui-motion=off]{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls [data-rv-ui-motion=off],.rv-native-controls [data-rv-ui-motion=off]::before,.rv-native-controls [data-rv-ui-motion=off]::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off]::details-content{animation:none !important;transition:none !important}.rv-native-controls [data-rv-ui-motion=off] *,.rv-native-controls [data-rv-ui-motion=off] *::before,.rv-native-controls [data-rv-ui-motion=off] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off] *::details-content{animation:none !important;transition:none !important}@keyframes rv-ui-surface-in{from{opacity:0}to{opacity:1}}.rv-native-controls [data-rv-ui-surface]:not(.rv-status-feedback):not([data-status-feedback-exit]){animation:rv-ui-surface-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out)}@media(prefers-reduced-motion: reduce){.rv-native-controls :root{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface]),.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::before,.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::after,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::before,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::details-content,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::details-content{animation:none !important;transition:none !important}}.rv-native-controls .rv-form-section{display:grid;gap:14px;padding:16px;border:1px solid var(--rv-form-border, var(--rv-ui-border));border-radius:10px;background:var(--rv-form-section-bg, transparent)}.rv-native-controls .rv-form-section__heading{display:grid;gap:3px}.rv-native-controls .rv-form-section__title{margin:0;color:inherit;font-size:13px;font-weight:var(--rv-ui-font-weight-medium, 500);line-height:1.35}.rv-native-controls .rv-form-section__description,.rv-native-controls .rv-form-description{margin:0;color:var(--rv-dialog-muted, var(--rv-ui-text-muted));font-size:12px;line-height:1.45}.rv-native-controls .rv-form-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}.rv-native-controls .rv-field{display:grid;align-content:start;gap:6px;min-width:0}.rv-native-controls .rv-field[hidden]{display:none}.rv-native-controls .rv-field--wide{grid-column:1/-1}.rv-native-controls .rv-field__label{color:inherit;font-size:12px;font-weight:var(--rv-ui-font-weight-medium, 500);line-height:1.35}.rv-native-controls .rv-field__hint{color:var(--rv-dialog-muted, var(--rv-ui-text-muted));font-size:11px;line-height:1.35}.rv-native-controls .rv-control{appearance:none;box-sizing:border-box;width:100%;min-width:0;box-sizing:border-box;min-height:var(--rv-control-height, 32px);padding:var(--rv-control-padding, 6px 12px);font-family:inherit;font-size:var(--rv-control-font-size, 0.875rem);line-height:1;border:1px solid var(--rv-control-border, var(--rv-ui-border));border-radius:var(--rv-control-radius, 8px);background-color:var(--rv-control-bg, var(--rv-ui-surface-sunken));color:var(--rv-control-color, inherit);color-scheme:var(--rv-ui-color-scheme, normal);transition:border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-control::placeholder{color:var(--rv-ui-text-muted);opacity:.8}.rv-native-controls .rv-control:hover:not(:disabled):not([readonly]){border-color:var(--rv-ui-border-strong)}.rv-native-controls .rv-control:focus{transition:none;outline:none;border-color:var(--rv-ui-accent);box-shadow:0 0 0 3px var(--rv-ui-focus-ring)}.rv-native-controls .rv-control:disabled{cursor:not-allowed;opacity:var(--rv-control-disabled-opacity, 0.55)}.rv-native-controls .rv-control[readonly]{background-color:var(--rv-ui-surface);border-style:dashed}.rv-native-controls .rv-control[aria-invalid=true]{border-color:var(--rv-ui-danger)}.rv-native-controls .rv-control[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--rv-ui-danger) 20%, transparent)}.rv-native-controls textarea.rv-control{min-height:var(--rv-textarea-height, 92px);resize:vertical}.rv-native-controls [dir=ltr]{--rv-select-caret-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%}.rv-native-controls [dir=rtl]{--rv-select-caret-position: 11px 50%, 16px 50%}.rv-native-controls select.rv-control{padding-inline-end:34px;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:var(--rv-select-caret-position, calc(100% - 16px) 50%, calc(100% - 11px) 50%);background-repeat:no-repeat;background-size:5px 5px}.rv-native-controls select.rv-control[multiple]{background-image:none;padding-inline-end:10px}.rv-native-controls .rv-control--compact{--rv-control-font-size: 12px;--rv-control-height: 30px;--rv-control-padding: 5px 8px;--rv-control-radius: var(--rv-ui-radius, 6px);font-size:12px}.rv-native-controls select.rv-control--compact{padding-inline-end:28px}.rv-native-controls .rv-radio{width:16px;height:16px;margin:0;flex:none;accent-color:var(--rv-ui-accent)}.rv-native-controls .rv-radio:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px}.rv-native-controls .rv-radio:disabled{opacity:.55;cursor:not-allowed}@media(max-width: 560px){.rv-native-controls .rv-form-grid{grid-template-columns:1fr}.rv-native-controls .rv-field--wide{grid-column:auto}}.rv-native-controls .rv-disclosure-summary{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer;list-style:none}.rv-native-controls .rv-disclosure-summary::-webkit-details-marker{display:none}.rv-native-controls .rv-disclosure-summary__label{min-width:0}.rv-native-controls .rv-disclosure-summary__icon{display:inline-flex;align-items:center;justify-content:center;flex:none}.rv-native-controls .rv-native-slider{width:100%;min-width:0;accent-color:var(--rv-ui-accent);cursor:pointer}.rv-native-controls .rv-native-slider:disabled{opacity:.55;cursor:not-allowed}.rv-native-controls .rv-native-slider:focus-visible{outline:2px solid var(--rv-ui-accent);outline-offset:2px}.rv-native-controls :root{--rv-ui-motion-enabled: 1;--rv-ui-motion-fast: 120ms;--rv-ui-motion-normal: 160ms;--rv-ui-motion-enter: 180ms;--rv-ui-motion-exit: 120ms;--rv-ui-motion-ease: cubic-bezier(.2, 0, 0, 1)}.rv-native-controls [data-rv-ui-motion=off]{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls [data-rv-ui-motion=off],.rv-native-controls [data-rv-ui-motion=off]::before,.rv-native-controls [data-rv-ui-motion=off]::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off]::details-content{animation:none !important;transition:none !important}.rv-native-controls [data-rv-ui-motion=off] *,.rv-native-controls [data-rv-ui-motion=off] *::before,.rv-native-controls [data-rv-ui-motion=off] *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls [data-rv-ui-motion=off] *::details-content{animation:none !important;transition:none !important}@keyframes rv-ui-surface-in{from{opacity:0}to{opacity:1}}.rv-native-controls [data-rv-ui-surface]:not(.rv-status-feedback):not([data-status-feedback-exit]){animation:rv-ui-surface-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out)}@media(prefers-reduced-motion: reduce){.rv-native-controls :root{--rv-ui-motion-enabled: 0;--rv-ui-motion-fast: 0ms;--rv-ui-motion-normal: 0ms;--rv-ui-motion-enter: 0ms;--rv-ui-motion-exit: 0ms;--rv-ui-transition: 0s}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface]),.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::before,.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::after,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::before,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv-native-controls :where([class^=rv-],[class*=" rv-"],[class^=revo-],[class*=" revo-"],.avatar-cell,.range_container,[data-rv-ui-surface])::details-content,.rv-native-controls :where(.rv-ui,.rv-native-controls,.rv-dialog-overlay,.revo-calendar,.range_container) *::details-content{animation:none !important;transition:none !important}}.rv-native-controls revo-grid{--rv-ui-checkbox-bg: var(--revo-row-select-checkbox-bg, var(--rv-ui-surface));--rv-ui-checkbox-border: var(--rv-column-dialog-check-border, var(--revo-row-select-checkbox-border, var(--rv-ui-border-strong)));--rv-ui-checkbox-checked: var(--rv-column-dialog-check-bg, var(--revo-row-select-checkbox-checked, var(--rv-ui-accent)));--rv-ui-checkbox-check: var(--revo-row-select-checkbox-check, var(--rv-ui-accent-fg));--rv-ui-checkbox-focus: var(--revo-row-select-checkbox-focus, var(--rv-ui-focus-ring))}.rv-native-controls revo-grid[theme^=dark]{--rv-ui-checkbox-bg: var(--revo-row-select-checkbox-bg, var(--rv-ui-surface-sunken));--rv-ui-checkbox-border: var(--rv-column-dialog-check-border, var(--revo-row-select-checkbox-border, var(--rv-ui-border-strong)));--rv-ui-checkbox-checked: var(--rv-column-dialog-check-bg, var(--revo-row-select-checkbox-checked, var(--rv-ui-accent)));--rv-ui-checkbox-focus: var(--revo-row-select-checkbox-focus, var(--rv-ui-focus-ring))}.rv-native-controls .rv-checkbox{appearance:none;-webkit-appearance:none;background-color:var(--rv-ui-checkbox-bg, var(--rv-ui-surface));border:2px solid var(--rv-ui-checkbox-border, var(--rv-ui-border-strong));border-radius:4px;box-sizing:border-box;color:var(--rv-ui-checkbox-check, var(--rv-ui-accent-fg));cursor:pointer;display:inline-grid;flex:0 0 auto;height:17px;margin:0;place-content:center;vertical-align:middle;width:17px;transition:background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease)}.rv-native-controls .rv-checkbox::after{content:"";display:block;transform:scale(0)}.rv-native-controls .rv-checkbox:checked,.rv-native-controls .rv-checkbox:indeterminate{background-color:var(--rv-ui-checkbox-checked, var(--rv-ui-accent));border-color:var(--rv-ui-checkbox-checked, var(--rv-ui-accent))}.rv-native-controls .rv-checkbox:checked::after{border:solid currentColor;border-width:0 2px 2px 0;height:8px;transform:translateY(-1px) rotate(45deg) scale(1);width:4px}.rv-native-controls .rv-checkbox:indeterminate::after{background:currentColor;border-radius:1px;height:2px;transform:scale(1);width:9px}.rv-native-controls .rv-checkbox:focus-visible{box-shadow:0 0 0 3px var(--rv-ui-checkbox-focus, var(--rv-ui-focus-ring));outline:none}.rv-native-controls .rv-checkbox:disabled{cursor:not-allowed;opacity:.55}.rv-native-controls .rv-checkbox-control{display:inline-flex;align-items:center;gap:9px;min-width:0;cursor:pointer}.rv-native-controls .rv-checkbox-control__copy{display:inline-flex;flex-direction:column;min-width:0}.rv-native-controls .rv-checkbox-control__label{line-height:1.25}.rv-native-controls .rv-checkbox-control__description{color:var(--rv-ui-text-muted);font-size:.85em;line-height:1.3}.rv-native-controls .rv-checkbox-control:has(.rv-checkbox:disabled){cursor:not-allowed;opacity:.55}.rv-native-controls[data-theme^=dark]{--rv-ui-color-scheme: dark;--rv-ui-disabled-bg: var(--rv-ui-surface-sunken);--rv-ui-disabled-fg: var(--rv-ui-text-muted);--rv-ui-danger-surface: color-mix(in srgb, var(--rv-ui-danger) 10%, var(--rv-ui-surface));--rv-ui-warning-surface: color-mix(in srgb, var(--rv-ui-warning) 10%, var(--rv-ui-surface));--rv-ui-success-surface: color-mix(in srgb, var(--rv-ui-success) 10%, var(--rv-ui-surface));--rv-ui-overlay: color-mix(in srgb, black 60%, transparent);--rv-ui-shadow: color-mix(in srgb, black 32%, transparent);--rv-ui-field-muted: var(--rv-ui-text-muted);--rv-ui-field-accent-text: color-mix(in srgb, var(--rv-ui-accent, #2563eb) 45%, white);--rv-ui-field-surface: #262626;--rv-ui-field-text: var(--rv-ui-text);--rv-ui-canvas: #0a0a0a;--rv-ui-surface: #1f1f1f;--rv-ui-surface-elevated: #262626;--rv-ui-surface-sunken: #111111;--rv-ui-surface-hover: #2f2f2f;--rv-ui-border: #3a3a3a;--rv-ui-border-strong: #525252;--rv-ui-text: #f5f5f5;--rv-ui-text-muted: #a3a3a3;--rv-ui-text-subtle: #737373;--rv-ui-selected-bg: color-mix(in srgb, var(--rv-ui-accent) 12%, var(--rv-ui-surface));--rv-dropdown-container-tag-background: #2b2b2b;--rv-dropdown-placeholder-color: var(--rv-ui-text-muted);--rv-ui-selected-fg: #f5f5f5;--rv-ui-selected-accent-fg: var(--rv-ui-accent-text);--rv-ui-danger: #fca5a5;--rv-ui-warning: #fcd34d;--rv-ui-success: #86efac;--rv-ui-btn-danger-outline: #fca5a5;--rv-ui-btn-danger-outline-hover: rgba(252, 165, 165, 0.10);color-scheme:dark;--rv-ui-accent: #2563eb;--rv-ui-accent-hover: #1d4ed8;--rv-ui-accent-text-weight: 45%;--rv-ui-accent-text-base: white;--rv-ui-accent-text: color-mix(in srgb, var(--rv-ui-accent) 45%, white);--rv-ui-btn-outline-bg: transparent;--rv-ui-btn-outline-bg-hover: var(--rv-ui-surface-hover);--rv-ui-btn-outline-fg: var(--rv-ui-text);--rv-ui-btn-outline-border: var(--rv-ui-border);--rv-ui-btn-outline-border-hover:var(--rv-ui-border-strong);--rv-ui-btn-bg: var(--rv-ui-surface-elevated);--rv-ui-btn-bg-hover: #404040;--rv-ui-btn-secondary-bg: var(--rv-ui-surface);--rv-ui-btn-secondary-bg-hover: var(--rv-ui-surface-hover);--rv-ui-btn-secondary-fg: var(--rv-ui-text);--rv-ui-btn-ghost-hover-bg: rgba(255, 255, 255, 0.08);--rv-ui-btn-ghost-active-bg: rgba(255, 255, 255, 0.14);--rv-ui-switch-track-off: #666666;--rv-ui-switch-thumb: var(--rv-ui-text);--rv-ui-group-border: var(--rv-ui-border);--rv-ui-group-hover-bg: var(--rv-ui-surface-hover);--rv-ui-focus-ring: color-mix(in srgb, var(--rv-ui-accent) 38%, transparent);--rv-ui-badge-disabled-bg: #52525b;--rv-ui-badge-disabled-fg: #e4e4e7}@media(prefers-color-scheme: dark){.rv-native-controls[data-theme=auto]{--rv-ui-color-scheme: dark;--rv-ui-disabled-bg: var(--rv-ui-surface-sunken);--rv-ui-disabled-fg: var(--rv-ui-text-muted);--rv-ui-danger-surface: color-mix(in srgb, var(--rv-ui-danger) 10%, var(--rv-ui-surface));--rv-ui-warning-surface: color-mix(in srgb, var(--rv-ui-warning) 10%, var(--rv-ui-surface));--rv-ui-success-surface: color-mix(in srgb, var(--rv-ui-success) 10%, var(--rv-ui-surface));--rv-ui-overlay: color-mix(in srgb, black 60%, transparent);--rv-ui-shadow: color-mix(in srgb, black 32%, transparent);--rv-ui-field-muted: var(--rv-ui-text-muted);--rv-ui-field-accent-text: color-mix(in srgb, var(--rv-ui-accent, #2563eb) 45%, white);--rv-ui-field-surface: #262626;--rv-ui-field-text: var(--rv-ui-text);--rv-ui-canvas: #0a0a0a;--rv-ui-surface: #1f1f1f;--rv-ui-surface-elevated: #262626;--rv-ui-surface-sunken: #111111;--rv-ui-surface-hover: #2f2f2f;--rv-ui-border: #3a3a3a;--rv-ui-border-strong: #525252;--rv-ui-text: #f5f5f5;--rv-ui-text-muted: #a3a3a3;--rv-ui-text-subtle: #737373;--rv-ui-selected-bg: color-mix(in srgb, var(--rv-ui-accent) 12%, var(--rv-ui-surface));--rv-dropdown-container-tag-background: #2b2b2b;--rv-dropdown-placeholder-color: var(--rv-ui-text-muted);--rv-ui-selected-fg: #f5f5f5;--rv-ui-selected-accent-fg: var(--rv-ui-accent-text);--rv-ui-danger: #fca5a5;--rv-ui-warning: #fcd34d;--rv-ui-success: #86efac;--rv-ui-btn-danger-outline: #fca5a5;--rv-ui-btn-danger-outline-hover: rgba(252, 165, 165, 0.10);color-scheme:dark;--rv-ui-accent: #2563eb;--rv-ui-accent-hover: #1d4ed8;--rv-ui-accent-text-weight: 45%;--rv-ui-accent-text-base: white;--rv-ui-accent-text: color-mix(in srgb, var(--rv-ui-accent) 45%, white);--rv-ui-btn-outline-bg: transparent;--rv-ui-btn-outline-bg-hover: var(--rv-ui-surface-hover);--rv-ui-btn-outline-fg: var(--rv-ui-text);--rv-ui-btn-outline-border: var(--rv-ui-border);--rv-ui-btn-outline-border-hover:var(--rv-ui-border-strong);--rv-ui-btn-bg: var(--rv-ui-surface-elevated);--rv-ui-btn-bg-hover: #404040;--rv-ui-btn-secondary-bg: var(--rv-ui-surface);--rv-ui-btn-secondary-bg-hover: var(--rv-ui-surface-hover);--rv-ui-btn-secondary-fg: var(--rv-ui-text);--rv-ui-btn-ghost-hover-bg: rgba(255, 255, 255, 0.08);--rv-ui-btn-ghost-active-bg: rgba(255, 255, 255, 0.14);--rv-ui-switch-track-off: #666666;--rv-ui-switch-thumb: var(--rv-ui-text);--rv-ui-group-border: var(--rv-ui-border);--rv-ui-group-hover-bg: var(--rv-ui-surface-hover);--rv-ui-focus-ring: color-mix(in srgb, var(--rv-ui-accent) 38%, transparent);--rv-ui-badge-disabled-bg: #52525b;--rv-ui-badge-disabled-fg: #e4e4e7}}
package/native.js CHANGED
@@ -1,22 +1,23 @@
1
1
  import { calculateAnchoredPopoverPosition as e } from "./core/anchored-popover.js";
2
- import { i as t } from "./_chunks/hooks.module-CG3gN83z.js";
3
- import { badgeClassName as n } from "./badge.js";
4
- import { t as r } from "./_chunks/jsxRuntime.module-F6UFnpT-.js";
5
- import { createPreactElement as i, releasePreactElement as a, renderPreactInto as o } from "./preact-mount.js";
6
- import { controlAttributes as ee, controlClassName as te } from "./control-attributes.js";
7
- import { createControl as s, decorateIconAction as c, nativeControlTag as l, registerControl as u, renderControl as d } from "./control-presentation.js";
8
- import { PaginationPanel as f, paginationItems as p, renderPaginationButton as m } from "./pagination.js";
9
- import { B as h, G as g, H as _, K as v, U as y, V as b, W as x, z as S } from "./_chunks/controls-DIum-E66.js";
10
- import { createControlId as C } from "./core/control-id.js";
11
- import { hideTopLayerPopup as w, showTopLayerPopup as T } from "./core/top-layer-popup.js";
12
- import { getUiMotionDuration as E, inheritUiMotion as D, isUiMotionEnabled as O } from "./core/motion.js";
13
- import { d as k, f as A, u as j } from "./_chunks/dialog.parts-DBqo3Qwb.js";
14
- import { createDialogButton as M, createDialogCloseButton as N, createDialogElements as P, getDialogFocusableElements as F, trapDialogFocus as I } from "./dialog/dialog.dom.js";
15
- import { attachDialogDrag as L } from "./dialog/dialog.drag.js";
16
- import { DialogController as R, PopoverController as z, TooltipController as B, attachMenuKeyboard as V, attachResizeHandle as H, createTooltipElement as U } from "./surfaces.js";
17
- import { normalizeProgressRange as W } from "./progress/range.js";
18
- import { t as G } from "./_chunks/mount-DZe_6VtR.js";
19
- import { createFormField as K, createSelectControl as ne, createTextControl as q } from "./form-controls/index.js";
2
+ import { t } from "./_chunks/mount-DQ1cpppK.js";
3
+ import { i as n } from "./_chunks/hooks.module-CG3gN83z.js";
4
+ import { badgeClassName as r } from "./badge.js";
5
+ import { t as i } from "./_chunks/jsxRuntime.module-F6UFnpT-.js";
6
+ import { getUiMotionDuration as a, inheritUiMotion as o, isUiMotionEnabled as s } from "./core/motion.js";
7
+ import { hideTopLayerPopup as ee, showTopLayerPopup as te } from "./core/top-layer-popup.js";
8
+ import { createPreactElement as c, releasePreactElement as l, renderPreactInto as u } from "./preact-mount.js";
9
+ import { controlAttributes as d, controlClassName as f } from "./control-attributes.js";
10
+ import { createControl as p, decorateIconAction as m, nativeControlTag as h, registerControl as g, renderControl as _ } from "./control-presentation.js";
11
+ import { t as v } from "./_chunks/control-AHKXD5Eu.js";
12
+ import { PaginationPanel as y, paginationItems as b, renderPaginationButton as x } from "./pagination.js";
13
+ import { B as S, G as C, H as w, R as T, U as E, V as D, W as O, z as k } from "./_chunks/controls-DsNi8V8I.js";
14
+ import { createControlId as A } from "./core/control-id.js";
15
+ import { d as j, f as M, u as N } from "./_chunks/dialog.parts-CKGkC5zP.js";
16
+ import { createDialogButton as P, createDialogCloseButton as F, createDialogElements as I, getDialogFocusableElements as L, trapDialogFocus as R } from "./dialog/dialog.dom.js";
17
+ import { attachDialogDrag as z } from "./dialog/dialog.drag.js";
18
+ import { DialogController as B, PopoverController as V, TooltipController as H, attachMenuKeyboard as U, attachResizeHandle as W, createTooltipElement as G } from "./surfaces.js";
19
+ import { normalizeProgressRange as K } from "./progress/range.js";
20
+ import { createFormField as q, createTextControl as ne } from "./form-controls/index.js";
20
21
  import { AVATAR_CELL_BACKGROUNDS as J } from "./color-palette/common-palettes.js";
21
22
  import { AvatarElement as Y, avatarTemplate as X, avatarWithTextTemplate as Z, createAvatarElement as re, getAvatarCellBackground as ie, getAvatarIndex as ae, getAvatarInitials as oe } from "./avatar/index.js";
22
23
  import "./dialog/dialog.types.js";
@@ -27,7 +28,7 @@ import { renderCircularProgress as le } from "./progress/circular.js";
27
28
  import { applyControlPresentation as ue } from "./html-controls.js";
28
29
  import { n as de, t as fe } from "./_chunks/native.view-ByyZ1CT5.js";
29
30
  import { a as pe, c as me, d as he, f as ge, h as _e, i as ve, l as ye, m as be, n as xe, o as Q, p as Se, r as Ce, s as we, t as Te, u as Ee } from "./_chunks/cell-visuals-E-2oEKHg.js";
30
- import { t as De } from "./_chunks/color-picker-D90Jg-M8.js";
31
+ import { t as De } from "./_chunks/color-picker-CudqPYZo.js";
31
32
  //#region src/icons/drawing-tools.ts
32
33
  var Oe = {
33
34
  link: "M10 13a5 5 0 0 0 7 .5l3-3a5 5 0 0 0-7-7l-2 2 M14 11a5 5 0 0 0-7-.5l-3 3a5 5 0 0 0 7 7l2-2",
@@ -40,38 +41,38 @@ var Oe = {
40
41
  //#endregion
41
42
  //#region src/color-palette/native.view.tsx
42
43
  function ke(e) {
43
- let [n, i] = t(e.value);
44
- return /* @__PURE__ */ r(De, {
44
+ let [t, r] = n(e.value);
45
+ return /* @__PURE__ */ i(De, {
45
46
  ...e,
46
- value: n,
47
+ value: t,
47
48
  customHexLabel: e.customLabel,
48
49
  onChange: (t) => {
49
- i(t), e.onChange(t);
50
+ r(t), e.onChange(t);
50
51
  }
51
52
  });
52
53
  }
53
54
  function Ae(e, t) {
54
- let n = i(e.ownerDocument, /* @__PURE__ */ r(ke, { ...t }));
55
+ let n = c(e.ownerDocument, /* @__PURE__ */ i(ke, { ...t }));
55
56
  return e.append(n), { destroy() {
56
- a(n);
57
+ l(n);
57
58
  } };
58
59
  }
59
60
  //#endregion
60
61
  //#region src/alert-native.tsx
61
62
  function $(e, { content: t, ...n }) {
62
- o(e, /* @__PURE__ */ r(S, {
63
+ u(e, /* @__PURE__ */ i(T, {
63
64
  ...n,
64
- children: t === void 0 ? n.children : typeof t == "string" ? t : /* @__PURE__ */ r("span", { ref: (e) => {
65
+ children: t === void 0 ? n.children : typeof t == "string" ? t : /* @__PURE__ */ i("span", { ref: (e) => {
65
66
  e && e.replaceChildren(t);
66
67
  } })
67
68
  }));
68
69
  }
69
70
  function je(e, t) {
70
- let n = i(e, /* @__PURE__ */ r("div", {}));
71
+ let n = c(e, /* @__PURE__ */ i("div", {}));
71
72
  return $(n, t), n;
72
73
  }
73
74
  function Me(e) {
74
- o(e, null), a(e);
75
+ u(e, null), l(e);
75
76
  }
76
77
  //#endregion
77
- export { J as AVATAR_CELL_BACKGROUNDS, j as ActionFooterView, Y as AvatarElement, Oe as DRAWING_TOOL_PATHS, R as DialogController, f as PaginationPanel, z as PopoverController, B as TooltipController, ue as applyControlPresentation, L as attachDialogDrag, V as attachMenuKeyboard, H as attachResizeHandle, X as avatarTemplate, Z as avatarWithTextTemplate, n as badgeClassName, e as calculateAnchoredPopoverPosition, ee as controlAttributes, te as controlClassName, je as createAlertElement, re as createAvatarElement, b as createButtonElement, s as createControl, C as createControlId, M as createDialogButton, N as createDialogCloseButton, P as createDialogElements, K as createFormField, fe as createSearchInput, ne as createSelectControl, q as createTextControl, U as createTooltipElement, c as decorateIconAction, xe as formatTimelineEvents, ie as getAvatarCellBackground, ae as getAvatarIndex, oe as getAvatarInitials, F as getDialogFocusableElements, E as getUiMotionDuration, w as hideTopLayerPopup, D as inheritUiMotion, O as isUiMotionEnabled, G as mountAiAssistant, Ae as mountColorPicker, k as mountDialogActionFooter, l as nativeControlTag, W as normalizeProgressRange, p as paginationItems, u as registerControl, Me as releaseAlertElement, we as renderAggregateSummary, h as renderAlert, $ as renderAlertInto, me as renderBadgeValue, ye as renderChange, le as renderCircularProgress, d as renderControl, _ as renderCounter, A as renderDialogActionFooter, ve as renderHeatmap, Ee as renderLabelledIcon, y as renderLoadingIndicator, x as renderMenuItem, pe as renderMiniBarChart, m as renderPaginationButton, he as renderPercentageSummary, Te as renderPie, se as renderProgressBar, ge as renderProgressLine, Se as renderProgressLineValue, ce as renderRangeSlider, g as renderRatingStars, v as renderScalarSlider, de as renderSearchInput, Q as renderSparkline, be as renderThumbs, Ce as renderTimeline, _e as renderTypeIcon, T as showTopLayerPopup, I as trapDialogFocus };
78
+ export { J as AVATAR_CELL_BACKGROUNDS, N as ActionFooterView, Y as AvatarElement, Oe as DRAWING_TOOL_PATHS, B as DialogController, y as PaginationPanel, V as PopoverController, H as TooltipController, ue as applyControlPresentation, z as attachDialogDrag, U as attachMenuKeyboard, W as attachResizeHandle, X as avatarTemplate, Z as avatarWithTextTemplate, r as badgeClassName, e as calculateAnchoredPopoverPosition, d as controlAttributes, f as controlClassName, je as createAlertElement, re as createAvatarElement, S as createButtonElement, p as createControl, A as createControlId, P as createDialogButton, F as createDialogCloseButton, I as createDialogElements, v as createDropdownControl, q as createFormField, fe as createSearchInput, ne as createTextControl, G as createTooltipElement, m as decorateIconAction, xe as formatTimelineEvents, ie as getAvatarCellBackground, ae as getAvatarIndex, oe as getAvatarInitials, L as getDialogFocusableElements, a as getUiMotionDuration, ee as hideTopLayerPopup, o as inheritUiMotion, s as isUiMotionEnabled, t as mountAiAssistant, Ae as mountColorPicker, j as mountDialogActionFooter, h as nativeControlTag, K as normalizeProgressRange, b as paginationItems, g as registerControl, Me as releaseAlertElement, we as renderAggregateSummary, k as renderAlert, $ as renderAlertInto, me as renderBadgeValue, ye as renderChange, le as renderCircularProgress, _ as renderControl, D as renderCounter, M as renderDialogActionFooter, ve as renderHeatmap, Ee as renderLabelledIcon, w as renderLoadingIndicator, E as renderMenuItem, pe as renderMiniBarChart, x as renderPaginationButton, he as renderPercentageSummary, Te as renderPie, se as renderProgressBar, ge as renderProgressLine, Se as renderProgressLineValue, ce as renderRangeSlider, O as renderRatingStars, C as renderScalarSlider, de as renderSearchInput, Q as renderSparkline, be as renderThumbs, Ce as renderTimeline, _e as renderTypeIcon, te as showTopLayerPopup, R as trapDialogFocus };
@@ -1 +1 @@
1
- export { t as NumberDraft, n as formatNumberDraft, r as formatNumberValue, i as parseNumberInput, a as stepNumberInput } from "../_chunks/number-input-BeIadZuL.js";
1
+ export { t as NumberDraft, n as formatNumberDraft, r as formatNumberValue, i as parseNumberInput, a as stepNumberInput } from "../_chunks/number-input-BKwA5FnM.js";
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@revolist/ui",
3
- "version": "4.0.2-rc",
3
+ "version": "4.0.3-rc",
4
4
  "type": "module",
5
5
  "description": "Shared RevoGrid UI controls, native controllers and optional framework adapters",
6
- "license": "Commercial",
6
+ "license": "MIT",
7
7
  "publishConfig": {
8
8
  "registry": "https://registry.npmjs.org/",
9
9
  "access": "public"
@@ -47,6 +47,16 @@
47
47
  "import": "./activity-message.js",
48
48
  "default": "./activity-message.js"
49
49
  },
50
+ "./history-controls": {
51
+ "types": "./history-controls.d.ts",
52
+ "import": "./history-controls.js",
53
+ "default": "./history-controls.js"
54
+ },
55
+ "./select": {
56
+ "types": "./select.d.ts",
57
+ "import": "./select.js",
58
+ "default": "./select.js"
59
+ },
50
60
  "./preact": {
51
61
  "types": "./preact.d.ts",
52
62
  "import": "./preact.js",
@@ -335,6 +345,11 @@
335
345
  "import": "./color-palette/color-palette.js",
336
346
  "default": "./color-palette/color-palette.js"
337
347
  },
348
+ "./dropdown/control": {
349
+ "types": "./dropdown/control.d.ts",
350
+ "import": "./dropdown/control.js",
351
+ "default": "./dropdown/control.js"
352
+ },
338
353
  "./dropdown/index": {
339
354
  "types": "./dropdown/index.d.ts",
340
355
  "import": "./dropdown/index.js",
@@ -708,17 +723,7 @@
708
723
  "**/*.scss",
709
724
  "**/*.css"
710
725
  ],
711
- "dependencies": {
712
- "@lexical/code": "^0.52.0",
713
- "@lexical/history": "^0.52.0",
714
- "@lexical/link": "^0.52.0",
715
- "@lexical/list": "^0.52.0",
716
- "@lexical/markdown": "^0.52.0",
717
- "@lexical/rich-text": "^0.52.0",
718
- "@lexical/selection": "^0.52.0",
719
- "@lexical/utils": "^0.52.0",
720
- "lexical": "^0.52.0"
721
- },
726
+ "dependencies": {},
722
727
  "peerDependencies": {
723
728
  "react": ">=18",
724
729
  "vue": "^3.5.0",
package/pagination.d.ts CHANGED
@@ -42,6 +42,9 @@ export declare class PaginationPanel<T = any> {
42
42
  private loading;
43
43
  private totalPages;
44
44
  private locales;
45
+ private selector?;
46
+ private readonly selectorRef;
47
+ private selectorProps;
45
48
  refresh?: () => void;
46
49
  constructor(config: PaginationViewConfig, onPageChange: (page: number) => void, h: PaginationElementFactory<T>);
47
50
  setLoading(loading: boolean): void;
package/pagination.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { controlClassName as e } from "./control-attributes.js";
2
2
  import { renderControl as t } from "./control-presentation.js";
3
+ import { t as n } from "./_chunks/control-AHKXD5Eu.js";
3
4
  //#region src/pagination.ts
4
- function n(e, t, n = 5) {
5
+ function r(e, t, n = 5) {
5
6
  let r = Math.max(0, Math.floor(t));
6
7
  if (!Number.isFinite(r) || !r) return [];
7
8
  let i = Math.min(r, Math.max(1, Math.floor(n) || 5)), a = Math.min(r - 1, Math.max(0, Math.floor(e) || 0)), o = Math.min(Math.max(0, a - Math.floor(i / 2)), r - i), s = /* @__PURE__ */ new Set([0, r - 1]);
@@ -10,7 +11,7 @@ function n(e, t, n = 5) {
10
11
  for (let e of [...s].sort((e, t) => e - t)) l >= 0 && e - l === 2 ? c.push(l + 1) : l >= 0 && e - l > 2 && c.push("ellipsis"), c.push(e), l = e;
11
12
  return c;
12
13
  }
13
- function r(n, r) {
14
+ function i(n, r) {
14
15
  return t(n, "button", {
15
16
  class: e("rv-button small rv-pagination-button rv-btn-ghost", {
16
17
  "rv-pagination-button--icon": !!r.kind,
@@ -41,7 +42,7 @@ function r(n, r) {
41
42
  "aria-hidden": "true"
42
43
  }, r.text)] : [r.text]);
43
44
  }
44
- var i = class {
45
+ var a = class {
45
46
  onPageChange;
46
47
  h;
47
48
  config = {
@@ -62,6 +63,21 @@ var i = class {
62
63
  items: "items",
63
64
  loading: "Loading…"
64
65
  };
66
+ selector;
67
+ selectorRef = (e) => {
68
+ e ? this.selector || (this.selector = n(e.ownerDocument, this.selectorProps()), e.append(this.selector.element)) : (this.selector?.destroy(), this.selector = void 0);
69
+ };
70
+ selectorProps() {
71
+ return {
72
+ config: { ariaLabel: this.locales.page },
73
+ value: String(this.currentPage),
74
+ source: Array.from({ length: this.totalPages }, (e, t) => ({
75
+ value: String(t),
76
+ label: String(t + 1)
77
+ })),
78
+ onChange: (e) => this.setPage(Number(e))
79
+ };
80
+ }
65
81
  refresh;
66
82
  constructor(e, t, n) {
67
83
  this.onPageChange = t, this.h = n, this.update(e);
@@ -77,18 +93,18 @@ var i = class {
77
93
  this.currentPage = r, this.refresh?.(), t && this.onPageChange(this.currentPage);
78
94
  }
79
95
  createButton(e, t, n) {
80
- let i = {
96
+ let r = {
81
97
  first: "«",
82
98
  previous: "‹",
83
99
  next: "›",
84
100
  last: "»"
85
- }, a = Object.keys(i).find((t) => i[t] === e), o = a ? {
101
+ }, a = Object.keys(r).find((t) => r[t] === e), o = a ? {
86
102
  first: "First page",
87
103
  previous: "Previous page",
88
104
  next: "Next page",
89
105
  last: "Last page"
90
106
  }[a] : e;
91
- return r(this.h, {
107
+ return i(this.h, {
92
108
  text: e,
93
109
  label: o,
94
110
  kind: a,
@@ -97,23 +113,24 @@ var i = class {
97
113
  });
98
114
  }
99
115
  render() {
100
- let e = this.h, i = [];
116
+ this.selector?.update(this.selectorProps());
117
+ let e = this.h, t = [];
101
118
  if (this.config.navigation !== !1) {
102
- if (i.push(...this.config.boundaryButtons === !1 ? [] : [this.createButton(this.locales.first, () => {
119
+ if (t.push(...this.config.boundaryButtons === !1 ? [] : [this.createButton(this.locales.first, () => {
103
120
  this.currentPage > 0 && this.setPage(0);
104
121
  }, this.currentPage === 0)], this.createButton(this.locales.previous, () => {
105
122
  this.currentPage > 0 && this.setPage(this.currentPage - 1);
106
- }, this.currentPage === 0)), this.config.buttonCount) for (let t of n(this.currentPage, this.totalPages, this.config.buttonCount)) t === "ellipsis" ? i.push(e("span", {
123
+ }, this.currentPage === 0)), this.config.buttonCount) for (let n of r(this.currentPage, this.totalPages, this.config.buttonCount)) n === "ellipsis" ? t.push(e("span", {
107
124
  class: "rv-pagination-ellipsis",
108
125
  "aria-hidden": "true"
109
- }, "…")) : i.push(r(e, {
110
- text: String(t + 1),
111
- label: `${this.locales.page} ${t + 1}`,
112
- active: t === this.currentPage,
113
- disabled: t === this.currentPage,
114
- onClick: () => this.setPage(t)
126
+ }, "…")) : t.push(i(e, {
127
+ text: String(n + 1),
128
+ label: `${this.locales.page} ${n + 1}`,
129
+ active: n === this.currentPage,
130
+ disabled: n === this.currentPage,
131
+ onClick: () => this.setPage(n)
115
132
  }));
116
- i.push(this.createButton(this.locales.next, () => {
133
+ t.push(this.createButton(this.locales.next, () => {
117
134
  this.currentPage < this.totalPages - 1 && this.setPage(this.currentPage + 1);
118
135
  }, this.currentPage >= this.totalPages - 1), ...this.config.boundaryButtons === !1 ? [] : [this.createButton(this.locales.last, () => {
119
136
  this.setPage(this.totalPages - 1);
@@ -121,32 +138,25 @@ var i = class {
121
138
  }
122
139
  if (this.totalPages > 1) {
123
140
  let n = [];
124
- this.config.info !== !1 && n.push(e("span", { class: "rv-pagination-label" }, this.locales.page)), n.push(t(e, "select", {
125
- "aria-label": this.locales.page,
126
- value: String(this.currentPage),
127
- onChange: (e) => {
128
- let t = e.target;
129
- this.setPage(parseInt(t.value, 10));
130
- }
131
- }, Array(this.totalPages).fill(null).map((t, n) => e("option", {
132
- value: n,
133
- selected: n === this.currentPage
134
- }, (n + 1).toString())))), this.config.info !== !1 && n.push(e("span", null, ` ${this.locales.of} ${this.totalPages}`)), i.push(e("span", { class: "rv-pagination-selector" }, n));
141
+ this.config.info !== !1 && n.push(e("span", { class: "rv-pagination-label" }, this.locales.page)), n.push(e("span", {
142
+ class: "rv-pagination-dropdown",
143
+ ref: this.selectorRef
144
+ })), this.config.info !== !1 && n.push(e("span", null, ` ${this.locales.of} ${this.totalPages}`)), t.push(e("span", { class: "rv-pagination-selector" }, n));
135
145
  }
136
- this.loading && i.push(e("span", {
146
+ this.loading && t.push(e("span", {
137
147
  role: "status",
138
148
  "aria-live": "polite"
139
149
  }, this.locales.loading));
140
- let a = [];
150
+ let n = [];
141
151
  if (this.config.totalInfo !== !1) {
142
- let t = this.config.total > 0 && this.config.itemsPerPage > 0 ? this.currentPage * this.config.itemsPerPage + 1 : 0, n = Math.min((this.currentPage + 1) * this.config.itemsPerPage, this.config.total);
143
- a.push(e("span", { dir: "auto" }, `${t}-${n} ${this.locales.of} ${this.config.total} ${this.locales.items}`));
152
+ let t = this.config.total > 0 && this.config.itemsPerPage > 0 ? this.currentPage * this.config.itemsPerPage + 1 : 0, r = Math.min((this.currentPage + 1) * this.config.itemsPerPage, this.config.total);
153
+ n.push(e("span", { dir: "auto" }, `${t}-${r} ${this.locales.of} ${this.config.total} ${this.locales.items}`));
144
154
  }
145
155
  return e("div", {
146
156
  class: "rv-pagination-panel",
147
157
  role: "navigation",
148
158
  "aria-label": this.locales.page
149
- }, [e("span", null, i), e("span", null, a)]);
159
+ }, [e("span", null, t), e("span", null, n)]);
150
160
  }
151
161
  update(e) {
152
162
  let t = e.itemsPerPage > 0 && Number.isFinite(e.total) ? Math.max(0, Math.ceil(e.total / e.itemsPerPage)) : 0;
@@ -157,4 +167,4 @@ var i = class {
157
167
  }
158
168
  };
159
169
  //#endregion
160
- export { i as PaginationPanel, n as paginationItems, r as renderPaginationButton };
170
+ export { a as PaginationPanel, r as paginationItems, i as renderPaginationButton };
@@ -1,6 +1,6 @@
1
1
  import { c as e } from "../_chunks/preact.module-BBM36DnO.js";
2
2
  import { renderPreactInto as t } from "../preact-mount.js";
3
- import { i as n, n as r, r as i, t as a } from "../_chunks/component-YDcfoOLz.js";
3
+ import { i as n, n as r, r as i, t as a } from "../_chunks/component-C_T2VN5u.js";
4
4
  import { t as o } from "../_chunks/controller-hRBm_Lfz.js";
5
5
  //#region src/pdf-viewer/index.tsx
6
6
  function s(n, i) {