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,195 +0,0 @@
|
|
|
1
|
-
import {check} from '@augment-vir/assert';
|
|
2
|
-
import {addSuffix, getObjectTypedValues, type PartialWithUndefined} from '@augment-vir/common';
|
|
3
|
-
import {type FullDate, type Timezone} from 'date-vir';
|
|
4
|
-
import {type HtmlInterpolation} from 'element-vir';
|
|
5
|
-
import {type ViraIconSvg} from '../icons/icon-svg.js';
|
|
6
|
-
import {type ViraSelectOption} from './vira-select-option.js';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Form field types for {@link ViraFormField}.
|
|
10
|
-
*
|
|
11
|
-
* @category Internal
|
|
12
|
-
*/
|
|
13
|
-
export enum ViraFormFieldType {
|
|
14
|
-
Text = 'text',
|
|
15
|
-
/** Allows auto complete for _existing_ passwords used on this website (for login). */
|
|
16
|
-
ExistingPassword = 'existing-password',
|
|
17
|
-
/** Allows auto complete for _new_ passwords used on this website (for login). */
|
|
18
|
-
NewPassword = 'new-password',
|
|
19
|
-
/** Uses a password input without any attributes applied for auto complete hints. */
|
|
20
|
-
PlainPassword = 'plain-password',
|
|
21
|
-
Email = 'email',
|
|
22
|
-
Number = 'number',
|
|
23
|
-
Select = 'select',
|
|
24
|
-
Checkbox = 'checkbox',
|
|
25
|
-
TextArea = 'text-area',
|
|
26
|
-
Date = 'date',
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* {@link ViraFormField} properties that are shared between all field types.
|
|
31
|
-
*
|
|
32
|
-
* @category Internal
|
|
33
|
-
*/
|
|
34
|
-
export type CommonViraFormFields = {
|
|
35
|
-
label: string;
|
|
36
|
-
} & PartialWithUndefined<{
|
|
37
|
-
/** Applies a test id to the form field element. */
|
|
38
|
-
testId: string;
|
|
39
|
-
/**
|
|
40
|
-
* When `true`, visually indicates the form field as required and affects form validation.
|
|
41
|
-
*
|
|
42
|
-
* @default false
|
|
43
|
-
*/
|
|
44
|
-
isRequired: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* When `true`, marks this form field element with error styling.
|
|
47
|
-
*
|
|
48
|
-
* @default false
|
|
49
|
-
*/
|
|
50
|
-
hasError: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* When `true`, hides this form field entirely.
|
|
53
|
-
*
|
|
54
|
-
* @default false
|
|
55
|
-
*/
|
|
56
|
-
isHidden: boolean;
|
|
57
|
-
/**
|
|
58
|
-
* When `true`, continues showing the form field but prevents edits.
|
|
59
|
-
*
|
|
60
|
-
* @default false
|
|
61
|
-
*/
|
|
62
|
-
isDisabled: boolean;
|
|
63
|
-
}>;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* An individual form field for {@link ViraFormFields}.
|
|
67
|
-
*
|
|
68
|
-
* @category Internal
|
|
69
|
-
*/
|
|
70
|
-
export type ViraFormField =
|
|
71
|
-
| ({
|
|
72
|
-
type:
|
|
73
|
-
| ViraFormFieldType.Text
|
|
74
|
-
| ViraFormFieldType.ExistingPassword
|
|
75
|
-
| ViraFormFieldType.NewPassword
|
|
76
|
-
| ViraFormFieldType.PlainPassword
|
|
77
|
-
| ViraFormFieldType.Email;
|
|
78
|
-
value: string | undefined;
|
|
79
|
-
} & PartialWithUndefined<{
|
|
80
|
-
placeholder: string;
|
|
81
|
-
icon: ViraIconSvg;
|
|
82
|
-
isUsername: boolean;
|
|
83
|
-
}> &
|
|
84
|
-
CommonViraFormFields)
|
|
85
|
-
| ({
|
|
86
|
-
type: ViraFormFieldType.Select;
|
|
87
|
-
value: string | undefined;
|
|
88
|
-
options: ReadonlyArray<Readonly<ViraSelectOption>>;
|
|
89
|
-
} & PartialWithUndefined<{
|
|
90
|
-
placeholder: string;
|
|
91
|
-
icon: ViraIconSvg;
|
|
92
|
-
}> &
|
|
93
|
-
CommonViraFormFields)
|
|
94
|
-
| ({
|
|
95
|
-
type: ViraFormFieldType.Checkbox;
|
|
96
|
-
value: boolean | undefined;
|
|
97
|
-
/**
|
|
98
|
-
* Label for the checkbox. Unlike other field types, this accepts arbitrary HTML so the
|
|
99
|
-
* checkbox's label slot can be filled with rich content.
|
|
100
|
-
*/
|
|
101
|
-
label: HtmlInterpolation;
|
|
102
|
-
} & PartialWithUndefined<{
|
|
103
|
-
/** The checkbox will be filled with a form selection color when it is checked. */
|
|
104
|
-
fillWhenChecked: boolean;
|
|
105
|
-
/** The checkbox will be filled with a form error color when it is unchecked. */
|
|
106
|
-
fillWhenUnchecked: boolean;
|
|
107
|
-
}> &
|
|
108
|
-
Omit<CommonViraFormFields, 'label'>)
|
|
109
|
-
| ({
|
|
110
|
-
type: ViraFormFieldType.Number;
|
|
111
|
-
value: number | undefined;
|
|
112
|
-
} & PartialWithUndefined<{
|
|
113
|
-
placeholder: string;
|
|
114
|
-
icon: ViraIconSvg;
|
|
115
|
-
min: number;
|
|
116
|
-
max: number;
|
|
117
|
-
step: number;
|
|
118
|
-
}> &
|
|
119
|
-
CommonViraFormFields)
|
|
120
|
-
| ({
|
|
121
|
-
type: ViraFormFieldType.TextArea;
|
|
122
|
-
value: string | undefined;
|
|
123
|
-
} & PartialWithUndefined<{
|
|
124
|
-
placeholder: string;
|
|
125
|
-
rows: number;
|
|
126
|
-
preventResize: boolean;
|
|
127
|
-
}> &
|
|
128
|
-
CommonViraFormFields)
|
|
129
|
-
| ({
|
|
130
|
-
type: ViraFormFieldType.Date;
|
|
131
|
-
value: FullDate | undefined;
|
|
132
|
-
} & PartialWithUndefined<{
|
|
133
|
-
/** Lower bound for selectable dates. Defaults to `1800-01-01` when omitted. */
|
|
134
|
-
min: FullDate;
|
|
135
|
-
/** Upper bound for selectable dates. Defaults to 10 years from now when omitted. */
|
|
136
|
-
max: FullDate;
|
|
137
|
-
/** Timezone used to interpret the selected date. Defaults to the user's timezone. */
|
|
138
|
-
timezone: Timezone;
|
|
139
|
-
/** Only show the date part of the selected date when in readonly mode. */
|
|
140
|
-
showDateOnly: boolean;
|
|
141
|
-
/** Only show the time part of the selected date when in readonly mode. */
|
|
142
|
-
showTimeOnly: boolean;
|
|
143
|
-
}> &
|
|
144
|
-
CommonViraFormFields);
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* A collection of form fields for `ViraForm`.
|
|
148
|
-
*
|
|
149
|
-
* @category Internal
|
|
150
|
-
*/
|
|
151
|
-
export type ViraFormFields = Record<string, ViraFormField>;
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Appends a `'*'` to a label if it exist sand if it is required.
|
|
155
|
-
*
|
|
156
|
-
* @category Internal
|
|
157
|
-
*/
|
|
158
|
-
export function applyRequiredLabel(
|
|
159
|
-
label: string | undefined,
|
|
160
|
-
isRequired: boolean,
|
|
161
|
-
): string | undefined {
|
|
162
|
-
if (label) {
|
|
163
|
-
if (isRequired) {
|
|
164
|
-
return addSuffix({
|
|
165
|
-
value: label,
|
|
166
|
-
suffix: '*',
|
|
167
|
-
});
|
|
168
|
-
} else {
|
|
169
|
-
return label;
|
|
170
|
-
}
|
|
171
|
-
} else {
|
|
172
|
-
return undefined;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Checks if all the {@link ViraFormField} entries in a given {@link ViraFormFields} are valid through
|
|
178
|
-
* the following checks:
|
|
179
|
-
*
|
|
180
|
-
* - Checks that required fields are provided (not `undefined`)
|
|
181
|
-
* - Ignores hidden fields
|
|
182
|
-
*
|
|
183
|
-
* @category Internal
|
|
184
|
-
*/
|
|
185
|
-
export function areFormFieldsValid(formFields: Readonly<ViraFormFields>) {
|
|
186
|
-
return getObjectTypedValues(formFields).every((formField) => {
|
|
187
|
-
if (formField.isHidden || !formField.isRequired) {
|
|
188
|
-
return true;
|
|
189
|
-
} else if (check.isString(formField.value)) {
|
|
190
|
-
return !!formField.value;
|
|
191
|
-
} else {
|
|
192
|
-
return formField.value != undefined;
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import {assert} from '@augment-vir/assert';
|
|
2
|
-
import {type MaybePromise, type PartialWithUndefined} from '@augment-vir/common';
|
|
3
|
-
import {LocalStorageClient} from '@electrovir/local-storage-client';
|
|
4
|
-
import {defineShape, enumShape} from 'object-shape-tester';
|
|
5
|
-
import {applyColorThemeViaStyleElement} from 'theme-vir/dist/color-theme/apply-color-theme.js';
|
|
6
|
-
import {listenTo} from 'typed-event-target';
|
|
7
|
-
import {viraTheme, viraThemeDarkOverride} from '../styles/vira-color-theme.js';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* A user-facing selection of which theme to display. `Auto` follows the system color scheme; the
|
|
11
|
-
* other values force a specific theme regardless of system preference.
|
|
12
|
-
*
|
|
13
|
-
* @category Internal
|
|
14
|
-
*/
|
|
15
|
-
export enum ViraThemeSelection {
|
|
16
|
-
Light = 'light',
|
|
17
|
-
Dark = 'dark',
|
|
18
|
-
Auto = 'auto',
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Used by {@link ViraThemeClient} to apply themes. By default, vira themes will be applied (via
|
|
23
|
-
* {@link defaultApplyThemeCallback}).
|
|
24
|
-
*
|
|
25
|
-
* @category Internal
|
|
26
|
-
* @default `defaultApplyThemeCallback`
|
|
27
|
-
*/
|
|
28
|
-
export type ApplyThemeCallback = (params: Readonly<{useDarkTheme: boolean}>) => MaybePromise<void>;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Default implementation of {@link ApplyThemeCallback}, which simply applies Vira themes.
|
|
32
|
-
*
|
|
33
|
-
* @category Internal
|
|
34
|
-
*/
|
|
35
|
-
export const defaultApplyThemeCallback: ApplyThemeCallback = ({useDarkTheme}) => {
|
|
36
|
-
applyColorThemeViaStyleElement(viraTheme, useDarkTheme ? viraThemeDarkOverride : undefined);
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Constructor params for {@link ViraThemeClient}.
|
|
41
|
-
*
|
|
42
|
-
* @category Internal
|
|
43
|
-
*/
|
|
44
|
-
export type ViraThemeClientParams = PartialWithUndefined<{
|
|
45
|
-
/**
|
|
46
|
-
* Called whenever the effective theme should change. If not provided, the default Vira themes
|
|
47
|
-
* will be used.
|
|
48
|
-
*/
|
|
49
|
-
applyTheme: ApplyThemeCallback;
|
|
50
|
-
/**
|
|
51
|
-
* Override the LocalStorage store name used for theme persistence. Useful if a single page
|
|
52
|
-
* hosts multiple isolated theme clients.
|
|
53
|
-
*
|
|
54
|
-
* @default 'vira-theme'
|
|
55
|
-
*/
|
|
56
|
-
storeName: string;
|
|
57
|
-
}>;
|
|
58
|
-
|
|
59
|
-
const darkSchemeMediaQuery = '(prefers-color-scheme: dark)';
|
|
60
|
-
|
|
61
|
-
const themeStorageShapes = {
|
|
62
|
-
selectedTheme: defineShape({
|
|
63
|
-
theme: enumShape(ViraThemeSelection),
|
|
64
|
-
}),
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Tracks the user's {@link ViraThemeSelection} and bridges it to a consumer-supplied `applyTheme`
|
|
69
|
-
* callback. Persists the selection in LocalStorage via an internal `LocalStorageClient`, and
|
|
70
|
-
* listens for system color-scheme changes to re-apply the theme in auto mode without persisting.
|
|
71
|
-
*
|
|
72
|
-
* The initial theme is applied during construction.
|
|
73
|
-
*
|
|
74
|
-
* @category Util
|
|
75
|
-
*/
|
|
76
|
-
export class ViraThemeClient {
|
|
77
|
-
/** The callback that will be called to apply a new theme. */
|
|
78
|
-
protected readonly applyThemeCallback: ApplyThemeCallback = defaultApplyThemeCallback;
|
|
79
|
-
/** Contains the user's last selected theme, saving and loading it to disk for persistence. */
|
|
80
|
-
protected readonly localStorageClient: LocalStorageClient<typeof themeStorageShapes>;
|
|
81
|
-
/** A callback to remove the global theme preference listener. */
|
|
82
|
-
protected readonly removeThemePreferenceListener = listenTo(
|
|
83
|
-
globalThis.matchMedia(darkSchemeMediaQuery),
|
|
84
|
-
'change',
|
|
85
|
-
(event) => {
|
|
86
|
-
assert.instanceOf(event, MediaQueryListEvent);
|
|
87
|
-
|
|
88
|
-
if (this.currentTheme === ViraThemeSelection.Auto) {
|
|
89
|
-
void this.applyThemeCallback({
|
|
90
|
-
useDarkTheme: event.matches,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
constructor(params: Readonly<ViraThemeClientParams> = {}) {
|
|
97
|
-
if (params.applyTheme) {
|
|
98
|
-
this.applyThemeCallback = params.applyTheme;
|
|
99
|
-
}
|
|
100
|
-
this.localStorageClient = new LocalStorageClient(themeStorageShapes, {
|
|
101
|
-
storeName: params.storeName || 'vira-theme',
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
this.applySelection(this.currentTheme);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* The currently selected theme. If you use multiple clients to set the same theme, this might
|
|
109
|
-
* get out of sync.
|
|
110
|
-
*/
|
|
111
|
-
public get currentTheme(): ViraThemeSelection {
|
|
112
|
-
return this.localStorageClient.get.selectedTheme()?.theme || ViraThemeSelection.Auto;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/** Set the selected theme. */
|
|
116
|
-
public setSelectedTheme(selection: ViraThemeSelection): void {
|
|
117
|
-
this.applySelection(selection);
|
|
118
|
-
this.localStorageClient.set.selectedTheme({
|
|
119
|
-
theme: selection,
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/** Cleanup internal state and listeners. */
|
|
124
|
-
public destroy(): void {
|
|
125
|
-
this.removeThemePreferenceListener();
|
|
126
|
-
this.localStorageClient.destroy();
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/** Apply the currently selected theme. */
|
|
130
|
-
protected applySelection(selection: ViraThemeSelection): void {
|
|
131
|
-
const useDarkTheme =
|
|
132
|
-
selection === ViraThemeSelection.Dark ||
|
|
133
|
-
(selection === ViraThemeSelection.Auto &&
|
|
134
|
-
globalThis.matchMedia(darkSchemeMediaQuery).matches);
|
|
135
|
-
|
|
136
|
-
void this.applyThemeCallback({
|
|
137
|
-
useDarkTheme,
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|