@threadlabs/looma 0.21.6 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/host.ts +6 -6
package/vue/UiPopover.vue
CHANGED
|
@@ -1,12 +1,52 @@
|
|
|
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 that toggles and anchors the popover.',
|
|
17
|
+
default: '',
|
|
18
|
+
},
|
|
19
|
+
open: {
|
|
20
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
21
|
+
required: false,
|
|
22
|
+
target: { attribute: 'open' },
|
|
23
|
+
description: 'Whether the popover is open initially or when set externally.',
|
|
24
|
+
default: false,
|
|
25
|
+
},
|
|
26
|
+
placement: {
|
|
27
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
28
|
+
required: false,
|
|
29
|
+
target: { attribute: 'placement' },
|
|
30
|
+
description:
|
|
31
|
+
'Positions the surface around its trigger. Start and end on top or bottom follow the writing direction.',
|
|
32
|
+
values: [
|
|
33
|
+
'top',
|
|
34
|
+
'top-start',
|
|
35
|
+
'top-end',
|
|
36
|
+
'bottom',
|
|
37
|
+
'bottom-start',
|
|
38
|
+
'bottom-end',
|
|
39
|
+
'left',
|
|
40
|
+
'left-start',
|
|
41
|
+
'left-end',
|
|
42
|
+
'right',
|
|
43
|
+
'right-start',
|
|
44
|
+
'right-end',
|
|
45
|
+
],
|
|
46
|
+
default: 'bottom-start',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
}
|
|
10
50
|
const props = defineProps({
|
|
11
51
|
for: { type: null as unknown as PropType<string | null>, default: '' },
|
|
12
52
|
open: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
@@ -35,16 +75,12 @@ const checkedProps = computed(() => ({
|
|
|
35
75
|
{ kind: 'terminal', name: 'string' },
|
|
36
76
|
false,
|
|
37
77
|
'for',
|
|
38
|
-
undefined,
|
|
39
|
-
undefined,
|
|
40
78
|
) as string,
|
|
41
79
|
open: checkedProp<boolean>(
|
|
42
80
|
props['open'],
|
|
43
81
|
{ kind: 'terminal', name: 'boolean' },
|
|
44
82
|
false,
|
|
45
83
|
'open',
|
|
46
|
-
undefined,
|
|
47
|
-
undefined,
|
|
48
84
|
) as boolean,
|
|
49
85
|
placement: checkedProp<
|
|
50
86
|
| 'top'
|
|
@@ -59,20 +95,7 @@ const checkedProps = computed(() => ({
|
|
|
59
95
|
| 'right'
|
|
60
96
|
| 'right-start'
|
|
61
97
|
| 'right-end'
|
|
62
|
-
>(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement'
|
|
63
|
-
'top',
|
|
64
|
-
'top-start',
|
|
65
|
-
'top-end',
|
|
66
|
-
'bottom',
|
|
67
|
-
'bottom-start',
|
|
68
|
-
'bottom-end',
|
|
69
|
-
'left',
|
|
70
|
-
'left-start',
|
|
71
|
-
'left-end',
|
|
72
|
-
'right',
|
|
73
|
-
'right-start',
|
|
74
|
-
'right-end',
|
|
75
|
-
]) as
|
|
98
|
+
>(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement') as
|
|
76
99
|
| 'top'
|
|
77
100
|
| 'top-start'
|
|
78
101
|
| 'top-end'
|
|
@@ -147,6 +170,7 @@ const emit = defineEmits<{
|
|
|
147
170
|
|
|
148
171
|
const root = ref<HTMLElement | null>(null)
|
|
149
172
|
const internalOpen = ref(false)
|
|
173
|
+
provide('html-next:ui-popover:internalOpen', internalOpen)
|
|
150
174
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
151
175
|
if (
|
|
152
176
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -206,6 +230,7 @@ useComponentHost(() => import('../components/ui-popover/ui-popover.js'), {
|
|
|
206
230
|
<span
|
|
207
231
|
data-component="ui-popover"
|
|
208
232
|
v-bind="nativeAttrs($attrs)"
|
|
233
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
209
234
|
:data-for="reflectedProp('for', 'for', checkedProps.for, undefined, false)"
|
|
210
235
|
:data-open="reflectedProp('open', 'open', checkedProps.open, undefined, false)"
|
|
211
236
|
:data-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
|
package/vue/UiRadio.d.ts
CHANGED
|
@@ -31,13 +31,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
31
31
|
default: string;
|
|
32
32
|
};
|
|
33
33
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
34
|
-
"update:checked": (value: boolean) => any;
|
|
35
|
-
"update:value": (value: string) => any;
|
|
36
34
|
change: (event: CustomEvent<{
|
|
37
35
|
readonly checked: boolean;
|
|
38
36
|
readonly value: string;
|
|
39
37
|
readonly trigger: "keyboard" | "pointer" | "programmatic";
|
|
40
38
|
}>) => any;
|
|
39
|
+
"update:checked": (value: boolean) => any;
|
|
40
|
+
"update:value": (value: string) => any;
|
|
41
41
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
42
42
|
checked: {
|
|
43
43
|
type: PropType<boolean | null>;
|
|
@@ -64,13 +64,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
64
64
|
default: string;
|
|
65
65
|
};
|
|
66
66
|
}>> & Readonly<{
|
|
67
|
-
"onUpdate:checked"?: ((value: boolean) => any) | undefined;
|
|
68
|
-
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
69
67
|
onChange?: ((event: CustomEvent<{
|
|
70
68
|
readonly checked: boolean;
|
|
71
69
|
readonly value: string;
|
|
72
70
|
readonly trigger: "keyboard" | "pointer" | "programmatic";
|
|
73
71
|
}>) => any) | undefined;
|
|
72
|
+
"onUpdate:checked"?: ((value: boolean) => any) | undefined;
|
|
73
|
+
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
74
74
|
}>, {
|
|
75
75
|
name: string | null;
|
|
76
76
|
value: string | null;
|
package/vue/UiRadio.vue
CHANGED
|
@@ -1,13 +1,66 @@
|
|
|
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
|
+
checked: {
|
|
14
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
15
|
+
required: false,
|
|
16
|
+
target: { attribute: 'checked' },
|
|
17
|
+
description:
|
|
18
|
+
'Whether the radio is checked initially or when set externally. A form reset returns it to this. Inside a ui-radio-group the group\'s value decides\n instead.',
|
|
19
|
+
default: false,
|
|
20
|
+
},
|
|
21
|
+
disabled: {
|
|
22
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
23
|
+
required: false,
|
|
24
|
+
target: { attribute: 'disabled' },
|
|
25
|
+
description:
|
|
26
|
+
'Disables the native radio, so it cannot be chosen, focused, or reached with the arrow keys.',
|
|
27
|
+
default: false,
|
|
28
|
+
},
|
|
29
|
+
name: {
|
|
30
|
+
type: { kind: 'terminal', name: 'string' },
|
|
31
|
+
required: false,
|
|
32
|
+
target: { attribute: 'name' },
|
|
33
|
+
description:
|
|
34
|
+
'The native name that groups radios: of the radios that share a name, only one can be checked, and the arrow keys move between them. Inside a ui-radio-group\n the group sets the name, so leave this empty there.',
|
|
35
|
+
default: '',
|
|
36
|
+
},
|
|
37
|
+
required: {
|
|
38
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
39
|
+
required: false,
|
|
40
|
+
target: { attribute: 'required' },
|
|
41
|
+
description:
|
|
42
|
+
'Marks the native radio required, so native form validation fails until a radio with the same name is checked.',
|
|
43
|
+
default: false,
|
|
44
|
+
},
|
|
45
|
+
size: {
|
|
46
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
47
|
+
required: false,
|
|
48
|
+
target: { attribute: 'size' },
|
|
49
|
+
description:
|
|
50
|
+
'Aligns the radio with fields and buttons of the same size. It keeps its box size; the label takes that size\'s field type size and its first line centres in\n that control height (sm 2rem, lg 3rem by default), so in a row of inputs, selects, and buttons of one size it shares their height and their text baseline.\n Under a coarse pointer an sm row grows to the 44px touch minimum, as they do. md is the standard layout.',
|
|
51
|
+
values: ['sm', 'md', 'lg'],
|
|
52
|
+
default: 'md',
|
|
53
|
+
},
|
|
54
|
+
value: {
|
|
55
|
+
type: { kind: 'terminal', name: 'string' },
|
|
56
|
+
required: false,
|
|
57
|
+
target: { attribute: 'value' },
|
|
58
|
+
description:
|
|
59
|
+
'The value this radio stands for: submitted with a form, reported in its change event, and matched against a ui-radio-group\'s value to decide which radio is\n checked.',
|
|
60
|
+
default: 'on',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
}
|
|
11
64
|
const props = defineProps({
|
|
12
65
|
checked: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
13
66
|
disabled: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
@@ -22,48 +75,36 @@ const checkedProps = computed(() => ({
|
|
|
22
75
|
{ kind: 'terminal', name: 'boolean' },
|
|
23
76
|
false,
|
|
24
77
|
'checked',
|
|
25
|
-
undefined,
|
|
26
|
-
undefined,
|
|
27
78
|
) as boolean,
|
|
28
79
|
disabled: checkedProp<boolean>(
|
|
29
80
|
props['disabled'],
|
|
30
81
|
{ kind: 'terminal', name: 'boolean' },
|
|
31
82
|
false,
|
|
32
83
|
'disabled',
|
|
33
|
-
undefined,
|
|
34
|
-
undefined,
|
|
35
84
|
) as boolean,
|
|
36
85
|
name: checkedProp<string>(
|
|
37
86
|
props['name'],
|
|
38
87
|
{ kind: 'terminal', name: 'string' },
|
|
39
88
|
false,
|
|
40
89
|
'name',
|
|
41
|
-
undefined,
|
|
42
|
-
undefined,
|
|
43
90
|
) as string,
|
|
44
91
|
required: checkedProp<boolean>(
|
|
45
92
|
props['required'],
|
|
46
93
|
{ kind: 'terminal', name: 'boolean' },
|
|
47
94
|
false,
|
|
48
95
|
'required',
|
|
49
|
-
undefined,
|
|
50
|
-
undefined,
|
|
51
96
|
) as boolean,
|
|
52
97
|
size: checkedProp<'sm' | 'md' | 'lg'>(
|
|
53
98
|
props['size'],
|
|
54
99
|
{ kind: 'terminal', name: 'keyword' },
|
|
55
100
|
false,
|
|
56
101
|
'size',
|
|
57
|
-
undefined,
|
|
58
|
-
['sm', 'md', 'lg'],
|
|
59
102
|
) as 'sm' | 'md' | 'lg',
|
|
60
103
|
value: checkedProp<string>(
|
|
61
104
|
props['value'],
|
|
62
105
|
{ kind: 'terminal', name: 'string' },
|
|
63
106
|
false,
|
|
64
107
|
'value',
|
|
65
|
-
undefined,
|
|
66
|
-
undefined,
|
|
67
108
|
) as string,
|
|
68
109
|
}))
|
|
69
110
|
void checkedProps.value
|
|
@@ -121,6 +162,7 @@ const root = ref<HTMLElement | null>(null)
|
|
|
121
162
|
const inputElement = useTemplateRef<HTMLElement>('input')
|
|
122
163
|
const descriptionElement = useTemplateRef<HTMLElement>('description')
|
|
123
164
|
const internalChecked = ref(false)
|
|
165
|
+
provide('html-next:ui-radio:internalChecked', internalChecked)
|
|
124
166
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
125
167
|
if (
|
|
126
168
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -176,6 +218,7 @@ useComponentHost(() => import('../components/ui-radio/ui-radio.js'), {
|
|
|
176
218
|
<label
|
|
177
219
|
data-component="ui-radio"
|
|
178
220
|
v-bind="nativeAttrs($attrs)"
|
|
221
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
179
222
|
:data-checked="reflectedProp('checked', 'checked', checkedProps.checked, undefined, false)"
|
|
180
223
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
181
224
|
:data-name="reflectedProp('name', 'name', checkedProps.name, undefined, false)"
|
package/vue/UiRadioGroup.d.ts
CHANGED
|
@@ -38,12 +38,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
38
38
|
readonly previousValue: string;
|
|
39
39
|
readonly trigger: "keyboard" | "pointer" | "programmatic";
|
|
40
40
|
}>) => any;
|
|
41
|
-
"update:value": (value: string) => any;
|
|
42
41
|
change: (event: CustomEvent<{
|
|
43
42
|
readonly checked: boolean;
|
|
44
43
|
readonly value: string;
|
|
45
44
|
readonly trigger: "keyboard" | "pointer" | "programmatic";
|
|
46
45
|
}>) => any;
|
|
46
|
+
"update:value": (value: string) => any;
|
|
47
47
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
48
48
|
disabled: {
|
|
49
49
|
type: PropType<boolean | null>;
|
|
@@ -79,18 +79,18 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
79
79
|
readonly previousValue: string;
|
|
80
80
|
readonly trigger: "keyboard" | "pointer" | "programmatic";
|
|
81
81
|
}>) => any) | undefined;
|
|
82
|
-
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
83
82
|
onChange?: ((event: CustomEvent<{
|
|
84
83
|
readonly checked: boolean;
|
|
85
84
|
readonly value: string;
|
|
86
85
|
readonly trigger: "keyboard" | "pointer" | "programmatic";
|
|
87
86
|
}>) => any) | undefined;
|
|
87
|
+
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
88
88
|
}>, {
|
|
89
89
|
label: string | null;
|
|
90
90
|
name: string | null;
|
|
91
91
|
value: string | null;
|
|
92
|
-
disabled: boolean | null;
|
|
93
92
|
invalid: boolean | null;
|
|
93
|
+
disabled: boolean | null;
|
|
94
94
|
required: boolean | null;
|
|
95
95
|
orientation: "vertical" | "horizontal" | null;
|
|
96
96
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
package/vue/UiRadioGroup.vue
CHANGED
|
@@ -1,12 +1,73 @@
|
|
|
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
|
+
disabled: {
|
|
13
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
14
|
+
required: false,
|
|
15
|
+
target: { attribute: 'disabled' },
|
|
16
|
+
description:
|
|
17
|
+
'Disables every radio in the group through the native fieldset, so no choice can be made and the group submits nothing with its form. A radio disabled on\n its own stays disabled when the group is enabled.',
|
|
18
|
+
default: false,
|
|
19
|
+
},
|
|
20
|
+
invalid: {
|
|
21
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
22
|
+
required: false,
|
|
23
|
+
target: { attribute: 'aria-invalid' },
|
|
24
|
+
description:
|
|
25
|
+
'Exposes an externally validated error on the group and styles its legend with the field danger colour.',
|
|
26
|
+
default: false,
|
|
27
|
+
},
|
|
28
|
+
label: {
|
|
29
|
+
type: { kind: 'terminal', name: 'string' },
|
|
30
|
+
required: false,
|
|
31
|
+
target: { attribute: 'label' },
|
|
32
|
+
description:
|
|
33
|
+
'The group\'s legend, shown above the radios and announced as the group\'s name. Phrase it as the question the radios answer.',
|
|
34
|
+
default: 'Options',
|
|
35
|
+
},
|
|
36
|
+
name: {
|
|
37
|
+
type: { kind: 'terminal', name: 'string' },
|
|
38
|
+
required: false,
|
|
39
|
+
target: { attribute: 'name' },
|
|
40
|
+
description:
|
|
41
|
+
'The native name given to every radio in the group, under which a form submits the chosen value. Left empty, the group generates a unique name that keeps\n the radios together, so set it when the choice submits with a form.',
|
|
42
|
+
default: '',
|
|
43
|
+
},
|
|
44
|
+
orientation: {
|
|
45
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
46
|
+
required: false,
|
|
47
|
+
target: { attribute: 'orientation' },
|
|
48
|
+
description:
|
|
49
|
+
'horizontal lays the radios out in a row; vertical stacks them in a column. The arrow keys move between radios either way.',
|
|
50
|
+
values: ['horizontal', 'vertical'],
|
|
51
|
+
default: 'horizontal',
|
|
52
|
+
},
|
|
53
|
+
required: {
|
|
54
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
55
|
+
required: false,
|
|
56
|
+
target: { attribute: 'aria-required' },
|
|
57
|
+
description:
|
|
58
|
+
'Makes a choice required, as a required native radio does for its group: the group states aria-required, every radio in it is marked required, and native\n form validation fails until one is checked.',
|
|
59
|
+
default: false,
|
|
60
|
+
},
|
|
61
|
+
value: {
|
|
62
|
+
type: { kind: 'terminal', name: 'string' },
|
|
63
|
+
required: false,
|
|
64
|
+
target: { attribute: 'value' },
|
|
65
|
+
description:
|
|
66
|
+
'The value of the checked radio, initially or when set externally; empty checks none. The user\'s choice updates it from there and is reported as select and\n change events, and a form reset returns the group to it.',
|
|
67
|
+
default: '',
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
}
|
|
10
71
|
const props = defineProps({
|
|
11
72
|
disabled: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
12
73
|
invalid: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
@@ -25,56 +86,42 @@ const checkedProps = computed(() => ({
|
|
|
25
86
|
{ kind: 'terminal', name: 'boolean' },
|
|
26
87
|
false,
|
|
27
88
|
'disabled',
|
|
28
|
-
undefined,
|
|
29
|
-
undefined,
|
|
30
89
|
) as boolean,
|
|
31
90
|
invalid: checkedProp<boolean>(
|
|
32
91
|
props['invalid'],
|
|
33
92
|
{ kind: 'terminal', name: 'boolean' },
|
|
34
93
|
false,
|
|
35
94
|
'invalid',
|
|
36
|
-
undefined,
|
|
37
|
-
undefined,
|
|
38
95
|
) as boolean,
|
|
39
96
|
label: checkedProp<string>(
|
|
40
97
|
props['label'],
|
|
41
98
|
{ kind: 'terminal', name: 'string' },
|
|
42
99
|
false,
|
|
43
100
|
'label',
|
|
44
|
-
undefined,
|
|
45
|
-
undefined,
|
|
46
101
|
) as string,
|
|
47
102
|
name: checkedProp<string>(
|
|
48
103
|
props['name'],
|
|
49
104
|
{ kind: 'terminal', name: 'string' },
|
|
50
105
|
false,
|
|
51
106
|
'name',
|
|
52
|
-
undefined,
|
|
53
|
-
undefined,
|
|
54
107
|
) as string,
|
|
55
108
|
orientation: checkedProp<'horizontal' | 'vertical'>(
|
|
56
109
|
props['orientation'],
|
|
57
110
|
{ kind: 'terminal', name: 'keyword' },
|
|
58
111
|
false,
|
|
59
112
|
'orientation',
|
|
60
|
-
undefined,
|
|
61
|
-
['horizontal', 'vertical'],
|
|
62
113
|
) as 'horizontal' | 'vertical',
|
|
63
114
|
required: checkedProp<boolean>(
|
|
64
115
|
props['required'],
|
|
65
116
|
{ kind: 'terminal', name: 'boolean' },
|
|
66
117
|
false,
|
|
67
118
|
'required',
|
|
68
|
-
undefined,
|
|
69
|
-
undefined,
|
|
70
119
|
) as boolean,
|
|
71
120
|
value: checkedProp<string>(
|
|
72
121
|
props['value'],
|
|
73
122
|
{ kind: 'terminal', name: 'string' },
|
|
74
123
|
false,
|
|
75
124
|
'value',
|
|
76
|
-
undefined,
|
|
77
|
-
undefined,
|
|
78
125
|
) as string,
|
|
79
126
|
}))
|
|
80
127
|
void checkedProps.value
|
|
@@ -138,6 +185,7 @@ const emit = defineEmits<{
|
|
|
138
185
|
|
|
139
186
|
const root = ref<HTMLElement | null>(null)
|
|
140
187
|
const internalValue = ref('')
|
|
188
|
+
provide('html-next:ui-radio-group:internalValue', internalValue)
|
|
141
189
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
142
190
|
if (
|
|
143
191
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -211,6 +259,7 @@ useComponentHost(() => import('../components/ui-radio-group/ui-radio-group.js'),
|
|
|
211
259
|
:aria-required="checkedProps.required ?? undefined"
|
|
212
260
|
:aria-invalid="checkedProps.invalid ?? undefined"
|
|
213
261
|
:disabled="checkedProps.disabled ?? undefined"
|
|
262
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
214
263
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
215
264
|
:data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
|
|
216
265
|
:data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
|
package/vue/UiReel.d.ts
CHANGED
|
@@ -31,8 +31,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
31
31
|
};
|
|
32
32
|
}>> & Readonly<{}>, {
|
|
33
33
|
gap: "s" | "xs" | "m" | "l" | "xl" | null;
|
|
34
|
-
itemWidth: "sm" | "md" | "lg" | null;
|
|
35
34
|
snap: "center" | "start" | null;
|
|
35
|
+
itemWidth: "sm" | "md" | "lg" | null;
|
|
36
36
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
37
37
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
38
|
declare const _default: typeof __VLS_export;
|
package/vue/UiReel.vue
CHANGED
|
@@ -1,11 +1,39 @@
|
|
|
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
|
+
gap: {
|
|
12
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
13
|
+
required: false,
|
|
14
|
+
target: { attribute: 'gap' },
|
|
15
|
+
description:
|
|
16
|
+
'Space between items, on the spacing scale: xs is 0.5rem, s 0.75rem, m 1rem (also the default), l 1.5rem, and xl 2rem. The --ui-reel-gap custom property,\n set on the reel itself, overrides it; set on an ancestor, it does nothing.',
|
|
17
|
+
values: ['xs', 's', 'm', 'l', 'xl'],
|
|
18
|
+
},
|
|
19
|
+
itemWidth: {
|
|
20
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
21
|
+
required: false,
|
|
22
|
+
target: { attribute: 'itemwidth' },
|
|
23
|
+
description:
|
|
24
|
+
'A fixed width for every item: sm is 12rem, md is 16rem, and lg is 20rem. Unset, each item keeps its content\'s width. Items never shrink to fit, so the reel\n scrolls sideways once they overflow.',
|
|
25
|
+
values: ['sm', 'md', 'lg'],
|
|
26
|
+
},
|
|
27
|
+
snap: {
|
|
28
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
29
|
+
required: false,
|
|
30
|
+
target: { attribute: 'snap' },
|
|
31
|
+
description:
|
|
32
|
+
'Snaps scrolling to items: start comes to rest with an item\'s start edge at the reel\'s start, and center with an item centred in the reel. Unset, the reel\n scrolls freely.',
|
|
33
|
+
values: ['start', 'center'],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
}
|
|
9
37
|
const props = defineProps({
|
|
10
38
|
gap: { type: null as unknown as PropType<'xs' | 's' | 'm' | 'l' | 'xl' | null>, default: null },
|
|
11
39
|
itemWidth: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null>, default: null },
|
|
@@ -17,24 +45,18 @@ const checkedProps = computed(() => ({
|
|
|
17
45
|
{ kind: 'terminal', name: 'keyword' },
|
|
18
46
|
false,
|
|
19
47
|
'gap',
|
|
20
|
-
undefined,
|
|
21
|
-
['xs', 's', 'm', 'l', 'xl'],
|
|
22
48
|
),
|
|
23
49
|
itemWidth: checkedProp<'sm' | 'md' | 'lg'>(
|
|
24
50
|
props['itemWidth'],
|
|
25
51
|
{ kind: 'terminal', name: 'keyword' },
|
|
26
52
|
false,
|
|
27
53
|
'itemWidth',
|
|
28
|
-
undefined,
|
|
29
|
-
['sm', 'md', 'lg'],
|
|
30
54
|
),
|
|
31
55
|
snap: checkedProp<'start' | 'center'>(
|
|
32
56
|
props['snap'],
|
|
33
57
|
{ kind: 'terminal', name: 'keyword' },
|
|
34
58
|
false,
|
|
35
59
|
'snap',
|
|
36
|
-
undefined,
|
|
37
|
-
['start', 'center'],
|
|
38
60
|
),
|
|
39
61
|
}))
|
|
40
62
|
void checkedProps.value
|
|
@@ -109,6 +131,7 @@ const hostState = computed(() =>
|
|
|
109
131
|
role="region"
|
|
110
132
|
tabindex="0"
|
|
111
133
|
v-bind="nativeAttrs($attrs)"
|
|
134
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
112
135
|
:data-gap="reflectedProp('gap', 'gap', checkedProps.gap, undefined, false)"
|
|
113
136
|
:data-item-width="reflectedProp('itemWidth', 'item-width', checkedProps.itemWidth, undefined, false)"
|
|
114
137
|
:data-snap="reflectedProp('snap', 'snap', checkedProps.snap, undefined, false)"
|
package/vue/UiScrollArea.vue
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
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
|
|
|
8
8
|
defineOptions({ inheritAttrs: false })
|
|
9
9
|
|
|
10
|
+
const propValidityContract = {
|
|
11
|
+
props: {
|
|
12
|
+
orientation: {
|
|
13
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
14
|
+
required: false,
|
|
15
|
+
target: { attribute: 'orientation' },
|
|
16
|
+
description:
|
|
17
|
+
'The direction the content scrolls. Vertical scrolls up and down and clips sideways overflow; horizontal scrolls sideways and clips vertical\n overflow.',
|
|
18
|
+
values: ['vertical', 'horizontal'],
|
|
19
|
+
default: 'vertical',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
}
|
|
10
23
|
const props = defineProps({
|
|
11
24
|
orientation: {
|
|
12
25
|
type: null as unknown as PropType<'vertical' | 'horizontal' | null>,
|
|
@@ -19,8 +32,6 @@ const checkedProps = computed(() => ({
|
|
|
19
32
|
{ kind: 'terminal', name: 'keyword' },
|
|
20
33
|
false,
|
|
21
34
|
'orientation',
|
|
22
|
-
undefined,
|
|
23
|
-
['vertical', 'horizontal'],
|
|
24
35
|
) as 'vertical' | 'horizontal',
|
|
25
36
|
}))
|
|
26
37
|
void checkedProps.value
|
|
@@ -107,6 +118,7 @@ useComponentHost(() => import('../components/ui-scroll-area/ui-scroll-area.js'),
|
|
|
107
118
|
<div
|
|
108
119
|
data-component="ui-scroll-area"
|
|
109
120
|
v-bind="nativeAttrs($attrs)"
|
|
121
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
110
122
|
:data-orientation="reflectedProp('orientation', 'orientation', checkedProps.orientation, undefined, false)"
|
|
111
123
|
:data-ui-scroll-area-state="hostState || undefined"
|
|
112
124
|
ref="root"
|
|
@@ -1,11 +1,31 @@
|
|
|
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
|
+
disabled: {
|
|
12
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
13
|
+
required: false,
|
|
14
|
+
target: { attribute: 'disabled' },
|
|
15
|
+
description:
|
|
16
|
+
'Disables the row\'s button, so it cannot be chosen or focused, and gives it a flat muted treatment.',
|
|
17
|
+
default: false,
|
|
18
|
+
},
|
|
19
|
+
selected: {
|
|
20
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
21
|
+
required: false,
|
|
22
|
+
target: { attribute: 'aria-current' },
|
|
23
|
+
description:
|
|
24
|
+
'Marks the row as the current result: it gets the hover surface and aria-current="true", which assistive technology announces as current. Set it on one row\n at a time, such as the result the arrow keys have moved to.',
|
|
25
|
+
default: false,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
}
|
|
9
29
|
const props = defineProps({
|
|
10
30
|
disabled: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
11
31
|
selected: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
@@ -16,16 +36,12 @@ const checkedProps = computed(() => ({
|
|
|
16
36
|
{ kind: 'terminal', name: 'boolean' },
|
|
17
37
|
false,
|
|
18
38
|
'disabled',
|
|
19
|
-
undefined,
|
|
20
|
-
undefined,
|
|
21
39
|
) as boolean,
|
|
22
40
|
selected: checkedProp<boolean>(
|
|
23
41
|
props['selected'],
|
|
24
42
|
{ kind: 'terminal', name: 'boolean' },
|
|
25
43
|
false,
|
|
26
44
|
'selected',
|
|
27
|
-
undefined,
|
|
28
|
-
undefined,
|
|
29
45
|
) as boolean,
|
|
30
46
|
}))
|
|
31
47
|
void checkedProps.value
|
|
@@ -98,6 +114,7 @@ const hostState = computed(() =>
|
|
|
98
114
|
v-bind="nativeAttrs($attrs)"
|
|
99
115
|
:disabled="checkedProps.disabled ?? undefined"
|
|
100
116
|
:aria-current="checkedProps.selected ?? undefined"
|
|
117
|
+
v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
|
|
101
118
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
102
119
|
:data-selected="reflectedProp('selected', 'selected', checkedProps.selected, undefined, false)"
|
|
103
120
|
:data-ui-search-result-row-state="hostState || undefined"
|