@threadlabs/looma 0.21.6 → 0.22.1
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/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
- package/components/ui-avatar/ui-avatar.html +4 -4
- package/components/ui-avatar-group/ui-avatar-group.html +2 -2
- package/components/ui-checkbox/ui-checkbox.html +1 -1
- package/components/ui-combobox/ui-combobox.html +18 -18
- package/components/ui-context-menu/ui-context-menu.html +1 -1
- package/components/ui-dialog/ui-dialog.html +2 -2
- package/components/ui-disclosure/ui-disclosure.html +4 -4
- package/components/ui-editable/ui-editable.html +3 -3
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +5 -5
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +5 -5
- package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +3 -3
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +3 -7
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +6 -6
- package/components/ui-listbox/ui-listbox.html +6 -6
- package/components/ui-menu/ui-menu.html +1 -1
- package/components/ui-menu-item/ui-menu-item.html +1 -1
- package/components/ui-popover/ui-popover.html +1 -1
- package/components/ui-radio/ui-radio.html +1 -1
- package/components/ui-radio-group/ui-radio-group.html +1 -1
- package/components/ui-search-shell/ui-search-shell.html +1 -1
- package/components/ui-sidebar/ui-sidebar.html +2 -2
- package/components/ui-switch/ui-switch.html +1 -1
- package/components/ui-switcher/ui-switcher.html +1 -1
- package/components/ui-tabs/ui-tabs.html +2 -2
- package/components/ui-toast-region/ui-toast-region.html +1 -1
- package/components/ui-tooltip/ui-tooltip.html +1 -1
- package/components/ui-tree-item/ui-tree-item.html +4 -4
- package/dist/index.js +1 -1
- package/package.json +2 -2
- 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 +1 -1
- 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-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 +1 -1
- 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 +2 -2
- package/vanilla/UiAvatar.d.ts +1 -1
- package/vanilla/UiAvatar.js +2 -2
- package/vanilla/UiAvatarGroup.d.ts +1 -1
- package/vanilla/UiAvatarGroup.js +2 -2
- 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 +2 -2
- package/vanilla/UiCluster.d.ts +1 -1
- package/vanilla/UiCluster.js +1 -1
- package/vanilla/UiCombobox.d.ts +1 -1
- 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 +2 -2
- 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 +2 -2
- package/vanilla/UiDisclosure.d.ts +1 -1
- package/vanilla/UiDisclosure.js +2 -2
- package/vanilla/UiEditable.d.ts +1 -1
- package/vanilla/UiEditable.js +2 -2
- package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
- package/vanilla/UiEditorInsertTableGrid.js +2 -2
- package/vanilla/UiEditorMentionMenu.d.ts +1 -1
- package/vanilla/UiEditorMentionMenu.js +2 -2
- package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
- package/vanilla/UiEditorMentionMenuItem.js +1 -1
- package/vanilla/UiEditorSlashMenu.d.ts +1 -1
- package/vanilla/UiEditorSlashMenu.js +2 -2
- 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 +2 -2
- package/vanilla/UiEditorTableOverlay.d.ts +1 -1
- package/vanilla/UiEditorTableOverlay.js +2 -2
- package/vanilla/UiEditorTableToolbar.d.ts +1 -1
- package/vanilla/UiEditorTableToolbar.js +2 -2
- 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/UiInput.d.ts +1 -1
- package/vanilla/UiInput.js +1 -1
- 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 +2 -2
- package/vanilla/UiMenu.d.ts +1 -1
- package/vanilla/UiMenu.js +2 -2
- package/vanilla/UiMenuGroup.d.ts +1 -1
- package/vanilla/UiMenuGroup.js +1 -1
- package/vanilla/UiMenuItem.d.ts +1 -1
- package/vanilla/UiMenuItem.js +2 -2
- 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 +2 -2
- package/vanilla/UiRadio.d.ts +1 -1
- package/vanilla/UiRadio.js +2 -2
- package/vanilla/UiRadioGroup.d.ts +1 -1
- package/vanilla/UiRadioGroup.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/vanilla/UiSwitcher.d.ts +1 -1
- package/vanilla/UiSwitcher.js +2 -2
- package/vanilla/UiTable.d.ts +1 -1
- package/vanilla/UiTable.js +1 -1
- package/vanilla/UiTabs.d.ts +1 -1
- package/vanilla/UiTabs.js +2 -2
- 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 +1 -1
- package/vanilla/UiToastRegion.js +2 -2
- package/vanilla/UiTooltip.d.ts +1 -1
- package/vanilla/UiTooltip.js +2 -2
- 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 +2 -2
- package/vue/UiActionBar.vue +1 -1
- package/vue/UiAffordanceScope.vue +25 -7
- package/vue/UiAvatar.vue +125 -30
- package/vue/UiAvatarGroup.d.ts +1 -1
- package/vue/UiAvatarGroup.vue +67 -21
- package/vue/UiBadge.vue +34 -8
- package/vue/UiBreadcrumbItem.vue +15 -4
- package/vue/UiBreadcrumbs.vue +14 -4
- package/vue/UiButton.vue +123 -42
- package/vue/UiCallout.vue +16 -4
- package/vue/UiCard.vue +46 -10
- package/vue/UiCheckbox.d.ts +5 -5
- package/vue/UiCheckbox.vue +73 -19
- package/vue/UiCluster.vue +39 -10
- package/vue/UiCombobox.d.ts +5 -5
- package/vue/UiCombobox.vue +317 -78
- package/vue/UiContainer.vue +23 -6
- package/vue/UiContextMenu.vue +24 -7
- package/vue/UiCover.vue +16 -4
- package/vue/UiDescriptionItem.vue +14 -4
- package/vue/UiDescriptionList.vue +33 -8
- package/vue/UiDialog.vue +79 -26
- package/vue/UiDisclosure.vue +101 -38
- package/vue/UiEditable.d.ts +3 -3
- package/vue/UiEditable.vue +107 -27
- package/vue/UiEditorInsertTableGrid.vue +47 -11
- package/vue/UiEditorMentionMenu.vue +99 -20
- package/vue/UiEditorMentionMenuItem.vue +29 -8
- package/vue/UiEditorSlashMenu.vue +85 -16
- package/vue/UiEditorSlashMenuGroup.vue +14 -4
- package/vue/UiEditorSlashMenuItem.vue +43 -12
- package/vue/UiEditorTableContextMenu.d.ts +1 -1
- package/vue/UiEditorTableContextMenu.vue +95 -19
- package/vue/UiEditorTableOverlay.vue +91 -7
- package/vue/UiEditorTableToolbar.vue +105 -16
- package/vue/UiEditorToolbar.vue +15 -4
- package/vue/UiFloatingActionButton.vue +31 -8
- package/vue/UiFormField.d.ts +1 -1
- package/vue/UiFormField.vue +31 -8
- package/vue/UiGrid.vue +30 -8
- package/vue/UiIcon.vue +15 -4
- package/vue/UiIconButton.vue +70 -24
- package/vue/UiInput.vue +114 -39
- package/vue/UiInputGroup.vue +15 -4
- package/vue/UiList.vue +47 -16
- package/vue/UiListItem.vue +24 -6
- package/vue/UiListbox.d.ts +3 -3
- package/vue/UiListbox.vue +72 -24
- package/vue/UiMenu.vue +55 -15
- package/vue/UiMenuGroup.vue +14 -4
- package/vue/UiMenuItem.d.ts +4 -4
- package/vue/UiMenuItem.vue +77 -27
- package/vue/UiMeter.vue +65 -16
- package/vue/UiNavItem.vue +48 -24
- package/vue/UiPageHeader.vue +16 -4
- package/vue/UiPopover.vue +46 -21
- package/vue/UiRadio.d.ts +4 -4
- package/vue/UiRadio.vue +58 -15
- package/vue/UiRadioGroup.d.ts +3 -3
- package/vue/UiRadioGroup.vue +66 -17
- package/vue/UiReel.d.ts +1 -1
- package/vue/UiReel.vue +31 -8
- package/vue/UiScrollArea.vue +16 -4
- package/vue/UiSearchResultRow.vue +23 -6
- package/vue/UiSearchShell.vue +38 -11
- package/vue/UiSection.vue +33 -8
- package/vue/UiSelect.d.ts +1 -1
- package/vue/UiSelect.vue +45 -20
- package/vue/UiSeparator.vue +16 -4
- package/vue/UiSidebar.d.ts +2 -2
- package/vue/UiSidebar.vue +86 -22
- package/vue/UiSpinner.vue +23 -6
- package/vue/UiStack.vue +31 -8
- package/vue/UiStatusMessage.vue +32 -8
- package/vue/UiSwitch.d.ts +4 -4
- package/vue/UiSwitch.vue +57 -15
- package/vue/UiSwitcher.vue +41 -17
- package/vue/UiTable.vue +24 -6
- package/vue/UiTabs.vue +60 -14
- package/vue/UiText.vue +98 -35
- package/vue/UiTextarea.d.ts +1 -1
- package/vue/UiTextarea.vue +67 -26
- package/vue/UiToast.vue +24 -6
- package/vue/UiToastRegion.vue +41 -13
- package/vue/UiTooltip.d.ts +1 -1
- package/vue/UiTooltip.vue +85 -30
- package/vue/UiTopBar.vue +1 -1
- package/vue/UiTree.vue +56 -14
- package/vue/UiTreeItem.d.ts +3 -3
- package/vue/UiTreeItem.vue +147 -36
- package/vue/chunks/UiActionBar.js +1 -1
- package/vue/chunks/UiAffordanceScope.js +34 -7
- package/vue/chunks/UiAvatar.js +141 -21
- package/vue/chunks/UiAvatarGroup.js +83 -16
- package/vue/chunks/UiBadge.js +57 -19
- package/vue/chunks/UiBreadcrumbItem.js +19 -6
- package/vue/chunks/UiBreadcrumbs.js +19 -6
- package/vue/chunks/UiButton.js +194 -42
- package/vue/chunks/UiCallout.js +27 -13
- package/vue/chunks/UiCard.js +83 -25
- package/vue/chunks/UiCheckbox.js +104 -17
- package/vue/chunks/UiCluster.js +70 -25
- package/vue/chunks/UiCombobox.js +441 -46
- package/vue/chunks/UiContainer.js +36 -11
- package/vue/chunks/UiContextMenu.js +33 -7
- package/vue/chunks/UiCover.js +20 -6
- package/vue/chunks/UiDescriptionItem.js +18 -5
- package/vue/chunks/UiDescriptionList.js +54 -17
- package/vue/chunks/UiDialog.js +115 -23
- package/vue/chunks/UiDisclosure.js +110 -24
- package/vue/chunks/UiEditable.js +146 -18
- package/vue/chunks/UiEditorInsertTableGrid.js +65 -10
- package/vue/chunks/UiEditorMentionMenu.js +210 -14
- package/vue/chunks/UiEditorMentionMenuItem.js +43 -8
- package/vue/chunks/UiEditorSlashMenu.js +186 -12
- package/vue/chunks/UiEditorSlashMenuGroup.js +19 -6
- package/vue/chunks/UiEditorSlashMenuItem.js +65 -10
- package/vue/chunks/UiEditorTableContextMenu.js +116 -16
- package/vue/chunks/UiEditorTableOverlay.js +188 -7
- package/vue/chunks/UiEditorTableToolbar.js +125 -16
- package/vue/chunks/UiEditorToolbar.js +19 -6
- package/vue/chunks/UiFloatingActionButton.js +43 -8
- package/vue/chunks/UiFormField.js +43 -8
- package/vue/chunks/UiGrid.js +52 -18
- package/vue/chunks/UiIcon.js +19 -6
- package/vue/chunks/UiIconButton.js +107 -21
- package/vue/chunks/UiInput.js +309 -30
- package/vue/chunks/UiInputGroup.js +19 -6
- package/vue/chunks/UiList.js +62 -10
- package/vue/chunks/UiListItem.js +33 -7
- package/vue/chunks/UiListbox.js +105 -13
- package/vue/chunks/UiMenu.js +79 -11
- package/vue/chunks/UiMenuGroup.js +19 -6
- package/vue/chunks/UiMenuItem.js +93 -28
- package/vue/chunks/UiMeter.js +96 -19
- package/vue/chunks/UiNavItem.js +74 -17
- package/vue/chunks/UiPageHeader.js +20 -6
- package/vue/chunks/UiPopover.js +58 -21
- package/vue/chunks/UiRadio.js +82 -15
- package/vue/chunks/UiRadioGroup.js +89 -12
- package/vue/chunks/UiReel.js +53 -18
- package/vue/chunks/UiScrollArea.js +20 -6
- package/vue/chunks/UiSearchResultRow.js +32 -7
- package/vue/chunks/UiSearchShell.js +55 -9
- package/vue/chunks/UiSection.js +49 -12
- package/vue/chunks/UiSelect.js +68 -13
- package/vue/chunks/UiSeparator.js +20 -6
- package/vue/chunks/UiSidebar.js +123 -19
- package/vue/chunks/UiSpinner.js +33 -7
- package/vue/chunks/UiStack.js +59 -24
- package/vue/chunks/UiStatusMessage.js +53 -16
- package/vue/chunks/UiSwitch.js +82 -15
- package/vue/chunks/UiSwitcher.js +70 -25
- package/vue/chunks/UiTable.js +33 -7
- package/vue/chunks/UiTabs.js +81 -11
- package/vue/chunks/UiText.js +169 -58
- package/vue/chunks/UiTextarea.js +101 -16
- package/vue/chunks/UiToast.js +39 -13
- package/vue/chunks/UiToastRegion.js +41 -14
- package/vue/chunks/UiTooltip.js +113 -30
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTree.js +82 -15
- package/vue/chunks/UiTreeItem.js +184 -22
- package/vue/chunks/props.js +271 -35
- package/vue/components.css +1197 -1197
- package/vue/editor/index.js +5 -2
- package/vue/editor/primitives.d.ts +4 -1
- package/vue/host.ts +6 -6
package/vue/UiTooltip.vue
CHANGED
|
@@ -1,12 +1,83 @@
|
|
|
1
|
-
<!-- Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
<!-- Generated by HTML Next 1.0.0-alpha.15 for Vue 3.5. Do not edit. -->
|
|
2
2
|
<script setup lang="ts">
|
|
3
|
-
import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
|
|
3
|
+
import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
|
|
4
4
|
import type { PropType } from 'vue'
|
|
5
5
|
import { createDispatch, useComponentHost } from './host'
|
|
6
|
-
import { checkedProp } from './props'
|
|
6
|
+
import { checkedProp, vPropValidity } from './props'
|
|
7
7
|
|
|
8
8
|
defineOptions({ inheritAttrs: false })
|
|
9
9
|
|
|
10
|
+
const propValidityContract = {
|
|
11
|
+
props: {
|
|
12
|
+
for: {
|
|
13
|
+
type: { kind: 'terminal', name: 'string' },
|
|
14
|
+
required: false,
|
|
15
|
+
target: { attribute: 'for' },
|
|
16
|
+
description: 'ID of the control described and visually anchored by the tooltip.',
|
|
17
|
+
default: '',
|
|
18
|
+
},
|
|
19
|
+
hideDelay: {
|
|
20
|
+
type: { kind: 'terminal', name: 'number' },
|
|
21
|
+
required: false,
|
|
22
|
+
target: { attribute: 'hidedelay' },
|
|
23
|
+
description: 'Waits this many milliseconds before hiding after pointer exit.',
|
|
24
|
+
default: 100,
|
|
25
|
+
},
|
|
26
|
+
inverse: {
|
|
27
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
28
|
+
required: false,
|
|
29
|
+
target: { attribute: 'inverse' },
|
|
30
|
+
description:
|
|
31
|
+
'Use the high-contrast inverse surface (dark on light themes, light on dark themes).',
|
|
32
|
+
default: false,
|
|
33
|
+
},
|
|
34
|
+
open: {
|
|
35
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
36
|
+
required: false,
|
|
37
|
+
target: { attribute: 'open' },
|
|
38
|
+
description: 'Whether the tooltip is open initially or when set externally.',
|
|
39
|
+
default: false,
|
|
40
|
+
},
|
|
41
|
+
placement: {
|
|
42
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
43
|
+
required: false,
|
|
44
|
+
target: { attribute: 'placement' },
|
|
45
|
+
description:
|
|
46
|
+
'Positions the description around its trigger. Start and end on top or bottom follow the writing direction.',
|
|
47
|
+
values: [
|
|
48
|
+
'top',
|
|
49
|
+
'top-start',
|
|
50
|
+
'top-end',
|
|
51
|
+
'bottom',
|
|
52
|
+
'bottom-start',
|
|
53
|
+
'bottom-end',
|
|
54
|
+
'left',
|
|
55
|
+
'left-start',
|
|
56
|
+
'left-end',
|
|
57
|
+
'right',
|
|
58
|
+
'right-start',
|
|
59
|
+
'right-end',
|
|
60
|
+
],
|
|
61
|
+
default: 'top',
|
|
62
|
+
},
|
|
63
|
+
showDelay: {
|
|
64
|
+
type: { kind: 'terminal', name: 'number' },
|
|
65
|
+
required: false,
|
|
66
|
+
target: { attribute: 'showdelay' },
|
|
67
|
+
description: 'Waits this many milliseconds before showing after pointer entry.',
|
|
68
|
+
default: 500,
|
|
69
|
+
},
|
|
70
|
+
trigger: {
|
|
71
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
72
|
+
required: false,
|
|
73
|
+
target: { attribute: 'trigger' },
|
|
74
|
+
description:
|
|
75
|
+
'How the trigger opens it. hover also opens on keyboard focus; click toggles it and suits a help button, where hovering a question mark says nothing; focus\n opens only while the trigger holds focus.',
|
|
76
|
+
values: ['hover', 'click', 'focus'],
|
|
77
|
+
default: 'hover',
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
}
|
|
10
81
|
const props = defineProps({
|
|
11
82
|
for: { type: null as unknown as PropType<string | null>, default: '' },
|
|
12
83
|
hideDelay: { type: null as unknown as PropType<number | null>, default: 100 },
|
|
@@ -42,32 +113,24 @@ const checkedProps = computed(() => ({
|
|
|
42
113
|
{ kind: 'terminal', name: 'string' },
|
|
43
114
|
false,
|
|
44
115
|
'for',
|
|
45
|
-
undefined,
|
|
46
|
-
undefined,
|
|
47
116
|
) as string,
|
|
48
117
|
hideDelay: checkedProp<number>(
|
|
49
118
|
props['hideDelay'],
|
|
50
119
|
{ kind: 'terminal', name: 'number' },
|
|
51
120
|
false,
|
|
52
121
|
'hideDelay',
|
|
53
|
-
undefined,
|
|
54
|
-
undefined,
|
|
55
122
|
) as number,
|
|
56
123
|
inverse: checkedProp<boolean>(
|
|
57
124
|
props['inverse'],
|
|
58
125
|
{ kind: 'terminal', name: 'boolean' },
|
|
59
126
|
false,
|
|
60
127
|
'inverse',
|
|
61
|
-
undefined,
|
|
62
|
-
undefined,
|
|
63
128
|
) as boolean,
|
|
64
129
|
open: checkedProp<boolean>(
|
|
65
130
|
props['open'],
|
|
66
131
|
{ kind: 'terminal', name: 'boolean' },
|
|
67
132
|
false,
|
|
68
133
|
'open',
|
|
69
|
-
undefined,
|
|
70
|
-
undefined,
|
|
71
134
|
) as boolean,
|
|
72
135
|
placement: checkedProp<
|
|
73
136
|
| 'top'
|
|
@@ -82,20 +145,7 @@ const checkedProps = computed(() => ({
|
|
|
82
145
|
| 'right'
|
|
83
146
|
| 'right-start'
|
|
84
147
|
| 'right-end'
|
|
85
|
-
>(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement'
|
|
86
|
-
'top',
|
|
87
|
-
'top-start',
|
|
88
|
-
'top-end',
|
|
89
|
-
'bottom',
|
|
90
|
-
'bottom-start',
|
|
91
|
-
'bottom-end',
|
|
92
|
-
'left',
|
|
93
|
-
'left-start',
|
|
94
|
-
'left-end',
|
|
95
|
-
'right',
|
|
96
|
-
'right-start',
|
|
97
|
-
'right-end',
|
|
98
|
-
]) as
|
|
148
|
+
>(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement') as
|
|
99
149
|
| 'top'
|
|
100
150
|
| 'top-start'
|
|
101
151
|
| 'top-end'
|
|
@@ -113,16 +163,12 @@ const checkedProps = computed(() => ({
|
|
|
113
163
|
{ kind: 'terminal', name: 'number' },
|
|
114
164
|
false,
|
|
115
165
|
'showDelay',
|
|
116
|
-
undefined,
|
|
117
|
-
undefined,
|
|
118
166
|
) as number,
|
|
119
167
|
trigger: checkedProp<'hover' | 'click' | 'focus'>(
|
|
120
168
|
props['trigger'],
|
|
121
169
|
{ kind: 'terminal', name: 'keyword' },
|
|
122
170
|
false,
|
|
123
171
|
'trigger',
|
|
124
|
-
undefined,
|
|
125
|
-
['hover', 'click', 'focus'],
|
|
126
172
|
) as 'hover' | 'click' | 'focus',
|
|
127
173
|
}))
|
|
128
174
|
void checkedProps.value
|
|
@@ -187,6 +233,14 @@ const emit = defineEmits<{
|
|
|
187
233
|
|
|
188
234
|
const root = ref<HTMLElement | null>(null)
|
|
189
235
|
const internalOpen = ref(false)
|
|
236
|
+
let guardedPrevious: any
|
|
237
|
+
const guarded = computed(() => {
|
|
238
|
+
if (!(internalOpen.value == null || typeof internalOpen.value === 'boolean')) {
|
|
239
|
+
return guardedPrevious
|
|
240
|
+
}
|
|
241
|
+
return guardedPrevious = !internalOpen.value
|
|
242
|
+
})
|
|
243
|
+
provide('html-next:ui-tooltip:internalOpen', internalOpen)
|
|
190
244
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
191
245
|
if (
|
|
192
246
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -247,7 +301,8 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
|
|
|
247
301
|
data-component="ui-tooltip"
|
|
248
302
|
role="tooltip"
|
|
249
303
|
v-bind="nativeAttrs($attrs)"
|
|
250
|
-
:hidden="
|
|
304
|
+
:hidden="guarded"
|
|
305
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
251
306
|
:data-for="reflectedProp('for', 'for', checkedProps.for, undefined, false)"
|
|
252
307
|
:data-hide-delay="reflectedProp('hideDelay', 'hide-delay', checkedProps.hideDelay, undefined, false)"
|
|
253
308
|
:data-inverse="reflectedProp('inverse', 'inverse', checkedProps.inverse, undefined, false)"
|
package/vue/UiTopBar.vue
CHANGED
package/vue/UiTree.vue
CHANGED
|
@@ -1,12 +1,65 @@
|
|
|
1
|
-
<!-- Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
<!-- Generated by HTML Next 1.0.0-alpha.15 for Vue 3.5. Do not edit. -->
|
|
2
2
|
<script setup lang="ts">
|
|
3
3
|
import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
|
|
4
4
|
import type { PropType } from 'vue'
|
|
5
5
|
import { createDispatch, useComponentHost } from './host'
|
|
6
|
-
import { checkedProp } from './props'
|
|
6
|
+
import { checkedProp, vPropValidity } from './props'
|
|
7
7
|
|
|
8
8
|
defineOptions({ inheritAttrs: false })
|
|
9
9
|
|
|
10
|
+
const propValidityContract = {
|
|
11
|
+
props: {
|
|
12
|
+
density: {
|
|
13
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
14
|
+
required: false,
|
|
15
|
+
target: { attribute: 'density' },
|
|
16
|
+
description: 'Compact trades padding and type size for rows that fit more on screen.',
|
|
17
|
+
values: ['comfortable', 'compact'],
|
|
18
|
+
default: 'comfortable',
|
|
19
|
+
},
|
|
20
|
+
hoverExpandDelay: {
|
|
21
|
+
type: { kind: 'terminal', name: 'number' },
|
|
22
|
+
required: false,
|
|
23
|
+
target: { attribute: 'hoverexpanddelay' },
|
|
24
|
+
description:
|
|
25
|
+
'How long, in milliseconds, a dragged item must hover over the middle of a collapsed branch before the branch opens to receive it. 0 opens it at\n once.',
|
|
26
|
+
default: 700,
|
|
27
|
+
},
|
|
28
|
+
label: {
|
|
29
|
+
type: { kind: 'terminal', name: 'string' },
|
|
30
|
+
required: false,
|
|
31
|
+
target: { attribute: 'label' },
|
|
32
|
+
description:
|
|
33
|
+
'The tree\'s accessible name, announced when focus enters it. Name what the tree holds.',
|
|
34
|
+
default: 'Tree',
|
|
35
|
+
},
|
|
36
|
+
marquee: {
|
|
37
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
38
|
+
required: false,
|
|
39
|
+
target: { attribute: 'marquee' },
|
|
40
|
+
description:
|
|
41
|
+
'Scrolls a name too long for its row while that row is hovered or keyboard focused, rests at the end, then scrolls it again. Off by default: a tree of names\n that fit should not move. An item may set its own marquee to opt in or out on its own.',
|
|
42
|
+
default: false,
|
|
43
|
+
},
|
|
44
|
+
maxDepth: {
|
|
45
|
+
type: { kind: 'terminal', name: 'number' },
|
|
46
|
+
required: false,
|
|
47
|
+
target: { attribute: 'maxdepth' },
|
|
48
|
+
description:
|
|
49
|
+
'The deepest level a drag may produce, counting the top level as 1. A drop that would place the dragged item, or any item beneath it, deeper than this is\n refused and reported as reorder-rejected. 0 means no limit.',
|
|
50
|
+
default: 0,
|
|
51
|
+
},
|
|
52
|
+
selection: {
|
|
53
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
54
|
+
required: false,
|
|
55
|
+
target: { attribute: 'selection' },
|
|
56
|
+
description:
|
|
57
|
+
'How selection works. None keeps rows for navigation and expansion; single requests one selected item; multiple shows checkboxes and requests an item with\n its descendants. The application owns each Tree Item\'s selected state and responds to select.',
|
|
58
|
+
values: ['none', 'single', 'multiple'],
|
|
59
|
+
default: 'none',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
}
|
|
10
63
|
const props = defineProps({
|
|
11
64
|
density: {
|
|
12
65
|
type: null as unknown as PropType<'comfortable' | 'compact' | null>,
|
|
@@ -27,48 +80,36 @@ const checkedProps = computed(() => ({
|
|
|
27
80
|
{ kind: 'terminal', name: 'keyword' },
|
|
28
81
|
false,
|
|
29
82
|
'density',
|
|
30
|
-
undefined,
|
|
31
|
-
['comfortable', 'compact'],
|
|
32
83
|
) as 'comfortable' | 'compact',
|
|
33
84
|
hoverExpandDelay: checkedProp<number>(
|
|
34
85
|
props['hoverExpandDelay'],
|
|
35
86
|
{ kind: 'terminal', name: 'number' },
|
|
36
87
|
false,
|
|
37
88
|
'hoverExpandDelay',
|
|
38
|
-
undefined,
|
|
39
|
-
undefined,
|
|
40
89
|
) as number,
|
|
41
90
|
label: checkedProp<string>(
|
|
42
91
|
props['label'],
|
|
43
92
|
{ kind: 'terminal', name: 'string' },
|
|
44
93
|
false,
|
|
45
94
|
'label',
|
|
46
|
-
undefined,
|
|
47
|
-
undefined,
|
|
48
95
|
) as string,
|
|
49
96
|
marquee: checkedProp<boolean>(
|
|
50
97
|
props['marquee'],
|
|
51
98
|
{ kind: 'terminal', name: 'boolean' },
|
|
52
99
|
false,
|
|
53
100
|
'marquee',
|
|
54
|
-
undefined,
|
|
55
|
-
undefined,
|
|
56
101
|
) as boolean,
|
|
57
102
|
maxDepth: checkedProp<number>(
|
|
58
103
|
props['maxDepth'],
|
|
59
104
|
{ kind: 'terminal', name: 'number' },
|
|
60
105
|
false,
|
|
61
106
|
'maxDepth',
|
|
62
|
-
undefined,
|
|
63
|
-
undefined,
|
|
64
107
|
) as number,
|
|
65
108
|
selection: checkedProp<'none' | 'single' | 'multiple'>(
|
|
66
109
|
props['selection'],
|
|
67
110
|
{ kind: 'terminal', name: 'keyword' },
|
|
68
111
|
false,
|
|
69
112
|
'selection',
|
|
70
|
-
undefined,
|
|
71
|
-
['none', 'single', 'multiple'],
|
|
72
113
|
) as 'none' | 'single' | 'multiple',
|
|
73
114
|
}))
|
|
74
115
|
void checkedProps.value
|
|
@@ -250,6 +291,7 @@ useComponentHost(() => import('../components/ui-tree/ui-tree.js'), {
|
|
|
250
291
|
data-component="ui-tree"
|
|
251
292
|
role="tree"
|
|
252
293
|
v-bind="nativeAttrs($attrs)"
|
|
294
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
253
295
|
:data-density="reflectedProp('density', 'density', checkedProps.density, undefined, false)"
|
|
254
296
|
:data-hover-expand-delay="reflectedProp(
|
|
255
297
|
'hoverExpandDelay',
|
package/vue/UiTreeItem.d.ts
CHANGED
|
@@ -143,14 +143,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
143
143
|
disabled: boolean | null;
|
|
144
144
|
selected: boolean | null;
|
|
145
145
|
expanded: boolean | null;
|
|
146
|
-
accepts: string | null;
|
|
147
146
|
container: boolean | null;
|
|
147
|
+
lazy: boolean | null;
|
|
148
|
+
sortable: boolean | null;
|
|
149
|
+
accepts: string | null;
|
|
148
150
|
dragType: string | null;
|
|
149
151
|
dropDepth: number | null;
|
|
150
152
|
dropScope: string | null;
|
|
151
153
|
itemId: string | null;
|
|
152
|
-
lazy: boolean | null;
|
|
153
|
-
sortable: boolean | null;
|
|
154
154
|
subtreeDepth: number | null;
|
|
155
155
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
156
156
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
package/vue/UiTreeItem.vue
CHANGED
|
@@ -1,12 +1,126 @@
|
|
|
1
|
-
<!-- Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
<!-- Generated by HTML Next 1.0.0-alpha.15 for Vue 3.5. Do not edit. -->
|
|
2
2
|
<script setup lang="ts">
|
|
3
|
-
import { computed, getCurrentInstance, ref, useTemplateRef, watchSyncEffect } from 'vue'
|
|
3
|
+
import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
|
|
4
4
|
import type { PropType } from 'vue'
|
|
5
5
|
import { createDispatch, useComponentHost } from './host'
|
|
6
|
-
import { checkedProp } from './props'
|
|
6
|
+
import { checkedProp, vPropValidity } from './props'
|
|
7
7
|
|
|
8
8
|
defineOptions({ inheritAttrs: false })
|
|
9
9
|
|
|
10
|
+
const propValidityContract = {
|
|
11
|
+
props: {
|
|
12
|
+
accepts: {
|
|
13
|
+
type: { kind: 'terminal', name: 'string' },
|
|
14
|
+
required: false,
|
|
15
|
+
target: { attribute: 'data-accepts' },
|
|
16
|
+
description:
|
|
17
|
+
'A comma-separated list of the dragType values this branch accepts dropped inside it. Empty accepts any type. It does not affect drops before or after the\n item.',
|
|
18
|
+
default: '',
|
|
19
|
+
},
|
|
20
|
+
container: {
|
|
21
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
22
|
+
required: false,
|
|
23
|
+
target: { attribute: 'container' },
|
|
24
|
+
description:
|
|
25
|
+
'Makes the item a branch even before it has children: it gets the expand button and aria-expanded, and accepts drops inside it. An item with nested items is\n a branch without it.',
|
|
26
|
+
default: false,
|
|
27
|
+
},
|
|
28
|
+
disabled: {
|
|
29
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
30
|
+
required: false,
|
|
31
|
+
target: { attribute: 'aria-disabled' },
|
|
32
|
+
description:
|
|
33
|
+
'Makes the item unavailable: faded, skipped by keyboard navigation, unable to expand or be dragged, and closed to drops inside it.',
|
|
34
|
+
default: false,
|
|
35
|
+
},
|
|
36
|
+
dragType: {
|
|
37
|
+
type: { kind: 'terminal', name: 'string' },
|
|
38
|
+
required: false,
|
|
39
|
+
target: { attribute: 'data-drag-type' },
|
|
40
|
+
description:
|
|
41
|
+
'The item\'s kind, for drag rules: it can be dropped before or after only items of the same type, and inside a branch only if that branch\'s accepts allows\n it. Reported as sourceType and targetType.',
|
|
42
|
+
default: 'item',
|
|
43
|
+
},
|
|
44
|
+
dropDepth: {
|
|
45
|
+
type: { kind: 'terminal', name: 'number' },
|
|
46
|
+
required: false,
|
|
47
|
+
target: { attribute: 'data-drop-depth' },
|
|
48
|
+
description:
|
|
49
|
+
'Overrides the level this item counts as when the tree checks maxDepth for a drop onto it. Unset, its level in the rendered tree is used; set it when the\n item sits deeper in the real hierarchy than the rendered tree shows.',
|
|
50
|
+
},
|
|
51
|
+
dropScope: {
|
|
52
|
+
type: { kind: 'terminal', name: 'string' },
|
|
53
|
+
required: false,
|
|
54
|
+
target: { attribute: 'data-drop-scope' },
|
|
55
|
+
description:
|
|
56
|
+
'Names the list the item sits in, such as its parent\'s id, and is reported as sourceScope and targetScope in the tree\'s reorder events, so a handler can\n tell a reorder within one list from a move between lists. It never restricts where an item can be dropped; dragType and accepts do that.',
|
|
57
|
+
default: '',
|
|
58
|
+
},
|
|
59
|
+
expanded: {
|
|
60
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
61
|
+
required: false,
|
|
62
|
+
target: { attribute: 'expanded' },
|
|
63
|
+
description:
|
|
64
|
+
'Whether the branch shows its children, initially or when set externally. The expand button, a click on the row, and the arrow keys toggle it from there,\n each reported as an expand event. Only meaningful for a branch.',
|
|
65
|
+
default: false,
|
|
66
|
+
},
|
|
67
|
+
itemId: {
|
|
68
|
+
type: { kind: 'terminal', name: 'string' },
|
|
69
|
+
required: false,
|
|
70
|
+
target: { attribute: 'data-item-id' },
|
|
71
|
+
description:
|
|
72
|
+
'The item\'s identifier, reported as sourceId and targetId in the tree\'s reorder events and as id in its expand event. A sortable item needs one to be\n dragged, and a drop onto an item without one is not reported.',
|
|
73
|
+
default: '',
|
|
74
|
+
},
|
|
75
|
+
label: {
|
|
76
|
+
type: { kind: 'terminal', name: 'string' },
|
|
77
|
+
required: false,
|
|
78
|
+
target: { attribute: 'aria-label' },
|
|
79
|
+
description:
|
|
80
|
+
'The item\'s accessible name, also shown as the row text unless the label slot supplies content.',
|
|
81
|
+
default: '',
|
|
82
|
+
},
|
|
83
|
+
lazy: {
|
|
84
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
85
|
+
required: false,
|
|
86
|
+
target: { attribute: 'lazy' },
|
|
87
|
+
description:
|
|
88
|
+
'Keeps an empty item expandable while its children are supplied later. Expanding emits expand; the item is aria-busy until child Tree Items are appended.\n Clear lazy if loading finishes with no children.',
|
|
89
|
+
default: false,
|
|
90
|
+
},
|
|
91
|
+
marquee: {
|
|
92
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
93
|
+
required: false,
|
|
94
|
+
target: { attribute: 'marquee' },
|
|
95
|
+
description:
|
|
96
|
+
'Scrolls a name too long for its row while a pointer hovers the row or keyboard focus is in it, rests at the end, then scrolls it again from the start. A\n touch does not start it. Off by default: a tree of short names should not move, and a product decides whether reading the whole name matters more than a\n still list.',
|
|
97
|
+
default: false,
|
|
98
|
+
},
|
|
99
|
+
selected: {
|
|
100
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
101
|
+
required: false,
|
|
102
|
+
target: { attribute: 'aria-selected' },
|
|
103
|
+
description:
|
|
104
|
+
'Marks the item selected: it sets aria-selected and highlights the row. This is controlled state; respond to the parent Tree\'s select request by updating\n it.',
|
|
105
|
+
default: false,
|
|
106
|
+
},
|
|
107
|
+
sortable: {
|
|
108
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
109
|
+
required: false,
|
|
110
|
+
target: { attribute: 'sortable' },
|
|
111
|
+
description:
|
|
112
|
+
'Gives the item a move handle. Drag it, or activate it and choose a target by a second click or the keyboard. The tree reports reorder and leaves moving the\n item to you. Needs itemId; disabled items show no handle.',
|
|
113
|
+
default: false,
|
|
114
|
+
},
|
|
115
|
+
subtreeDepth: {
|
|
116
|
+
type: { kind: 'terminal', name: 'number' },
|
|
117
|
+
required: false,
|
|
118
|
+
target: { attribute: 'data-subtree-depth' },
|
|
119
|
+
description:
|
|
120
|
+
'Overrides how many levels sit beneath this item when the tree checks maxDepth for a drag of it. Unset, the tree counts the rendered descendants; set it\n when some are not rendered, such as children that load later.',
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
}
|
|
10
124
|
const props = defineProps({
|
|
11
125
|
accepts: { type: null as unknown as PropType<string | null>, default: '' },
|
|
12
126
|
container: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
@@ -29,112 +143,84 @@ const checkedProps = computed(() => ({
|
|
|
29
143
|
{ kind: 'terminal', name: 'string' },
|
|
30
144
|
false,
|
|
31
145
|
'accepts',
|
|
32
|
-
undefined,
|
|
33
|
-
undefined,
|
|
34
146
|
) as string,
|
|
35
147
|
container: checkedProp<boolean>(
|
|
36
148
|
props['container'],
|
|
37
149
|
{ kind: 'terminal', name: 'boolean' },
|
|
38
150
|
false,
|
|
39
151
|
'container',
|
|
40
|
-
undefined,
|
|
41
|
-
undefined,
|
|
42
152
|
) as boolean,
|
|
43
153
|
disabled: checkedProp<boolean>(
|
|
44
154
|
props['disabled'],
|
|
45
155
|
{ kind: 'terminal', name: 'boolean' },
|
|
46
156
|
false,
|
|
47
157
|
'disabled',
|
|
48
|
-
undefined,
|
|
49
|
-
undefined,
|
|
50
158
|
) as boolean,
|
|
51
159
|
dragType: checkedProp<string>(
|
|
52
160
|
props['dragType'],
|
|
53
161
|
{ kind: 'terminal', name: 'string' },
|
|
54
162
|
false,
|
|
55
163
|
'dragType',
|
|
56
|
-
undefined,
|
|
57
|
-
undefined,
|
|
58
164
|
) as string,
|
|
59
165
|
dropDepth: checkedProp<number>(
|
|
60
166
|
props['dropDepth'],
|
|
61
167
|
{ kind: 'terminal', name: 'number' },
|
|
62
168
|
false,
|
|
63
169
|
'dropDepth',
|
|
64
|
-
undefined,
|
|
65
|
-
undefined,
|
|
66
170
|
),
|
|
67
171
|
dropScope: checkedProp<string>(
|
|
68
172
|
props['dropScope'],
|
|
69
173
|
{ kind: 'terminal', name: 'string' },
|
|
70
174
|
false,
|
|
71
175
|
'dropScope',
|
|
72
|
-
undefined,
|
|
73
|
-
undefined,
|
|
74
176
|
) as string,
|
|
75
177
|
expanded: checkedProp<boolean>(
|
|
76
178
|
props['expanded'],
|
|
77
179
|
{ kind: 'terminal', name: 'boolean' },
|
|
78
180
|
false,
|
|
79
181
|
'expanded',
|
|
80
|
-
undefined,
|
|
81
|
-
undefined,
|
|
82
182
|
) as boolean,
|
|
83
183
|
itemId: checkedProp<string>(
|
|
84
184
|
props['itemId'],
|
|
85
185
|
{ kind: 'terminal', name: 'string' },
|
|
86
186
|
false,
|
|
87
187
|
'itemId',
|
|
88
|
-
undefined,
|
|
89
|
-
undefined,
|
|
90
188
|
) as string,
|
|
91
189
|
label: checkedProp<string>(
|
|
92
190
|
props['label'],
|
|
93
191
|
{ kind: 'terminal', name: 'string' },
|
|
94
192
|
false,
|
|
95
193
|
'label',
|
|
96
|
-
undefined,
|
|
97
|
-
undefined,
|
|
98
194
|
) as string,
|
|
99
195
|
lazy: checkedProp<boolean>(
|
|
100
196
|
props['lazy'],
|
|
101
197
|
{ kind: 'terminal', name: 'boolean' },
|
|
102
198
|
false,
|
|
103
199
|
'lazy',
|
|
104
|
-
undefined,
|
|
105
|
-
undefined,
|
|
106
200
|
) as boolean,
|
|
107
201
|
marquee: checkedProp<boolean>(
|
|
108
202
|
props['marquee'],
|
|
109
203
|
{ kind: 'terminal', name: 'boolean' },
|
|
110
204
|
false,
|
|
111
205
|
'marquee',
|
|
112
|
-
undefined,
|
|
113
|
-
undefined,
|
|
114
206
|
) as boolean,
|
|
115
207
|
selected: checkedProp<boolean>(
|
|
116
208
|
props['selected'],
|
|
117
209
|
{ kind: 'terminal', name: 'boolean' },
|
|
118
210
|
false,
|
|
119
211
|
'selected',
|
|
120
|
-
undefined,
|
|
121
|
-
undefined,
|
|
122
212
|
) as boolean,
|
|
123
213
|
sortable: checkedProp<boolean>(
|
|
124
214
|
props['sortable'],
|
|
125
215
|
{ kind: 'terminal', name: 'boolean' },
|
|
126
216
|
false,
|
|
127
217
|
'sortable',
|
|
128
|
-
undefined,
|
|
129
|
-
undefined,
|
|
130
218
|
) as boolean,
|
|
131
219
|
subtreeDepth: checkedProp<number>(
|
|
132
220
|
props['subtreeDepth'],
|
|
133
221
|
{ kind: 'terminal', name: 'number' },
|
|
134
222
|
false,
|
|
135
223
|
'subtreeDepth',
|
|
136
|
-
undefined,
|
|
137
|
-
undefined,
|
|
138
224
|
),
|
|
139
225
|
}))
|
|
140
226
|
void checkedProps.value
|
|
@@ -200,6 +286,32 @@ const internalExpanded = ref(false)
|
|
|
200
286
|
const structuralLevel = ref(1)
|
|
201
287
|
const tabStop = ref(false)
|
|
202
288
|
const isContainer = ref(false)
|
|
289
|
+
let guardedPrevious: any
|
|
290
|
+
const guarded = computed(() => {
|
|
291
|
+
if (!(structuralLevel.value == null || Number.isInteger(structuralLevel.value))) {
|
|
292
|
+
return guardedPrevious
|
|
293
|
+
}
|
|
294
|
+
return guardedPrevious = structuralLevel.value
|
|
295
|
+
})
|
|
296
|
+
let guardedBindingPrevious: any
|
|
297
|
+
const guardedBinding = computed(() => {
|
|
298
|
+
if (!(isContainer.value == null || typeof isContainer.value === 'boolean')) {
|
|
299
|
+
return guardedBindingPrevious
|
|
300
|
+
}
|
|
301
|
+
return guardedBindingPrevious = !isContainer.value
|
|
302
|
+
})
|
|
303
|
+
let guardedBinding2Previous: any
|
|
304
|
+
const guardedBinding2 = computed(() => {
|
|
305
|
+
if (
|
|
306
|
+
!((internalExpanded.value == null || typeof internalExpanded.value === 'boolean')
|
|
307
|
+
&& (isContainer.value == null || typeof isContainer.value === 'boolean'))
|
|
308
|
+
) return guardedBinding2Previous
|
|
309
|
+
return guardedBinding2Previous = !(isContainer.value && internalExpanded.value)
|
|
310
|
+
})
|
|
311
|
+
provide('html-next:ui-tree-item:internalExpanded', internalExpanded)
|
|
312
|
+
provide('html-next:ui-tree-item:structuralLevel', structuralLevel)
|
|
313
|
+
provide('html-next:ui-tree-item:tabStop', tabStop)
|
|
314
|
+
provide('html-next:ui-tree-item:isContainer', isContainer)
|
|
203
315
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
204
316
|
if (
|
|
205
317
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -270,9 +382,10 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
270
382
|
role="treeitem"
|
|
271
383
|
v-bind="nativeAttrs($attrs)"
|
|
272
384
|
:aria-label="checkedProps.label ?? undefined"
|
|
273
|
-
:aria-level="
|
|
385
|
+
:aria-level="guarded"
|
|
274
386
|
:aria-selected="checkedProps.selected ?? undefined"
|
|
275
387
|
:aria-disabled="checkedProps.disabled ?? undefined"
|
|
388
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
276
389
|
:data-accepts="reflectedProp('accepts', 'accepts', checkedProps.accepts, undefined, true)"
|
|
277
390
|
:data-container="reflectedProp('container', 'container', checkedProps.container, undefined, false)"
|
|
278
391
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
@@ -321,7 +434,7 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
321
434
|
class="disclosure"
|
|
322
435
|
type="button"
|
|
323
436
|
:disabled="checkedProps.disabled ?? undefined"
|
|
324
|
-
:hidden="
|
|
437
|
+
:hidden="guardedBinding"
|
|
325
438
|
ref="disclosure"
|
|
326
439
|
>
|
|
327
440
|
<span class="disclosure-icon" aria-hidden="true"></span>
|
|
@@ -341,9 +454,7 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
341
454
|
<span class="actions" ref="actions"><slot name="actions" /></span>
|
|
342
455
|
<span class="drop-indicator row-drop-indicator" aria-hidden="true"></span>
|
|
343
456
|
</div>
|
|
344
|
-
<div class="children" role="group" :hidden="
|
|
345
|
-
<slot />
|
|
346
|
-
</div>
|
|
457
|
+
<div class="children" role="group" :hidden="guardedBinding2" ref="children"><slot /></div>
|
|
347
458
|
<span class="drop-indicator subtree-drop-indicator" aria-hidden="true"></span>
|
|
348
459
|
</div>
|
|
349
460
|
</template>
|