@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
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
transition: background-color var(--ui-motion-fast) var(--ui-motion-ease), border-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
:host
|
|
69
|
+
:host([variant="card"]) {
|
|
70
70
|
padding-block: var(--ui-list-item-padding-block, var(--ui-space-3));
|
|
71
71
|
padding-inline: var(--ui-list-item-padding-inline, var(--ui-space-4));
|
|
72
72
|
border: var(--ui-border-width) solid var(--ui-border-strong);
|
|
@@ -78,15 +78,15 @@
|
|
|
78
78
|
background: var(--ui-surface-hover);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
:host
|
|
81
|
+
:host([variant="card"]):has(.title a[href]:hover) {
|
|
82
82
|
border-color: var(--ui-border-strong);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
:host
|
|
85
|
+
:host([highlighted]) {
|
|
86
86
|
background: var(--ui-selection-surface);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
:host
|
|
89
|
+
:host([current]) {
|
|
90
90
|
background: var(--ui-selection-surface);
|
|
91
91
|
color: var(--ui-selection-text);
|
|
92
92
|
}
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
font-size: var(--_ui-list-item-icon-size, var(--ui-font-size-lg));
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
:host
|
|
111
|
+
:host([current]) .leading {
|
|
112
112
|
color: var(--ui-selection-text);
|
|
113
113
|
}
|
|
114
114
|
|
|
@@ -137,8 +137,8 @@
|
|
|
137
137
|
white-space: nowrap;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
:host
|
|
141
|
-
:host
|
|
140
|
+
:host([wrap]) .title,
|
|
141
|
+
:host([wrap]) .description {
|
|
142
142
|
white-space: normal;
|
|
143
143
|
overflow-wrap: anywhere;
|
|
144
144
|
}
|
|
@@ -184,7 +184,7 @@
|
|
|
184
184
|
outline: var(--ui-focus-width) solid Highlight;
|
|
185
185
|
outline-offset: calc(-1 * var(--ui-focus-width));
|
|
186
186
|
}
|
|
187
|
-
:is(:host
|
|
187
|
+
:is(:host([current]), :host([highlighted])):not(:has(a:focus-visible)) {
|
|
188
188
|
outline: var(--ui-border-width) solid Highlight;
|
|
189
189
|
outline-offset: calc(-1 * var(--ui-border-width));
|
|
190
190
|
}
|
|
@@ -13,7 +13,7 @@ function readOptions(container) {
|
|
|
13
13
|
}));
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
function connect(host) {
|
|
17
17
|
const element = host.element;
|
|
18
18
|
const { options: authored, validity } = host.refs;
|
|
19
19
|
const form = element.closest("form");
|
|
@@ -169,3 +169,8 @@ export default function controller(host) {
|
|
|
169
169
|
validity.removeEventListener("invalid", onInvalid);
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
|
+
|
|
173
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
174
|
+
export default function controller(host) {
|
|
175
|
+
host.on("connect", () => connect(host));
|
|
176
|
+
}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
|
|
56
56
|
/* Compact sets its items' defaults, so nothing has to rescale a global; an item's own hooks
|
|
57
57
|
still win. */
|
|
58
|
-
:host
|
|
58
|
+
:host([density="compact"]) {
|
|
59
59
|
--_ui-default-menu-item-padding-block: var(--ui-space-1);
|
|
60
60
|
--_ui-default-menu-item-padding-inline: var(--ui-space-2);
|
|
61
61
|
--_ui-default-menu-item-font-size: var(--ui-font-size-sm);
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/* Small follows its trigger down: an item's own hooks still win. */
|
|
68
|
-
:host
|
|
68
|
+
:host([size="sm"]) {
|
|
69
69
|
--_ui-default-menu-item-padding-block: var(--ui-space-0-5);
|
|
70
70
|
--_ui-default-menu-item-padding-inline: var(--ui-space-2);
|
|
71
71
|
--_ui-default-menu-item-font-size: var(--ui-font-size-xs);
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
:host:not(:host-state([internalOpen])):not(:host
|
|
129
|
+
:host:not(:host-state([internalOpen])):not(:host([inline])) {
|
|
130
130
|
display: none;
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -11,7 +11,7 @@ function disabled(item) {
|
|
|
11
11
|
return item.getAttribute("aria-disabled") === "true" || item.hasAttribute("disabled") || item.getAttribute("disabled") === "true";
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
function connect(host) {
|
|
15
15
|
const element = host.element;
|
|
16
16
|
const document = element.ownerDocument;
|
|
17
17
|
const overlayId = `ui-menu-${Math.random().toString(36).slice(2, 11)}`;
|
|
@@ -136,3 +136,8 @@ export default function controller(host) {
|
|
|
136
136
|
releaseAnchor();
|
|
137
137
|
};
|
|
138
138
|
}
|
|
139
|
+
|
|
140
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
141
|
+
export default function controller(host) {
|
|
142
|
+
host.on("connect", () => connect(host));
|
|
143
|
+
}
|
|
@@ -113,18 +113,18 @@
|
|
|
113
113
|
--_ui-default-icon-size: 0.75rem;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
:host
|
|
116
|
+
:host([type="action"]) .indicator {
|
|
117
117
|
display: none;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
:host
|
|
120
|
+
:host([type="checkbox"])[aria-checked="true"] .indicator {
|
|
121
121
|
border-color: var(--ui-accent);
|
|
122
122
|
background: var(--ui-accent);
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
/* A menu marks its chosen item with a check, as menus conventionally do; a radio circle reads
|
|
126
126
|
as a form control. The empty slot keeps unchosen labels aligned with the chosen one. */
|
|
127
|
-
:host
|
|
127
|
+
:host([type="radio"]) .indicator {
|
|
128
128
|
border-color: transparent;
|
|
129
129
|
color: var(--ui-text-secondary);
|
|
130
130
|
}
|
|
@@ -2,7 +2,7 @@ function radioScope(item) {
|
|
|
2
2
|
return item.closest('[role="group"]') ?? item.closest('[role="menu"]');
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
function connect(host) {
|
|
6
6
|
const item = host.element;
|
|
7
7
|
let external = Boolean(host.props.checked.value);
|
|
8
8
|
host.state.internalChecked = external;
|
|
@@ -45,3 +45,8 @@ export default function controller(host) {
|
|
|
45
45
|
item.removeEventListener("ui-menu-item-clear", onClear);
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
+
|
|
49
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
50
|
+
export default function controller(host) {
|
|
51
|
+
host.on("connect", () => connect(host));
|
|
52
|
+
}
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
outline: var(--ui-border-width) solid transparent;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
:host
|
|
64
|
+
:host([size="sm"]) {
|
|
65
65
|
inline-size: var(--ui-meter-inline-size, 5rem);
|
|
66
66
|
block-size: var(--ui-space-1);
|
|
67
67
|
}
|
|
@@ -74,23 +74,23 @@
|
|
|
74
74
|
box-shadow: inset 0 1px rgb(255 255 255 / 0.26), inset 0 -1px rgb(0 0 0 / 0.1);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
:host
|
|
77
|
+
:host([tone="accent"]) {
|
|
78
78
|
--_meter-fill: var(--ui-accent-solid);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
:host
|
|
81
|
+
:host([tone="info"]) {
|
|
82
82
|
--_meter-fill: var(--ui-info-solid);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
:host
|
|
85
|
+
:host([tone="success"]) {
|
|
86
86
|
--_meter-fill: var(--ui-success-solid);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
:host
|
|
89
|
+
:host([tone="warning"]) {
|
|
90
90
|
--_meter-fill: var(--ui-warning-solid);
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
:host
|
|
93
|
+
:host([tone="danger"]) {
|
|
94
94
|
--_meter-fill: var(--ui-danger-solid);
|
|
95
95
|
}
|
|
96
96
|
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
mask-image: repeating-linear-gradient(to right, #000 0 var(--_meter-segment), transparent 0 var(--_meter-period));
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
:host
|
|
157
|
+
:host([size="sm"])[data-ui-meter-segments] {
|
|
158
158
|
--_meter-gap: var(--ui-space-0-5);
|
|
159
159
|
}
|
|
160
160
|
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
color: var(--ui-selection-text);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
:host
|
|
116
|
+
:host([variant="line"]) {
|
|
117
117
|
border-radius: 0;
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -130,14 +130,14 @@
|
|
|
130
130
|
border-inline-start: var(--_indicator-width) solid var(--_indicator-color);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
:host
|
|
133
|
+
:host([variant="line"])[aria-current] .indicator {
|
|
134
134
|
display: block;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
@media (forced-colors: active) {
|
|
138
138
|
/* System colors may erase the selected fill. Trace the complete surface, without
|
|
139
139
|
creating an edge stripe; the stronger keyboard focus outline keeps precedence. */
|
|
140
|
-
:host
|
|
140
|
+
:host([variant="surface"])[aria-current]:not(:focus-visible) {
|
|
141
141
|
outline: var(--ui-border-width) solid Highlight;
|
|
142
142
|
outline-offset: calc(-1 * var(--ui-border-width));
|
|
143
143
|
}
|
|
@@ -186,17 +186,17 @@
|
|
|
186
186
|
line-height: var(--ui-line-height-tight);
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
-
:host
|
|
189
|
+
:host([density="compact"]) {
|
|
190
190
|
min-block-size: var(--ui-nav-compact-min-block-size);
|
|
191
191
|
padding-block: var(--ui-nav-compact-padding-block);
|
|
192
192
|
padding-inline: var(--ui-nav-compact-padding-inline);
|
|
193
193
|
}
|
|
194
|
-
:host
|
|
194
|
+
:host([density="compact"]) .label {
|
|
195
195
|
font-size: var(--ui-font-size-sm);
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
@media (pointer: coarse) {
|
|
199
|
-
:host
|
|
199
|
+
:host([density="compact"]) {
|
|
200
200
|
min-block-size: var(--ui-control-min-block-size);
|
|
201
201
|
}
|
|
202
202
|
}
|
|
@@ -73,12 +73,12 @@
|
|
|
73
73
|
gap: var(--ui-space-2);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
:host
|
|
76
|
+
:host([align="center"]) {
|
|
77
77
|
flex-direction: column;
|
|
78
78
|
text-align: center;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
:host
|
|
81
|
+
:host([align="center"]) .copy {
|
|
82
82
|
align-items: center;
|
|
83
83
|
flex-basis: auto;
|
|
84
84
|
}
|
|
@@ -122,15 +122,15 @@
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
:host
|
|
125
|
+
:host([size="sm"]) {
|
|
126
126
|
inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
|
|
127
127
|
max-inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
|
|
128
128
|
}
|
|
129
|
-
:host
|
|
129
|
+
:host([size="md"]) {
|
|
130
130
|
inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
|
|
131
131
|
max-inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
|
|
132
132
|
}
|
|
133
|
-
:host
|
|
133
|
+
:host([size="lg"]) {
|
|
134
134
|
inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
|
|
135
135
|
max-inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
|
|
136
136
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { closeOverlay, createAnchoredSurface, createIdResolver, openOverlay, requestTopOverlayClose } from "../shared/overlay.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
function connect(host) {
|
|
4
4
|
const element = host.element;
|
|
5
5
|
const document = element.ownerDocument;
|
|
6
6
|
const offset = () => {
|
|
@@ -98,3 +98,8 @@ export default function controller(host) {
|
|
|
98
98
|
releaseAnchor();
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
+
|
|
102
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
103
|
+
export default function controller(host) {
|
|
104
|
+
host.on("connect", () => connect(host));
|
|
105
|
+
}
|
|
@@ -90,44 +90,44 @@
|
|
|
90
90
|
outline-offset: var(--ui-focus-width);
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
:host
|
|
93
|
+
:host([disabled]) {
|
|
94
94
|
color: var(--ui-disabled-text);
|
|
95
95
|
cursor: not-allowed;
|
|
96
96
|
}
|
|
97
|
-
:host
|
|
97
|
+
:host([disabled]) .description {
|
|
98
98
|
color: var(--ui-disabled-text);
|
|
99
99
|
}
|
|
100
|
-
:host
|
|
100
|
+
:host([disabled]) input {
|
|
101
101
|
cursor: not-allowed;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
/* A sized choice keeps its box and aligns instead: the label takes that size's field type size,
|
|
105
105
|
and the first line centres in that control height, so the label shares a row's baseline.
|
|
106
106
|
Multi-line labels and descriptions still grow downward from that first line. */
|
|
107
|
-
:host
|
|
107
|
+
:host([size="sm"]) {
|
|
108
108
|
--_font: var(--ui-font-size-sm);
|
|
109
109
|
--_row: var(--ui-control-size-sm);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
:host
|
|
112
|
+
:host([size="lg"]) {
|
|
113
113
|
--_font: var(--ui-font-size-md);
|
|
114
114
|
--_row: var(--ui-control-size-lg);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
:host
|
|
118
|
-
:host
|
|
117
|
+
:host([size="sm"]),
|
|
118
|
+
:host([size="lg"]) {
|
|
119
119
|
--_line: calc(var(--_font) * var(--ui-line-height-md));
|
|
120
120
|
font-size: var(--_font);
|
|
121
121
|
padding-block: calc((var(--_row) - var(--_line)) / 2);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
:host
|
|
125
|
-
:host
|
|
124
|
+
:host([size="sm"]) input,
|
|
125
|
+
:host([size="lg"]) input {
|
|
126
126
|
margin-top: calc((var(--_line) - var(--_ui-radio-size, 1.125rem)) / 2 + 1px);
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
@media (pointer: coarse) {
|
|
130
|
-
:host
|
|
130
|
+
:host([size="sm"]) {
|
|
131
131
|
--_row: var(--ui-control-min-block-size);
|
|
132
132
|
}
|
|
133
133
|
}
|
|
@@ -6,7 +6,7 @@ import { trackTrigger } from "../shared/trigger.js";
|
|
|
6
6
|
// `checked` sets the control initially and whenever it changes; the user's changes update the state.
|
|
7
7
|
// A form reset returns the control to `checked`. Vue writes the checked attribute on every render, so
|
|
8
8
|
// the native default alone cannot hold it there.
|
|
9
|
-
|
|
9
|
+
function connect(host) {
|
|
10
10
|
const input = host.refs.input;
|
|
11
11
|
describeInput(input, host.refs.description);
|
|
12
12
|
const [trigger, stopTracking] = trackTrigger(host);
|
|
@@ -40,3 +40,8 @@ export default function controller(host) {
|
|
|
40
40
|
input.removeEventListener("change", onChange);
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
+
|
|
44
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
45
|
+
export default function controller(host) {
|
|
46
|
+
host.on("connect", () => connect(host));
|
|
47
|
+
}
|
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
clear: both;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
:host
|
|
67
|
+
:host([invalid]) legend {
|
|
68
68
|
color: var(--_ui-radio-group-invalid-text);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
:host
|
|
71
|
+
:host([orientation="vertical"]) {
|
|
72
72
|
display: inline-grid;
|
|
73
73
|
justify-items: start;
|
|
74
74
|
}
|
|
@@ -7,7 +7,7 @@ let groups = 0;
|
|
|
7
7
|
// Native radios that share a name already move and check with the arrow keys. The group gives its
|
|
8
8
|
// radios that name, applies a controlled value, and reports the user's choice. Its fieldset disables
|
|
9
9
|
// them, so a radio's own disabled is never overwritten.
|
|
10
|
-
|
|
10
|
+
function connect(host) {
|
|
11
11
|
const element = host.element;
|
|
12
12
|
const name = String(host.props.name.value || `ui-radio-group-${++groups}`);
|
|
13
13
|
const [trigger, stopTracking] = trackTrigger(host);
|
|
@@ -60,3 +60,8 @@ export default function controller(host) {
|
|
|
60
60
|
element.removeEventListener("change", onChange);
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
|
+
|
|
64
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
65
|
+
export default function controller(host) {
|
|
66
|
+
host.on("connect", () => connect(host));
|
|
67
|
+
}
|
|
@@ -68,37 +68,37 @@
|
|
|
68
68
|
flex: 0 0 var(--_ui-reel-item-width, var(--_reel-item-width));
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
:host
|
|
71
|
+
:host([gap="xs"]) {
|
|
72
72
|
--_reel-gap: var(--ui-space-2);
|
|
73
73
|
}
|
|
74
|
-
:host
|
|
74
|
+
:host([gap="s"]) {
|
|
75
75
|
--_reel-gap: var(--ui-space-3);
|
|
76
76
|
}
|
|
77
|
-
:host
|
|
77
|
+
:host([gap="m"]) {
|
|
78
78
|
--_reel-gap: var(--ui-space-4);
|
|
79
79
|
}
|
|
80
|
-
:host
|
|
80
|
+
:host([gap="l"]) {
|
|
81
81
|
--_reel-gap: var(--ui-space-5);
|
|
82
82
|
}
|
|
83
|
-
:host
|
|
83
|
+
:host([gap="xl"]) {
|
|
84
84
|
--_reel-gap: var(--ui-space-6);
|
|
85
85
|
}
|
|
86
|
-
:host
|
|
86
|
+
:host([itemWidth="sm"]) {
|
|
87
87
|
--_reel-item-width: 12rem;
|
|
88
88
|
}
|
|
89
|
-
:host
|
|
89
|
+
:host([itemWidth="md"]) {
|
|
90
90
|
--_reel-item-width: 16rem;
|
|
91
91
|
}
|
|
92
|
-
:host
|
|
92
|
+
:host([itemWidth="lg"]) {
|
|
93
93
|
--_reel-item-width: 20rem;
|
|
94
94
|
}
|
|
95
|
-
:host
|
|
95
|
+
:host([snap]) {
|
|
96
96
|
scroll-snap-type: inline mandatory;
|
|
97
97
|
}
|
|
98
|
-
:host
|
|
98
|
+
:host([snap="start"]) > :slotted(*) {
|
|
99
99
|
scroll-snap-align: start;
|
|
100
100
|
}
|
|
101
|
-
:host
|
|
101
|
+
:host([snap="center"]) > :slotted(*) {
|
|
102
102
|
scroll-snap-align: center;
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
display: flow-root;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
:host
|
|
39
|
+
:host([orientation="horizontal"]) {
|
|
40
40
|
overflow-x: auto;
|
|
41
41
|
overflow-y: hidden;
|
|
42
42
|
--_ui-scroll-fade-direction: var(--_ui-scroll-fade-inline);
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
--_ui-scroll-fade-inline: to left;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
:host
|
|
49
|
+
:host([size="sm"]) {
|
|
50
50
|
max-block-size: calc(9.375rem + var(--ui-scroll-fade-size, 24px));
|
|
51
51
|
}
|
|
52
|
-
:host
|
|
52
|
+
:host([size="md"]) {
|
|
53
53
|
max-block-size: 20rem;
|
|
54
54
|
}
|
|
55
|
-
:host
|
|
55
|
+
:host([size="lg"]) {
|
|
56
56
|
max-block-size: 30rem;
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
function connect(host) {
|
|
2
2
|
const area = host.element;
|
|
3
3
|
let frame = 0;
|
|
4
4
|
|
|
@@ -30,3 +30,8 @@ export default function controller(host) {
|
|
|
30
30
|
if (frame) cancelAnimationFrame(frame);
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
+
|
|
34
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
35
|
+
export default function controller(host) {
|
|
36
|
+
host.on("connect", () => connect(host));
|
|
37
|
+
}
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
transition: background-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
:host
|
|
74
|
+
:host([density="compact"]) {
|
|
75
75
|
min-block-size: var(--ui-search-result-row-min-height, 3.125rem);
|
|
76
76
|
padding-block: var(--ui-search-result-row-padding-block, var(--ui-space-1));
|
|
77
77
|
padding-inline: var(--ui-search-result-row-padding-inline, var(--ui-space-2));
|
|
@@ -81,12 +81,12 @@
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
/* Slot wrappers own their line boxes even when an app makes buttons inherit body typography. */
|
|
84
|
-
:host
|
|
84
|
+
:host([density="compact"]) .title {
|
|
85
85
|
font-size: var(--ui-font-size-sm);
|
|
86
86
|
line-height: var(--ui-line-height);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
:host
|
|
89
|
+
:host([density="compact"]) .meta {
|
|
90
90
|
font-size: var(--ui-font-size-xs);
|
|
91
91
|
line-height: var(--ui-line-height);
|
|
92
92
|
}
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
background: var(--ui-search-result-row-hover-surface, color-mix(in srgb, var(--ui-surface) 85%, black 3%));
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
:host
|
|
98
|
+
:host([selected]) {
|
|
99
99
|
background: var(
|
|
100
100
|
--ui-search-result-row-selected-bg,
|
|
101
101
|
var(--ui-selection-surface)
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
@media (forced-colors: active) {
|
|
154
|
-
:host
|
|
154
|
+
:host([selected]):not(:focus-visible):not(:disabled) {
|
|
155
155
|
outline: var(--ui-border-width) solid Highlight;
|
|
156
156
|
outline-offset: calc(-1 * var(--ui-border-width));
|
|
157
157
|
}
|
|
@@ -2,7 +2,7 @@ import { closeOverlay, openOverlay } from "../shared/overlay.js";
|
|
|
2
2
|
import { trackTrigger } from "../shared/trigger.js";
|
|
3
3
|
|
|
4
4
|
/** Owns native dialog state while leaving query and result state to the application. */
|
|
5
|
-
|
|
5
|
+
function connect(host) {
|
|
6
6
|
const dialog = host.refs.dialog;
|
|
7
7
|
const document = dialog.ownerDocument;
|
|
8
8
|
const overlayId = `ui-search-shell-${Math.random().toString(36).slice(2, 11)}`;
|
|
@@ -95,3 +95,8 @@ export default function controller(host) {
|
|
|
95
95
|
closeOverlay(document, overlayId);
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
|
+
|
|
99
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
100
|
+
export default function controller(host) {
|
|
101
|
+
host.on("connect", () => connect(host));
|
|
102
|
+
}
|
|
@@ -28,19 +28,19 @@
|
|
|
28
28
|
min-inline-size: 0;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
:host
|
|
31
|
+
:host([variant="card"]) {
|
|
32
32
|
padding: var(--ui-space-5);
|
|
33
33
|
border: var(--ui-border-width) solid var(--ui-border-strong);
|
|
34
34
|
border-radius: var(--ui-radius-lg);
|
|
35
35
|
background: var(--ui-surface-raised);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
:host
|
|
38
|
+
:host([variant="divided"]) {
|
|
39
39
|
padding-block-start: var(--ui-space-6);
|
|
40
40
|
border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
:host
|
|
43
|
+
:host([variant="card"][tone="danger"]) {
|
|
44
44
|
border-color: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border-default));
|
|
45
45
|
border-inline-start: var(--ui-accent-line-width) solid var(--ui-danger);
|
|
46
46
|
background: var(--ui-danger-soft);
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
line-height: var(--ui-line-height-tight);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
:host
|
|
73
|
+
:host([tone="danger"]) .heading {
|
|
74
74
|
color: var(--ui-danger);
|
|
75
75
|
}
|
|
76
76
|
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
cursor: not-allowed;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
:host
|
|
130
|
+
:host([size="sm"]) {
|
|
131
131
|
min-block-size: var(--ui-control-size-sm);
|
|
132
132
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
133
133
|
padding-inline-end: calc(var(--ui-space-2) + var(--ui-icon-size-sm) + var(--ui-space-1));
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
font-size: var(--ui-font-size-sm);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
:host
|
|
139
|
+
:host([size="lg"]) {
|
|
140
140
|
min-block-size: var(--ui-control-size-lg);
|
|
141
141
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
142
142
|
padding-inline-end: calc(var(--ui-space-4) + 1.5rem);
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
/* Under touch a small field is still a touch-sized target, as a small button is, and keeps
|
|
148
148
|
body-size text: below 16px, iOS zooms the page into the focused field. */
|
|
149
149
|
@media (pointer: coarse) {
|
|
150
|
-
:host
|
|
150
|
+
:host([size="sm"]) {
|
|
151
151
|
min-block-size: var(--ui-control-min-block-size);
|
|
152
152
|
font-size: inherit;
|
|
153
153
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// A controlled value can arrive before its projected <option> elements, so it is applied again
|
|
2
2
|
// whenever the options change. The value's option is also marked the native default, so a form
|
|
3
3
|
// reset returns to it rather than to the first option.
|
|
4
|
-
|
|
4
|
+
function connect(host) {
|
|
5
5
|
const select = host.element;
|
|
6
6
|
const apply = () => {
|
|
7
7
|
const value = host.props.value.value;
|
|
@@ -17,3 +17,8 @@ export default function controller(host) {
|
|
|
17
17
|
observer.disconnect();
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
/** Keep DOM setup and its cleanup tied to each connection, including reconnects. */
|
|
22
|
+
export default function controller(host) {
|
|
23
|
+
host.on("connect", () => connect(host));
|
|
24
|
+
}
|