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,120 +0,0 @@
|
|
|
1
|
-
import {html, unsafeHTML} from 'element-vir';
|
|
2
|
-
import * as lucideStaticImport from 'lucide-static';
|
|
3
|
-
import {viraIconCssVars} from './icon-css-vars.js';
|
|
4
|
-
import {type ViraIconSvg} from './icon-svg.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* All supported Lucide icon names.
|
|
8
|
-
*
|
|
9
|
-
* @category Internal
|
|
10
|
-
*/
|
|
11
|
-
export type LucideIconKey = keyof typeof lucideStaticImport;
|
|
12
|
-
|
|
13
|
-
const defaultLucideAttributes: Readonly<Record<string, string>> = {
|
|
14
|
-
fill: String(viraIconCssVars['vira-icon-fill-color'].value),
|
|
15
|
-
stroke: String(viraIconCssVars['vira-icon-stroke-color'].value),
|
|
16
|
-
'stroke-width': String(viraIconCssVars['vira-icon-stroke-width'].value),
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
function setSvgAttribute({
|
|
20
|
-
svgString,
|
|
21
|
-
attributeName,
|
|
22
|
-
value,
|
|
23
|
-
}: Readonly<{svgString: string; attributeName: string; value: string}>): string {
|
|
24
|
-
const escapedName = attributeName.replace(/[.*+?^${}()|[\]\\]/g, String.raw`\$&`);
|
|
25
|
-
const regex = new RegExp(String.raw`(\s)${escapedName}="[^"]*"`);
|
|
26
|
-
|
|
27
|
-
return regex.test(svgString)
|
|
28
|
-
? svgString.replace(regex, `$1${attributeName}="${value}"`)
|
|
29
|
-
: svgString.replace(/<svg\b/, `<svg ${attributeName}="${value}"`);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function applySvgAttributes(
|
|
33
|
-
svgString: string,
|
|
34
|
-
attributes: Readonly<Record<string, string>>,
|
|
35
|
-
): string {
|
|
36
|
-
return Object.entries(attributes).reduce(
|
|
37
|
-
(
|
|
38
|
-
result,
|
|
39
|
-
[
|
|
40
|
-
key,
|
|
41
|
-
value,
|
|
42
|
-
],
|
|
43
|
-
) => {
|
|
44
|
-
return setSvgAttribute({
|
|
45
|
-
svgString: result,
|
|
46
|
-
attributeName: key,
|
|
47
|
-
value,
|
|
48
|
-
});
|
|
49
|
-
},
|
|
50
|
-
svgString,
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function isLucideIconKey(key: string): key is LucideIconKey {
|
|
55
|
-
return key in lucideStaticImport;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function getLucideIconSvg(key: LucideIconKey): string {
|
|
59
|
-
const svg = lucideStaticImport[key];
|
|
60
|
-
|
|
61
|
-
if (typeof svg !== 'string') {
|
|
62
|
-
throw new TypeError(`Lucide icon "${key}" is not a valid SVG string.`);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return svg;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function createLucideIconEntry(iconKey: LucideIconKey): ViraIconSvg {
|
|
69
|
-
return {
|
|
70
|
-
name: iconKey,
|
|
71
|
-
svgTemplate: html`
|
|
72
|
-
${unsafeHTML(applySvgAttributes(getLucideIconSvg(iconKey), defaultLucideAttributes))}
|
|
73
|
-
`,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const lucideIconCache = new Map<LucideIconKey, ViraIconSvg>();
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* All [Lucide icons](https://lucide.dev) in a format compatible with `ViraIcon`. Each icon entry
|
|
81
|
-
* can be accessed directly as a {@link ViraIconSvg}.
|
|
82
|
-
*
|
|
83
|
-
* @category Icon
|
|
84
|
-
*/
|
|
85
|
-
export const lucideIcons: Readonly<Record<LucideIconKey, ViraIconSvg>> = new Proxy(
|
|
86
|
-
{} as Record<LucideIconKey, ViraIconSvg>,
|
|
87
|
-
{
|
|
88
|
-
get(_target, property: string) {
|
|
89
|
-
if (!isLucideIconKey(property)) {
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const cached = lucideIconCache.get(property);
|
|
94
|
-
|
|
95
|
-
if (cached) {
|
|
96
|
-
return cached;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const entry = createLucideIconEntry(property);
|
|
100
|
-
lucideIconCache.set(property, entry);
|
|
101
|
-
return entry;
|
|
102
|
-
},
|
|
103
|
-
has(_target, property: string) {
|
|
104
|
-
return isLucideIconKey(property);
|
|
105
|
-
},
|
|
106
|
-
ownKeys() {
|
|
107
|
-
return Object.keys(lucideStaticImport);
|
|
108
|
-
},
|
|
109
|
-
getOwnPropertyDescriptor(_target, property: string) {
|
|
110
|
-
if (isLucideIconKey(property)) {
|
|
111
|
-
return {
|
|
112
|
-
configurable: true,
|
|
113
|
-
enumerable: true,
|
|
114
|
-
writable: false,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
return undefined;
|
|
118
|
-
},
|
|
119
|
-
},
|
|
120
|
-
);
|
|
@@ -1,86 +0,0 @@
|
|
|
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
|
-
|
|
8
|
-
const defaultViraFormRadius = '6px';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* CSS vars for vira form elements.
|
|
12
|
-
*
|
|
13
|
-
* @category CSS Vars
|
|
14
|
-
* @category Styles
|
|
15
|
-
*/
|
|
16
|
-
export const viraFormCssVars = defineCssVars({
|
|
17
|
-
'vira-form-border-color': viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
|
|
18
|
-
'vira-form-placeholder-color':
|
|
19
|
-
viraTheme.colors['vira-grey-foreground-placeholder'].foreground.value,
|
|
20
|
-
|
|
21
|
-
'vira-form-background-color': viraTheme.colors[themeDefaultKey].background.value,
|
|
22
|
-
'vira-form-foreground-color': viraTheme.colors[themeDefaultKey].foreground.value,
|
|
23
|
-
|
|
24
|
-
'vira-form-modal-backdrop-color': 'rgba(0, 0, 0, 0.35)',
|
|
25
|
-
'vira-form-secondary-body-foreground':
|
|
26
|
-
viraTheme.colors['vira-grey-foreground-header'].foreground.value,
|
|
27
|
-
|
|
28
|
-
'vira-form-text-selection-color':
|
|
29
|
-
viraTheme.colors['vira-brand-behind-bg-decoration'].background.value,
|
|
30
|
-
'vira-form-selection-hover-color':
|
|
31
|
-
viraTheme.colors['vira-brand-behind-bg-invisible'].background.value,
|
|
32
|
-
'vira-form-selection-active-color':
|
|
33
|
-
viraTheme.colors['vira-brand-behind-bg-decoration'].background.value,
|
|
34
|
-
|
|
35
|
-
'vira-form-error-color': viraTheme.colors['vira-red-behind-bg-non-body'].background.value,
|
|
36
|
-
'vira-form-error-hover-color': viraTheme.colors['vira-red-behind-bg-header'].background.value,
|
|
37
|
-
'vira-form-error-active-color': viraTheme.colors['vira-red-behind-bg-body'].background.value,
|
|
38
|
-
|
|
39
|
-
'vira-form-warning-color': viraTheme.colors['vira-yellow-behind-bg-non-body'].background.value,
|
|
40
|
-
'vira-form-warning-hover-color':
|
|
41
|
-
viraTheme.colors['vira-yellow-behind-bg-header'].background.value,
|
|
42
|
-
'vira-form-warning-active-color':
|
|
43
|
-
viraTheme.colors['vira-yellow-behind-bg-body'].background.value,
|
|
44
|
-
|
|
45
|
-
'vira-form-positive-color': viraTheme.colors['vira-green-behind-bg-non-body'].background.value,
|
|
46
|
-
'vira-form-positive-hover-color':
|
|
47
|
-
viraTheme.colors['vira-green-behind-bg-header'].background.value,
|
|
48
|
-
'vira-form-positive-active-color':
|
|
49
|
-
viraTheme.colors['vira-green-behind-bg-body'].background.value,
|
|
50
|
-
|
|
51
|
-
'vira-form-success-color': viraTheme.colors['vira-green-behind-bg-non-body'].background.value,
|
|
52
|
-
|
|
53
|
-
'vira-form-label-font-weight': viraFontCssVars['vira-font-weight-bold'].value,
|
|
54
|
-
'vira-form-small-text-size': '14px',
|
|
55
|
-
'vira-form-medium-text-size': '14px',
|
|
56
|
-
'vira-form-large-text-size': '22px',
|
|
57
|
-
|
|
58
|
-
'vira-form-radius': defaultViraFormRadius,
|
|
59
|
-
'vira-form-wrapper-radius': '12px',
|
|
60
|
-
|
|
61
|
-
'vira-form-focus-outline-color':
|
|
62
|
-
viraTheme.colors['vira-brand-foreground-header'].foreground.value,
|
|
63
|
-
'vira-form-focus-outline-border-radius': css`calc(var(--vira-form-radius, ${unsafeCSS(defaultViraFormRadius)}) + 2px)`,
|
|
64
|
-
|
|
65
|
-
'vira-form-plain-color': viraColorPalette['vira-grey-100'].value,
|
|
66
|
-
'vira-form-plain-hover-color':
|
|
67
|
-
viraTheme.colors['vira-grey-foreground-invisible'].foreground.value,
|
|
68
|
-
'vira-form-plain-active-color':
|
|
69
|
-
viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
|
|
70
|
-
|
|
71
|
-
'vira-form-accent-primary-color':
|
|
72
|
-
viraTheme.colors['vira-brand-behind-bg-non-body'].background.value,
|
|
73
|
-
'vira-form-accent-primary-hover-color':
|
|
74
|
-
viraTheme.colors['vira-brand-behind-bg-header'].background.value,
|
|
75
|
-
'vira-form-accent-primary-active-color':
|
|
76
|
-
viraTheme.colors['vira-brand-behind-bg-body'].background.value,
|
|
77
|
-
|
|
78
|
-
'vira-form-danger-color': viraTheme.colors['vira-red-behind-bg-non-body'].background.value,
|
|
79
|
-
'vira-form-danger-hover-color': viraTheme.colors['vira-red-behind-bg-header'].background.value,
|
|
80
|
-
'vira-form-danger-active-color': viraTheme.colors['vira-red-behind-bg-body'].background.value,
|
|
81
|
-
|
|
82
|
-
'vira-form-filled-background-color':
|
|
83
|
-
viraTheme.colors['vira-grey-foreground-invisible'].foreground.value,
|
|
84
|
-
'vira-form-filled-active-background-color':
|
|
85
|
-
viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
|
|
86
|
-
});
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Red": {
|
|
3
|
-
"100": "#FFF6F5",
|
|
4
|
-
"150": "#FFEDEB",
|
|
5
|
-
"200": "#FFE4E1",
|
|
6
|
-
"250": "#FFDCD8",
|
|
7
|
-
"300": "#FFD1CB",
|
|
8
|
-
"350": "#FFC1B8",
|
|
9
|
-
"400": "#FFA79B",
|
|
10
|
-
"450": "#FF8274",
|
|
11
|
-
"500": "#FF564A",
|
|
12
|
-
"550": "#F43A32",
|
|
13
|
-
"600": "#E2322C",
|
|
14
|
-
"650": "#D02C27",
|
|
15
|
-
"700": "#BB2520",
|
|
16
|
-
"750": "#9E231D",
|
|
17
|
-
"800": "#82211A",
|
|
18
|
-
"850": "#701A13",
|
|
19
|
-
"900": "#611710",
|
|
20
|
-
"950": "#52140D",
|
|
21
|
-
"1000": "#43130D"
|
|
22
|
-
},
|
|
23
|
-
"Yellow": {
|
|
24
|
-
"100": "#FEF9E4",
|
|
25
|
-
"150": "#FDF2D1",
|
|
26
|
-
"200": "#FDEABF",
|
|
27
|
-
"250": "#FEE2AD",
|
|
28
|
-
"300": "#FDD89B",
|
|
29
|
-
"350": "#FAC986",
|
|
30
|
-
"400": "#EFB669",
|
|
31
|
-
"450": "#E29D34",
|
|
32
|
-
"500": "#CE8800",
|
|
33
|
-
"550": "#BB7B00",
|
|
34
|
-
"600": "#AC7100",
|
|
35
|
-
"650": "#9E6800",
|
|
36
|
-
"700": "#8C5C00",
|
|
37
|
-
"750": "#794D00",
|
|
38
|
-
"800": "#683E00",
|
|
39
|
-
"850": "#5B3301",
|
|
40
|
-
"900": "#502A05",
|
|
41
|
-
"950": "#442308",
|
|
42
|
-
"1000": "#381D0B"
|
|
43
|
-
},
|
|
44
|
-
"Green": {
|
|
45
|
-
"100": "#EBFFEE",
|
|
46
|
-
"150": "#DDFBE2",
|
|
47
|
-
"200": "#CDF8D6",
|
|
48
|
-
"250": "#BFF5CC",
|
|
49
|
-
"300": "#AFF0C0",
|
|
50
|
-
"350": "#9AE8B1",
|
|
51
|
-
"400": "#7FD99C",
|
|
52
|
-
"450": "#52C87F",
|
|
53
|
-
"500": "#1BB565",
|
|
54
|
-
"550": "#04A559",
|
|
55
|
-
"600": "#009852",
|
|
56
|
-
"650": "#008C4A",
|
|
57
|
-
"700": "#007C41",
|
|
58
|
-
"750": "#016A38",
|
|
59
|
-
"800": "#095831",
|
|
60
|
-
"850": "#024B29",
|
|
61
|
-
"900": "#014024",
|
|
62
|
-
"950": "#02371F",
|
|
63
|
-
"1000": "#062D1B"
|
|
64
|
-
},
|
|
65
|
-
"Teal": {
|
|
66
|
-
"100": "#E8FEFD",
|
|
67
|
-
"150": "#D9FAF8",
|
|
68
|
-
"200": "#C9F6F3",
|
|
69
|
-
"250": "#BAF2ED",
|
|
70
|
-
"300": "#A9EDE6",
|
|
71
|
-
"350": "#95E4DB",
|
|
72
|
-
"400": "#79D5CA",
|
|
73
|
-
"450": "#47C3B7",
|
|
74
|
-
"500": "#00B0A4",
|
|
75
|
-
"550": "#00A094",
|
|
76
|
-
"600": "#009389",
|
|
77
|
-
"650": "#00877D",
|
|
78
|
-
"700": "#00786F",
|
|
79
|
-
"750": "#00665F",
|
|
80
|
-
"800": "#01554F",
|
|
81
|
-
"850": "#004843",
|
|
82
|
-
"900": "#003E3A",
|
|
83
|
-
"950": "#033531",
|
|
84
|
-
"1000": "#072B29"
|
|
85
|
-
},
|
|
86
|
-
"Blue": {
|
|
87
|
-
"100": "#F5F9FF",
|
|
88
|
-
"150": "#EAF3FF",
|
|
89
|
-
"200": "#E0EDFF",
|
|
90
|
-
"250": "#D6E7FF",
|
|
91
|
-
"300": "#CBDFFF",
|
|
92
|
-
"350": "#B9D4FF",
|
|
93
|
-
"400": "#9EC3FF",
|
|
94
|
-
"450": "#7AADFF",
|
|
95
|
-
"500": "#5697FF",
|
|
96
|
-
"550": "#4988ED",
|
|
97
|
-
"600": "#427DDC",
|
|
98
|
-
"650": "#3B72CA",
|
|
99
|
-
"700": "#3365B6",
|
|
100
|
-
"750": "#2D569A",
|
|
101
|
-
"800": "#27487E",
|
|
102
|
-
"850": "#203D6C",
|
|
103
|
-
"900": "#1B345D",
|
|
104
|
-
"950": "#172C4F",
|
|
105
|
-
"1000": "#142540"
|
|
106
|
-
},
|
|
107
|
-
"Purple": {
|
|
108
|
-
"100": "#F9F7FF",
|
|
109
|
-
"150": "#F3EFFF",
|
|
110
|
-
"200": "#EDE8FF",
|
|
111
|
-
"250": "#E6E1FF",
|
|
112
|
-
"300": "#DED8FF",
|
|
113
|
-
"350": "#D2CBFF",
|
|
114
|
-
"400": "#C1B7FF",
|
|
115
|
-
"450": "#AD9BFF",
|
|
116
|
-
"500": "#9B80FF",
|
|
117
|
-
"550": "#8D6EF4",
|
|
118
|
-
"600": "#8265E3",
|
|
119
|
-
"650": "#775BD1",
|
|
120
|
-
"700": "#6A50BB",
|
|
121
|
-
"750": "#5A459E",
|
|
122
|
-
"800": "#4A3B82",
|
|
123
|
-
"850": "#3E3170",
|
|
124
|
-
"900": "#352A61",
|
|
125
|
-
"950": "#2D2452",
|
|
126
|
-
"1000": "#251F43"
|
|
127
|
-
},
|
|
128
|
-
"Pink": {
|
|
129
|
-
"100": "#FEF5FF",
|
|
130
|
-
"150": "#FFEAFF",
|
|
131
|
-
"200": "#FFE0FC",
|
|
132
|
-
"250": "#FFD7F8",
|
|
133
|
-
"300": "#FFCBF2",
|
|
134
|
-
"350": "#FFB9E9",
|
|
135
|
-
"400": "#FF9BDF",
|
|
136
|
-
"450": "#FF6DD6",
|
|
137
|
-
"500": "#F04AC5",
|
|
138
|
-
"550": "#DD3EB4",
|
|
139
|
-
"600": "#CC37A7",
|
|
140
|
-
"650": "#BC3099",
|
|
141
|
-
"700": "#A82988",
|
|
142
|
-
"750": "#8F2674",
|
|
143
|
-
"800": "#752361",
|
|
144
|
-
"850": "#641C53",
|
|
145
|
-
"900": "#561848",
|
|
146
|
-
"950": "#49153E",
|
|
147
|
-
"1000": "#3B1333"
|
|
148
|
-
},
|
|
149
|
-
"Slate": {
|
|
150
|
-
"100": "#F9F9F9",
|
|
151
|
-
"150": "#F2F2F2",
|
|
152
|
-
"200": "#EBEBEB",
|
|
153
|
-
"250": "#E5E5E5",
|
|
154
|
-
"300": "#DEDEDE",
|
|
155
|
-
"350": "#D2D2D2",
|
|
156
|
-
"400": "#C2C2C2",
|
|
157
|
-
"450": "#ADADAD",
|
|
158
|
-
"500": "#999999",
|
|
159
|
-
"550": "#8A8A8A",
|
|
160
|
-
"600": "#7F7F7F",
|
|
161
|
-
"650": "#747474",
|
|
162
|
-
"700": "#676767",
|
|
163
|
-
"750": "#585858",
|
|
164
|
-
"800": "#494949",
|
|
165
|
-
"850": "#3E3E3E",
|
|
166
|
-
"900": "#353535",
|
|
167
|
-
"950": "#2D2D2D",
|
|
168
|
-
"1000": "#252525"
|
|
169
|
-
}
|
|
170
|
-
}
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import {check} from '@augment-vir/assert';
|
|
2
|
-
import {
|
|
3
|
-
type AnyObject,
|
|
4
|
-
arrayToObject,
|
|
5
|
-
filterMap,
|
|
6
|
-
getEnumValues,
|
|
7
|
-
getObjectTypedKeys,
|
|
8
|
-
mapEnumToObject,
|
|
9
|
-
removeDuplicates,
|
|
10
|
-
removePrefix,
|
|
11
|
-
type RemovePrefix,
|
|
12
|
-
removeSuffix,
|
|
13
|
-
type RemoveSuffix,
|
|
14
|
-
type UnionToTuple,
|
|
15
|
-
} from '@augment-vir/common';
|
|
16
|
-
import {ContrastLevelName} from '@electrovir/color/dist/data/contrast/contrast.js';
|
|
17
|
-
import {
|
|
18
|
-
type ColorThemeColor,
|
|
19
|
-
type themeDefaultKey,
|
|
20
|
-
} from 'theme-vir/dist/color-theme/color-theme.js';
|
|
21
|
-
import {viraTheme} from './vira-color-theme.js';
|
|
22
|
-
|
|
23
|
-
const sortedContrastLevelNames = [
|
|
24
|
-
'highest-contrast' as const,
|
|
25
|
-
'lowest-contrast' as const,
|
|
26
|
-
...getEnumValues(ContrastLevelName).sort(
|
|
27
|
-
(a, b) => Number(b.includes('-')) - Number(a.includes('-')),
|
|
28
|
-
),
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* `ContrastLevelName` values with the values containing internal dashes to the beginning so they
|
|
33
|
-
* can be correctly used with `RemoveSuffix`.
|
|
34
|
-
*
|
|
35
|
-
* @category Internal
|
|
36
|
-
*/
|
|
37
|
-
export type SortedContrastLevelName = [
|
|
38
|
-
'highest-contrast',
|
|
39
|
-
'lowest-contrast',
|
|
40
|
-
...UnionToTuple<Extract<ContrastLevelName, `${string}-${string}`>>,
|
|
41
|
-
...UnionToTuple<Exclude<ContrastLevelName, `${string}-${string}`>>,
|
|
42
|
-
];
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* The names of all colors in {@link viraTheme}.
|
|
46
|
-
*
|
|
47
|
-
* @category Internal
|
|
48
|
-
*/
|
|
49
|
-
export type ViraThemeColorName =
|
|
50
|
-
Extract<
|
|
51
|
-
keyof typeof viraTheme.colors,
|
|
52
|
-
`vira-${string}`
|
|
53
|
-
> extends `vira-${infer ColorPart}-${string}`
|
|
54
|
-
? ColorPart
|
|
55
|
-
: never;
|
|
56
|
-
|
|
57
|
-
const viraThemeColorNames = removeDuplicates(
|
|
58
|
-
filterMap(
|
|
59
|
-
Object.keys(viraTheme.colors),
|
|
60
|
-
(key) => key.split('-')[1],
|
|
61
|
-
(mappedKey) => mappedKey !== 'default',
|
|
62
|
-
),
|
|
63
|
-
).filter(check.isTruthy) as ViraThemeColorName[];
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* An enum of {@link ViraThemeColorName}.
|
|
67
|
-
*
|
|
68
|
-
* @category Internal
|
|
69
|
-
*/
|
|
70
|
-
export const ViraThemeColorName = arrayToObject(
|
|
71
|
-
viraThemeColorNames,
|
|
72
|
-
(colorKey) => {
|
|
73
|
-
return {
|
|
74
|
-
key: colorKey,
|
|
75
|
-
value: colorKey,
|
|
76
|
-
};
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
useRequired: true,
|
|
80
|
-
},
|
|
81
|
-
) satisfies Record<ViraThemeColorName, ViraThemeColorName> as {[Key in ViraThemeColorName]: Key};
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* All {@link viraTheme} color pair keys.
|
|
85
|
-
*
|
|
86
|
-
* @category Internal
|
|
87
|
-
*/
|
|
88
|
-
export type AllViraThemeKeys = keyof typeof viraTheme.colors;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* All {@link viraTheme} color pair keys.
|
|
92
|
-
*
|
|
93
|
-
* @category Internal
|
|
94
|
-
*/
|
|
95
|
-
export const allViraThemeKeys = getObjectTypedKeys(viraTheme.colors);
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* All {@link viraTheme} color pair keys with the contrast level suffix removed.
|
|
99
|
-
*
|
|
100
|
-
* @category Internal
|
|
101
|
-
*/
|
|
102
|
-
export type ViraThemeKeysWithoutContrastLevel = Exclude<
|
|
103
|
-
RemoveSuffix<RemoveSuffix<AllViraThemeKeys, SortedContrastLevelName>, ['-']>,
|
|
104
|
-
typeof themeDefaultKey
|
|
105
|
-
>;
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* All {@link viraTheme} color pair grouped by their color name, pair name, and contrast level.
|
|
109
|
-
*
|
|
110
|
-
* @category Internal
|
|
111
|
-
*/
|
|
112
|
-
export type ViraThemeByKeys = {
|
|
113
|
-
[ColorName in ViraThemeColorName]: {
|
|
114
|
-
[PairName in RemovePrefix<ViraThemeKeysWithoutContrastLevel, `vira-${ColorName}-`>]: {
|
|
115
|
-
[ContrastLevel in RemovePrefix<
|
|
116
|
-
AllViraThemeKeys,
|
|
117
|
-
`vira-${ColorName}-${PairName}-`
|
|
118
|
-
>]: ColorThemeColor;
|
|
119
|
-
};
|
|
120
|
-
};
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* All {@link viraTheme} color pair grouped by their color name, pair name, and contrast level. See
|
|
125
|
-
* {@link viraTheme} for extensive documentation on what the colors pairs mean.
|
|
126
|
-
*
|
|
127
|
-
* @category Internal
|
|
128
|
-
*/
|
|
129
|
-
export const viraThemeByKeys: ViraThemeByKeys = mapEnumToObject(ViraThemeColorName, (colorName) => {
|
|
130
|
-
const colorPairKeys = removeDuplicates(
|
|
131
|
-
filterMap(
|
|
132
|
-
allViraThemeKeys,
|
|
133
|
-
(key) => {
|
|
134
|
-
return sortedContrastLevelNames.reduce(
|
|
135
|
-
(final, current) => {
|
|
136
|
-
return removeSuffix({
|
|
137
|
-
value: final,
|
|
138
|
-
suffix: `-${current}`,
|
|
139
|
-
});
|
|
140
|
-
},
|
|
141
|
-
removePrefix({
|
|
142
|
-
value: key,
|
|
143
|
-
prefix: `vira-${colorName}-`,
|
|
144
|
-
}),
|
|
145
|
-
);
|
|
146
|
-
},
|
|
147
|
-
(mappedKey, originalKey) => {
|
|
148
|
-
return originalKey.startsWith(`vira-${colorName}-`);
|
|
149
|
-
},
|
|
150
|
-
),
|
|
151
|
-
);
|
|
152
|
-
|
|
153
|
-
return arrayToObject(colorPairKeys, (colorPairKey) => {
|
|
154
|
-
return {
|
|
155
|
-
key: colorPairKey,
|
|
156
|
-
value: arrayToObject(sortedContrastLevelNames, (contrastLevel) => {
|
|
157
|
-
const finalKey = `vira-${colorName}-${colorPairKey}-${contrastLevel}`;
|
|
158
|
-
|
|
159
|
-
if (!check.hasKey(viraTheme.colors, finalKey)) {
|
|
160
|
-
return undefined;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
return {
|
|
164
|
-
key: contrastLevel,
|
|
165
|
-
value: viraTheme.colors[finalKey],
|
|
166
|
-
};
|
|
167
|
-
}),
|
|
168
|
-
};
|
|
169
|
-
});
|
|
170
|
-
}) as AnyObject as ViraThemeByKeys;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import {ColorFormatName} from '@electrovir/color/dist/data/color-class/color-formats.js';
|
|
2
|
-
import {LocalStorageClient} from '@electrovir/local-storage-client';
|
|
3
|
-
import {enumShape} from 'object-shape-tester';
|
|
4
|
-
|
|
5
|
-
export const colorLocalStorageClient = new LocalStorageClient({
|
|
6
|
-
lastFormat: enumShape(ColorFormatName),
|
|
7
|
-
});
|