@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/UiText.vue
CHANGED
|
@@ -1,12 +1,76 @@
|
|
|
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, useTemplateRef, watchSyncEffect } from 'vue'
|
|
4
4
|
import type { PropType } from 'vue'
|
|
5
5
|
import { preserveRootFocus } 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
|
+
align: {
|
|
13
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
14
|
+
required: false,
|
|
15
|
+
target: { attribute: 'align' },
|
|
16
|
+
description: 'Aligns the text within its line.',
|
|
17
|
+
values: ['start', 'center'],
|
|
18
|
+
default: 'start',
|
|
19
|
+
},
|
|
20
|
+
as: {
|
|
21
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
22
|
+
required: false,
|
|
23
|
+
target: { attribute: 'as' },
|
|
24
|
+
description:
|
|
25
|
+
'The native element the text renders: a paragraph by default, inline span, small, or strong within a line, a div for a block, a label for a control, or a\n heading, h2 to h6, below a Page Header\'s h1 and a Section\'s h2. A heading takes its size and weight from size and weight, like any other text.',
|
|
26
|
+
values: ['p', 'span', 'div', 'small', 'strong', 'label', 'h2', 'h3', 'h4', 'h5', 'h6'],
|
|
27
|
+
default: 'p',
|
|
28
|
+
},
|
|
29
|
+
size: {
|
|
30
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
31
|
+
required: false,
|
|
32
|
+
target: { attribute: 'size' },
|
|
33
|
+
description:
|
|
34
|
+
'The step on the type scale. inherit (the default) keeps the size of the text around it; xs is for fine print, sm for supporting text such as help and\n metadata, md is body text, and lg is a lead paragraph.',
|
|
35
|
+
values: ['inherit', 'xs', 'sm', 'md', 'lg'],
|
|
36
|
+
default: 'inherit',
|
|
37
|
+
},
|
|
38
|
+
tone: {
|
|
39
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
40
|
+
required: false,
|
|
41
|
+
target: { attribute: 'tone' },
|
|
42
|
+
description:
|
|
43
|
+
'The text\'s colour, by meaning. secondary is supporting prose such as a description; muted is quieter still, for metadata and hints; accent draws the eye;\n danger states an error; success confirms one; info marks something moving forward normally; warning marks something that needs attention. Colour alone\n does not carry the meaning, so the words must say it too.',
|
|
44
|
+
values: ['default', 'secondary', 'muted', 'accent', 'danger', 'success', 'info', 'warning'],
|
|
45
|
+
default: 'default',
|
|
46
|
+
},
|
|
47
|
+
truncate: {
|
|
48
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
49
|
+
required: false,
|
|
50
|
+
target: { attribute: 'truncate' },
|
|
51
|
+
description: 'Keeps the text on one line, ending in an ellipsis when it does not fit.',
|
|
52
|
+
default: false,
|
|
53
|
+
},
|
|
54
|
+
variant: {
|
|
55
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
56
|
+
required: false,
|
|
57
|
+
target: { attribute: 'variant' },
|
|
58
|
+
description:
|
|
59
|
+
'body is running text. eyebrow is a short, uppercase, tracked label that names what follows, such as a group of links; code sets a value to copy or read\n exactly, such as an address, in the monospace face.',
|
|
60
|
+
values: ['body', 'eyebrow', 'code'],
|
|
61
|
+
default: 'body',
|
|
62
|
+
},
|
|
63
|
+
weight: {
|
|
64
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
65
|
+
required: false,
|
|
66
|
+
target: { attribute: 'weight' },
|
|
67
|
+
description:
|
|
68
|
+
'The weight. inherit keeps the surrounding weight; medium and semibold emphasise a name or a figure.',
|
|
69
|
+
values: ['inherit', 'normal', 'medium', 'semibold'],
|
|
70
|
+
default: 'inherit',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
}
|
|
10
74
|
const props = defineProps({
|
|
11
75
|
align: { type: null as unknown as PropType<'start' | 'center' | null>, default: 'start' },
|
|
12
76
|
as: {
|
|
@@ -49,67 +113,55 @@ const checkedProps = computed(() => ({
|
|
|
49
113
|
{ kind: 'terminal', name: 'keyword' },
|
|
50
114
|
false,
|
|
51
115
|
'align',
|
|
52
|
-
undefined,
|
|
53
|
-
['start', 'center'],
|
|
54
116
|
) as 'start' | 'center',
|
|
55
117
|
as: checkedProp<
|
|
56
118
|
'p' | 'span' | 'div' | 'small' | 'strong' | 'label' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'
|
|
57
|
-
>(props['as'], { kind: 'terminal', name: 'keyword' }, false, 'as'
|
|
58
|
-
'p'
|
|
59
|
-
'span'
|
|
60
|
-
'div'
|
|
61
|
-
'small'
|
|
62
|
-
'strong'
|
|
63
|
-
'label'
|
|
64
|
-
'h2'
|
|
65
|
-
'h3'
|
|
66
|
-
'h4'
|
|
67
|
-
'h5'
|
|
68
|
-
'h6',
|
|
69
|
-
]) as 'p' | 'span' | 'div' | 'small' | 'strong' | 'label' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6',
|
|
119
|
+
>(props['as'], { kind: 'terminal', name: 'keyword' }, false, 'as') as
|
|
120
|
+
| 'p'
|
|
121
|
+
| 'span'
|
|
122
|
+
| 'div'
|
|
123
|
+
| 'small'
|
|
124
|
+
| 'strong'
|
|
125
|
+
| 'label'
|
|
126
|
+
| 'h2'
|
|
127
|
+
| 'h3'
|
|
128
|
+
| 'h4'
|
|
129
|
+
| 'h5'
|
|
130
|
+
| 'h6',
|
|
70
131
|
size: checkedProp<'inherit' | 'xs' | 'sm' | 'md' | 'lg'>(
|
|
71
132
|
props['size'],
|
|
72
133
|
{ kind: 'terminal', name: 'keyword' },
|
|
73
134
|
false,
|
|
74
135
|
'size',
|
|
75
|
-
undefined,
|
|
76
|
-
['inherit', 'xs', 'sm', 'md', 'lg'],
|
|
77
136
|
) as 'inherit' | 'xs' | 'sm' | 'md' | 'lg',
|
|
78
137
|
tone: checkedProp<
|
|
79
138
|
'default' | 'secondary' | 'muted' | 'accent' | 'danger' | 'success' | 'info' | 'warning'
|
|
80
|
-
>(props['tone'], { kind: 'terminal', name: 'keyword' }, false, 'tone'
|
|
81
|
-
'default'
|
|
82
|
-
'secondary'
|
|
83
|
-
'muted'
|
|
84
|
-
'accent'
|
|
85
|
-
'danger'
|
|
86
|
-
'success'
|
|
87
|
-
'info'
|
|
88
|
-
'warning',
|
|
89
|
-
]) as 'default' | 'secondary' | 'muted' | 'accent' | 'danger' | 'success' | 'info' | 'warning',
|
|
139
|
+
>(props['tone'], { kind: 'terminal', name: 'keyword' }, false, 'tone') as
|
|
140
|
+
| 'default'
|
|
141
|
+
| 'secondary'
|
|
142
|
+
| 'muted'
|
|
143
|
+
| 'accent'
|
|
144
|
+
| 'danger'
|
|
145
|
+
| 'success'
|
|
146
|
+
| 'info'
|
|
147
|
+
| 'warning',
|
|
90
148
|
truncate: checkedProp<boolean>(
|
|
91
149
|
props['truncate'],
|
|
92
150
|
{ kind: 'terminal', name: 'boolean' },
|
|
93
151
|
false,
|
|
94
152
|
'truncate',
|
|
95
|
-
undefined,
|
|
96
|
-
undefined,
|
|
97
153
|
) as boolean,
|
|
98
154
|
variant: checkedProp<'body' | 'eyebrow' | 'code'>(
|
|
99
155
|
props['variant'],
|
|
100
156
|
{ kind: 'terminal', name: 'keyword' },
|
|
101
157
|
false,
|
|
102
158
|
'variant',
|
|
103
|
-
undefined,
|
|
104
|
-
['body', 'eyebrow', 'code'],
|
|
105
159
|
) as 'body' | 'eyebrow' | 'code',
|
|
106
160
|
weight: checkedProp<'inherit' | 'normal' | 'medium' | 'semibold'>(
|
|
107
161
|
props['weight'],
|
|
108
162
|
{ kind: 'terminal', name: 'keyword' },
|
|
109
163
|
false,
|
|
110
164
|
'weight',
|
|
111
|
-
undefined,
|
|
112
|
-
['inherit', 'normal', 'medium', 'semibold'],
|
|
113
165
|
) as 'inherit' | 'normal' | 'medium' | 'semibold',
|
|
114
166
|
}))
|
|
115
167
|
void checkedProps.value
|
|
@@ -210,6 +262,7 @@ const hostState = computed(() =>
|
|
|
210
262
|
v-if="checkedProps.as === 'span'"
|
|
211
263
|
data-component="ui-text"
|
|
212
264
|
v-bind="nativeAttrs($attrs)"
|
|
265
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
213
266
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
214
267
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
215
268
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -224,6 +277,7 @@ const hostState = computed(() =>
|
|
|
224
277
|
v-else-if="checkedProps.as === 'div'"
|
|
225
278
|
data-component="ui-text"
|
|
226
279
|
v-bind="nativeAttrs($attrs)"
|
|
280
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
227
281
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
228
282
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
229
283
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -240,6 +294,7 @@ const hostState = computed(() =>
|
|
|
240
294
|
v-else-if="checkedProps.as === 'small'"
|
|
241
295
|
data-component="ui-text"
|
|
242
296
|
v-bind="nativeAttrs($attrs)"
|
|
297
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
243
298
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
244
299
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
245
300
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -254,6 +309,7 @@ const hostState = computed(() =>
|
|
|
254
309
|
v-else-if="checkedProps.as === 'strong'"
|
|
255
310
|
data-component="ui-text"
|
|
256
311
|
v-bind="nativeAttrs($attrs)"
|
|
312
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
257
313
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
258
314
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
259
315
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -268,6 +324,7 @@ const hostState = computed(() =>
|
|
|
268
324
|
v-else-if="checkedProps.as === 'label'"
|
|
269
325
|
data-component="ui-text"
|
|
270
326
|
v-bind="nativeAttrs($attrs)"
|
|
327
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
271
328
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
272
329
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
273
330
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -282,6 +339,7 @@ const hostState = computed(() =>
|
|
|
282
339
|
v-else-if="checkedProps.as === 'h2'"
|
|
283
340
|
data-component="ui-text"
|
|
284
341
|
v-bind="nativeAttrs($attrs)"
|
|
342
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
285
343
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
286
344
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
287
345
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -298,6 +356,7 @@ const hostState = computed(() =>
|
|
|
298
356
|
v-else-if="checkedProps.as === 'h3'"
|
|
299
357
|
data-component="ui-text"
|
|
300
358
|
v-bind="nativeAttrs($attrs)"
|
|
359
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
301
360
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
302
361
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
303
362
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -314,6 +373,7 @@ const hostState = computed(() =>
|
|
|
314
373
|
v-else-if="checkedProps.as === 'h4'"
|
|
315
374
|
data-component="ui-text"
|
|
316
375
|
v-bind="nativeAttrs($attrs)"
|
|
376
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
317
377
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
318
378
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
319
379
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -330,6 +390,7 @@ const hostState = computed(() =>
|
|
|
330
390
|
v-else-if="checkedProps.as === 'h5'"
|
|
331
391
|
data-component="ui-text"
|
|
332
392
|
v-bind="nativeAttrs($attrs)"
|
|
393
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
333
394
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
334
395
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
335
396
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -346,6 +407,7 @@ const hostState = computed(() =>
|
|
|
346
407
|
v-else-if="checkedProps.as === 'h6'"
|
|
347
408
|
data-component="ui-text"
|
|
348
409
|
v-bind="nativeAttrs($attrs)"
|
|
410
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
349
411
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
350
412
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
351
413
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -362,6 +424,7 @@ const hostState = computed(() =>
|
|
|
362
424
|
v-else
|
|
363
425
|
data-component="ui-text"
|
|
364
426
|
v-bind="nativeAttrs($attrs)"
|
|
427
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
365
428
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
366
429
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
367
430
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
package/vue/UiTextarea.d.ts
CHANGED
|
@@ -77,10 +77,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
77
77
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
78
78
|
}>, {
|
|
79
79
|
value: string | null;
|
|
80
|
+
invalid: boolean | null;
|
|
80
81
|
rows: number | null;
|
|
81
82
|
size: "sm" | "md" | "lg" | null;
|
|
82
83
|
disabled: boolean | null;
|
|
83
|
-
invalid: boolean | null;
|
|
84
84
|
required: boolean | null;
|
|
85
85
|
readonly: boolean | null;
|
|
86
86
|
autosize: boolean | null;
|
package/vue/UiTextarea.vue
CHANGED
|
@@ -1,13 +1,76 @@
|
|
|
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 { readBoundControl, 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
|
+
autosize: {
|
|
14
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
15
|
+
required: false,
|
|
16
|
+
target: { attribute: 'autosize' },
|
|
17
|
+
description:
|
|
18
|
+
'Grow with the text while keeping rows as the minimum visible height. Uses CSS field sizing where supported; other browsers keep the native rows\n behavior.',
|
|
19
|
+
default: false,
|
|
20
|
+
},
|
|
21
|
+
disabled: {
|
|
22
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
23
|
+
required: false,
|
|
24
|
+
target: { attribute: 'disabled' },
|
|
25
|
+
description: 'Prevents editing and form submission.',
|
|
26
|
+
default: false,
|
|
27
|
+
},
|
|
28
|
+
invalid: {
|
|
29
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
30
|
+
required: false,
|
|
31
|
+
target: { attribute: 'aria-invalid' },
|
|
32
|
+
description: 'Exposes invalid state to assistive technology and styling.',
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
35
|
+
readonly: {
|
|
36
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
37
|
+
required: false,
|
|
38
|
+
target: { attribute: 'readonly' },
|
|
39
|
+
description: 'Allows selection without allowing edits.',
|
|
40
|
+
default: false,
|
|
41
|
+
},
|
|
42
|
+
required: {
|
|
43
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
44
|
+
required: false,
|
|
45
|
+
target: { attribute: 'required' },
|
|
46
|
+
description: 'Marks the control as required for form validation.',
|
|
47
|
+
default: false,
|
|
48
|
+
},
|
|
49
|
+
rows: {
|
|
50
|
+
type: { kind: 'terminal', name: 'integer' },
|
|
51
|
+
required: false,
|
|
52
|
+
target: { attribute: 'rows' },
|
|
53
|
+
description: 'Initial number of visible text rows.',
|
|
54
|
+
default: 4,
|
|
55
|
+
},
|
|
56
|
+
size: {
|
|
57
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
58
|
+
required: false,
|
|
59
|
+
target: { attribute: 'size' },
|
|
60
|
+
description:
|
|
61
|
+
'Padding and type size, matching Input\'s sizes so a textarea sits with fields of the same size; rows sets its height. sm has tighter padding and smaller\n text, for compact forms; lg has roomier padding. Under a coarse pointer, sm keeps body-size text.',
|
|
62
|
+
values: ['sm', 'md', 'lg'],
|
|
63
|
+
default: 'md',
|
|
64
|
+
},
|
|
65
|
+
value: {
|
|
66
|
+
type: { kind: 'terminal', name: 'string' },
|
|
67
|
+
required: false,
|
|
68
|
+
target: { attribute: 'value' },
|
|
69
|
+
description:
|
|
70
|
+
'The textarea\'s text. Setting or changing it replaces the live text; between changes the user\'s typing stands, so follow input events to keep it in step. It\n is also the textarea\'s default, so a form reset returns to it.',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
}
|
|
11
74
|
const props = defineProps({
|
|
12
75
|
autosize: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
13
76
|
disabled: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
@@ -25,72 +88,49 @@ const checkedProps = computed(() => ({
|
|
|
25
88
|
{ kind: 'terminal', name: 'boolean' },
|
|
26
89
|
false,
|
|
27
90
|
'autosize',
|
|
28
|
-
undefined,
|
|
29
|
-
undefined,
|
|
30
91
|
) as boolean,
|
|
31
92
|
disabled: checkedProp<boolean>(
|
|
32
93
|
props['disabled'],
|
|
33
94
|
{ kind: 'terminal', name: 'boolean' },
|
|
34
95
|
false,
|
|
35
96
|
'disabled',
|
|
36
|
-
undefined,
|
|
37
|
-
undefined,
|
|
38
97
|
) as boolean,
|
|
39
98
|
invalid: checkedProp<boolean>(
|
|
40
99
|
props['invalid'],
|
|
41
100
|
{ kind: 'terminal', name: 'boolean' },
|
|
42
101
|
false,
|
|
43
102
|
'invalid',
|
|
44
|
-
undefined,
|
|
45
|
-
undefined,
|
|
46
103
|
) as boolean,
|
|
47
104
|
readonly: checkedProp<boolean>(
|
|
48
105
|
props['readonly'],
|
|
49
106
|
{ kind: 'terminal', name: 'boolean' },
|
|
50
107
|
false,
|
|
51
108
|
'readonly',
|
|
52
|
-
undefined,
|
|
53
|
-
undefined,
|
|
54
109
|
) as boolean,
|
|
55
110
|
required: checkedProp<boolean>(
|
|
56
111
|
props['required'],
|
|
57
112
|
{ kind: 'terminal', name: 'boolean' },
|
|
58
113
|
false,
|
|
59
114
|
'required',
|
|
60
|
-
undefined,
|
|
61
|
-
undefined,
|
|
62
115
|
) as boolean,
|
|
63
116
|
rows: checkedProp<number>(
|
|
64
117
|
props['rows'],
|
|
65
118
|
{ kind: 'terminal', name: 'integer' },
|
|
66
119
|
false,
|
|
67
120
|
'rows',
|
|
68
|
-
undefined,
|
|
69
|
-
undefined,
|
|
70
121
|
) as number,
|
|
71
122
|
size: checkedProp<'sm' | 'md' | 'lg'>(
|
|
72
123
|
props['size'],
|
|
73
124
|
{ kind: 'terminal', name: 'keyword' },
|
|
74
125
|
false,
|
|
75
126
|
'size',
|
|
76
|
-
undefined,
|
|
77
|
-
['sm', 'md', 'lg'],
|
|
78
127
|
) as 'sm' | 'md' | 'lg',
|
|
79
|
-
value: checkedProp<string>(
|
|
80
|
-
props['value'],
|
|
81
|
-
{ kind: 'terminal', name: 'string' },
|
|
82
|
-
false,
|
|
83
|
-
'value',
|
|
84
|
-
undefined,
|
|
85
|
-
undefined,
|
|
86
|
-
),
|
|
128
|
+
value: checkedProp<string>(props['value'], { kind: 'terminal', name: 'string' }, false, 'value'),
|
|
87
129
|
modelValue: checkedProp<string | null>(
|
|
88
130
|
props.modelValue,
|
|
89
131
|
{ kind: 'terminal', name: 'string' },
|
|
90
132
|
false,
|
|
91
133
|
'modelValue',
|
|
92
|
-
undefined,
|
|
93
|
-
undefined,
|
|
94
134
|
),
|
|
95
135
|
}))
|
|
96
136
|
void checkedProps.value
|
|
@@ -188,6 +228,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
|
|
|
188
228
|
:aria-invalid="checkedProps.invalid ?? undefined"
|
|
189
229
|
:rows="checkedProps.rows ?? undefined"
|
|
190
230
|
:style="{ '--_rows': checkedProps.rows ?? undefined }"
|
|
231
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
191
232
|
:data-autosize="reflectedProp('autosize', 'autosize', checkedProps.autosize, undefined, false)"
|
|
192
233
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
193
234
|
:data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
|
package/vue/UiToast.vue
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
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, 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
|
import UiIcon from './UiIcon.vue'
|
|
8
8
|
import UiIconButton from './UiIconButton.vue'
|
|
9
9
|
|
|
10
10
|
defineOptions({ inheritAttrs: false })
|
|
11
11
|
|
|
12
|
+
const propValidityContract = {
|
|
13
|
+
props: {
|
|
14
|
+
duration: {
|
|
15
|
+
type: { kind: 'terminal', name: 'number' },
|
|
16
|
+
required: false,
|
|
17
|
+
target: { attribute: 'duration' },
|
|
18
|
+
description:
|
|
19
|
+
'Milliseconds before requesting dismissal; 0 keeps the toast until an action dismisses it. The timer pauses on hover or focus.',
|
|
20
|
+
default: 0,
|
|
21
|
+
},
|
|
22
|
+
tone: {
|
|
23
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
24
|
+
required: false,
|
|
25
|
+
target: { attribute: 'tone' },
|
|
26
|
+
description:
|
|
27
|
+
'Semantic accent for this message. Danger uses an assertive alert role; the other tones use polite status semantics.',
|
|
28
|
+
values: ['neutral', 'info', 'success', 'warning', 'danger'],
|
|
29
|
+
default: 'neutral',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
}
|
|
12
33
|
const props = defineProps({
|
|
13
34
|
duration: { type: null as unknown as PropType<number | null>, default: 0 },
|
|
14
35
|
tone: {
|
|
@@ -22,16 +43,12 @@ const checkedProps = computed(() => ({
|
|
|
22
43
|
{ kind: 'terminal', name: 'number' },
|
|
23
44
|
false,
|
|
24
45
|
'duration',
|
|
25
|
-
undefined,
|
|
26
|
-
undefined,
|
|
27
46
|
) as number,
|
|
28
47
|
tone: checkedProp<'neutral' | 'info' | 'success' | 'warning' | 'danger'>(
|
|
29
48
|
props['tone'],
|
|
30
49
|
{ kind: 'terminal', name: 'keyword' },
|
|
31
50
|
false,
|
|
32
51
|
'tone',
|
|
33
|
-
undefined,
|
|
34
|
-
['neutral', 'info', 'success', 'warning', 'danger'],
|
|
35
52
|
) as 'neutral' | 'info' | 'success' | 'warning' | 'danger',
|
|
36
53
|
}))
|
|
37
54
|
void checkedProps.value
|
|
@@ -160,6 +177,7 @@ function attribute(value: unknown): any {
|
|
|
160
177
|
danger: 'alert',
|
|
161
178
|
}) as Record<string, any>)[checkedProps.tone],
|
|
162
179
|
)"
|
|
180
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
163
181
|
:data-duration="reflectedProp('duration', 'duration', checkedProps.duration, undefined, false)"
|
|
164
182
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
165
183
|
:data-ui-toast-state="hostState || undefined"
|
package/vue/UiToastRegion.vue
CHANGED
|
@@ -1,14 +1,43 @@
|
|
|
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 {
|
|
3
|
+
import {
|
|
4
|
+
computed,
|
|
5
|
+
defineComponent,
|
|
6
|
+
getCurrentInstance,
|
|
7
|
+
h,
|
|
8
|
+
provide,
|
|
9
|
+
ref,
|
|
10
|
+
watchSyncEffect,
|
|
11
|
+
} from 'vue'
|
|
4
12
|
import type { PropType, VNode } from 'vue'
|
|
5
13
|
import { createDispatch, useComponentHost } from './host'
|
|
6
|
-
import { checkedProp } from './props'
|
|
14
|
+
import { checkedProp, vPropValidity } from './props'
|
|
7
15
|
import UiIcon from './UiIcon.vue'
|
|
8
16
|
import UiIconButton from './UiIconButton.vue'
|
|
9
17
|
|
|
10
18
|
defineOptions({ inheritAttrs: false })
|
|
11
19
|
|
|
20
|
+
const propValidityContract = {
|
|
21
|
+
props: {
|
|
22
|
+
duration: {
|
|
23
|
+
type: { kind: 'terminal', name: 'number' },
|
|
24
|
+
required: false,
|
|
25
|
+
target: { attribute: 'duration' },
|
|
26
|
+
description:
|
|
27
|
+
'Default milliseconds for toasts added with show() or the show command; 0 keeps each until dismissed. Hover or focus pauses a timer.',
|
|
28
|
+
default: 0,
|
|
29
|
+
},
|
|
30
|
+
placement: {
|
|
31
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
32
|
+
required: false,
|
|
33
|
+
target: { attribute: 'placement' },
|
|
34
|
+
description:
|
|
35
|
+
'Screen edge where the stack appears. Start and end follow the writing direction.',
|
|
36
|
+
values: ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end'],
|
|
37
|
+
default: 'top',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
}
|
|
12
41
|
const props = defineProps({
|
|
13
42
|
duration: { type: null as unknown as PropType<number | null>, default: 0 },
|
|
14
43
|
placement: {
|
|
@@ -24,19 +53,16 @@ const checkedProps = computed(() => ({
|
|
|
24
53
|
{ kind: 'terminal', name: 'number' },
|
|
25
54
|
false,
|
|
26
55
|
'duration',
|
|
27
|
-
undefined,
|
|
28
|
-
undefined,
|
|
29
56
|
) as number,
|
|
30
57
|
placement: checkedProp<
|
|
31
58
|
'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end'
|
|
32
|
-
>(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement'
|
|
33
|
-
'top'
|
|
34
|
-
'top-start'
|
|
35
|
-
'top-end'
|
|
36
|
-
'bottom'
|
|
37
|
-
'bottom-start'
|
|
38
|
-
'bottom-end',
|
|
39
|
-
]) as 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end',
|
|
59
|
+
>(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement') as
|
|
60
|
+
| 'top'
|
|
61
|
+
| 'top-start'
|
|
62
|
+
| 'top-end'
|
|
63
|
+
| 'bottom'
|
|
64
|
+
| 'bottom-start'
|
|
65
|
+
| 'bottom-end',
|
|
40
66
|
}))
|
|
41
67
|
void checkedProps.value
|
|
42
68
|
watchSyncEffect(() => {
|
|
@@ -123,6 +149,7 @@ const toasts = ref<
|
|
|
123
149
|
closing: boolean
|
|
124
150
|
}[]
|
|
125
151
|
>([])
|
|
152
|
+
provide('html-next:ui-toast-region:toasts', toasts)
|
|
126
153
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
127
154
|
if (
|
|
128
155
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -240,6 +267,7 @@ function uniqueKeys<T>(
|
|
|
240
267
|
aria-live="polite"
|
|
241
268
|
popover="manual"
|
|
242
269
|
v-bind="nativeAttrs($attrs)"
|
|
270
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
243
271
|
:data-duration="reflectedProp('duration', 'duration', checkedProps.duration, undefined, false)"
|
|
244
272
|
:data-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
|
|
245
273
|
:data-ui-toast-region-state="hostState || undefined"
|
package/vue/UiTooltip.d.ts
CHANGED
|
@@ -91,9 +91,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
91
91
|
open: boolean | null;
|
|
92
92
|
trigger: "hover" | "click" | "focus" | null;
|
|
93
93
|
for: string | null;
|
|
94
|
-
hideDelay: number | null;
|
|
95
94
|
inverse: boolean | null;
|
|
96
95
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | null;
|
|
96
|
+
hideDelay: number | null;
|
|
97
97
|
showDelay: number | null;
|
|
98
98
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
99
99
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|