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
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
import { type ViraIconSvg } from '../icons/index.js';
|
|
3
|
+
export * from '../util/shared-text-input-logic.js';
|
|
4
|
+
/**
|
|
5
|
+
* Input types for {@link ViraInput}.
|
|
6
|
+
*
|
|
7
|
+
* @category Internal
|
|
8
|
+
*/
|
|
9
|
+
export declare enum ViraInputType {
|
|
10
|
+
Default = "text",
|
|
11
|
+
Password = "password",
|
|
12
|
+
Email = "email",
|
|
13
|
+
Number = "number"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A single line input element with all listeners properly attached. Multiple types are allowed with
|
|
17
|
+
* {@link ViraInputType}.
|
|
18
|
+
*
|
|
19
|
+
* @category Input
|
|
20
|
+
* @category Elements
|
|
21
|
+
* @see https://electrovir.github.io/vira/book/elements/vira-input
|
|
22
|
+
*/
|
|
23
|
+
export declare const ViraInput: import("element-vir").DeclarativeElementDefinition<"vira-input", PartialWithUndefined<{
|
|
24
|
+
icon: Pick<ViraIconSvg, "svgTemplate">;
|
|
25
|
+
/** A suffix that, if provided, is shown following the input field. */
|
|
26
|
+
suffix: string;
|
|
27
|
+
/** A label that is shown above the input, if provided. */
|
|
28
|
+
label: string;
|
|
29
|
+
/** If true, applies error styling. */
|
|
30
|
+
hasError: boolean;
|
|
31
|
+
showClearButton: boolean;
|
|
32
|
+
type: ViraInputType;
|
|
33
|
+
}> & {
|
|
34
|
+
value: string;
|
|
35
|
+
} & PartialWithUndefined<{
|
|
36
|
+
placeholder: string;
|
|
37
|
+
disabled: boolean;
|
|
38
|
+
isReadonly: boolean;
|
|
39
|
+
allowedInputs: string | RegExp;
|
|
40
|
+
blockedInputs: string | RegExp;
|
|
41
|
+
disableBrowserHelps: boolean;
|
|
42
|
+
fitText: boolean;
|
|
43
|
+
attributePassthrough: import("element-vir").AttributeValues;
|
|
44
|
+
}>, {
|
|
45
|
+
forcedInputWidth: number;
|
|
46
|
+
showPassword: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Used to couple the label and input together. This is not applied if no label is
|
|
49
|
+
* provided.
|
|
50
|
+
*/
|
|
51
|
+
randomId: string;
|
|
52
|
+
}, {
|
|
53
|
+
/**
|
|
54
|
+
* Fires whenever a user input created a new value. Does not fire if all input letters are
|
|
55
|
+
* filtered out due to input restrictions.
|
|
56
|
+
*/
|
|
57
|
+
valueChange: import("element-vir").DefineElementEvent<string>;
|
|
58
|
+
/**
|
|
59
|
+
* Fires when inputs are blocked. Useful for showing warnings or error messages to inform
|
|
60
|
+
* the user why their input did not propagate if it was blocked. This does not fire for text
|
|
61
|
+
* that was blocked out of programmatic "value" property assignments.
|
|
62
|
+
*/
|
|
63
|
+
inputBlocked: import("element-vir").DefineElementEvent<string>;
|
|
64
|
+
}, "vira-input-disabled" | "vira-input-fit-text" | "vira-input-clear-button-shown" | "vira-input-error", "vira-input-padding-horizontal" | "vira-input-padding-vertical", readonly [], readonly []>;
|
|
@@ -1,47 +1,31 @@
|
|
|
1
|
-
import {assertWrap} from '@augment-vir/assert';
|
|
2
|
-
import {
|
|
3
|
-
import {extractEventTarget} from '@augment-vir/web';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} from '
|
|
15
|
-
import {
|
|
16
|
-
import {EyeClosed24Icon, EyeOpen24Icon, type ViraIconSvg} from '../icons/index.js';
|
|
17
|
-
import {createFocusStyles} from '../styles/focus.js';
|
|
18
|
-
import {viraFontCssVars} from '../styles/font.js';
|
|
19
|
-
import {viraFormCssVars} from '../styles/form-styles.js';
|
|
20
|
-
import {ViraSize, viraSizeHeights} from '../styles/form-variants.js';
|
|
21
|
-
import {noUserSelect, viraAnimationDurations, viraDisabledStyles} from '../styles/index.js';
|
|
22
|
-
import {noNativeFormStyles} from '../styles/native-styles.js';
|
|
23
|
-
import {defineViraElement} from '../util/define-vira-element.js';
|
|
24
|
-
import {
|
|
25
|
-
type SharedTextInputElementInputs,
|
|
26
|
-
filterTextInputValue,
|
|
27
|
-
textInputListener,
|
|
28
|
-
} from '../util/shared-text-input-logic.js';
|
|
29
|
-
import {ViraIcon} from './vira-icon.element.js';
|
|
30
|
-
|
|
1
|
+
import { assertWrap } from '@augment-vir/assert';
|
|
2
|
+
import { randomString } from '@augment-vir/common';
|
|
3
|
+
import { extractEventTarget } from '@augment-vir/web';
|
|
4
|
+
import { attributes, css, defineElementEvent, html, ifDefined, listen, nothing, onResize, renderIf, } from 'element-vir';
|
|
5
|
+
import { CloseX24Icon } from '../icons/icon-svgs/24/close-x-24.icon.js';
|
|
6
|
+
import { EyeClosed24Icon, EyeOpen24Icon } from '../icons/index.js';
|
|
7
|
+
import { createFocusStyles } from '../styles/focus.js';
|
|
8
|
+
import { viraFontCssVars } from '../styles/font.js';
|
|
9
|
+
import { viraFormCssVars } from '../styles/form-styles.js';
|
|
10
|
+
import { ViraSize, viraSizeHeights } from '../styles/form-variants.js';
|
|
11
|
+
import { noUserSelect, viraAnimationDurations, viraDisabledStyles } from '../styles/index.js';
|
|
12
|
+
import { noNativeFormStyles } from '../styles/native-styles.js';
|
|
13
|
+
import { defineViraElement } from '../util/define-vira-element.js';
|
|
14
|
+
import { filterTextInputValue, textInputListener, } from '../util/shared-text-input-logic.js';
|
|
15
|
+
import { ViraIcon } from './vira-icon.element.js';
|
|
31
16
|
export * from '../util/shared-text-input-logic.js';
|
|
32
|
-
|
|
33
17
|
/**
|
|
34
18
|
* Input types for {@link ViraInput}.
|
|
35
19
|
*
|
|
36
20
|
* @category Internal
|
|
37
21
|
*/
|
|
38
|
-
export
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
22
|
+
export var ViraInputType;
|
|
23
|
+
(function (ViraInputType) {
|
|
24
|
+
ViraInputType["Default"] = "text";
|
|
25
|
+
ViraInputType["Password"] = "password";
|
|
26
|
+
ViraInputType["Email"] = "email";
|
|
27
|
+
ViraInputType["Number"] = "number";
|
|
28
|
+
})(ViraInputType || (ViraInputType = {}));
|
|
45
29
|
/**
|
|
46
30
|
* A single line input element with all listeners properly attached. Multiple types are allowed with
|
|
47
31
|
* {@link ViraInputType}.
|
|
@@ -50,27 +34,14 @@ export enum ViraInputType {
|
|
|
50
34
|
* @category Elements
|
|
51
35
|
* @see https://electrovir.github.io/vira/book/elements/vira-input
|
|
52
36
|
*/
|
|
53
|
-
export const ViraInput = defineViraElement
|
|
54
|
-
PartialWithUndefined<{
|
|
55
|
-
icon: Pick<ViraIconSvg, 'svgTemplate'>;
|
|
56
|
-
/** A suffix that, if provided, is shown following the input field. */
|
|
57
|
-
suffix: string;
|
|
58
|
-
/** A label that is shown above the input, if provided. */
|
|
59
|
-
label: string;
|
|
60
|
-
/** If true, applies error styling. */
|
|
61
|
-
hasError: boolean;
|
|
62
|
-
showClearButton: boolean;
|
|
63
|
-
type: ViraInputType;
|
|
64
|
-
}> &
|
|
65
|
-
SharedTextInputElementInputs
|
|
66
|
-
>()({
|
|
37
|
+
export const ViraInput = defineViraElement()({
|
|
67
38
|
tagName: 'vira-input',
|
|
68
39
|
cssVars: {
|
|
69
40
|
'vira-input-padding-horizontal': '12px',
|
|
70
41
|
'vira-input-padding-vertical': '4px',
|
|
71
42
|
},
|
|
72
|
-
styles
|
|
73
|
-
return css`
|
|
43
|
+
styles({ hostClasses, cssVars }) {
|
|
44
|
+
return css `
|
|
74
45
|
:host {
|
|
75
46
|
position: relative;
|
|
76
47
|
display: inline-flex;
|
|
@@ -208,19 +179,19 @@ export const ViraInput = defineViraElement<
|
|
|
208
179
|
|
|
209
180
|
&:focus:focus-visible:not([disabled]) ~ .focus-border {
|
|
210
181
|
${createFocusStyles({
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
182
|
+
elementBorderSize: '1px',
|
|
183
|
+
noNesting: true,
|
|
184
|
+
})}
|
|
214
185
|
}
|
|
215
186
|
}
|
|
216
187
|
|
|
217
188
|
::selection {
|
|
218
189
|
background: ${viraFormCssVars['vira-form-text-selection-color']
|
|
219
|
-
|
|
190
|
+
.value}; /* WebKit/Blink Browsers */
|
|
220
191
|
}
|
|
221
192
|
::-moz-selection {
|
|
222
193
|
background: ${viraFormCssVars['vira-form-text-selection-color']
|
|
223
|
-
|
|
194
|
+
.value}; /* Gecko Browsers */
|
|
224
195
|
}
|
|
225
196
|
|
|
226
197
|
input:placeholder-shown {
|
|
@@ -298,13 +269,13 @@ export const ViraInput = defineViraElement<
|
|
|
298
269
|
* Fires whenever a user input created a new value. Does not fire if all input letters are
|
|
299
270
|
* filtered out due to input restrictions.
|
|
300
271
|
*/
|
|
301
|
-
valueChange: defineElementEvent
|
|
272
|
+
valueChange: defineElementEvent(),
|
|
302
273
|
/**
|
|
303
274
|
* Fires when inputs are blocked. Useful for showing warnings or error messages to inform
|
|
304
275
|
* the user why their input did not propagate if it was blocked. This does not fire for text
|
|
305
276
|
* that was blocked out of programmatic "value" property assignments.
|
|
306
277
|
*/
|
|
307
|
-
inputBlocked: defineElementEvent
|
|
278
|
+
inputBlocked: defineElementEvent(),
|
|
308
279
|
},
|
|
309
280
|
state() {
|
|
310
281
|
return {
|
|
@@ -318,92 +289,86 @@ export const ViraInput = defineViraElement<
|
|
|
318
289
|
};
|
|
319
290
|
},
|
|
320
291
|
hostClasses: {
|
|
321
|
-
'vira-input-disabled'
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
'vira-input-
|
|
292
|
+
'vira-input-disabled'({ inputs }) {
|
|
293
|
+
return !!inputs.disabled;
|
|
294
|
+
},
|
|
295
|
+
'vira-input-fit-text'({ inputs }) {
|
|
296
|
+
return !!inputs.fitText;
|
|
297
|
+
},
|
|
298
|
+
'vira-input-clear-button-shown'({ inputs }) {
|
|
299
|
+
return !!inputs.showClearButton;
|
|
300
|
+
},
|
|
301
|
+
'vira-input-error'({ inputs }) {
|
|
302
|
+
return !!inputs.hasError;
|
|
303
|
+
},
|
|
325
304
|
},
|
|
326
|
-
render
|
|
327
|
-
const {filtered: filteredValue} = filterTextInputValue({
|
|
305
|
+
render({ inputs, dispatch, state, updateState, events, host }) {
|
|
306
|
+
const { filtered: filteredValue } = filterTextInputValue({
|
|
328
307
|
value: inputs.value,
|
|
329
308
|
allowed: inputs.allowedInputs,
|
|
330
309
|
blocked: inputs.blockedInputs,
|
|
331
310
|
});
|
|
332
|
-
|
|
333
311
|
if (inputs.isReadonly) {
|
|
334
|
-
const readonlyValueTemplate = html`
|
|
312
|
+
const readonlyValueTemplate = html `
|
|
335
313
|
<span class="readonly-value">${filteredValue}</span>
|
|
336
314
|
`;
|
|
337
|
-
|
|
338
315
|
if (inputs.label) {
|
|
339
|
-
return html`
|
|
316
|
+
return html `
|
|
340
317
|
<label>
|
|
341
318
|
<span class="input-label">${inputs.label}</span>
|
|
342
319
|
${readonlyValueTemplate}
|
|
343
320
|
</label>
|
|
344
321
|
`;
|
|
345
|
-
}
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
346
324
|
return readonlyValueTemplate;
|
|
347
325
|
}
|
|
348
326
|
}
|
|
349
|
-
|
|
350
327
|
const iconTemplate = inputs.icon
|
|
351
|
-
? html`
|
|
328
|
+
? html `
|
|
352
329
|
<${ViraIcon.assign({
|
|
353
|
-
|
|
354
|
-
|
|
330
|
+
icon: inputs.icon,
|
|
331
|
+
})}
|
|
355
332
|
class="left-side-icon"
|
|
356
333
|
></${ViraIcon}>
|
|
357
334
|
`
|
|
358
335
|
: nothing;
|
|
359
|
-
|
|
360
336
|
const forcedInputWidthStyles = inputs.fitText
|
|
361
|
-
? css`
|
|
337
|
+
? css `
|
|
362
338
|
width: ${state.forcedInputWidth}px;
|
|
363
339
|
`
|
|
364
340
|
: nothing;
|
|
365
|
-
|
|
366
341
|
const mousedownListener = listen('mousedown', (event) => {
|
|
367
342
|
const eventTarget = extractEventTarget(event, HTMLElement, {
|
|
368
343
|
useOriginalTarget: true,
|
|
369
344
|
});
|
|
370
|
-
const inputElement = assertWrap.instanceOf(
|
|
371
|
-
host.shadowRoot.querySelector('input'),
|
|
372
|
-
HTMLInputElement,
|
|
373
|
-
);
|
|
374
|
-
|
|
345
|
+
const inputElement = assertWrap.instanceOf(host.shadowRoot.querySelector('input'), HTMLInputElement);
|
|
375
346
|
if (eventTarget !== inputElement) {
|
|
376
347
|
event.preventDefault();
|
|
377
348
|
inputElement.focus();
|
|
378
349
|
}
|
|
379
350
|
});
|
|
380
|
-
|
|
381
|
-
const shouldBlockBrowserHelps =
|
|
382
|
-
inputs.disableBrowserHelps ||
|
|
351
|
+
const shouldBlockBrowserHelps = inputs.disableBrowserHelps ||
|
|
383
352
|
/**
|
|
384
353
|
* Some browsers leaks passwords with their browser helps (like Chrome with
|
|
385
354
|
* spellchecking).
|
|
386
355
|
*/
|
|
387
356
|
inputs.type === ViraInputType.Password;
|
|
388
|
-
|
|
389
|
-
const inputTemplate = html`
|
|
357
|
+
const inputTemplate = html `
|
|
390
358
|
<span class="input-wrapper" ${inputs.label ? nothing : mousedownListener}>
|
|
391
359
|
${iconTemplate}
|
|
392
|
-
${renderIf(
|
|
393
|
-
!!inputs.fitText,
|
|
394
|
-
html`
|
|
360
|
+
${renderIf(!!inputs.fitText, html `
|
|
395
361
|
<span
|
|
396
362
|
class="size-span"
|
|
397
|
-
${onResize(({contentRect}) => {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
363
|
+
${onResize(({ contentRect }) => {
|
|
364
|
+
updateState({
|
|
365
|
+
forcedInputWidth: contentRect.width,
|
|
366
|
+
});
|
|
367
|
+
})}
|
|
402
368
|
>
|
|
403
369
|
<pre>${filteredValue || inputs.placeholder || nothing}</pre>
|
|
404
370
|
</span>
|
|
405
|
-
|
|
406
|
-
)}
|
|
371
|
+
`)}
|
|
407
372
|
|
|
408
373
|
<input
|
|
409
374
|
id=${ifDefined(inputs.label ? state.randomId : undefined)}
|
|
@@ -418,86 +383,71 @@ export const ViraInput = defineViraElement<
|
|
|
418
383
|
?disabled=${inputs.disabled}
|
|
419
384
|
.value=${filteredValue}
|
|
420
385
|
${listen('input', (event) => {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
);
|
|
438
|
-
},
|
|
439
|
-
});
|
|
440
|
-
})}
|
|
386
|
+
textInputListener({
|
|
387
|
+
inputs,
|
|
388
|
+
previousValue: filteredValue,
|
|
389
|
+
event,
|
|
390
|
+
inputBlockedCallback(blockedInput) {
|
|
391
|
+
dispatch(new events.inputBlocked({
|
|
392
|
+
detail: blockedInput,
|
|
393
|
+
}));
|
|
394
|
+
},
|
|
395
|
+
newValueCallback(newValue) {
|
|
396
|
+
dispatch(new events.valueChange({
|
|
397
|
+
detail: newValue,
|
|
398
|
+
}));
|
|
399
|
+
},
|
|
400
|
+
});
|
|
401
|
+
})}
|
|
441
402
|
placeholder=${ifDefined(inputs.placeholder || undefined)}
|
|
442
403
|
${attributes(inputs.attributePassthrough)}
|
|
443
404
|
/>
|
|
444
405
|
|
|
445
|
-
${renderIf(
|
|
446
|
-
!!(inputs.showClearButton && inputs.value),
|
|
447
|
-
html`
|
|
406
|
+
${renderIf(!!(inputs.showClearButton && inputs.value), html `
|
|
448
407
|
<button
|
|
449
408
|
class="clear-x-button"
|
|
450
409
|
title="clear"
|
|
451
410
|
${listen('mousedown', (event) => {
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
411
|
+
event.stopImmediatePropagation();
|
|
412
|
+
event.preventDefault();
|
|
413
|
+
})}
|
|
455
414
|
${listen('click', () => {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
);
|
|
464
|
-
})}
|
|
415
|
+
if (inputs.disabled) {
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
dispatch(new events.valueChange({
|
|
419
|
+
detail: '',
|
|
420
|
+
}));
|
|
421
|
+
})}
|
|
465
422
|
>
|
|
466
423
|
<${ViraIcon.assign({
|
|
467
|
-
|
|
468
|
-
|
|
424
|
+
icon: CloseX24Icon,
|
|
425
|
+
})}></${ViraIcon}>
|
|
469
426
|
</button>
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
${renderIf(
|
|
473
|
-
inputs.type === ViraInputType.Password,
|
|
474
|
-
html`
|
|
427
|
+
`)}
|
|
428
|
+
${renderIf(inputs.type === ViraInputType.Password, html `
|
|
475
429
|
<button
|
|
476
430
|
class="show-password-button"
|
|
477
431
|
title="show password"
|
|
478
432
|
${listen('mousedown', (event) => {
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
433
|
+
/** Prevent focus of the input. */
|
|
434
|
+
event.stopImmediatePropagation();
|
|
435
|
+
event.preventDefault();
|
|
436
|
+
})}
|
|
483
437
|
${listen('click', () => {
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
438
|
+
updateState({
|
|
439
|
+
showPassword: !state.showPassword,
|
|
440
|
+
});
|
|
441
|
+
})}
|
|
488
442
|
>
|
|
489
443
|
<${ViraIcon.assign({
|
|
490
|
-
|
|
491
|
-
|
|
444
|
+
icon: state.showPassword ? EyeOpen24Icon : EyeClosed24Icon,
|
|
445
|
+
})}></${ViraIcon}>
|
|
492
446
|
</button>
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
${renderIf(
|
|
496
|
-
!!inputs.suffix,
|
|
497
|
-
html`
|
|
447
|
+
`)}
|
|
448
|
+
${renderIf(!!inputs.suffix, html `
|
|
498
449
|
<div class="suffix">${inputs.suffix}</div>
|
|
499
|
-
|
|
500
|
-
)}
|
|
450
|
+
`)}
|
|
501
451
|
|
|
502
452
|
<!--
|
|
503
453
|
These separate style elements are necessary so that we can select them as
|
|
@@ -509,27 +459,22 @@ export const ViraInput = defineViraElement<
|
|
|
509
459
|
<div class="border-style wrapper-border"></div>
|
|
510
460
|
</span>
|
|
511
461
|
`;
|
|
512
|
-
|
|
513
462
|
if (inputs.label) {
|
|
514
|
-
return html`
|
|
463
|
+
return html `
|
|
515
464
|
<label for=${state.randomId} ${mousedownListener}>
|
|
516
465
|
<span class="input-label">${inputs.label}</span>
|
|
517
466
|
${inputTemplate}
|
|
518
467
|
</label>
|
|
519
468
|
`;
|
|
520
|
-
}
|
|
469
|
+
}
|
|
470
|
+
else {
|
|
521
471
|
return inputTemplate;
|
|
522
472
|
}
|
|
523
473
|
},
|
|
524
474
|
});
|
|
525
|
-
|
|
526
|
-
function calculateEffectiveInputType(
|
|
527
|
-
type: ViraInputType | undefined,
|
|
528
|
-
showPassword: boolean,
|
|
529
|
-
): ViraInputType {
|
|
475
|
+
function calculateEffectiveInputType(type, showPassword) {
|
|
530
476
|
if (type === ViraInputType.Password && showPassword) {
|
|
531
477
|
return ViraInputType.Default;
|
|
532
478
|
}
|
|
533
|
-
|
|
534
479
|
return type || ViraInputType.Default;
|
|
535
480
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type JsonValue, type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
import { ViraJsonType, type ViraJsonSchema } from '../util/vira-json-schema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Editing mode for a string field that offers both a fixed set of enum options and free-form text.
|
|
5
|
+
*
|
|
6
|
+
* @category Internal
|
|
7
|
+
*/
|
|
8
|
+
export declare enum ViraJsonStringMode {
|
|
9
|
+
/** Pick from the schema's enum options via a dropdown. */
|
|
10
|
+
Options = "options",
|
|
11
|
+
/** Enter an arbitrary string via a text input. */
|
|
12
|
+
Custom = "custom"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* An editor for arbitrary JSON values, optionally constrained by a standard JSON Schema
|
|
16
|
+
* ({@link ViraJsonSchema}).
|
|
17
|
+
*
|
|
18
|
+
* @category Elements
|
|
19
|
+
*/
|
|
20
|
+
export declare const ViraJsonForm: import("element-vir").DeclarativeElementDefinition<"vira-json-form", {
|
|
21
|
+
value: JsonValue;
|
|
22
|
+
} & PartialWithUndefined<{
|
|
23
|
+
schema: Readonly<ViraJsonSchema>;
|
|
24
|
+
isDisabled: boolean;
|
|
25
|
+
}>, {
|
|
26
|
+
pendingKeys: Readonly<Record<string, string>>;
|
|
27
|
+
pendingTypes: Readonly<Record<string, ViraJsonType>>;
|
|
28
|
+
pendingArrayValues: Readonly<Record<string, JsonValue>>;
|
|
29
|
+
stringModes: Readonly<Record<string, ViraJsonStringMode>>;
|
|
30
|
+
showRaw: boolean;
|
|
31
|
+
rawDraft: string | undefined;
|
|
32
|
+
rawError: string | undefined;
|
|
33
|
+
}, {
|
|
34
|
+
valueChange: import("element-vir").DefineElementEvent<JsonValue>;
|
|
35
|
+
}, "vira-json-form-", "vira-json-form-", readonly [], readonly []>;
|