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,67 +1,65 @@
|
|
|
1
|
-
import {Check16Icon} from './icon-svgs/16/check-16.icon.js';
|
|
2
|
-
import {ChevronDown16Icon} from './icon-svgs/16/chevron-down-16.icon.js';
|
|
3
|
-
import {ChevronUp16Icon} from './icon-svgs/16/chevron-up-16.icon.js';
|
|
4
|
-
import {Dash16Icon} from './icon-svgs/16/dash-16.icon.js';
|
|
5
|
-
import {Element16Icon} from './icon-svgs/16/element-16.icon.js';
|
|
6
|
-
import {Plus16Icon} from './icon-svgs/16/plus-16.icon.js';
|
|
7
|
-
import {Upload16Icon} from './icon-svgs/16/upload-16.icon.js';
|
|
8
|
-
import {X16Icon} from './icon-svgs/16/x-16.icon.js';
|
|
9
|
-
import {ArrowDown24Icon} from './icon-svgs/24/arrow-down-24.icon.js';
|
|
10
|
-
import {ArrowLeft24Icon} from './icon-svgs/24/arrow-left-24.icon.js';
|
|
11
|
-
import {ArrowRight24Icon} from './icon-svgs/24/arrow-right-24.icon.js';
|
|
12
|
-
import {ArrowUp24Icon} from './icon-svgs/24/arrow-up-24.icon.js';
|
|
13
|
-
import {AutoTheme24Icon} from './icon-svgs/24/auto-theme-24.icon.js';
|
|
14
|
-
import {Bell24Icon} from './icon-svgs/24/bell-24.icon.js';
|
|
15
|
-
import {Chat24Icon} from './icon-svgs/24/chat-24.icon.js';
|
|
16
|
-
import {Check24Icon} from './icon-svgs/24/check-24.icon.js';
|
|
17
|
-
import {ChevronDown24Icon} from './icon-svgs/24/chevron-down-24.icon.js';
|
|
18
|
-
import {ChevronUp24Icon} from './icon-svgs/24/chevron-up-24.icon.js';
|
|
19
|
-
import {CloseX24Icon} from './icon-svgs/24/close-x-24.icon.js';
|
|
20
|
-
import {Commit24Icon} from './icon-svgs/24/commit-24.icon.js';
|
|
21
|
-
import {Copy24Icon} from './icon-svgs/24/copy-24.icon.js';
|
|
22
|
-
import {Document24Icon} from './icon-svgs/24/document-24.icon.js';
|
|
23
|
-
import {DocumentSearch24Icon} from './icon-svgs/24/document-search-24.icon.js';
|
|
24
|
-
import {DoubleChevron24Icon} from './icon-svgs/24/double-chevron-24.icon.js';
|
|
25
|
-
import {Element24Icon} from './icon-svgs/24/element-24.icon.js';
|
|
26
|
-
import {ExternalLink24Icon} from './icon-svgs/24/external-link-24.icon.js';
|
|
27
|
-
import {EyeClosed24Icon} from './icon-svgs/24/eye-closed-24.icon.js';
|
|
28
|
-
import {EyeOpen24Icon} from './icon-svgs/24/eye-open-24.icon.js';
|
|
29
|
-
import {Filter24Icon} from './icon-svgs/24/filter-24.icon.js';
|
|
30
|
-
import {Globe24Icon} from './icon-svgs/24/globe-24.icon.js';
|
|
31
|
-
import {Link24Icon} from './icon-svgs/24/link-24.icon.js';
|
|
32
|
-
import {Loader24Icon} from './icon-svgs/24/loader-24.icon.js';
|
|
33
|
-
import {LoaderAnimated24Icon} from './icon-svgs/24/loader-animated-24.icon.js';
|
|
34
|
-
import {Lock24Icon} from './icon-svgs/24/lock-24.icon.js';
|
|
35
|
-
import {MagnifyingGlass24Icon} from './icon-svgs/24/magnifying-glass-24.icon.js';
|
|
36
|
-
import {Moon24Icon} from './icon-svgs/24/moon-24.icon.js';
|
|
37
|
-
import {Options24Icon} from './icon-svgs/24/options-24.icon.js';
|
|
38
|
-
import {Pencil24Icon} from './icon-svgs/24/pencil-24.icon.js';
|
|
39
|
-
import {Plus24Icon} from './icon-svgs/24/plus-24.icon.js';
|
|
40
|
-
import {Printer24Icon} from './icon-svgs/24/printer-24.icon.js';
|
|
41
|
-
import {Shield24Icon} from './icon-svgs/24/shield-24.icon.js';
|
|
42
|
-
import {SortAscending24Icon} from './icon-svgs/24/sort-ascending-24.icon.js';
|
|
43
|
-
import {SortDescending24Icon} from './icon-svgs/24/sort-descending-24.icon.js';
|
|
44
|
-
import {Sparkle24Icon} from './icon-svgs/24/sparkle-24.icon.js';
|
|
45
|
-
import {SpeakerLoud24Icon} from './icon-svgs/24/speaker-loud-24.icon.js';
|
|
46
|
-
import {SpeakerMedium24Icon} from './icon-svgs/24/speaker-medium-24.icon.js';
|
|
47
|
-
import {SpeakerMuted24Icon} from './icon-svgs/24/speaker-muted-24.icon.js';
|
|
48
|
-
import {SpeakerQuiet24Icon} from './icon-svgs/24/speaker-quiet-24.icon.js';
|
|
49
|
-
import {Star24Icon} from './icon-svgs/24/star-24.icon.js';
|
|
50
|
-
import {StatusFailure24Icon} from './icon-svgs/24/status-failure-24.icon.js';
|
|
51
|
-
import {StatusInProgress24Icon} from './icon-svgs/24/status-in-progress-24.icon.js';
|
|
52
|
-
import {StatusSuccess24Icon} from './icon-svgs/24/status-success-24.icon.js';
|
|
53
|
-
import {StatusUnknown24Icon} from './icon-svgs/24/status-unknown-24.icon.js';
|
|
54
|
-
import {StatusWarning24Icon} from './icon-svgs/24/status-warning-24.icon.js';
|
|
55
|
-
import {Sun24Icon} from './icon-svgs/24/sun-24.icon.js';
|
|
56
|
-
import {Upload24Icon} from './icon-svgs/24/upload-24.icon.js';
|
|
57
|
-
import {X24Icon} from './icon-svgs/24/x-24.icon.js';
|
|
58
|
-
|
|
1
|
+
import { Check16Icon } from './icon-svgs/16/check-16.icon.js';
|
|
2
|
+
import { ChevronDown16Icon } from './icon-svgs/16/chevron-down-16.icon.js';
|
|
3
|
+
import { ChevronUp16Icon } from './icon-svgs/16/chevron-up-16.icon.js';
|
|
4
|
+
import { Dash16Icon } from './icon-svgs/16/dash-16.icon.js';
|
|
5
|
+
import { Element16Icon } from './icon-svgs/16/element-16.icon.js';
|
|
6
|
+
import { Plus16Icon } from './icon-svgs/16/plus-16.icon.js';
|
|
7
|
+
import { Upload16Icon } from './icon-svgs/16/upload-16.icon.js';
|
|
8
|
+
import { X16Icon } from './icon-svgs/16/x-16.icon.js';
|
|
9
|
+
import { ArrowDown24Icon } from './icon-svgs/24/arrow-down-24.icon.js';
|
|
10
|
+
import { ArrowLeft24Icon } from './icon-svgs/24/arrow-left-24.icon.js';
|
|
11
|
+
import { ArrowRight24Icon } from './icon-svgs/24/arrow-right-24.icon.js';
|
|
12
|
+
import { ArrowUp24Icon } from './icon-svgs/24/arrow-up-24.icon.js';
|
|
13
|
+
import { AutoTheme24Icon } from './icon-svgs/24/auto-theme-24.icon.js';
|
|
14
|
+
import { Bell24Icon } from './icon-svgs/24/bell-24.icon.js';
|
|
15
|
+
import { Chat24Icon } from './icon-svgs/24/chat-24.icon.js';
|
|
16
|
+
import { Check24Icon } from './icon-svgs/24/check-24.icon.js';
|
|
17
|
+
import { ChevronDown24Icon } from './icon-svgs/24/chevron-down-24.icon.js';
|
|
18
|
+
import { ChevronUp24Icon } from './icon-svgs/24/chevron-up-24.icon.js';
|
|
19
|
+
import { CloseX24Icon } from './icon-svgs/24/close-x-24.icon.js';
|
|
20
|
+
import { Commit24Icon } from './icon-svgs/24/commit-24.icon.js';
|
|
21
|
+
import { Copy24Icon } from './icon-svgs/24/copy-24.icon.js';
|
|
22
|
+
import { Document24Icon } from './icon-svgs/24/document-24.icon.js';
|
|
23
|
+
import { DocumentSearch24Icon } from './icon-svgs/24/document-search-24.icon.js';
|
|
24
|
+
import { DoubleChevron24Icon } from './icon-svgs/24/double-chevron-24.icon.js';
|
|
25
|
+
import { Element24Icon } from './icon-svgs/24/element-24.icon.js';
|
|
26
|
+
import { ExternalLink24Icon } from './icon-svgs/24/external-link-24.icon.js';
|
|
27
|
+
import { EyeClosed24Icon } from './icon-svgs/24/eye-closed-24.icon.js';
|
|
28
|
+
import { EyeOpen24Icon } from './icon-svgs/24/eye-open-24.icon.js';
|
|
29
|
+
import { Filter24Icon } from './icon-svgs/24/filter-24.icon.js';
|
|
30
|
+
import { Globe24Icon } from './icon-svgs/24/globe-24.icon.js';
|
|
31
|
+
import { Link24Icon } from './icon-svgs/24/link-24.icon.js';
|
|
32
|
+
import { Loader24Icon } from './icon-svgs/24/loader-24.icon.js';
|
|
33
|
+
import { LoaderAnimated24Icon } from './icon-svgs/24/loader-animated-24.icon.js';
|
|
34
|
+
import { Lock24Icon } from './icon-svgs/24/lock-24.icon.js';
|
|
35
|
+
import { MagnifyingGlass24Icon } from './icon-svgs/24/magnifying-glass-24.icon.js';
|
|
36
|
+
import { Moon24Icon } from './icon-svgs/24/moon-24.icon.js';
|
|
37
|
+
import { Options24Icon } from './icon-svgs/24/options-24.icon.js';
|
|
38
|
+
import { Pencil24Icon } from './icon-svgs/24/pencil-24.icon.js';
|
|
39
|
+
import { Plus24Icon } from './icon-svgs/24/plus-24.icon.js';
|
|
40
|
+
import { Printer24Icon } from './icon-svgs/24/printer-24.icon.js';
|
|
41
|
+
import { Shield24Icon } from './icon-svgs/24/shield-24.icon.js';
|
|
42
|
+
import { SortAscending24Icon } from './icon-svgs/24/sort-ascending-24.icon.js';
|
|
43
|
+
import { SortDescending24Icon } from './icon-svgs/24/sort-descending-24.icon.js';
|
|
44
|
+
import { Sparkle24Icon } from './icon-svgs/24/sparkle-24.icon.js';
|
|
45
|
+
import { SpeakerLoud24Icon } from './icon-svgs/24/speaker-loud-24.icon.js';
|
|
46
|
+
import { SpeakerMedium24Icon } from './icon-svgs/24/speaker-medium-24.icon.js';
|
|
47
|
+
import { SpeakerMuted24Icon } from './icon-svgs/24/speaker-muted-24.icon.js';
|
|
48
|
+
import { SpeakerQuiet24Icon } from './icon-svgs/24/speaker-quiet-24.icon.js';
|
|
49
|
+
import { Star24Icon } from './icon-svgs/24/star-24.icon.js';
|
|
50
|
+
import { StatusFailure24Icon } from './icon-svgs/24/status-failure-24.icon.js';
|
|
51
|
+
import { StatusInProgress24Icon } from './icon-svgs/24/status-in-progress-24.icon.js';
|
|
52
|
+
import { StatusSuccess24Icon } from './icon-svgs/24/status-success-24.icon.js';
|
|
53
|
+
import { StatusUnknown24Icon } from './icon-svgs/24/status-unknown-24.icon.js';
|
|
54
|
+
import { StatusWarning24Icon } from './icon-svgs/24/status-warning-24.icon.js';
|
|
55
|
+
import { Sun24Icon } from './icon-svgs/24/sun-24.icon.js';
|
|
56
|
+
import { Upload24Icon } from './icon-svgs/24/upload-24.icon.js';
|
|
57
|
+
import { X24Icon } from './icon-svgs/24/x-24.icon.js';
|
|
59
58
|
export * from './colored-icon.js';
|
|
60
59
|
export * from './icon-css-vars.js';
|
|
61
60
|
export * from './icon-svg.js';
|
|
62
61
|
export * from './lucide-icons.js';
|
|
63
62
|
export * from './sized-icon.js';
|
|
64
|
-
|
|
65
63
|
export * from './icon-svgs/16/check-16.icon.js';
|
|
66
64
|
export * from './icon-svgs/16/chevron-down-16.icon.js';
|
|
67
65
|
export * from './icon-svgs/16/chevron-up-16.icon.js';
|
|
@@ -119,7 +117,6 @@ export * from './icon-svgs/24/status-warning-24.icon.js';
|
|
|
119
117
|
export * from './icon-svgs/24/sun-24.icon.js';
|
|
120
118
|
export * from './icon-svgs/24/upload-24.icon.js';
|
|
121
119
|
export * from './icon-svgs/24/x-24.icon.js';
|
|
122
|
-
|
|
123
120
|
/**
|
|
124
121
|
* All icons within vira by name.
|
|
125
122
|
*
|
|
@@ -183,8 +180,7 @@ export const allIconsByName = {
|
|
|
183
180
|
Upload24Icon,
|
|
184
181
|
X16Icon,
|
|
185
182
|
X24Icon,
|
|
186
|
-
}
|
|
187
|
-
|
|
183
|
+
};
|
|
188
184
|
/**
|
|
189
185
|
* All 24px icons within vira by name.
|
|
190
186
|
*
|
|
@@ -240,8 +236,7 @@ export const all24IconsByName = {
|
|
|
240
236
|
Sun24Icon,
|
|
241
237
|
Upload24Icon,
|
|
242
238
|
X24Icon,
|
|
243
|
-
}
|
|
244
|
-
|
|
239
|
+
};
|
|
245
240
|
/**
|
|
246
241
|
* All 16px icons within vira by name.
|
|
247
242
|
*
|
|
@@ -256,4 +251,4 @@ export const all16IconsByName = {
|
|
|
256
251
|
Plus16Icon,
|
|
257
252
|
Upload16Icon,
|
|
258
253
|
X16Icon,
|
|
259
|
-
}
|
|
254
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as lucideStaticImport from 'lucide-static';
|
|
2
|
+
import { type ViraIconSvg } from './icon-svg.js';
|
|
3
|
+
/**
|
|
4
|
+
* All supported Lucide icon names.
|
|
5
|
+
*
|
|
6
|
+
* @category Internal
|
|
7
|
+
*/
|
|
8
|
+
export type LucideIconKey = keyof typeof lucideStaticImport;
|
|
9
|
+
/**
|
|
10
|
+
* All [Lucide icons](https://lucide.dev) in a format compatible with `ViraIcon`. Each icon entry
|
|
11
|
+
* can be accessed directly as a {@link ViraIconSvg}.
|
|
12
|
+
*
|
|
13
|
+
* @category Icon
|
|
14
|
+
*/
|
|
15
|
+
export declare const lucideIcons: Readonly<Record<LucideIconKey, ViraIconSvg>>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { html, unsafeHTML } from 'element-vir';
|
|
2
|
+
import * as lucideStaticImport from 'lucide-static';
|
|
3
|
+
import { viraIconCssVars } from './icon-css-vars.js';
|
|
4
|
+
const defaultLucideAttributes = {
|
|
5
|
+
fill: String(viraIconCssVars['vira-icon-fill-color'].value),
|
|
6
|
+
stroke: String(viraIconCssVars['vira-icon-stroke-color'].value),
|
|
7
|
+
'stroke-width': String(viraIconCssVars['vira-icon-stroke-width'].value),
|
|
8
|
+
};
|
|
9
|
+
function setSvgAttribute({ svgString, attributeName, value, }) {
|
|
10
|
+
const escapedName = attributeName.replace(/[.*+?^${}()|[\]\\]/g, String.raw `\$&`);
|
|
11
|
+
const regex = new RegExp(String.raw `(\s)${escapedName}="[^"]*"`);
|
|
12
|
+
return regex.test(svgString)
|
|
13
|
+
? svgString.replace(regex, `$1${attributeName}="${value}"`)
|
|
14
|
+
: svgString.replace(/<svg\b/, `<svg ${attributeName}="${value}"`);
|
|
15
|
+
}
|
|
16
|
+
function applySvgAttributes(svgString, attributes) {
|
|
17
|
+
return Object.entries(attributes).reduce((result, [key, value,]) => {
|
|
18
|
+
return setSvgAttribute({
|
|
19
|
+
svgString: result,
|
|
20
|
+
attributeName: key,
|
|
21
|
+
value,
|
|
22
|
+
});
|
|
23
|
+
}, svgString);
|
|
24
|
+
}
|
|
25
|
+
function isLucideIconKey(key) {
|
|
26
|
+
return key in lucideStaticImport;
|
|
27
|
+
}
|
|
28
|
+
function getLucideIconSvg(key) {
|
|
29
|
+
const svg = lucideStaticImport[key];
|
|
30
|
+
if (typeof svg !== 'string') {
|
|
31
|
+
throw new TypeError(`Lucide icon "${key}" is not a valid SVG string.`);
|
|
32
|
+
}
|
|
33
|
+
return svg;
|
|
34
|
+
}
|
|
35
|
+
function createLucideIconEntry(iconKey) {
|
|
36
|
+
return {
|
|
37
|
+
name: iconKey,
|
|
38
|
+
svgTemplate: html `
|
|
39
|
+
${unsafeHTML(applySvgAttributes(getLucideIconSvg(iconKey), defaultLucideAttributes))}
|
|
40
|
+
`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const lucideIconCache = new Map();
|
|
44
|
+
/**
|
|
45
|
+
* All [Lucide icons](https://lucide.dev) in a format compatible with `ViraIcon`. Each icon entry
|
|
46
|
+
* can be accessed directly as a {@link ViraIconSvg}.
|
|
47
|
+
*
|
|
48
|
+
* @category Icon
|
|
49
|
+
*/
|
|
50
|
+
export const lucideIcons = new Proxy({}, {
|
|
51
|
+
get(_target, property) {
|
|
52
|
+
if (!isLucideIconKey(property)) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
const cached = lucideIconCache.get(property);
|
|
56
|
+
if (cached) {
|
|
57
|
+
return cached;
|
|
58
|
+
}
|
|
59
|
+
const entry = createLucideIconEntry(property);
|
|
60
|
+
lucideIconCache.set(property, entry);
|
|
61
|
+
return entry;
|
|
62
|
+
},
|
|
63
|
+
has(_target, property) {
|
|
64
|
+
return isLucideIconKey(property);
|
|
65
|
+
},
|
|
66
|
+
ownKeys() {
|
|
67
|
+
return Object.keys(lucideStaticImport);
|
|
68
|
+
},
|
|
69
|
+
getOwnPropertyDescriptor(_target, property) {
|
|
70
|
+
if (isLucideIconKey(property)) {
|
|
71
|
+
return {
|
|
72
|
+
configurable: true,
|
|
73
|
+
enumerable: true,
|
|
74
|
+
writable: false,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
},
|
|
79
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ViraIconSvg } from './icon-svg.js';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps an existing icon with explicit dimensions and outputs another icon that can be used
|
|
4
|
+
* anywhere the original icon can be used.
|
|
5
|
+
*
|
|
6
|
+
* @category Icon
|
|
7
|
+
*/
|
|
8
|
+
export declare function createSizedIcon(icon: Readonly<ViraIconSvg>, size: number): ViraIconSvg;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {type ViraIconSvg} from './icon-svg.js';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Wraps an existing icon with explicit dimensions and outputs another icon that can be used
|
|
5
3
|
* anywhere the original icon can be used.
|
|
6
4
|
*
|
|
7
5
|
* @category Icon
|
|
8
6
|
*/
|
|
9
|
-
export function createSizedIcon(icon
|
|
7
|
+
export function createSizedIcon(icon, size) {
|
|
10
8
|
return {
|
|
11
9
|
...icon,
|
|
12
10
|
size,
|
package/dist/index.js
ADDED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {css} from 'element-vir';
|
|
2
|
-
|
|
1
|
+
import { css } from 'element-vir';
|
|
3
2
|
/**
|
|
4
3
|
* A chunk of CSS that styles an element with Vira's default disabled styles.
|
|
5
4
|
*
|
|
6
5
|
* @category Styles
|
|
7
6
|
*/
|
|
8
|
-
export const viraDisabledStyles = css`
|
|
7
|
+
export const viraDisabledStyles = css `
|
|
9
8
|
pointer-events: none;
|
|
10
9
|
opacity: 0.3;
|
|
11
10
|
cursor: not-allowed;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS vars for animation or transition durations from Vira.
|
|
3
|
+
*
|
|
4
|
+
* @category Styles
|
|
5
|
+
* @category CSS Vars
|
|
6
|
+
*/
|
|
7
|
+
export declare const viraAnimationDurations: import("lit-css-vars").CssVarDefinitions<{
|
|
8
|
+
/**
|
|
9
|
+
* A longer duration used to show a full animation. Use this sparingly; make sure to not block
|
|
10
|
+
* any user input with this animation.
|
|
11
|
+
*/
|
|
12
|
+
readonly 'vira-extended-animation-duration': "1.2s";
|
|
13
|
+
/** A longer duration used to emphasize the animation without totally aggravating a user. */
|
|
14
|
+
readonly 'vira-pretty-animation-duration': "300ms";
|
|
15
|
+
/**
|
|
16
|
+
* A short duration used for user interactions. This duration is very short to ensure snappy
|
|
17
|
+
* responses to user interactions.
|
|
18
|
+
*
|
|
19
|
+
* The default duration of 84ms gives us 5 frames on a 60Hz screen.
|
|
20
|
+
*/
|
|
21
|
+
readonly 'vira-interaction-animation-duration': "84ms";
|
|
22
|
+
}>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
import { type CSSResult } from 'element-vir';
|
|
3
|
+
import { type SingleCssVarDefinition } from 'lit-css-vars';
|
|
4
|
+
/**
|
|
5
|
+
* Create styles that look like an outline for the given selector.
|
|
6
|
+
*
|
|
7
|
+
* It is recommended to use the pseudo selector chain ":focus:focus-visible:not(:active)" to
|
|
8
|
+
* preventing clicking an element from creating focus styles in Chrome.
|
|
9
|
+
*
|
|
10
|
+
* @category Styles
|
|
11
|
+
*/
|
|
12
|
+
export declare function createFocusStyles({ elementBorderSize, outlineGap, outlineWidth, noNesting, outlineColor, borderRadius, renderInside, }?: PartialWithUndefined<{
|
|
13
|
+
/**
|
|
14
|
+
* ElementBorderSize here is used to fix the outline when the element these styles are attached
|
|
15
|
+
* to has a border. The dev must specify that border size here for the offsets to be calculated
|
|
16
|
+
* correctly.
|
|
17
|
+
*/
|
|
18
|
+
elementBorderSize: SingleCssVarDefinition | string;
|
|
19
|
+
outlineGap: SingleCssVarDefinition | string;
|
|
20
|
+
outlineWidth: SingleCssVarDefinition | string;
|
|
21
|
+
borderRadius: SingleCssVarDefinition | string;
|
|
22
|
+
outlineColor: SingleCssVarDefinition | string;
|
|
23
|
+
noNesting: boolean;
|
|
24
|
+
/** Render the focus outline inside the element instead of outside. */
|
|
25
|
+
renderInside: boolean;
|
|
26
|
+
}>): CSSResult;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import {check} from '@augment-vir/assert';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import {viraFormCssVars} from './form-styles.js';
|
|
6
|
-
|
|
7
|
-
function cssValueOrRaw(value: string | SingleCssVarDefinition): CSSResult {
|
|
1
|
+
import { check } from '@augment-vir/assert';
|
|
2
|
+
import { css, unsafeCSS } from 'element-vir';
|
|
3
|
+
import { viraFormCssVars } from './form-styles.js';
|
|
4
|
+
function cssValueOrRaw(value) {
|
|
8
5
|
if (check.isString(value)) {
|
|
9
6
|
return unsafeCSS(value);
|
|
10
|
-
}
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
11
9
|
return value.value;
|
|
12
10
|
}
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
/**
|
|
16
13
|
* Create styles that look like an outline for the given selector.
|
|
17
14
|
*
|
|
@@ -20,34 +17,11 @@ function cssValueOrRaw(value: string | SingleCssVarDefinition): CSSResult {
|
|
|
20
17
|
*
|
|
21
18
|
* @category Styles
|
|
22
19
|
*/
|
|
23
|
-
export function createFocusStyles({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
outlineWidth = '2px',
|
|
27
|
-
noNesting,
|
|
28
|
-
outlineColor = viraFormCssVars['vira-form-focus-outline-color'],
|
|
29
|
-
borderRadius = viraFormCssVars['vira-form-focus-outline-border-radius'],
|
|
30
|
-
renderInside,
|
|
31
|
-
}: PartialWithUndefined<{
|
|
32
|
-
/**
|
|
33
|
-
* ElementBorderSize here is used to fix the outline when the element these styles are attached
|
|
34
|
-
* to has a border. The dev must specify that border size here for the offsets to be calculated
|
|
35
|
-
* correctly.
|
|
36
|
-
*/
|
|
37
|
-
elementBorderSize: SingleCssVarDefinition | string;
|
|
38
|
-
outlineGap: SingleCssVarDefinition | string;
|
|
39
|
-
outlineWidth: SingleCssVarDefinition | string;
|
|
40
|
-
borderRadius: SingleCssVarDefinition | string;
|
|
41
|
-
outlineColor: SingleCssVarDefinition | string;
|
|
42
|
-
noNesting: boolean;
|
|
43
|
-
/** Render the focus outline inside the element instead of outside. */
|
|
44
|
-
renderInside: boolean;
|
|
45
|
-
}> = {}) {
|
|
46
|
-
const insetSpacing = css`calc(${cssValueOrRaw(outlineGap)})`;
|
|
47
|
-
const outsetSpacing = css`calc(${cssValueOrRaw(outlineWidth)} + ${cssValueOrRaw(outlineGap)} + ${cssValueOrRaw(elementBorderSize)})`;
|
|
48
|
-
|
|
20
|
+
export function createFocusStyles({ elementBorderSize = '1px', outlineGap = '2px', outlineWidth = '2px', noNesting, outlineColor = viraFormCssVars['vira-form-focus-outline-color'], borderRadius = viraFormCssVars['vira-form-focus-outline-border-radius'], renderInside, } = {}) {
|
|
21
|
+
const insetSpacing = css `calc(${cssValueOrRaw(outlineGap)})`;
|
|
22
|
+
const outsetSpacing = css `calc(${cssValueOrRaw(outlineWidth)} + ${cssValueOrRaw(outlineGap)} + ${cssValueOrRaw(elementBorderSize)})`;
|
|
49
23
|
const styles = renderInside
|
|
50
|
-
? css`
|
|
24
|
+
? css `
|
|
51
25
|
content: '';
|
|
52
26
|
top: ${insetSpacing};
|
|
53
27
|
left: ${insetSpacing};
|
|
@@ -60,7 +34,7 @@ export function createFocusStyles({
|
|
|
60
34
|
border-radius: ${cssValueOrRaw(borderRadius)};
|
|
61
35
|
z-index: 100;
|
|
62
36
|
`
|
|
63
|
-
: css`
|
|
37
|
+
: css `
|
|
64
38
|
content: '';
|
|
65
39
|
top: calc(${outsetSpacing} * -1);
|
|
66
40
|
left: calc(${outsetSpacing} * -1);
|
|
@@ -73,12 +47,10 @@ export function createFocusStyles({
|
|
|
73
47
|
border-radius: ${cssValueOrRaw(borderRadius)};
|
|
74
48
|
z-index: 100;
|
|
75
49
|
`;
|
|
76
|
-
|
|
77
50
|
if (noNesting) {
|
|
78
51
|
return styles;
|
|
79
52
|
}
|
|
80
|
-
|
|
81
|
-
return css`
|
|
53
|
+
return css `
|
|
82
54
|
outline: none;
|
|
83
55
|
|
|
84
56
|
&:focus {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this to set font values so they can be controlled via CSS vars.
|
|
3
|
+
*
|
|
4
|
+
* @category CSS Vars
|
|
5
|
+
* @category Styles
|
|
6
|
+
*/
|
|
7
|
+
export declare const viraFontCssVars: import("lit-css-vars").CssVarDefinitions<{
|
|
8
|
+
readonly 'vira-monospace': "monospace";
|
|
9
|
+
readonly 'vira-font-weight-normal': "normal";
|
|
10
|
+
readonly 'vira-font-weight-medium': "500";
|
|
11
|
+
readonly 'vira-font-weight-bold': "600";
|
|
12
|
+
}>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {defineCssVars} from 'lit-css-vars';
|
|
2
|
-
|
|
1
|
+
import { defineCssVars } from 'lit-css-vars';
|
|
3
2
|
/**
|
|
4
3
|
* Use this to set font values so they can be controlled via CSS vars.
|
|
5
4
|
*
|
|
@@ -8,7 +7,6 @@ import {defineCssVars} from 'lit-css-vars';
|
|
|
8
7
|
*/
|
|
9
8
|
export const viraFontCssVars = defineCssVars({
|
|
10
9
|
'vira-monospace': 'monospace',
|
|
11
|
-
|
|
12
10
|
'vira-font-weight-normal': 'normal',
|
|
13
11
|
'vira-font-weight-medium': '500',
|
|
14
12
|
'vira-font-weight-bold': '600',
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS vars for vira form elements.
|
|
3
|
+
*
|
|
4
|
+
* @category CSS Vars
|
|
5
|
+
* @category Styles
|
|
6
|
+
*/
|
|
7
|
+
export declare const viraFormCssVars: import("lit-css-vars").CssVarDefinitions<{
|
|
8
|
+
readonly 'vira-form-border-color': import("element-vir").CSSResult;
|
|
9
|
+
readonly 'vira-form-placeholder-color': import("element-vir").CSSResult;
|
|
10
|
+
readonly 'vira-form-background-color': import("element-vir").CSSResult;
|
|
11
|
+
readonly 'vira-form-foreground-color': import("element-vir").CSSResult;
|
|
12
|
+
readonly 'vira-form-modal-backdrop-color': "rgba(0, 0, 0, 0.35)";
|
|
13
|
+
readonly 'vira-form-secondary-body-foreground': import("element-vir").CSSResult;
|
|
14
|
+
readonly 'vira-form-text-selection-color': import("element-vir").CSSResult;
|
|
15
|
+
readonly 'vira-form-selection-hover-color': import("element-vir").CSSResult;
|
|
16
|
+
readonly 'vira-form-selection-active-color': import("element-vir").CSSResult;
|
|
17
|
+
readonly 'vira-form-error-color': import("element-vir").CSSResult;
|
|
18
|
+
readonly 'vira-form-error-hover-color': import("element-vir").CSSResult;
|
|
19
|
+
readonly 'vira-form-error-active-color': import("element-vir").CSSResult;
|
|
20
|
+
readonly 'vira-form-warning-color': import("element-vir").CSSResult;
|
|
21
|
+
readonly 'vira-form-warning-hover-color': import("element-vir").CSSResult;
|
|
22
|
+
readonly 'vira-form-warning-active-color': import("element-vir").CSSResult;
|
|
23
|
+
readonly 'vira-form-positive-color': import("element-vir").CSSResult;
|
|
24
|
+
readonly 'vira-form-positive-hover-color': import("element-vir").CSSResult;
|
|
25
|
+
readonly 'vira-form-positive-active-color': import("element-vir").CSSResult;
|
|
26
|
+
readonly 'vira-form-success-color': import("element-vir").CSSResult;
|
|
27
|
+
readonly 'vira-form-label-font-weight': import("element-vir").CSSResult;
|
|
28
|
+
readonly 'vira-form-small-text-size': "14px";
|
|
29
|
+
readonly 'vira-form-medium-text-size': "14px";
|
|
30
|
+
readonly 'vira-form-large-text-size': "22px";
|
|
31
|
+
readonly 'vira-form-radius': "6px";
|
|
32
|
+
readonly 'vira-form-wrapper-radius': "12px";
|
|
33
|
+
readonly 'vira-form-focus-outline-color': import("element-vir").CSSResult;
|
|
34
|
+
readonly 'vira-form-focus-outline-border-radius': import("element-vir").CSSResult;
|
|
35
|
+
readonly 'vira-form-plain-color': import("element-vir").CSSResult;
|
|
36
|
+
readonly 'vira-form-plain-hover-color': import("element-vir").CSSResult;
|
|
37
|
+
readonly 'vira-form-plain-active-color': import("element-vir").CSSResult;
|
|
38
|
+
readonly 'vira-form-accent-primary-color': import("element-vir").CSSResult;
|
|
39
|
+
readonly 'vira-form-accent-primary-hover-color': import("element-vir").CSSResult;
|
|
40
|
+
readonly 'vira-form-accent-primary-active-color': import("element-vir").CSSResult;
|
|
41
|
+
readonly 'vira-form-danger-color': import("element-vir").CSSResult;
|
|
42
|
+
readonly 'vira-form-danger-hover-color': import("element-vir").CSSResult;
|
|
43
|
+
readonly 'vira-form-danger-active-color': import("element-vir").CSSResult;
|
|
44
|
+
readonly 'vira-form-filled-background-color': import("element-vir").CSSResult;
|
|
45
|
+
readonly 'vira-form-filled-active-background-color': import("element-vir").CSSResult;
|
|
46
|
+
}>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { css, unsafeCSS } from 'element-vir';
|
|
2
|
+
import { defineCssVars } from 'lit-css-vars';
|
|
3
|
+
import { themeDefaultKey } from 'theme-vir/dist/color-theme/color-theme.js';
|
|
4
|
+
import { viraFontCssVars } from './font.js';
|
|
5
|
+
import { viraColorPalette } from './vira-color-palette.js';
|
|
6
|
+
import { viraTheme } from './vira-color-theme.js';
|
|
7
|
+
const defaultViraFormRadius = '6px';
|
|
8
|
+
/**
|
|
9
|
+
* CSS vars for vira form elements.
|
|
10
|
+
*
|
|
11
|
+
* @category CSS Vars
|
|
12
|
+
* @category Styles
|
|
13
|
+
*/
|
|
14
|
+
export const viraFormCssVars = defineCssVars({
|
|
15
|
+
'vira-form-border-color': viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
|
|
16
|
+
'vira-form-placeholder-color': viraTheme.colors['vira-grey-foreground-placeholder'].foreground.value,
|
|
17
|
+
'vira-form-background-color': viraTheme.colors[themeDefaultKey].background.value,
|
|
18
|
+
'vira-form-foreground-color': viraTheme.colors[themeDefaultKey].foreground.value,
|
|
19
|
+
'vira-form-modal-backdrop-color': 'rgba(0, 0, 0, 0.35)',
|
|
20
|
+
'vira-form-secondary-body-foreground': viraTheme.colors['vira-grey-foreground-header'].foreground.value,
|
|
21
|
+
'vira-form-text-selection-color': viraTheme.colors['vira-brand-behind-bg-decoration'].background.value,
|
|
22
|
+
'vira-form-selection-hover-color': viraTheme.colors['vira-brand-behind-bg-invisible'].background.value,
|
|
23
|
+
'vira-form-selection-active-color': viraTheme.colors['vira-brand-behind-bg-decoration'].background.value,
|
|
24
|
+
'vira-form-error-color': viraTheme.colors['vira-red-behind-bg-non-body'].background.value,
|
|
25
|
+
'vira-form-error-hover-color': viraTheme.colors['vira-red-behind-bg-header'].background.value,
|
|
26
|
+
'vira-form-error-active-color': viraTheme.colors['vira-red-behind-bg-body'].background.value,
|
|
27
|
+
'vira-form-warning-color': viraTheme.colors['vira-yellow-behind-bg-non-body'].background.value,
|
|
28
|
+
'vira-form-warning-hover-color': viraTheme.colors['vira-yellow-behind-bg-header'].background.value,
|
|
29
|
+
'vira-form-warning-active-color': viraTheme.colors['vira-yellow-behind-bg-body'].background.value,
|
|
30
|
+
'vira-form-positive-color': viraTheme.colors['vira-green-behind-bg-non-body'].background.value,
|
|
31
|
+
'vira-form-positive-hover-color': viraTheme.colors['vira-green-behind-bg-header'].background.value,
|
|
32
|
+
'vira-form-positive-active-color': viraTheme.colors['vira-green-behind-bg-body'].background.value,
|
|
33
|
+
'vira-form-success-color': viraTheme.colors['vira-green-behind-bg-non-body'].background.value,
|
|
34
|
+
'vira-form-label-font-weight': viraFontCssVars['vira-font-weight-bold'].value,
|
|
35
|
+
'vira-form-small-text-size': '14px',
|
|
36
|
+
'vira-form-medium-text-size': '14px',
|
|
37
|
+
'vira-form-large-text-size': '22px',
|
|
38
|
+
'vira-form-radius': defaultViraFormRadius,
|
|
39
|
+
'vira-form-wrapper-radius': '12px',
|
|
40
|
+
'vira-form-focus-outline-color': viraTheme.colors['vira-brand-foreground-header'].foreground.value,
|
|
41
|
+
'vira-form-focus-outline-border-radius': css `calc(var(--vira-form-radius, ${unsafeCSS(defaultViraFormRadius)}) + 2px)`,
|
|
42
|
+
'vira-form-plain-color': viraColorPalette['vira-grey-100'].value,
|
|
43
|
+
'vira-form-plain-hover-color': viraTheme.colors['vira-grey-foreground-invisible'].foreground.value,
|
|
44
|
+
'vira-form-plain-active-color': viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
|
|
45
|
+
'vira-form-accent-primary-color': viraTheme.colors['vira-brand-behind-bg-non-body'].background.value,
|
|
46
|
+
'vira-form-accent-primary-hover-color': viraTheme.colors['vira-brand-behind-bg-header'].background.value,
|
|
47
|
+
'vira-form-accent-primary-active-color': viraTheme.colors['vira-brand-behind-bg-body'].background.value,
|
|
48
|
+
'vira-form-danger-color': viraTheme.colors['vira-red-behind-bg-non-body'].background.value,
|
|
49
|
+
'vira-form-danger-hover-color': viraTheme.colors['vira-red-behind-bg-header'].background.value,
|
|
50
|
+
'vira-form-danger-active-color': viraTheme.colors['vira-red-behind-bg-body'].background.value,
|
|
51
|
+
'vira-form-filled-background-color': viraTheme.colors['vira-grey-foreground-invisible'].foreground.value,
|
|
52
|
+
'vira-form-filled-active-background-color': viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
|
|
53
|
+
});
|