@threadlabs/looma 0.24.1 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
- package/components/ui-affordance-scope/ui-affordance-scope.js +6 -1
- package/components/ui-avatar/ui-avatar.html +4 -4
- package/components/ui-avatar/ui-avatar.js +6 -1
- package/components/ui-avatar-group/ui-avatar-group.html +2 -2
- package/components/ui-avatar-group/ui-avatar-group.js +6 -1
- package/components/ui-badge/ui-badge.html +30 -30
- package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +1 -1
- package/components/ui-button/ui-button.html +33 -33
- package/components/ui-button/ui-button.js +6 -1
- package/components/ui-callout/ui-callout.html +4 -4
- package/components/ui-card/ui-card.html +9 -9
- package/components/ui-checkbox/ui-checkbox.html +11 -11
- package/components/ui-checkbox/ui-checkbox.js +6 -1
- package/components/ui-cluster/ui-cluster.html +12 -12
- package/components/ui-combobox/ui-combobox.html +15 -17
- package/components/ui-combobox/ui-combobox.js +13 -15
- package/components/ui-container/ui-container.html +5 -5
- package/components/ui-context-menu/ui-context-menu.js +6 -1
- package/components/ui-cover/ui-cover.html +1 -1
- package/components/ui-description-list/ui-description-list.html +10 -10
- package/components/ui-dialog/ui-dialog.html +4 -4
- package/components/ui-dialog/ui-dialog.js +6 -1
- package/components/ui-disclosure/ui-disclosure.html +13 -13
- package/components/ui-disclosure/ui-disclosure.js +6 -1
- package/components/ui-editable/ui-editable.html +1 -1
- package/components/ui-editable/ui-editable.js +6 -1
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +6 -1
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +6 -1
- package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +6 -1
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +6 -1
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +6 -1
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +6 -1
- package/components/ui-editor-toolbar/ui-editor-toolbar.html +4 -4
- package/components/ui-editor-toolbar/ui-editor-toolbar.js +6 -1
- package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
- package/components/ui-form-field/ui-form-field.html +1 -1
- package/components/ui-form-field/ui-form-field.js +6 -1
- package/components/ui-grid/ui-grid.html +7 -7
- package/components/ui-icon-button/ui-icon-button.html +26 -26
- package/components/ui-icon-button/ui-icon-button.js +6 -1
- package/components/ui-image/ui-image.html +11 -11
- package/components/ui-image/ui-image.js +6 -1
- package/components/ui-input/ui-input.html +9 -7
- package/components/ui-input/ui-input.js +6 -1
- package/components/ui-input-group/ui-input-group.html +3 -3
- package/components/ui-input-group/ui-input-group.js +6 -1
- package/components/ui-list/ui-list.html +6 -6
- package/components/ui-list-item/ui-list-item.html +8 -8
- package/components/ui-listbox/ui-listbox.js +6 -1
- package/components/ui-menu/ui-menu.html +3 -3
- package/components/ui-menu/ui-menu.js +6 -1
- package/components/ui-menu-item/ui-menu-item.html +3 -3
- package/components/ui-menu-item/ui-menu-item.js +6 -1
- package/components/ui-meter/ui-meter.html +7 -7
- package/components/ui-nav-item/ui-nav-item.html +6 -6
- package/components/ui-page-header/ui-page-header.html +2 -2
- package/components/ui-popover/ui-popover.html +3 -3
- package/components/ui-popover/ui-popover.js +6 -1
- package/components/ui-radio/ui-radio.html +10 -10
- package/components/ui-radio/ui-radio.js +6 -1
- package/components/ui-radio-group/ui-radio-group.html +2 -2
- package/components/ui-radio-group/ui-radio-group.js +6 -1
- package/components/ui-reel/ui-reel.html +11 -11
- package/components/ui-scroll-area/ui-scroll-area.html +4 -4
- package/components/ui-scroll-area/ui-scroll-area.js +6 -1
- package/components/ui-search-result-row/ui-search-result-row.html +5 -5
- package/components/ui-search-shell/ui-search-shell.js +6 -1
- package/components/ui-section/ui-section.html +4 -4
- package/components/ui-select/ui-select.html +3 -3
- package/components/ui-select/ui-select.js +6 -1
- package/components/ui-separator/ui-separator.html +4 -4
- package/components/ui-sidebar/ui-sidebar.html +6 -6
- package/components/ui-sidebar/ui-sidebar.js +6 -1
- package/components/ui-spinner/ui-spinner.html +1 -1
- package/components/ui-stack/ui-stack.html +12 -12
- package/components/ui-status-message/ui-status-message.html +4 -4
- package/components/ui-switch/ui-switch.html +11 -11
- package/components/ui-switch/ui-switch.js +6 -1
- package/components/ui-switcher/ui-switcher.html +11 -11
- package/components/ui-switcher/ui-switcher.js +6 -1
- package/components/ui-table/ui-table.html +2 -2
- package/components/ui-table/ui-table.js +6 -1
- package/components/ui-tabs/ui-tabs.html +8 -8
- package/components/ui-tabs/ui-tabs.js +6 -1
- package/components/ui-text/ui-text.html +20 -20
- package/components/ui-textarea/ui-textarea.html +4 -4
- package/components/ui-textarea/ui-textarea.js +6 -1
- package/components/ui-toast/ui-toast.html +4 -4
- package/components/ui-toast/ui-toast.js +6 -1
- package/components/ui-toast-region/ui-toast-region.html +16 -11
- package/components/ui-toast-region/ui-toast-region.js +12 -9
- package/components/ui-tooltip/ui-tooltip.html +1 -1
- package/components/ui-tooltip/ui-tooltip.js +6 -1
- package/components/ui-tree/ui-tree.html +2 -2
- package/components/ui-tree/ui-tree.js +6 -1
- package/components/ui-tree-item/ui-tree-item.html +4 -4
- package/components/ui-tree-item/ui-tree-item.js +6 -1
- package/dist/index.js +10 -4
- package/package.json +3 -3
- package/styles/ui-action-bar.css +1 -1
- package/styles/ui-affordance-scope.css +1 -1
- package/styles/ui-avatar-group.css +1 -1
- package/styles/ui-avatar.css +1 -1
- package/styles/ui-badge.css +1 -1
- package/styles/ui-breadcrumb-item.css +1 -1
- package/styles/ui-breadcrumbs.css +1 -1
- package/styles/ui-button.css +1 -1
- package/styles/ui-callout.css +1 -1
- package/styles/ui-card.css +1 -1
- package/styles/ui-checkbox.css +1 -1
- package/styles/ui-cluster.css +1 -1
- package/styles/ui-combobox.css +1 -1
- package/styles/ui-container.css +1 -1
- package/styles/ui-context-menu.css +1 -1
- package/styles/ui-cover.css +1 -1
- package/styles/ui-description-item.css +1 -1
- package/styles/ui-description-list.css +1 -1
- package/styles/ui-dialog.css +1 -1
- package/styles/ui-disclosure.css +2 -2
- package/styles/ui-editable.css +1 -1
- package/styles/ui-editor-insert-table-grid.css +1 -1
- package/styles/ui-editor-mention-menu-item.css +1 -1
- package/styles/ui-editor-mention-menu.css +1 -1
- package/styles/ui-editor-slash-menu-group.css +1 -1
- package/styles/ui-editor-slash-menu-item.css +1 -1
- package/styles/ui-editor-slash-menu.css +1 -1
- package/styles/ui-editor-table-context-menu.css +1 -1
- package/styles/ui-editor-table-overlay.css +1 -1
- package/styles/ui-editor-table-toolbar.css +1 -1
- package/styles/ui-editor-toolbar.css +1 -1
- package/styles/ui-floating-action-button.css +1 -1
- package/styles/ui-form-field.css +1 -1
- package/styles/ui-grid.css +1 -1
- package/styles/ui-icon-button.css +1 -1
- package/styles/ui-icon.css +1 -1
- package/styles/ui-image.css +1 -1
- package/styles/ui-input-group.css +1 -1
- package/styles/ui-input.css +1 -1
- package/styles/ui-list-item.css +1 -1
- package/styles/ui-list.css +1 -1
- package/styles/ui-listbox.css +1 -1
- package/styles/ui-menu-group.css +1 -1
- package/styles/ui-menu-item.css +1 -1
- package/styles/ui-menu.css +1 -1
- package/styles/ui-meter.css +1 -1
- package/styles/ui-nav-item.css +1 -1
- package/styles/ui-page-header.css +1 -1
- package/styles/ui-popover.css +1 -1
- package/styles/ui-radio-group.css +1 -1
- package/styles/ui-radio.css +1 -1
- package/styles/ui-reel.css +1 -1
- package/styles/ui-scroll-area.css +1 -1
- package/styles/ui-search-result-row.css +1 -1
- package/styles/ui-search-shell.css +1 -1
- package/styles/ui-section.css +1 -1
- package/styles/ui-select.css +1 -1
- package/styles/ui-separator.css +1 -1
- package/styles/ui-sidebar.css +2 -2
- package/styles/ui-spinner.css +1 -1
- package/styles/ui-stack.css +1 -1
- package/styles/ui-status-message.css +1 -1
- package/styles/ui-switch.css +1 -1
- package/styles/ui-switcher.css +1 -1
- package/styles/ui-table.css +1 -1
- package/styles/ui-tabs.css +1 -1
- package/styles/ui-text.css +1 -1
- package/styles/ui-textarea.css +1 -1
- package/styles/ui-toast-region.css +1 -1
- package/styles/ui-toast.css +1 -1
- package/styles/ui-tooltip.css +1 -1
- package/styles/ui-top-bar.css +1 -1
- package/styles/ui-tree-item.css +1 -1
- package/styles/ui-tree.css +1 -1
- package/vanilla/UiActionBar.d.ts +1 -1
- package/vanilla/UiActionBar.js +1 -1
- package/vanilla/UiAffordanceScope.d.ts +1 -1
- package/vanilla/UiAffordanceScope.js +1 -1
- package/vanilla/UiAvatar.d.ts +1 -1
- package/vanilla/UiAvatar.js +1 -1
- package/vanilla/UiAvatarGroup.d.ts +1 -1
- package/vanilla/UiAvatarGroup.js +1 -1
- package/vanilla/UiBadge.d.ts +1 -1
- package/vanilla/UiBadge.js +1 -1
- package/vanilla/UiBreadcrumbItem.d.ts +1 -1
- package/vanilla/UiBreadcrumbItem.js +1 -1
- package/vanilla/UiBreadcrumbs.d.ts +1 -1
- package/vanilla/UiBreadcrumbs.js +1 -1
- package/vanilla/UiButton.d.ts +1 -1
- package/vanilla/UiButton.js +1 -1
- package/vanilla/UiCallout.d.ts +1 -1
- package/vanilla/UiCallout.js +1 -1
- package/vanilla/UiCard.d.ts +1 -1
- package/vanilla/UiCard.js +1 -1
- package/vanilla/UiCheckbox.d.ts +1 -1
- package/vanilla/UiCheckbox.js +1 -1
- package/vanilla/UiCluster.d.ts +1 -1
- package/vanilla/UiCluster.js +1 -1
- package/vanilla/UiCombobox.d.ts +1 -3
- package/vanilla/UiCombobox.js +2 -2
- package/vanilla/UiContainer.d.ts +1 -1
- package/vanilla/UiContainer.js +1 -1
- package/vanilla/UiContextMenu.d.ts +1 -1
- package/vanilla/UiContextMenu.js +1 -1
- package/vanilla/UiCover.d.ts +1 -1
- package/vanilla/UiCover.js +1 -1
- package/vanilla/UiDescriptionItem.d.ts +1 -1
- package/vanilla/UiDescriptionItem.js +1 -1
- package/vanilla/UiDescriptionList.d.ts +1 -1
- package/vanilla/UiDescriptionList.js +1 -1
- package/vanilla/UiDialog.d.ts +1 -1
- package/vanilla/UiDialog.js +1 -1
- package/vanilla/UiDisclosure.d.ts +1 -1
- package/vanilla/UiDisclosure.js +1 -1
- package/vanilla/UiEditable.d.ts +1 -1
- package/vanilla/UiEditable.js +1 -1
- package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
- package/vanilla/UiEditorInsertTableGrid.js +1 -1
- package/vanilla/UiEditorMentionMenu.d.ts +1 -1
- package/vanilla/UiEditorMentionMenu.js +1 -1
- package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
- package/vanilla/UiEditorMentionMenuItem.js +1 -1
- package/vanilla/UiEditorSlashMenu.d.ts +1 -1
- package/vanilla/UiEditorSlashMenu.js +1 -1
- package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
- package/vanilla/UiEditorSlashMenuGroup.js +1 -1
- package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
- package/vanilla/UiEditorSlashMenuItem.js +1 -1
- package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
- package/vanilla/UiEditorTableContextMenu.js +1 -1
- package/vanilla/UiEditorTableOverlay.d.ts +1 -1
- package/vanilla/UiEditorTableOverlay.js +1 -1
- package/vanilla/UiEditorTableToolbar.d.ts +1 -1
- package/vanilla/UiEditorTableToolbar.js +1 -1
- package/vanilla/UiEditorToolbar.d.ts +1 -1
- package/vanilla/UiEditorToolbar.js +1 -1
- package/vanilla/UiFloatingActionButton.d.ts +1 -1
- package/vanilla/UiFloatingActionButton.js +1 -1
- package/vanilla/UiFormField.d.ts +1 -1
- package/vanilla/UiFormField.js +1 -1
- package/vanilla/UiGrid.d.ts +1 -1
- package/vanilla/UiGrid.js +1 -1
- package/vanilla/UiIcon.d.ts +1 -1
- package/vanilla/UiIcon.js +1 -1
- package/vanilla/UiIconButton.d.ts +1 -1
- package/vanilla/UiIconButton.js +1 -1
- package/vanilla/UiImage.d.ts +1 -1
- package/vanilla/UiImage.js +1 -1
- package/vanilla/UiInput.d.ts +4 -4
- package/vanilla/UiInput.js +2 -2
- package/vanilla/UiInputGroup.d.ts +1 -1
- package/vanilla/UiInputGroup.js +1 -1
- package/vanilla/UiList.d.ts +1 -1
- package/vanilla/UiList.js +1 -1
- package/vanilla/UiListItem.d.ts +1 -1
- package/vanilla/UiListItem.js +1 -1
- package/vanilla/UiListbox.d.ts +1 -1
- package/vanilla/UiListbox.js +1 -1
- package/vanilla/UiMenu.d.ts +1 -1
- package/vanilla/UiMenu.js +1 -1
- package/vanilla/UiMenuGroup.d.ts +1 -1
- package/vanilla/UiMenuGroup.js +1 -1
- package/vanilla/UiMenuItem.d.ts +1 -1
- package/vanilla/UiMenuItem.js +1 -1
- package/vanilla/UiMeter.d.ts +1 -1
- package/vanilla/UiMeter.js +1 -1
- package/vanilla/UiNavItem.d.ts +1 -1
- package/vanilla/UiNavItem.js +1 -1
- package/vanilla/UiPageHeader.d.ts +1 -1
- package/vanilla/UiPageHeader.js +1 -1
- package/vanilla/UiPopover.d.ts +1 -1
- package/vanilla/UiPopover.js +1 -1
- package/vanilla/UiRadio.d.ts +1 -1
- package/vanilla/UiRadio.js +1 -1
- package/vanilla/UiRadioGroup.d.ts +1 -1
- package/vanilla/UiRadioGroup.js +1 -1
- package/vanilla/UiReel.d.ts +1 -1
- package/vanilla/UiReel.js +1 -1
- package/vanilla/UiScrollArea.d.ts +1 -1
- package/vanilla/UiScrollArea.js +1 -1
- package/vanilla/UiSearchResultRow.d.ts +1 -1
- package/vanilla/UiSearchResultRow.js +1 -1
- package/vanilla/UiSearchShell.d.ts +1 -1
- package/vanilla/UiSearchShell.js +1 -1
- package/vanilla/UiSection.d.ts +1 -1
- package/vanilla/UiSection.js +1 -1
- package/vanilla/UiSelect.d.ts +1 -1
- package/vanilla/UiSelect.js +1 -1
- package/vanilla/UiSeparator.d.ts +1 -1
- package/vanilla/UiSeparator.js +1 -1
- package/vanilla/UiSidebar.d.ts +1 -1
- package/vanilla/UiSidebar.js +1 -1
- package/vanilla/UiSpinner.d.ts +1 -1
- package/vanilla/UiSpinner.js +1 -1
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +1 -1
- package/vanilla/UiStatusMessage.d.ts +1 -1
- package/vanilla/UiStatusMessage.js +1 -1
- package/vanilla/UiSwitch.d.ts +1 -1
- package/vanilla/UiSwitch.js +1 -1
- package/vanilla/UiSwitcher.d.ts +1 -1
- package/vanilla/UiSwitcher.js +1 -1
- package/vanilla/UiTable.d.ts +1 -1
- package/vanilla/UiTable.js +1 -1
- package/vanilla/UiTabs.d.ts +1 -1
- package/vanilla/UiTabs.js +1 -1
- package/vanilla/UiText.d.ts +1 -1
- package/vanilla/UiText.js +1 -1
- package/vanilla/UiTextarea.d.ts +1 -1
- package/vanilla/UiTextarea.js +1 -1
- package/vanilla/UiToast.d.ts +1 -1
- package/vanilla/UiToast.js +1 -1
- package/vanilla/UiToastRegion.d.ts +2 -2
- package/vanilla/UiToastRegion.js +2 -2
- package/vanilla/UiTooltip.d.ts +1 -1
- package/vanilla/UiTooltip.js +1 -1
- package/vanilla/UiTopBar.d.ts +1 -1
- package/vanilla/UiTopBar.js +1 -1
- package/vanilla/UiTree.d.ts +1 -1
- package/vanilla/UiTree.js +1 -1
- package/vanilla/UiTreeItem.d.ts +1 -1
- package/vanilla/UiTreeItem.js +1 -1
- package/vue/UiActionBar.vue +1 -1
- package/vue/UiAffordanceScope.vue +8 -1
- package/vue/UiAvatar.d.ts +6 -9
- package/vue/UiAvatar.vue +71 -20
- package/vue/UiAvatarGroup.d.ts +7 -10
- package/vue/UiAvatarGroup.vue +45 -12
- package/vue/UiBadge.vue +1 -1
- package/vue/UiBreadcrumbItem.vue +1 -1
- package/vue/UiBreadcrumbs.vue +1 -1
- package/vue/UiButton.vue +1 -1
- package/vue/UiCallout.vue +1 -1
- package/vue/UiCard.vue +1 -1
- package/vue/UiCheckbox.d.ts +8 -11
- package/vue/UiCheckbox.vue +34 -11
- package/vue/UiCluster.vue +1 -1
- package/vue/UiCombobox.d.ts +60 -66
- package/vue/UiCombobox.vue +476 -124
- package/vue/UiContainer.vue +1 -1
- package/vue/UiContextMenu.vue +18 -9
- package/vue/UiCover.vue +1 -1
- package/vue/UiDescriptionItem.vue +1 -1
- package/vue/UiDescriptionList.vue +1 -1
- package/vue/UiDialog.d.ts +8 -11
- package/vue/UiDialog.vue +39 -12
- package/vue/UiDisclosure.d.ts +12 -15
- package/vue/UiDisclosure.vue +70 -24
- package/vue/UiEditable.d.ts +3 -3
- package/vue/UiEditable.vue +60 -21
- package/vue/UiEditorInsertTableGrid.d.ts +2 -2
- package/vue/UiEditorInsertTableGrid.vue +75 -14
- package/vue/UiEditorMentionMenu.d.ts +10 -13
- package/vue/UiEditorMentionMenu.vue +50 -7
- package/vue/UiEditorMentionMenuItem.vue +1 -1
- package/vue/UiEditorSlashMenu.d.ts +12 -15
- package/vue/UiEditorSlashMenu.vue +48 -7
- package/vue/UiEditorSlashMenuGroup.vue +1 -1
- package/vue/UiEditorSlashMenuItem.vue +1 -1
- package/vue/UiEditorTableContextMenu.vue +73 -4
- package/vue/UiEditorTableOverlay.d.ts +2 -2
- package/vue/UiEditorTableOverlay.vue +202 -38
- package/vue/UiEditorTableToolbar.d.ts +2 -2
- package/vue/UiEditorTableToolbar.vue +128 -7
- package/vue/UiEditorToolbar.vue +3 -3
- package/vue/UiFloatingActionButton.vue +1 -1
- package/vue/UiFormField.vue +1 -1
- package/vue/UiGrid.vue +1 -1
- package/vue/UiIcon.vue +1 -1
- package/vue/UiIconButton.vue +1 -1
- package/vue/UiImage.vue +7 -6
- package/vue/UiInput.d.ts +5 -5
- package/vue/UiInput.vue +15 -3
- package/vue/UiInputGroup.vue +1 -1
- package/vue/UiList.vue +1 -1
- package/vue/UiListItem.vue +1 -1
- package/vue/UiListbox.d.ts +6 -9
- package/vue/UiListbox.vue +70 -19
- package/vue/UiMenu.vue +20 -10
- package/vue/UiMenuGroup.vue +1 -1
- package/vue/UiMenuItem.d.ts +13 -16
- package/vue/UiMenuItem.vue +30 -7
- package/vue/UiMeter.vue +1 -1
- package/vue/UiNavItem.vue +1 -1
- package/vue/UiPageHeader.vue +1 -1
- package/vue/UiPopover.vue +12 -4
- package/vue/UiRadio.d.ts +8 -11
- package/vue/UiRadio.vue +34 -11
- package/vue/UiRadioGroup.vue +16 -7
- package/vue/UiReel.vue +1 -1
- package/vue/UiScrollArea.vue +3 -3
- package/vue/UiSearchResultRow.vue +1 -1
- package/vue/UiSearchShell.vue +14 -6
- package/vue/UiSection.vue +1 -1
- package/vue/UiSelect.vue +3 -2
- package/vue/UiSeparator.vue +1 -1
- package/vue/UiSidebar.d.ts +7 -10
- package/vue/UiSidebar.vue +44 -12
- package/vue/UiSpinner.vue +1 -1
- package/vue/UiStack.vue +1 -1
- package/vue/UiStatusMessage.vue +1 -1
- package/vue/UiSwitch.d.ts +8 -11
- package/vue/UiSwitch.vue +34 -11
- package/vue/UiSwitcher.vue +8 -1
- package/vue/UiTable.vue +1 -1
- package/vue/UiTabs.vue +30 -8
- package/vue/UiText.vue +1 -1
- package/vue/UiTextarea.vue +2 -2
- package/vue/UiToast.vue +7 -6
- package/vue/UiToastRegion.d.ts +15 -3
- package/vue/UiToastRegion.vue +90 -45
- package/vue/UiTooltip.d.ts +9 -12
- package/vue/UiTooltip.vue +30 -7
- package/vue/UiTopBar.vue +1 -1
- package/vue/UiTree.vue +17 -13
- package/vue/UiTreeItem.d.ts +15 -18
- package/vue/UiTreeItem.vue +79 -30
- package/vue/chunks/UiActionBar.js +1 -1
- package/vue/chunks/UiAffordanceScope.js +6 -2
- package/vue/chunks/UiAvatar.js +37 -10
- package/vue/chunks/UiAvatarGroup.js +26 -7
- package/vue/chunks/UiBadge.js +2 -2
- package/vue/chunks/UiBreadcrumbItem.js +2 -2
- package/vue/chunks/UiBreadcrumbs.js +2 -2
- package/vue/chunks/UiButton.js +2 -2
- package/vue/chunks/UiCallout.js +2 -2
- package/vue/chunks/UiCard.js +2 -2
- package/vue/chunks/UiCheckbox.js +25 -12
- package/vue/chunks/UiCluster.js +2 -2
- package/vue/chunks/UiCombobox.js +628 -117
- package/vue/chunks/UiContainer.js +2 -2
- package/vue/chunks/UiContextMenu.js +14 -10
- package/vue/chunks/UiCover.js +2 -2
- package/vue/chunks/UiDescriptionItem.js +2 -2
- package/vue/chunks/UiDescriptionList.js +2 -2
- package/vue/chunks/UiDialog.js +29 -11
- package/vue/chunks/UiDisclosure.js +44 -14
- package/vue/chunks/UiEditable.js +33 -9
- package/vue/chunks/UiEditorInsertTableGrid.js +98 -14
- package/vue/chunks/UiEditorMentionMenu.js +76 -9
- package/vue/chunks/UiEditorMentionMenuItem.js +2 -2
- package/vue/chunks/UiEditorSlashMenu.js +70 -11
- package/vue/chunks/UiEditorSlashMenuGroup.js +2 -2
- package/vue/chunks/UiEditorSlashMenuItem.js +2 -2
- package/vue/chunks/UiEditorTableContextMenu.js +120 -2
- package/vue/chunks/UiEditorTableOverlay.js +306 -12
- package/vue/chunks/UiEditorTableToolbar.js +215 -3
- package/vue/chunks/UiEditorToolbar.js +8 -8
- package/vue/chunks/UiFloatingActionButton.js +2 -2
- package/vue/chunks/UiFormField.js +2 -2
- package/vue/chunks/UiGrid.js +2 -2
- package/vue/chunks/UiIcon.js +2 -2
- package/vue/chunks/UiIconButton.js +2 -2
- package/vue/chunks/UiImage.js +12 -12
- package/vue/chunks/UiInput.js +34 -4
- package/vue/chunks/UiInputGroup.js +2 -2
- package/vue/chunks/UiList.js +2 -2
- package/vue/chunks/UiListItem.js +2 -2
- package/vue/chunks/UiListbox.js +96 -12
- package/vue/chunks/UiMenu.js +6 -2
- package/vue/chunks/UiMenuGroup.js +2 -2
- package/vue/chunks/UiMenuItem.js +15 -3
- package/vue/chunks/UiMeter.js +2 -2
- package/vue/chunks/UiNavItem.js +2 -2
- package/vue/chunks/UiPageHeader.js +2 -2
- package/vue/chunks/UiPopover.js +6 -2
- package/vue/chunks/UiRadio.js +25 -12
- package/vue/chunks/UiRadioGroup.js +6 -2
- package/vue/chunks/UiReel.js +2 -2
- package/vue/chunks/UiScrollArea.js +8 -8
- package/vue/chunks/UiSearchResultRow.js +2 -2
- package/vue/chunks/UiSearchShell.js +9 -4
- package/vue/chunks/UiSection.js +2 -2
- package/vue/chunks/UiSelect.js +5 -3
- package/vue/chunks/UiSeparator.js +2 -2
- package/vue/chunks/UiSidebar.js +28 -5
- package/vue/chunks/UiSpinner.js +2 -2
- package/vue/chunks/UiStack.js +2 -2
- package/vue/chunks/UiStatusMessage.js +2 -2
- package/vue/chunks/UiSwitch.js +25 -12
- package/vue/chunks/UiSwitcher.js +6 -2
- package/vue/chunks/UiTable.js +2 -2
- package/vue/chunks/UiTabs.js +39 -10
- package/vue/chunks/UiText.js +2 -2
- package/vue/chunks/UiTextarea.js +3 -2
- package/vue/chunks/UiToast.js +8 -8
- package/vue/chunks/UiToastRegion.js +86 -20
- package/vue/chunks/UiTooltip.js +15 -3
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTree.js +2 -2
- package/vue/chunks/UiTreeItem.js +84 -51
- package/vue/chunks/control.js +9 -2
- package/vue/chunks/host.js +203 -29
- package/vue/chunks/props.js +43 -7
- package/vue/components.css +1345 -1345
- package/vue/host.ts +286 -42
|
@@ -34,44 +34,44 @@
|
|
|
34
34
|
color: var(--ui-text-primary);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
:host
|
|
37
|
+
:host([padding="xs"]) {
|
|
38
38
|
gap: var(--ui-space-1);
|
|
39
39
|
padding: var(--ui-space-2);
|
|
40
40
|
}
|
|
41
|
-
:host
|
|
41
|
+
:host([padding="sm"]) {
|
|
42
42
|
gap: var(--ui-space-2);
|
|
43
43
|
padding: var(--ui-space-3);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
:host
|
|
46
|
+
:host([padding="lg"]) {
|
|
47
47
|
padding: var(--ui-space-6);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
:host
|
|
50
|
+
:host([variant="subtle"]) {
|
|
51
51
|
border-color: transparent;
|
|
52
52
|
background: var(--ui-surface-muted);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
:host
|
|
55
|
+
:host([variant="elevated"]) {
|
|
56
56
|
border-color: var(--ui-border-subtle);
|
|
57
57
|
box-shadow: var(--ui-shadow-lg);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
:host
|
|
60
|
+
:host([tone="danger"]) {
|
|
61
61
|
border-color: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border-default));
|
|
62
62
|
border-inline-start: var(--ui-accent-line-width) solid var(--ui-danger);
|
|
63
63
|
background: var(--ui-danger-soft);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
:host
|
|
66
|
+
:host([size="sm"]) {
|
|
67
67
|
inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
|
|
68
68
|
max-inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
|
|
69
69
|
}
|
|
70
|
-
:host
|
|
70
|
+
:host([size="md"]) {
|
|
71
71
|
inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
|
|
72
72
|
max-inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
|
|
73
73
|
}
|
|
74
|
-
:host
|
|
74
|
+
:host([size="lg"]) {
|
|
75
75
|
inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
|
|
76
76
|
max-inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
|
|
77
77
|
}
|
|
@@ -183,18 +183,18 @@
|
|
|
183
183
|
outline-offset: var(--ui-focus-width);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
:host
|
|
186
|
+
:host([invalid]) input {
|
|
187
187
|
border-color: var(--_ui-checkbox-invalid-border);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
:host
|
|
190
|
+
:host([disabled]) {
|
|
191
191
|
color: var(--ui-disabled-text);
|
|
192
192
|
cursor: not-allowed;
|
|
193
193
|
}
|
|
194
|
-
:host
|
|
194
|
+
:host([disabled]) .description {
|
|
195
195
|
color: var(--ui-disabled-text);
|
|
196
196
|
}
|
|
197
|
-
:host
|
|
197
|
+
:host([disabled]) input {
|
|
198
198
|
border-color: var(--ui-disabled-border);
|
|
199
199
|
background: var(--ui-disabled-surface);
|
|
200
200
|
box-shadow: none;
|
|
@@ -204,30 +204,30 @@
|
|
|
204
204
|
/* A sized choice keeps its box and aligns instead: the label takes that size's field type size,
|
|
205
205
|
and the first line centres in that control height, so the label shares a row's baseline.
|
|
206
206
|
Multi-line labels and descriptions still grow downward from that first line. */
|
|
207
|
-
:host
|
|
207
|
+
:host([size="sm"]) {
|
|
208
208
|
--_font: var(--ui-font-size-sm);
|
|
209
209
|
--_row: var(--ui-control-size-sm);
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
-
:host
|
|
212
|
+
:host([size="lg"]) {
|
|
213
213
|
--_font: var(--ui-font-size-md);
|
|
214
214
|
--_row: var(--ui-control-size-lg);
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
:host
|
|
218
|
-
:host
|
|
217
|
+
:host([size="sm"]),
|
|
218
|
+
:host([size="lg"]) {
|
|
219
219
|
--_line: calc(var(--_font) * var(--ui-line-height-md));
|
|
220
220
|
font-size: var(--_font);
|
|
221
221
|
padding-block: calc((var(--_row) - var(--_line)) / 2);
|
|
222
222
|
}
|
|
223
223
|
|
|
224
|
-
:host
|
|
225
|
-
:host
|
|
224
|
+
:host([size="sm"]) input,
|
|
225
|
+
:host([size="lg"]) input {
|
|
226
226
|
margin-top: calc((var(--_line) - var(--_ui-checkbox-size, 1.125rem)) / 2);
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
@media (pointer: coarse) {
|
|
230
|
-
:host
|
|
230
|
+
:host([size="sm"]) {
|
|
231
231
|
--_row: var(--ui-control-min-block-size);
|
|
232
232
|
}
|
|
233
233
|
}
|
|
@@ -5,7 +5,7 @@ import { trackTrigger } from "../shared/trigger.js";
|
|
|
5
5
|
// `checked` sets the control initially and whenever it changes; the user's changes update the state.
|
|
6
6
|
// A form reset returns the control to `checked`. Vue writes the checked attribute on every render, so
|
|
7
7
|
// the native default alone cannot hold it there.
|
|
8
|
-
|
|
8
|
+
function connect(host) {
|
|
9
9
|
const input = host.refs.input;
|
|
10
10
|
describeInput(input, host.refs.description);
|
|
11
11
|
const [trigger, stopTracking] = trackTrigger(host);
|
|
@@ -33,3 +33,8 @@ export default function controller(host) {
|
|
|
33
33
|
input.removeEventListener("change", onChange);
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
+
|
|
37
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
38
|
+
export default function controller(host) {
|
|
39
|
+
host.on("connect", () => connect(host));
|
|
40
|
+
}
|
|
@@ -33,40 +33,40 @@
|
|
|
33
33
|
margin: 0;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
:host
|
|
36
|
+
:host([gap="xs"]) {
|
|
37
37
|
--_layout-gap: var(--ui-space-2);
|
|
38
38
|
}
|
|
39
|
-
:host
|
|
39
|
+
:host([gap="s"]) {
|
|
40
40
|
--_layout-gap: var(--ui-space-3);
|
|
41
41
|
}
|
|
42
|
-
:host
|
|
42
|
+
:host([gap="m"]) {
|
|
43
43
|
--_layout-gap: var(--ui-space-4);
|
|
44
44
|
}
|
|
45
|
-
:host
|
|
45
|
+
:host([gap="l"]) {
|
|
46
46
|
--_layout-gap: var(--ui-space-5);
|
|
47
47
|
}
|
|
48
|
-
:host
|
|
48
|
+
:host([gap="xl"]) {
|
|
49
49
|
--_layout-gap: var(--ui-space-6);
|
|
50
50
|
}
|
|
51
|
-
:host
|
|
51
|
+
:host([align="start"]) {
|
|
52
52
|
align-items: flex-start;
|
|
53
53
|
}
|
|
54
|
-
:host
|
|
54
|
+
:host([align="end"]) {
|
|
55
55
|
align-items: flex-end;
|
|
56
56
|
}
|
|
57
|
-
:host
|
|
57
|
+
:host([align="stretch"]) {
|
|
58
58
|
align-items: stretch;
|
|
59
59
|
}
|
|
60
|
-
:host
|
|
60
|
+
:host([justify="center"]) {
|
|
61
61
|
justify-content: center;
|
|
62
62
|
}
|
|
63
|
-
:host
|
|
63
|
+
:host([justify="end"]) {
|
|
64
64
|
justify-content: flex-end;
|
|
65
65
|
}
|
|
66
|
-
:host
|
|
66
|
+
:host([justify="between"]) {
|
|
67
67
|
justify-content: space-between;
|
|
68
68
|
}
|
|
69
|
-
:host
|
|
69
|
+
:host([wrap="nowrap"]) {
|
|
70
70
|
flex-wrap: nowrap;
|
|
71
71
|
}
|
|
72
72
|
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
</state>
|
|
116
116
|
<state type="string" name="raw" value=""></state>
|
|
117
117
|
<state type="string" name="display" value=""></state>
|
|
118
|
-
<state name="selected" type="string"></state>
|
|
118
|
+
<state name="selected" type="string" nullable></state>
|
|
119
119
|
<state type="boolean" name="expanded" value="false"></state>
|
|
120
120
|
<state
|
|
121
121
|
name="rows"
|
|
@@ -367,8 +367,6 @@
|
|
|
367
367
|
</prop>
|
|
368
368
|
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
369
369
|
</event>
|
|
370
|
-
<method name="validate" export="validate" returns="promise(unknown)"></method>
|
|
371
|
-
<method name="focusInput" export="focusInput" returns="promise(undefined)"></method>
|
|
372
370
|
</defs>
|
|
373
371
|
<div>
|
|
374
372
|
<label from:for="concat(uid, '-input')" class:sr-only="labelVisibility = 'sr-only'">{$label}<template $if="required">
|
|
@@ -706,15 +704,15 @@
|
|
|
706
704
|
margin: 0;
|
|
707
705
|
outline: none;
|
|
708
706
|
}
|
|
709
|
-
:host
|
|
707
|
+
:host([size="sm"]) {
|
|
710
708
|
--_row: var(--ui-control-size-sm);
|
|
711
709
|
}
|
|
712
|
-
:host
|
|
710
|
+
:host([size="sm"]) input {
|
|
713
711
|
min-block-size: calc(var(--_row) - 2px);
|
|
714
712
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
715
713
|
font-size: var(--ui-font-size-sm);
|
|
716
714
|
}
|
|
717
|
-
:host
|
|
715
|
+
:host([size="lg"]) input {
|
|
718
716
|
min-block-size: calc(var(--ui-control-size-lg) - 2px);
|
|
719
717
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
720
718
|
font-size: var(--ui-font-size-md);
|
|
@@ -756,7 +754,7 @@
|
|
|
756
754
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
757
755
|
}
|
|
758
756
|
:host-state([validationStatus="error"]) .field,
|
|
759
|
-
:host
|
|
757
|
+
:host([invalid]) .field {
|
|
760
758
|
border-color: var(--_ui-combobox-invalid-border, var(--ui-field-danger, var(--ui-danger-solid, var(--ui-accent-active))));
|
|
761
759
|
}
|
|
762
760
|
.popup {
|
|
@@ -827,10 +825,10 @@
|
|
|
827
825
|
}
|
|
828
826
|
/* Under touch a small field is still a touch-sized target, as a small button is, and keeps
|
|
829
827
|
body-size text: below 16px, iOS zooms the page into the focused field. */
|
|
830
|
-
:host
|
|
828
|
+
:host([size="sm"]) {
|
|
831
829
|
--_row: var(--ui-control-min-block-size);
|
|
832
830
|
}
|
|
833
|
-
:host
|
|
831
|
+
:host([size="sm"]) input {
|
|
834
832
|
font-size: inherit;
|
|
835
833
|
}
|
|
836
834
|
}
|
|
@@ -845,40 +843,40 @@
|
|
|
845
843
|
|
|
846
844
|
/* Multiple mode keeps one control height. Chips and the input scroll within the entry,
|
|
847
845
|
while the clear and disclosure controls remain fixed at the end of the field. */
|
|
848
|
-
:host
|
|
846
|
+
:host([multiple]) .field {
|
|
849
847
|
align-items: center;
|
|
850
848
|
min-block-size: var(--_ui-combobox-item-min-block-size, 2.5rem);
|
|
851
849
|
padding: var(--ui-space-1);
|
|
852
850
|
}
|
|
853
|
-
:host
|
|
851
|
+
:host([multiple]) .entry {
|
|
854
852
|
align-items: center;
|
|
855
853
|
gap: var(--ui-space-1);
|
|
856
854
|
overflow-x: auto;
|
|
857
855
|
scrollbar-width: none;
|
|
858
856
|
}
|
|
859
|
-
:host
|
|
857
|
+
:host([multiple]) .entry::-webkit-scrollbar {
|
|
860
858
|
display: none;
|
|
861
859
|
}
|
|
862
|
-
:host
|
|
860
|
+
:host([multiple]) input {
|
|
863
861
|
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
864
862
|
width: auto;
|
|
865
863
|
min-block-size: 1.75rem;
|
|
866
864
|
padding: var(--ui-space-0-5) var(--ui-space-1);
|
|
867
865
|
}
|
|
868
866
|
/* Size variants keep their control height as selections are added. */
|
|
869
|
-
:host
|
|
867
|
+
:host([multiple]):host([size="sm"]) .field {
|
|
870
868
|
min-block-size: 0;
|
|
871
869
|
padding: var(--ui-space-0-5);
|
|
872
870
|
}
|
|
873
|
-
:host
|
|
871
|
+
:host([multiple]):host([size="sm"]) input {
|
|
874
872
|
min-block-size: calc(var(--_row) - 2 * var(--ui-border-width) - 2 * var(--ui-space-0-5));
|
|
875
873
|
padding: 0 var(--ui-space-1);
|
|
876
874
|
}
|
|
877
875
|
/* A large multiple field starts at the large control height, as sm starts at the small one. */
|
|
878
|
-
:host
|
|
876
|
+
:host([multiple]):host([size="lg"]) .field {
|
|
879
877
|
min-block-size: 0;
|
|
880
878
|
}
|
|
881
|
-
:host
|
|
879
|
+
:host([multiple]):host([size="lg"]) input {
|
|
882
880
|
min-block-size: calc(var(--ui-control-size-lg) - 2 * var(--ui-border-width) - 2 * var(--ui-space-1));
|
|
883
881
|
}
|
|
884
882
|
.item {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { afterFormReset } from "../shared/form-reset.js";
|
|
2
2
|
import { closeOverlay, createAnchoredSurface, openOverlay } from "../shared/overlay.js";
|
|
3
3
|
|
|
4
|
-
const instances = new WeakMap();
|
|
5
|
-
|
|
6
4
|
let comboboxes = 0;
|
|
7
5
|
|
|
8
6
|
// An option's secondary line and tag ride on data-* attributes: <option> holds only text, so markup inside
|
|
@@ -23,15 +21,7 @@ function authoredOptions(container) {
|
|
|
23
21
|
});
|
|
24
22
|
}
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
return instances.get(host.element)?.validate();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export async function focusInput(host) {
|
|
31
|
-
instances.get(host.element)?.input?.focus();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export default function controller(host) {
|
|
24
|
+
function connect(host) {
|
|
35
25
|
const element = host.element;
|
|
36
26
|
const document = element.ownerDocument;
|
|
37
27
|
const uid = `ui-combobox-${++comboboxes}`;
|
|
@@ -514,9 +504,13 @@ export default function controller(host) {
|
|
|
514
504
|
host.state.validation = { status: "pristine", touched: false, dirty: false, issues: [] };
|
|
515
505
|
surface = createAnchoredSurface(popup, { anchor: field, placement: "bottom-start" });
|
|
516
506
|
|
|
517
|
-
const
|
|
518
|
-
|
|
519
|
-
|
|
507
|
+
const onCommand = (event) => {
|
|
508
|
+
if (event.target === element && event.command === "--validate") void validateCurrent();
|
|
509
|
+
};
|
|
510
|
+
const onValidate = (event) => {
|
|
511
|
+
if (event.target === element) void validateCurrent();
|
|
512
|
+
};
|
|
513
|
+
const listeners = { input: onInput, keydown: onKeydown, click: onClick, pointerdown: onPointerdown, focusin: onFocusin, focusout: onFocusout, compositionstart: onCompositionstart, compositionend: onCompositionend, open: onTooltipOpen, close: onTooltipClose, command: onCommand, validate: onValidate };
|
|
520
514
|
for (const [name, listener] of Object.entries(listeners)) element.addEventListener(name, listener);
|
|
521
515
|
// Authored options can change after mount (renamed, replaced, or arriving late). A selected value
|
|
522
516
|
// then shows its current label, unless the user is editing the text.
|
|
@@ -582,6 +576,10 @@ export default function controller(host) {
|
|
|
582
576
|
close();
|
|
583
577
|
validationRun?.abort();
|
|
584
578
|
surface.destroy();
|
|
585
|
-
instances.delete(element);
|
|
586
579
|
};
|
|
587
580
|
}
|
|
581
|
+
|
|
582
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
583
|
+
export default function controller(host) {
|
|
584
|
+
host.on("connect", () => connect(host));
|
|
585
|
+
}
|
|
@@ -29,19 +29,19 @@
|
|
|
29
29
|
padding-inline: var(--ui-container-gutters, var(--_container-gutters));
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
:host
|
|
32
|
+
:host([measure="narrow"]) {
|
|
33
33
|
--_container-measure: 45ch;
|
|
34
34
|
}
|
|
35
|
-
:host
|
|
35
|
+
:host([measure="wide"]) {
|
|
36
36
|
--_container-measure: 80ch;
|
|
37
37
|
}
|
|
38
|
-
:host
|
|
38
|
+
:host([gutters="s"]) {
|
|
39
39
|
--_container-gutters: var(--ui-space-3);
|
|
40
40
|
}
|
|
41
|
-
:host
|
|
41
|
+
:host([gutters="m"]) {
|
|
42
42
|
--_container-gutters: var(--ui-space-4);
|
|
43
43
|
}
|
|
44
|
-
:host
|
|
44
|
+
:host([gutters="l"]) {
|
|
45
45
|
--_container-gutters: var(--ui-space-5);
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -5,7 +5,7 @@ function disabled(item) {
|
|
|
5
5
|
return item.getAttribute("aria-disabled") === "true" || item.hasAttribute("disabled") || item.getAttribute("disabled") === "true";
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
function connect(host) {
|
|
9
9
|
const element = host.element;
|
|
10
10
|
const document = element.ownerDocument;
|
|
11
11
|
const menuSurface = host.refs.menu;
|
|
@@ -157,3 +157,8 @@ export default function controller(host) {
|
|
|
157
157
|
closeOverlay(document, overlayId);
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
|
+
|
|
161
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
162
|
+
export default function controller(host) {
|
|
163
|
+
host.on("connect", () => connect(host));
|
|
164
|
+
}
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
/* Stacked, grid, and tiles set each term above its value, passing the shape to the items through
|
|
32
32
|
private properties, which cross into each item. */
|
|
33
|
-
:host
|
|
34
|
-
:host
|
|
35
|
-
:host
|
|
33
|
+
:host([layout="stacked"]),
|
|
34
|
+
:host([layout="grid"]),
|
|
35
|
+
:host([layout="tiles"]) {
|
|
36
36
|
--_ui-description-display: flex;
|
|
37
37
|
--_ui-description-column: auto;
|
|
38
38
|
--_ui-description-align: stretch;
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
|
|
44
44
|
/* A column is at least --_min wide; with columns set, at least its share of the width, so no more
|
|
45
45
|
than that many fit. */
|
|
46
|
-
:host
|
|
47
|
-
:host
|
|
46
|
+
:host([layout="grid"]),
|
|
47
|
+
:host([layout="tiles"]) {
|
|
48
48
|
inline-size: 100%;
|
|
49
49
|
grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--_track)), 1fr));
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
:host
|
|
52
|
+
:host([layout="tiles"]) {
|
|
53
53
|
--_ui-description-align: flex-start;
|
|
54
54
|
--_ui-description-value-size: var(--ui-font-size-lg);
|
|
55
55
|
--_ui-description-padding: var(--_tile-padding);
|
|
@@ -60,18 +60,18 @@
|
|
|
60
60
|
--_column-gap: var(--_gap);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
:host
|
|
63
|
+
:host([columns="2"]) {
|
|
64
64
|
--_track: max(var(--_min), (100% - var(--_column-gap)) / 2);
|
|
65
65
|
}
|
|
66
|
-
:host
|
|
66
|
+
:host([columns="3"]) {
|
|
67
67
|
--_track: max(var(--_min), (100% - 2 * var(--_column-gap)) / 3);
|
|
68
68
|
}
|
|
69
|
-
:host
|
|
69
|
+
:host([columns="4"]) {
|
|
70
70
|
--_track: max(var(--_min), (100% - 3 * var(--_column-gap)) / 4);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/* Compact takes each layout's closer spacing. */
|
|
74
|
-
:host
|
|
74
|
+
:host([density="compact"]) {
|
|
75
75
|
--_gap: var(--_gap-compact);
|
|
76
76
|
--_tile-padding: var(--ui-space-2);
|
|
77
77
|
}
|
|
@@ -116,15 +116,15 @@
|
|
|
116
116
|
animation: ui-dialog-enter var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
:host
|
|
119
|
+
:host([size="sm"]) {
|
|
120
120
|
--_ui-dialog-size: 360px;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
:host
|
|
123
|
+
:host([size="lg"]) {
|
|
124
124
|
--_ui-dialog-size: 640px;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
:host
|
|
127
|
+
:host([size="fullscreen"]) {
|
|
128
128
|
inset: 0;
|
|
129
129
|
inline-size: 100%;
|
|
130
130
|
block-size: 100dvh;
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
border-radius: var(--ui-dialog-radius, 0);
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
:host
|
|
136
|
+
:host([alert]) .close {
|
|
137
137
|
display: none;
|
|
138
138
|
}
|
|
139
139
|
|
|
@@ -5,7 +5,7 @@ function inferredLabel(element, explicit) {
|
|
|
5
5
|
return element.querySelector("h1, h2, h3, h4, h5, h6")?.textContent?.trim() || "Dialog";
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
function connect(host) {
|
|
9
9
|
const element = host.element;
|
|
10
10
|
const document = element.ownerDocument;
|
|
11
11
|
const dialog = element.localName === "dialog" ? element : element.querySelector("dialog");
|
|
@@ -126,3 +126,8 @@ export default function controller(host) {
|
|
|
126
126
|
closeOverlay(document, overlayId);
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
|
+
|
|
130
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
131
|
+
export default function controller(host) {
|
|
132
|
+
host.on("connect", () => connect(host));
|
|
133
|
+
}
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
--_trigger-padding-inline: var(--ui-space-3);
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
:host
|
|
83
|
+
:host([density="compact"]) {
|
|
84
84
|
--_trigger-min-block-size: var(--ui-control-size-sm);
|
|
85
85
|
--_trigger-padding-block: var(--ui-space-1);
|
|
86
86
|
--_trigger-padding-inline: var(--ui-space-2);
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
|
|
179
179
|
/* A bounded accordion owns one flexible body, so its trigger never scrolls away. The
|
|
180
180
|
* normal content-sized layout and its animation remain unchanged when fill is omitted. */
|
|
181
|
-
:host
|
|
181
|
+
:host([fill]) {
|
|
182
182
|
display: flex;
|
|
183
183
|
flex-direction: column;
|
|
184
184
|
flex: 0 0 var(--_ui-disclosure-heading-size, var(--_trigger-min-block-size));
|
|
@@ -187,20 +187,20 @@
|
|
|
187
187
|
border-block-end: 0;
|
|
188
188
|
border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
|
|
189
189
|
}
|
|
190
|
-
:host
|
|
190
|
+
:host([fill]):host-state([internalOpen]) {
|
|
191
191
|
flex-grow: 1;
|
|
192
192
|
}
|
|
193
|
-
:host
|
|
193
|
+
:host([fill]) .heading {
|
|
194
194
|
flex: none;
|
|
195
195
|
}
|
|
196
|
-
:host
|
|
196
|
+
:host([fill]) .trigger {
|
|
197
197
|
border-radius: 0;
|
|
198
198
|
}
|
|
199
|
-
:host
|
|
199
|
+
:host([fill]) .panel {
|
|
200
200
|
flex: 1;
|
|
201
201
|
min-block-size: 0;
|
|
202
202
|
}
|
|
203
|
-
:host
|
|
203
|
+
:host([fill]) .panel-inner {
|
|
204
204
|
display: flex;
|
|
205
205
|
flex-direction: column;
|
|
206
206
|
flex: 1;
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
padding: 0;
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
-
:host
|
|
211
|
+
:host([variant="navigation"]) .trigger {
|
|
212
212
|
gap: var(--ui-nav-gap);
|
|
213
213
|
padding-inline: var(--ui-nav-padding-inline);
|
|
214
214
|
min-block-size: var(--ui-nav-min-block-size);
|
|
@@ -218,28 +218,28 @@
|
|
|
218
218
|
font-weight: var(--ui-font-normal);
|
|
219
219
|
color: var(--ui-text-secondary);
|
|
220
220
|
}
|
|
221
|
-
:host
|
|
221
|
+
:host([variant="navigation"][density="compact"]) .trigger {
|
|
222
222
|
padding-inline: var(--ui-nav-compact-padding-inline);
|
|
223
223
|
padding-block: var(--ui-nav-compact-padding-block);
|
|
224
224
|
min-block-size: var(--ui-nav-compact-min-block-size);
|
|
225
225
|
font-size: var(--ui-font-size-sm);
|
|
226
226
|
}
|
|
227
|
-
:host
|
|
227
|
+
:host([variant="navigation"]) .trigger:hover:not(:disabled) {
|
|
228
228
|
background: var(--ui-nav-hover-surface);
|
|
229
229
|
color: var(--ui-text-primary);
|
|
230
230
|
}
|
|
231
|
-
:host
|
|
231
|
+
:host([variant="navigation"]) :is(.leading, .indicator) {
|
|
232
232
|
inline-size: var(--ui-nav-icon-size);
|
|
233
233
|
font-size: var(--ui-nav-icon-size);
|
|
234
234
|
}
|
|
235
235
|
@media (pointer: coarse) {
|
|
236
|
-
:host
|
|
236
|
+
:host([variant="navigation"][density="compact"]) .trigger {
|
|
237
237
|
min-block-size: var(--ui-control-min-block-size);
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
@media (prefers-reduced-motion: reduce) {
|
|
242
|
-
:host
|
|
242
|
+
:host([fill]),
|
|
243
243
|
.panel,
|
|
244
244
|
.indicator {
|
|
245
245
|
transition: none;
|
|
@@ -34,7 +34,7 @@ function leaveGroup(document, name, member) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
// `open` sets the disclosure initially and whenever it changes; the trigger toggles the state.
|
|
37
|
-
|
|
37
|
+
function connect(host) {
|
|
38
38
|
const document = host.element.ownerDocument;
|
|
39
39
|
const [trigger, stopTracking] = trackTrigger(host);
|
|
40
40
|
host.state.contentId = `ui-disclosure-${++disclosures}`;
|
|
@@ -119,3 +119,8 @@ export default function controller(host) {
|
|
|
119
119
|
host.refs.panel.removeEventListener("beforematch", onBeforematch);
|
|
120
120
|
};
|
|
121
121
|
}
|
|
122
|
+
|
|
123
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
124
|
+
export default function controller(host) {
|
|
125
|
+
host.on("connect", () => connect(host));
|
|
126
|
+
}
|
|
@@ -3,7 +3,7 @@ function triggerFor(event) {
|
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
/** Owns the display/edit transition so authors only provide value and label. */
|
|
6
|
-
|
|
6
|
+
function connect(host) {
|
|
7
7
|
const element = host.element;
|
|
8
8
|
const document = element.ownerDocument;
|
|
9
9
|
const { preview, input } = host.refs;
|
|
@@ -119,3 +119,8 @@ export default function controller(host) {
|
|
|
119
119
|
document.removeEventListener("pointerdown", onDocumentPointerdown, true);
|
|
120
120
|
};
|
|
121
121
|
}
|
|
122
|
+
|
|
123
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
124
|
+
export default function controller(host) {
|
|
125
|
+
host.on("connect", () => connect(host));
|
|
126
|
+
}
|
|
@@ -4,7 +4,7 @@ function bounded(value, fallback) {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
// Lays out the grid cells and inserts the chosen size by pointer or keyboard.
|
|
7
|
-
|
|
7
|
+
function connect(host) {
|
|
8
8
|
const element = host.element;
|
|
9
9
|
let selected = { rows: 3, cols: 3 };
|
|
10
10
|
let preview = null;
|
|
@@ -103,3 +103,8 @@ export default function controller(host) {
|
|
|
103
103
|
host.refs.header.removeEventListener("change", onChange);
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
|
+
|
|
107
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
108
|
+
export default function controller(host) {
|
|
109
|
+
host.on("connect", () => connect(host));
|
|
110
|
+
}
|