vira 32.0.0-beta.0 → 32.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/color/vira-all-color-space-sliders.element.d.ts +11 -0
- package/dist/elements/color/vira-all-color-space-sliders.element.js +55 -0
- package/dist/elements/color/vira-all-spaces-color-picker.element.d.ts +15 -0
- package/dist/elements/color/vira-all-spaces-color-picker.element.js +73 -0
- package/dist/elements/color/vira-color-details.element.d.ts +14 -0
- package/{src/elements/color/vira-color-details.element.ts → dist/elements/color/vira-color-details.element.js} +43 -59
- package/dist/elements/color/vira-color-format-sliders.element.d.ts +14 -0
- package/dist/elements/color/vira-color-format-sliders.element.js +60 -0
- package/dist/elements/color/vira-color-pair-contrast-summary.element.d.ts +9 -0
- package/{src/elements/color/vira-color-pair-contrast-summary.element.ts → dist/elements/color/vira-color-pair-contrast-summary.element.js} +68 -100
- package/dist/elements/color/vira-color-pair.element.d.ts +17 -0
- package/{src/elements/color/vira-color-pair.element.ts → dist/elements/color/vira-color-pair.element.js} +50 -71
- package/dist/elements/color/vira-color-picker.element.d.ts +20 -0
- package/{src/elements/color/vira-color-picker.element.ts → dist/elements/color/vira-color-picker.element.js} +92 -117
- package/dist/elements/color/vira-color-slider.element.d.ts +14 -0
- package/dist/elements/color/vira-color-slider.element.js +124 -0
- package/dist/elements/color/vira-color-swatch.element.d.ts +20 -0
- package/{src/elements/color/vira-color-swatch.element.ts → dist/elements/color/vira-color-swatch.element.js} +6 -16
- package/dist/elements/color/vira-contrast-indicator.element.d.ts +10 -0
- package/{src/elements/color/vira-contrast-indicator.element.ts → dist/elements/color/vira-contrast-indicator.element.js} +13 -28
- package/dist/elements/index.js +39 -0
- package/dist/elements/pop-up/vira-menu-item.element.d.ts +38 -0
- package/{src/elements/pop-up/vira-menu-item.element.ts → dist/elements/pop-up/vira-menu-item.element.js} +80 -117
- package/dist/elements/pop-up/vira-menu-trigger.element.d.ts +45 -0
- package/dist/elements/pop-up/vira-menu-trigger.element.js +100 -0
- package/dist/elements/pop-up/vira-menu.element.d.ts +36 -0
- package/{src/elements/pop-up/vira-menu.element.ts → dist/elements/pop-up/vira-menu.element.js} +28 -31
- package/dist/elements/pop-up/vira-pop-up-trigger.element.d.ts +109 -0
- package/dist/elements/pop-up/vira-pop-up-trigger.element.js +408 -0
- package/dist/elements/vira-absolute-time.element.d.ts +35 -0
- package/dist/elements/vira-absolute-time.element.js +43 -0
- package/dist/elements/vira-bold-text.element.d.ts +9 -0
- package/{src/elements/vira-bold-text.element.ts → dist/elements/vira-bold-text.element.js} +11 -10
- package/dist/elements/vira-button.element.d.ts +40 -0
- package/{src/elements/vira-button.element.ts → dist/elements/vira-button.element.js} +114 -261
- package/dist/elements/vira-card.element.d.ts +18 -0
- package/{src/elements/vira-card.element.ts → dist/elements/vira-card.element.js} +19 -18
- package/dist/elements/vira-checkbox.element.d.ts +44 -0
- package/{src/elements/vira-checkbox.element.ts → dist/elements/vira-checkbox.element.js} +48 -95
- package/dist/elements/vira-collapsible-card.element.d.ts +36 -0
- package/{src/elements/vira-collapsible-card.element.ts → dist/elements/vira-collapsible-card.element.js} +44 -71
- package/dist/elements/vira-collapsible-wrapper.element.d.ts +30 -0
- package/{src/elements/vira-collapsible-wrapper.element.ts → dist/elements/vira-collapsible-wrapper.element.js} +47 -59
- package/dist/elements/vira-date-input.element.d.ts +47 -0
- package/dist/elements/vira-date-input.element.js +142 -0
- package/dist/elements/vira-drawer.element.d.ts +24 -0
- package/{src/elements/vira-drawer.element.ts → dist/elements/vira-drawer.element.js} +98 -125
- package/dist/elements/vira-dropdown.element.d.ts +43 -0
- package/dist/elements/vira-dropdown.element.js +247 -0
- package/dist/elements/vira-error.element.d.ts +7 -0
- package/{src/elements/vira-error.element.ts → dist/elements/vira-error.element.js} +7 -8
- package/dist/elements/vira-form.element.d.ts +56 -0
- package/dist/elements/vira-form.element.js +376 -0
- package/dist/elements/vira-icon.element.d.ts +13 -0
- package/{src/elements/vira-icon.element.ts → dist/elements/vira-icon.element.js} +12 -16
- package/dist/elements/vira-image.element.d.ts +45 -0
- package/{src/elements/vira-image.element.ts → dist/elements/vira-image.element.js} +50 -70
- package/dist/elements/vira-input.element.d.ts +64 -0
- package/{src/elements/vira-input.element.ts → dist/elements/vira-input.element.js} +112 -167
- package/dist/elements/vira-json-form.element.d.ts +35 -0
- package/{src/elements/vira-json-form.element.ts → dist/elements/vira-json-form.element.js} +356 -522
- package/dist/elements/vira-link.element.d.ts +78 -0
- package/{src/elements/vira-link.element.ts → dist/elements/vira-link.element.js} +24 -83
- package/dist/elements/vira-modal.element.d.ts +40 -0
- package/{src/elements/vira-modal.element.ts → dist/elements/vira-modal.element.js} +68 -104
- package/dist/elements/vira-progress.element.d.ts +18 -0
- package/{src/elements/vira-progress.element.ts → dist/elements/vira-progress.element.js} +12 -25
- package/dist/elements/vira-relative-time.element.d.ts +42 -0
- package/dist/elements/vira-relative-time.element.js +96 -0
- package/dist/elements/vira-select.element.d.ts +44 -0
- package/{src/elements/vira-select.element.ts → dist/elements/vira-select.element.js} +89 -138
- package/dist/elements/vira-tabs.element.d.ts +124 -0
- package/{src/elements/vira-tabs.element.ts → dist/elements/vira-tabs.element.js} +243 -446
- package/dist/elements/vira-tag.element.d.ts +40 -0
- package/{src/elements/vira-tag.element.ts → dist/elements/vira-tag.element.js} +152 -266
- package/dist/elements/vira-text-area.element.d.ts +48 -0
- package/{src/elements/vira-text-area.element.ts → dist/elements/vira-text-area.element.js} +52 -70
- package/dist/elements/vira-theme-switcher.element.d.ts +17 -0
- package/{src/elements/vira-theme-switcher.element.ts → dist/elements/vira-theme-switcher.element.js} +34 -49
- package/dist/icons/colored-icon.d.ts +11 -0
- package/{src/icons/colored-icon.ts → dist/icons/colored-icon.js} +17 -24
- package/dist/icons/icon-css-vars.d.ts +14 -0
- package/{src/icons/icon-css-vars.ts → dist/icons/icon-css-vars.js} +1 -2
- package/{src/icons/icon-svg.ts → dist/icons/icon-svg.d.ts} +3 -15
- package/dist/icons/icon-svg.js +12 -0
- package/dist/icons/icon-svgs/16/check-16.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/16/check-16.icon.ts → dist/icons/icon-svgs/16/check-16.icon.js} +4 -5
- package/dist/icons/icon-svgs/16/chevron-down-16.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/16/chevron-down-16.icon.ts → dist/icons/icon-svgs/16/chevron-down-16.icon.js} +4 -5
- package/dist/icons/icon-svgs/16/chevron-up-16.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/16/chevron-up-16.icon.ts → dist/icons/icon-svgs/16/chevron-up-16.icon.js} +4 -5
- package/dist/icons/icon-svgs/16/dash-16.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/16/dash-16.icon.ts → dist/icons/icon-svgs/16/dash-16.icon.js} +4 -5
- package/dist/icons/icon-svgs/16/element-16.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/16/element-16.icon.ts → dist/icons/icon-svgs/16/element-16.icon.js} +4 -5
- package/dist/icons/icon-svgs/16/plus-16.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/16/plus-16.icon.ts → dist/icons/icon-svgs/16/plus-16.icon.js} +4 -5
- package/dist/icons/icon-svgs/16/upload-16.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/16/upload-16.icon.ts → dist/icons/icon-svgs/16/upload-16.icon.js} +4 -5
- package/dist/icons/icon-svgs/16/x-16.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/16/x-16.icon.ts → dist/icons/icon-svgs/16/x-16.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/arrow-down-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/arrow-down-24.icon.ts → dist/icons/icon-svgs/24/arrow-down-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/arrow-left-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/arrow-left-24.icon.ts → dist/icons/icon-svgs/24/arrow-left-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/arrow-right-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/arrow-right-24.icon.ts → dist/icons/icon-svgs/24/arrow-right-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/arrow-up-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/arrow-up-24.icon.ts → dist/icons/icon-svgs/24/arrow-up-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/auto-theme-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/auto-theme-24.icon.ts → dist/icons/icon-svgs/24/auto-theme-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/bell-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/bell-24.icon.ts → dist/icons/icon-svgs/24/bell-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/chat-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/chat-24.icon.ts → dist/icons/icon-svgs/24/chat-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/check-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/check-24.icon.ts → dist/icons/icon-svgs/24/check-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/chevron-down-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/chevron-down-24.icon.ts → dist/icons/icon-svgs/24/chevron-down-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/chevron-up-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/chevron-up-24.icon.ts → dist/icons/icon-svgs/24/chevron-up-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/close-x-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/close-x-24.icon.ts → dist/icons/icon-svgs/24/close-x-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/commit-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/commit-24.icon.ts → dist/icons/icon-svgs/24/commit-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/copy-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/copy-24.icon.ts → dist/icons/icon-svgs/24/copy-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/document-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/document-24.icon.ts → dist/icons/icon-svgs/24/document-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/document-search-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/document-search-24.icon.ts → dist/icons/icon-svgs/24/document-search-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/double-chevron-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/double-chevron-24.icon.ts → dist/icons/icon-svgs/24/double-chevron-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/element-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/element-24.icon.ts → dist/icons/icon-svgs/24/element-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/external-link-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/external-link-24.icon.ts → dist/icons/icon-svgs/24/external-link-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/eye-closed-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/eye-closed-24.icon.ts → dist/icons/icon-svgs/24/eye-closed-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/eye-open-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/eye-open-24.icon.ts → dist/icons/icon-svgs/24/eye-open-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/filter-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/filter-24.icon.ts → dist/icons/icon-svgs/24/filter-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/globe-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/globe-24.icon.ts → dist/icons/icon-svgs/24/globe-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/link-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/link-24.icon.ts → dist/icons/icon-svgs/24/link-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/loader-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/loader-24.icon.ts → dist/icons/icon-svgs/24/loader-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/loader-animated-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/loader-animated-24.icon.ts → dist/icons/icon-svgs/24/loader-animated-24.icon.js} +6 -8
- package/dist/icons/icon-svgs/24/lock-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/lock-24.icon.ts → dist/icons/icon-svgs/24/lock-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/magnifying-glass-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/magnifying-glass-24.icon.ts → dist/icons/icon-svgs/24/magnifying-glass-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/moon-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/moon-24.icon.ts → dist/icons/icon-svgs/24/moon-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/options-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/options-24.icon.ts → dist/icons/icon-svgs/24/options-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/pencil-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/pencil-24.icon.ts → dist/icons/icon-svgs/24/pencil-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/plus-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/plus-24.icon.ts → dist/icons/icon-svgs/24/plus-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/printer-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/printer-24.icon.ts → dist/icons/icon-svgs/24/printer-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/shield-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/shield-24.icon.ts → dist/icons/icon-svgs/24/shield-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/sort-ascending-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/sort-ascending-24.icon.ts → dist/icons/icon-svgs/24/sort-ascending-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/sort-descending-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/sort-descending-24.icon.ts → dist/icons/icon-svgs/24/sort-descending-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/sparkle-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/sparkle-24.icon.ts → dist/icons/icon-svgs/24/sparkle-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/speaker-loud-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/speaker-loud-24.icon.ts → dist/icons/icon-svgs/24/speaker-loud-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/speaker-medium-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/speaker-medium-24.icon.ts → dist/icons/icon-svgs/24/speaker-medium-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/speaker-muted-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/speaker-muted-24.icon.ts → dist/icons/icon-svgs/24/speaker-muted-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/speaker-quiet-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/speaker-quiet-24.icon.ts → dist/icons/icon-svgs/24/speaker-quiet-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/star-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/star-24.icon.ts → dist/icons/icon-svgs/24/star-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/status-failure-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/status-failure-24.icon.ts → dist/icons/icon-svgs/24/status-failure-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/status-in-progress-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/status-in-progress-24.icon.ts → dist/icons/icon-svgs/24/status-in-progress-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/status-success-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/status-success-24.icon.ts → dist/icons/icon-svgs/24/status-success-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/status-unknown-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/status-unknown-24.icon.ts → dist/icons/icon-svgs/24/status-unknown-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/status-warning-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/status-warning-24.icon.ts → dist/icons/icon-svgs/24/status-warning-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/sun-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/sun-24.icon.ts → dist/icons/icon-svgs/24/sun-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/upload-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/upload-24.icon.ts → dist/icons/icon-svgs/24/upload-24.icon.js} +4 -5
- package/dist/icons/icon-svgs/24/x-24.icon.d.ts +8 -0
- package/{src/icons/icon-svgs/24/x-24.icon.ts → dist/icons/icon-svgs/24/x-24.icon.js} +4 -5
- package/dist/icons/index.d.ts +197 -0
- package/{src/icons/index.ts → dist/icons/index.js} +60 -65
- package/dist/icons/lucide-icons.d.ts +15 -0
- package/dist/icons/lucide-icons.js +79 -0
- package/dist/icons/sized-icon.d.ts +8 -0
- package/{src/icons/sized-icon.ts → dist/icons/sized-icon.js} +1 -3
- package/dist/index.js +4 -0
- package/dist/styles/disabled.d.ts +6 -0
- package/{src/styles/disabled.ts → dist/styles/disabled.js} +2 -3
- package/dist/styles/durations.d.ts +22 -0
- package/{src/styles/durations.ts → dist/styles/durations.js} +1 -2
- package/dist/styles/focus.d.ts +26 -0
- package/{src/styles/focus.ts → dist/styles/focus.js} +12 -40
- package/dist/styles/font.d.ts +12 -0
- package/{src/styles/font.ts → dist/styles/font.js} +1 -3
- package/dist/styles/form-styles.d.ts +46 -0
- package/dist/styles/form-styles.js +53 -0
- package/dist/styles/form-variants.d.ts +117 -0
- package/{src/styles/form-variants.ts → dist/styles/form-variants.js} +34 -42
- package/{src/styles/index.ts → dist/styles/index.d.ts} +0 -1
- package/dist/styles/index.js +14 -0
- package/dist/styles/native-styles.d.ts +13 -0
- package/{src/styles/native-styles.ts → dist/styles/native-styles.js} +3 -5
- package/dist/styles/scrollbar.d.ts +6 -0
- package/{src/styles/scrollbar.ts → dist/styles/scrollbar.js} +3 -4
- package/dist/styles/shadows.d.ts +19 -0
- package/{src/styles/shadows.ts → dist/styles/shadows.js} +5 -7
- package/dist/styles/user-select.d.ts +6 -0
- package/{src/styles/user-select.ts → dist/styles/user-select.js} +2 -3
- package/dist/styles/vira-color-palette.d.ts +178 -0
- package/{src/styles/vira-color-palette.ts → dist/styles/vira-color-palette.js} +1 -3
- package/dist/styles/vira-color-theme-object.d.ts +65 -0
- package/dist/styles/vira-color-theme-object.js +65 -0
- package/dist/styles/vira-color-theme.d.ts +2785 -0
- package/{src/styles/vira-color-theme.ts → dist/styles/vira-color-theme.js} +1222 -1227
- package/dist/util/color-local-storage.client.d.ts +4 -0
- package/dist/util/color-local-storage.client.js +6 -0
- package/dist/util/define-table.d.ts +115 -0
- package/dist/util/define-table.js +115 -0
- package/dist/util/define-vira-element.d.ts +18 -0
- package/dist/util/define-vira-element.js +19 -0
- package/dist/util/dynamic-element.d.ts +62 -0
- package/dist/util/dynamic-element.js +61 -0
- package/dist/util/index.js +11 -0
- package/dist/util/overflow-observer.d.ts +25 -0
- package/{src/util/overflow-observer.ts → dist/util/overflow-observer.js} +1 -30
- package/dist/util/pop-up-helpers.d.ts +59 -0
- package/dist/util/pop-up-helpers.js +66 -0
- package/dist/util/pop-up-manager.d.ts +200 -0
- package/dist/util/pop-up-manager.js +258 -0
- package/dist/util/shared-text-input-logic.d.ts +69 -0
- package/dist/util/shared-text-input-logic.js +114 -0
- package/dist/util/vira-form-fields.d.ts +145 -0
- package/dist/util/vira-form-fields.js +66 -0
- package/dist/util/vira-json-schema.d.ts +206 -0
- package/{src/util/vira-json-schema.ts → dist/util/vira-json-schema.js} +155 -298
- package/{src/util/vira-select-option.ts → dist/util/vira-select-option.d.ts} +2 -9
- package/dist/util/vira-select-option.js +8 -0
- package/dist/util/vira-theme-client.d.ts +83 -0
- package/dist/util/vira-theme-client.js +93 -0
- package/package.json +13 -13
- package/src/elements/color/vira-all-color-space-sliders.element.ts +0 -66
- package/src/elements/color/vira-all-spaces-color-picker.element.ts +0 -85
- package/src/elements/color/vira-color-format-sliders.element.ts +0 -78
- package/src/elements/color/vira-color-slider.element.ts +0 -169
- package/src/elements/pop-up/vira-menu-trigger.element.ts +0 -135
- package/src/elements/pop-up/vira-pop-up-trigger.element.ts +0 -539
- package/src/elements/vira-absolute-time.element.ts +0 -81
- package/src/elements/vira-date-input.element.ts +0 -185
- package/src/elements/vira-dropdown.element.ts +0 -310
- package/src/elements/vira-form.element.ts +0 -466
- package/src/elements/vira-relative-time.element.ts +0 -135
- package/src/icons/icon-color.test-helper.ts +0 -9
- package/src/icons/lucide-icons.ts +0 -120
- package/src/styles/form-styles.ts +0 -86
- package/src/styles/vira-color-palette.json +0 -170
- package/src/styles/vira-color-theme-object.ts +0 -170
- package/src/util/color-local-storage.client.ts +0 -7
- package/src/util/define-table.ts +0 -286
- package/src/util/define-vira-element.ts +0 -29
- package/src/util/dynamic-element.ts +0 -128
- package/src/util/pop-up-helpers.ts +0 -133
- package/src/util/pop-up-manager.ts +0 -434
- package/src/util/shared-text-input-logic.ts +0 -192
- package/src/util/vira-form-fields.ts +0 -195
- package/src/util/vira-theme-client.ts +0 -140
- /package/{src/elements/index.ts → dist/elements/index.d.ts} +0 -0
- /package/{src/index.ts → dist/index.d.ts} +0 -0
- /package/{src/util/index.ts → dist/util/index.d.ts} +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
import { type AttributeValues, type CSSResult } from 'element-vir';
|
|
3
|
+
import { type SpaRoute, type SpaRouter } from 'spa-router-vir';
|
|
4
|
+
/**
|
|
5
|
+
* The route properties required for using {@link ViraLink} with a route.
|
|
6
|
+
*
|
|
7
|
+
* @category Internal
|
|
8
|
+
*/
|
|
9
|
+
export type ViraLinkRoute = Readonly<{
|
|
10
|
+
route: SpaRoute<any, any, any>;
|
|
11
|
+
router: Pick<SpaRouter<any, any, any>, 'createRouteUrl' | 'setRouteOnDirectNavigation'>;
|
|
12
|
+
scrollToTop?: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* A hyperlink wrapper element that can be configured to emit route change events rather than just
|
|
16
|
+
* being a raw link.
|
|
17
|
+
*
|
|
18
|
+
* @category Link
|
|
19
|
+
* @category Elements
|
|
20
|
+
* @see https://electrovir.github.io/vira/book/elements/vira-link
|
|
21
|
+
*/
|
|
22
|
+
export declare const ViraLink: import("element-vir").DeclarativeElementDefinition<"vira-link", (((Required<Pick<{
|
|
23
|
+
/**
|
|
24
|
+
* A full raw URL link that will navigate the current window away or open a new tab. If this
|
|
25
|
+
* property is provided for the inputs, don't provide a route property.
|
|
26
|
+
*/
|
|
27
|
+
link: {
|
|
28
|
+
url: string;
|
|
29
|
+
newTab: boolean;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* A route that'll change that current page without navigating the window. If this property
|
|
33
|
+
* is provided for the inputs, don't provide a link property.
|
|
34
|
+
*/
|
|
35
|
+
route: ViraLinkRoute;
|
|
36
|
+
}, "link">> & Partial<Record<"route", never>>) | (Required<Pick<{
|
|
37
|
+
/**
|
|
38
|
+
* A full raw URL link that will navigate the current window away or open a new tab. If this
|
|
39
|
+
* property is provided for the inputs, don't provide a route property.
|
|
40
|
+
*/
|
|
41
|
+
link: {
|
|
42
|
+
url: string;
|
|
43
|
+
newTab: boolean;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* A route that'll change that current page without navigating the window. If this property
|
|
47
|
+
* is provided for the inputs, don't provide a link property.
|
|
48
|
+
*/
|
|
49
|
+
route: ViraLinkRoute;
|
|
50
|
+
}, "route">> & Partial<Record<"link", never>>)) & Omit<{
|
|
51
|
+
/**
|
|
52
|
+
* A full raw URL link that will navigate the current window away or open a new tab. If this
|
|
53
|
+
* property is provided for the inputs, don't provide a route property.
|
|
54
|
+
*/
|
|
55
|
+
link: {
|
|
56
|
+
url: string;
|
|
57
|
+
newTab: boolean;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* A route that'll change that current page without navigating the window. If this property
|
|
61
|
+
* is provided for the inputs, don't provide a link property.
|
|
62
|
+
*/
|
|
63
|
+
route: ViraLinkRoute;
|
|
64
|
+
}, "link" | "route">) & PartialWithUndefined<{
|
|
65
|
+
/** Styles that will be applied directly to the inner elements. */
|
|
66
|
+
stylePassthrough: Readonly<PartialWithUndefined<{
|
|
67
|
+
a: CSSResult;
|
|
68
|
+
}>>;
|
|
69
|
+
/** Attributes that will be applied directly to the inner elements. */
|
|
70
|
+
attributePassthrough: Readonly<PartialWithUndefined<{
|
|
71
|
+
a: AttributeValues;
|
|
72
|
+
}>>;
|
|
73
|
+
/** If set to true, internal link styles are not applied. */
|
|
74
|
+
disableLinkStyles: boolean;
|
|
75
|
+
}>, {
|
|
76
|
+
/** Removes event listeners registered during init. */
|
|
77
|
+
cleanupListeners: undefined | (() => void);
|
|
78
|
+
}, {}, "vira-link-link-styles", "vira-link-", readonly [], readonly []>;
|
|
@@ -1,30 +1,8 @@
|
|
|
1
|
-
import {assertWrap} from '@augment-vir/assert';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
html,
|
|
7
|
-
ifDefined,
|
|
8
|
-
listen,
|
|
9
|
-
type AttributeValues,
|
|
10
|
-
type CSSResult,
|
|
11
|
-
} from 'element-vir';
|
|
12
|
-
import {type SpaRoute, type SpaRouter} from 'spa-router-vir';
|
|
13
|
-
import {listenTo} from 'typed-event-target';
|
|
14
|
-
import {viraTheme} from '../styles/vira-color-theme.js';
|
|
15
|
-
import {defineViraElement} from '../util/define-vira-element.js';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* The route properties required for using {@link ViraLink} with a route.
|
|
19
|
-
*
|
|
20
|
-
* @category Internal
|
|
21
|
-
*/
|
|
22
|
-
export type ViraLinkRoute = Readonly<{
|
|
23
|
-
route: SpaRoute<any, any, any>;
|
|
24
|
-
router: Pick<SpaRouter<any, any, any>, 'createRouteUrl' | 'setRouteOnDirectNavigation'>;
|
|
25
|
-
scrollToTop?: boolean;
|
|
26
|
-
}>;
|
|
27
|
-
|
|
1
|
+
import { assertWrap } from '@augment-vir/assert';
|
|
2
|
+
import { attributes, css, html, ifDefined, listen, } from 'element-vir';
|
|
3
|
+
import { listenTo } from 'typed-event-target';
|
|
4
|
+
import { viraTheme } from '../styles/vira-color-theme.js';
|
|
5
|
+
import { defineViraElement } from '../util/define-vira-element.js';
|
|
28
6
|
/**
|
|
29
7
|
* A hyperlink wrapper element that can be configured to emit route change events rather than just
|
|
30
8
|
* being a raw link.
|
|
@@ -33,43 +11,21 @@ export type ViraLinkRoute = Readonly<{
|
|
|
33
11
|
* @category Elements
|
|
34
12
|
* @see https://electrovir.github.io/vira/book/elements/vira-link
|
|
35
13
|
*/
|
|
36
|
-
export const ViraLink = defineViraElement
|
|
37
|
-
RequireExactlyOne<{
|
|
38
|
-
/**
|
|
39
|
-
* A full raw URL link that will navigate the current window away or open a new tab. If this
|
|
40
|
-
* property is provided for the inputs, don't provide a route property.
|
|
41
|
-
*/
|
|
42
|
-
link: {
|
|
43
|
-
url: string;
|
|
44
|
-
newTab: boolean;
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* A route that'll change that current page without navigating the window. If this property
|
|
48
|
-
* is provided for the inputs, don't provide a link property.
|
|
49
|
-
*/
|
|
50
|
-
route: ViraLinkRoute;
|
|
51
|
-
}> &
|
|
52
|
-
PartialWithUndefined<{
|
|
53
|
-
/** Styles that will be applied directly to the inner elements. */
|
|
54
|
-
stylePassthrough: Readonly<PartialWithUndefined<{a: CSSResult}>>;
|
|
55
|
-
/** Attributes that will be applied directly to the inner elements. */
|
|
56
|
-
attributePassthrough: Readonly<PartialWithUndefined<{a: AttributeValues}>>;
|
|
57
|
-
/** If set to true, internal link styles are not applied. */
|
|
58
|
-
disableLinkStyles: boolean;
|
|
59
|
-
}>
|
|
60
|
-
>()({
|
|
14
|
+
export const ViraLink = defineViraElement()({
|
|
61
15
|
tagName: 'vira-link',
|
|
62
16
|
state() {
|
|
63
17
|
return {
|
|
64
18
|
/** Removes event listeners registered during init. */
|
|
65
|
-
cleanupListeners: undefined
|
|
19
|
+
cleanupListeners: undefined,
|
|
66
20
|
};
|
|
67
21
|
},
|
|
68
22
|
hostClasses: {
|
|
69
|
-
'vira-link-link-styles'
|
|
23
|
+
'vira-link-link-styles'({ inputs }) {
|
|
24
|
+
return !inputs.disableLinkStyles;
|
|
25
|
+
},
|
|
70
26
|
},
|
|
71
|
-
styles
|
|
72
|
-
return css`
|
|
27
|
+
styles({ hostClasses }) {
|
|
28
|
+
return css `
|
|
73
29
|
:host {
|
|
74
30
|
display: inline;
|
|
75
31
|
text-decoration: underline;
|
|
@@ -98,26 +54,18 @@ export const ViraLink = defineViraElement<
|
|
|
98
54
|
}
|
|
99
55
|
`;
|
|
100
56
|
},
|
|
101
|
-
init({state, updateState, host}) {
|
|
57
|
+
init({ state, updateState, host }) {
|
|
102
58
|
state.cleanupListeners?.();
|
|
103
|
-
|
|
104
59
|
let propagating = false;
|
|
105
|
-
|
|
106
60
|
const listenerRemovers = [
|
|
107
61
|
listenTo(host, 'click', (event) => {
|
|
108
62
|
if (propagating) {
|
|
109
63
|
return;
|
|
110
64
|
}
|
|
111
|
-
|
|
112
|
-
const anchorElement = assertWrap.instanceOf(
|
|
113
|
-
host.shadowRoot.querySelector('a'),
|
|
114
|
-
HTMLAnchorElement,
|
|
115
|
-
);
|
|
116
|
-
|
|
65
|
+
const anchorElement = assertWrap.instanceOf(host.shadowRoot.querySelector('a'), HTMLAnchorElement);
|
|
117
66
|
if (event.composedPath().includes(anchorElement)) {
|
|
118
67
|
return;
|
|
119
68
|
}
|
|
120
|
-
|
|
121
69
|
event.preventDefault();
|
|
122
70
|
event.stopPropagation();
|
|
123
71
|
propagating = true;
|
|
@@ -125,30 +73,24 @@ export const ViraLink = defineViraElement<
|
|
|
125
73
|
propagating = false;
|
|
126
74
|
}),
|
|
127
75
|
];
|
|
128
|
-
|
|
129
76
|
updateState({
|
|
130
|
-
cleanupListeners
|
|
77
|
+
cleanupListeners() {
|
|
131
78
|
listenerRemovers.forEach((remover) => remover());
|
|
132
79
|
},
|
|
133
80
|
});
|
|
134
81
|
},
|
|
135
|
-
cleanup({state, updateState}) {
|
|
82
|
+
cleanup({ state, updateState }) {
|
|
136
83
|
state.cleanupListeners?.();
|
|
137
84
|
updateState({
|
|
138
85
|
cleanupListeners: undefined,
|
|
139
86
|
});
|
|
140
87
|
},
|
|
141
|
-
render({inputs}) {
|
|
142
|
-
function clickCallback(event
|
|
88
|
+
render({ inputs }) {
|
|
89
|
+
function clickCallback(event) {
|
|
143
90
|
if (!inputs.route) {
|
|
144
91
|
return;
|
|
145
92
|
}
|
|
146
|
-
|
|
147
|
-
const routed = inputs.route.router.setRouteOnDirectNavigation(
|
|
148
|
-
inputs.route.route,
|
|
149
|
-
event,
|
|
150
|
-
);
|
|
151
|
-
|
|
93
|
+
const routed = inputs.route.router.setRouteOnDirectNavigation(inputs.route.route, event);
|
|
152
94
|
if (routed && inputs.route.scrollToTop) {
|
|
153
95
|
window.scrollTo({
|
|
154
96
|
left: 0,
|
|
@@ -157,10 +99,9 @@ export const ViraLink = defineViraElement<
|
|
|
157
99
|
});
|
|
158
100
|
}
|
|
159
101
|
}
|
|
160
|
-
|
|
161
102
|
if (inputs.link?.newTab) {
|
|
162
103
|
/** Noopener and noreferrer are needed for security reasons, do not remove! */
|
|
163
|
-
return html`
|
|
104
|
+
return html `
|
|
164
105
|
<a
|
|
165
106
|
href=${inputs.link.url}
|
|
166
107
|
target="_blank"
|
|
@@ -171,13 +112,13 @@ export const ViraLink = defineViraElement<
|
|
|
171
112
|
<slot></slot>
|
|
172
113
|
</a>
|
|
173
114
|
`;
|
|
174
|
-
}
|
|
175
|
-
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
const linkUrl = inputs.link
|
|
176
118
|
? inputs.link.url
|
|
177
119
|
: inputs.route.router.createRouteUrl(inputs.route.route).url;
|
|
178
|
-
|
|
179
120
|
/** Noopener and noreferrer are needed for security reasons, do not remove! */
|
|
180
|
-
return html`
|
|
121
|
+
return html `
|
|
181
122
|
<a
|
|
182
123
|
href=${linkUrl}
|
|
183
124
|
rel="noopener noreferrer"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
/**
|
|
3
|
+
* A modal element that uses the built-in `dialog` element.
|
|
4
|
+
*
|
|
5
|
+
* @category Elements
|
|
6
|
+
* @see https://electrovir.github.io/vira/book/elements/vira-modal
|
|
7
|
+
*/
|
|
8
|
+
export declare const ViraModal: import("element-vir").DeclarativeElementDefinition<`vira-${string}`, {
|
|
9
|
+
open: boolean;
|
|
10
|
+
} & PartialWithUndefined<{
|
|
11
|
+
/** If this isn't set, make sure to use the modal title slot to fill it in. */
|
|
12
|
+
modalTitle: string;
|
|
13
|
+
/**
|
|
14
|
+
* If `true`, the following conditions trigger the modal to close:
|
|
15
|
+
*
|
|
16
|
+
* - The user clicks the "x" close button
|
|
17
|
+
* - The `open` input is set to `false`
|
|
18
|
+
*
|
|
19
|
+
* If set to `false` (the default), the following conditions trigger the modal to close:
|
|
20
|
+
*
|
|
21
|
+
* - The user clicks outside of the modal
|
|
22
|
+
* - The user presses the "Escape" key
|
|
23
|
+
* - The user clicks the "x" close button
|
|
24
|
+
* - The `open` input is set to `false`
|
|
25
|
+
*
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
blockLightDismissal: boolean;
|
|
29
|
+
modalSubtitle: string;
|
|
30
|
+
isMobileSize: boolean;
|
|
31
|
+
noContentPadding: boolean;
|
|
32
|
+
}>, {
|
|
33
|
+
dialogElement: HTMLDialogElement | undefined;
|
|
34
|
+
contentElement: HTMLDivElement | undefined;
|
|
35
|
+
previousOpenValue: undefined | boolean;
|
|
36
|
+
/** Remove listeners. */
|
|
37
|
+
cleanupListeners: undefined | (() => void);
|
|
38
|
+
}, {
|
|
39
|
+
modalClose: import("element-vir").DefineElementEvent<void>;
|
|
40
|
+
}, "vira-modal-phone-size" | "vira-modal-no-content-padding", "vira-modal-backdrop-filter" | "vira-modal-border-radius", readonly ["vira-modal-modal-title"], readonly []>;
|
|
@@ -1,84 +1,59 @@
|
|
|
1
|
-
import {assertWrap} from '@augment-vir/assert';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {ViraIcon} from './vira-icon.element.js';
|
|
15
|
-
|
|
1
|
+
import { assertWrap } from '@augment-vir/assert';
|
|
2
|
+
import { colorCss } from '@electrovir/color';
|
|
3
|
+
import { css, defineElementEvent, html, listen, nothing, onDomCreated } from 'element-vir';
|
|
4
|
+
import { themeDefaultKey } from 'theme-vir/dist/color-theme/color-theme.js';
|
|
5
|
+
import { listenToGlobal } from 'typed-event-target';
|
|
6
|
+
import { X24Icon } from '../icons/icon-svgs/24/x-24.icon.js';
|
|
7
|
+
import { viraFormCssVars } from '../styles/form-styles.js';
|
|
8
|
+
import { noNativeFormStyles, noNativeSpacing } from '../styles/native-styles.js';
|
|
9
|
+
import { viraShadows } from '../styles/shadows.js';
|
|
10
|
+
import { viraTheme } from '../styles/vira-color-theme.js';
|
|
11
|
+
import { defineViraElement } from '../util/define-vira-element.js';
|
|
12
|
+
import { isMouseEventOnScrollbar } from '../util/pop-up-manager.js';
|
|
13
|
+
import { ViraIcon } from './vira-icon.element.js';
|
|
16
14
|
const globalEventsToCloseModalOn = [
|
|
17
15
|
'pagehide',
|
|
18
16
|
'pageshow',
|
|
19
17
|
'popstate',
|
|
20
|
-
]
|
|
21
|
-
|
|
18
|
+
];
|
|
22
19
|
/**
|
|
23
20
|
* A modal element that uses the built-in `dialog` element.
|
|
24
21
|
*
|
|
25
22
|
* @category Elements
|
|
26
23
|
* @see https://electrovir.github.io/vira/book/elements/vira-modal
|
|
27
24
|
*/
|
|
28
|
-
export const ViraModal = defineViraElement
|
|
29
|
-
{
|
|
30
|
-
open: boolean;
|
|
31
|
-
} & PartialWithUndefined<{
|
|
32
|
-
/** If this isn't set, make sure to use the modal title slot to fill it in. */
|
|
33
|
-
modalTitle: string;
|
|
34
|
-
/**
|
|
35
|
-
* If `true`, the following conditions trigger the modal to close:
|
|
36
|
-
*
|
|
37
|
-
* - The user clicks the "x" close button
|
|
38
|
-
* - The `open` input is set to `false`
|
|
39
|
-
*
|
|
40
|
-
* If set to `false` (the default), the following conditions trigger the modal to close:
|
|
41
|
-
*
|
|
42
|
-
* - The user clicks outside of the modal
|
|
43
|
-
* - The user presses the "Escape" key
|
|
44
|
-
* - The user clicks the "x" close button
|
|
45
|
-
* - The `open` input is set to `false`
|
|
46
|
-
*
|
|
47
|
-
* @default false
|
|
48
|
-
*/
|
|
49
|
-
blockLightDismissal: boolean;
|
|
50
|
-
modalSubtitle: string;
|
|
51
|
-
isMobileSize: boolean;
|
|
52
|
-
noContentPadding: boolean;
|
|
53
|
-
}>
|
|
54
|
-
>()({
|
|
25
|
+
export const ViraModal = defineViraElement()({
|
|
55
26
|
tagName: 'vira-modal',
|
|
56
27
|
events: {
|
|
57
|
-
modalClose: defineElementEvent
|
|
28
|
+
modalClose: defineElementEvent(),
|
|
58
29
|
},
|
|
59
30
|
state() {
|
|
60
31
|
return {
|
|
61
|
-
dialogElement: undefined
|
|
62
|
-
contentElement: undefined
|
|
63
|
-
previousOpenValue: undefined
|
|
32
|
+
dialogElement: undefined,
|
|
33
|
+
contentElement: undefined,
|
|
34
|
+
previousOpenValue: undefined,
|
|
64
35
|
/** Remove listeners. */
|
|
65
|
-
cleanupListeners: undefined
|
|
36
|
+
cleanupListeners: undefined,
|
|
66
37
|
};
|
|
67
38
|
},
|
|
68
|
-
cleanup({state}) {
|
|
39
|
+
cleanup({ state }) {
|
|
69
40
|
state.cleanupListeners?.();
|
|
70
41
|
},
|
|
71
42
|
hostClasses: {
|
|
72
|
-
'vira-modal-phone-size'
|
|
73
|
-
|
|
43
|
+
'vira-modal-phone-size'({ inputs }) {
|
|
44
|
+
return !!inputs.isMobileSize;
|
|
45
|
+
},
|
|
46
|
+
'vira-modal-no-content-padding'({ inputs }) {
|
|
47
|
+
return !!inputs.noContentPadding;
|
|
48
|
+
},
|
|
74
49
|
},
|
|
75
50
|
slotNames: ['vira-modal-modal-title'],
|
|
76
51
|
cssVars: {
|
|
77
52
|
'vira-modal-backdrop-filter': 'blur(3px)',
|
|
78
53
|
'vira-modal-border-radius': '8px',
|
|
79
54
|
},
|
|
80
|
-
styles
|
|
81
|
-
return css`
|
|
55
|
+
styles({ hostClasses, cssVars }) {
|
|
56
|
+
return css `
|
|
82
57
|
:host {
|
|
83
58
|
display: contents;
|
|
84
59
|
min-width: 280px;
|
|
@@ -136,7 +111,7 @@ export const ViraModal = defineViraElement<
|
|
|
136
111
|
& sub {
|
|
137
112
|
font-size: 16px;
|
|
138
113
|
color: ${viraFormCssVars['vira-form-secondary-body-foreground']
|
|
139
|
-
|
|
114
|
+
.value};
|
|
140
115
|
}
|
|
141
116
|
}
|
|
142
117
|
|
|
@@ -148,9 +123,7 @@ export const ViraModal = defineViraElement<
|
|
|
148
123
|
border-radius: ${viraFormCssVars['vira-form-radius'].value};
|
|
149
124
|
|
|
150
125
|
&:hover {
|
|
151
|
-
background-color: ${viraFormCssVars[
|
|
152
|
-
'vira-form-selection-hover-color'
|
|
153
|
-
].value};
|
|
126
|
+
background-color: ${viraFormCssVars['vira-form-selection-hover-color'].value};
|
|
154
127
|
}
|
|
155
128
|
|
|
156
129
|
& ${ViraIcon} {
|
|
@@ -191,15 +164,15 @@ export const ViraModal = defineViraElement<
|
|
|
191
164
|
}
|
|
192
165
|
`;
|
|
193
166
|
},
|
|
194
|
-
render({inputs, state, updateState, events, dispatch, slotNames}) {
|
|
167
|
+
render({ inputs, state, updateState, events, dispatch, slotNames }) {
|
|
195
168
|
if (state.dialogElement && inputs.open !== state.dialogElement.open) {
|
|
196
169
|
if (inputs.open) {
|
|
197
170
|
state.dialogElement.showModal();
|
|
198
|
-
}
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
199
173
|
state.dialogElement.close();
|
|
200
174
|
}
|
|
201
175
|
}
|
|
202
|
-
|
|
203
176
|
if (state.previousOpenValue !== inputs.open) {
|
|
204
177
|
state.cleanupListeners?.();
|
|
205
178
|
updateState({
|
|
@@ -208,62 +181,53 @@ export const ViraModal = defineViraElement<
|
|
|
208
181
|
if (inputs.open) {
|
|
209
182
|
const removers = globalEventsToCloseModalOn.map((eventName) => {
|
|
210
183
|
return listenToGlobal(eventName, () => {
|
|
211
|
-
dispatch(
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
}),
|
|
215
|
-
);
|
|
184
|
+
dispatch(new events.modalClose({
|
|
185
|
+
detail: undefined,
|
|
186
|
+
}));
|
|
216
187
|
});
|
|
217
188
|
});
|
|
218
|
-
|
|
219
189
|
updateState({
|
|
220
|
-
cleanupListeners
|
|
190
|
+
cleanupListeners() {
|
|
221
191
|
removers.forEach((remover) => remover());
|
|
222
192
|
},
|
|
223
193
|
});
|
|
224
194
|
}
|
|
225
195
|
}
|
|
226
|
-
|
|
227
196
|
function close() {
|
|
228
197
|
if (inputs.open) {
|
|
229
198
|
state.cleanupListeners?.();
|
|
230
|
-
dispatch(
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}),
|
|
234
|
-
);
|
|
199
|
+
dispatch(new events.modalClose({
|
|
200
|
+
detail: undefined,
|
|
201
|
+
}));
|
|
235
202
|
}
|
|
236
203
|
}
|
|
237
|
-
|
|
238
|
-
return html`
|
|
204
|
+
return html `
|
|
239
205
|
<dialog
|
|
240
206
|
${onDomCreated((element) => {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
207
|
+
updateState({
|
|
208
|
+
dialogElement: assertWrap.instanceOf(element, HTMLDialogElement),
|
|
209
|
+
});
|
|
210
|
+
})}
|
|
245
211
|
${listen('close', () => {
|
|
246
|
-
|
|
247
|
-
|
|
212
|
+
close();
|
|
213
|
+
})}
|
|
248
214
|
${listen('mousedown', (event) => {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
-
})}
|
|
215
|
+
if (state.contentElement &&
|
|
216
|
+
!event.composedPath().includes(state.contentElement) &&
|
|
217
|
+
!inputs.blockLightDismissal &&
|
|
218
|
+
!isMouseEventOnScrollbar(event)) {
|
|
219
|
+
/** Background click. */
|
|
220
|
+
close();
|
|
221
|
+
}
|
|
222
|
+
})}
|
|
259
223
|
>
|
|
260
224
|
<div
|
|
261
225
|
class="modal-content-wrapper"
|
|
262
226
|
${onDomCreated((element) => {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
227
|
+
updateState({
|
|
228
|
+
contentElement: assertWrap.instanceOf(element, HTMLDivElement),
|
|
229
|
+
});
|
|
230
|
+
})}
|
|
267
231
|
>
|
|
268
232
|
<div class="header">
|
|
269
233
|
<div class="header-text-wrapper">
|
|
@@ -273,30 +237,30 @@ export const ViraModal = defineViraElement<
|
|
|
273
237
|
</slot>
|
|
274
238
|
</h1>
|
|
275
239
|
${inputs.modalSubtitle
|
|
276
|
-
|
|
240
|
+
? html `
|
|
277
241
|
<sub>${inputs.modalSubtitle}</sub>
|
|
278
242
|
`
|
|
279
|
-
|
|
243
|
+
: nothing}
|
|
280
244
|
</div>
|
|
281
245
|
<button
|
|
282
246
|
class="close"
|
|
283
247
|
aria-label="Close"
|
|
284
248
|
${listen('click', () => {
|
|
285
|
-
|
|
286
|
-
|
|
249
|
+
state.dialogElement?.close();
|
|
250
|
+
})}
|
|
287
251
|
>
|
|
288
252
|
<${ViraIcon.assign({
|
|
289
|
-
|
|
290
|
-
|
|
253
|
+
icon: X24Icon,
|
|
254
|
+
})}></${ViraIcon}>
|
|
291
255
|
</button>
|
|
292
256
|
</div>
|
|
293
257
|
${inputs.open
|
|
294
|
-
|
|
258
|
+
? html `
|
|
295
259
|
<div class="body">
|
|
296
260
|
<slot></slot>
|
|
297
261
|
</div>
|
|
298
262
|
`
|
|
299
|
-
|
|
263
|
+
: nothing}
|
|
300
264
|
</div>
|
|
301
265
|
</dialog>
|
|
302
266
|
`;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
/**
|
|
3
|
+
* A [`<progress>`](https://developer.mozilla.org/docs/Web/HTML/Reference/Elements/progress)
|
|
4
|
+
* alternative that supports custom styling in _all_ browsers via CSS vars _and_ prevents background
|
|
5
|
+
* bleed.
|
|
6
|
+
*
|
|
7
|
+
* @category Progress
|
|
8
|
+
* @category Elements
|
|
9
|
+
* @see https://electrovir.github.io/vira/book/elements/vira-progress
|
|
10
|
+
*/
|
|
11
|
+
export declare const ViraProgress: import("element-vir").DeclarativeElementDefinition<"vira-progress", {
|
|
12
|
+
value: number;
|
|
13
|
+
} & PartialWithUndefined<{
|
|
14
|
+
/** @default 0 */
|
|
15
|
+
min: number;
|
|
16
|
+
/** @default 100 */
|
|
17
|
+
max: number;
|
|
18
|
+
}>, {}, {}, "vira-progress-", "vira-progress-border-radius" | "vira-progress-height", readonly [], readonly []>;
|