@revolist/ui 4.0.1-rc → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/MIGRATION.md +36 -0
- package/OWNERSHIP.md +32 -32
- package/README.md +405 -264
- package/_button.scss +6 -2
- package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
- package/_chunks/calculator-CDWOuAcp.js +4 -0
- package/_chunks/calendar-DJqiFwFT.js +258 -0
- package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
- package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
- package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
- package/_chunks/choice-chips-yr6Uzmof.js +126 -0
- package/_chunks/clock-BOhPNlW3.js +4 -0
- package/_chunks/color-palette-DMJUChWC.js +92 -0
- package/_chunks/{color-picker-BRv-__AM.js → color-picker-CMWxQlWt.js} +61 -56
- package/_chunks/component-DyWiItBR.js +878 -0
- package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BKd7U8OW.js} +0 -12
- package/_chunks/configurator-actions-DCodxcUw.js +155 -0
- package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
- package/_chunks/control-CbOYUakE.js +118 -0
- package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
- package/_chunks/controls-DD1qvPfE.js +650 -0
- package/_chunks/{date-control-CYCkb1aQ.js → date-control-XI2cpKI_.js} +21 -21
- package/_chunks/date-time-CGJdC1Qa.js +807 -0
- package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-CW9vjLnk.js} +7 -7
- package/_chunks/dialog.parts-CJ3FVxC9.js +131 -0
- package/_chunks/duration-CBJWK82T.js +272 -0
- package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
- package/_chunks/editor-popup-ByU7qiub.js +82 -0
- package/_chunks/field-configurator-B-qtIwx1.js +288 -0
- package/_chunks/field-context-D57PnBbH.js +5 -0
- package/_chunks/framework-mount-Bk4O_T7T.js +54 -0
- package/_chunks/hooks.module-CG3gN83z.js +157 -0
- package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
- package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
- package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
- package/_chunks/minus-BOAR3A1C.js +4 -0
- package/_chunks/mount-C7i5gsKI.js +267 -0
- package/_chunks/native-Blr3byjO.js +32 -0
- package/_chunks/native-control-B9MNibfa.js +649 -0
- package/_chunks/{number-input-NnH57J4j.js → number-input-CgbZes5B.js} +89 -89
- package/_chunks/picker-DqpjDC90.js +122 -0
- package/_chunks/plus-CbGRkIGl.js +4 -0
- package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
- package/_chunks/popup-C35Isk7p.js +378 -0
- package/_chunks/preact.module-BBM36DnO.js +290 -0
- package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-WDrfiluf.js} +10 -10
- package/_chunks/render-m5eMMwFR.js +83 -0
- package/_chunks/reorder-list-C4HSda4n.js +59 -0
- package/_chunks/request-trail-SHynDFdM.js +762 -0
- package/_chunks/rich-text-CtjqRvv8.js +842 -0
- package/_chunks/rotate-left-BF6G883o.js +4 -0
- package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
- package/_chunks/selection-list-tooltips-BtWjpP6M.js +41 -0
- package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
- package/_chunks/tooltip-D4xkio5G.js +54 -0
- package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
- package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
- package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
- package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
- package/_dialog.scss +55 -21
- package/_form.scss +71 -21
- package/_legend.scss +25 -7
- package/_shared/data-query/index.d.ts +2 -2
- package/_shared/data-query/load-options.d.ts +2 -2
- package/_variables.scss +34 -32
- package/_vendor/preact/LICENSE +21 -0
- package/_vendor/preact/compat/src/index.d.ts +353 -0
- package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
- package/_vendor/preact/compat/src/suspense.d.ts +19 -0
- package/_vendor/preact/hooks/src/index.d.ts +145 -0
- package/_vendor/preact/src/dom.d.ts +2548 -0
- package/_vendor/preact/src/index.d.ts +373 -0
- package/_vendor/preact/src/jsx.d.ts +2958 -0
- package/_view-switcher.scss +6 -0
- package/activity-message.d.ts +2 -2
- package/activity-message.js +16 -16
- package/ai/_chat.scss +227 -0
- package/ai/_style.scss +170 -39
- package/ai/chat.d.ts +65 -0
- package/ai/components.d.ts +35 -6
- package/ai/index.d.ts +3 -0
- package/ai/index.js +3 -3
- package/ai/mount.d.ts +59 -6
- package/ai/prompt-history.d.ts +13 -0
- package/ai/request-trail.d.ts +9 -3
- package/ai/results/_style.scss +83 -0
- package/ai/results/index.d.ts +11 -0
- package/ai/results/metrics.d.ts +5 -0
- package/ai/results/table.d.ts +5 -0
- package/ai/results/text.d.ts +5 -0
- package/ai/results/types.d.ts +29 -0
- package/ai/transcript.d.ts +27 -0
- package/ai/translation-context.d.ts +1 -1
- package/ai/translations.d.ts +1 -1
- package/alert.d.ts +2 -2
- package/angular/angular.d.ts +1 -1
- package/angular/angular.js +13 -10
- package/assignee/assignee.scss +28 -6
- package/assignee/field.d.ts +2 -2
- package/assignee/index.js +86 -87
- package/assignee/layout.d.ts +2 -2
- package/assignee/picker.d.ts +1 -1
- package/avatar/avatar.style.scss +23 -6
- package/avatar/index.d.ts +25 -2
- package/avatar/index.js +42 -41
- package/badge.d.ts +1 -1
- package/badge.view.d.ts +8 -0
- package/brush-range/_brush-range.scss +55 -49
- package/brush-range/component.d.ts +2 -4
- package/brush-range/component.js +19 -19
- package/buttons/delete-button.d.ts +2 -1
- package/buttons/delete-button.js +1 -1
- package/buttons/delete-button.style.scss +6 -2
- package/buttons/remove-button.d.ts +2 -2
- package/buttons/remove-button.js +3 -3
- package/buttons/remove-button.style.scss +1 -1
- package/buttons/svg-button.d.ts +3 -2
- package/buttons/svg-button.js +23 -23
- package/calendar/_calendar.scss +27 -26
- package/calendar/calendar.d.ts +1 -1
- package/calendar/calendar.js +1 -1
- package/calendar/caption.d.ts +1 -1
- package/calendar/day.d.ts +1 -1
- package/calendar/day.js +4 -4
- package/calendar/header.d.ts +1 -1
- package/calendar/header.js +34 -35
- package/calendar/index.js +2 -2
- package/calendar/month-grid.d.ts +1 -1
- package/calendar/month-grid.js +37 -37
- package/calendar/picker.d.ts +1 -1
- package/calendar/types.d.ts +1 -1
- package/calendar/year-grid.d.ts +1 -1
- package/calendar/year-grid.js +12 -12
- package/cell-input.scss +3 -7
- package/cell-visuals/badge.style.scss +6 -3
- package/cell-visuals/bar-chart.style.scss +2 -1
- package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
- package/cell-visuals/progress-line.style.scss +1 -4
- package/cell-visuals/sparkline.style.scss +2 -1
- package/cell-visuals/timeline.style.css +4 -2
- package/checkbox/checkbox.scss +6 -24
- package/checkbox/index.d.ts +2 -2
- package/checkbox/index.js +9 -9
- package/choice-chips/index.d.ts +4 -2
- package/choice-chips/index.js +1 -1
- package/color-palette/color-palette.d.ts +1 -1
- package/color-palette/color-palette.js +1 -1
- package/color-palette/color-palette.style.scss +88 -25
- package/color-palette/color-picker.d.ts +1 -1
- package/color-palette/color-picker.js +2 -2
- package/color-palette/color-picker.style.scss +23 -10
- package/color-palette/common-palettes.d.ts +1 -1
- package/color-palette/common-palettes.js +1 -1
- package/color-palette/native.d.ts +15 -2
- package/component-catalog.d.ts +42 -29
- package/configurator-actions.d.ts +67 -0
- package/configurator-actions.js +1 -0
- package/configurator-aggregation-list.d.ts +14 -0
- package/configurator-aggregation-list.js +63 -0
- package/configurator-drop-zone.d.ts +39 -0
- package/configurator-drop-zone.js +66 -0
- package/configurator-field-icon.d.ts +10 -0
- package/configurator-field-icon.js +1 -0
- package/configurator-focus.d.ts +4 -0
- package/configurator-focus.js +39 -0
- package/configurator-sections.d.ts +42 -0
- package/configurator-sections.js +71 -0
- package/control-attributes.js +7 -7
- package/control-presentation.d.ts +8 -2
- package/control-presentation.js +31 -26
- package/controls.d.ts +23 -11
- package/controls.js +4 -3
- package/core/editor-commit.d.ts +1 -1
- package/core/editor-popup-position.d.ts +6 -2
- package/core/editor-popup.d.ts +5 -1
- package/core/editor-popup.js +1 -1
- package/core/popover-controller.d.ts +35 -0
- package/core/popup-ownership.d.ts +2 -0
- package/core/selection-list-tooltips.d.ts +2 -0
- package/core/title-tooltip.d.ts +2 -0
- package/core/tooltip-session.d.ts +29 -0
- package/core/tooltip-surface.d.ts +13 -0
- package/core/tooltip-text.d.ts +6 -0
- package/core/tooltip.d.ts +35 -0
- package/core/top-layer-popup.d.ts +4 -0
- package/core/top-layer-popup.js +1 -23
- package/date-time/attach.d.ts +1 -1
- package/date-time/date-control.d.ts +2 -2
- package/date-time/field.d.ts +4 -3
- package/date-time/index.js +1 -1
- package/date-time/picker.d.ts +1 -1
- package/date-time/style.scss +242 -39
- package/date-time/time-control.d.ts +1 -1
- package/date-time/time-selection.d.ts +3 -1
- package/date-time/types.d.ts +6 -2
- package/dialog/dialog-action-footer.d.ts +17 -2
- package/dialog/dialog.dom.d.ts +15 -2
- package/dialog/dialog.dom.js +53 -53
- package/dialog/dialog.parts.d.ts +18 -18
- package/dialog/dialog.parts.js +1 -1
- package/dialog/dialog.preact.d.ts +1 -1
- package/dialog/dialog.preact.js +6 -6
- package/distribution-chart/_distribution-chart.scss +113 -77
- package/distribution-chart/area-chart.d.ts +1 -1
- package/distribution-chart/area-chart.js +25 -25
- package/distribution-chart/bar-chart.d.ts +6 -3
- package/distribution-chart/bar-chart.js +10 -6
- package/distribution-chart/chart-frame.d.ts +3 -2
- package/distribution-chart/index.d.ts +2 -2
- package/distribution-chart/index.js +6 -6
- package/distribution-chart/line-chart.d.ts +1 -1
- package/distribution-chart/line-chart.js +9 -9
- package/distribution-chart/types.d.ts +1 -1
- package/dropdown/content.d.ts +3 -2
- package/dropdown/content.js +1 -141
- package/dropdown/control.d.ts +14 -0
- package/dropdown/control.js +1 -0
- package/dropdown/control.view.d.ts +6 -0
- package/dropdown/dropdown.service.d.ts +1 -1
- package/dropdown/dropdown.service.js +9 -9
- package/dropdown/dropdown.types.d.ts +5 -1
- package/dropdown/editor-dropdown.style.scss +54 -16
- package/dropdown/index.d.ts +1 -1
- package/dropdown/index.js +3 -4
- package/dropdown/lookup-field.d.ts +6 -1
- package/dropdown/lookup-field.js +42 -41
- package/dropdown/popup.d.ts +2 -2
- package/dropdown/popup.js +1 -140
- package/duration/controls.d.ts +1 -1
- package/duration/index.d.ts +2 -2
- package/duration/index.js +1 -1
- package/duration/style.scss +1 -1
- package/editor-actions.d.ts +1 -1
- package/editor-actions.js +21 -20
- package/editor-layout/index.d.ts +5 -5
- package/editor-layout/index.js +43 -38
- package/editor-layout/style.scss +82 -18
- package/field-configurator.d.ts +40 -2
- package/field-configurator.js +4 -170
- package/field-expansion.d.ts +9 -0
- package/field-reorder.hook.js +32 -32
- package/fieldset.d.ts +3 -0
- package/filter/filters/slider/_single-slider.scss +57 -38
- package/filter/filters/slider/_slider.scss +41 -33
- package/filter/filters/slider/control.js +2 -0
- package/filter/filters/slider/preact.js +3 -3
- package/filter/filters/slider/runtime.js +49 -22
- package/filter/filters/slider/single.d.ts +1 -1
- package/filter/filters/slider/single.js +23 -23
- package/filter-badge.d.ts +1 -1
- package/filter-badge.js +23 -22
- package/filter-controls.d.ts +1 -2
- package/filter-controls.js +29 -30
- package/form-controls/field-context.d.ts +5 -0
- package/form-controls/index.d.ts +10 -2
- package/form-controls/index.js +17 -22
- package/form-controls/presentation.d.ts +2 -2
- package/form-controls/presentation.js +59 -51
- package/formatting/comparison-preview.d.ts +1 -1
- package/formatting/icon-controls.d.ts +1 -1
- package/formatting/index.d.ts +1 -1
- package/formatting/index.js +106 -100
- package/formatting/inspector-section.d.ts +1 -1
- package/formatting/styles.scss +14 -57
- package/formatting/typography-controls.d.ts +1 -1
- package/framework-mount.d.ts +1 -1
- package/framework.js +237 -226
- package/history-controls.d.ts +14 -0
- package/history-controls.js +27 -0
- package/icon-toolbar.d.ts +62 -0
- package/icon-toolbar.js +1 -0
- package/icons/icon.d.ts +2 -2
- package/icons/icon.js +1 -1
- package/legend.d.ts +2 -2
- package/legend.js +12 -12
- package/masked-input/index.d.ts +1 -1
- package/masked-input/index.js +109 -109
- package/native-control.d.ts +14 -13
- package/native-control.js +3 -26
- package/native-controls.d.ts +54 -2
- package/native-styles.css +1 -1
- package/native-styles.scss +6 -2
- package/native.d.ts +3 -3
- package/native.js +49 -45
- package/number-input/index.d.ts +2 -2
- package/number-input/index.js +1 -1
- package/package.json +88 -15
- package/pagination.d.ts +3 -0
- package/pagination.js +50 -40
- package/pdf-viewer/component.d.ts +1 -1
- package/pdf-viewer/controller.js +1 -1
- package/pdf-viewer/header.d.ts +2 -2
- package/pdf-viewer/index.d.ts +2 -2
- package/pdf-viewer/index.js +13 -13
- package/pdf-viewer/search-bar.d.ts +2 -2
- package/pdf-viewer/status.d.ts +2 -2
- package/pdf-viewer/style.scss +205 -45
- package/pdf-viewer/toolbar.d.ts +1 -1
- package/pickers.d.ts +6 -2
- package/preact-mount.d.ts +1 -1
- package/preact-mount.js +2 -2
- package/preact.d.ts +15 -10
- package/preact.js +109 -64
- package/progress/_bar.scss +9 -3
- package/progress/_circular.scss +2 -1
- package/rating-choice.d.ts +1 -1
- package/rating-choice.js +1 -1
- package/react-adapter.d.ts +5 -3
- package/react-control.d.ts +1 -0
- package/react.d.ts +20 -11
- package/react.js +72 -88
- package/reorder-list.d.ts +2 -2
- package/reorder-list.js +1 -1
- package/reorder-list.scss +59 -17
- package/resource-picker/resource-picker-avatar.d.ts +1 -1
- package/resource-picker/resource-picker-avatar.js +14 -14
- package/resource-picker/resource-picker-option.d.ts +1 -1
- package/resource-picker/resource-picker-option.js +28 -28
- package/resource-picker/resource-picker-popup.d.ts +1 -1
- package/resource-picker/resource-picker-popup.js +3 -3
- package/resource-picker/resource-picker.d.ts +1 -1
- package/resource-picker/resource-picker.js +68 -66
- package/resource-picker/resource-picker.scss +66 -35
- package/rich-text/engine.d.ts +17 -19
- package/rich-text/format-html.d.ts +2 -0
- package/rich-text/index.d.ts +11 -7
- package/rich-text/index.js +1 -1
- package/rich-text/model.d.ts +6 -3
- package/rich-text/render-model.d.ts +4 -5
- package/rich-text/style.scss +295 -55
- package/rich-text/syntax.d.ts +5 -2
- package/rich-text/toolbar.d.ts +7 -7
- package/rich-text/translations.d.ts +5 -15
- package/search-input/index.js +12 -12
- package/search-input/native.d.ts +21 -2
- package/segmented-switch/index.d.ts +1 -1
- package/segmented-switch/index.js +1 -1
- package/select.d.ts +22 -0
- package/select.js +1 -0
- package/selection-list.d.ts +1 -0
- package/selection-list.js +3 -1
- package/status-feedback/exit-snapshot.js +1 -1
- package/status-feedback/index.js +2 -2
- package/status-feedback/popover.js +9 -9
- package/status-feedback/render.d.ts +2 -2
- package/status-feedback/render.js +3 -44
- package/status-feedback/status-feedback.scss +130 -34
- package/status-feedback/types.d.ts +4 -0
- package/status-feedback/use-auto-dismiss.d.ts +3 -0
- package/styles/_activity-message.scss +24 -7
- package/styles/_alert.scss +78 -17
- package/styles/_cell-editor-frame.scss +11 -0
- package/styles/_compositions.scss +404 -82
- package/styles/_control.scss +42 -12
- package/styles/_disclosure.scss +15 -5
- package/styles/_editor-counter.scss +16 -6
- package/styles/_editor-slider.scss +8 -4
- package/styles/_field-configurator.scss +321 -23
- package/styles/_fields-grid.scss +49 -0
- package/styles/_filter-controls.scss +10 -2
- package/styles/_icon-action.scss +48 -15
- package/styles/_loading.scss +12 -3
- package/styles/_motion.scss +32 -9
- package/styles/_palette.scss +0 -24
- package/styles/_primitives.scss +376 -116
- package/styles/_theme.scss +130 -86
- package/styles/_thresholds.scss +28 -25
- package/styles/_time-grid.scss +8 -3
- package/styles/_tokens.scss +6 -1
- package/styles/configurator-actions.scss +241 -0
- package/styles/pagination.css +213 -0
- package/styles/{legacy-rating.css → rating.css} +8 -3
- package/styles.css +1 -1
- package/styles.scss +3 -5
- package/surfaces.d.ts +38 -2
- package/surfaces.js +37 -134
- package/svelte/UiComponent.server.js +1 -48
- package/svelte/UiComponent.svelte +44 -32
- package/svelte.d.ts +1 -1
- package/svelte.js +33 -68
- package/switch/index.js +3 -2
- package/time-grid.d.ts +1 -2
- package/time-grid.js +43 -42
- package/timeline-track/_style.scss +96 -24
- package/timeline-track/component.d.ts +5 -1
- package/timeline-track/index.js +91 -74
- package/timeline-track/model.d.ts +9 -0
- package/timeline-track/model.js +10 -1
- package/ui.css +1 -1
- package/view-switcher.d.ts +23 -0
- package/vue-adapter.d.ts +1 -1
- package/vue.d.ts +160 -144
- package/vue.js +149 -178
- package/_chunks/calendar-BsDxCYhI.js +0 -248
- package/_chunks/chart-frame-BvxbmEU9.js +0 -126
- package/_chunks/choice-chips-0HfOnK_4.js +0 -110
- package/_chunks/color-palette-BmZ7kH9R.js +0 -94
- package/_chunks/component-D4PH5UZT.js +0 -859
- package/_chunks/control-tooltip-BCNzQCXE.js +0 -100
- package/_chunks/controls-NEL5tDaz.js +0 -615
- package/_chunks/date-time-DjucJmbc.js +0 -769
- package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
- package/_chunks/dropdown-CkGQBm1Q.js +0 -357
- package/_chunks/duration-BCaktcvz.js +0 -270
- package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
- package/_chunks/editor-popup-B7fu_A_T.js +0 -81
- package/_chunks/framework-mount-BKIOsvY-.js +0 -54
- package/_chunks/mount-0-8opf1j.js +0 -90
- package/_chunks/native.view-8q_nwQ7x.js +0 -32
- package/_chunks/picker-oazJ7sO_.js +0 -121
- package/_chunks/reorder-list-BV3kZXso.js +0 -59
- package/_chunks/request-trail-D0oVzdRd.js +0 -347
- package/_chunks/rich-text-2Rla349o.js +0 -477
- package/avatar/index.view.d.ts +0 -25
- package/color-palette/native.view.d.ts +0 -15
- package/control-presentation.view.d.ts +0 -8
- package/dialog/dialog-action-footer.view.d.ts +0 -20
- package/dialog/dialog.dom.view.d.ts +0 -15
- package/form-controls/index.view.d.ts +0 -12
- package/formatting/control-tooltip.d.ts +0 -27
- package/native-controls.view.d.ts +0 -54
- package/react-native-select.d.ts +0 -6
- package/search-input/native.view.d.ts +0 -21
- package/styles/legacy-pagination.css +0 -112
- package/surfaces.view.d.ts +0 -63
- package/vue-native-select.d.ts +0 -9
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/rotate-left.svg?raw
|
|
2
|
+
var e = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M24 192l144 0c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-46.7-46.7c75.3-58.6 184.3-53.3 253.5 15.9 75 75 75 196.5 0 271.5s-196.5 75-271.5 0c-10.2-10.2-19-21.3-26.4-33-9.5-14.9-29.3-19.3-44.2-9.8s-19.3 29.3-9.8 44.2C49.7 408.7 61.4 423.5 75 437 175 537 337 537 437 437S537 175 437 75C342.8-19.3 193.3-24.7 92.7 58.8L41 7C34.1 .2 23.8-1.9 14.8 1.8S0 14.3 0 24L0 168c0 13.3 10.7 24 24 24z\"/></svg>";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as t };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/rotate-right.svg?raw
|
|
2
|
+
var e = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M488 192l-144 0c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l46.7-46.7c-75.3-58.6-184.3-53.3-253.5 15.9-75 75-75 196.5 0 271.5s196.5 75 271.5 0c8.2-8.2 15.5-16.9 21.9-26.1 10.1-14.5 30.1-18 44.6-7.9s18 30.1 7.9 44.6c-8.5 12.2-18.2 23.8-29.1 34.7-100 100-262.1 100-362 0S-25 175 75 75c94.3-94.3 243.7-99.6 344.3-16.2L471 7c6.9-6.9 17.2-8.9 26.2-5.2S512 14.3 512 24l0 144c0 13.3-10.7 24-24 24z\"/></svg>";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as t };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { o as e, t } from "./hooks.module-CG3gN83z.js";
|
|
2
|
+
import { t as n } from "./tooltip-session-B6X6x8G_.js";
|
|
3
|
+
import { createControlId as r } from "../core/control-id.js";
|
|
4
|
+
//#region src/core/selection-list-tooltips.ts
|
|
5
|
+
function i(i = "[role=\"option\"]") {
|
|
6
|
+
let a = t(void 0);
|
|
7
|
+
return e((e) => {
|
|
8
|
+
if (a.current?.(), a.current = void 0, !e) return;
|
|
9
|
+
let t = new n(), o = e.ownerDocument.createElement("div");
|
|
10
|
+
o.id = r("rv-list-tooltip"), o.className = "rv-tooltip", o.setAttribute("role", "tooltip"), o.hidden = !0, t.setSurface(o);
|
|
11
|
+
let s, c = (t) => {
|
|
12
|
+
let n = t?.closest?.(i);
|
|
13
|
+
return n && e.contains(n) ? n : void 0;
|
|
14
|
+
}, l = () => {
|
|
15
|
+
s = void 0, t.hide();
|
|
16
|
+
}, u = (e) => {
|
|
17
|
+
if (!e) {
|
|
18
|
+
l();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
let n = [e, ...e.querySelectorAll("*")].filter((e) => e.textContent?.trim() && e.scrollWidth > e.clientWidth), r = n.filter((e) => !n.some((t) => t !== e && e.contains(t))).map((e) => e.textContent.trim()).join("\n");
|
|
22
|
+
r ? s === e && o.textContent === r && t.isOpen || (l(), s = e, o.textContent = r, t.show(e)) : l();
|
|
23
|
+
}, d = (e) => u(c(e.target)), f = (e) => {
|
|
24
|
+
c(e.relatedTarget) !== s && l();
|
|
25
|
+
}, p = (t) => {
|
|
26
|
+
if (![
|
|
27
|
+
"ArrowUp",
|
|
28
|
+
"ArrowDown",
|
|
29
|
+
"Home",
|
|
30
|
+
"End"
|
|
31
|
+
].includes(t.key)) return;
|
|
32
|
+
let n = (e.hasAttribute("aria-activedescendant") ? e : e.querySelector("[aria-activedescendant]"))?.getAttribute("aria-activedescendant");
|
|
33
|
+
n && u(c(e.ownerDocument.getElementById(n)));
|
|
34
|
+
};
|
|
35
|
+
e.addEventListener("pointerover", d, !0), e.addEventListener("pointerout", f, !0), e.addEventListener("focusin", d, !0), e.addEventListener("focusout", f, !0), e.addEventListener("pointerdown", l, !0), e.addEventListener("keyup", p), a.current = () => {
|
|
36
|
+
t.destroy(), e.removeEventListener("pointerover", d, !0), e.removeEventListener("pointerout", f, !0), e.removeEventListener("focusin", d, !0), e.removeEventListener("focusout", f, !0), e.removeEventListener("pointerdown", l, !0), e.removeEventListener("keyup", p);
|
|
37
|
+
};
|
|
38
|
+
}, [i]);
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { i as t };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { r as e, t } from "./hooks.module-CG3gN83z.js";
|
|
2
|
+
import { n } from "./popover-controller-D-AvKQ7B.js";
|
|
3
|
+
//#region src/core/title-tooltip.ts
|
|
4
|
+
function r(r, i) {
|
|
5
|
+
let a = t(null), o = t(i);
|
|
6
|
+
return o.current = i, e(() => {
|
|
7
|
+
if (a.current && r) return new n().bind(a.current, r, { onEscape: () => o.current?.() });
|
|
8
|
+
}, [r]), a;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { r as t };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { i as e, o as t, r as n } from "./hooks.module-CG3gN83z.js";
|
|
2
|
+
import { t as r } from "./jsxRuntime.module-F6UFnpT-.js";
|
|
3
|
+
import { t as i } from "./tooltip-session-B6X6x8G_.js";
|
|
4
|
+
import { createControlId as a } from "../core/control-id.js";
|
|
5
|
+
//#region src/core/tooltip.tsx
|
|
6
|
+
function o(o, s = !0, c) {
|
|
7
|
+
let [l] = e(() => a("rv-format-control-tooltip")), [u] = e(() => new i());
|
|
8
|
+
u.delay = c?.delay ?? 0;
|
|
9
|
+
let d = t(() => u.hide(), [u]), f = t((e) => {
|
|
10
|
+
e || u.hide(), u.setSurface(e);
|
|
11
|
+
}, [u]);
|
|
12
|
+
return n(() => {
|
|
13
|
+
u.hide();
|
|
14
|
+
}, [o, c?.delay]), n(() => () => u.destroy(), [u]), {
|
|
15
|
+
id: l,
|
|
16
|
+
hide: d,
|
|
17
|
+
triggerProps: {
|
|
18
|
+
"aria-describedby": l,
|
|
19
|
+
onFocus: (e) => u.focus(e.currentTarget),
|
|
20
|
+
onBlur: () => u.blur(),
|
|
21
|
+
onMouseEnter: (e) => u.show(e.currentTarget),
|
|
22
|
+
onMouseLeave: (e) => u.leave(e?.currentTarget),
|
|
23
|
+
onPointerDown: (e) => u.pointerDown(),
|
|
24
|
+
onPointerCancel: () => u.hide(),
|
|
25
|
+
onKeyDown: (e) => u.keyDown(e)
|
|
26
|
+
},
|
|
27
|
+
tooltip: /* @__PURE__ */ r("span", {
|
|
28
|
+
ref: f,
|
|
29
|
+
id: l,
|
|
30
|
+
class: `rv-tooltip ${c?.className ?? "rv-format-control-tooltip"}`,
|
|
31
|
+
role: "tooltip",
|
|
32
|
+
"data-visible": "false",
|
|
33
|
+
hidden: !0,
|
|
34
|
+
children: c?.content ?? o
|
|
35
|
+
})
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function s({ id: a, text: o, content: s, visible: c, anchor: l = null, className: u = "rv-format-control-tooltip" }) {
|
|
39
|
+
let [d] = e(() => new i()), f = t((e) => {
|
|
40
|
+
e || d.hide(), d.setSurface(e);
|
|
41
|
+
}, [d]);
|
|
42
|
+
return n(() => (c && l ? d.show(l) : d.hide(), () => d.hide()), [c, l]), n(() => () => d.destroy(), [d]), /* @__PURE__ */ r("span", {
|
|
43
|
+
ref: f,
|
|
44
|
+
id: a,
|
|
45
|
+
class: `rv-tooltip ${u}`,
|
|
46
|
+
role: "tooltip",
|
|
47
|
+
"data-visible": c,
|
|
48
|
+
hidden: !c,
|
|
49
|
+
children: s ?? o
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
var c = o;
|
|
53
|
+
//#endregion
|
|
54
|
+
export { o as n, c as r, s as t };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region ../chart-utils/src/tooltip-owner.ts
|
|
2
|
+
var e = Symbol.for("@revolist/tooltip-owner");
|
|
3
|
+
function t(t, n, r) {
|
|
4
|
+
let i = t, a = i[e];
|
|
5
|
+
a?.owner !== n && (Object.defineProperty(i, e, {
|
|
6
|
+
configurable: !0,
|
|
7
|
+
writable: !0,
|
|
8
|
+
value: {
|
|
9
|
+
owner: n,
|
|
10
|
+
dismiss: r
|
|
11
|
+
}
|
|
12
|
+
}), a?.dismiss());
|
|
13
|
+
}
|
|
14
|
+
function n(t, n) {
|
|
15
|
+
let r = t;
|
|
16
|
+
r[e]?.owner === n && delete r[e];
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { n, t };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { c as e, o as t, r as n, t as r } from "./top-layer-popup-CNSDdfJV.js";
|
|
2
|
+
import { n as i, t as a } from "./tooltip-owner-DjdvqKzz.js";
|
|
3
|
+
//#region src/core/tooltip-session.ts
|
|
4
|
+
var o = class {
|
|
5
|
+
anchor;
|
|
6
|
+
surface;
|
|
7
|
+
timer;
|
|
8
|
+
mode;
|
|
9
|
+
cleanup;
|
|
10
|
+
mounted = !1;
|
|
11
|
+
pointerFocus = !1;
|
|
12
|
+
open = !1;
|
|
13
|
+
addedDescription = !1;
|
|
14
|
+
onHide;
|
|
15
|
+
onEscape;
|
|
16
|
+
delay = 0;
|
|
17
|
+
get isOpen() {
|
|
18
|
+
return this.open;
|
|
19
|
+
}
|
|
20
|
+
get isPending() {
|
|
21
|
+
return this.timer !== void 0;
|
|
22
|
+
}
|
|
23
|
+
setSurface(e) {
|
|
24
|
+
this.surface = e ?? void 0;
|
|
25
|
+
}
|
|
26
|
+
show(e) {
|
|
27
|
+
this.anchor === e && this.open || (this.hide(), this.anchor = e, this.listen(e), this.delay > 0 ? this.timer = setTimeout(() => {
|
|
28
|
+
this.timer = void 0, this.present();
|
|
29
|
+
}, this.delay) : this.present());
|
|
30
|
+
}
|
|
31
|
+
present() {
|
|
32
|
+
let r = this.anchor, i = this.surface;
|
|
33
|
+
if (!r || !i || !r.isConnected) {
|
|
34
|
+
this.hide();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
a(r.ownerDocument, this, () => this.hide()), e(i), this.mounted = !i.isConnected, this.mounted && r.ownerDocument.body.append(i), i.hidden = !1, i.dataset.visible = "true", Object.assign(i.style, {
|
|
38
|
+
position: "fixed",
|
|
39
|
+
inset: "auto",
|
|
40
|
+
margin: "0",
|
|
41
|
+
transform: "none",
|
|
42
|
+
visibility: "visible",
|
|
43
|
+
positionAnchor: "auto",
|
|
44
|
+
positionArea: "none"
|
|
45
|
+
}), this.mode = n(i, "block");
|
|
46
|
+
let o = r.ownerDocument.defaultView, s = t(r.getBoundingClientRect(), i.getBoundingClientRect(), {
|
|
47
|
+
width: o?.innerWidth ?? 0,
|
|
48
|
+
height: o?.innerHeight ?? 0
|
|
49
|
+
});
|
|
50
|
+
Object.assign(i.style, {
|
|
51
|
+
left: `${s.left}px`,
|
|
52
|
+
top: `${s.top}px`
|
|
53
|
+
});
|
|
54
|
+
let c = new Set((r.getAttribute("aria-describedby") ?? "").split(/\s+/).filter(Boolean));
|
|
55
|
+
this.addedDescription = !c.has(i.id), c.add(i.id), r.setAttribute("aria-describedby", [...c].join(" ")), this.open = !0;
|
|
56
|
+
}
|
|
57
|
+
hide() {
|
|
58
|
+
clearTimeout(this.timer), this.timer = void 0, this.cleanup?.(), this.cleanup = void 0;
|
|
59
|
+
let e = this.anchor, t = this.surface;
|
|
60
|
+
if (e && i(e.ownerDocument, this), t && this.open) {
|
|
61
|
+
if (r(t, this.mode), t.hidden = !0, t.dataset.visible = "false", e && this.addedDescription) {
|
|
62
|
+
let n = (e.getAttribute("aria-describedby") ?? "").split(/\s+/).filter((e) => e && e !== t.id);
|
|
63
|
+
n.length ? e.setAttribute("aria-describedby", n.join(" ")) : e.removeAttribute("aria-describedby");
|
|
64
|
+
}
|
|
65
|
+
this.mounted && t.remove();
|
|
66
|
+
}
|
|
67
|
+
let n = this.open;
|
|
68
|
+
this.open = !1, n && this.onHide?.(), this.mode = void 0, this.mounted = !1;
|
|
69
|
+
}
|
|
70
|
+
focus(e) {
|
|
71
|
+
this.show(e);
|
|
72
|
+
}
|
|
73
|
+
blur() {
|
|
74
|
+
this.pointerFocus = !1, this.hide();
|
|
75
|
+
}
|
|
76
|
+
pointerDown() {
|
|
77
|
+
this.pointerFocus = !0;
|
|
78
|
+
}
|
|
79
|
+
leave(e) {
|
|
80
|
+
(!e || this.pointerFocus || e.ownerDocument.activeElement !== e) && this.hide();
|
|
81
|
+
}
|
|
82
|
+
keyDown(e) {
|
|
83
|
+
e.key === "Escape" && (this.open || this.isPending) && !e.defaultPrevented ? (e.preventDefault(), e.stopPropagation(), this.hide(), this.onEscape?.()) : (e.key === "Enter" || e.key === " ") && this.hide();
|
|
84
|
+
}
|
|
85
|
+
destroy() {
|
|
86
|
+
this.hide(), this.surface = void 0, this.anchor = void 0;
|
|
87
|
+
}
|
|
88
|
+
listen(e) {
|
|
89
|
+
let t = e.ownerDocument, n = t.defaultView, r = e.closest("[popover]"), i = () => this.hide(), a = (t) => {
|
|
90
|
+
t.composedPath().includes(e) || this.hide();
|
|
91
|
+
}, o = (n) => {
|
|
92
|
+
let r = n.target;
|
|
93
|
+
(r === t || r?.contains?.(e)) && this.hide();
|
|
94
|
+
}, s = () => {
|
|
95
|
+
r?.matches(":popover-open") || this.hide();
|
|
96
|
+
}, c = (e) => {
|
|
97
|
+
e.key === "Escape" && this.keyDown(e);
|
|
98
|
+
}, l = n?.MutationObserver, u = l ? new l(() => {
|
|
99
|
+
e.isConnected || this.hide();
|
|
100
|
+
}) : void 0;
|
|
101
|
+
u?.observe(t, {
|
|
102
|
+
childList: !0,
|
|
103
|
+
subtree: !0
|
|
104
|
+
}), t.addEventListener("keydown", c, !0), t.addEventListener("pointerdown", a, !0), t.addEventListener("scroll", o, !0), t.addEventListener("visibilitychange", i), n?.addEventListener("resize", i), n?.addEventListener("blur", i), r?.addEventListener("toggle", s), this.cleanup = () => {
|
|
105
|
+
u?.disconnect(), t.removeEventListener("keydown", c, !0), t.removeEventListener("pointerdown", a, !0), t.removeEventListener("scroll", o, !0), t.removeEventListener("visibilitychange", i), n?.removeEventListener("resize", i), n?.removeEventListener("blur", i), r?.removeEventListener("toggle", s);
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
//#endregion
|
|
110
|
+
export { o as t };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { c as e } from "./preact.module-BBM36DnO.js";
|
|
2
|
+
import { t } from "./title-tooltip-Cw6LOZhb.js";
|
|
3
|
+
//#region src/core/tooltip-text.tsx
|
|
4
|
+
function n({ as: n = "span", title: r, children: i, ...a }) {
|
|
5
|
+
let o = t(r);
|
|
6
|
+
return e(n, {
|
|
7
|
+
...a,
|
|
8
|
+
ref: o
|
|
9
|
+
}, i);
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { n as t };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { calculateAnchoredPopoverPosition as e } from "../core/anchored-popover.js";
|
|
2
|
+
import { c as t } from "./preact.module-BBM36DnO.js";
|
|
3
|
+
import { createPreactElement as n } from "../preact-mount.js";
|
|
4
|
+
//#region src/core/tooltip-surface.ts
|
|
5
|
+
var r = "\n.rv-tooltip.rv-tooltip {\n box-sizing: border-box;\n position: fixed;\n z-index: 100000;\n margin: 0;\n inset: auto;\n transform: none;\n opacity: 1;\n visibility: visible;\n padding: 6px 10px;\n border: 0;\n border-radius: 6px;\n background: var(--rv-tooltip-bg, #191919);\n color: var(--rv-tooltip-fg, #fff);\n box-shadow: 0 4px 14px var(--rv-ui-shadow, rgb(0 0 0 / 18%));\n font: 12px/1.4 var(--rv-ui-font-family, Inter, ui-sans-serif, system-ui, sans-serif);\n font-weight: 400;\n text-align: start;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n max-width: min(360px, calc(100vw - 16px));\n max-height: calc(100dvh - 16px);\n overflow: auto;\n pointer-events: none;\n}\n.rv-tooltip[hidden], .rv-tooltip[data-visible=\"false\"] { display: none; }\n.rv-tooltip[data-overflow] { pointer-events: auto; }\n@media (forced-colors: active) {\n .rv-tooltip.rv-tooltip { color: CanvasText; background: Canvas; border: 1px solid CanvasText; }\n}\n";
|
|
6
|
+
function i(e) {
|
|
7
|
+
if (e.querySelector("style[data-rv-tooltip-styles]")) return;
|
|
8
|
+
let i = e.nodeType === 9 ? e : e.ownerDocument, a = n(i, t("style", { "data-rv-tooltip-styles": "" }, r));
|
|
9
|
+
e.nodeType === 9 ? i.head.append(a) : e.append(a);
|
|
10
|
+
}
|
|
11
|
+
function a(e) {
|
|
12
|
+
e.classList.add("rv-tooltip"), e.setAttribute("role", "tooltip");
|
|
13
|
+
let t = e.getRootNode();
|
|
14
|
+
i(t.nodeType === 11 && "host" in t ? t : e.ownerDocument);
|
|
15
|
+
}
|
|
16
|
+
function o(t, n, r) {
|
|
17
|
+
let i = e(t, n, r), a = t.top - n.height - 8;
|
|
18
|
+
return a >= 8 ? {
|
|
19
|
+
left: Math.max(8, Math.min(t.left + (t.width - n.width) / 2, r.width - n.width - 8)),
|
|
20
|
+
top: a
|
|
21
|
+
} : i;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/core/popup-ownership.ts
|
|
25
|
+
function s(e, t) {
|
|
26
|
+
if (!e || !t) return !1;
|
|
27
|
+
let n = /* @__PURE__ */ new Set(), r = (e) => !n.has(e) && (n.add(e), e.contains(t) ? !0 : [...e.querySelectorAll("[aria-controls]")].some((t) => (t.getAttribute("aria-controls") ?? "").split(/\s+/).some((t) => {
|
|
28
|
+
let n = e.ownerDocument.getElementById(t);
|
|
29
|
+
return !!n && r(n);
|
|
30
|
+
})));
|
|
31
|
+
return r(e);
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/core/top-layer-popup.ts
|
|
35
|
+
var c = /* @__PURE__ */ new WeakMap();
|
|
36
|
+
function l(e, t = "flex") {
|
|
37
|
+
if (c.has(e) || c.set(e, e.getAttribute("data-rv-ui-surface")), e.setAttribute("data-rv-ui-surface", ""), e.style.display = t, typeof e.showPopover == "function") {
|
|
38
|
+
e.setAttribute("popover", "manual");
|
|
39
|
+
try {
|
|
40
|
+
return e.showPopover(), "popover";
|
|
41
|
+
} catch {
|
|
42
|
+
e.removeAttribute("popover");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return e.style.display = t, "fallback";
|
|
46
|
+
}
|
|
47
|
+
function u(e, t) {
|
|
48
|
+
let n = c.get(e);
|
|
49
|
+
if (n !== void 0 && (n === null ? e.removeAttribute("data-rv-ui-surface") : e.setAttribute("data-rv-ui-surface", n), c.delete(e)), t === "popover" && typeof e.hidePopover == "function") try {
|
|
50
|
+
e.hidePopover(), e.style.removeProperty("display");
|
|
51
|
+
return;
|
|
52
|
+
} catch {}
|
|
53
|
+
e.style.display = "none";
|
|
54
|
+
}
|
|
55
|
+
function d(e, t) {
|
|
56
|
+
return t ? e.contains(t) ? !0 : [...e.querySelectorAll("[aria-controls]")].some((n) => n.getAttribute("aria-controls")?.split(/\s+/).some((n) => e.ownerDocument.getElementById(n)?.contains(t))) : !1;
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { r as a, a as c, s as i, d as n, o, l as r, i as s, u as t };
|
package/_dialog.scss
CHANGED
|
@@ -22,8 +22,13 @@
|
|
|
22
22
|
color: var(--rv-dialog-color, var(--rv-ui-text));
|
|
23
23
|
font: var(
|
|
24
24
|
--rv-dialog-font,
|
|
25
|
-
13px/1.45 Inter,
|
|
26
|
-
|
|
25
|
+
13px/1.45 Inter,
|
|
26
|
+
ui-sans-serif,
|
|
27
|
+
system-ui,
|
|
28
|
+
-apple-system,
|
|
29
|
+
BlinkMacSystemFont,
|
|
30
|
+
'Segoe UI',
|
|
31
|
+
sans-serif
|
|
27
32
|
);
|
|
28
33
|
}
|
|
29
34
|
|
|
@@ -32,7 +37,7 @@
|
|
|
32
37
|
.rv-dialog-overlay,
|
|
33
38
|
.rv-dialog[open]::backdrop {
|
|
34
39
|
animation: rv-ui-surface-in var(--rv-ui-motion-enter, 180ms)
|
|
35
|
-
var(--rv-ui-motion-ease, cubic-bezier(.2, 0, 0, 1));
|
|
40
|
+
var(--rv-ui-motion-ease, cubic-bezier(0.2, 0, 0, 1));
|
|
36
41
|
}
|
|
37
42
|
|
|
38
43
|
.rv-dialog:not([open]) {
|
|
@@ -57,8 +62,13 @@
|
|
|
57
62
|
color: var(--rv-dialog-color, var(--rv-ui-text));
|
|
58
63
|
font: var(
|
|
59
64
|
--rv-dialog-font,
|
|
60
|
-
13px/1.45 Inter,
|
|
61
|
-
|
|
65
|
+
13px/1.45 Inter,
|
|
66
|
+
ui-sans-serif,
|
|
67
|
+
system-ui,
|
|
68
|
+
-apple-system,
|
|
69
|
+
BlinkMacSystemFont,
|
|
70
|
+
'Segoe UI',
|
|
71
|
+
sans-serif
|
|
62
72
|
);
|
|
63
73
|
}
|
|
64
74
|
|
|
@@ -104,8 +114,7 @@
|
|
|
104
114
|
// Native dialogs must retain viewport positioning when dragging is enabled.
|
|
105
115
|
.rv-dialog.rv-dialog__draggable {
|
|
106
116
|
position: fixed;
|
|
107
|
-
inset:
|
|
108
|
-
var(--rv-dialog-translate-y, 0px)
|
|
117
|
+
inset: var(--rv-dialog-translate-y, 0px)
|
|
109
118
|
calc(0px - var(--rv-dialog-translate-x, 0px))
|
|
110
119
|
calc(0px - var(--rv-dialog-translate-y, 0px))
|
|
111
120
|
var(--rv-dialog-translate-x, 0px);
|
|
@@ -167,8 +176,10 @@
|
|
|
167
176
|
color: var(--rv-ui-btn-outline-fg, inherit);
|
|
168
177
|
cursor: pointer;
|
|
169
178
|
transition:
|
|
170
|
-
background-color var(--rv-ui-motion-fast, 120ms)
|
|
171
|
-
|
|
179
|
+
background-color var(--rv-ui-motion-fast, 120ms)
|
|
180
|
+
var(--rv-ui-motion-ease, ease-out),
|
|
181
|
+
border-color var(--rv-ui-motion-fast, 120ms)
|
|
182
|
+
var(--rv-ui-motion-ease, ease-out),
|
|
172
183
|
color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out);
|
|
173
184
|
}
|
|
174
185
|
|
|
@@ -216,7 +227,9 @@
|
|
|
216
227
|
border-top: 1px solid var(--rv-dialog-border, var(--rv-ui-border));
|
|
217
228
|
}
|
|
218
229
|
|
|
219
|
-
.rv-dialog__footer {
|
|
230
|
+
.rv-dialog__footer {
|
|
231
|
+
@include footer;
|
|
232
|
+
}
|
|
220
233
|
|
|
221
234
|
.rv-dialog__footer--stacked {
|
|
222
235
|
align-items: stretch;
|
|
@@ -252,9 +265,16 @@
|
|
|
252
265
|
|
|
253
266
|
// Shared native-form composition keeps scrolling in the body and actions visible.
|
|
254
267
|
.rv-dialog__header,
|
|
255
|
-
.rv-dialog__footer {
|
|
256
|
-
|
|
257
|
-
|
|
268
|
+
.rv-dialog__footer {
|
|
269
|
+
flex-shrink: 0;
|
|
270
|
+
}
|
|
271
|
+
.rv-dialog__actions {
|
|
272
|
+
flex-wrap: wrap;
|
|
273
|
+
}
|
|
274
|
+
.rv-dialog__header > label {
|
|
275
|
+
flex: 1 1 auto;
|
|
276
|
+
min-width: 0;
|
|
277
|
+
}
|
|
258
278
|
.rv-dialog__surface .rv-dialog__title-input {
|
|
259
279
|
width: 100%;
|
|
260
280
|
min-width: 0;
|
|
@@ -267,7 +287,7 @@
|
|
|
267
287
|
font: inherit;
|
|
268
288
|
font-size: var(--rv-dialog-title-size, 24px);
|
|
269
289
|
font-weight: 600;
|
|
270
|
-
letter-spacing:
|
|
290
|
+
letter-spacing: -0.025em;
|
|
271
291
|
line-height: 1.25;
|
|
272
292
|
}
|
|
273
293
|
.rv-dialog__surface .rv-dialog__title-input::placeholder {
|
|
@@ -288,7 +308,9 @@
|
|
|
288
308
|
align-items: center;
|
|
289
309
|
padding: var(--rv-dialog-header-padding, 16px 20px);
|
|
290
310
|
}
|
|
291
|
-
.rv-dialog__header--editable > .rv-dialog__heading {
|
|
311
|
+
.rv-dialog__header--editable > .rv-dialog__heading {
|
|
312
|
+
flex: 1 1 auto;
|
|
313
|
+
}
|
|
292
314
|
.rv-dialog__sr-only {
|
|
293
315
|
position: absolute;
|
|
294
316
|
width: 1px;
|
|
@@ -299,12 +321,16 @@
|
|
|
299
321
|
white-space: nowrap;
|
|
300
322
|
border: 0;
|
|
301
323
|
}
|
|
302
|
-
.rv-dialog__description {
|
|
324
|
+
.rv-dialog__description {
|
|
325
|
+
color: var(--rv-dialog-muted, var(--rv-ui-text-muted));
|
|
326
|
+
}
|
|
303
327
|
.rv-dialog__message {
|
|
304
328
|
flex: 0 0 auto;
|
|
305
329
|
margin: 16px 20px 0;
|
|
306
330
|
}
|
|
307
|
-
.rv-dialog__message.rv-alert {
|
|
331
|
+
.rv-dialog__message.rv-alert {
|
|
332
|
+
inline-size: auto;
|
|
333
|
+
}
|
|
308
334
|
.rv-dialog__action-footer {
|
|
309
335
|
display: flex;
|
|
310
336
|
flex-direction: column;
|
|
@@ -319,9 +345,17 @@
|
|
|
319
345
|
min-width: 0;
|
|
320
346
|
flex-wrap: wrap;
|
|
321
347
|
}
|
|
322
|
-
.rv-dialog__action-panel {
|
|
348
|
+
.rv-dialog__action-panel {
|
|
349
|
+
justify-content: space-between;
|
|
350
|
+
}
|
|
323
351
|
@media (max-width: 560px) {
|
|
324
|
-
.rv-dialog__header--editable {
|
|
325
|
-
|
|
326
|
-
|
|
352
|
+
.rv-dialog__header--editable {
|
|
353
|
+
padding: var(--rv-dialog-header-padding, 16px);
|
|
354
|
+
}
|
|
355
|
+
.rv-dialog__message {
|
|
356
|
+
margin-inline: 16px;
|
|
357
|
+
}
|
|
358
|
+
.rv-dialog__action-footer {
|
|
359
|
+
padding: var(--rv-dialog-footer-padding, 16px);
|
|
360
|
+
}
|
|
327
361
|
}
|
package/_form.scss
CHANGED
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
display: grid;
|
|
8
8
|
gap: 14px;
|
|
9
9
|
padding: 16px;
|
|
10
|
-
border: 1px solid var(
|
|
11
|
-
--rv-form-border,
|
|
12
|
-
var(--rv-ui-border)
|
|
13
|
-
);
|
|
10
|
+
border: 1px solid var(--rv-form-border, var(--rv-ui-border));
|
|
14
11
|
border-radius: 10px;
|
|
15
12
|
// Sections group fields without competing with their editable surface.
|
|
16
13
|
background: var(--rv-form-section-bg, transparent);
|
|
@@ -72,25 +69,63 @@
|
|
|
72
69
|
}
|
|
73
70
|
|
|
74
71
|
// Shared fields; products customize tokens instead of copying this rule set.
|
|
75
|
-
.rv-control {
|
|
76
|
-
|
|
72
|
+
.rv-control {
|
|
73
|
+
@include control.field;
|
|
74
|
+
}
|
|
75
|
+
textarea.rv-control {
|
|
76
|
+
min-height: var(--rv-textarea-height, 92px);
|
|
77
|
+
resize: vertical;
|
|
78
|
+
}
|
|
77
79
|
// Inherit from the nearest explicit direction, including nested LTR surfaces.
|
|
78
80
|
// CSS builds may lower :dir() to :lang(), which misses direction-only hosts.
|
|
79
|
-
[dir='ltr'] {
|
|
80
|
-
|
|
81
|
+
[dir='ltr'] {
|
|
82
|
+
--rv-select-caret-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
|
|
83
|
+
}
|
|
84
|
+
[dir='rtl'] {
|
|
85
|
+
--rv-select-caret-position: 11px 50%, 16px 50%;
|
|
86
|
+
}
|
|
81
87
|
select.rv-control {
|
|
82
88
|
padding-inline-end: 34px;
|
|
83
|
-
background-image:
|
|
84
|
-
|
|
89
|
+
background-image:
|
|
90
|
+
linear-gradient(45deg, transparent 50%, currentColor 50%),
|
|
91
|
+
linear-gradient(135deg, currentColor 50%, transparent 50%);
|
|
92
|
+
background-position: var(
|
|
93
|
+
--rv-select-caret-position,
|
|
94
|
+
calc(100% - 16px) 50%,
|
|
95
|
+
calc(100% - 11px) 50%
|
|
96
|
+
);
|
|
85
97
|
background-repeat: no-repeat;
|
|
86
98
|
background-size: 5px 5px;
|
|
87
99
|
}
|
|
88
|
-
select.rv-control[multiple] {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
.rv-
|
|
93
|
-
|
|
100
|
+
select.rv-control[multiple] {
|
|
101
|
+
background-image: none;
|
|
102
|
+
padding-inline-end: 10px;
|
|
103
|
+
}
|
|
104
|
+
.rv-control--compact {
|
|
105
|
+
--rv-control-font-size: 12px;
|
|
106
|
+
--rv-control-height: 30px;
|
|
107
|
+
--rv-control-padding: 5px 8px;
|
|
108
|
+
--rv-control-radius: var(--rv-ui-radius, 6px);
|
|
109
|
+
font-size: 12px;
|
|
110
|
+
}
|
|
111
|
+
select.rv-control--compact {
|
|
112
|
+
padding-inline-end: 28px;
|
|
113
|
+
}
|
|
114
|
+
.rv-radio {
|
|
115
|
+
width: 16px;
|
|
116
|
+
height: 16px;
|
|
117
|
+
margin: 0;
|
|
118
|
+
flex: none;
|
|
119
|
+
accent-color: var(--rv-ui-accent);
|
|
120
|
+
}
|
|
121
|
+
.rv-radio:focus-visible {
|
|
122
|
+
outline: 2px solid var(--rv-ui-accent);
|
|
123
|
+
outline-offset: 2px;
|
|
124
|
+
}
|
|
125
|
+
.rv-radio:disabled {
|
|
126
|
+
opacity: 0.55;
|
|
127
|
+
cursor: not-allowed;
|
|
128
|
+
}
|
|
94
129
|
|
|
95
130
|
@media (max-width: 560px) {
|
|
96
131
|
.rv-form-grid {
|
|
@@ -110,9 +145,13 @@ select.rv-control--compact { padding-inline-end: 28px; }
|
|
|
110
145
|
min-width: 0;
|
|
111
146
|
cursor: pointer;
|
|
112
147
|
list-style: none;
|
|
113
|
-
&::-webkit-details-marker {
|
|
148
|
+
&::-webkit-details-marker {
|
|
149
|
+
display: none;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
.rv-disclosure-summary__label {
|
|
153
|
+
min-width: 0;
|
|
114
154
|
}
|
|
115
|
-
.rv-disclosure-summary__label { min-width: 0; }
|
|
116
155
|
.rv-disclosure-summary__icon {
|
|
117
156
|
display: inline-flex;
|
|
118
157
|
align-items: center;
|
|
@@ -120,6 +159,17 @@ select.rv-control--compact { padding-inline-end: 28px; }
|
|
|
120
159
|
flex: none;
|
|
121
160
|
}
|
|
122
161
|
|
|
123
|
-
.rv-native-slider {
|
|
124
|
-
|
|
125
|
-
|
|
162
|
+
.rv-native-slider {
|
|
163
|
+
width: 100%;
|
|
164
|
+
min-width: 0;
|
|
165
|
+
accent-color: var(--rv-ui-accent);
|
|
166
|
+
cursor: pointer;
|
|
167
|
+
}
|
|
168
|
+
.rv-native-slider:disabled {
|
|
169
|
+
opacity: 0.55;
|
|
170
|
+
cursor: not-allowed;
|
|
171
|
+
}
|
|
172
|
+
.rv-native-slider:focus-visible {
|
|
173
|
+
outline: 2px solid var(--rv-ui-accent);
|
|
174
|
+
outline-offset: 2px;
|
|
175
|
+
}
|
package/_legend.scss
CHANGED
|
@@ -14,23 +14,41 @@
|
|
|
14
14
|
min-width: 0;
|
|
15
15
|
max-width: 100%;
|
|
16
16
|
}
|
|
17
|
-
.rv-legend__label {
|
|
17
|
+
.rv-legend__label {
|
|
18
|
+
min-width: 0;
|
|
19
|
+
overflow-wrap: anywhere;
|
|
20
|
+
}
|
|
18
21
|
.rv-legend__item i {
|
|
19
22
|
box-sizing: border-box;
|
|
20
23
|
flex: 0 0 9px;
|
|
21
24
|
width: 9px;
|
|
22
25
|
height: 9px;
|
|
23
26
|
border-radius: 3px;
|
|
24
|
-
color: var(
|
|
27
|
+
color: var(
|
|
28
|
+
--rv-legend-marker-color,
|
|
29
|
+
var(--rv-matrix-muted, var(--rv-ui-border-strong))
|
|
30
|
+
);
|
|
25
31
|
background: currentColor;
|
|
26
|
-
transition: color var(--rv-ui-motion-fast, 120ms)
|
|
32
|
+
transition: color var(--rv-ui-motion-fast, 120ms)
|
|
33
|
+
var(--rv-ui-motion-ease, cubic-bezier(0.2, 0, 0, 1));
|
|
27
34
|
}
|
|
28
35
|
.rv-legend__item[data-tone='selected'] i {
|
|
29
|
-
color: var(
|
|
36
|
+
color: var(
|
|
37
|
+
--rv-legend-marker-color,
|
|
38
|
+
var(--rv-matrix-accent, var(--rv-ui-accent))
|
|
39
|
+
);
|
|
30
40
|
}
|
|
31
41
|
.rv-legend__item[data-tone='outside'] i {
|
|
32
|
-
color: var(
|
|
42
|
+
color: var(
|
|
43
|
+
--rv-legend-marker-color,
|
|
44
|
+
var(--rv-matrix-outside, var(--rv-ui-surface-hover))
|
|
45
|
+
);
|
|
33
46
|
}
|
|
34
47
|
.rv-legend__item i[data-marker='outline'],
|
|
35
|
-
.rv-legend__item i[data-marker='dashed'] {
|
|
36
|
-
|
|
48
|
+
.rv-legend__item i[data-marker='dashed'] {
|
|
49
|
+
background: transparent;
|
|
50
|
+
border: 1px solid currentColor;
|
|
51
|
+
}
|
|
52
|
+
.rv-legend__item i[data-marker='dashed'] {
|
|
53
|
+
border-style: dashed;
|
|
54
|
+
}
|
|
@@ -2,7 +2,7 @@ export * from './contracts.js';
|
|
|
2
2
|
export * from './keys.js';
|
|
3
3
|
export * from './policy.js';
|
|
4
4
|
export { createDataQueryContext, getDataQuerySource } from './source.js';
|
|
5
|
-
export type { DataQuerySource, DataQueryScope, SourceOptions } from './source.js';
|
|
5
|
+
export type { DataQuerySource, DataQueryScope, SourceOptions, } from './source.js';
|
|
6
6
|
export { bindQuery, bindQueryIntent } from './binding.js';
|
|
7
7
|
export type { BindingOptions, QueryRead } from './binding.js';
|
|
8
8
|
export { bindInfiniteQuery } from './infinite-binding.js';
|
|
@@ -14,7 +14,7 @@ export type { LoadQueryOptions, NativeReadOptions } from './load-options.js';
|
|
|
14
14
|
export { createRemoteLoad } from './remote-load.js';
|
|
15
15
|
export type { RemoteLoadController } from './remote-load.js';
|
|
16
16
|
export { createCommandExecution } from './commands.js';
|
|
17
|
-
export type { CommandProvider, CommandOptions, CommandState, CommandExecution } from './commands.js';
|
|
17
|
+
export type { CommandProvider, CommandOptions, CommandState, CommandExecution, } from './commands.js';
|
|
18
18
|
export { createQueryReader } from './reader.js';
|
|
19
19
|
export type { QueryReader, QueryReadSubscription } from './reader.js';
|
|
20
20
|
export { createCursorReader } from './cursor-reader.js';
|