vira 32.0.0-beta.0 → 32.0.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 +44 -0
- package/{src/elements/vira-button.element.ts → dist/elements/vira-button.element.js} +107 -255
- 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} +242 -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
|
@@ -1,47 +1,23 @@
|
|
|
1
|
-
import {assertWrap} from '@augment-vir/assert';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {defineViraElement} from '../../util/define-vira-element.js';
|
|
10
|
-
import {ViraIcon} from '../vira-icon.element.js';
|
|
11
|
-
|
|
1
|
+
import { assertWrap } from '@augment-vir/assert';
|
|
2
|
+
import { css, defineElementEvent, html } from 'element-vir';
|
|
3
|
+
import { listenTo } from 'typed-event-target';
|
|
4
|
+
import { Check24Icon } from '../../icons/icon-svgs/24/check-24.icon.js';
|
|
5
|
+
import { viraFormCssVars } from '../../styles/form-styles.js';
|
|
6
|
+
import { noUserSelect } from '../../styles/index.js';
|
|
7
|
+
import { defineViraElement } from '../../util/define-vira-element.js';
|
|
8
|
+
import { ViraIcon } from '../vira-icon.element.js';
|
|
12
9
|
/**
|
|
13
10
|
* An element for an individual menu item.
|
|
14
11
|
*
|
|
15
12
|
* @category PopUp
|
|
16
13
|
* @category Elements
|
|
17
14
|
*/
|
|
18
|
-
export const ViraMenuItem = defineViraElement
|
|
19
|
-
PartialWithUndefined<{
|
|
20
|
-
selected: boolean;
|
|
21
|
-
disabled: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Set this to `true` to disable the default `ViraMenuItem` hover and active styles so you
|
|
24
|
-
* can apply your own.
|
|
25
|
-
*/
|
|
26
|
-
disablePointerStyles: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* If provided, this will override the checkmark icon. If this is provided, the icon will
|
|
29
|
-
* _always_ be shown, even if `selected` is set to `false`.
|
|
30
|
-
*/
|
|
31
|
-
iconOverride: ViraIconSvg;
|
|
32
|
-
/**
|
|
33
|
-
* When `true`, activating this item will _not_ close the containing pop-up.
|
|
34
|
-
*
|
|
35
|
-
* @default false
|
|
36
|
-
*/
|
|
37
|
-
keepOpenAfterInteraction: boolean;
|
|
38
|
-
}>
|
|
39
|
-
>()({
|
|
15
|
+
export const ViraMenuItem = defineViraElement()({
|
|
40
16
|
tagName: 'vira-menu-item',
|
|
41
17
|
state() {
|
|
42
18
|
return {
|
|
43
19
|
/** Removes event listeners registered during init. */
|
|
44
|
-
cleanupListeners: undefined
|
|
20
|
+
cleanupListeners: undefined,
|
|
45
21
|
};
|
|
46
22
|
},
|
|
47
23
|
events: {
|
|
@@ -50,14 +26,24 @@ export const ViraMenuItem = defineViraElement<
|
|
|
50
26
|
* containers (e.g. `ViraPopUpTrigger`) listen to this to close the pop-up on selection,
|
|
51
27
|
* gated by `keepOpenAfterInteraction`.
|
|
52
28
|
*/
|
|
53
|
-
activate: defineElementEvent
|
|
29
|
+
activate: defineElementEvent(),
|
|
54
30
|
},
|
|
55
31
|
hostClasses: {
|
|
56
|
-
'vira-menu-item-selected'
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
'vira-menu-item-
|
|
60
|
-
|
|
32
|
+
'vira-menu-item-selected'({ inputs }) {
|
|
33
|
+
return !!inputs.selected || !!inputs.iconOverride;
|
|
34
|
+
},
|
|
35
|
+
'vira-menu-item-disabled'({ inputs }) {
|
|
36
|
+
return !!inputs.disabled;
|
|
37
|
+
},
|
|
38
|
+
'vira-menu-item-enabled'({ inputs }) {
|
|
39
|
+
return !inputs.disabled;
|
|
40
|
+
},
|
|
41
|
+
'vira-menu-item-default-icon'({ inputs }) {
|
|
42
|
+
return !inputs.iconOverride;
|
|
43
|
+
},
|
|
44
|
+
'vira-menu-item-default-styles'({ inputs }) {
|
|
45
|
+
return !inputs.disablePointerStyles;
|
|
46
|
+
},
|
|
61
47
|
},
|
|
62
48
|
cssVars: {
|
|
63
49
|
/** Horizontal gap between a menu item's icon and its label. */
|
|
@@ -65,8 +51,8 @@ export const ViraMenuItem = defineViraElement<
|
|
|
65
51
|
'vira-menu-item-padding': '6px 8px',
|
|
66
52
|
'vira-menu-item-border-radius': '4px',
|
|
67
53
|
},
|
|
68
|
-
styles
|
|
69
|
-
return css`
|
|
54
|
+
styles({ hostClasses, cssVars }) {
|
|
55
|
+
return css `
|
|
70
56
|
:host {
|
|
71
57
|
display: flex;
|
|
72
58
|
flex-shrink: 0;
|
|
@@ -81,9 +67,7 @@ export const ViraMenuItem = defineViraElement<
|
|
|
81
67
|
text-align: left;
|
|
82
68
|
}
|
|
83
69
|
|
|
84
|
-
${hostClasses['vira-menu-item-disabled'].selector}${hostClasses[
|
|
85
|
-
'vira-menu-item-default-styles'
|
|
86
|
-
].selector} {
|
|
70
|
+
${hostClasses['vira-menu-item-disabled'].selector}${hostClasses['vira-menu-item-default-styles'].selector} {
|
|
87
71
|
cursor: not-allowed;
|
|
88
72
|
|
|
89
73
|
& .slot-wrapper,
|
|
@@ -98,9 +82,7 @@ export const ViraMenuItem = defineViraElement<
|
|
|
98
82
|
outline: none;
|
|
99
83
|
}
|
|
100
84
|
|
|
101
|
-
${hostClasses['vira-menu-item-enabled'].selector}${hostClasses[
|
|
102
|
-
'vira-menu-item-default-styles'
|
|
103
|
-
].selector} {
|
|
85
|
+
${hostClasses['vira-menu-item-enabled'].selector}${hostClasses['vira-menu-item-default-styles'].selector} {
|
|
104
86
|
cursor: pointer;
|
|
105
87
|
|
|
106
88
|
&:host(:focus) {
|
|
@@ -139,23 +121,22 @@ export const ViraMenuItem = defineViraElement<
|
|
|
139
121
|
}
|
|
140
122
|
`;
|
|
141
123
|
},
|
|
142
|
-
init({state, updateState, host, inputs, dispatch, events}) {
|
|
124
|
+
init({ state, updateState, host, inputs, dispatch, events }) {
|
|
143
125
|
host.setAttribute('role', 'menuitem');
|
|
144
126
|
host.setAttribute('tabindex', inputs.disabled ? '-1' : '0');
|
|
145
127
|
host.setAttribute('aria-selected', String(!!inputs.selected));
|
|
146
128
|
host.setAttribute('aria-disabled', String(!!inputs.disabled));
|
|
147
129
|
state.cleanupListeners?.();
|
|
148
|
-
const propagating
|
|
149
|
-
|
|
150
|
-
function propagateMouseEvent(event: Event) {
|
|
130
|
+
const propagating = {};
|
|
131
|
+
function propagateMouseEvent(event) {
|
|
151
132
|
if (propagating[event.type]) {
|
|
152
133
|
return;
|
|
153
|
-
}
|
|
134
|
+
}
|
|
135
|
+
else if (inputs.disabled) {
|
|
154
136
|
event.preventDefault();
|
|
155
137
|
event.stopPropagation();
|
|
156
138
|
return;
|
|
157
139
|
}
|
|
158
|
-
|
|
159
140
|
/**
|
|
160
141
|
* Only forward `click`. Slotted content is activated by a single forwarded click, so
|
|
161
142
|
* forwarding `mousedown` as well would double-trigger interactions: a `<select>`, for
|
|
@@ -167,73 +148,56 @@ export const ViraMenuItem = defineViraElement<
|
|
|
167
148
|
if (event.type !== 'click') {
|
|
168
149
|
return;
|
|
169
150
|
}
|
|
170
|
-
|
|
171
151
|
if (inputs.keepOpenAfterInteraction) {
|
|
172
152
|
event.stopPropagation();
|
|
173
153
|
}
|
|
174
|
-
|
|
175
|
-
const slotElement = assertWrap.instanceOf(
|
|
176
|
-
host.shadowRoot.querySelector('slot'),
|
|
177
|
-
HTMLSlotElement,
|
|
178
|
-
);
|
|
179
|
-
|
|
154
|
+
const slotElement = assertWrap.instanceOf(host.shadowRoot.querySelector('slot'), HTMLSlotElement);
|
|
180
155
|
slotElement
|
|
181
156
|
.assignedElements({
|
|
182
|
-
|
|
183
|
-
|
|
157
|
+
flatten: true,
|
|
158
|
+
})
|
|
184
159
|
.forEach((element) => {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
element.click();
|
|
207
|
-
}
|
|
208
|
-
delete propagating[event.type];
|
|
160
|
+
if (element instanceof HTMLElement && !event.composedPath().includes(element)) {
|
|
161
|
+
event.preventDefault();
|
|
162
|
+
event.stopPropagation();
|
|
163
|
+
propagating[event.type] = true;
|
|
164
|
+
const hasModifiers = event instanceof MouseEvent &&
|
|
165
|
+
(event.metaKey || event.ctrlKey || event.shiftKey || event.altKey);
|
|
166
|
+
if (hasModifiers) {
|
|
167
|
+
/**
|
|
168
|
+
* If modifier keys are present, dispatch a synthetic MouseEvent so that
|
|
169
|
+
* the modifier keys are preserved. This is needed so that cmd+click
|
|
170
|
+
* opens links in a new tab.
|
|
171
|
+
*/
|
|
172
|
+
element.dispatchEvent(new MouseEvent('click', event));
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
/**
|
|
176
|
+
* Use `.click()` instead of dispatching a synthetic MouseEvent so that
|
|
177
|
+
* the resulting event carries user activation. This is required for
|
|
178
|
+
* APIs like `showPicker()` on `<select>` elements.
|
|
179
|
+
*/
|
|
180
|
+
element.click();
|
|
209
181
|
}
|
|
210
|
-
|
|
182
|
+
delete propagating[event.type];
|
|
183
|
+
}
|
|
184
|
+
});
|
|
211
185
|
}
|
|
212
|
-
|
|
213
186
|
const listenerRemovers = [
|
|
214
187
|
listenTo(host, 'click', propagateMouseEvent),
|
|
215
188
|
listenTo(host, 'mousedown', propagateMouseEvent),
|
|
216
|
-
listenTo(
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
new events.activate({
|
|
229
|
-
detail: undefined,
|
|
230
|
-
}),
|
|
231
|
-
);
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
capture: true,
|
|
235
|
-
},
|
|
236
|
-
),
|
|
189
|
+
listenTo(host, 'click', (event) => {
|
|
190
|
+
if (propagating[event.type] ||
|
|
191
|
+
inputs.disabled ||
|
|
192
|
+
inputs.keepOpenAfterInteraction) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
dispatch(new events.activate({
|
|
196
|
+
detail: undefined,
|
|
197
|
+
}));
|
|
198
|
+
}, {
|
|
199
|
+
capture: true,
|
|
200
|
+
}),
|
|
237
201
|
listenTo(host, 'mouseenter', () => {
|
|
238
202
|
if (!inputs.disabled) {
|
|
239
203
|
host.focus();
|
|
@@ -245,24 +209,23 @@ export const ViraMenuItem = defineViraElement<
|
|
|
245
209
|
}
|
|
246
210
|
}),
|
|
247
211
|
];
|
|
248
|
-
|
|
249
212
|
updateState({
|
|
250
|
-
cleanupListeners
|
|
213
|
+
cleanupListeners() {
|
|
251
214
|
listenerRemovers.forEach((remover) => remover());
|
|
252
215
|
},
|
|
253
216
|
});
|
|
254
217
|
},
|
|
255
|
-
cleanup({state, updateState}) {
|
|
218
|
+
cleanup({ state, updateState }) {
|
|
256
219
|
state.cleanupListeners?.();
|
|
257
220
|
updateState({
|
|
258
221
|
cleanupListeners: undefined,
|
|
259
222
|
});
|
|
260
223
|
},
|
|
261
|
-
render({inputs}) {
|
|
262
|
-
return html`
|
|
224
|
+
render({ inputs }) {
|
|
225
|
+
return html `
|
|
263
226
|
<${ViraIcon.assign({
|
|
264
|
-
|
|
265
|
-
|
|
227
|
+
icon: inputs.iconOverride || Check24Icon,
|
|
228
|
+
})}></${ViraIcon}>
|
|
266
229
|
<div class="slot-wrapper">
|
|
267
230
|
<slot> </slot>
|
|
268
231
|
</div>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
import { type NavController } from 'device-navigation';
|
|
3
|
+
import { type PopUpManager, type ShowPopUpResult } from '../../util/pop-up-manager.js';
|
|
4
|
+
import { type ViraMenuCornerStyle } from './vira-menu.element.js';
|
|
5
|
+
import { type PopUpOffset, type PopUpTriggerPosition } from './vira-pop-up-trigger.element.js';
|
|
6
|
+
/**
|
|
7
|
+
* Test ids for {@link ViraMenuTrigger}.
|
|
8
|
+
*
|
|
9
|
+
* @category Internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const viraMenuTriggerTestIds: {
|
|
12
|
+
menu: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* A more specific wrapper of `ViraPopUpTrigger` that always opens a menu.
|
|
16
|
+
*
|
|
17
|
+
* @category PopUp
|
|
18
|
+
* @category Elements
|
|
19
|
+
*/
|
|
20
|
+
export declare const ViraMenuTrigger: import("element-vir").DeclarativeElementDefinition<`vira-${string}`, PartialWithUndefined<{
|
|
21
|
+
isDisabled: boolean;
|
|
22
|
+
z_debug_forceOpenState: boolean;
|
|
23
|
+
popUpOffset: PopUpOffset;
|
|
24
|
+
keepOpenAfterInteraction: boolean;
|
|
25
|
+
menuCornerStyle: ViraMenuCornerStyle;
|
|
26
|
+
/**
|
|
27
|
+
* If true, the focus outline is moved inside the element.
|
|
28
|
+
*
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
useInsideFocus: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* When `true`, the trigger will focus itself when the pop-up closes.
|
|
34
|
+
*
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
focusOnClose: boolean;
|
|
38
|
+
} & PopUpTriggerPosition>, {
|
|
39
|
+
navController: undefined | NavController;
|
|
40
|
+
popUpManager: undefined | PopUpManager;
|
|
41
|
+
/** `undefined` means the pop up is not currently showing. */
|
|
42
|
+
showPopUpResult: ShowPopUpResult | undefined;
|
|
43
|
+
}, {
|
|
44
|
+
openChange: import("element-vir").DefineElementEvent<ShowPopUpResult | undefined>;
|
|
45
|
+
}, `vira-${string}-`, `vira-${string}-`, readonly ["vira-menu-trigger-trigger"], readonly []>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { classMap, css, defineElementEvent, html, listen, nothing } from 'element-vir';
|
|
2
|
+
import { defineViraElement } from '../../util/define-vira-element.js';
|
|
3
|
+
import { ViraMenu, ViraMenuPopUpDirection } from './vira-menu.element.js';
|
|
4
|
+
import { HorizontalAnchor, ViraPopUpTrigger, } from './vira-pop-up-trigger.element.js';
|
|
5
|
+
/**
|
|
6
|
+
* Test ids for {@link ViraMenuTrigger}.
|
|
7
|
+
*
|
|
8
|
+
* @category Internal
|
|
9
|
+
*/
|
|
10
|
+
export const viraMenuTriggerTestIds = {
|
|
11
|
+
menu: 'menu-trigger-menu',
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* A more specific wrapper of `ViraPopUpTrigger` that always opens a menu.
|
|
15
|
+
*
|
|
16
|
+
* @category PopUp
|
|
17
|
+
* @category Elements
|
|
18
|
+
*/
|
|
19
|
+
export const ViraMenuTrigger = defineViraElement()({
|
|
20
|
+
tagName: 'vira-menu-trigger',
|
|
21
|
+
slotNames: [
|
|
22
|
+
'vira-menu-trigger-trigger',
|
|
23
|
+
],
|
|
24
|
+
styles: css `
|
|
25
|
+
:host {
|
|
26
|
+
display: inline-flex;
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
vertical-align: middle;
|
|
29
|
+
max-width: 100%;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
${ViraPopUpTrigger} {
|
|
33
|
+
width: 100%;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.full-width-menu {
|
|
37
|
+
width: 100%;
|
|
38
|
+
}
|
|
39
|
+
`,
|
|
40
|
+
events: {
|
|
41
|
+
openChange: defineElementEvent(),
|
|
42
|
+
},
|
|
43
|
+
state() {
|
|
44
|
+
return {
|
|
45
|
+
navController: undefined,
|
|
46
|
+
popUpManager: undefined,
|
|
47
|
+
/** `undefined` means the pop up is not currently showing. */
|
|
48
|
+
showPopUpResult: undefined,
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
render({ inputs, state, updateState, dispatch, events, slotNames }) {
|
|
52
|
+
return html `
|
|
53
|
+
<${ViraPopUpTrigger.assign({
|
|
54
|
+
...inputs,
|
|
55
|
+
})}
|
|
56
|
+
class=${classMap({
|
|
57
|
+
open: !!state.showPopUpResult,
|
|
58
|
+
})}
|
|
59
|
+
${listen(ViraPopUpTrigger.events.init, (event) => {
|
|
60
|
+
updateState({
|
|
61
|
+
navController: event.detail.navController,
|
|
62
|
+
popUpManager: event.detail.popUpManager,
|
|
63
|
+
});
|
|
64
|
+
})}
|
|
65
|
+
${listen(ViraPopUpTrigger.events.openChange, (event) => {
|
|
66
|
+
if (!!state.showPopUpResult !== !!event.detail) {
|
|
67
|
+
dispatch(new events.openChange({
|
|
68
|
+
detail: event.detail,
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
updateState({
|
|
72
|
+
showPopUpResult: event.detail,
|
|
73
|
+
});
|
|
74
|
+
})}
|
|
75
|
+
>
|
|
76
|
+
<slot
|
|
77
|
+
name=${slotNames['vira-menu-trigger-trigger']}
|
|
78
|
+
slot=${ViraPopUpTrigger.slotNames['vira-pop-up-trigger-trigger']}
|
|
79
|
+
></slot>
|
|
80
|
+
${state.navController && state.showPopUpResult
|
|
81
|
+
? html `
|
|
82
|
+
<${ViraMenu.assign({
|
|
83
|
+
direction: state.showPopUpResult.popDown
|
|
84
|
+
? ViraMenuPopUpDirection.Downwards
|
|
85
|
+
: ViraMenuPopUpDirection.Upwards,
|
|
86
|
+
cornerStyle: inputs.menuCornerStyle,
|
|
87
|
+
})}
|
|
88
|
+
slot=${ViraPopUpTrigger.slotNames['vira-pop-up-trigger-pop-up']}
|
|
89
|
+
class=${classMap({
|
|
90
|
+
'full-width-menu': inputs.horizontalAnchor === HorizontalAnchor.Both,
|
|
91
|
+
})}
|
|
92
|
+
>
|
|
93
|
+
<slot></slot>
|
|
94
|
+
</${ViraMenu}>
|
|
95
|
+
`
|
|
96
|
+
: nothing}
|
|
97
|
+
</${ViraPopUpTrigger}>
|
|
98
|
+
`;
|
|
99
|
+
},
|
|
100
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
/**
|
|
3
|
+
* Possible corner styles for {@link ViraMenu}.
|
|
4
|
+
*
|
|
5
|
+
* @category Internal
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ViraMenuCornerStyle {
|
|
8
|
+
/** Rounding of corners depends on the open direction of the menu. */
|
|
9
|
+
Directional = "directional",
|
|
10
|
+
/** All of the menus corners should be rounded. */
|
|
11
|
+
AllRounded = "all-rounded",
|
|
12
|
+
/** None of the menus corners should be rounded. */
|
|
13
|
+
AllSquare = "all-square"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Menu pop-up directions available for {@link ViraMenu}.
|
|
17
|
+
*
|
|
18
|
+
* @category Internal
|
|
19
|
+
*/
|
|
20
|
+
export declare enum ViraMenuPopUpDirection {
|
|
21
|
+
Downwards = "downwards",
|
|
22
|
+
Upwards = "upwards"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A simple default style wrapper for pop-up menus. Consider using `renderMenuItemEntries` to help
|
|
26
|
+
* rendering many menu items.
|
|
27
|
+
*
|
|
28
|
+
* @category PopUp
|
|
29
|
+
* @category Elements
|
|
30
|
+
*/
|
|
31
|
+
export declare const ViraMenu: import("element-vir").DeclarativeElementDefinition<"vira-menu", PartialWithUndefined<{
|
|
32
|
+
/** @default PopUpMenuDirection.Downwards */
|
|
33
|
+
direction: ViraMenuPopUpDirection;
|
|
34
|
+
/** @default PopUpMenuCornerStyle.Directional */
|
|
35
|
+
cornerStyle: ViraMenuCornerStyle;
|
|
36
|
+
}>, {}, {}, "vira-menu-open-upwards" | "vira-menu-rounded" | "vira-menu-square", "vira-menu-padding", readonly [], readonly []>;
|
package/{src/elements/pop-up/vira-menu.element.ts → dist/elements/pop-up/vira-menu.element.js}
RENAMED
|
@@ -1,33 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {defineViraElement} from '../../util/define-vira-element.js';
|
|
6
|
-
|
|
1
|
+
import { css, html } from 'element-vir';
|
|
2
|
+
import { viraFormCssVars } from '../../styles/form-styles.js';
|
|
3
|
+
import { viraShadows } from '../../styles/shadows.js';
|
|
4
|
+
import { defineViraElement } from '../../util/define-vira-element.js';
|
|
7
5
|
/**
|
|
8
6
|
* Possible corner styles for {@link ViraMenu}.
|
|
9
7
|
*
|
|
10
8
|
* @category Internal
|
|
11
9
|
*/
|
|
12
|
-
export
|
|
10
|
+
export var ViraMenuCornerStyle;
|
|
11
|
+
(function (ViraMenuCornerStyle) {
|
|
13
12
|
/** Rounding of corners depends on the open direction of the menu. */
|
|
14
|
-
Directional =
|
|
13
|
+
ViraMenuCornerStyle["Directional"] = "directional";
|
|
15
14
|
/** All of the menus corners should be rounded. */
|
|
16
|
-
AllRounded =
|
|
15
|
+
ViraMenuCornerStyle["AllRounded"] = "all-rounded";
|
|
17
16
|
/** None of the menus corners should be rounded. */
|
|
18
|
-
AllSquare =
|
|
19
|
-
}
|
|
20
|
-
|
|
17
|
+
ViraMenuCornerStyle["AllSquare"] = "all-square";
|
|
18
|
+
})(ViraMenuCornerStyle || (ViraMenuCornerStyle = {}));
|
|
21
19
|
/**
|
|
22
20
|
* Menu pop-up directions available for {@link ViraMenu}.
|
|
23
21
|
*
|
|
24
22
|
* @category Internal
|
|
25
23
|
*/
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
export var ViraMenuPopUpDirection;
|
|
25
|
+
(function (ViraMenuPopUpDirection) {
|
|
26
|
+
ViraMenuPopUpDirection["Downwards"] = "downwards";
|
|
27
|
+
ViraMenuPopUpDirection["Upwards"] = "upwards";
|
|
28
|
+
})(ViraMenuPopUpDirection || (ViraMenuPopUpDirection = {}));
|
|
31
29
|
/**
|
|
32
30
|
* A simple default style wrapper for pop-up menus. Consider using `renderMenuItemEntries` to help
|
|
33
31
|
* rendering many menu items.
|
|
@@ -35,25 +33,24 @@ export enum ViraMenuPopUpDirection {
|
|
|
35
33
|
* @category PopUp
|
|
36
34
|
* @category Elements
|
|
37
35
|
*/
|
|
38
|
-
export const ViraMenu = defineViraElement
|
|
39
|
-
PartialWithUndefined<{
|
|
40
|
-
/** @default PopUpMenuDirection.Downwards */
|
|
41
|
-
direction: ViraMenuPopUpDirection;
|
|
42
|
-
/** @default PopUpMenuCornerStyle.Directional */
|
|
43
|
-
cornerStyle: ViraMenuCornerStyle;
|
|
44
|
-
}>
|
|
45
|
-
>()({
|
|
36
|
+
export const ViraMenu = defineViraElement()({
|
|
46
37
|
tagName: 'vira-menu',
|
|
47
38
|
hostClasses: {
|
|
48
|
-
'vira-menu-open-upwards'
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
'vira-menu-open-upwards'({ inputs }) {
|
|
40
|
+
return inputs.direction === ViraMenuPopUpDirection.Upwards;
|
|
41
|
+
},
|
|
42
|
+
'vira-menu-rounded'({ inputs }) {
|
|
43
|
+
return inputs.cornerStyle === ViraMenuCornerStyle.AllRounded;
|
|
44
|
+
},
|
|
45
|
+
'vira-menu-square'({ inputs }) {
|
|
46
|
+
return inputs.cornerStyle === ViraMenuCornerStyle.AllSquare;
|
|
47
|
+
},
|
|
51
48
|
},
|
|
52
49
|
cssVars: {
|
|
53
50
|
'vira-menu-padding': '4px',
|
|
54
51
|
},
|
|
55
|
-
styles
|
|
56
|
-
return css`
|
|
52
|
+
styles({ hostClasses, cssVars }) {
|
|
53
|
+
return css `
|
|
57
54
|
:host {
|
|
58
55
|
display: flex;
|
|
59
56
|
flex-direction: column;
|
|
@@ -88,7 +85,7 @@ export const ViraMenu = defineViraElement<
|
|
|
88
85
|
`;
|
|
89
86
|
},
|
|
90
87
|
render() {
|
|
91
|
-
return html`
|
|
88
|
+
return html `
|
|
92
89
|
<slot> </slot>
|
|
93
90
|
`;
|
|
94
91
|
},
|