@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/UiEditable.vue
CHANGED
|
@@ -1,13 +1,97 @@
|
|
|
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 { vBindControl } from './control'
|
|
6
6
|
import { createDispatch, useComponentHost } from './host'
|
|
7
|
-
import { checkedProp } from './props'
|
|
7
|
+
import { checkedProp, vPropValidity } from './props'
|
|
8
8
|
|
|
9
9
|
defineOptions({ inheritAttrs: false })
|
|
10
10
|
|
|
11
|
+
const propValidityContract = {
|
|
12
|
+
props: {
|
|
13
|
+
actions: {
|
|
14
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
15
|
+
required: false,
|
|
16
|
+
target: { attribute: 'actions' },
|
|
17
|
+
description:
|
|
18
|
+
'Show explicit Save and Cancel buttons while editing. Without them, Enter or leaving the field saves and Escape cancels.',
|
|
19
|
+
default: false,
|
|
20
|
+
},
|
|
21
|
+
cancelLabel: {
|
|
22
|
+
type: { kind: 'terminal', name: 'string' },
|
|
23
|
+
required: false,
|
|
24
|
+
target: { attribute: 'cancellabel' },
|
|
25
|
+
description: 'Visible text for the Cancel action.',
|
|
26
|
+
default: 'Cancel',
|
|
27
|
+
},
|
|
28
|
+
disabled: {
|
|
29
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
30
|
+
required: false,
|
|
31
|
+
target: { attribute: 'disabled' },
|
|
32
|
+
description: 'Prevents entering or changing edit mode.',
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
35
|
+
edit: {
|
|
36
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
37
|
+
required: false,
|
|
38
|
+
target: { attribute: 'edit' },
|
|
39
|
+
description: 'Whether edit mode is active initially or when set externally.',
|
|
40
|
+
default: false,
|
|
41
|
+
},
|
|
42
|
+
hint: {
|
|
43
|
+
type: { kind: 'terminal', name: 'string' },
|
|
44
|
+
required: false,
|
|
45
|
+
target: { attribute: 'hint' },
|
|
46
|
+
description:
|
|
47
|
+
'Optional text shown beside the value to signal it is editable (for example "Edit").',
|
|
48
|
+
default: '',
|
|
49
|
+
},
|
|
50
|
+
label: {
|
|
51
|
+
type: { kind: 'terminal', name: 'string' },
|
|
52
|
+
required: false,
|
|
53
|
+
target: { attribute: 'aria-label' },
|
|
54
|
+
description: 'Accessible name for the editor.',
|
|
55
|
+
default: 'Edit value',
|
|
56
|
+
},
|
|
57
|
+
maxLength: {
|
|
58
|
+
type: { kind: 'terminal', name: 'number' },
|
|
59
|
+
required: false,
|
|
60
|
+
target: { attribute: 'maxlength' },
|
|
61
|
+
description: 'Maximum draft length; 0 leaves the length unrestricted.',
|
|
62
|
+
default: 0,
|
|
63
|
+
},
|
|
64
|
+
placeholder: {
|
|
65
|
+
type: { kind: 'terminal', name: 'string' },
|
|
66
|
+
required: false,
|
|
67
|
+
target: { attribute: 'placeholder' },
|
|
68
|
+
description: 'Hint shown in the text input while the draft is empty.',
|
|
69
|
+
default: '',
|
|
70
|
+
},
|
|
71
|
+
required: {
|
|
72
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
73
|
+
required: false,
|
|
74
|
+
target: { attribute: 'required' },
|
|
75
|
+
description: 'Prevent an empty draft from being saved.',
|
|
76
|
+
default: false,
|
|
77
|
+
},
|
|
78
|
+
saveLabel: {
|
|
79
|
+
type: { kind: 'terminal', name: 'string' },
|
|
80
|
+
required: false,
|
|
81
|
+
target: { attribute: 'savelabel' },
|
|
82
|
+
description: 'Visible text for the Save action.',
|
|
83
|
+
default: 'Save',
|
|
84
|
+
},
|
|
85
|
+
value: {
|
|
86
|
+
type: { kind: 'terminal', name: 'string' },
|
|
87
|
+
required: false,
|
|
88
|
+
target: { attribute: 'value' },
|
|
89
|
+
description:
|
|
90
|
+
'The displayed value, and the text the editor starts from. It is not a form field: nothing is submitted with a form, so a form that needs the value copies\n it from the change event into a field of its own.',
|
|
91
|
+
default: '',
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
}
|
|
11
95
|
const props = defineProps({
|
|
12
96
|
actions: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
13
97
|
cancelLabel: { type: null as unknown as PropType<string | null>, default: 'Cancel' },
|
|
@@ -27,88 +111,66 @@ const checkedProps = computed(() => ({
|
|
|
27
111
|
{ kind: 'terminal', name: 'boolean' },
|
|
28
112
|
false,
|
|
29
113
|
'actions',
|
|
30
|
-
undefined,
|
|
31
|
-
undefined,
|
|
32
114
|
) as boolean,
|
|
33
115
|
cancelLabel: checkedProp<string>(
|
|
34
116
|
props['cancelLabel'],
|
|
35
117
|
{ kind: 'terminal', name: 'string' },
|
|
36
118
|
false,
|
|
37
119
|
'cancelLabel',
|
|
38
|
-
undefined,
|
|
39
|
-
undefined,
|
|
40
120
|
) as string,
|
|
41
121
|
disabled: checkedProp<boolean>(
|
|
42
122
|
props['disabled'],
|
|
43
123
|
{ kind: 'terminal', name: 'boolean' },
|
|
44
124
|
false,
|
|
45
125
|
'disabled',
|
|
46
|
-
undefined,
|
|
47
|
-
undefined,
|
|
48
126
|
) as boolean,
|
|
49
127
|
edit: checkedProp<boolean>(
|
|
50
128
|
props['edit'],
|
|
51
129
|
{ kind: 'terminal', name: 'boolean' },
|
|
52
130
|
false,
|
|
53
131
|
'edit',
|
|
54
|
-
undefined,
|
|
55
|
-
undefined,
|
|
56
132
|
) as boolean,
|
|
57
133
|
hint: checkedProp<string>(
|
|
58
134
|
props['hint'],
|
|
59
135
|
{ kind: 'terminal', name: 'string' },
|
|
60
136
|
false,
|
|
61
137
|
'hint',
|
|
62
|
-
undefined,
|
|
63
|
-
undefined,
|
|
64
138
|
) as string,
|
|
65
139
|
label: checkedProp<string>(
|
|
66
140
|
props['label'],
|
|
67
141
|
{ kind: 'terminal', name: 'string' },
|
|
68
142
|
false,
|
|
69
143
|
'label',
|
|
70
|
-
undefined,
|
|
71
|
-
undefined,
|
|
72
144
|
) as string,
|
|
73
145
|
maxLength: checkedProp<number>(
|
|
74
146
|
props['maxLength'],
|
|
75
147
|
{ kind: 'terminal', name: 'number' },
|
|
76
148
|
false,
|
|
77
149
|
'maxLength',
|
|
78
|
-
undefined,
|
|
79
|
-
undefined,
|
|
80
150
|
) as number,
|
|
81
151
|
placeholder: checkedProp<string>(
|
|
82
152
|
props['placeholder'],
|
|
83
153
|
{ kind: 'terminal', name: 'string' },
|
|
84
154
|
false,
|
|
85
155
|
'placeholder',
|
|
86
|
-
undefined,
|
|
87
|
-
undefined,
|
|
88
156
|
) as string,
|
|
89
157
|
required: checkedProp<boolean>(
|
|
90
158
|
props['required'],
|
|
91
159
|
{ kind: 'terminal', name: 'boolean' },
|
|
92
160
|
false,
|
|
93
161
|
'required',
|
|
94
|
-
undefined,
|
|
95
|
-
undefined,
|
|
96
162
|
) as boolean,
|
|
97
163
|
saveLabel: checkedProp<string>(
|
|
98
164
|
props['saveLabel'],
|
|
99
165
|
{ kind: 'terminal', name: 'string' },
|
|
100
166
|
false,
|
|
101
167
|
'saveLabel',
|
|
102
|
-
undefined,
|
|
103
|
-
undefined,
|
|
104
168
|
) as string,
|
|
105
169
|
value: checkedProp<string>(
|
|
106
170
|
props['value'],
|
|
107
171
|
{ kind: 'terminal', name: 'string' },
|
|
108
172
|
false,
|
|
109
173
|
'value',
|
|
110
|
-
undefined,
|
|
111
|
-
undefined,
|
|
112
174
|
) as string,
|
|
113
175
|
}))
|
|
114
176
|
void checkedProps.value
|
|
@@ -188,6 +250,23 @@ const inputElement = useTemplateRef<HTMLElement>('input')
|
|
|
188
250
|
const internalEdit = ref(false)
|
|
189
251
|
const internalValue = ref('')
|
|
190
252
|
const draft = ref('')
|
|
253
|
+
let guardedPrevious: any
|
|
254
|
+
const guarded = computed(() => {
|
|
255
|
+
if (!(internalValue.value == null || typeof internalValue.value === 'string')) {
|
|
256
|
+
return guardedPrevious
|
|
257
|
+
}
|
|
258
|
+
return guardedPrevious = internalValue.value
|
|
259
|
+
})
|
|
260
|
+
let guardedBindingPrevious: any
|
|
261
|
+
const guardedBinding = computed(() => {
|
|
262
|
+
if (!(internalEdit.value == null || typeof internalEdit.value === 'boolean')) {
|
|
263
|
+
return guardedBindingPrevious
|
|
264
|
+
}
|
|
265
|
+
return guardedBindingPrevious = checkedProps.value.disabled || !internalEdit.value
|
|
266
|
+
})
|
|
267
|
+
provide('html-next:ui-editable:internalEdit', internalEdit)
|
|
268
|
+
provide('html-next:ui-editable:internalValue', internalValue)
|
|
269
|
+
provide('html-next:ui-editable:draft', draft)
|
|
191
270
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
192
271
|
if (
|
|
193
272
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -269,6 +348,7 @@ useComponentHost(() => import('../components/ui-editable/ui-editable.js'), {
|
|
|
269
348
|
<div
|
|
270
349
|
data-component="ui-editable"
|
|
271
350
|
v-bind="nativeAttrs($attrs)"
|
|
351
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
272
352
|
:data-actions="reflectedProp('actions', 'actions', checkedProps.actions, undefined, false)"
|
|
273
353
|
:data-cancel-label="reflectedProp('cancelLabel', 'cancel-label', checkedProps.cancelLabel, undefined, false)"
|
|
274
354
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
@@ -290,7 +370,7 @@ useComponentHost(() => import('../components/ui-editable/ui-editable.js'), {
|
|
|
290
370
|
:disabled="checkedProps.disabled ?? undefined"
|
|
291
371
|
ref="preview"
|
|
292
372
|
>
|
|
293
|
-
<span class="text">{{
|
|
373
|
+
<span class="text">{{ guarded }}</span>
|
|
294
374
|
<span v-if="checkedProps.hint" class="hint" aria-hidden="true">{{
|
|
295
375
|
checkedProps.hint
|
|
296
376
|
}}</span>
|
|
@@ -302,7 +382,7 @@ useComponentHost(() => import('../components/ui-editable/ui-editable.js'), {
|
|
|
302
382
|
:aria-label="checkedProps.label ?? undefined"
|
|
303
383
|
:placeholder="checkedProps.placeholder ?? undefined"
|
|
304
384
|
:required="checkedProps.required ?? undefined"
|
|
305
|
-
:disabled="
|
|
385
|
+
:disabled="guardedBinding"
|
|
306
386
|
ref="input"
|
|
307
387
|
>
|
|
308
388
|
</div>
|
|
@@ -1,10 +1,11 @@
|
|
|
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 {
|
|
4
4
|
computed,
|
|
5
5
|
defineComponent,
|
|
6
6
|
getCurrentInstance,
|
|
7
7
|
h,
|
|
8
|
+
provide,
|
|
8
9
|
ref,
|
|
9
10
|
useTemplateRef,
|
|
10
11
|
watchSyncEffect,
|
|
@@ -12,10 +13,42 @@ import {
|
|
|
12
13
|
import type { PropType, VNode } from 'vue'
|
|
13
14
|
import { vBindControl } from './control'
|
|
14
15
|
import { createDispatch, useComponentHost } from './host'
|
|
15
|
-
import { checkedProp } from './props'
|
|
16
|
+
import { checkedProp, vPropValidity } from './props'
|
|
16
17
|
|
|
17
18
|
defineOptions({ inheritAttrs: false })
|
|
18
19
|
|
|
20
|
+
const propValidityContract = {
|
|
21
|
+
props: {
|
|
22
|
+
headerRow: {
|
|
23
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
24
|
+
required: false,
|
|
25
|
+
target: { attribute: 'headerrow' },
|
|
26
|
+
description: 'Whether table insertion initially includes a header row.',
|
|
27
|
+
default: false,
|
|
28
|
+
},
|
|
29
|
+
maxCols: {
|
|
30
|
+
type: { kind: 'terminal', name: 'integer' },
|
|
31
|
+
required: false,
|
|
32
|
+
target: { attribute: 'maxcols' },
|
|
33
|
+
description: 'The most columns the grid offers (at most 10).',
|
|
34
|
+
default: 8,
|
|
35
|
+
},
|
|
36
|
+
maxRows: {
|
|
37
|
+
type: { kind: 'terminal', name: 'integer' },
|
|
38
|
+
required: false,
|
|
39
|
+
target: { attribute: 'maxrows' },
|
|
40
|
+
description: 'The most rows the grid offers (at most 10).',
|
|
41
|
+
default: 8,
|
|
42
|
+
},
|
|
43
|
+
open: {
|
|
44
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
45
|
+
required: false,
|
|
46
|
+
target: { attribute: 'open' },
|
|
47
|
+
description: 'Whether the grid is shown.',
|
|
48
|
+
default: false,
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
}
|
|
19
52
|
const props = defineProps({
|
|
20
53
|
headerRow: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
21
54
|
maxCols: { type: null as unknown as PropType<number | null>, default: 8 },
|
|
@@ -28,32 +61,24 @@ const checkedProps = computed(() => ({
|
|
|
28
61
|
{ kind: 'terminal', name: 'boolean' },
|
|
29
62
|
false,
|
|
30
63
|
'headerRow',
|
|
31
|
-
undefined,
|
|
32
|
-
undefined,
|
|
33
64
|
) as boolean,
|
|
34
65
|
maxCols: checkedProp<number>(
|
|
35
66
|
props['maxCols'],
|
|
36
67
|
{ kind: 'terminal', name: 'integer' },
|
|
37
68
|
false,
|
|
38
69
|
'maxCols',
|
|
39
|
-
undefined,
|
|
40
|
-
undefined,
|
|
41
70
|
) as number,
|
|
42
71
|
maxRows: checkedProp<number>(
|
|
43
72
|
props['maxRows'],
|
|
44
73
|
{ kind: 'terminal', name: 'integer' },
|
|
45
74
|
false,
|
|
46
75
|
'maxRows',
|
|
47
|
-
undefined,
|
|
48
|
-
undefined,
|
|
49
76
|
) as number,
|
|
50
77
|
open: checkedProp<boolean>(
|
|
51
78
|
props['open'],
|
|
52
79
|
{ kind: 'terminal', name: 'boolean' },
|
|
53
80
|
false,
|
|
54
81
|
'open',
|
|
55
|
-
undefined,
|
|
56
|
-
undefined,
|
|
57
82
|
) as boolean,
|
|
58
83
|
}))
|
|
59
84
|
void checkedProps.value
|
|
@@ -137,6 +162,16 @@ const rows = ref(8)
|
|
|
137
162
|
const cols = ref(8)
|
|
138
163
|
const hint = ref('')
|
|
139
164
|
const withHeaderRow = ref(false)
|
|
165
|
+
let guardedPrevious: any
|
|
166
|
+
const guarded = computed(() => {
|
|
167
|
+
if (!(hint.value == null || typeof hint.value === 'string')) return guardedPrevious
|
|
168
|
+
return guardedPrevious = hint.value
|
|
169
|
+
})
|
|
170
|
+
provide('html-next:ui-editor-insert-table-grid:cells', cells)
|
|
171
|
+
provide('html-next:ui-editor-insert-table-grid:rows', rows)
|
|
172
|
+
provide('html-next:ui-editor-insert-table-grid:cols', cols)
|
|
173
|
+
provide('html-next:ui-editor-insert-table-grid:hint', hint)
|
|
174
|
+
provide('html-next:ui-editor-insert-table-grid:withHeaderRow', withHeaderRow)
|
|
140
175
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
141
176
|
if (
|
|
142
177
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -220,13 +255,14 @@ function uniqueKeys<T>(
|
|
|
220
255
|
data-component="ui-editor-insert-table-grid"
|
|
221
256
|
v-bind="nativeAttrs($attrs)"
|
|
222
257
|
:hidden="!checkedProps.open"
|
|
258
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
223
259
|
:data-header-row="reflectedProp('headerRow', 'header-row', checkedProps.headerRow, undefined, false)"
|
|
224
260
|
:data-max-cols="reflectedProp('maxCols', 'max-cols', checkedProps.maxCols, undefined, false)"
|
|
225
261
|
:data-max-rows="reflectedProp('maxRows', 'max-rows', checkedProps.maxRows, undefined, false)"
|
|
226
262
|
:data-open="reflectedProp('open', 'open', checkedProps.open, undefined, false)"
|
|
227
263
|
ref="root"
|
|
228
264
|
>
|
|
229
|
-
<p class="hint">{{
|
|
265
|
+
<p class="hint">{{ guarded }}</p>
|
|
230
266
|
<div
|
|
231
267
|
class="grid"
|
|
232
268
|
role="group"
|
|
@@ -1,12 +1,96 @@
|
|
|
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
|
+
anchorRect: {
|
|
13
|
+
type: {
|
|
14
|
+
kind: 'object',
|
|
15
|
+
fields: [
|
|
16
|
+
{ name: 'left', type: { kind: 'terminal', name: 'number' }, optional: true },
|
|
17
|
+
{ name: 'top', type: { kind: 'terminal', name: 'number' }, optional: true },
|
|
18
|
+
{ name: 'right', type: { kind: 'terminal', name: 'number' }, optional: true },
|
|
19
|
+
{ name: 'bottom', type: { kind: 'terminal', name: 'number' }, optional: true },
|
|
20
|
+
{ name: 'x', type: { kind: 'terminal', name: 'number' }, optional: true },
|
|
21
|
+
{ name: 'y', type: { kind: 'terminal', name: 'number' }, optional: true },
|
|
22
|
+
{ name: 'width', type: { kind: 'terminal', name: 'number' }, optional: true },
|
|
23
|
+
{ name: 'height', type: { kind: 'terminal', name: 'number' }, optional: true },
|
|
24
|
+
],
|
|
25
|
+
open: false,
|
|
26
|
+
},
|
|
27
|
+
required: false,
|
|
28
|
+
target: { attribute: 'anchorrect' },
|
|
29
|
+
description: 'Where the @ was typed, in viewport coordinates.',
|
|
30
|
+
},
|
|
31
|
+
items: {
|
|
32
|
+
type: {
|
|
33
|
+
kind: 'list',
|
|
34
|
+
item: {
|
|
35
|
+
kind: 'object',
|
|
36
|
+
fields: [
|
|
37
|
+
{ name: 'id', type: { kind: 'terminal', name: 'string' }, optional: false },
|
|
38
|
+
{ name: 'label', type: { kind: 'terminal', name: 'string' }, optional: false },
|
|
39
|
+
{ name: 'detail', type: { kind: 'terminal', name: 'string' }, optional: true },
|
|
40
|
+
{ name: 'initials', type: { kind: 'terminal', name: 'string' }, optional: true },
|
|
41
|
+
],
|
|
42
|
+
open: false,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
required: false,
|
|
46
|
+
target: { attribute: 'items' },
|
|
47
|
+
description: 'The people the menu offers.',
|
|
48
|
+
},
|
|
49
|
+
label: {
|
|
50
|
+
type: { kind: 'terminal', name: 'string' },
|
|
51
|
+
required: false,
|
|
52
|
+
target: { attribute: 'label' },
|
|
53
|
+
description: 'Accessible name of the suggestion list.',
|
|
54
|
+
default: 'Mentions',
|
|
55
|
+
},
|
|
56
|
+
loading: {
|
|
57
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
58
|
+
required: false,
|
|
59
|
+
target: { attribute: 'aria-busy' },
|
|
60
|
+
description: 'Whether a search is in progress.',
|
|
61
|
+
default: false,
|
|
62
|
+
},
|
|
63
|
+
loadingLabel: {
|
|
64
|
+
type: { kind: 'terminal', name: 'string' },
|
|
65
|
+
required: false,
|
|
66
|
+
target: { attribute: 'loadinglabel' },
|
|
67
|
+
description: 'Status text shown while loading an empty result list.',
|
|
68
|
+
default: 'Searching…',
|
|
69
|
+
},
|
|
70
|
+
open: {
|
|
71
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
72
|
+
required: false,
|
|
73
|
+
target: { attribute: 'open' },
|
|
74
|
+
description: 'Whether the menu is open.',
|
|
75
|
+
default: false,
|
|
76
|
+
},
|
|
77
|
+
query: {
|
|
78
|
+
type: { kind: 'terminal', name: 'string' },
|
|
79
|
+
required: false,
|
|
80
|
+
target: { attribute: 'query' },
|
|
81
|
+
description: 'The text typed after the @.',
|
|
82
|
+
default: '',
|
|
83
|
+
},
|
|
84
|
+
selectedIndex: {
|
|
85
|
+
type: { kind: 'terminal', name: 'integer' },
|
|
86
|
+
required: false,
|
|
87
|
+
target: { attribute: 'selectedindex' },
|
|
88
|
+
description:
|
|
89
|
+
'The zero-based index of the highlighted person, capped at the last one shown, and announced through aria-activedescendant. The menu does not handle arrow\n keys itself: the editor sets this as the user moves, while hovering a person highlights them and reports a highlight event.',
|
|
90
|
+
default: 0,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
}
|
|
10
94
|
const props = defineProps({
|
|
11
95
|
anchorRect: {
|
|
12
96
|
type: null as unknown as PropType<
|
|
@@ -71,8 +155,6 @@ const checkedProps = computed(() => ({
|
|
|
71
155
|
},
|
|
72
156
|
false,
|
|
73
157
|
'anchorRect',
|
|
74
|
-
undefined,
|
|
75
|
-
undefined,
|
|
76
158
|
),
|
|
77
159
|
items: checkedProp<
|
|
78
160
|
readonly ({
|
|
@@ -98,56 +180,42 @@ const checkedProps = computed(() => ({
|
|
|
98
180
|
},
|
|
99
181
|
false,
|
|
100
182
|
'items',
|
|
101
|
-
undefined,
|
|
102
|
-
undefined,
|
|
103
183
|
),
|
|
104
184
|
label: checkedProp<string>(
|
|
105
185
|
props['label'],
|
|
106
186
|
{ kind: 'terminal', name: 'string' },
|
|
107
187
|
false,
|
|
108
188
|
'label',
|
|
109
|
-
undefined,
|
|
110
|
-
undefined,
|
|
111
189
|
) as string,
|
|
112
190
|
loading: checkedProp<boolean>(
|
|
113
191
|
props['loading'],
|
|
114
192
|
{ kind: 'terminal', name: 'boolean' },
|
|
115
193
|
false,
|
|
116
194
|
'loading',
|
|
117
|
-
undefined,
|
|
118
|
-
undefined,
|
|
119
195
|
) as boolean,
|
|
120
196
|
loadingLabel: checkedProp<string>(
|
|
121
197
|
props['loadingLabel'],
|
|
122
198
|
{ kind: 'terminal', name: 'string' },
|
|
123
199
|
false,
|
|
124
200
|
'loadingLabel',
|
|
125
|
-
undefined,
|
|
126
|
-
undefined,
|
|
127
201
|
) as string,
|
|
128
202
|
open: checkedProp<boolean>(
|
|
129
203
|
props['open'],
|
|
130
204
|
{ kind: 'terminal', name: 'boolean' },
|
|
131
205
|
false,
|
|
132
206
|
'open',
|
|
133
|
-
undefined,
|
|
134
|
-
undefined,
|
|
135
207
|
) as boolean,
|
|
136
208
|
query: checkedProp<string>(
|
|
137
209
|
props['query'],
|
|
138
210
|
{ kind: 'terminal', name: 'string' },
|
|
139
211
|
false,
|
|
140
212
|
'query',
|
|
141
|
-
undefined,
|
|
142
|
-
undefined,
|
|
143
213
|
) as string,
|
|
144
214
|
selectedIndex: checkedProp<number>(
|
|
145
215
|
props['selectedIndex'],
|
|
146
216
|
{ kind: 'terminal', name: 'integer' },
|
|
147
217
|
false,
|
|
148
218
|
'selectedIndex',
|
|
149
|
-
undefined,
|
|
150
|
-
undefined,
|
|
151
219
|
) as number,
|
|
152
220
|
}))
|
|
153
221
|
void checkedProps.value
|
|
@@ -199,6 +267,16 @@ const rows = ref<{ id: string; label: string; detail?: string; initials: string
|
|
|
199
267
|
const searching = ref(false)
|
|
200
268
|
const active = ref(0)
|
|
201
269
|
const prefix = ref('ui-editor-mention-menu')
|
|
270
|
+
let guardedPrevious: any
|
|
271
|
+
const guarded = computed(() => {
|
|
272
|
+
if (!(visible.value == null || typeof visible.value === 'boolean')) return guardedPrevious
|
|
273
|
+
return guardedPrevious = !visible.value
|
|
274
|
+
})
|
|
275
|
+
provide('html-next:ui-editor-mention-menu:visible', visible)
|
|
276
|
+
provide('html-next:ui-editor-mention-menu:rows', rows)
|
|
277
|
+
provide('html-next:ui-editor-mention-menu:searching', searching)
|
|
278
|
+
provide('html-next:ui-editor-mention-menu:active', active)
|
|
279
|
+
provide('html-next:ui-editor-mention-menu:prefix', prefix)
|
|
202
280
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
203
281
|
if (
|
|
204
282
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -247,7 +325,8 @@ useComponentHost(() => import('../components/ui-editor-mention-menu/ui-editor-me
|
|
|
247
325
|
role="listbox"
|
|
248
326
|
v-bind="nativeAttrs($attrs)"
|
|
249
327
|
:aria-busy="checkedProps.loading ?? undefined"
|
|
250
|
-
:hidden="
|
|
328
|
+
:hidden="guarded"
|
|
329
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
251
330
|
:data-anchor-rect="reflectedProp('anchorRect', 'anchor-rect', checkedProps.anchorRect, undefined, false)"
|
|
252
331
|
:data-items="reflectedProp('items', 'items', checkedProps.items, undefined, false)"
|
|
253
332
|
:data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
|
|
@@ -1,11 +1,37 @@
|
|
|
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, watchSyncEffect } from 'vue'
|
|
4
4
|
import type { PropType } from 'vue'
|
|
5
|
-
import { checkedProp } from './props'
|
|
5
|
+
import { checkedProp, vPropValidity } from './props'
|
|
6
6
|
|
|
7
7
|
defineOptions({ inheritAttrs: false })
|
|
8
8
|
|
|
9
|
+
const propValidityContract = {
|
|
10
|
+
props: {
|
|
11
|
+
detail: {
|
|
12
|
+
type: { kind: 'terminal', name: 'string' },
|
|
13
|
+
required: false,
|
|
14
|
+
target: { attribute: 'detail' },
|
|
15
|
+
description: 'Secondary text, such as a team or role.',
|
|
16
|
+
default: '',
|
|
17
|
+
},
|
|
18
|
+
initials: {
|
|
19
|
+
type: { kind: 'terminal', name: 'string' },
|
|
20
|
+
required: false,
|
|
21
|
+
target: { attribute: 'initials' },
|
|
22
|
+
description: 'Text fallback for the start slot when no avatar is supplied.',
|
|
23
|
+
default: '',
|
|
24
|
+
},
|
|
25
|
+
value: {
|
|
26
|
+
type: { kind: 'terminal', name: 'string' },
|
|
27
|
+
required: false,
|
|
28
|
+
target: { attribute: 'data-value' },
|
|
29
|
+
description:
|
|
30
|
+
'Stable identifier reported by the containing Mention Menu when this person is chosen.',
|
|
31
|
+
default: '',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
}
|
|
9
35
|
const props = defineProps({
|
|
10
36
|
detail: { type: null as unknown as PropType<string | null>, default: '' },
|
|
11
37
|
initials: { type: null as unknown as PropType<string | null>, default: '' },
|
|
@@ -17,24 +43,18 @@ const checkedProps = computed(() => ({
|
|
|
17
43
|
{ kind: 'terminal', name: 'string' },
|
|
18
44
|
false,
|
|
19
45
|
'detail',
|
|
20
|
-
undefined,
|
|
21
|
-
undefined,
|
|
22
46
|
) as string,
|
|
23
47
|
initials: checkedProp<string>(
|
|
24
48
|
props['initials'],
|
|
25
49
|
{ kind: 'terminal', name: 'string' },
|
|
26
50
|
false,
|
|
27
51
|
'initials',
|
|
28
|
-
undefined,
|
|
29
|
-
undefined,
|
|
30
52
|
) as string,
|
|
31
53
|
value: checkedProp<string>(
|
|
32
54
|
props['value'],
|
|
33
55
|
{ kind: 'terminal', name: 'string' },
|
|
34
56
|
false,
|
|
35
57
|
'value',
|
|
36
|
-
undefined,
|
|
37
|
-
undefined,
|
|
38
58
|
) as string,
|
|
39
59
|
}))
|
|
40
60
|
void checkedProps.value
|
|
@@ -99,6 +119,7 @@ if (
|
|
|
99
119
|
role="option"
|
|
100
120
|
tabindex="-1"
|
|
101
121
|
v-bind="nativeAttrs($attrs)"
|
|
122
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
102
123
|
:data-detail="reflectedProp('detail', 'detail', checkedProps.detail, undefined, false)"
|
|
103
124
|
:data-initials="reflectedProp('initials', 'initials', checkedProps.initials, undefined, false)"
|
|
104
125
|
:data-value="reflectedProp('value', 'value', checkedProps.value, undefined, true)"
|