@threadlabs/looma 0.24.0 → 0.25.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/README.md +1 -1
- package/components/shared/overlay.js +10 -2
- package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
- package/components/ui-affordance-scope/ui-affordance-scope.js +6 -1
- package/components/ui-avatar/ui-avatar.html +4 -4
- package/components/ui-avatar/ui-avatar.js +6 -1
- package/components/ui-avatar-group/ui-avatar-group.html +2 -2
- package/components/ui-avatar-group/ui-avatar-group.js +6 -1
- package/components/ui-badge/ui-badge.html +30 -30
- package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +1 -1
- package/components/ui-button/ui-button.html +33 -33
- package/components/ui-button/ui-button.js +6 -1
- package/components/ui-callout/ui-callout.html +4 -4
- package/components/ui-card/ui-card.html +9 -9
- package/components/ui-checkbox/ui-checkbox.html +11 -11
- package/components/ui-checkbox/ui-checkbox.js +6 -1
- package/components/ui-cluster/ui-cluster.html +12 -12
- package/components/ui-combobox/ui-combobox.html +15 -17
- package/components/ui-combobox/ui-combobox.js +13 -15
- package/components/ui-container/ui-container.html +5 -5
- package/components/ui-context-menu/ui-context-menu.js +6 -1
- package/components/ui-cover/ui-cover.html +1 -1
- package/components/ui-description-list/ui-description-list.html +10 -10
- package/components/ui-dialog/ui-dialog.html +4 -4
- package/components/ui-dialog/ui-dialog.js +6 -1
- package/components/ui-disclosure/ui-disclosure.html +13 -13
- package/components/ui-disclosure/ui-disclosure.js +6 -1
- package/components/ui-editable/ui-editable.html +1 -1
- package/components/ui-editable/ui-editable.js +6 -1
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +6 -1
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +6 -1
- package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +6 -1
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +6 -1
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +6 -1
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +6 -1
- package/components/ui-editor-toolbar/ui-editor-toolbar.html +4 -4
- package/components/ui-editor-toolbar/ui-editor-toolbar.js +6 -1
- package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
- package/components/ui-form-field/ui-form-field.html +1 -1
- package/components/ui-form-field/ui-form-field.js +6 -1
- package/components/ui-grid/ui-grid.html +7 -7
- package/components/ui-icon-button/ui-icon-button.html +26 -26
- package/components/ui-icon-button/ui-icon-button.js +6 -1
- package/components/ui-image/ui-image.html +11 -11
- package/components/ui-image/ui-image.js +6 -1
- package/components/ui-input/ui-input.html +9 -7
- package/components/ui-input/ui-input.js +6 -1
- package/components/ui-input-group/ui-input-group.html +3 -3
- package/components/ui-input-group/ui-input-group.js +6 -1
- package/components/ui-list/ui-list.html +6 -6
- package/components/ui-list-item/ui-list-item.html +8 -8
- package/components/ui-listbox/ui-listbox.js +6 -1
- package/components/ui-menu/ui-menu.html +3 -3
- package/components/ui-menu/ui-menu.js +6 -1
- package/components/ui-menu-item/ui-menu-item.html +3 -3
- package/components/ui-menu-item/ui-menu-item.js +6 -1
- package/components/ui-meter/ui-meter.html +7 -7
- package/components/ui-nav-item/ui-nav-item.html +6 -6
- package/components/ui-page-header/ui-page-header.html +2 -2
- package/components/ui-popover/ui-popover.html +3 -3
- package/components/ui-popover/ui-popover.js +6 -1
- package/components/ui-radio/ui-radio.html +10 -10
- package/components/ui-radio/ui-radio.js +6 -1
- package/components/ui-radio-group/ui-radio-group.html +2 -2
- package/components/ui-radio-group/ui-radio-group.js +6 -1
- package/components/ui-reel/ui-reel.html +11 -11
- package/components/ui-scroll-area/ui-scroll-area.html +4 -4
- package/components/ui-scroll-area/ui-scroll-area.js +6 -1
- package/components/ui-search-result-row/ui-search-result-row.html +5 -5
- package/components/ui-search-shell/ui-search-shell.js +6 -1
- package/components/ui-section/ui-section.html +4 -4
- package/components/ui-select/ui-select.html +3 -3
- package/components/ui-select/ui-select.js +6 -1
- package/components/ui-separator/ui-separator.html +4 -4
- package/components/ui-sidebar/ui-sidebar.html +6 -6
- package/components/ui-sidebar/ui-sidebar.js +6 -1
- package/components/ui-spinner/ui-spinner.html +1 -1
- package/components/ui-stack/ui-stack.html +12 -12
- package/components/ui-status-message/ui-status-message.html +4 -4
- package/components/ui-switch/ui-switch.html +11 -11
- package/components/ui-switch/ui-switch.js +6 -1
- package/components/ui-switcher/ui-switcher.html +11 -11
- package/components/ui-switcher/ui-switcher.js +6 -1
- package/components/ui-table/ui-table.html +2 -2
- package/components/ui-table/ui-table.js +6 -1
- package/components/ui-tabs/ui-tabs.html +8 -8
- package/components/ui-tabs/ui-tabs.js +6 -1
- package/components/ui-text/ui-text.html +20 -20
- package/components/ui-textarea/ui-textarea.html +4 -4
- package/components/ui-textarea/ui-textarea.js +6 -1
- package/components/ui-toast/ui-toast.html +4 -4
- package/components/ui-toast/ui-toast.js +6 -1
- package/components/ui-toast-region/ui-toast-region.html +16 -11
- package/components/ui-toast-region/ui-toast-region.js +12 -9
- package/components/ui-tooltip/ui-tooltip.html +1 -1
- package/components/ui-tooltip/ui-tooltip.js +6 -1
- package/components/ui-tree/ui-tree.html +2 -2
- package/components/ui-tree/ui-tree.js +6 -1
- package/components/ui-tree-item/ui-tree-item.html +4 -4
- package/components/ui-tree-item/ui-tree-item.js +6 -1
- package/dist/index.js +10 -4
- package/package.json +3 -3
- package/styles/ui-action-bar.css +1 -1
- package/styles/ui-affordance-scope.css +1 -1
- package/styles/ui-avatar-group.css +1 -1
- package/styles/ui-avatar.css +1 -1
- package/styles/ui-badge.css +1 -1
- package/styles/ui-breadcrumb-item.css +1 -1
- package/styles/ui-breadcrumbs.css +1 -1
- package/styles/ui-button.css +1 -1
- package/styles/ui-callout.css +1 -1
- package/styles/ui-card.css +1 -1
- package/styles/ui-checkbox.css +1 -1
- package/styles/ui-cluster.css +1 -1
- package/styles/ui-combobox.css +1 -1
- package/styles/ui-container.css +1 -1
- package/styles/ui-context-menu.css +1 -1
- package/styles/ui-cover.css +1 -1
- package/styles/ui-description-item.css +1 -1
- package/styles/ui-description-list.css +1 -1
- package/styles/ui-dialog.css +1 -1
- package/styles/ui-disclosure.css +2 -2
- package/styles/ui-editable.css +1 -1
- package/styles/ui-editor-insert-table-grid.css +1 -1
- package/styles/ui-editor-mention-menu-item.css +1 -1
- package/styles/ui-editor-mention-menu.css +1 -1
- package/styles/ui-editor-slash-menu-group.css +1 -1
- package/styles/ui-editor-slash-menu-item.css +1 -1
- package/styles/ui-editor-slash-menu.css +1 -1
- package/styles/ui-editor-table-context-menu.css +1 -1
- package/styles/ui-editor-table-overlay.css +1 -1
- package/styles/ui-editor-table-toolbar.css +1 -1
- package/styles/ui-editor-toolbar.css +1 -1
- package/styles/ui-floating-action-button.css +1 -1
- package/styles/ui-form-field.css +1 -1
- package/styles/ui-grid.css +1 -1
- package/styles/ui-icon-button.css +1 -1
- package/styles/ui-icon.css +1 -1
- package/styles/ui-image.css +1 -1
- package/styles/ui-input-group.css +1 -1
- package/styles/ui-input.css +1 -1
- package/styles/ui-list-item.css +1 -1
- package/styles/ui-list.css +1 -1
- package/styles/ui-listbox.css +1 -1
- package/styles/ui-menu-group.css +1 -1
- package/styles/ui-menu-item.css +1 -1
- package/styles/ui-menu.css +1 -1
- package/styles/ui-meter.css +1 -1
- package/styles/ui-nav-item.css +1 -1
- package/styles/ui-page-header.css +1 -1
- package/styles/ui-popover.css +1 -1
- package/styles/ui-radio-group.css +1 -1
- package/styles/ui-radio.css +1 -1
- package/styles/ui-reel.css +1 -1
- package/styles/ui-scroll-area.css +1 -1
- package/styles/ui-search-result-row.css +1 -1
- package/styles/ui-search-shell.css +1 -1
- package/styles/ui-section.css +1 -1
- package/styles/ui-select.css +1 -1
- package/styles/ui-separator.css +1 -1
- package/styles/ui-sidebar.css +2 -2
- package/styles/ui-spinner.css +1 -1
- package/styles/ui-stack.css +1 -1
- package/styles/ui-status-message.css +1 -1
- package/styles/ui-switch.css +1 -1
- package/styles/ui-switcher.css +1 -1
- package/styles/ui-table.css +1 -1
- package/styles/ui-tabs.css +1 -1
- package/styles/ui-text.css +1 -1
- package/styles/ui-textarea.css +1 -1
- package/styles/ui-toast-region.css +1 -1
- package/styles/ui-toast.css +1 -1
- package/styles/ui-tooltip.css +1 -1
- package/styles/ui-top-bar.css +1 -1
- package/styles/ui-tree-item.css +1 -1
- package/styles/ui-tree.css +1 -1
- package/vanilla/UiActionBar.d.ts +1 -1
- package/vanilla/UiActionBar.js +1 -1
- package/vanilla/UiAffordanceScope.d.ts +1 -1
- package/vanilla/UiAffordanceScope.js +1 -1
- package/vanilla/UiAvatar.d.ts +1 -1
- package/vanilla/UiAvatar.js +1 -1
- package/vanilla/UiAvatarGroup.d.ts +1 -1
- package/vanilla/UiAvatarGroup.js +1 -1
- package/vanilla/UiBadge.d.ts +1 -1
- package/vanilla/UiBadge.js +1 -1
- package/vanilla/UiBreadcrumbItem.d.ts +1 -1
- package/vanilla/UiBreadcrumbItem.js +1 -1
- package/vanilla/UiBreadcrumbs.d.ts +1 -1
- package/vanilla/UiBreadcrumbs.js +1 -1
- package/vanilla/UiButton.d.ts +1 -1
- package/vanilla/UiButton.js +1 -1
- package/vanilla/UiCallout.d.ts +1 -1
- package/vanilla/UiCallout.js +1 -1
- package/vanilla/UiCard.d.ts +1 -1
- package/vanilla/UiCard.js +1 -1
- package/vanilla/UiCheckbox.d.ts +1 -1
- package/vanilla/UiCheckbox.js +1 -1
- package/vanilla/UiCluster.d.ts +1 -1
- package/vanilla/UiCluster.js +1 -1
- package/vanilla/UiCombobox.d.ts +1 -3
- package/vanilla/UiCombobox.js +2 -2
- package/vanilla/UiContainer.d.ts +1 -1
- package/vanilla/UiContainer.js +1 -1
- package/vanilla/UiContextMenu.d.ts +1 -1
- package/vanilla/UiContextMenu.js +1 -1
- package/vanilla/UiCover.d.ts +1 -1
- package/vanilla/UiCover.js +1 -1
- package/vanilla/UiDescriptionItem.d.ts +1 -1
- package/vanilla/UiDescriptionItem.js +1 -1
- package/vanilla/UiDescriptionList.d.ts +1 -1
- package/vanilla/UiDescriptionList.js +1 -1
- package/vanilla/UiDialog.d.ts +1 -1
- package/vanilla/UiDialog.js +1 -1
- package/vanilla/UiDisclosure.d.ts +1 -1
- package/vanilla/UiDisclosure.js +1 -1
- package/vanilla/UiEditable.d.ts +1 -1
- package/vanilla/UiEditable.js +1 -1
- package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
- package/vanilla/UiEditorInsertTableGrid.js +1 -1
- package/vanilla/UiEditorMentionMenu.d.ts +1 -1
- package/vanilla/UiEditorMentionMenu.js +1 -1
- package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
- package/vanilla/UiEditorMentionMenuItem.js +1 -1
- package/vanilla/UiEditorSlashMenu.d.ts +1 -1
- package/vanilla/UiEditorSlashMenu.js +1 -1
- package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
- package/vanilla/UiEditorSlashMenuGroup.js +1 -1
- package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
- package/vanilla/UiEditorSlashMenuItem.js +1 -1
- package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
- package/vanilla/UiEditorTableContextMenu.js +1 -1
- package/vanilla/UiEditorTableOverlay.d.ts +1 -1
- package/vanilla/UiEditorTableOverlay.js +1 -1
- package/vanilla/UiEditorTableToolbar.d.ts +1 -1
- package/vanilla/UiEditorTableToolbar.js +1 -1
- package/vanilla/UiEditorToolbar.d.ts +1 -1
- package/vanilla/UiEditorToolbar.js +1 -1
- package/vanilla/UiFloatingActionButton.d.ts +1 -1
- package/vanilla/UiFloatingActionButton.js +1 -1
- package/vanilla/UiFormField.d.ts +1 -1
- package/vanilla/UiFormField.js +1 -1
- package/vanilla/UiGrid.d.ts +1 -1
- package/vanilla/UiGrid.js +1 -1
- package/vanilla/UiIcon.d.ts +1 -1
- package/vanilla/UiIcon.js +1 -1
- package/vanilla/UiIconButton.d.ts +1 -1
- package/vanilla/UiIconButton.js +1 -1
- package/vanilla/UiImage.d.ts +1 -1
- package/vanilla/UiImage.js +1 -1
- package/vanilla/UiInput.d.ts +4 -4
- package/vanilla/UiInput.js +2 -2
- package/vanilla/UiInputGroup.d.ts +1 -1
- package/vanilla/UiInputGroup.js +1 -1
- package/vanilla/UiList.d.ts +1 -1
- package/vanilla/UiList.js +1 -1
- package/vanilla/UiListItem.d.ts +1 -1
- package/vanilla/UiListItem.js +1 -1
- package/vanilla/UiListbox.d.ts +1 -1
- package/vanilla/UiListbox.js +1 -1
- package/vanilla/UiMenu.d.ts +1 -1
- package/vanilla/UiMenu.js +1 -1
- package/vanilla/UiMenuGroup.d.ts +1 -1
- package/vanilla/UiMenuGroup.js +1 -1
- package/vanilla/UiMenuItem.d.ts +1 -1
- package/vanilla/UiMenuItem.js +1 -1
- package/vanilla/UiMeter.d.ts +1 -1
- package/vanilla/UiMeter.js +1 -1
- package/vanilla/UiNavItem.d.ts +1 -1
- package/vanilla/UiNavItem.js +1 -1
- package/vanilla/UiPageHeader.d.ts +1 -1
- package/vanilla/UiPageHeader.js +1 -1
- package/vanilla/UiPopover.d.ts +1 -1
- package/vanilla/UiPopover.js +1 -1
- package/vanilla/UiRadio.d.ts +1 -1
- package/vanilla/UiRadio.js +1 -1
- package/vanilla/UiRadioGroup.d.ts +1 -1
- package/vanilla/UiRadioGroup.js +1 -1
- package/vanilla/UiReel.d.ts +1 -1
- package/vanilla/UiReel.js +1 -1
- package/vanilla/UiScrollArea.d.ts +1 -1
- package/vanilla/UiScrollArea.js +1 -1
- package/vanilla/UiSearchResultRow.d.ts +1 -1
- package/vanilla/UiSearchResultRow.js +1 -1
- package/vanilla/UiSearchShell.d.ts +1 -1
- package/vanilla/UiSearchShell.js +1 -1
- package/vanilla/UiSection.d.ts +1 -1
- package/vanilla/UiSection.js +1 -1
- package/vanilla/UiSelect.d.ts +1 -1
- package/vanilla/UiSelect.js +1 -1
- package/vanilla/UiSeparator.d.ts +1 -1
- package/vanilla/UiSeparator.js +1 -1
- package/vanilla/UiSidebar.d.ts +1 -1
- package/vanilla/UiSidebar.js +1 -1
- package/vanilla/UiSpinner.d.ts +1 -1
- package/vanilla/UiSpinner.js +1 -1
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +1 -1
- package/vanilla/UiStatusMessage.d.ts +1 -1
- package/vanilla/UiStatusMessage.js +1 -1
- package/vanilla/UiSwitch.d.ts +1 -1
- package/vanilla/UiSwitch.js +1 -1
- package/vanilla/UiSwitcher.d.ts +1 -1
- package/vanilla/UiSwitcher.js +1 -1
- package/vanilla/UiTable.d.ts +1 -1
- package/vanilla/UiTable.js +1 -1
- package/vanilla/UiTabs.d.ts +1 -1
- package/vanilla/UiTabs.js +1 -1
- package/vanilla/UiText.d.ts +1 -1
- package/vanilla/UiText.js +1 -1
- package/vanilla/UiTextarea.d.ts +1 -1
- package/vanilla/UiTextarea.js +1 -1
- package/vanilla/UiToast.d.ts +1 -1
- package/vanilla/UiToast.js +1 -1
- package/vanilla/UiToastRegion.d.ts +2 -2
- package/vanilla/UiToastRegion.js +2 -2
- package/vanilla/UiTooltip.d.ts +1 -1
- package/vanilla/UiTooltip.js +1 -1
- package/vanilla/UiTopBar.d.ts +1 -1
- package/vanilla/UiTopBar.js +1 -1
- package/vanilla/UiTree.d.ts +1 -1
- package/vanilla/UiTree.js +1 -1
- package/vanilla/UiTreeItem.d.ts +1 -1
- package/vanilla/UiTreeItem.js +1 -1
- package/vue/UiActionBar.vue +1 -1
- package/vue/UiAffordanceScope.vue +8 -1
- package/vue/UiAvatar.d.ts +6 -9
- package/vue/UiAvatar.vue +71 -20
- package/vue/UiAvatarGroup.d.ts +7 -10
- package/vue/UiAvatarGroup.vue +45 -12
- package/vue/UiBadge.vue +1 -1
- package/vue/UiBreadcrumbItem.vue +1 -1
- package/vue/UiBreadcrumbs.vue +1 -1
- package/vue/UiButton.vue +1 -1
- package/vue/UiCallout.vue +1 -1
- package/vue/UiCard.vue +1 -1
- package/vue/UiCheckbox.d.ts +8 -11
- package/vue/UiCheckbox.vue +34 -11
- package/vue/UiCluster.vue +1 -1
- package/vue/UiCombobox.d.ts +60 -66
- package/vue/UiCombobox.vue +476 -124
- package/vue/UiContainer.vue +1 -1
- package/vue/UiContextMenu.vue +18 -9
- package/vue/UiCover.vue +1 -1
- package/vue/UiDescriptionItem.vue +1 -1
- package/vue/UiDescriptionList.vue +1 -1
- package/vue/UiDialog.d.ts +8 -11
- package/vue/UiDialog.vue +39 -12
- package/vue/UiDisclosure.d.ts +12 -15
- package/vue/UiDisclosure.vue +70 -24
- package/vue/UiEditable.d.ts +3 -3
- package/vue/UiEditable.vue +60 -21
- package/vue/UiEditorInsertTableGrid.d.ts +2 -2
- package/vue/UiEditorInsertTableGrid.vue +75 -14
- package/vue/UiEditorMentionMenu.d.ts +10 -13
- package/vue/UiEditorMentionMenu.vue +50 -7
- package/vue/UiEditorMentionMenuItem.vue +1 -1
- package/vue/UiEditorSlashMenu.d.ts +12 -15
- package/vue/UiEditorSlashMenu.vue +48 -7
- package/vue/UiEditorSlashMenuGroup.vue +1 -1
- package/vue/UiEditorSlashMenuItem.vue +1 -1
- package/vue/UiEditorTableContextMenu.vue +73 -4
- package/vue/UiEditorTableOverlay.d.ts +2 -2
- package/vue/UiEditorTableOverlay.vue +202 -38
- package/vue/UiEditorTableToolbar.d.ts +2 -2
- package/vue/UiEditorTableToolbar.vue +128 -7
- package/vue/UiEditorToolbar.vue +3 -3
- package/vue/UiFloatingActionButton.vue +1 -1
- package/vue/UiFormField.vue +1 -1
- package/vue/UiGrid.vue +1 -1
- package/vue/UiIcon.vue +1 -1
- package/vue/UiIconButton.vue +1 -1
- package/vue/UiImage.vue +7 -6
- package/vue/UiInput.d.ts +5 -5
- package/vue/UiInput.vue +15 -3
- package/vue/UiInputGroup.vue +1 -1
- package/vue/UiList.vue +1 -1
- package/vue/UiListItem.vue +1 -1
- package/vue/UiListbox.d.ts +6 -9
- package/vue/UiListbox.vue +70 -19
- package/vue/UiMenu.vue +20 -10
- package/vue/UiMenuGroup.vue +1 -1
- package/vue/UiMenuItem.d.ts +13 -16
- package/vue/UiMenuItem.vue +30 -7
- package/vue/UiMeter.vue +1 -1
- package/vue/UiNavItem.vue +1 -1
- package/vue/UiPageHeader.vue +1 -1
- package/vue/UiPopover.vue +12 -4
- package/vue/UiRadio.d.ts +8 -11
- package/vue/UiRadio.vue +34 -11
- package/vue/UiRadioGroup.vue +16 -7
- package/vue/UiReel.vue +1 -1
- package/vue/UiScrollArea.vue +3 -3
- package/vue/UiSearchResultRow.vue +1 -1
- package/vue/UiSearchShell.vue +14 -6
- package/vue/UiSection.vue +1 -1
- package/vue/UiSelect.vue +3 -2
- package/vue/UiSeparator.vue +1 -1
- package/vue/UiSidebar.d.ts +7 -10
- package/vue/UiSidebar.vue +44 -12
- package/vue/UiSpinner.vue +1 -1
- package/vue/UiStack.vue +1 -1
- package/vue/UiStatusMessage.vue +1 -1
- package/vue/UiSwitch.d.ts +8 -11
- package/vue/UiSwitch.vue +34 -11
- package/vue/UiSwitcher.vue +8 -1
- package/vue/UiTable.vue +1 -1
- package/vue/UiTabs.vue +30 -8
- package/vue/UiText.vue +1 -1
- package/vue/UiTextarea.vue +2 -2
- package/vue/UiToast.vue +7 -6
- package/vue/UiToastRegion.d.ts +15 -3
- package/vue/UiToastRegion.vue +90 -45
- package/vue/UiTooltip.d.ts +9 -12
- package/vue/UiTooltip.vue +30 -7
- package/vue/UiTopBar.vue +1 -1
- package/vue/UiTree.vue +17 -13
- package/vue/UiTreeItem.d.ts +15 -18
- package/vue/UiTreeItem.vue +79 -30
- package/vue/chunks/UiActionBar.js +1 -1
- package/vue/chunks/UiAffordanceScope.js +6 -2
- package/vue/chunks/UiAvatar.js +37 -10
- package/vue/chunks/UiAvatarGroup.js +26 -7
- package/vue/chunks/UiBadge.js +2 -2
- package/vue/chunks/UiBreadcrumbItem.js +2 -2
- package/vue/chunks/UiBreadcrumbs.js +2 -2
- package/vue/chunks/UiButton.js +2 -2
- package/vue/chunks/UiCallout.js +2 -2
- package/vue/chunks/UiCard.js +2 -2
- package/vue/chunks/UiCheckbox.js +25 -12
- package/vue/chunks/UiCluster.js +2 -2
- package/vue/chunks/UiCombobox.js +628 -117
- package/vue/chunks/UiContainer.js +2 -2
- package/vue/chunks/UiContextMenu.js +14 -10
- package/vue/chunks/UiCover.js +2 -2
- package/vue/chunks/UiDescriptionItem.js +2 -2
- package/vue/chunks/UiDescriptionList.js +2 -2
- package/vue/chunks/UiDialog.js +29 -11
- package/vue/chunks/UiDisclosure.js +44 -14
- package/vue/chunks/UiEditable.js +33 -9
- package/vue/chunks/UiEditorInsertTableGrid.js +98 -14
- package/vue/chunks/UiEditorMentionMenu.js +76 -9
- package/vue/chunks/UiEditorMentionMenuItem.js +2 -2
- package/vue/chunks/UiEditorSlashMenu.js +70 -11
- package/vue/chunks/UiEditorSlashMenuGroup.js +2 -2
- package/vue/chunks/UiEditorSlashMenuItem.js +2 -2
- package/vue/chunks/UiEditorTableContextMenu.js +120 -2
- package/vue/chunks/UiEditorTableOverlay.js +306 -12
- package/vue/chunks/UiEditorTableToolbar.js +215 -3
- package/vue/chunks/UiEditorToolbar.js +8 -8
- package/vue/chunks/UiFloatingActionButton.js +2 -2
- package/vue/chunks/UiFormField.js +2 -2
- package/vue/chunks/UiGrid.js +2 -2
- package/vue/chunks/UiIcon.js +2 -2
- package/vue/chunks/UiIconButton.js +2 -2
- package/vue/chunks/UiImage.js +12 -12
- package/vue/chunks/UiInput.js +34 -4
- package/vue/chunks/UiInputGroup.js +2 -2
- package/vue/chunks/UiList.js +2 -2
- package/vue/chunks/UiListItem.js +2 -2
- package/vue/chunks/UiListbox.js +96 -12
- package/vue/chunks/UiMenu.js +6 -2
- package/vue/chunks/UiMenuGroup.js +2 -2
- package/vue/chunks/UiMenuItem.js +15 -3
- package/vue/chunks/UiMeter.js +2 -2
- package/vue/chunks/UiNavItem.js +2 -2
- package/vue/chunks/UiPageHeader.js +2 -2
- package/vue/chunks/UiPopover.js +6 -2
- package/vue/chunks/UiRadio.js +25 -12
- package/vue/chunks/UiRadioGroup.js +6 -2
- package/vue/chunks/UiReel.js +2 -2
- package/vue/chunks/UiScrollArea.js +8 -8
- package/vue/chunks/UiSearchResultRow.js +2 -2
- package/vue/chunks/UiSearchShell.js +9 -4
- package/vue/chunks/UiSection.js +2 -2
- package/vue/chunks/UiSelect.js +5 -3
- package/vue/chunks/UiSeparator.js +2 -2
- package/vue/chunks/UiSidebar.js +28 -5
- package/vue/chunks/UiSpinner.js +2 -2
- package/vue/chunks/UiStack.js +2 -2
- package/vue/chunks/UiStatusMessage.js +2 -2
- package/vue/chunks/UiSwitch.js +25 -12
- package/vue/chunks/UiSwitcher.js +6 -2
- package/vue/chunks/UiTable.js +2 -2
- package/vue/chunks/UiTabs.js +39 -10
- package/vue/chunks/UiText.js +2 -2
- package/vue/chunks/UiTextarea.js +3 -2
- package/vue/chunks/UiToast.js +8 -8
- package/vue/chunks/UiToastRegion.js +86 -20
- package/vue/chunks/UiTooltip.js +15 -3
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTree.js +2 -2
- package/vue/chunks/UiTreeItem.js +84 -51
- package/vue/chunks/control.js +9 -2
- package/vue/chunks/host.js +203 -29
- package/vue/chunks/props.js +43 -7
- package/vue/components.css +1345 -1345
- package/vue/editor/index.js +12 -5
- package/vue/host.ts +286 -42
package/vue/chunks/host.js
CHANGED
|
@@ -1,5 +1,117 @@
|
|
|
1
1
|
import { Fragment, computed, getCurrentInstance, onBeforeUnmount, onBeforeUpdate, onMounted, onUpdated, shallowRef, useSlots, watchEffect } from "vue";
|
|
2
2
|
//#region .build/vue/host.ts
|
|
3
|
+
function controllerNamespaces(options, source) {
|
|
4
|
+
const reported = /* @__PURE__ */ new Set();
|
|
5
|
+
const nested = /* @__PURE__ */ new WeakMap();
|
|
6
|
+
const eventType = typeof Event === "undefined" ? void 0 : Object.getOwnPropertyDescriptor(Event.prototype, "type").get;
|
|
7
|
+
const eventBrands = /* @__PURE__ */ new WeakMap();
|
|
8
|
+
const nativeEvent = (value) => {
|
|
9
|
+
if (!("type" in value) || eventType === void 0) return false;
|
|
10
|
+
const known = eventBrands.get(value);
|
|
11
|
+
if (known !== void 0) return known;
|
|
12
|
+
let accepted = false;
|
|
13
|
+
try {
|
|
14
|
+
eventType.call(value);
|
|
15
|
+
accepted = true;
|
|
16
|
+
} catch {}
|
|
17
|
+
eventBrands.set(value, accepted);
|
|
18
|
+
return accepted;
|
|
19
|
+
};
|
|
20
|
+
const warn = (path, readonly) => {
|
|
21
|
+
if (reported.has(path)) return;
|
|
22
|
+
reported.add(path);
|
|
23
|
+
console.warn(source + ": HR007: Destination " + path + (readonly ? " is read-only." : " does not satisfy its declared type."));
|
|
24
|
+
};
|
|
25
|
+
const write = (name, keys, value, readonly, apply) => {
|
|
26
|
+
if (readonly || options.acceptsState?.(name, keys, value) === false) warn([name, ...keys].join("."), readonly);
|
|
27
|
+
else apply();
|
|
28
|
+
return true;
|
|
29
|
+
};
|
|
30
|
+
const wrap = (value, name, keys, readonly) => {
|
|
31
|
+
if (value === null || typeof value !== "object" || nativeEvent(value)) return value;
|
|
32
|
+
const path = [name, ...keys].join(".");
|
|
33
|
+
let paths = nested.get(value);
|
|
34
|
+
if (paths === void 0) nested.set(value, paths = /* @__PURE__ */ new Map());
|
|
35
|
+
const known = paths.get(path);
|
|
36
|
+
if (known !== void 0) return known;
|
|
37
|
+
const surface = readonly ? Array.isArray(value) ? [] : Object.create(Object.getPrototypeOf(value)) : value;
|
|
38
|
+
if (readonly && Array.isArray(value)) surface.length = value.length;
|
|
39
|
+
const proxy = new Proxy(surface, {
|
|
40
|
+
get: (_target, key) => wrap(Reflect.get(value, key), name, [...keys, String(key)], readonly),
|
|
41
|
+
set: (_target, key, next) => write(name, [...keys, String(key)], next, readonly, () => {
|
|
42
|
+
const previous = Reflect.get(value, key);
|
|
43
|
+
if (Reflect.set(value, key, next) && !Object.is(previous, next)) options.changed?.(name);
|
|
44
|
+
}),
|
|
45
|
+
has: (_target, key) => Reflect.has(value, key),
|
|
46
|
+
ownKeys: () => Reflect.ownKeys(value),
|
|
47
|
+
getOwnPropertyDescriptor: (_target, key) => {
|
|
48
|
+
if (readonly && Array.isArray(value) && key === "length") {
|
|
49
|
+
surface.length = value.length;
|
|
50
|
+
return Reflect.getOwnPropertyDescriptor(surface, key);
|
|
51
|
+
}
|
|
52
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(value, key);
|
|
53
|
+
return descriptor === void 0 ? void 0 : readonly ? {
|
|
54
|
+
...descriptor,
|
|
55
|
+
configurable: true
|
|
56
|
+
} : descriptor;
|
|
57
|
+
},
|
|
58
|
+
deleteProperty: (_target, key) => write(name, [...keys, String(key)], void 0, readonly, () => {
|
|
59
|
+
if (Reflect.has(value, key) && Reflect.deleteProperty(value, key)) options.changed?.(name);
|
|
60
|
+
}),
|
|
61
|
+
defineProperty: (_target, key, descriptor) => {
|
|
62
|
+
if (readonly || !("value" in descriptor) || options.acceptsState?.(name, [...keys, String(key)], descriptor.value) === false) {
|
|
63
|
+
warn([
|
|
64
|
+
name,
|
|
65
|
+
...keys,
|
|
66
|
+
String(key)
|
|
67
|
+
].join("."), readonly);
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
const changed = Reflect.defineProperty(value, key, descriptor);
|
|
71
|
+
if (changed) options.changed?.(name);
|
|
72
|
+
return changed;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
paths.set(path, proxy);
|
|
76
|
+
return proxy;
|
|
77
|
+
};
|
|
78
|
+
return {
|
|
79
|
+
state: new Proxy({}, {
|
|
80
|
+
get: (_target, name) => {
|
|
81
|
+
if (typeof name !== "string") return void 0;
|
|
82
|
+
if (Object.hasOwn(options.state, name)) return wrap(options.state[name].get(), name, [], false);
|
|
83
|
+
if (Object.hasOwn(options.computed, name)) return wrap(options.computed[name](), name, [], true);
|
|
84
|
+
},
|
|
85
|
+
set: (_target, name, value) => write(String(name), [], value, typeof name !== "string" || !Object.hasOwn(options.state, name), () => options.state[String(name)].set(value)),
|
|
86
|
+
deleteProperty: (_target, name) => {
|
|
87
|
+
warn(String(name), true);
|
|
88
|
+
return true;
|
|
89
|
+
},
|
|
90
|
+
defineProperty: (_target, name) => {
|
|
91
|
+
warn(String(name), true);
|
|
92
|
+
return false;
|
|
93
|
+
},
|
|
94
|
+
has: (_target, name) => typeof name === "string" && (Object.hasOwn(options.state, name) || Object.hasOwn(options.computed, name))
|
|
95
|
+
}),
|
|
96
|
+
data: new Proxy({}, {
|
|
97
|
+
get: (_target, name) => typeof name === "string" && Object.hasOwn(options.data ?? {}, name) ? wrap(options.data[name](), "data." + name, [], true) : void 0,
|
|
98
|
+
set: (_target, name, value) => write("data." + String(name), [], value, true, () => {}),
|
|
99
|
+
deleteProperty: (_target, name) => {
|
|
100
|
+
warn("data." + String(name), true);
|
|
101
|
+
return true;
|
|
102
|
+
},
|
|
103
|
+
defineProperty: (_target, name) => {
|
|
104
|
+
warn("data." + String(name), true);
|
|
105
|
+
return false;
|
|
106
|
+
},
|
|
107
|
+
has: (_target, name) => typeof name === "string" && Object.hasOwn(options.data ?? {}, name)
|
|
108
|
+
})
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function dispatchToTargets(recorded, send) {
|
|
112
|
+
const targets = (recorded instanceof Set ? [...recorded] : Array.isArray(recorded) ? [...recorded] : [recorded]).map((ref) => ref?.nodeType === 1 ? ref : ref?.$el).filter((element) => element?.nodeType === 1 && element.isConnected).sort((a, b) => a === b ? 0 : a.compareDocumentPosition(b) & 4 ? -1 : 1);
|
|
113
|
+
for (const target of targets) if (target.isConnected) send(target);
|
|
114
|
+
}
|
|
3
115
|
var connectionHubs = /* @__PURE__ */ new WeakMap();
|
|
4
116
|
/** One native observer per document tracks externally detached controller roots. */
|
|
5
117
|
function observeConnection(element, check) {
|
|
@@ -99,7 +211,24 @@ function useComponentHost(controllerLoader, options) {
|
|
|
99
211
|
throw controllerDiagnostic("HJ001", error);
|
|
100
212
|
});
|
|
101
213
|
const stops = [];
|
|
102
|
-
const
|
|
214
|
+
const connected = shallowRef(false);
|
|
215
|
+
const pauses = /* @__PURE__ */ new Map();
|
|
216
|
+
const subscriptions = /* @__PURE__ */ new Set();
|
|
217
|
+
const activate = (entry) => {
|
|
218
|
+
if (entry.type === "connect") entry.cleanup = entry.callback(new Event("connect"));
|
|
219
|
+
else if (entry.type !== "disconnect") {
|
|
220
|
+
entry.target = root.value ?? void 0;
|
|
221
|
+
entry.target?.addEventListener(entry.type, entry.callback);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
const deactivate = (entry, disconnecting) => {
|
|
225
|
+
entry.target?.removeEventListener(entry.type, entry.callback);
|
|
226
|
+
entry.target = void 0;
|
|
227
|
+
const cleanup = entry.cleanup;
|
|
228
|
+
entry.cleanup = void 0;
|
|
229
|
+
cleanup?.();
|
|
230
|
+
if (disconnecting && entry.type === "disconnect") entry.callback(new Event("disconnect"));
|
|
231
|
+
};
|
|
103
232
|
const propHandles = Object.create(null);
|
|
104
233
|
for (const name of propNames) {
|
|
105
234
|
const validity = () => options.propValidity?.(name);
|
|
@@ -123,15 +252,28 @@ function useComponentHost(controllerLoader, options) {
|
|
|
123
252
|
get root() {
|
|
124
253
|
return root.value;
|
|
125
254
|
},
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
},
|
|
133
|
-
|
|
134
|
-
|
|
255
|
+
...controllerNamespaces({
|
|
256
|
+
state: Object.fromEntries(Object.entries(state).map(([name, value]) => [name, {
|
|
257
|
+
get: () => value.value,
|
|
258
|
+
set: (next) => {
|
|
259
|
+
value.value = next;
|
|
260
|
+
}
|
|
261
|
+
}])),
|
|
262
|
+
computed: Object.fromEntries([...Object.entries(computedValues), ...Object.entries(context)].map(([name, value]) => [name, () => value.value])),
|
|
263
|
+
data: Object.fromEntries(Object.entries(data).map(([name, value]) => [name, () => value.value])),
|
|
264
|
+
acceptsState: options.acceptsState
|
|
265
|
+
}, options.controllerSource?.definition ?? "<component>"),
|
|
266
|
+
on(type, callback) {
|
|
267
|
+
const entry = {
|
|
268
|
+
type,
|
|
269
|
+
callback
|
|
270
|
+
};
|
|
271
|
+
subscriptions.add(entry);
|
|
272
|
+
if (connected.value) activate(entry);
|
|
273
|
+
return () => {
|
|
274
|
+
if (subscriptions.delete(entry)) deactivate(entry, false);
|
|
275
|
+
};
|
|
276
|
+
},
|
|
135
277
|
props: Object.freeze(propHandles),
|
|
136
278
|
refs: Object.defineProperties({}, Object.fromEntries(Object.entries(refs).map(([name, ref]) => [name, {
|
|
137
279
|
enumerable: true,
|
|
@@ -162,12 +304,24 @@ function useComponentHost(controllerLoader, options) {
|
|
|
162
304
|
return { get: () => value.value };
|
|
163
305
|
},
|
|
164
306
|
effect(run) {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
307
|
+
let cleanup;
|
|
308
|
+
const pause = () => {
|
|
309
|
+
const previous = cleanup;
|
|
310
|
+
cleanup = void 0;
|
|
311
|
+
previous?.();
|
|
312
|
+
};
|
|
313
|
+
const stop = watchEffect(() => {
|
|
314
|
+
pause();
|
|
315
|
+
if (connected.value) cleanup = run();
|
|
168
316
|
}, { flush: "post" });
|
|
169
|
-
|
|
170
|
-
|
|
317
|
+
const dispose = () => {
|
|
318
|
+
stop();
|
|
319
|
+
pause();
|
|
320
|
+
pauses.delete(dispose);
|
|
321
|
+
};
|
|
322
|
+
pauses.set(dispose, pause);
|
|
323
|
+
stops.push(dispose);
|
|
324
|
+
return dispose;
|
|
171
325
|
},
|
|
172
326
|
dispatch
|
|
173
327
|
};
|
|
@@ -175,13 +329,14 @@ function useComponentHost(controllerLoader, options) {
|
|
|
175
329
|
let started;
|
|
176
330
|
let stopObserving;
|
|
177
331
|
let connection = 0;
|
|
178
|
-
let
|
|
332
|
+
let initialized = false;
|
|
179
333
|
let unmounted = false;
|
|
180
334
|
const disconnect = () => {
|
|
181
|
-
if (!connected) return;
|
|
182
|
-
connected = false;
|
|
335
|
+
if (!connected.value) return;
|
|
336
|
+
connected.value = false;
|
|
183
337
|
connection += 1;
|
|
184
|
-
for (const
|
|
338
|
+
for (const pause of pauses.values()) pause();
|
|
339
|
+
for (const entry of subscriptions) deactivate(entry, true);
|
|
185
340
|
cleanup?.();
|
|
186
341
|
cleanup = void 0;
|
|
187
342
|
};
|
|
@@ -191,14 +346,23 @@ function useComponentHost(controllerLoader, options) {
|
|
|
191
346
|
disconnect();
|
|
192
347
|
return;
|
|
193
348
|
}
|
|
194
|
-
if (connected)
|
|
195
|
-
|
|
349
|
+
if (connected.value) {
|
|
350
|
+
for (const entry of subscriptions) if (entry.type !== "connect" && entry.type !== "disconnect" && entry.target !== root.value) {
|
|
351
|
+
deactivate(entry, false);
|
|
352
|
+
activate(entry);
|
|
353
|
+
}
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
connected.value = true;
|
|
357
|
+
for (const entry of subscriptions) activate(entry);
|
|
358
|
+
if (initialized) return;
|
|
196
359
|
const current = ++connection;
|
|
197
360
|
started = loadControllerModule().then(async (loaded) => {
|
|
198
|
-
if (!connected || current !== connection) return loaded;
|
|
361
|
+
if (!connected.value || current !== connection || initialized) return loaded;
|
|
362
|
+
initialized = true;
|
|
199
363
|
const result = await loaded.default(host);
|
|
200
364
|
if (typeof result === "function") {
|
|
201
|
-
if (!connected || current !== connection) result();
|
|
365
|
+
if (!connected.value || current !== connection) result();
|
|
202
366
|
else cleanup = result;
|
|
203
367
|
}
|
|
204
368
|
return loaded;
|
|
@@ -221,12 +385,10 @@ function useComponentHost(controllerLoader, options) {
|
|
|
221
385
|
unmounted = true;
|
|
222
386
|
stopObserving?.();
|
|
223
387
|
disconnect();
|
|
388
|
+
for (const stop of stops.splice(0)) stop();
|
|
389
|
+
subscriptions.clear();
|
|
224
390
|
});
|
|
225
|
-
|
|
226
|
-
return {
|
|
227
|
-
host,
|
|
228
|
-
ready: () => started
|
|
229
|
-
};
|
|
391
|
+
return host;
|
|
230
392
|
}
|
|
231
393
|
var HtmlDiagnosticError = class extends Error {
|
|
232
394
|
diagnostic;
|
|
@@ -243,9 +405,21 @@ var HtmlDiagnosticError = class extends Error {
|
|
|
243
405
|
function createDispatch(root, emit, options = {}) {
|
|
244
406
|
const { declared = {}, checks = {}, modeled = [] } = options;
|
|
245
407
|
const reported = /* @__PURE__ */ new Map();
|
|
246
|
-
return (name, detail) => {
|
|
408
|
+
return (name, detail, targets) => {
|
|
247
409
|
const check = checks[name];
|
|
248
410
|
if (detail !== void 0 && check !== void 0 && !check(detail)) throw new HtmlDiagnosticError("HR002", `Event \`${name}\` detail does not satisfy its declared type.`);
|
|
411
|
+
if (targets !== void 0) {
|
|
412
|
+
let accepted = true;
|
|
413
|
+
dispatchToTargets(targets, (target) => {
|
|
414
|
+
if (!target.dispatchEvent(new CustomEvent(name, {
|
|
415
|
+
bubbles: true,
|
|
416
|
+
composed: true,
|
|
417
|
+
...declared[name],
|
|
418
|
+
detail
|
|
419
|
+
}))) accepted = false;
|
|
420
|
+
});
|
|
421
|
+
return accepted;
|
|
422
|
+
}
|
|
249
423
|
if (detail !== null && typeof detail === "object") for (const prop of modeled) {
|
|
250
424
|
if (!(prop in detail)) continue;
|
|
251
425
|
const value = detail[prop];
|
package/vue/chunks/props.js
CHANGED
|
@@ -171,6 +171,20 @@ var CSS_NAMED_COLOR_SET = /* @__PURE__ */ new Set([
|
|
|
171
171
|
"yellowgreen"
|
|
172
172
|
]);
|
|
173
173
|
var HTML_EMAIL_PATTERN = /^[a-zA-Z0-9.!#$%&'*+/?=^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
|
|
174
|
+
var eventType = typeof Event === "undefined" ? void 0 : Object.getOwnPropertyDescriptor(Event.prototype, "type").get;
|
|
175
|
+
var eventBrands = /* @__PURE__ */ new WeakMap();
|
|
176
|
+
function nativeEvent(value) {
|
|
177
|
+
if (typeof value !== "object" || value === null || !("type" in value) || eventType === void 0) return false;
|
|
178
|
+
const known = eventBrands.get(value);
|
|
179
|
+
if (known !== void 0) return known;
|
|
180
|
+
let accepted = false;
|
|
181
|
+
try {
|
|
182
|
+
eventType.call(value);
|
|
183
|
+
accepted = true;
|
|
184
|
+
} catch {}
|
|
185
|
+
eventBrands.set(value, accepted);
|
|
186
|
+
return accepted;
|
|
187
|
+
}
|
|
174
188
|
function issue(path, message) {
|
|
175
189
|
return {
|
|
176
190
|
ok: false,
|
|
@@ -334,6 +348,10 @@ function parse(value, node, path) {
|
|
|
334
348
|
ok: true,
|
|
335
349
|
value
|
|
336
350
|
} : issue(path, "Must be a " + (node.name === "trusted-html" ? "TrustedHTML" : "TrustedScript") + " value.");
|
|
351
|
+
case "event": return nativeEvent(value) ? {
|
|
352
|
+
ok: true,
|
|
353
|
+
value
|
|
354
|
+
} : issue(path, "Must be a native Event value.");
|
|
337
355
|
case "function": return typeof value === "function" ? {
|
|
338
356
|
ok: true,
|
|
339
357
|
value
|
|
@@ -434,13 +452,13 @@ function parse(value, node, path) {
|
|
|
434
452
|
}
|
|
435
453
|
}
|
|
436
454
|
}
|
|
437
|
-
/**
|
|
455
|
+
/** Return the actual selected destination, without a validation fallback. */
|
|
456
|
+
function selectedBindingNode(selector, options) {
|
|
457
|
+
if (selector === null || selector === void 0) return null;
|
|
458
|
+
return options.find((candidate) => candidate.value === selector)?.type ?? null;
|
|
459
|
+
}
|
|
438
460
|
function selectedPropNode(selector, options) {
|
|
439
|
-
|
|
440
|
-
kind: "terminal",
|
|
441
|
-
name: "null"
|
|
442
|
-
};
|
|
443
|
-
return options.find((candidate) => candidate.value === selector)?.type ?? {
|
|
461
|
+
return selectedBindingNode(selector, options) ?? {
|
|
444
462
|
kind: "terminal",
|
|
445
463
|
name: "null"
|
|
446
464
|
};
|
|
@@ -730,5 +748,23 @@ var vPropValidity = {
|
|
|
730
748
|
validityStates.delete(el);
|
|
731
749
|
}
|
|
732
750
|
};
|
|
751
|
+
/** Controller writes use immediate destination checks, including declared nested paths. */
|
|
752
|
+
function acceptsControllerWrite(value, type, keys) {
|
|
753
|
+
if (type === void 0) return true;
|
|
754
|
+
if (keys.length === 0) {
|
|
755
|
+
if (value === void 0) return true;
|
|
756
|
+
if (value === null) return parse(value, type, "$").ok;
|
|
757
|
+
if (type.kind === "list") return Array.isArray(value);
|
|
758
|
+
if (type.kind === "object" || type.kind === "record") return typeof value === "object" && !Array.isArray(value);
|
|
759
|
+
if (type.kind === "union") return type.members.some((member) => acceptsControllerWrite(value, member, keys));
|
|
760
|
+
if (type.kind === "constrained") return acceptsControllerWrite(value, type.base, keys);
|
|
761
|
+
return parse(value, type, "$").ok;
|
|
762
|
+
}
|
|
763
|
+
if (type.kind === "union") return type.members.some((member) => acceptsControllerWrite(value, member, keys));
|
|
764
|
+
if (type.kind === "constrained") return acceptsControllerWrite(value, type.base, keys);
|
|
765
|
+
const key = keys[0];
|
|
766
|
+
if (type.kind === "object" && !type.open && !type.fields.some((field) => field.name === key)) return value === void 0;
|
|
767
|
+
return acceptsControllerWrite(value, type.kind === "object" ? type.fields.find((field) => field.name === key)?.type : type.kind === "list" ? /^\d+$/.test(key) ? type.item : void 0 : type.kind === "record" ? type.value : void 0, keys.slice(1));
|
|
768
|
+
}
|
|
733
769
|
//#endregion
|
|
734
|
-
export { vPropValidity as i,
|
|
770
|
+
export { vPropValidity as a, selectedPropNode as i, checkedProp as n, propValidityState as r, acceptsControllerWrite as t };
|