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,145 @@
|
|
|
1
|
+
import { type PartialWithUndefined } from '@augment-vir/common';
|
|
2
|
+
import { type FullDate, type Timezone } from 'date-vir';
|
|
3
|
+
import { type HtmlInterpolation } from 'element-vir';
|
|
4
|
+
import { type ViraIconSvg } from '../icons/icon-svg.js';
|
|
5
|
+
import { type ViraSelectOption } from './vira-select-option.js';
|
|
6
|
+
/**
|
|
7
|
+
* Form field types for {@link ViraFormField}.
|
|
8
|
+
*
|
|
9
|
+
* @category Internal
|
|
10
|
+
*/
|
|
11
|
+
export declare enum ViraFormFieldType {
|
|
12
|
+
Text = "text",
|
|
13
|
+
/** Allows auto complete for _existing_ passwords used on this website (for login). */
|
|
14
|
+
ExistingPassword = "existing-password",
|
|
15
|
+
/** Allows auto complete for _new_ passwords used on this website (for login). */
|
|
16
|
+
NewPassword = "new-password",
|
|
17
|
+
/** Uses a password input without any attributes applied for auto complete hints. */
|
|
18
|
+
PlainPassword = "plain-password",
|
|
19
|
+
Email = "email",
|
|
20
|
+
Number = "number",
|
|
21
|
+
Select = "select",
|
|
22
|
+
Checkbox = "checkbox",
|
|
23
|
+
TextArea = "text-area",
|
|
24
|
+
Date = "date"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* {@link ViraFormField} properties that are shared between all field types.
|
|
28
|
+
*
|
|
29
|
+
* @category Internal
|
|
30
|
+
*/
|
|
31
|
+
export type CommonViraFormFields = {
|
|
32
|
+
label: string;
|
|
33
|
+
} & PartialWithUndefined<{
|
|
34
|
+
/** Applies a test id to the form field element. */
|
|
35
|
+
testId: string;
|
|
36
|
+
/**
|
|
37
|
+
* When `true`, visually indicates the form field as required and affects form validation.
|
|
38
|
+
*
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
isRequired: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* When `true`, marks this form field element with error styling.
|
|
44
|
+
*
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
hasError: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* When `true`, hides this form field entirely.
|
|
50
|
+
*
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
isHidden: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* When `true`, continues showing the form field but prevents edits.
|
|
56
|
+
*
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
isDisabled: boolean;
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* An individual form field for {@link ViraFormFields}.
|
|
63
|
+
*
|
|
64
|
+
* @category Internal
|
|
65
|
+
*/
|
|
66
|
+
export type ViraFormField = ({
|
|
67
|
+
type: ViraFormFieldType.Text | ViraFormFieldType.ExistingPassword | ViraFormFieldType.NewPassword | ViraFormFieldType.PlainPassword | ViraFormFieldType.Email;
|
|
68
|
+
value: string | undefined;
|
|
69
|
+
} & PartialWithUndefined<{
|
|
70
|
+
placeholder: string;
|
|
71
|
+
icon: ViraIconSvg;
|
|
72
|
+
isUsername: boolean;
|
|
73
|
+
}> & CommonViraFormFields) | ({
|
|
74
|
+
type: ViraFormFieldType.Select;
|
|
75
|
+
value: string | undefined;
|
|
76
|
+
options: ReadonlyArray<Readonly<ViraSelectOption>>;
|
|
77
|
+
} & PartialWithUndefined<{
|
|
78
|
+
placeholder: string;
|
|
79
|
+
icon: ViraIconSvg;
|
|
80
|
+
}> & CommonViraFormFields) | ({
|
|
81
|
+
type: ViraFormFieldType.Checkbox;
|
|
82
|
+
value: boolean | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Label for the checkbox. Unlike other field types, this accepts arbitrary HTML so the
|
|
85
|
+
* checkbox's label slot can be filled with rich content.
|
|
86
|
+
*/
|
|
87
|
+
label: HtmlInterpolation;
|
|
88
|
+
} & PartialWithUndefined<{
|
|
89
|
+
/** The checkbox will be filled with a form selection color when it is checked. */
|
|
90
|
+
fillWhenChecked: boolean;
|
|
91
|
+
/** The checkbox will be filled with a form error color when it is unchecked. */
|
|
92
|
+
fillWhenUnchecked: boolean;
|
|
93
|
+
}> & Omit<CommonViraFormFields, 'label'>) | ({
|
|
94
|
+
type: ViraFormFieldType.Number;
|
|
95
|
+
value: number | undefined;
|
|
96
|
+
} & PartialWithUndefined<{
|
|
97
|
+
placeholder: string;
|
|
98
|
+
icon: ViraIconSvg;
|
|
99
|
+
min: number;
|
|
100
|
+
max: number;
|
|
101
|
+
step: number;
|
|
102
|
+
}> & CommonViraFormFields) | ({
|
|
103
|
+
type: ViraFormFieldType.TextArea;
|
|
104
|
+
value: string | undefined;
|
|
105
|
+
} & PartialWithUndefined<{
|
|
106
|
+
placeholder: string;
|
|
107
|
+
rows: number;
|
|
108
|
+
preventResize: boolean;
|
|
109
|
+
}> & CommonViraFormFields) | ({
|
|
110
|
+
type: ViraFormFieldType.Date;
|
|
111
|
+
value: FullDate | undefined;
|
|
112
|
+
} & PartialWithUndefined<{
|
|
113
|
+
/** Lower bound for selectable dates. Defaults to `1800-01-01` when omitted. */
|
|
114
|
+
min: FullDate;
|
|
115
|
+
/** Upper bound for selectable dates. Defaults to 10 years from now when omitted. */
|
|
116
|
+
max: FullDate;
|
|
117
|
+
/** Timezone used to interpret the selected date. Defaults to the user's timezone. */
|
|
118
|
+
timezone: Timezone;
|
|
119
|
+
/** Only show the date part of the selected date when in readonly mode. */
|
|
120
|
+
showDateOnly: boolean;
|
|
121
|
+
/** Only show the time part of the selected date when in readonly mode. */
|
|
122
|
+
showTimeOnly: boolean;
|
|
123
|
+
}> & CommonViraFormFields);
|
|
124
|
+
/**
|
|
125
|
+
* A collection of form fields for `ViraForm`.
|
|
126
|
+
*
|
|
127
|
+
* @category Internal
|
|
128
|
+
*/
|
|
129
|
+
export type ViraFormFields = Record<string, ViraFormField>;
|
|
130
|
+
/**
|
|
131
|
+
* Appends a `'*'` to a label if it exist sand if it is required.
|
|
132
|
+
*
|
|
133
|
+
* @category Internal
|
|
134
|
+
*/
|
|
135
|
+
export declare function applyRequiredLabel(label: string | undefined, isRequired: boolean): string | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Checks if all the {@link ViraFormField} entries in a given {@link ViraFormFields} are valid through
|
|
138
|
+
* the following checks:
|
|
139
|
+
*
|
|
140
|
+
* - Checks that required fields are provided (not `undefined`)
|
|
141
|
+
* - Ignores hidden fields
|
|
142
|
+
*
|
|
143
|
+
* @category Internal
|
|
144
|
+
*/
|
|
145
|
+
export declare function areFormFieldsValid(formFields: Readonly<ViraFormFields>): boolean;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { check } from '@augment-vir/assert';
|
|
2
|
+
import { addSuffix, getObjectTypedValues } from '@augment-vir/common';
|
|
3
|
+
/**
|
|
4
|
+
* Form field types for {@link ViraFormField}.
|
|
5
|
+
*
|
|
6
|
+
* @category Internal
|
|
7
|
+
*/
|
|
8
|
+
export var ViraFormFieldType;
|
|
9
|
+
(function (ViraFormFieldType) {
|
|
10
|
+
ViraFormFieldType["Text"] = "text";
|
|
11
|
+
/** Allows auto complete for _existing_ passwords used on this website (for login). */
|
|
12
|
+
ViraFormFieldType["ExistingPassword"] = "existing-password";
|
|
13
|
+
/** Allows auto complete for _new_ passwords used on this website (for login). */
|
|
14
|
+
ViraFormFieldType["NewPassword"] = "new-password";
|
|
15
|
+
/** Uses a password input without any attributes applied for auto complete hints. */
|
|
16
|
+
ViraFormFieldType["PlainPassword"] = "plain-password";
|
|
17
|
+
ViraFormFieldType["Email"] = "email";
|
|
18
|
+
ViraFormFieldType["Number"] = "number";
|
|
19
|
+
ViraFormFieldType["Select"] = "select";
|
|
20
|
+
ViraFormFieldType["Checkbox"] = "checkbox";
|
|
21
|
+
ViraFormFieldType["TextArea"] = "text-area";
|
|
22
|
+
ViraFormFieldType["Date"] = "date";
|
|
23
|
+
})(ViraFormFieldType || (ViraFormFieldType = {}));
|
|
24
|
+
/**
|
|
25
|
+
* Appends a `'*'` to a label if it exist sand if it is required.
|
|
26
|
+
*
|
|
27
|
+
* @category Internal
|
|
28
|
+
*/
|
|
29
|
+
export function applyRequiredLabel(label, isRequired) {
|
|
30
|
+
if (label) {
|
|
31
|
+
if (isRequired) {
|
|
32
|
+
return addSuffix({
|
|
33
|
+
value: label,
|
|
34
|
+
suffix: '*',
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return label;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Checks if all the {@link ViraFormField} entries in a given {@link ViraFormFields} are valid through
|
|
47
|
+
* the following checks:
|
|
48
|
+
*
|
|
49
|
+
* - Checks that required fields are provided (not `undefined`)
|
|
50
|
+
* - Ignores hidden fields
|
|
51
|
+
*
|
|
52
|
+
* @category Internal
|
|
53
|
+
*/
|
|
54
|
+
export function areFormFieldsValid(formFields) {
|
|
55
|
+
return getObjectTypedValues(formFields).every((formField) => {
|
|
56
|
+
if (formField.isHidden || !formField.isRequired) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
else if (check.isString(formField.value)) {
|
|
60
|
+
return !!formField.value;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return formField.value != undefined;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { type JsonValue } from '@augment-vir/common';
|
|
2
|
+
import { type JSONSchema } from 'json-schema-to-ts';
|
|
3
|
+
/**
|
|
4
|
+
* The JSON Schema type used by `ViraJsonForm`. Re-exported from `json-schema-to-ts` so that callers
|
|
5
|
+
* can pass standard JSON Schema objects.
|
|
6
|
+
*
|
|
7
|
+
* @category Internal
|
|
8
|
+
*/
|
|
9
|
+
export type ViraJsonSchema = JSONSchema;
|
|
10
|
+
/**
|
|
11
|
+
* A non-boolean JSON Schema object. Boolean schemas (`true` / `false`) are valid JSON Schemas but
|
|
12
|
+
* don't constrain the editor in useful ways, so we normalize them away during traversal.
|
|
13
|
+
*
|
|
14
|
+
* @category Internal
|
|
15
|
+
*/
|
|
16
|
+
export type ViraJsonSchemaObject = Exclude<ViraJsonSchema, boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* The JSON types supported by `ViraJsonForm`.
|
|
19
|
+
*
|
|
20
|
+
* @category Internal
|
|
21
|
+
*/
|
|
22
|
+
export declare enum ViraJsonType {
|
|
23
|
+
String = "string",
|
|
24
|
+
Number = "number",
|
|
25
|
+
Integer = "integer",
|
|
26
|
+
Boolean = "boolean",
|
|
27
|
+
Null = "null",
|
|
28
|
+
Object = "object",
|
|
29
|
+
Array = "array"
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Human-friendly labels for each {@link ViraJsonType}.
|
|
33
|
+
*
|
|
34
|
+
* @category Internal
|
|
35
|
+
*/
|
|
36
|
+
export declare const viraJsonTypeLabels: Readonly<Record<ViraJsonType, string>>;
|
|
37
|
+
/**
|
|
38
|
+
* Classifies a JSON value's runtime type. Note that {@link ViraJsonType.Integer} is never returned;
|
|
39
|
+
* it only appears in schemas. All numbers (whole or fractional) classify as
|
|
40
|
+
* {@link ViraJsonType.Number}, since JSON has no separate integer type at runtime.
|
|
41
|
+
*
|
|
42
|
+
* @category Internal
|
|
43
|
+
*/
|
|
44
|
+
export declare function getJsonType(value: JsonValue | undefined): ViraJsonType;
|
|
45
|
+
/**
|
|
46
|
+
* Normalizes a schema to a non-boolean object form. `true` becomes an unconstrained schema (`{}`),
|
|
47
|
+
* `false` becomes `undefined` (nothing is allowed; treated as "no schema available").
|
|
48
|
+
*
|
|
49
|
+
* @category Internal
|
|
50
|
+
*/
|
|
51
|
+
export declare function normalizeSchema(schema: ViraJsonSchema | undefined): ViraJsonSchemaObject | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Context used while resolving `$ref` entries against a root schema's `$defs` (or `definitions`)
|
|
54
|
+
* map. A stack of seen refs prevents infinite recursion from cyclical schemas.
|
|
55
|
+
*
|
|
56
|
+
* @category Internal
|
|
57
|
+
*/
|
|
58
|
+
export type SchemaResolveContext = {
|
|
59
|
+
root: ViraJsonSchemaObject | undefined;
|
|
60
|
+
seenRefs: ReadonlySet<string>;
|
|
61
|
+
};
|
|
62
|
+
/** @category Internal */
|
|
63
|
+
export declare function createResolveContext(schema: ViraJsonSchema | undefined): SchemaResolveContext;
|
|
64
|
+
/**
|
|
65
|
+
* Resolves a schema through `$ref` (via its root's `$defs`/`definitions`), returning the resolved
|
|
66
|
+
* schema and an updated resolve context. Non-ref schemas are returned as-is.
|
|
67
|
+
*
|
|
68
|
+
* @category Internal
|
|
69
|
+
*/
|
|
70
|
+
export declare function resolveSchema(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): {
|
|
71
|
+
resolved: ViraJsonSchemaObject | undefined;
|
|
72
|
+
context: SchemaResolveContext;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Flattens `anyOf` / `oneOf` branches into a single list of non-union schemas so that the editor
|
|
76
|
+
* can treat them uniformly.
|
|
77
|
+
*
|
|
78
|
+
* @category Internal
|
|
79
|
+
*/
|
|
80
|
+
export declare function expandSchemaBranches(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<ViraJsonSchemaObject>;
|
|
81
|
+
/**
|
|
82
|
+
* Computes the set of JSON types that a given schema allows.
|
|
83
|
+
*
|
|
84
|
+
* @category Internal
|
|
85
|
+
*/
|
|
86
|
+
export declare function getAllowedJsonTypes(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<ViraJsonType>;
|
|
87
|
+
/** @category Internal */
|
|
88
|
+
export declare function createDefaultForJsonType(type: ViraJsonType): JsonValue;
|
|
89
|
+
/**
|
|
90
|
+
* Picks the first schema branch whose `type` contains (or is) the given JSON type. Used to narrow
|
|
91
|
+
* the schema when traversing into a concrete value.
|
|
92
|
+
*
|
|
93
|
+
* @category Internal
|
|
94
|
+
*/
|
|
95
|
+
export declare function pickBranchForType(schema: ViraJsonSchema | undefined, valueType: ViraJsonType, context: SchemaResolveContext): ViraJsonSchemaObject | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Finds the sub-schema for a given object property key, considering `properties`,
|
|
98
|
+
* `patternProperties`, and `additionalProperties`.
|
|
99
|
+
*
|
|
100
|
+
* @category Internal
|
|
101
|
+
*/
|
|
102
|
+
export declare function getPropertySchema(parentSchema: ViraJsonSchema | undefined, key: string, context: SchemaResolveContext): ViraJsonSchema | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Finds the sub-schema for an array item at a given index, considering tuple `items` arrays and
|
|
105
|
+
* `additionalItems` fallbacks.
|
|
106
|
+
*
|
|
107
|
+
* @category Internal
|
|
108
|
+
*/
|
|
109
|
+
export declare function getItemSchema(parentSchema: ViraJsonSchema | undefined, index: number, context: SchemaResolveContext): ViraJsonSchema | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Returns the schema used when appending a new item to an array. Falls back to `additionalItems`
|
|
112
|
+
* when `items` is a tuple array and the new index is beyond the tuple's length.
|
|
113
|
+
*
|
|
114
|
+
* @category Internal
|
|
115
|
+
*/
|
|
116
|
+
export declare function getNewItemSchema(parentSchema: ViraJsonSchema | undefined, currentLength: number, context: SchemaResolveContext): ViraJsonSchema | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Returns the schema used when adding an arbitrary new field to an object. When no schema is
|
|
119
|
+
* provided at all the editor is unconstrained, so additions are allowed; once a schema is provided,
|
|
120
|
+
* additions are only allowed when the schema explicitly opts in via `additionalProperties: true` or
|
|
121
|
+
* an `additionalProperties` sub-schema. This is stricter than JSON Schema's `true` default — UI
|
|
122
|
+
* authors must opt in.
|
|
123
|
+
*
|
|
124
|
+
* @category Internal
|
|
125
|
+
*/
|
|
126
|
+
export declare function getAdditionalPropertiesSchema(parentSchema: ViraJsonSchema | undefined, context: SchemaResolveContext): {
|
|
127
|
+
allowed: boolean;
|
|
128
|
+
schema: ViraJsonSchema | undefined;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Returns the `enum` values defined by any resolved branch of a schema. Aggregates across
|
|
132
|
+
* `anyOf`/`oneOf` branches and includes `const` values so the editor can offer them as a select.
|
|
133
|
+
*
|
|
134
|
+
* @category Internal
|
|
135
|
+
*/
|
|
136
|
+
export declare function getSchemaEnumValues(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<JsonValue> | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* Collects the string `enum`/`const` values declared by any branch of a schema, ignoring branches
|
|
139
|
+
* that declare no enum/const. Unlike {@link getSchemaEnumValues}, a schema that mixes an enum branch
|
|
140
|
+
* with a free-form branch still yields the enum values (rather than bailing out). Non-string enum
|
|
141
|
+
* entries are excluded.
|
|
142
|
+
*
|
|
143
|
+
* @category Internal
|
|
144
|
+
*/
|
|
145
|
+
export declare function getStringEnumValues(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<string>;
|
|
146
|
+
/**
|
|
147
|
+
* Returns whether the schema permits an arbitrary (non-enum, non-const) string in any of its
|
|
148
|
+
* branches. Used alongside {@link getStringEnumValues} to detect fields that accept both a fixed set
|
|
149
|
+
* of enum options and free-form text.
|
|
150
|
+
*
|
|
151
|
+
* @category Internal
|
|
152
|
+
*/
|
|
153
|
+
export declare function allowsFreeformString(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Returns the list of required property names declared by the object branch of a schema.
|
|
156
|
+
*
|
|
157
|
+
* @category Internal
|
|
158
|
+
*/
|
|
159
|
+
export declare function getRequiredProperties(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<string>;
|
|
160
|
+
/**
|
|
161
|
+
* Returns the `properties` map declared by the object branch of a schema, or an empty record when
|
|
162
|
+
* none is defined.
|
|
163
|
+
*
|
|
164
|
+
* @category Internal
|
|
165
|
+
*/
|
|
166
|
+
export declare function getDefinedProperties(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): Readonly<Record<string, ViraJsonSchema>>;
|
|
167
|
+
/**
|
|
168
|
+
* Reads the title of a schema's first resolved branch (for display purposes).
|
|
169
|
+
*
|
|
170
|
+
* @category Internal
|
|
171
|
+
*/
|
|
172
|
+
export declare function getSchemaTitle(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): string | undefined;
|
|
173
|
+
/**
|
|
174
|
+
* Validates a JSON value against the (loose) JSON Schema subset supported by `ViraJsonForm`.
|
|
175
|
+
* Returns a list of human-readable error messages; an empty array means the value is valid. Only
|
|
176
|
+
* the constraints understood by the editor (`type`, `required`, `properties`, `additionalProperties
|
|
177
|
+
* = false`, `items`, `enum`, `const`, `anyOf`, `oneOf`, `$ref`) are checked.
|
|
178
|
+
*
|
|
179
|
+
* @category Internal
|
|
180
|
+
*/
|
|
181
|
+
export declare function validateAgainstSchema(value: JsonValue, schema: ViraJsonSchema | undefined): ReadonlyArray<string>;
|
|
182
|
+
/**
|
|
183
|
+
* Type of a JSON path element. `string` selects an object key; `number` selects an array index.
|
|
184
|
+
*
|
|
185
|
+
* @category Internal
|
|
186
|
+
*/
|
|
187
|
+
export type ViraJsonPath = ReadonlyArray<string | number>;
|
|
188
|
+
/** @category Internal */
|
|
189
|
+
export declare function pathToKey(path: ViraJsonPath): string;
|
|
190
|
+
/**
|
|
191
|
+
* Returns a new JSON value where the value at `path` has been replaced with `newValue`.
|
|
192
|
+
*
|
|
193
|
+
* @category Internal
|
|
194
|
+
*/
|
|
195
|
+
export declare function setValueAtPath({ root, path, newValue, }: Readonly<{
|
|
196
|
+
root: JsonValue;
|
|
197
|
+
path: ViraJsonPath;
|
|
198
|
+
newValue: JsonValue;
|
|
199
|
+
}>): JsonValue;
|
|
200
|
+
/**
|
|
201
|
+
* Returns a new JSON value where the value at `path` has been removed. If `path` targets an object
|
|
202
|
+
* key, the key is deleted; if it targets an array index, the item is spliced out.
|
|
203
|
+
*
|
|
204
|
+
* @category Internal
|
|
205
|
+
*/
|
|
206
|
+
export declare function deleteValueAtPath(root: JsonValue, path: ViraJsonPath): JsonValue;
|