@threadlabs/looma 0.31.3 → 0.31.5
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/dist/index.js +1 -1
- package/editor/chunks/extensions.js +23 -13
- 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 +393 -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 +232 -1
- package/styles/ui-disclosure.css +1 -1
- package/styles/ui-editable.css +1 -1
- package/styles/ui-editor-block-actions.css +1 -1
- package/styles/ui-editor-chip-editor.css +1 -1
- package/styles/ui-editor-code-language.css +1 -1
- package/styles/ui-editor-footnote-editor.css +1 -1
- package/styles/ui-editor-image-toolbar.css +1 -1
- package/styles/ui-editor-insert-table-grid.css +1 -1
- package/styles/ui-editor-link-card.css +1 -1
- package/styles/ui-editor-link-form.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-surface.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 +97 -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-swatch.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 +199 -1
- package/styles/ui-toast.css +77 -1
- package/styles/ui-tooltip.css +1 -1
- package/styles/ui-top-bar.css +1 -1
- package/styles/ui-tree-item.css +559 -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 -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 +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/UiEditorBlockActions.d.ts +1 -1
- package/vanilla/UiEditorBlockActions.js +1 -1
- package/vanilla/UiEditorChipEditor.d.ts +1 -1
- package/vanilla/UiEditorChipEditor.js +1 -1
- package/vanilla/UiEditorCodeLanguage.d.ts +1 -1
- package/vanilla/UiEditorCodeLanguage.js +1 -1
- package/vanilla/UiEditorFootnoteEditor.d.ts +1 -1
- package/vanilla/UiEditorFootnoteEditor.js +1 -1
- package/vanilla/UiEditorImageToolbar.d.ts +1 -1
- package/vanilla/UiEditorImageToolbar.js +1 -1
- package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
- package/vanilla/UiEditorInsertTableGrid.js +1 -1
- package/vanilla/UiEditorLinkCard.d.ts +1 -1
- package/vanilla/UiEditorLinkCard.js +1 -1
- package/vanilla/UiEditorLinkForm.d.ts +1 -1
- package/vanilla/UiEditorLinkForm.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/UiEditorSurface.d.ts +1 -1
- package/vanilla/UiEditorSurface.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 +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 +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/UiSwatch.d.ts +1 -1
- package/vanilla/UiSwatch.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 +1 -1
- package/vanilla/UiToastRegion.js +1 -1
- 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 +1 -1
- package/vue/UiAvatar.vue +1 -1
- package/vue/UiAvatarGroup.vue +1 -1
- 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.vue +1 -1
- package/vue/UiCluster.vue +1 -1
- package/vue/UiCombobox.vue +362 -4
- package/vue/UiContainer.vue +1 -1
- package/vue/UiContextMenu.vue +1 -1
- package/vue/UiCover.vue +1 -1
- package/vue/UiDescriptionItem.vue +1 -1
- package/vue/UiDescriptionList.vue +1 -1
- package/vue/UiDialog.vue +200 -1
- package/vue/UiDisclosure.vue +1 -1
- package/vue/UiEditable.vue +1 -1
- package/vue/UiEditorBlockActions.vue +1 -1
- package/vue/UiEditorChipEditor.vue +1 -1
- package/vue/UiEditorCodeLanguage.vue +1 -1
- package/vue/UiEditorFootnoteEditor.vue +1 -1
- package/vue/UiEditorImageToolbar.vue +1 -1
- package/vue/UiEditorInsertTableGrid.vue +1 -1
- package/vue/UiEditorLinkCard.vue +1 -1
- package/vue/UiEditorLinkForm.vue +1 -1
- package/vue/UiEditorMentionMenu.vue +1 -1
- package/vue/UiEditorMentionMenuItem.vue +1 -1
- package/vue/UiEditorSlashMenu.vue +1 -1
- package/vue/UiEditorSlashMenuGroup.vue +1 -1
- package/vue/UiEditorSlashMenuItem.vue +1 -1
- package/vue/UiEditorSurface.vue +1 -1
- package/vue/UiEditorTableContextMenu.vue +1 -1
- package/vue/UiEditorTableOverlay.vue +1 -1
- package/vue/UiEditorTableToolbar.vue +1 -1
- package/vue/UiEditorToolbar.vue +1 -1
- 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 +1 -1
- package/vue/UiInput.vue +1 -1
- package/vue/UiInputGroup.vue +1 -1
- package/vue/UiList.vue +1 -1
- package/vue/UiListItem.vue +1 -1
- package/vue/UiListbox.vue +79 -1
- package/vue/UiMenu.vue +1 -1
- package/vue/UiMenuGroup.vue +1 -1
- package/vue/UiMenuItem.vue +1 -1
- package/vue/UiMeter.vue +1 -1
- package/vue/UiNavItem.vue +1 -1
- package/vue/UiPageHeader.vue +1 -1
- package/vue/UiPopover.vue +1 -1
- package/vue/UiRadio.vue +1 -1
- package/vue/UiRadioGroup.vue +1 -1
- package/vue/UiReel.vue +1 -1
- package/vue/UiScrollArea.vue +1 -1
- package/vue/UiSearchResultRow.vue +1 -1
- package/vue/UiSearchShell.vue +1 -1
- package/vue/UiSection.vue +1 -1
- package/vue/UiSelect.vue +1 -1
- package/vue/UiSeparator.vue +1 -1
- package/vue/UiSidebar.vue +1 -1
- package/vue/UiSpinner.vue +1 -1
- package/vue/UiStack.vue +1 -1
- package/vue/UiStatusMessage.vue +1 -1
- package/vue/UiSwatch.vue +1 -1
- package/vue/UiSwitch.vue +1 -1
- package/vue/UiSwitcher.vue +1 -1
- package/vue/UiTable.vue +1 -1
- package/vue/UiTabs.vue +1 -1
- package/vue/UiText.vue +1 -1
- package/vue/UiTextarea.vue +1 -1
- package/vue/UiToast.vue +62 -1
- package/vue/UiToastRegion.vue +142 -1
- package/vue/UiTooltip.vue +1 -1
- package/vue/UiTopBar.vue +1 -1
- package/vue/UiTree.vue +1 -1
- package/vue/UiTreeItem.vue +635 -1
- package/vue/chunks/UiActionBar.js +1 -1
- package/vue/chunks/UiAffordanceScope.js +1 -1
- package/vue/chunks/UiAvatar.js +1 -1
- package/vue/chunks/UiAvatarGroup.js +1 -1
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiBreadcrumbItem.js +1 -1
- package/vue/chunks/UiBreadcrumbs.js +1 -1
- package/vue/chunks/UiButton.js +1 -1
- package/vue/chunks/UiCallout.js +1 -1
- package/vue/chunks/UiCard.js +1 -1
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiCluster.js +1 -1
- package/vue/chunks/UiCombobox.js +2 -1
- package/vue/chunks/UiContainer.js +1 -1
- package/vue/chunks/UiContextMenu.js +1 -1
- package/vue/chunks/UiCover.js +1 -1
- package/vue/chunks/UiDescriptionItem.js +1 -1
- package/vue/chunks/UiDescriptionList.js +1 -1
- package/vue/chunks/UiDialog.js +1 -1
- package/vue/chunks/UiDisclosure.js +1 -1
- package/vue/chunks/UiEditable.js +1 -1
- package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
- package/vue/chunks/UiEditorMentionMenu.js +1 -1
- package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
- package/vue/chunks/UiEditorSlashMenu.js +1 -1
- package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
- package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
- package/vue/chunks/UiEditorSurface.js +1 -1
- package/vue/chunks/UiEditorTableContextMenu.js +1 -1
- package/vue/chunks/UiEditorTableOverlay.js +1 -1
- package/vue/chunks/UiEditorTableToolbar.js +1 -1
- package/vue/chunks/UiEditorToolbar.js +1 -1
- package/vue/chunks/UiFloatingActionButton.js +1 -1
- package/vue/chunks/UiFormField.js +1 -1
- package/vue/chunks/UiGrid.js +1 -1
- package/vue/chunks/UiIcon.js +1 -1
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/chunks/UiImage.js +1 -1
- package/vue/chunks/UiInput.js +1 -1
- package/vue/chunks/UiInputGroup.js +1 -1
- package/vue/chunks/UiList.js +1 -1
- package/vue/chunks/UiListItem.js +1 -1
- package/vue/chunks/UiListbox.js +2 -1
- package/vue/chunks/UiMenu.js +1 -1
- package/vue/chunks/UiMenuGroup.js +1 -1
- package/vue/chunks/UiMenuItem.js +1 -1
- package/vue/chunks/UiMeter.js +1 -1
- package/vue/chunks/UiNavItem.js +1 -1
- package/vue/chunks/UiPageHeader.js +1 -1
- package/vue/chunks/UiPopover.js +1 -1
- package/vue/chunks/UiRadio.js +1 -1
- package/vue/chunks/UiRadioGroup.js +1 -1
- package/vue/chunks/UiReel.js +1 -1
- package/vue/chunks/UiScrollArea.js +1 -1
- package/vue/chunks/UiSearchResultRow.js +1 -1
- package/vue/chunks/UiSearchShell.js +1 -1
- package/vue/chunks/UiSection.js +1 -1
- package/vue/chunks/UiSelect.js +1 -1
- package/vue/chunks/UiSeparator.js +1 -1
- package/vue/chunks/UiSidebar.js +1 -1
- package/vue/chunks/UiSpinner.js +1 -1
- package/vue/chunks/UiStack.js +1 -1
- package/vue/chunks/UiStatusMessage.js +1 -1
- package/vue/chunks/UiSwatch.js +1 -1
- package/vue/chunks/UiSwitch.js +1 -1
- package/vue/chunks/UiSwitcher.js +1 -1
- package/vue/chunks/UiTable.js +1 -1
- package/vue/chunks/UiTabs.js +1 -1
- package/vue/chunks/UiText.js +1 -1
- package/vue/chunks/UiTextarea.js +1 -1
- package/vue/chunks/UiToast.js +1 -1
- package/vue/chunks/UiToastRegion.js +1 -1
- package/vue/chunks/UiTooltip.js +1 -1
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTree.js +1 -1
- package/vue/chunks/UiTreeItem.js +1 -1
- package/vue/components.css +1705 -370
- package/vue/editor/index.js +7 -7
- package/vue/host.ts +1 -1
package/vue/components.css
CHANGED
|
@@ -945,12 +945,12 @@ ol:where([data-hn-ui-breadcrumbs]) {
|
|
|
945
945
|
}
|
|
946
946
|
|
|
947
947
|
/* A rounded SVG arc grows and recedes over a quiet full-circle track. */
|
|
948
|
-
@keyframes ui-spinner-rotate-
|
|
948
|
+
@keyframes ui-spinner-rotate-f38ab49c {
|
|
949
949
|
100% {
|
|
950
950
|
transform: rotate(1turn);
|
|
951
951
|
}
|
|
952
952
|
}
|
|
953
|
-
@keyframes ui-spinner-dash-
|
|
953
|
+
@keyframes ui-spinner-dash-f38ab49c {
|
|
954
954
|
0% {
|
|
955
955
|
stroke-dasharray: 1, 150;
|
|
956
956
|
stroke-dashoffset: 0;
|
|
@@ -986,7 +986,7 @@ svg {
|
|
|
986
986
|
display: block;
|
|
987
987
|
inline-size: 100%;
|
|
988
988
|
block-size: 100%;
|
|
989
|
-
animation: ui-spinner-rotate-
|
|
989
|
+
animation: ui-spinner-rotate-f38ab49c 2s linear infinite;
|
|
990
990
|
}
|
|
991
991
|
circle {
|
|
992
992
|
stroke-width: 3;
|
|
@@ -999,7 +999,7 @@ circle {
|
|
|
999
999
|
stroke: currentColor;
|
|
1000
1000
|
stroke-dasharray: 90, 150;
|
|
1001
1001
|
stroke-dashoffset: 0;
|
|
1002
|
-
animation: ui-spinner-dash-
|
|
1002
|
+
animation: ui-spinner-dash-f38ab49c 1.5s ease-in-out infinite;
|
|
1003
1003
|
}
|
|
1004
1004
|
@media (prefers-reduced-motion: reduce) {
|
|
1005
1005
|
svg,.arc {
|
|
@@ -1783,7 +1783,7 @@ html[data-ui-input-modality="touch"]
|
|
|
1783
1783
|
/* The label, and under it an optional line saying what the choice means. */
|
|
1784
1784
|
|
|
1785
1785
|
/* Centre the tick's box and lift it slightly for the rotated check shape. */
|
|
1786
|
-
@keyframes ui-checkbox-check-
|
|
1786
|
+
@keyframes ui-checkbox-check-6120eba6 {
|
|
1787
1787
|
from {
|
|
1788
1788
|
opacity: 0;
|
|
1789
1789
|
transform: translateY(-0.09rem) rotate(45deg) scale(0.55);
|
|
@@ -1878,7 +1878,7 @@ input:checked:where([data-hn-ui-checkbox])::after {
|
|
|
1878
1878
|
border-width: 0 0.125rem 0.125rem 0;
|
|
1879
1879
|
opacity: 1;
|
|
1880
1880
|
transform: translateY(-0.09rem) rotate(45deg);
|
|
1881
|
-
animation: ui-checkbox-check-
|
|
1881
|
+
animation: ui-checkbox-check-6120eba6 180ms var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1))
|
|
1882
1882
|
both;
|
|
1883
1883
|
}
|
|
1884
1884
|
input:indeterminate:where([data-hn-ui-checkbox])::after {
|
|
@@ -2654,148 +2654,490 @@ button:where([data-hn-ui-combobox]) {
|
|
|
2654
2654
|
display: none;
|
|
2655
2655
|
}
|
|
2656
2656
|
}
|
|
2657
|
+
@scope ([data-slotted~="ui-combobox"]:not([data-hn])) to ([data-hn], [data-slotted]) {
|
|
2658
|
+
:where(.ui-combobox):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2659
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
2660
|
+
--_ui-combobox-label-text: var(--ui-combobox-label-text);
|
|
2661
|
+
--_ui-combobox-label-font-size: var(--ui-combobox-label-font-size);
|
|
2662
|
+
--_ui-combobox-affordance-text: var(--ui-combobox-affordance-text);
|
|
2663
|
+
--_ui-combobox-max-block-size: var(--ui-combobox-max-block-size);
|
|
2664
|
+
--_ui-combobox-option-text: var(--ui-combobox-option-text);
|
|
2665
|
+
--_ui-combobox-message-text: var(--ui-combobox-message-text);
|
|
2666
|
+
--_ui-combobox-option-check: var(--ui-combobox-option-check);
|
|
2667
|
+
--_ui-combobox-item-min-block-size: var(--ui-combobox-item-min-block-size);
|
|
2668
|
+
--_ui-combobox-item-input-min-inline-size: var(--ui-combobox-item-input-min-inline-size);
|
|
2669
|
+
--_ui-combobox-item-item-max-inline-size: var(--ui-combobox-item-item-max-inline-size);
|
|
2670
|
+
--_ui-combobox-radius: var(--ui-combobox-radius);
|
|
2671
|
+
--_ui-combobox-invalid-border: var(--ui-combobox-invalid-border);
|
|
2672
|
+
--_ui-combobox-popup-surface: var(--ui-combobox-popup-surface);
|
|
2673
|
+
--_ui-combobox-popup-border: var(--ui-combobox-popup-border);
|
|
2674
|
+
--_ui-combobox-popup-radius: var(--ui-combobox-popup-radius);
|
|
2675
|
+
--_ui-combobox-popup-shadow: var(--ui-combobox-popup-shadow);
|
|
2657
2676
|
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
syntax: "*";
|
|
2665
|
-
inherits: false;
|
|
2677
|
+
--_row: var(--ui-control-size-md);
|
|
2678
|
+
display: grid;
|
|
2679
|
+
gap: var(--ui-space-1);
|
|
2680
|
+
min-inline-size: 0;
|
|
2681
|
+
color: var(--ui-text-primary);
|
|
2682
|
+
font: inherit;
|
|
2666
2683
|
}
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
:
|
|
2671
|
-
--_container-measure: 65ch;
|
|
2672
|
-
--_container-gutters: var(--ui-space-4);
|
|
2673
|
-
display: block;
|
|
2674
|
-
inline-size: 100%;
|
|
2675
|
-
max-inline-size: var(--ui-container-measure, var(--_container-measure));
|
|
2676
|
-
margin-inline: auto;
|
|
2677
|
-
padding-inline: var(--ui-container-gutters, var(--_container-gutters));
|
|
2684
|
+
label:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2685
|
+
color: var(--_ui-combobox-label-text, var(--ui-text-primary));
|
|
2686
|
+
font-size: var(--_ui-combobox-label-font-size, var(--ui-font-size-sm));
|
|
2687
|
+
font-weight: 500;
|
|
2678
2688
|
}
|
|
2679
|
-
:scope
|
|
2680
|
-
|
|
2689
|
+
.control:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2690
|
+
display: flex;
|
|
2691
|
+
align-items: center;
|
|
2692
|
+
gap: var(--ui-space-2);
|
|
2693
|
+
min-inline-size: 0;
|
|
2681
2694
|
}
|
|
2682
|
-
:scope
|
|
2695
|
+
.field:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2683
2696
|
box-sizing: border-box;
|
|
2697
|
+
min-block-size: var(--_row);
|
|
2698
|
+
flex: 1 1 auto;
|
|
2684
2699
|
display: flex;
|
|
2685
|
-
flex-direction: column;
|
|
2686
|
-
flex: 1;
|
|
2687
2700
|
min-inline-size: 0;
|
|
2688
|
-
|
|
2701
|
+
border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-default));
|
|
2702
|
+
border-radius: var(--_ui-combobox-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
2703
|
+
background: var(--ui-control-surface, var(--ui-surface-default));
|
|
2704
|
+
box-shadow: var(--ui-control-inset);
|
|
2705
|
+
transition:
|
|
2706
|
+
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
2707
|
+
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
2689
2708
|
}
|
|
2690
|
-
:
|
|
2691
|
-
|
|
2709
|
+
.field:focus-within:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2710
|
+
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
2711
|
+
box-shadow:
|
|
2712
|
+
var(--ui-control-inset),
|
|
2713
|
+
var(--ui-control-focus-halo-shadow);
|
|
2692
2714
|
}
|
|
2693
|
-
:scope
|
|
2694
|
-
|
|
2715
|
+
.entry:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2716
|
+
display: flex;
|
|
2717
|
+
flex: 1 1 auto;
|
|
2718
|
+
min-inline-size: 0;
|
|
2695
2719
|
}
|
|
2696
|
-
:scope
|
|
2697
|
-
|
|
2720
|
+
.help:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2721
|
+
flex: none;
|
|
2722
|
+
display: inline-flex;
|
|
2723
|
+
align-items: center;
|
|
2724
|
+
justify-content: center;
|
|
2725
|
+
inline-size: var(--ui-control-size-sm);
|
|
2726
|
+
block-size: var(--ui-control-size-sm);
|
|
2727
|
+
padding: 0;
|
|
2728
|
+
border: 0;
|
|
2729
|
+
border-radius: var(--ui-radius-round);
|
|
2730
|
+
background: transparent;
|
|
2731
|
+
color: var(--ui-text-secondary);
|
|
2732
|
+
cursor: pointer;
|
|
2733
|
+
transition:
|
|
2734
|
+
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
2735
|
+
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
2698
2736
|
}
|
|
2699
|
-
:scope[data-ui-
|
|
2700
|
-
|
|
2737
|
+
.help:hover:enabled:where(:scope, :scope *):where([data-hn-ui-combobox]),.help[aria-expanded="true"]:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2738
|
+
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
2739
|
+
color: var(--ui-text-primary);
|
|
2701
2740
|
}
|
|
2702
|
-
:scope
|
|
2703
|
-
|
|
2741
|
+
.help:focus-visible:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2742
|
+
outline: none;
|
|
2743
|
+
box-shadow: var(--ui-focus-halo);
|
|
2704
2744
|
}
|
|
2745
|
+
.help:disabled:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2746
|
+
color: var(--ui-disabled-text);
|
|
2747
|
+
cursor: not-allowed;
|
|
2705
2748
|
}
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
syntax: "*";
|
|
2710
|
-
inherits: false;
|
|
2749
|
+
.help-icon:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2750
|
+
inline-size: var(--ui-icon-size-sm);
|
|
2751
|
+
block-size: var(--ui-icon-size-sm);
|
|
2711
2752
|
}
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2753
|
+
input:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where(:scope, :scope
|
|
2754
|
+
*):where([data-hn-ui-combobox])::selection {
|
|
2755
|
+
background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
|
|
2756
|
+
color: inherit;
|
|
2715
2757
|
}
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2758
|
+
input:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2759
|
+
appearance: none;
|
|
2760
|
+
width: 100%;
|
|
2761
|
+
min-inline-size: 0;
|
|
2762
|
+
min-block-size: calc(var(--_row) - 2 * var(--ui-border-width));
|
|
2763
|
+
box-sizing: border-box;
|
|
2764
|
+
border: 0;
|
|
2765
|
+
border-radius: inherit;
|
|
2766
|
+
background: transparent;
|
|
2767
|
+
color: inherit;
|
|
2768
|
+
font: inherit;
|
|
2769
|
+
line-height: var(--ui-line-height-tight);
|
|
2770
|
+
padding: var(--ui-space-2) var(--ui-space-3);
|
|
2771
|
+
margin: 0;
|
|
2772
|
+
outline: none;
|
|
2719
2773
|
}
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
inherits: false;
|
|
2774
|
+
:where(.ui-combobox)[data-ui-combobox-state~="size=sm"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2775
|
+
--_row: var(--ui-control-size-sm);
|
|
2723
2776
|
}
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2777
|
+
:where(.ui-combobox)[data-ui-combobox-state~="size=sm"]
|
|
2778
|
+
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2779
|
+
padding: var(--ui-space-1) var(--ui-space-2);
|
|
2780
|
+
font-size: var(--ui-font-size-sm);
|
|
2727
2781
|
}
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
@scope (.ui-context-menu) to ([data-hn]) {
|
|
2731
|
-
:scope:where([data-hn-ui-context-menu]) {
|
|
2732
|
-
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
2733
|
-
--_ui-context-menu-surface: var(--ui-context-menu-surface);
|
|
2734
|
-
--_ui-context-menu-border: var(--ui-context-menu-border);
|
|
2735
|
-
--_ui-context-menu-radius: var(--ui-context-menu-radius);
|
|
2736
|
-
--_ui-context-menu-shadow: var(--ui-context-menu-shadow);
|
|
2737
|
-
--_ui-context-menu-z-index: var(--ui-context-menu-z-index);
|
|
2738
|
-
|
|
2739
|
-
display: contents;
|
|
2782
|
+
:where(.ui-combobox)[data-ui-combobox-state~="size=lg"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2783
|
+
--_row: var(--ui-control-size-lg);
|
|
2740
2784
|
}
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2785
|
+
:where(.ui-combobox)[data-ui-combobox-state~="size=lg"]
|
|
2786
|
+
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2787
|
+
padding: var(--ui-space-3) var(--ui-space-4);
|
|
2788
|
+
font-size: var(--ui-font-size-md);
|
|
2789
|
+
}
|
|
2790
|
+
button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2791
|
+
appearance: none;
|
|
2792
|
+
display: inline-grid;
|
|
2793
|
+
place-items: center;
|
|
2794
|
+
align-self: stretch;
|
|
2795
|
+
border: 0;
|
|
2796
|
+
border-radius: var(--ui-radius-md);
|
|
2797
|
+
background: transparent;
|
|
2798
|
+
color: var(--_ui-combobox-affordance-text, var(--ui-text-secondary));
|
|
2799
|
+
font: inherit;
|
|
2800
|
+
font-weight: 400;
|
|
2801
|
+
min-inline-size: 2rem;
|
|
2802
|
+
padding: 0 var(--ui-space-1);
|
|
2803
|
+
cursor: pointer;
|
|
2804
|
+
}
|
|
2805
|
+
.affordance-icon:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2806
|
+
display: block;
|
|
2807
|
+
inline-size: var(--ui-icon-size-sm);
|
|
2808
|
+
block-size: var(--ui-icon-size-sm);
|
|
2809
|
+
}
|
|
2810
|
+
button:hover:enabled:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2811
|
+
background: var(--ui-surface-muted);
|
|
2812
|
+
color: var(--ui-text-primary);
|
|
2813
|
+
}
|
|
2814
|
+
button:focus-visible:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2815
|
+
outline: none;
|
|
2816
|
+
background: var(--ui-surface-muted);
|
|
2817
|
+
box-shadow: inset 0 0 0 var(--ui-focus-width)
|
|
2818
|
+
color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
|
|
2819
|
+
}
|
|
2820
|
+
input:disabled:where(:scope, :scope *):where([data-hn-ui-combobox]),button:disabled:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2821
|
+
color: var(--ui-disabled-text);
|
|
2822
|
+
cursor: not-allowed;
|
|
2823
|
+
}
|
|
2824
|
+
.field:has(input:disabled):where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2825
|
+
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
2826
|
+
}
|
|
2827
|
+
:where(.ui-combobox)[data-ui-combobox-state~="validationStatus=error"]
|
|
2828
|
+
.field:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]),:where(.ui-combobox)[data-ui-combobox-state~="invalid"]
|
|
2829
|
+
.field:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2830
|
+
border-color: var(
|
|
2831
|
+
--_ui-combobox-invalid-border,
|
|
2832
|
+
var(--ui-field-danger, var(--ui-danger-solid, var(--ui-accent-active)))
|
|
2833
|
+
);
|
|
2834
|
+
}
|
|
2835
|
+
.popup:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2747
2836
|
box-sizing: border-box;
|
|
2837
|
+
min-inline-size: 12rem;
|
|
2838
|
+
max-inline-size: calc(100vw - 1rem);
|
|
2839
|
+
max-block-size: var(--_ui-combobox-max-block-size, 18rem);
|
|
2840
|
+
overflow: auto;
|
|
2841
|
+
margin: 0;
|
|
2748
2842
|
padding: var(--ui-space-1);
|
|
2843
|
+
border: var(--ui-border-width) solid
|
|
2844
|
+
var(--_ui-combobox-popup-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
2845
|
+
border-radius: var(--_ui-combobox-popup-radius, var(--ui-overlay-radius, var(--ui-radius-md)));
|
|
2749
2846
|
background: var(
|
|
2750
|
-
--_ui-
|
|
2847
|
+
--_ui-combobox-popup-surface,
|
|
2751
2848
|
var(--ui-overlay-surface, var(--ui-surface-elevated))
|
|
2752
2849
|
);
|
|
2753
|
-
|
|
2754
|
-
var(--_ui-context-menu-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
2755
|
-
border-radius: var(--_ui-context-menu-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
2850
|
+
color: var(--ui-text-primary);
|
|
2756
2851
|
box-shadow: var(
|
|
2757
|
-
--_ui-
|
|
2852
|
+
--_ui-combobox-popup-shadow,
|
|
2758
2853
|
var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
|
|
2759
2854
|
);
|
|
2760
|
-
outline: 0;
|
|
2761
|
-
overflow: auto;
|
|
2762
|
-
z-index: var(--_ui-context-menu-z-index, 1000);
|
|
2763
|
-
min-width: 12rem;
|
|
2764
|
-
opacity: 0;
|
|
2765
|
-
transform: translateY(-4px) scale(0.99);
|
|
2766
|
-
transition:
|
|
2767
|
-
opacity var(--ui-motion-fast) var(--ui-motion-ease),
|
|
2768
|
-
transform var(--ui-motion-fast) var(--ui-motion-ease),
|
|
2769
|
-
display var(--ui-motion-fast) allow-discrete,
|
|
2770
|
-
overlay var(--ui-motion-fast) allow-discrete;
|
|
2771
|
-
}
|
|
2772
|
-
.menu hr:where([data-hn-ui-context-menu]) {
|
|
2773
|
-
align-self: stretch;
|
|
2774
|
-
block-size: 0;
|
|
2775
|
-
margin: var(--ui-space-1) 0;
|
|
2776
|
-
border: 0;
|
|
2777
|
-
border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
|
|
2778
|
-
}
|
|
2779
|
-
.menu:popover-open:where([data-hn-ui-context-menu]) {
|
|
2780
|
-
opacity: 1;
|
|
2781
|
-
transform: translateY(0) scale(1);
|
|
2782
|
-
}
|
|
2783
|
-
@starting-style {
|
|
2784
|
-
.menu:popover-open:where([data-hn-ui-context-menu]) {
|
|
2785
|
-
opacity: 0;
|
|
2786
|
-
transform: translateY(-4px) scale(0.99);
|
|
2787
|
-
}
|
|
2788
2855
|
}
|
|
2789
|
-
|
|
2856
|
+
[hidden]:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2790
2857
|
display: none;
|
|
2791
2858
|
}
|
|
2792
|
-
|
|
2793
|
-
.
|
|
2794
|
-
|
|
2795
|
-
|
|
2859
|
+
.option[aria-disabled="true"]:where(:scope, :scope *)
|
|
2860
|
+
.primary:where([data-hn-ui-combobox]),.option[aria-disabled="true"]:where(:scope, :scope *)
|
|
2861
|
+
.secondary:where([data-hn-ui-combobox]) {
|
|
2862
|
+
color: var(--ui-disabled-text);
|
|
2796
2863
|
}
|
|
2797
|
-
:scope
|
|
2798
|
-
display:
|
|
2864
|
+
.primary:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2865
|
+
display: block;
|
|
2866
|
+
color: var(--_ui-combobox-option-text, inherit);
|
|
2867
|
+
font-weight: 500;
|
|
2868
|
+
}
|
|
2869
|
+
.detail:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2870
|
+
display: grid;
|
|
2871
|
+
gap: var(--ui-space-0-5);
|
|
2872
|
+
min-inline-size: 0;
|
|
2873
|
+
}
|
|
2874
|
+
.line:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2875
|
+
display: flex;
|
|
2876
|
+
flex-wrap: wrap;
|
|
2877
|
+
align-items: center;
|
|
2878
|
+
gap: var(--ui-space-2);
|
|
2879
|
+
}
|
|
2880
|
+
.description:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2881
|
+
color: var(--ui-text-muted);
|
|
2882
|
+
font-size: var(--ui-font-size-sm);
|
|
2883
|
+
line-height: var(--ui-line-height-md);
|
|
2884
|
+
}
|
|
2885
|
+
.message:where(:scope, :scope *):where([data-hn-ui-combobox]),.group:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2886
|
+
color: var(--_ui-combobox-message-text, var(--ui-text-secondary));
|
|
2887
|
+
font-weight: 400;
|
|
2888
|
+
font-size: var(--ui-font-size-sm);
|
|
2889
|
+
line-height: var(--ui-line-height-md);
|
|
2890
|
+
overflow-wrap: anywhere;
|
|
2891
|
+
}
|
|
2892
|
+
.group:where(:scope, :scope *):where([data-hn-ui-combobox]),.popup:where(:scope, :scope *) .message:where([data-hn-ui-combobox]) {
|
|
2893
|
+
padding: var(--ui-space-2) var(--ui-space-3);
|
|
2894
|
+
}
|
|
2895
|
+
.sr-only:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2896
|
+
position: absolute;
|
|
2897
|
+
inline-size: 1px;
|
|
2898
|
+
block-size: 1px;
|
|
2899
|
+
overflow: hidden;
|
|
2900
|
+
clip-path: inset(50%);
|
|
2901
|
+
white-space: nowrap;
|
|
2902
|
+
}
|
|
2903
|
+
@media (pointer: coarse) {
|
|
2904
|
+
:where(.ui-combobox):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2905
|
+
--_row: max(var(--ui-control-size-md), var(--ui-control-min-block-size));
|
|
2906
|
+
}
|
|
2907
|
+
button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2908
|
+
min-inline-size: 2.75rem;
|
|
2909
|
+
min-block-size: calc(var(--_row) - 2 * var(--ui-border-width));
|
|
2910
|
+
}
|
|
2911
|
+
/* Under touch a small field is still a touch-sized target, as a small button is, and keeps
|
|
2912
|
+
body-size text: below 16px, iOS zooms the page into the focused field. */
|
|
2913
|
+
:where(.ui-combobox)[data-ui-combobox-state~="size=sm"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2914
|
+
--_row: var(--ui-control-min-block-size);
|
|
2915
|
+
}
|
|
2916
|
+
:where(.ui-combobox)[data-ui-combobox-state~="size=sm"]
|
|
2917
|
+
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2918
|
+
font-size: inherit;
|
|
2919
|
+
}
|
|
2920
|
+
}
|
|
2921
|
+
@media (forced-colors: active) {
|
|
2922
|
+
.field:where(:scope, :scope *):where([data-hn-ui-combobox]),.popup:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2923
|
+
border-color: CanvasText;
|
|
2924
|
+
}
|
|
2925
|
+
.option.active:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2926
|
+
outline-color: Highlight;
|
|
2927
|
+
}
|
|
2928
|
+
}
|
|
2929
|
+
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]
|
|
2930
|
+
.field:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2931
|
+
align-items: center;
|
|
2932
|
+
min-block-size: var(--_ui-combobox-item-min-block-size, var(--_row));
|
|
2933
|
+
padding: var(--ui-space-1);
|
|
2934
|
+
}
|
|
2935
|
+
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]
|
|
2936
|
+
.entry:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2937
|
+
align-items: center;
|
|
2938
|
+
gap: var(--ui-space-1);
|
|
2939
|
+
overflow-x: auto;
|
|
2940
|
+
scrollbar-width: none;
|
|
2941
|
+
}
|
|
2942
|
+
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]
|
|
2943
|
+
.entry:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox])::-webkit-scrollbar {
|
|
2944
|
+
display: none;
|
|
2945
|
+
}
|
|
2946
|
+
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]
|
|
2947
|
+
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2948
|
+
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
2949
|
+
width: auto;
|
|
2950
|
+
min-block-size: 1.75rem;
|
|
2951
|
+
padding: var(--ui-space-0-5) var(--ui-space-1);
|
|
2952
|
+
}
|
|
2953
|
+
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]:where(.ui-combobox)[data-ui-combobox-state~="size=sm"]
|
|
2954
|
+
.field:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2955
|
+
min-block-size: 0;
|
|
2956
|
+
padding: var(--ui-space-0-5);
|
|
2957
|
+
}
|
|
2958
|
+
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]:where(.ui-combobox)[data-ui-combobox-state~="size=sm"]
|
|
2959
|
+
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2960
|
+
min-block-size: calc(var(--_row) - 2 * var(--ui-border-width) - 2 * var(--ui-space-0-5));
|
|
2961
|
+
padding: 0 var(--ui-space-1);
|
|
2962
|
+
}
|
|
2963
|
+
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]:where(.ui-combobox)[data-ui-combobox-state~="size=lg"]
|
|
2964
|
+
.field:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2965
|
+
min-block-size: 0;
|
|
2966
|
+
}
|
|
2967
|
+
:where(.ui-combobox)[data-ui-combobox-state~="multiple"]:where(.ui-combobox)[data-ui-combobox-state~="size=lg"]
|
|
2968
|
+
input:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2969
|
+
min-block-size: calc(
|
|
2970
|
+
var(--ui-control-size-lg) - 2 * var(--ui-border-width) - 2 * var(--ui-space-1)
|
|
2971
|
+
);
|
|
2972
|
+
}
|
|
2973
|
+
.item:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2974
|
+
appearance: none;
|
|
2975
|
+
display: inline-flex;
|
|
2976
|
+
flex: none;
|
|
2977
|
+
min-inline-size: 0;
|
|
2978
|
+
max-inline-size: min(100%, var(--_ui-combobox-item-item-max-inline-size, 12rem));
|
|
2979
|
+
overflow: hidden;
|
|
2980
|
+
padding: 0;
|
|
2981
|
+
border: 0;
|
|
2982
|
+
border-radius: var(--ui-radius-sm);
|
|
2983
|
+
background: transparent;
|
|
2984
|
+
color: inherit;
|
|
2985
|
+
font: inherit;
|
|
2986
|
+
cursor: default;
|
|
2987
|
+
}
|
|
2988
|
+
.item:focus-visible:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2989
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
2990
|
+
outline-offset: var(--ui-border-width);
|
|
2991
|
+
}
|
|
2992
|
+
.item:disabled:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
2993
|
+
color: var(--ui-disabled-text);
|
|
2994
|
+
}
|
|
2995
|
+
:where(.ui-combobox)[hidden]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-combobox"]))):where([data-hn-ui-combobox]) {
|
|
2996
|
+
display: none;
|
|
2997
|
+
}
|
|
2998
|
+
}
|
|
2999
|
+
|
|
3000
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
3001
|
+
@property --ui-container-gutters {
|
|
3002
|
+
syntax: "*";
|
|
3003
|
+
inherits: false;
|
|
3004
|
+
}
|
|
3005
|
+
@property --ui-container-measure {
|
|
3006
|
+
syntax: "*";
|
|
3007
|
+
inherits: false;
|
|
3008
|
+
}
|
|
3009
|
+
|
|
3010
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
3011
|
+
@scope (.ui-container) to ([data-hn]) {
|
|
3012
|
+
:scope:where([data-hn-ui-container]) {
|
|
3013
|
+
--_container-measure: 65ch;
|
|
3014
|
+
--_container-gutters: var(--ui-space-4);
|
|
3015
|
+
display: block;
|
|
3016
|
+
inline-size: 100%;
|
|
3017
|
+
max-inline-size: var(--ui-container-measure, var(--_container-measure));
|
|
3018
|
+
margin-inline: auto;
|
|
3019
|
+
padding-inline: var(--ui-container-gutters, var(--_container-gutters));
|
|
3020
|
+
}
|
|
3021
|
+
:scope[data-ui-container-state~="measure=narrow"]:where([data-hn-ui-container]) {
|
|
3022
|
+
--_container-measure: 45ch;
|
|
3023
|
+
}
|
|
3024
|
+
:scope[data-ui-container-state~="fill"]:where([data-hn-ui-container]) {
|
|
3025
|
+
box-sizing: border-box;
|
|
3026
|
+
display: flex;
|
|
3027
|
+
flex-direction: column;
|
|
3028
|
+
flex: 1;
|
|
3029
|
+
min-inline-size: 0;
|
|
3030
|
+
min-block-size: 0;
|
|
3031
|
+
}
|
|
3032
|
+
:scope[data-ui-container-state~="measure=wide"]:where([data-hn-ui-container]) {
|
|
3033
|
+
--_container-measure: 80ch;
|
|
3034
|
+
}
|
|
3035
|
+
:scope[data-ui-container-state~="gutters=s"]:where([data-hn-ui-container]) {
|
|
3036
|
+
--_container-gutters: var(--ui-space-3);
|
|
3037
|
+
}
|
|
3038
|
+
:scope[data-ui-container-state~="gutters=m"]:where([data-hn-ui-container]) {
|
|
3039
|
+
--_container-gutters: var(--ui-space-4);
|
|
3040
|
+
}
|
|
3041
|
+
:scope[data-ui-container-state~="gutters=l"]:where([data-hn-ui-container]) {
|
|
3042
|
+
--_container-gutters: var(--ui-space-5);
|
|
3043
|
+
}
|
|
3044
|
+
:scope[hidden]:where([data-hn-ui-container]) {
|
|
3045
|
+
display: none;
|
|
3046
|
+
}
|
|
3047
|
+
}
|
|
3048
|
+
|
|
3049
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
3050
|
+
@property --ui-context-menu-surface {
|
|
3051
|
+
syntax: "*";
|
|
3052
|
+
inherits: false;
|
|
3053
|
+
}
|
|
3054
|
+
@property --ui-context-menu-border {
|
|
3055
|
+
syntax: "*";
|
|
3056
|
+
inherits: false;
|
|
3057
|
+
}
|
|
3058
|
+
@property --ui-context-menu-radius {
|
|
3059
|
+
syntax: "*";
|
|
3060
|
+
inherits: false;
|
|
3061
|
+
}
|
|
3062
|
+
@property --ui-context-menu-shadow {
|
|
3063
|
+
syntax: "*";
|
|
3064
|
+
inherits: false;
|
|
3065
|
+
}
|
|
3066
|
+
@property --ui-context-menu-z-index {
|
|
3067
|
+
syntax: "*";
|
|
3068
|
+
inherits: false;
|
|
3069
|
+
}
|
|
3070
|
+
|
|
3071
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
3072
|
+
@scope (.ui-context-menu) to ([data-hn]) {
|
|
3073
|
+
:scope:where([data-hn-ui-context-menu]) {
|
|
3074
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
3075
|
+
--_ui-context-menu-surface: var(--ui-context-menu-surface);
|
|
3076
|
+
--_ui-context-menu-border: var(--ui-context-menu-border);
|
|
3077
|
+
--_ui-context-menu-radius: var(--ui-context-menu-radius);
|
|
3078
|
+
--_ui-context-menu-shadow: var(--ui-context-menu-shadow);
|
|
3079
|
+
--_ui-context-menu-z-index: var(--ui-context-menu-z-index);
|
|
3080
|
+
|
|
3081
|
+
display: contents;
|
|
3082
|
+
}
|
|
3083
|
+
.menu:where([data-hn-ui-context-menu]) {
|
|
3084
|
+
position: fixed;
|
|
3085
|
+
inset: auto;
|
|
3086
|
+
margin: 0;
|
|
3087
|
+
display: flex;
|
|
3088
|
+
flex-direction: column;
|
|
3089
|
+
box-sizing: border-box;
|
|
3090
|
+
padding: var(--ui-space-1);
|
|
3091
|
+
background: var(
|
|
3092
|
+
--_ui-context-menu-surface,
|
|
3093
|
+
var(--ui-overlay-surface, var(--ui-surface-elevated))
|
|
3094
|
+
);
|
|
3095
|
+
border: var(--ui-border-width) solid
|
|
3096
|
+
var(--_ui-context-menu-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
3097
|
+
border-radius: var(--_ui-context-menu-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
3098
|
+
box-shadow: var(
|
|
3099
|
+
--_ui-context-menu-shadow,
|
|
3100
|
+
var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
|
|
3101
|
+
);
|
|
3102
|
+
outline: 0;
|
|
3103
|
+
overflow: auto;
|
|
3104
|
+
z-index: var(--_ui-context-menu-z-index, 1000);
|
|
3105
|
+
min-width: 12rem;
|
|
3106
|
+
opacity: 0;
|
|
3107
|
+
transform: translateY(-4px) scale(0.99);
|
|
3108
|
+
transition:
|
|
3109
|
+
opacity var(--ui-motion-fast) var(--ui-motion-ease),
|
|
3110
|
+
transform var(--ui-motion-fast) var(--ui-motion-ease),
|
|
3111
|
+
display var(--ui-motion-fast) allow-discrete,
|
|
3112
|
+
overlay var(--ui-motion-fast) allow-discrete;
|
|
3113
|
+
}
|
|
3114
|
+
.menu hr:where([data-hn-ui-context-menu]) {
|
|
3115
|
+
align-self: stretch;
|
|
3116
|
+
block-size: 0;
|
|
3117
|
+
margin: var(--ui-space-1) 0;
|
|
3118
|
+
border: 0;
|
|
3119
|
+
border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
|
|
3120
|
+
}
|
|
3121
|
+
.menu:popover-open:where([data-hn-ui-context-menu]) {
|
|
3122
|
+
opacity: 1;
|
|
3123
|
+
transform: translateY(0) scale(1);
|
|
3124
|
+
}
|
|
3125
|
+
@starting-style {
|
|
3126
|
+
.menu:popover-open:where([data-hn-ui-context-menu]) {
|
|
3127
|
+
opacity: 0;
|
|
3128
|
+
transform: translateY(-4px) scale(0.99);
|
|
3129
|
+
}
|
|
3130
|
+
}
|
|
3131
|
+
.menu[hidden]:where([data-hn-ui-context-menu]),.menu[popover]:not(:popover-open):where([data-hn-ui-context-menu]) {
|
|
3132
|
+
display: none;
|
|
3133
|
+
}
|
|
3134
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3135
|
+
.menu:where([data-hn-ui-context-menu]) {
|
|
3136
|
+
transition: none;
|
|
3137
|
+
}
|
|
3138
|
+
}
|
|
3139
|
+
:scope[hidden]:where([data-hn-ui-context-menu]) {
|
|
3140
|
+
display: none;
|
|
2799
3141
|
}
|
|
2800
3142
|
}
|
|
2801
3143
|
|
|
@@ -3042,13 +3384,13 @@ dd:where([data-hn-ui-description-item]) {
|
|
|
3042
3384
|
/* A CSS-drawn X. */
|
|
3043
3385
|
|
|
3044
3386
|
/* A touch target, like Button on coarse pointers. */
|
|
3045
|
-
@keyframes ui-dialog-enter-
|
|
3387
|
+
@keyframes ui-dialog-enter-3b5ed45a {
|
|
3046
3388
|
from {
|
|
3047
3389
|
opacity: 0;
|
|
3048
3390
|
transform: scale(0.96);
|
|
3049
3391
|
}
|
|
3050
3392
|
}
|
|
3051
|
-
@keyframes ui-dialog-backdrop-enter-
|
|
3393
|
+
@keyframes ui-dialog-backdrop-enter-3b5ed45a {
|
|
3052
3394
|
from {
|
|
3053
3395
|
background-color: transparent;
|
|
3054
3396
|
}
|
|
@@ -3096,7 +3438,7 @@ from {
|
|
|
3096
3438
|
pointer-events: auto;
|
|
3097
3439
|
opacity: 1;
|
|
3098
3440
|
transform: scale(1);
|
|
3099
|
-
animation: ui-dialog-enter-
|
|
3441
|
+
animation: ui-dialog-enter-3b5ed45a var(--ui-dialog-duration, var(--ui-motion-base))
|
|
3100
3442
|
var(--ui-motion-ease);
|
|
3101
3443
|
}
|
|
3102
3444
|
:scope[data-ui-dialog-state~="size=sm"]:where([data-hn-ui-dialog]) {
|
|
@@ -3217,7 +3559,7 @@ footer:empty:where([data-hn-ui-dialog]) {
|
|
|
3217
3559
|
}
|
|
3218
3560
|
:scope[open]:modal:where([data-hn-ui-dialog])::backdrop {
|
|
3219
3561
|
background-color: var(--ui-overlay-backdrop);
|
|
3220
|
-
animation: ui-dialog-backdrop-enter-
|
|
3562
|
+
animation: ui-dialog-backdrop-enter-3b5ed45a var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
3221
3563
|
var(--ui-motion-ease);
|
|
3222
3564
|
}
|
|
3223
3565
|
:scope[open][data-ui-backdrop-hidden]:where([data-hn-ui-dialog])::backdrop {
|
|
@@ -3226,24 +3568,205 @@ footer:empty:where([data-hn-ui-dialog]) {
|
|
|
3226
3568
|
transition: none;
|
|
3227
3569
|
}
|
|
3228
3570
|
}
|
|
3571
|
+
@scope ([data-slotted~="ui-dialog"]:not([data-hn])) to ([data-hn], [data-slotted]) {
|
|
3572
|
+
:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3573
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
3574
|
+
--_ui-dialog-duration: var(--ui-dialog-duration);
|
|
3229
3575
|
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3576
|
+
position: fixed;
|
|
3577
|
+
inset: 0;
|
|
3578
|
+
box-sizing: border-box;
|
|
3579
|
+
inline-size: min(
|
|
3580
|
+
calc(100% - var(--ui-dialog-viewport-gap, var(--ui-space-4)) * 2),
|
|
3581
|
+
var(--ui-dialog-max-width, var(--_ui-dialog-size, 440px))
|
|
3582
|
+
);
|
|
3583
|
+
max-inline-size: none;
|
|
3584
|
+
max-block-size: calc(100dvh - var(--ui-dialog-viewport-gap, var(--ui-space-4)) * 2);
|
|
3585
|
+
margin: auto;
|
|
3586
|
+
padding: 0;
|
|
3587
|
+
overflow: hidden;
|
|
3588
|
+
flex-direction: column;
|
|
3589
|
+
background: var(--ui-dialog-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
|
3590
|
+
border: var(--ui-border-width) solid
|
|
3591
|
+
var(--ui-dialog-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
3592
|
+
border-radius: var(--ui-dialog-radius, var(--ui-overlay-radius, var(--ui-radius-dialog)));
|
|
3593
|
+
box-shadow: var(
|
|
3594
|
+
--ui-dialog-shadow,
|
|
3595
|
+
var(--ui-overlay-shadow, var(--ui-elevation-dialog, var(--ui-shadow-xl)))
|
|
3596
|
+
);
|
|
3597
|
+
visibility: hidden;
|
|
3598
|
+
pointer-events: none;
|
|
3599
|
+
opacity: 0;
|
|
3600
|
+
transform: scale(0.96);
|
|
3601
|
+
transition:
|
|
3602
|
+
opacity var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease),
|
|
3603
|
+
transform var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease),
|
|
3604
|
+
visibility var(--ui-dialog-duration, var(--ui-motion-base)),
|
|
3605
|
+
display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
|
|
3606
|
+
overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
3607
|
+
}
|
|
3608
|
+
:where(.ui-dialog)[open]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3609
|
+
display: flex;
|
|
3610
|
+
visibility: visible;
|
|
3611
|
+
pointer-events: auto;
|
|
3612
|
+
opacity: 1;
|
|
3613
|
+
transform: scale(1);
|
|
3614
|
+
animation: ui-dialog-enter-3b5ed45a var(--ui-dialog-duration, var(--ui-motion-base))
|
|
3615
|
+
var(--ui-motion-ease);
|
|
3616
|
+
}
|
|
3617
|
+
:where(.ui-dialog)[data-ui-dialog-state~="size=sm"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3618
|
+
--_ui-dialog-size: 360px;
|
|
3619
|
+
}
|
|
3620
|
+
:where(.ui-dialog)[data-ui-dialog-state~="size=lg"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3621
|
+
--_ui-dialog-size: 640px;
|
|
3622
|
+
}
|
|
3623
|
+
:where(.ui-dialog)[data-ui-dialog-state~="size=fullscreen"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3624
|
+
inset: 0;
|
|
3625
|
+
inline-size: 100%;
|
|
3626
|
+
block-size: 100dvh;
|
|
3627
|
+
max-block-size: none;
|
|
3628
|
+
margin: 0;
|
|
3629
|
+
border-radius: var(--ui-dialog-radius, 0);
|
|
3630
|
+
}
|
|
3631
|
+
:where(.ui-dialog)[data-ui-dialog-state~="alert"]
|
|
3632
|
+
.close:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3633
|
+
display: none;
|
|
3634
|
+
}
|
|
3635
|
+
header:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
3636
|
+
display: flex;
|
|
3637
|
+
align-items: center;
|
|
3638
|
+
gap: var(--ui-space-3);
|
|
3639
|
+
flex: none;
|
|
3640
|
+
/* The title's ink sits inside its line box and the taller close target. Balance that
|
|
3641
|
+
visible top inset against the action row's bottom inset, not just the boxes. */
|
|
3642
|
+
padding: calc(var(--ui-space-3) + var(--ui-space-1) / 2) var(--ui-space-3) var(--ui-space-3)
|
|
3643
|
+
var(--ui-space-5);
|
|
3644
|
+
}
|
|
3645
|
+
:where(.ui-dialog)[data-ui-dialog-state~="alert"]
|
|
3646
|
+
header:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3647
|
+
padding: var(--ui-space-5) var(--ui-space-5) var(--ui-space-3);
|
|
3648
|
+
}
|
|
3649
|
+
:where(.ui-dialog)
|
|
3650
|
+
.title:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3651
|
+
flex: 1;
|
|
3652
|
+
min-inline-size: 0;
|
|
3653
|
+
margin: 0;
|
|
3654
|
+
padding: 0;
|
|
3655
|
+
border: 0;
|
|
3656
|
+
color: var(--ui-text-primary);
|
|
3657
|
+
letter-spacing: normal;
|
|
3658
|
+
font-size: var(--ui-font-size-lg);
|
|
3659
|
+
font-weight: var(--ui-font-semibold);
|
|
3660
|
+
line-height: var(--ui-line-height-tight);
|
|
3661
|
+
}
|
|
3662
|
+
.close:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
3663
|
+
display: inline-grid;
|
|
3664
|
+
place-items: center;
|
|
3665
|
+
flex: none;
|
|
3666
|
+
margin-inline-start: auto;
|
|
3667
|
+
inline-size: var(--ui-control-size-sm);
|
|
3668
|
+
block-size: var(--ui-control-size-sm);
|
|
3669
|
+
padding: 0;
|
|
3670
|
+
border: 0;
|
|
3671
|
+
border-radius: var(--ui-radius-round);
|
|
3672
|
+
background: transparent;
|
|
3673
|
+
color: var(--ui-text-secondary);
|
|
3674
|
+
cursor: pointer;
|
|
3675
|
+
transition:
|
|
3676
|
+
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
3677
|
+
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
3678
|
+
}
|
|
3679
|
+
.close:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where(:scope, :scope
|
|
3680
|
+
*):where([data-hn-ui-dialog])::before,.close:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where(:scope, :scope
|
|
3681
|
+
*):where([data-hn-ui-dialog])::after {
|
|
3682
|
+
content: "";
|
|
3683
|
+
grid-area: 1 / 1;
|
|
3684
|
+
inline-size: 0.875rem;
|
|
3685
|
+
block-size: 1.5px;
|
|
3686
|
+
border-radius: 1px;
|
|
3687
|
+
background: currentColor;
|
|
3688
|
+
transform: rotate(45deg);
|
|
3689
|
+
}
|
|
3690
|
+
.close:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where(:scope, :scope
|
|
3691
|
+
*):where([data-hn-ui-dialog])::after {
|
|
3692
|
+
transform: rotate(-45deg);
|
|
3693
|
+
}
|
|
3694
|
+
.close:hover:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
3695
|
+
background: var(--ui-surface-muted);
|
|
3696
|
+
color: var(--ui-text-primary);
|
|
3697
|
+
}
|
|
3698
|
+
.close:focus-visible:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
3699
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
3700
|
+
outline-offset: var(--ui-focus-width);
|
|
3701
|
+
}
|
|
3702
|
+
@media (pointer: coarse) {
|
|
3703
|
+
.close:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
3704
|
+
inline-size: var(--ui-control-min-block-size);
|
|
3705
|
+
block-size: var(--ui-control-min-block-size);
|
|
3706
|
+
}
|
|
3707
|
+
}
|
|
3708
|
+
html[data-ui-input-modality="touch"]
|
|
3709
|
+
:where(.ui-dialog)
|
|
3710
|
+
.close:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog]) {
|
|
3711
|
+
inline-size: var(--ui-control-min-block-size);
|
|
3712
|
+
block-size: var(--ui-control-min-block-size);
|
|
3713
|
+
}
|
|
3714
|
+
.body:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
3715
|
+
display: flex;
|
|
3716
|
+
flex-direction: column;
|
|
3717
|
+
flex: 1 1 auto;
|
|
3718
|
+
min-block-size: 0;
|
|
3719
|
+
padding: var(--ui-space-3) var(--ui-space-5) var(--ui-space-5);
|
|
3720
|
+
}
|
|
3721
|
+
footer:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
3722
|
+
display: flex;
|
|
3723
|
+
flex: none;
|
|
3724
|
+
flex-wrap: wrap;
|
|
3725
|
+
justify-content: flex-end;
|
|
3726
|
+
gap: var(--ui-space-2);
|
|
3727
|
+
padding: 0 var(--ui-space-5) var(--ui-space-5);
|
|
3728
|
+
}
|
|
3729
|
+
footer:empty:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
3730
|
+
display: none;
|
|
3731
|
+
}
|
|
3732
|
+
:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])::backdrop {
|
|
3733
|
+
background-color: transparent;
|
|
3734
|
+
transition:
|
|
3735
|
+
background-color var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease),
|
|
3736
|
+
display var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease)
|
|
3737
|
+
allow-discrete,
|
|
3738
|
+
overlay var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease)
|
|
3739
|
+
allow-discrete;
|
|
3740
|
+
}
|
|
3741
|
+
:where(.ui-dialog)[open]:modal:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])::backdrop {
|
|
3742
|
+
background-color: var(--ui-overlay-backdrop);
|
|
3743
|
+
animation: ui-dialog-backdrop-enter-3b5ed45a var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
3744
|
+
var(--ui-motion-ease);
|
|
3745
|
+
}
|
|
3746
|
+
:where(.ui-dialog)[open][data-ui-backdrop-hidden]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])::backdrop {
|
|
3747
|
+
background-color: transparent;
|
|
3748
|
+
animation: none;
|
|
3749
|
+
transition: none;
|
|
3750
|
+
}
|
|
3751
|
+
}
|
|
3752
|
+
|
|
3753
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
3754
|
+
@property --ui-disclosure-trigger-min-block-size {
|
|
3755
|
+
syntax: "*";
|
|
3756
|
+
inherits: false;
|
|
3757
|
+
}
|
|
3758
|
+
@property --ui-disclosure-trigger-padding-block {
|
|
3759
|
+
syntax: "*";
|
|
3760
|
+
inherits: false;
|
|
3761
|
+
}
|
|
3762
|
+
@property --ui-disclosure-trigger-padding-inline {
|
|
3763
|
+
syntax: "*";
|
|
3764
|
+
inherits: false;
|
|
3765
|
+
}
|
|
3766
|
+
|
|
3767
|
+
/* Density resolves into the summary row's own values; the public tokens still override them. */
|
|
3768
|
+
|
|
3769
|
+
/* An accordion row, not a field: no enclosing box, just a divider, so it never reads as a
|
|
3247
3770
|
* select or combobox. Stacked disclosures share their dividers. */
|
|
3248
3771
|
|
|
3249
3772
|
/* A bounded accordion owns one flexible body, so its trigger never scrolls away. The
|
|
@@ -7499,6 +8022,73 @@ ul:where([data-hn-ui-editor-slash-menu-group]) {
|
|
|
7499
8022
|
display: none;
|
|
7500
8023
|
}
|
|
7501
8024
|
}
|
|
8025
|
+
@scope ([data-slotted~="ui-listbox"]:not([data-hn])) to ([data-hn], [data-slotted]) {
|
|
8026
|
+
:where(.ui-listbox):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-listbox"]))):where([data-hn-ui-listbox]) {
|
|
8027
|
+
position: relative;
|
|
8028
|
+
box-sizing: border-box;
|
|
8029
|
+
display: block;
|
|
8030
|
+
inline-size: 100%;
|
|
8031
|
+
min-inline-size: 0;
|
|
8032
|
+
margin: 0;
|
|
8033
|
+
padding: var(--ui-space-1);
|
|
8034
|
+
border: var(--ui-border-width) solid var(--ui-listbox-border, var(--ui-control-border));
|
|
8035
|
+
border-radius: var(--ui-listbox-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
8036
|
+
background: var(--ui-listbox-surface, var(--ui-control-surface));
|
|
8037
|
+
color: var(--ui-text-primary);
|
|
8038
|
+
font: inherit;
|
|
8039
|
+
line-height: var(--ui-line-height-md);
|
|
8040
|
+
box-shadow: var(--ui-control-inset);
|
|
8041
|
+
outline: none;
|
|
8042
|
+
}
|
|
8043
|
+
.choices:where(:scope, :scope *):where([data-hn-ui-listbox]) {
|
|
8044
|
+
display: flex;
|
|
8045
|
+
flex-direction: column;
|
|
8046
|
+
max-block-size: calc(max(2, var(--_rows, 5)) * var(--ui-control-size-md));
|
|
8047
|
+
}
|
|
8048
|
+
:where(.ui-listbox):not([data-enhanced]):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-listbox"]))):where([data-hn-ui-listbox]) {
|
|
8049
|
+
padding: 0;
|
|
8050
|
+
border: 0;
|
|
8051
|
+
background: transparent;
|
|
8052
|
+
box-shadow: none;
|
|
8053
|
+
}
|
|
8054
|
+
:where(.ui-listbox):not([data-enhanced])
|
|
8055
|
+
.choices:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-listbox"]))):where([data-hn-ui-listbox]),:where(.ui-listbox)[data-enhanced]
|
|
8056
|
+
.fallback:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-listbox"]))):where([data-hn-ui-listbox]) {
|
|
8057
|
+
display: none;
|
|
8058
|
+
}
|
|
8059
|
+
.fallback:where(:scope, :scope *):where([data-hn-ui-listbox]) {
|
|
8060
|
+
box-sizing: border-box;
|
|
8061
|
+
inline-size: 100%;
|
|
8062
|
+
font: inherit;
|
|
8063
|
+
}
|
|
8064
|
+
.validity:where(:scope, :scope *):where([data-hn-ui-listbox]) {
|
|
8065
|
+
position: absolute;
|
|
8066
|
+
inline-size: 1px;
|
|
8067
|
+
block-size: 1px;
|
|
8068
|
+
overflow: hidden;
|
|
8069
|
+
clip-path: inset(50%);
|
|
8070
|
+
opacity: 0;
|
|
8071
|
+
pointer-events: none;
|
|
8072
|
+
}
|
|
8073
|
+
:where(.ui-listbox):focus-visible:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-listbox"]))):where([data-hn-ui-listbox]) {
|
|
8074
|
+
border-color: var(--ui-control-focus);
|
|
8075
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
8076
|
+
outline-offset: var(--ui-focus-width);
|
|
8077
|
+
box-shadow: var(--ui-listbox-focus-shadow, var(--ui-focus-halo));
|
|
8078
|
+
}
|
|
8079
|
+
:where(.ui-listbox)[aria-invalid="true"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-listbox"]))):where([data-hn-ui-listbox]) {
|
|
8080
|
+
border-color: var(--ui-listbox-invalid-border, var(--ui-field-danger, var(--ui-danger)));
|
|
8081
|
+
}
|
|
8082
|
+
:where(.ui-listbox)[aria-disabled="true"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-listbox"]))):where([data-hn-ui-listbox]) {
|
|
8083
|
+
background: var(--ui-control-surface-disabled);
|
|
8084
|
+
color: var(--ui-disabled-text);
|
|
8085
|
+
box-shadow: none;
|
|
8086
|
+
cursor: not-allowed;
|
|
8087
|
+
}
|
|
8088
|
+
:where(.ui-listbox)[hidden]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-listbox"]))):where([data-hn-ui-listbox]) {
|
|
8089
|
+
display: none;
|
|
8090
|
+
}
|
|
8091
|
+
}
|
|
7502
8092
|
|
|
7503
8093
|
@scope (.ui-menu-group) to ([data-hn]) {
|
|
7504
8094
|
:scope:where([data-hn-ui-menu-group]) {
|
|
@@ -9418,17 +10008,76 @@ input:where([data-hn-ui-switch]),input:where([data-hn-ui-switch])::after {
|
|
|
9418
10008
|
display: none;
|
|
9419
10009
|
}
|
|
9420
10010
|
}
|
|
10011
|
+
@scope ([data-slotted~="ui-toast"]:not([data-hn])) to ([data-hn], [data-slotted]) {
|
|
10012
|
+
:where(.ui-toast):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast"]))):where([data-hn-ui-toast]) {
|
|
10013
|
+
--_ui-toast-accent: var(--ui-border-strong);
|
|
10014
|
+
--_ui-toast-surface: var(--ui-surface-muted);
|
|
9421
10015
|
|
|
9422
|
-
|
|
9423
|
-
|
|
9424
|
-
|
|
9425
|
-
|
|
10016
|
+
display: flex;
|
|
10017
|
+
align-items: center;
|
|
10018
|
+
gap: var(--ui-space-2);
|
|
10019
|
+
box-sizing: border-box;
|
|
10020
|
+
inline-size: 100%;
|
|
10021
|
+
margin: 0;
|
|
10022
|
+
padding: var(--ui-space-3) var(--ui-space-4);
|
|
10023
|
+
/* The close button's internal space supplies the rest of the trailing inset. */
|
|
10024
|
+
padding-inline-end: var(--ui-space-2);
|
|
10025
|
+
border: var(--ui-border-width) solid
|
|
10026
|
+
var(
|
|
10027
|
+
--ui-toast-border,
|
|
10028
|
+
var(--ui-overlay-border, var(--ui-toast-accent, var(--_ui-toast-accent)))
|
|
10029
|
+
);
|
|
10030
|
+
border-radius: var(--ui-toast-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
10031
|
+
background: var(--ui-toast-surface, var(--ui-overlay-surface, var(--_ui-toast-surface)));
|
|
10032
|
+
color: var(--ui-text-primary);
|
|
10033
|
+
font-family: var(--ui-font-family-sans);
|
|
10034
|
+
font-size: var(--ui-font-size-sm);
|
|
10035
|
+
font-weight: var(--ui-font-normal);
|
|
10036
|
+
line-height: var(--ui-line-height-md);
|
|
10037
|
+
box-shadow: var(
|
|
10038
|
+
--ui-toast-shadow,
|
|
10039
|
+
var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
|
|
10040
|
+
);
|
|
10041
|
+
pointer-events: auto;
|
|
9426
10042
|
}
|
|
9427
|
-
|
|
9428
|
-
|
|
9429
|
-
|
|
10043
|
+
:where(.ui-toast)[data-ui-toast-state~="tone=info"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast"]))):where([data-hn-ui-toast]) {
|
|
10044
|
+
--_ui-toast-accent: var(--ui-info-solid);
|
|
10045
|
+
--_ui-toast-surface: var(--ui-info-soft);
|
|
9430
10046
|
}
|
|
9431
|
-
|
|
10047
|
+
:where(.ui-toast)[data-ui-toast-state~="tone=success"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast"]))):where([data-hn-ui-toast]) {
|
|
10048
|
+
--_ui-toast-accent: var(--ui-success-solid);
|
|
10049
|
+
--_ui-toast-surface: var(--ui-success-soft);
|
|
10050
|
+
}
|
|
10051
|
+
:where(.ui-toast)[data-ui-toast-state~="tone=warning"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast"]))):where([data-hn-ui-toast]) {
|
|
10052
|
+
--_ui-toast-accent: var(--ui-warning-solid);
|
|
10053
|
+
--_ui-toast-surface: var(--ui-warning-soft);
|
|
10054
|
+
}
|
|
10055
|
+
:where(.ui-toast)[data-ui-toast-state~="tone=danger"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast"]))):where([data-hn-ui-toast]) {
|
|
10056
|
+
--_ui-toast-accent: var(--ui-danger-solid);
|
|
10057
|
+
--_ui-toast-surface: var(--ui-danger-soft);
|
|
10058
|
+
}
|
|
10059
|
+
.message:where(:scope, :scope *):where([data-hn-ui-toast]) {
|
|
10060
|
+
min-inline-size: 0;
|
|
10061
|
+
flex: 1;
|
|
10062
|
+
}
|
|
10063
|
+
.action:not(:has(> *)):where(:scope, :scope *):where([data-hn-ui-toast]) {
|
|
10064
|
+
display: none;
|
|
10065
|
+
}
|
|
10066
|
+
:where(.ui-toast)[hidden]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast"]))):where([data-hn-ui-toast]) {
|
|
10067
|
+
display: none;
|
|
10068
|
+
}
|
|
10069
|
+
}
|
|
10070
|
+
|
|
10071
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
10072
|
+
@property --ui-toast-region-surface {
|
|
10073
|
+
syntax: "*";
|
|
10074
|
+
inherits: false;
|
|
10075
|
+
}
|
|
10076
|
+
@property --ui-toast-region-border {
|
|
10077
|
+
syntax: "*";
|
|
10078
|
+
inherits: false;
|
|
10079
|
+
}
|
|
10080
|
+
@property --ui-toast-region-radius {
|
|
9432
10081
|
syntax: "*";
|
|
9433
10082
|
inherits: false;
|
|
9434
10083
|
}
|
|
@@ -9446,7 +10095,7 @@ input:where([data-hn-ui-switch]),input:where([data-hn-ui-switch])::after {
|
|
|
9446
10095
|
}
|
|
9447
10096
|
|
|
9448
10097
|
/* Leaving slides on down and fades; the controller removes the toast when this ends. */
|
|
9449
|
-
@keyframes ui-toast-enter-
|
|
10098
|
+
@keyframes ui-toast-enter-1bebce00 {
|
|
9450
10099
|
from {
|
|
9451
10100
|
opacity: 0;
|
|
9452
10101
|
transform: translateY(-1rem);
|
|
@@ -9456,7 +10105,7 @@ to {
|
|
|
9456
10105
|
transform: translateY(0);
|
|
9457
10106
|
}
|
|
9458
10107
|
}
|
|
9459
|
-
@keyframes ui-toast-exit-
|
|
10108
|
+
@keyframes ui-toast-exit-1bebce00 {
|
|
9460
10109
|
from {
|
|
9461
10110
|
opacity: 1;
|
|
9462
10111
|
transform: translateY(0);
|
|
@@ -9466,7 +10115,7 @@ to {
|
|
|
9466
10115
|
transform: translateY(0.75rem);
|
|
9467
10116
|
}
|
|
9468
10117
|
}
|
|
9469
|
-
@keyframes ui-toast-enter-bottom-
|
|
10118
|
+
@keyframes ui-toast-enter-bottom-1bebce00 {
|
|
9470
10119
|
from {
|
|
9471
10120
|
opacity: 0;
|
|
9472
10121
|
transform: translateY(1rem);
|
|
@@ -9476,7 +10125,7 @@ to {
|
|
|
9476
10125
|
transform: translateY(0);
|
|
9477
10126
|
}
|
|
9478
10127
|
}
|
|
9479
|
-
@keyframes ui-toast-exit-bottom-
|
|
10128
|
+
@keyframes ui-toast-exit-bottom-1bebce00 {
|
|
9480
10129
|
from {
|
|
9481
10130
|
opacity: 1;
|
|
9482
10131
|
transform: translateY(0);
|
|
@@ -9567,7 +10216,7 @@ to {
|
|
|
9567
10216
|
--_ui-toast-region-shadow,
|
|
9568
10217
|
var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
|
|
9569
10218
|
);
|
|
9570
|
-
animation: ui-toast-enter-
|
|
10219
|
+
animation: ui-toast-enter-1bebce00 var(--_ui-toast-region-enter-duration, 0.32s)
|
|
9571
10220
|
var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
|
9572
10221
|
}
|
|
9573
10222
|
.toast[data-tone="info"]:where([data-hn-ui-toast-region]) {
|
|
@@ -9587,17 +10236,17 @@ to {
|
|
|
9587
10236
|
--_ui-toast-region-tone-surface: var(--ui-danger-soft);
|
|
9588
10237
|
}
|
|
9589
10238
|
.toast.closing:where([data-hn-ui-toast-region]) {
|
|
9590
|
-
animation: ui-toast-exit-
|
|
10239
|
+
animation: ui-toast-exit-1bebce00 var(--_ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease)
|
|
9591
10240
|
both;
|
|
9592
10241
|
pointer-events: none;
|
|
9593
10242
|
}
|
|
9594
10243
|
:is(:scope[data-ui-toast-region-state~="placement=bottom"], :scope[data-ui-toast-region-state~="placement=bottom-start"], :scope[data-ui-toast-region-state~="placement=bottom-end"])
|
|
9595
10244
|
.toast:where([data-hn-ui-toast-region]) {
|
|
9596
|
-
animation-name: ui-toast-enter-bottom-
|
|
10245
|
+
animation-name: ui-toast-enter-bottom-1bebce00;
|
|
9597
10246
|
}
|
|
9598
10247
|
:is(:scope[data-ui-toast-region-state~="placement=bottom"], :scope[data-ui-toast-region-state~="placement=bottom-start"], :scope[data-ui-toast-region-state~="placement=bottom-end"])
|
|
9599
10248
|
.toast.closing:where([data-hn-ui-toast-region]) {
|
|
9600
|
-
animation-name: ui-toast-exit-bottom-
|
|
10249
|
+
animation-name: ui-toast-exit-bottom-1bebce00;
|
|
9601
10250
|
}
|
|
9602
10251
|
@media (prefers-reduced-motion: reduce) {
|
|
9603
10252
|
.toast:where([data-hn-ui-toast-region]),.toast.closing:where([data-hn-ui-toast-region]) {
|
|
@@ -9615,6 +10264,130 @@ to {
|
|
|
9615
10264
|
display: none;
|
|
9616
10265
|
}
|
|
9617
10266
|
}
|
|
10267
|
+
@scope ([data-slotted~="ui-toast-region"]:not([data-hn])) to ([data-hn], [data-slotted]) {
|
|
10268
|
+
:where(.ui-toast-region):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]) {
|
|
10269
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
10270
|
+
--_ui-toast-region-surface: var(--ui-toast-region-surface);
|
|
10271
|
+
--_ui-toast-region-border: var(--ui-toast-region-border);
|
|
10272
|
+
--_ui-toast-region-radius: var(--ui-toast-region-radius);
|
|
10273
|
+
--_ui-toast-region-shadow: var(--ui-toast-region-shadow);
|
|
10274
|
+
--_ui-toast-region-enter-duration: var(--ui-toast-region-enter-duration);
|
|
10275
|
+
--_ui-toast-region-exit-duration: var(--ui-toast-region-exit-duration);
|
|
10276
|
+
|
|
10277
|
+
position: fixed;
|
|
10278
|
+
top: calc(var(--ui-space-4) + env(safe-area-inset-top));
|
|
10279
|
+
right: auto;
|
|
10280
|
+
bottom: auto;
|
|
10281
|
+
left: 50%;
|
|
10282
|
+
transform: translateX(-50%);
|
|
10283
|
+
z-index: 9999;
|
|
10284
|
+
display: grid;
|
|
10285
|
+
gap: var(--ui-space-2);
|
|
10286
|
+
inline-size: min(24rem, calc(100vw - var(--ui-space-4) * 2));
|
|
10287
|
+
max-inline-size: 100%;
|
|
10288
|
+
box-sizing: border-box;
|
|
10289
|
+
margin: 0;
|
|
10290
|
+
padding: 0;
|
|
10291
|
+
overflow: visible;
|
|
10292
|
+
border: 0;
|
|
10293
|
+
outline: 0;
|
|
10294
|
+
background: transparent;
|
|
10295
|
+
box-shadow: none;
|
|
10296
|
+
pointer-events: none;
|
|
10297
|
+
}
|
|
10298
|
+
:where(.ui-toast-region):not(:popover-open):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]) {
|
|
10299
|
+
display: none;
|
|
10300
|
+
}
|
|
10301
|
+
:where(.ui-toast-region)[data-ui-toast-region-state~="placement=top-start"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]),:where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom-start"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]) {
|
|
10302
|
+
left: auto;
|
|
10303
|
+
right: auto;
|
|
10304
|
+
inset-inline-start: calc(var(--ui-space-4) + env(safe-area-inset-left));
|
|
10305
|
+
transform: none;
|
|
10306
|
+
}
|
|
10307
|
+
:where(.ui-toast-region)[data-ui-toast-region-state~="placement=top-end"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]),:where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom-end"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]) {
|
|
10308
|
+
left: auto;
|
|
10309
|
+
right: auto;
|
|
10310
|
+
inset-inline-end: calc(var(--ui-space-4) + env(safe-area-inset-right));
|
|
10311
|
+
transform: none;
|
|
10312
|
+
}
|
|
10313
|
+
:where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]),:where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom-start"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]),:where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom-end"]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]) {
|
|
10314
|
+
top: auto;
|
|
10315
|
+
bottom: calc(var(--ui-space-4) + env(safe-area-inset-bottom));
|
|
10316
|
+
}
|
|
10317
|
+
.toast:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10318
|
+
--_ui-toast-region-accent: var(--ui-border-strong);
|
|
10319
|
+
--_ui-toast-region-tone-surface: var(--ui-surface-muted);
|
|
10320
|
+
display: grid;
|
|
10321
|
+
grid-template-columns: 1fr auto;
|
|
10322
|
+
gap: var(--ui-space-2);
|
|
10323
|
+
align-items: start;
|
|
10324
|
+
border: var(--ui-border-width) solid
|
|
10325
|
+
var(--_ui-toast-region-border, var(--ui-overlay-border, var(--_ui-toast-region-accent)));
|
|
10326
|
+
border-radius: var(--_ui-toast-region-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
10327
|
+
padding: var(--ui-space-3) var(--ui-space-4);
|
|
10328
|
+
/* The close button's internal space supplies the rest of the trailing inset. */
|
|
10329
|
+
padding-inline-end: var(--ui-space-2);
|
|
10330
|
+
background: var(
|
|
10331
|
+
--_ui-toast-region-surface,
|
|
10332
|
+
var(--ui-overlay-surface, var(--_ui-toast-region-tone-surface))
|
|
10333
|
+
);
|
|
10334
|
+
color: var(--ui-text-primary);
|
|
10335
|
+
font-family: var(--ui-font-family-sans);
|
|
10336
|
+
font-size: var(--ui-font-size-sm);
|
|
10337
|
+
font-weight: var(--ui-font-normal);
|
|
10338
|
+
line-height: var(--ui-line-height-md);
|
|
10339
|
+
box-shadow: var(
|
|
10340
|
+
--_ui-toast-region-shadow,
|
|
10341
|
+
var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
|
|
10342
|
+
);
|
|
10343
|
+
animation: ui-toast-enter-1bebce00 var(--_ui-toast-region-enter-duration, 0.32s)
|
|
10344
|
+
var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
|
10345
|
+
}
|
|
10346
|
+
.toast[data-tone="info"]:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10347
|
+
--_ui-toast-region-accent: var(--ui-info-solid);
|
|
10348
|
+
--_ui-toast-region-tone-surface: var(--ui-info-soft);
|
|
10349
|
+
}
|
|
10350
|
+
.toast[data-tone="success"]:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10351
|
+
--_ui-toast-region-accent: var(--ui-success-solid);
|
|
10352
|
+
--_ui-toast-region-tone-surface: var(--ui-success-soft);
|
|
10353
|
+
}
|
|
10354
|
+
.toast[data-tone="warning"]:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10355
|
+
--_ui-toast-region-accent: var(--ui-warning-solid);
|
|
10356
|
+
--_ui-toast-region-tone-surface: var(--ui-warning-soft);
|
|
10357
|
+
}
|
|
10358
|
+
.toast[data-tone="danger"]:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10359
|
+
--_ui-toast-region-accent: var(--ui-danger-solid);
|
|
10360
|
+
--_ui-toast-region-tone-surface: var(--ui-danger-soft);
|
|
10361
|
+
}
|
|
10362
|
+
.toast.closing:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10363
|
+
animation: ui-toast-exit-1bebce00 var(--_ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease)
|
|
10364
|
+
both;
|
|
10365
|
+
pointer-events: none;
|
|
10366
|
+
}
|
|
10367
|
+
:is(:where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom"], :where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom-start"], :where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom-end"])
|
|
10368
|
+
.toast:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]) {
|
|
10369
|
+
animation-name: ui-toast-enter-bottom-1bebce00;
|
|
10370
|
+
}
|
|
10371
|
+
:is(:where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom"], :where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom-start"], :where(.ui-toast-region)[data-ui-toast-region-state~="placement=bottom-end"])
|
|
10372
|
+
.toast.closing:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]) {
|
|
10373
|
+
animation-name: ui-toast-exit-bottom-1bebce00;
|
|
10374
|
+
}
|
|
10375
|
+
@media (prefers-reduced-motion: reduce) {
|
|
10376
|
+
.toast:where(:scope, :scope *):where([data-hn-ui-toast-region]),.toast.closing:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10377
|
+
animation: none;
|
|
10378
|
+
}
|
|
10379
|
+
}
|
|
10380
|
+
.message:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10381
|
+
min-inline-size: 0;
|
|
10382
|
+
align-self: center;
|
|
10383
|
+
}
|
|
10384
|
+
.dismiss:where(:scope, :scope *):where([data-hn-ui-toast-region]) {
|
|
10385
|
+
align-self: center;
|
|
10386
|
+
}
|
|
10387
|
+
:where(.ui-toast-region)[hidden]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-toast-region"]))):where([data-hn-ui-toast-region]) {
|
|
10388
|
+
display: none;
|
|
10389
|
+
}
|
|
10390
|
+
}
|
|
9618
10391
|
|
|
9619
10392
|
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
9620
10393
|
@property --ui-top-bar-actions-gap {
|
|
@@ -9718,107 +10491,625 @@ to {
|
|
|
9718
10491
|
:scope[data-ui-tree-state~="marquee"]:where([data-hn-ui-tree]) {
|
|
9719
10492
|
--_ui-default-tree-item-marquee: 1;
|
|
9720
10493
|
}
|
|
9721
|
-
:scope[data-ui-tree-state~="density=compact"]:where([data-hn-ui-tree]) {
|
|
9722
|
-
--_ui-default-tree-item-min-block-size: var(--ui-control-size-sm);
|
|
9723
|
-
--_ui-default-tree-item-font-size: var(--ui-font-size-sm);
|
|
9724
|
-
--_ui-default-tree-item-label-padding-block: 0;
|
|
10494
|
+
:scope[data-ui-tree-state~="density=compact"]:where([data-hn-ui-tree]) {
|
|
10495
|
+
--_ui-default-tree-item-min-block-size: var(--ui-control-size-sm);
|
|
10496
|
+
--_ui-default-tree-item-font-size: var(--ui-font-size-sm);
|
|
10497
|
+
--_ui-default-tree-item-label-padding-block: 0;
|
|
10498
|
+
}
|
|
10499
|
+
:scope:where([data-hn-ui-tree]) {
|
|
10500
|
+
/* Hooks do not inherit: the tree hands its own to its items here, and a tree nested in an item
|
|
10501
|
+
starts again from its own settings. */
|
|
10502
|
+
--_ui-tree-indent: var(--ui-tree-indent);
|
|
10503
|
+
--_ui-tree-drop-color: var(--ui-tree-drop-color);
|
|
10504
|
+
--_ui-default-tree-item-marquee: initial;
|
|
10505
|
+
--_ui-default-tree-item-min-block-size: initial;
|
|
10506
|
+
--_ui-default-tree-item-font-size: initial;
|
|
10507
|
+
--_ui-default-tree-item-label-padding-block: initial;
|
|
10508
|
+
display: block;
|
|
10509
|
+
min-inline-size: 0;
|
|
10510
|
+
padding-inline-start: var(--ui-tree-gutter, 0px);
|
|
10511
|
+
}
|
|
10512
|
+
:scope[data-move-mode]:where([data-hn-ui-tree])::after {
|
|
10513
|
+
content: "Choose a destination row, or use Up and Down; Right nests inside a branch. Enter places it, Escape cancels.";
|
|
10514
|
+
display: block;
|
|
10515
|
+
padding: var(--ui-space-2);
|
|
10516
|
+
color: var(--ui-text-secondary);
|
|
10517
|
+
font-size: var(--ui-font-size-sm);
|
|
10518
|
+
}
|
|
10519
|
+
:scope[hidden]:where([data-hn-ui-tree]) {
|
|
10520
|
+
display: none;
|
|
10521
|
+
}
|
|
10522
|
+
}
|
|
10523
|
+
|
|
10524
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
10525
|
+
@property --ui-tree-item-depth {
|
|
10526
|
+
syntax: "*";
|
|
10527
|
+
inherits: false;
|
|
10528
|
+
}
|
|
10529
|
+
@property --ui-tree-item-font-size {
|
|
10530
|
+
syntax: "*";
|
|
10531
|
+
inherits: false;
|
|
10532
|
+
}
|
|
10533
|
+
@property --ui-tree-item-label-padding-block {
|
|
10534
|
+
syntax: "*";
|
|
10535
|
+
inherits: false;
|
|
10536
|
+
}
|
|
10537
|
+
@property --ui-tree-item-label-padding-inline {
|
|
10538
|
+
syntax: "*";
|
|
10539
|
+
inherits: false;
|
|
10540
|
+
}
|
|
10541
|
+
@property --ui-tree-item-min-block-size {
|
|
10542
|
+
syntax: "*";
|
|
10543
|
+
inherits: false;
|
|
10544
|
+
}
|
|
10545
|
+
|
|
10546
|
+
/* Selection is the same surface recipe as destination and choice rows. */
|
|
10547
|
+
|
|
10548
|
+
/* Child combinators: drop feedback belongs to this item's own row, not the rows nested in it. */
|
|
10549
|
+
|
|
10550
|
+
/* Lucide grip-vertical, filling the handle as in Looma 0.2. */
|
|
10551
|
+
|
|
10552
|
+
/* Slotted content is outside this scope, so :has() cannot see it; hide only a truly empty slot. */
|
|
10553
|
+
|
|
10554
|
+
/* Icons match the label's size (as in Knit's tree): an unsized SVG would otherwise render 300×150. */
|
|
10555
|
+
|
|
10556
|
+
/* The label spans the row's height and centres its content, so slotted content (a link) can
|
|
10557
|
+
stretch to fill the row as its own hit area; the padding tokens remove the inset. */
|
|
10558
|
+
|
|
10559
|
+
/* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
|
|
10560
|
+
its own text and reading as overflow. */
|
|
10561
|
+
|
|
10562
|
+
/* The controls sit over the label's end, so the text fades out where they begin. The fade is
|
|
10563
|
+
the truncation mark while it shows: an ellipsis under it would read as a second one. */
|
|
10564
|
+
|
|
10565
|
+
/* A hovered row reads its whole name: the label slides far enough to show the end, rests
|
|
10566
|
+
there, and starts again. Only when it actually overflows — the controller measures by how
|
|
10567
|
+
much — after the controls have taken their place over its end — and hands over the distance
|
|
10568
|
+
and a duration from it, so every name moves at the same speed. */
|
|
10569
|
+
|
|
10570
|
+
/* This comes after the hover fade, which it replaces at the same specificity. While the name
|
|
10571
|
+
slides, the label reaches back under the icon (the controller measures how far) with its text
|
|
10572
|
+
where it was, and fades out across the gap before the icon, fully gone where the icon begins
|
|
10573
|
+
to cover it: the name slips under the icon rather than stopping at a hard edge beside it. */
|
|
10574
|
+
@keyframes ui-tree-item-marquee-fc4c8748 {
|
|
10575
|
+
from {
|
|
10576
|
+
transform: translateX(0);
|
|
10577
|
+
}
|
|
10578
|
+
to {
|
|
10579
|
+
transform: translateX(var(--_marquee-distance));
|
|
10580
|
+
}
|
|
10581
|
+
}
|
|
10582
|
+
|
|
10583
|
+
/* Reduced motion keeps the fade, which already says the name continues. */
|
|
10584
|
+
|
|
10585
|
+
/* Without hover there is no reveal, so the controls keep their own column. */
|
|
10586
|
+
|
|
10587
|
+
/* The handle sits beside what it drags. A leaf row has no disclosure, so the handle takes that
|
|
10588
|
+
empty column, right before the icon; a branch's disclosure is there, so its handle sits just
|
|
10589
|
+
outside the row. It is bare until pointed at: a resting surface behind it read as a faint
|
|
10590
|
+
patch rather than as a control. */
|
|
10591
|
+
|
|
10592
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
10593
|
+
@scope (.ui-tree-item) to ([data-hn]) {
|
|
10594
|
+
:scope:where([data-hn-ui-tree-item]) {
|
|
10595
|
+
/* Hooks do not inherit, so the parts below read them from the root. The tree's density
|
|
10596
|
+
sets the defaults, in --_ui-default-*. */
|
|
10597
|
+
--_ui-tree-item-min-block-size: var(
|
|
10598
|
+
--ui-tree-item-min-block-size,
|
|
10599
|
+
var(--_ui-default-tree-item-min-block-size)
|
|
10600
|
+
);
|
|
10601
|
+
--_ui-tree-item-font-size: var(
|
|
10602
|
+
--ui-tree-item-font-size,
|
|
10603
|
+
var(--_ui-default-tree-item-font-size)
|
|
10604
|
+
);
|
|
10605
|
+
--_ui-tree-item-label-padding-block: var(
|
|
10606
|
+
--ui-tree-item-label-padding-block,
|
|
10607
|
+
var(--_ui-default-tree-item-label-padding-block)
|
|
10608
|
+
);
|
|
10609
|
+
--_ui-tree-item-label-padding-inline: var(--ui-tree-item-label-padding-inline);
|
|
10610
|
+
|
|
10611
|
+
--_tree-row-min-height: 32px;
|
|
10612
|
+
--_tree-disclosure-size: 16px;
|
|
10613
|
+
|
|
10614
|
+
position: relative;
|
|
10615
|
+
display: block;
|
|
10616
|
+
min-inline-size: 0;
|
|
10617
|
+
margin-inline-start: calc(var(--_ui-tree-item-indent-step, 0) * var(--_ui-tree-indent, 16px));
|
|
10618
|
+
}
|
|
10619
|
+
.row:where([data-hn-ui-tree-item]) {
|
|
10620
|
+
position: relative;
|
|
10621
|
+
display: grid;
|
|
10622
|
+
grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
|
|
10623
|
+
align-items: center;
|
|
10624
|
+
min-block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
|
|
10625
|
+
min-inline-size: 0;
|
|
10626
|
+
font-size: var(--_ui-tree-item-font-size, var(--ui-font-size-sm));
|
|
10627
|
+
border-radius: var(--ui-selection-radius);
|
|
10628
|
+
color: var(--ui-text-secondary);
|
|
10629
|
+
transition:
|
|
10630
|
+
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
10631
|
+
color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
10632
|
+
opacity var(--ui-motion-fast) var(--ui-motion-ease),
|
|
10633
|
+
box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
|
|
10634
|
+
min-block-size var(--ui-motion-base) var(--ui-motion-ease);
|
|
10635
|
+
}
|
|
10636
|
+
.row:hover:where([data-hn-ui-tree-item]),.row:focus-within:where([data-hn-ui-tree-item]) {
|
|
10637
|
+
color: var(--ui-text-primary);
|
|
10638
|
+
background: var(--_ui-selection-context-surface, var(--ui-surface-muted));
|
|
10639
|
+
box-shadow: inset 0 0 0 var(--ui-border-width)
|
|
10640
|
+
var(--_ui-selection-context-border, var(--ui-selection-border));
|
|
10641
|
+
}
|
|
10642
|
+
:scope[data-ui-tree-item-state~="selected"] > .row:where([data-hn-ui-tree-item]) {
|
|
10643
|
+
color: var(--_ui-selection-context-text, var(--ui-selection-text));
|
|
10644
|
+
background: var(--_ui-selection-context-surface, var(--ui-selection-surface));
|
|
10645
|
+
box-shadow: inset 0 0 0 var(--ui-border-width)
|
|
10646
|
+
var(--_ui-selection-context-border, var(--ui-selection-border));
|
|
10647
|
+
}
|
|
10648
|
+
:scope[data-ui-tree-item-state~="selected"]:not([aria-disabled="true"])
|
|
10649
|
+
> .row
|
|
10650
|
+
> .leading:where([data-hn-ui-tree-item]) {
|
|
10651
|
+
color: var(--_ui-selection-context-text, var(--ui-selection-text));
|
|
10652
|
+
}
|
|
10653
|
+
:scope[data-ui-tree-item-state~="disabled"] .row:where([data-hn-ui-tree-item]) {
|
|
10654
|
+
color: var(--ui-disabled-text);
|
|
10655
|
+
background: var(--ui-disabled-surface);
|
|
10656
|
+
box-shadow: none;
|
|
10657
|
+
}
|
|
10658
|
+
:scope[data-dragging]:not([data-move-source]) .row:where([data-hn-ui-tree-item]) {
|
|
10659
|
+
opacity: 0.42;
|
|
10660
|
+
}
|
|
10661
|
+
:scope[data-move-source] > .row > .label:where([data-hn-ui-tree-item]),:scope[data-move-source] > .row > .leading:where([data-hn-ui-tree-item]) {
|
|
10662
|
+
opacity: 0.42;
|
|
10663
|
+
}
|
|
10664
|
+
:scope:focus:where([data-hn-ui-tree-item]) {
|
|
10665
|
+
outline: none;
|
|
10666
|
+
}
|
|
10667
|
+
:scope:focus-visible .row:where([data-hn-ui-tree-item]) {
|
|
10668
|
+
box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
|
|
10669
|
+
}
|
|
10670
|
+
:scope[data-drop-position="inside"] > .row:where([data-hn-ui-tree-item]) {
|
|
10671
|
+
background: var(--ui-accent-subtle);
|
|
10672
|
+
box-shadow: inset 0 0 0 var(--ui-accent-line-width)
|
|
10673
|
+
var(--_ui-tree-drop-color, var(--ui-accent-solid));
|
|
10674
|
+
}
|
|
10675
|
+
.disclosure:where([data-hn-ui-tree-item]),.disclosure-spacer:where([data-hn-ui-tree-item]) {
|
|
10676
|
+
grid-column: 1;
|
|
10677
|
+
grid-row: 1;
|
|
10678
|
+
inline-size: var(--_tree-disclosure-size);
|
|
10679
|
+
block-size: 28px;
|
|
10680
|
+
}
|
|
10681
|
+
.disclosure:where([data-hn-ui-tree-item]) {
|
|
10682
|
+
display: grid;
|
|
10683
|
+
/* Start-aligned: the chevron's ink, not its hit area, aligns with the content above it. */
|
|
10684
|
+
place-items: center start;
|
|
10685
|
+
padding: 0;
|
|
10686
|
+
color: var(--ui-text-muted);
|
|
10687
|
+
background: transparent;
|
|
10688
|
+
border: 0;
|
|
10689
|
+
border-radius: var(--ui-radius-sm);
|
|
10690
|
+
cursor: pointer;
|
|
10691
|
+
}
|
|
10692
|
+
.disclosure[hidden]:where([data-hn-ui-tree-item]) {
|
|
10693
|
+
display: none;
|
|
10694
|
+
}
|
|
10695
|
+
.selection-hit:where([data-hn-ui-tree-item]) {
|
|
10696
|
+
display: none;
|
|
10697
|
+
grid-column: 2;
|
|
10698
|
+
grid-row: 1;
|
|
10699
|
+
place-items: center;
|
|
10700
|
+
inline-size: 1.25rem;
|
|
10701
|
+
block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
|
|
10702
|
+
cursor: pointer;
|
|
10703
|
+
}
|
|
10704
|
+
.selection-checkbox:where([data-hn-ui-tree-item]) {
|
|
10705
|
+
inline-size: 1rem;
|
|
10706
|
+
block-size: 1rem;
|
|
10707
|
+
margin: 0;
|
|
10708
|
+
accent-color: var(--ui-accent-solid);
|
|
10709
|
+
}
|
|
10710
|
+
:scope[data-selection-mode="multiple"] > .row:where([data-hn-ui-tree-item]) {
|
|
10711
|
+
grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr);
|
|
10712
|
+
}
|
|
10713
|
+
:scope[data-selection-mode="multiple"]
|
|
10714
|
+
> .row
|
|
10715
|
+
> .selection-hit:where([data-hn-ui-tree-item]) {
|
|
10716
|
+
display: grid;
|
|
10717
|
+
}
|
|
10718
|
+
:scope[data-selection-mode="multiple"] > .row > .leading:where([data-hn-ui-tree-item]) {
|
|
10719
|
+
grid-column: 3;
|
|
10720
|
+
}
|
|
10721
|
+
:scope[data-selection-mode="multiple"] > .row > .label:where([data-hn-ui-tree-item]) {
|
|
10722
|
+
grid-column: 4;
|
|
10723
|
+
}
|
|
10724
|
+
.disclosure:hover:where([data-hn-ui-tree-item]) {
|
|
10725
|
+
color: var(--ui-text-primary);
|
|
10726
|
+
background: var(--ui-surface-elevated);
|
|
10727
|
+
}
|
|
10728
|
+
.disclosure-icon:where([data-hn-ui-tree-item]) {
|
|
10729
|
+
display: grid;
|
|
10730
|
+
place-items: center;
|
|
10731
|
+
inline-size: 12px;
|
|
10732
|
+
block-size: 12px;
|
|
10733
|
+
transform: rotate(-90deg);
|
|
10734
|
+
transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
|
|
10735
|
+
}
|
|
10736
|
+
.disclosure-icon:where([data-hn-ui-tree-item])::before {
|
|
10737
|
+
display: block;
|
|
10738
|
+
inline-size: 0.375rem;
|
|
10739
|
+
block-size: 0.375rem;
|
|
10740
|
+
border-inline-end: 1.5px solid currentColor;
|
|
10741
|
+
border-block-end: 1.5px solid currentColor;
|
|
10742
|
+
content: "";
|
|
10743
|
+
/* A chevron's ink sits below its box centre; lift it so it centres optically (in either rotation). */
|
|
10744
|
+
transform: translateY(-20%) rotate(45deg);
|
|
10745
|
+
}
|
|
10746
|
+
:scope[aria-expanded="true"]
|
|
10747
|
+
> .row
|
|
10748
|
+
> .disclosure
|
|
10749
|
+
> .disclosure-icon:where([data-hn-ui-tree-item]) {
|
|
10750
|
+
transform: rotate(0deg);
|
|
10751
|
+
}
|
|
10752
|
+
.drag-handle svg:where([data-hn-ui-tree-item]) {
|
|
10753
|
+
display: block;
|
|
10754
|
+
inline-size: 100%;
|
|
10755
|
+
block-size: 100%;
|
|
10756
|
+
}
|
|
10757
|
+
.leading:where([data-hn-ui-tree-item]) {
|
|
10758
|
+
display: inline-grid;
|
|
10759
|
+
place-items: center;
|
|
10760
|
+
grid-column: 2;
|
|
10761
|
+
grid-row: 1;
|
|
10762
|
+
inline-size: 1em;
|
|
10763
|
+
block-size: 1em;
|
|
10764
|
+
margin-inline-start: var(--ui-space-1);
|
|
10765
|
+
color: var(--ui-text-muted);
|
|
10766
|
+
/* Above the label, so a sliding name passes under the icon. */
|
|
10767
|
+
position: relative;
|
|
10768
|
+
z-index: 1;
|
|
10769
|
+
}
|
|
10770
|
+
.leading:empty:where([data-hn-ui-tree-item]) {
|
|
10771
|
+
display: none;
|
|
10772
|
+
}
|
|
10773
|
+
:where(:not([data-hn-ui-tree-item])):is(svg),:where(:not([data-hn-ui-tree-item])):is(img) {
|
|
10774
|
+
display: block;
|
|
10775
|
+
inline-size: 1em;
|
|
10776
|
+
block-size: 1em;
|
|
10777
|
+
flex: none;
|
|
10778
|
+
}
|
|
10779
|
+
.label:where([data-hn-ui-tree-item]) {
|
|
10780
|
+
grid-column: 3;
|
|
10781
|
+
grid-row: 1;
|
|
10782
|
+
align-self: stretch;
|
|
10783
|
+
display: flex;
|
|
10784
|
+
align-items: center;
|
|
10785
|
+
min-inline-size: 0;
|
|
10786
|
+
/* The cell clips: a name longer than the row slides inside it rather than over its icons. */
|
|
10787
|
+
overflow: hidden;
|
|
10788
|
+
padding: var(--_ui-tree-item-label-padding-block, var(--ui-space-1))
|
|
10789
|
+
var(--_ui-tree-item-label-padding-inline, var(--ui-space-2));
|
|
10790
|
+
/* The length of the fade before the controls. The label's one flex child lays out no gap; this
|
|
10791
|
+
is where the controller reads the length in pixels to stop a sliding name before the fade. */
|
|
10792
|
+
column-gap: var(--ui-space-1);
|
|
10793
|
+
}
|
|
10794
|
+
.label-text:where([data-hn-ui-tree-item]) {
|
|
10795
|
+
display: flex;
|
|
10796
|
+
align-items: center;
|
|
10797
|
+
/* Stretches, so slotted content can still be the row's full-height hit area. */
|
|
10798
|
+
align-self: stretch;
|
|
10799
|
+
block-size: 100%;
|
|
10800
|
+
min-inline-size: 0;
|
|
10801
|
+
inline-size: 100%;
|
|
10802
|
+
white-space: nowrap;
|
|
10803
|
+
}
|
|
10804
|
+
.label-text > :where(:not([data-hn-ui-tree-item])):is(*) {
|
|
10805
|
+
flex: 1 1 auto;
|
|
10806
|
+
min-inline-size: 0;
|
|
10807
|
+
}
|
|
10808
|
+
.row:hover > .label:where([data-hn-ui-tree-item]),.row:focus-within > .label:where([data-hn-ui-tree-item]),:scope[data-ui-tree-item-state~="actionsVisible"]
|
|
10809
|
+
> .row
|
|
10810
|
+
> .label:where([data-hn-ui-tree-item]),:scope[data-move-source] > .row > .label:where([data-hn-ui-tree-item]) {
|
|
10811
|
+
text-overflow: clip;
|
|
10812
|
+
mask-image: linear-gradient(
|
|
10813
|
+
to right,
|
|
10814
|
+
#000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
|
|
10815
|
+
transparent calc(100% - var(--_tree-actions-width, 1.75rem))
|
|
10816
|
+
);
|
|
10817
|
+
}
|
|
10818
|
+
.row:hover > .label:dir(rtl):where([data-hn-ui-tree-item]),.row:focus-within > .label:dir(rtl):where([data-hn-ui-tree-item]),:scope[data-ui-tree-item-state~="actionsVisible"]
|
|
10819
|
+
> .row
|
|
10820
|
+
> .label:dir(rtl):where([data-hn-ui-tree-item]),:scope[data-move-source] > .row > .label:dir(rtl):where([data-hn-ui-tree-item]) {
|
|
10821
|
+
mask-image: linear-gradient(
|
|
10822
|
+
to left,
|
|
10823
|
+
#000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
|
|
10824
|
+
transparent calc(100% - var(--_tree-actions-width, 1.75rem))
|
|
10825
|
+
);
|
|
10826
|
+
}
|
|
10827
|
+
.row[data-ui-marquee] > .label > .label-text:where([data-hn-ui-tree-item]) {
|
|
10828
|
+
/* Once per pass: the controller restarts it after a rest at the end, so the name holds still
|
|
10829
|
+
long enough to read rather than sliding back and forth. */
|
|
10830
|
+
animation: ui-tree-item-marquee-fc4c8748 var(--_marquee-duration) linear 0.5s 1 normal forwards;
|
|
10831
|
+
will-change: transform;
|
|
10832
|
+
}
|
|
10833
|
+
.row[data-ui-marquee] > .label:where([data-hn-ui-tree-item]) {
|
|
10834
|
+
margin-inline-start: calc(-1 * var(--_marquee-lead, 0px));
|
|
10835
|
+
padding-inline-start: calc(
|
|
10836
|
+
var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
|
|
10837
|
+
);
|
|
10838
|
+
mask-image: linear-gradient(
|
|
10839
|
+
to right,
|
|
10840
|
+
transparent var(--_marquee-icon-width, 0px),
|
|
10841
|
+
#000 calc(
|
|
10842
|
+
var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
|
|
10843
|
+
),
|
|
10844
|
+
#000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
|
|
10845
|
+
transparent calc(100% - var(--_tree-actions-width, 1.75rem))
|
|
10846
|
+
);
|
|
10847
|
+
}
|
|
10848
|
+
.row[data-ui-marquee] > .label:dir(rtl):where([data-hn-ui-tree-item]) {
|
|
10849
|
+
mask-image: linear-gradient(
|
|
10850
|
+
to left,
|
|
10851
|
+
transparent var(--_marquee-icon-width, 0px),
|
|
10852
|
+
#000 calc(
|
|
10853
|
+
var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
|
|
10854
|
+
),
|
|
10855
|
+
#000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
|
|
10856
|
+
transparent calc(100% - var(--_tree-actions-width, 1.75rem))
|
|
10857
|
+
);
|
|
10858
|
+
}
|
|
10859
|
+
@media (prefers-reduced-motion: reduce) {
|
|
10860
|
+
.row[data-ui-marquee] > .label > .label-text:where([data-hn-ui-tree-item]) {
|
|
10861
|
+
animation: none;
|
|
10862
|
+
}
|
|
10863
|
+
}
|
|
10864
|
+
.row:hover > .label > :where(:not([data-hn-ui-tree-item])):is(*),.row:focus-within > .label > :where(:not([data-hn-ui-tree-item])):is(*) {
|
|
10865
|
+
text-overflow: clip;
|
|
10866
|
+
}
|
|
10867
|
+
.actions:where([data-hn-ui-tree-item]) {
|
|
10868
|
+
position: absolute;
|
|
10869
|
+
z-index: 1;
|
|
10870
|
+
inset-block: 0;
|
|
10871
|
+
inset-inline-end: 0;
|
|
10872
|
+
display: inline-flex;
|
|
10873
|
+
align-items: center;
|
|
10874
|
+
min-inline-size: 0;
|
|
10875
|
+
opacity: 0;
|
|
10876
|
+
pointer-events: none;
|
|
10877
|
+
transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
|
|
10878
|
+
}
|
|
10879
|
+
.row:hover > .actions:where([data-hn-ui-tree-item]),.row:focus-within > .actions:where([data-hn-ui-tree-item]),:scope[data-ui-tree-item-state~="actionsVisible"]
|
|
10880
|
+
> .row
|
|
10881
|
+
> .actions:where([data-hn-ui-tree-item]),:scope[data-move-source] > .row > .actions:where([data-hn-ui-tree-item]) {
|
|
10882
|
+
opacity: 1;
|
|
10883
|
+
pointer-events: auto;
|
|
10884
|
+
}
|
|
10885
|
+
@media (hover: none), (pointer: coarse) {
|
|
10886
|
+
.row:where([data-hn-ui-tree-item]) {
|
|
10887
|
+
grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
|
|
10888
|
+
}
|
|
10889
|
+
.actions:where([data-hn-ui-tree-item]) {
|
|
10890
|
+
position: static;
|
|
10891
|
+
grid-column: 4;
|
|
10892
|
+
grid-row: 1;
|
|
10893
|
+
padding-inline-start: 0;
|
|
10894
|
+
background: none;
|
|
10895
|
+
opacity: 1;
|
|
10896
|
+
pointer-events: auto;
|
|
10897
|
+
}
|
|
10898
|
+
.row:is(:hover, :focus-within) > .label:where([data-hn-ui-tree-item]),.row:is(:hover, :focus-within) > .label:dir(rtl):where([data-hn-ui-tree-item]),:scope[data-move-source] > .row > .label:where([data-hn-ui-tree-item]),:scope[data-move-source] > .row > .label:dir(rtl):where([data-hn-ui-tree-item]) {
|
|
10899
|
+
mask-image: none;
|
|
10900
|
+
}
|
|
10901
|
+
.row[data-ui-marquee] > .label:where([data-hn-ui-tree-item]) {
|
|
10902
|
+
mask-image: linear-gradient(
|
|
10903
|
+
to right,
|
|
10904
|
+
transparent var(--_marquee-icon-width, 0px),
|
|
10905
|
+
#000 calc(
|
|
10906
|
+
var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
|
|
10907
|
+
)
|
|
10908
|
+
);
|
|
10909
|
+
}
|
|
10910
|
+
|
|
10911
|
+
/* Persistent content has its own column on touch. Fade only the label's end. */
|
|
10912
|
+
:scope[data-ui-tree-item-state~="actionsVisible"]
|
|
10913
|
+
> .row
|
|
10914
|
+
> .label:where([data-hn-ui-tree-item]) {
|
|
10915
|
+
mask-image: linear-gradient(to right, #000 calc(100% - var(--ui-space-1)), transparent 100%);
|
|
10916
|
+
}
|
|
10917
|
+
:scope[data-ui-tree-item-state~="actionsVisible"]
|
|
10918
|
+
> .row
|
|
10919
|
+
> .label:dir(rtl):where([data-hn-ui-tree-item]) {
|
|
10920
|
+
mask-image: linear-gradient(to left, #000 calc(100% - var(--ui-space-1)), transparent 100%);
|
|
10921
|
+
}
|
|
10922
|
+
.row[data-ui-marquee] > .label:dir(rtl):where([data-hn-ui-tree-item]) {
|
|
10923
|
+
mask-image: linear-gradient(
|
|
10924
|
+
to left,
|
|
10925
|
+
transparent var(--_marquee-icon-width, 0px),
|
|
10926
|
+
#000 calc(
|
|
10927
|
+
var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
|
|
10928
|
+
)
|
|
10929
|
+
);
|
|
10930
|
+
}
|
|
10931
|
+
:scope[data-selection-mode="multiple"] > .row:where([data-hn-ui-tree-item]) {
|
|
10932
|
+
grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr) auto;
|
|
10933
|
+
}
|
|
10934
|
+
:scope[data-selection-mode="multiple"]
|
|
10935
|
+
> .row
|
|
10936
|
+
> .actions:where([data-hn-ui-tree-item]) {
|
|
10937
|
+
grid-column: 5;
|
|
10938
|
+
}
|
|
10939
|
+
}
|
|
10940
|
+
.drag-handle:where([data-hn-ui-tree-item]) {
|
|
10941
|
+
position: absolute;
|
|
10942
|
+
z-index: 2;
|
|
10943
|
+
inset-block-start: 50%;
|
|
10944
|
+
inset-inline-start: 0;
|
|
10945
|
+
inline-size: var(--_tree-disclosure-size);
|
|
10946
|
+
block-size: 24px;
|
|
10947
|
+
display: grid;
|
|
10948
|
+
place-items: center;
|
|
10949
|
+
padding: 5px 2px;
|
|
10950
|
+
color: var(--ui-text-muted);
|
|
10951
|
+
background: transparent;
|
|
10952
|
+
border: 0;
|
|
10953
|
+
border-radius: var(--ui-radius-sm);
|
|
10954
|
+
cursor: grab;
|
|
10955
|
+
/* Hidden until the row is hovered, but always hittable: the handle sits outside the row, and moving
|
|
10956
|
+
the pointer onto it must not hide it on the way. */
|
|
10957
|
+
opacity: 0;
|
|
10958
|
+
transform: translateY(-50%);
|
|
10959
|
+
transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
|
|
10960
|
+
}
|
|
10961
|
+
.row:hover .drag-handle:where([data-hn-ui-tree-item]),.drag-handle:hover:where([data-hn-ui-tree-item]),.drag-handle:focus-visible:where([data-hn-ui-tree-item]),:scope[data-dragging] > .row > .drag-handle:where([data-hn-ui-tree-item]) {
|
|
10962
|
+
opacity: 1;
|
|
10963
|
+
}
|
|
10964
|
+
:scope[data-ui-tree-item-state~="isContainer"]
|
|
10965
|
+
> .row
|
|
10966
|
+
> .drag-handle:where([data-hn-ui-tree-item]) {
|
|
10967
|
+
inset-inline-start: calc(-1 * var(--_tree-disclosure-size) - 2px);
|
|
10968
|
+
}
|
|
10969
|
+
.drag-handle:hover:where([data-hn-ui-tree-item]),.drag-handle:focus-visible:where([data-hn-ui-tree-item]) {
|
|
10970
|
+
color: var(--ui-text-primary);
|
|
10971
|
+
background: var(--ui-surface-hover);
|
|
10972
|
+
}
|
|
10973
|
+
.drag-handle:active:where([data-hn-ui-tree-item]) {
|
|
10974
|
+
cursor: grabbing;
|
|
10975
|
+
}
|
|
10976
|
+
.drop-indicator:where([data-hn-ui-tree-item]) {
|
|
10977
|
+
position: absolute;
|
|
10978
|
+
z-index: 3;
|
|
10979
|
+
inset-inline: 1px;
|
|
10980
|
+
display: none;
|
|
10981
|
+
block-size: var(--ui-accent-line-width);
|
|
10982
|
+
border-radius: var(--ui-radius-round);
|
|
10983
|
+
background: var(--_ui-tree-drop-color, var(--ui-accent-solid));
|
|
10984
|
+
pointer-events: none;
|
|
10985
|
+
}
|
|
10986
|
+
.drop-indicator:where([data-hn-ui-tree-item])::before,.drop-indicator:where([data-hn-ui-tree-item])::after {
|
|
10987
|
+
content: "";
|
|
10988
|
+
position: absolute;
|
|
10989
|
+
inset-block-start: 50%;
|
|
10990
|
+
inline-size: 7px;
|
|
10991
|
+
block-size: 7px;
|
|
10992
|
+
border: var(--ui-accent-line-width) solid var(--_ui-tree-drop-color, var(--ui-accent-solid));
|
|
10993
|
+
border-radius: var(--ui-radius-round);
|
|
10994
|
+
background: var(--ui-surface-elevated);
|
|
10995
|
+
transform: translateY(-50%);
|
|
10996
|
+
}
|
|
10997
|
+
.drop-indicator:where([data-hn-ui-tree-item])::before {
|
|
10998
|
+
inset-inline-start: -1px;
|
|
10999
|
+
}
|
|
11000
|
+
.drop-indicator:where([data-hn-ui-tree-item])::after {
|
|
11001
|
+
inset-inline-end: -1px;
|
|
11002
|
+
}
|
|
11003
|
+
:scope[data-drop-position="before"]
|
|
11004
|
+
> .row
|
|
11005
|
+
> .row-drop-indicator:where([data-hn-ui-tree-item]) {
|
|
11006
|
+
display: block;
|
|
11007
|
+
inset-block-start: calc(-0.5 * var(--ui-accent-line-width));
|
|
11008
|
+
}
|
|
11009
|
+
:scope[data-drop-position="after"]
|
|
11010
|
+
> .subtree-drop-indicator:where([data-hn-ui-tree-item]) {
|
|
11011
|
+
display: block;
|
|
11012
|
+
inset-block-end: calc(-0.5 * var(--ui-accent-line-width));
|
|
11013
|
+
}
|
|
11014
|
+
.children[hidden]:where([data-hn-ui-tree-item]) {
|
|
11015
|
+
display: none;
|
|
11016
|
+
}
|
|
11017
|
+
html[data-ui-input-modality="touch"] :scope:where([data-hn-ui-tree-item]) {
|
|
11018
|
+
--_tree-row-min-height: 44px;
|
|
11019
|
+
}
|
|
11020
|
+
html[data-ui-input-modality="touch"] :scope .row:where([data-hn-ui-tree-item]) {
|
|
11021
|
+
grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr);
|
|
11022
|
+
}
|
|
11023
|
+
html[data-ui-input-modality="touch"] :scope .drag-handle:where([data-hn-ui-tree-item]),html[data-ui-input-modality="touch"]
|
|
11024
|
+
:scope[data-ui-tree-item-state~="isContainer"]
|
|
11025
|
+
> .row
|
|
11026
|
+
> .drag-handle:where([data-hn-ui-tree-item]) {
|
|
11027
|
+
position: relative;
|
|
11028
|
+
grid-column: 1;
|
|
11029
|
+
grid-row: 1;
|
|
11030
|
+
inset: auto;
|
|
11031
|
+
inline-size: 44px;
|
|
11032
|
+
block-size: 44px;
|
|
11033
|
+
padding: 14px;
|
|
11034
|
+
opacity: 1;
|
|
11035
|
+
transform: none;
|
|
11036
|
+
cursor: pointer;
|
|
11037
|
+
}
|
|
11038
|
+
html[data-ui-input-modality="touch"] :scope .disclosure:where([data-hn-ui-tree-item]) {
|
|
11039
|
+
grid-column: 2;
|
|
11040
|
+
}
|
|
11041
|
+
html[data-ui-input-modality="touch"] :scope .leading:where([data-hn-ui-tree-item]) {
|
|
11042
|
+
grid-column: 3;
|
|
11043
|
+
}
|
|
11044
|
+
html[data-ui-input-modality="touch"] :scope .label:where([data-hn-ui-tree-item]) {
|
|
11045
|
+
grid-column: 4;
|
|
11046
|
+
}
|
|
11047
|
+
html[data-ui-input-modality="touch"]
|
|
11048
|
+
:scope[data-selection-mode="multiple"]
|
|
11049
|
+
> .row:where([data-hn-ui-tree-item]) {
|
|
11050
|
+
grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr);
|
|
11051
|
+
}
|
|
11052
|
+
html[data-ui-input-modality="touch"]
|
|
11053
|
+
:scope[data-selection-mode="multiple"]
|
|
11054
|
+
> .row
|
|
11055
|
+
> .selection-hit:where([data-hn-ui-tree-item]) {
|
|
11056
|
+
grid-column: 3;
|
|
11057
|
+
inline-size: 44px;
|
|
11058
|
+
block-size: 44px;
|
|
11059
|
+
}
|
|
11060
|
+
html[data-ui-input-modality="touch"]
|
|
11061
|
+
:scope[data-selection-mode="multiple"]
|
|
11062
|
+
> .row
|
|
11063
|
+
> .leading:where([data-hn-ui-tree-item]) {
|
|
11064
|
+
grid-column: 4;
|
|
9725
11065
|
}
|
|
9726
|
-
|
|
9727
|
-
|
|
9728
|
-
|
|
9729
|
-
|
|
9730
|
-
|
|
9731
|
-
--_ui-default-tree-item-marquee: initial;
|
|
9732
|
-
--_ui-default-tree-item-min-block-size: initial;
|
|
9733
|
-
--_ui-default-tree-item-font-size: initial;
|
|
9734
|
-
--_ui-default-tree-item-label-padding-block: initial;
|
|
9735
|
-
display: block;
|
|
9736
|
-
min-inline-size: 0;
|
|
9737
|
-
padding-inline-start: var(--ui-tree-gutter, 0px);
|
|
11066
|
+
html[data-ui-input-modality="touch"]
|
|
11067
|
+
:scope[data-selection-mode="multiple"]
|
|
11068
|
+
> .row
|
|
11069
|
+
> .label:where([data-hn-ui-tree-item]) {
|
|
11070
|
+
grid-column: 5;
|
|
9738
11071
|
}
|
|
9739
|
-
:
|
|
9740
|
-
|
|
9741
|
-
|
|
9742
|
-
padding: var(--ui-space-2);
|
|
9743
|
-
color: var(--ui-text-secondary);
|
|
9744
|
-
font-size: var(--ui-font-size-sm);
|
|
11072
|
+
@media (hover: none), (pointer: coarse) {
|
|
11073
|
+
html[data-ui-input-modality="touch"] :scope .row:where([data-hn-ui-tree-item]) {
|
|
11074
|
+
grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
|
|
9745
11075
|
}
|
|
9746
|
-
|
|
9747
|
-
|
|
11076
|
+
html[data-ui-input-modality="touch"] :scope .actions:where([data-hn-ui-tree-item]) {
|
|
11077
|
+
grid-column: 5;
|
|
9748
11078
|
}
|
|
11079
|
+
html[data-ui-input-modality="touch"]
|
|
11080
|
+
:scope[data-selection-mode="multiple"]
|
|
11081
|
+
> .row:where([data-hn-ui-tree-item]) {
|
|
11082
|
+
grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr) auto;
|
|
9749
11083
|
}
|
|
9750
|
-
|
|
9751
|
-
|
|
9752
|
-
|
|
9753
|
-
|
|
9754
|
-
|
|
11084
|
+
html[data-ui-input-modality="touch"]
|
|
11085
|
+
:scope[data-selection-mode="multiple"]
|
|
11086
|
+
> .row
|
|
11087
|
+
> .actions:where([data-hn-ui-tree-item]) {
|
|
11088
|
+
grid-column: 6;
|
|
9755
11089
|
}
|
|
9756
|
-
@property --ui-tree-item-font-size {
|
|
9757
|
-
syntax: "*";
|
|
9758
|
-
inherits: false;
|
|
9759
11090
|
}
|
|
9760
|
-
@
|
|
9761
|
-
|
|
9762
|
-
|
|
11091
|
+
@media (prefers-reduced-motion: reduce) {
|
|
11092
|
+
.row:where([data-hn-ui-tree-item]),.disclosure-icon:where([data-hn-ui-tree-item]),.drag-handle:where([data-hn-ui-tree-item]) {
|
|
11093
|
+
transition: none;
|
|
9763
11094
|
}
|
|
9764
|
-
@property --ui-tree-item-label-padding-inline {
|
|
9765
|
-
syntax: "*";
|
|
9766
|
-
inherits: false;
|
|
9767
11095
|
}
|
|
9768
|
-
@
|
|
9769
|
-
|
|
9770
|
-
|
|
11096
|
+
@media (forced-colors: active) {
|
|
11097
|
+
:scope:focus-visible > .row:where([data-hn-ui-tree-item]) {
|
|
11098
|
+
outline: var(--ui-focus-width) solid Highlight;
|
|
11099
|
+
outline-offset: calc(-1 * var(--ui-focus-width));
|
|
9771
11100
|
}
|
|
9772
|
-
|
|
9773
|
-
|
|
9774
|
-
|
|
9775
|
-
|
|
9776
|
-
|
|
9777
|
-
/* Lucide grip-vertical, filling the handle as in Looma 0.2. */
|
|
9778
|
-
|
|
9779
|
-
/* Slotted content is outside this scope, so :has() cannot see it; hide only a truly empty slot. */
|
|
9780
|
-
|
|
9781
|
-
/* Icons match the label's size (as in Knit's tree): an unsized SVG would otherwise render 300×150. */
|
|
9782
|
-
|
|
9783
|
-
/* The label spans the row's height and centres its content, so slotted content (a link) can
|
|
9784
|
-
stretch to fill the row as its own hit area; the padding tokens remove the inset. */
|
|
9785
|
-
|
|
9786
|
-
/* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
|
|
9787
|
-
its own text and reading as overflow. */
|
|
9788
|
-
|
|
9789
|
-
/* The controls sit over the label's end, so the text fades out where they begin. The fade is
|
|
9790
|
-
the truncation mark while it shows: an ellipsis under it would read as a second one. */
|
|
9791
|
-
|
|
9792
|
-
/* A hovered row reads its whole name: the label slides far enough to show the end, rests
|
|
9793
|
-
there, and starts again. Only when it actually overflows — the controller measures by how
|
|
9794
|
-
much — after the controls have taken their place over its end — and hands over the distance
|
|
9795
|
-
and a duration from it, so every name moves at the same speed. */
|
|
9796
|
-
|
|
9797
|
-
/* This comes after the hover fade, which it replaces at the same specificity. While the name
|
|
9798
|
-
slides, the label reaches back under the icon (the controller measures how far) with its text
|
|
9799
|
-
where it was, and fades out across the gap before the icon, fully gone where the icon begins
|
|
9800
|
-
to cover it: the name slips under the icon rather than stopping at a hard edge beside it. */
|
|
9801
|
-
@keyframes ui-tree-item-marquee-16fe002b {
|
|
9802
|
-
from {
|
|
9803
|
-
transform: translateX(0);
|
|
11101
|
+
:scope[data-ui-tree-item-state~="selected"]:not(:focus-visible):not([aria-disabled="true"])
|
|
11102
|
+
> .row:where([data-hn-ui-tree-item]) {
|
|
11103
|
+
outline: var(--ui-border-width) solid Highlight;
|
|
11104
|
+
outline-offset: calc(-1 * var(--ui-border-width));
|
|
9804
11105
|
}
|
|
9805
|
-
to {
|
|
9806
|
-
transform: translateX(var(--_marquee-distance));
|
|
9807
11106
|
}
|
|
11107
|
+
:scope[hidden]:where([data-hn-ui-tree-item]) {
|
|
11108
|
+
display: none;
|
|
9808
11109
|
}
|
|
9809
|
-
|
|
9810
|
-
|
|
9811
|
-
|
|
9812
|
-
/* Without hover there is no reveal, so the controls keep their own column. */
|
|
9813
|
-
|
|
9814
|
-
/* The handle sits beside what it drags. A leaf row has no disclosure, so the handle takes that
|
|
9815
|
-
empty column, right before the icon; a branch's disclosure is there, so its handle sits just
|
|
9816
|
-
outside the row. It is bare until pointed at: a resting surface behind it read as a faint
|
|
9817
|
-
patch rather than as a control. */
|
|
9818
|
-
|
|
9819
|
-
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
9820
|
-
@scope (.ui-tree-item) to ([data-hn]) {
|
|
9821
|
-
:scope:where([data-hn-ui-tree-item]) {
|
|
11110
|
+
}
|
|
11111
|
+
@scope ([data-slotted~="ui-tree-item"]:not([data-hn])) to ([data-hn], [data-slotted]) {
|
|
11112
|
+
:where(.ui-tree-item):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9822
11113
|
/* Hooks do not inherit, so the parts below read them from the root. The tree's density
|
|
9823
11114
|
sets the defaults, in --_ui-default-*. */
|
|
9824
11115
|
--_ui-tree-item-min-block-size: var(
|
|
@@ -9843,7 +11134,7 @@ to {
|
|
|
9843
11134
|
min-inline-size: 0;
|
|
9844
11135
|
margin-inline-start: calc(var(--_ui-tree-item-indent-step, 0) * var(--_ui-tree-indent, 16px));
|
|
9845
11136
|
}
|
|
9846
|
-
.row:where([data-hn-ui-tree-item]) {
|
|
11137
|
+
.row:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9847
11138
|
position: relative;
|
|
9848
11139
|
display: grid;
|
|
9849
11140
|
grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
|
|
@@ -9860,52 +11151,61 @@ to {
|
|
|
9860
11151
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
|
|
9861
11152
|
min-block-size var(--ui-motion-base) var(--ui-motion-ease);
|
|
9862
11153
|
}
|
|
9863
|
-
.row:hover:where([data-hn-ui-tree-item]),.row:focus-within:where([data-hn-ui-tree-item]) {
|
|
11154
|
+
.row:hover:where(:scope, :scope *):where([data-hn-ui-tree-item]),.row:focus-within:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9864
11155
|
color: var(--ui-text-primary);
|
|
9865
11156
|
background: var(--_ui-selection-context-surface, var(--ui-surface-muted));
|
|
9866
11157
|
box-shadow: inset 0 0 0 var(--ui-border-width)
|
|
9867
11158
|
var(--_ui-selection-context-border, var(--ui-selection-border));
|
|
9868
11159
|
}
|
|
9869
|
-
:
|
|
11160
|
+
:where(.ui-tree-item)[data-ui-tree-item-state~="selected"]
|
|
11161
|
+
> .row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9870
11162
|
color: var(--_ui-selection-context-text, var(--ui-selection-text));
|
|
9871
11163
|
background: var(--_ui-selection-context-surface, var(--ui-selection-surface));
|
|
9872
11164
|
box-shadow: inset 0 0 0 var(--ui-border-width)
|
|
9873
11165
|
var(--_ui-selection-context-border, var(--ui-selection-border));
|
|
9874
11166
|
}
|
|
9875
|
-
:
|
|
11167
|
+
:where(.ui-tree-item)[data-ui-tree-item-state~="selected"]:not([aria-disabled="true"])
|
|
9876
11168
|
> .row
|
|
9877
|
-
> .leading:where([data-hn-ui-tree-item]) {
|
|
11169
|
+
> .leading:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9878
11170
|
color: var(--_ui-selection-context-text, var(--ui-selection-text));
|
|
9879
11171
|
}
|
|
9880
|
-
:
|
|
11172
|
+
:where(.ui-tree-item)[data-ui-tree-item-state~="disabled"]
|
|
11173
|
+
.row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9881
11174
|
color: var(--ui-disabled-text);
|
|
9882
11175
|
background: var(--ui-disabled-surface);
|
|
9883
11176
|
box-shadow: none;
|
|
9884
11177
|
}
|
|
9885
|
-
:
|
|
11178
|
+
:where(.ui-tree-item)[data-dragging]:not([data-move-source])
|
|
11179
|
+
.row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9886
11180
|
opacity: 0.42;
|
|
9887
11181
|
}
|
|
9888
|
-
:
|
|
11182
|
+
:where(.ui-tree-item)[data-move-source]
|
|
11183
|
+
> .row
|
|
11184
|
+
> .label:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-move-source]
|
|
11185
|
+
> .row
|
|
11186
|
+
> .leading:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9889
11187
|
opacity: 0.42;
|
|
9890
11188
|
}
|
|
9891
|
-
:
|
|
11189
|
+
:where(.ui-tree-item):focus:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9892
11190
|
outline: none;
|
|
9893
11191
|
}
|
|
9894
|
-
:
|
|
11192
|
+
:where(.ui-tree-item):focus-visible
|
|
11193
|
+
.row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9895
11194
|
box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
|
|
9896
11195
|
}
|
|
9897
|
-
:
|
|
11196
|
+
:where(.ui-tree-item)[data-drop-position="inside"]
|
|
11197
|
+
> .row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9898
11198
|
background: var(--ui-accent-subtle);
|
|
9899
11199
|
box-shadow: inset 0 0 0 var(--ui-accent-line-width)
|
|
9900
11200
|
var(--_ui-tree-drop-color, var(--ui-accent-solid));
|
|
9901
11201
|
}
|
|
9902
|
-
.disclosure:where([data-hn-ui-tree-item]),.disclosure-spacer:where([data-hn-ui-tree-item]) {
|
|
11202
|
+
.disclosure:where(:scope, :scope *):where([data-hn-ui-tree-item]),.disclosure-spacer:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9903
11203
|
grid-column: 1;
|
|
9904
11204
|
grid-row: 1;
|
|
9905
11205
|
inline-size: var(--_tree-disclosure-size);
|
|
9906
11206
|
block-size: 28px;
|
|
9907
11207
|
}
|
|
9908
|
-
.disclosure:where([data-hn-ui-tree-item]) {
|
|
11208
|
+
.disclosure:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9909
11209
|
display: grid;
|
|
9910
11210
|
/* Start-aligned: the chevron's ink, not its hit area, aligns with the content above it. */
|
|
9911
11211
|
place-items: center start;
|
|
@@ -9916,10 +11216,10 @@ to {
|
|
|
9916
11216
|
border-radius: var(--ui-radius-sm);
|
|
9917
11217
|
cursor: pointer;
|
|
9918
11218
|
}
|
|
9919
|
-
.disclosure[hidden]:where([data-hn-ui-tree-item]) {
|
|
11219
|
+
.disclosure[hidden]:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9920
11220
|
display: none;
|
|
9921
11221
|
}
|
|
9922
|
-
.selection-hit:where([data-hn-ui-tree-item]) {
|
|
11222
|
+
.selection-hit:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9923
11223
|
display: none;
|
|
9924
11224
|
grid-column: 2;
|
|
9925
11225
|
grid-row: 1;
|
|
@@ -9928,31 +11228,36 @@ to {
|
|
|
9928
11228
|
block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
|
|
9929
11229
|
cursor: pointer;
|
|
9930
11230
|
}
|
|
9931
|
-
.selection-checkbox:where([data-hn-ui-tree-item]) {
|
|
11231
|
+
.selection-checkbox:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9932
11232
|
inline-size: 1rem;
|
|
9933
11233
|
block-size: 1rem;
|
|
9934
11234
|
margin: 0;
|
|
9935
11235
|
accent-color: var(--ui-accent-solid);
|
|
9936
11236
|
}
|
|
9937
|
-
:
|
|
11237
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
11238
|
+
> .row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9938
11239
|
grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr);
|
|
9939
11240
|
}
|
|
9940
|
-
:
|
|
11241
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
9941
11242
|
> .row
|
|
9942
|
-
> .selection-hit:where([data-hn-ui-tree-item]) {
|
|
11243
|
+
> .selection-hit:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9943
11244
|
display: grid;
|
|
9944
11245
|
}
|
|
9945
|
-
:
|
|
11246
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
11247
|
+
> .row
|
|
11248
|
+
> .leading:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9946
11249
|
grid-column: 3;
|
|
9947
11250
|
}
|
|
9948
|
-
:
|
|
11251
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
11252
|
+
> .row
|
|
11253
|
+
> .label:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9949
11254
|
grid-column: 4;
|
|
9950
11255
|
}
|
|
9951
|
-
.disclosure:hover:where([data-hn-ui-tree-item]) {
|
|
11256
|
+
.disclosure:hover:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9952
11257
|
color: var(--ui-text-primary);
|
|
9953
11258
|
background: var(--ui-surface-elevated);
|
|
9954
11259
|
}
|
|
9955
|
-
.disclosure-icon:where([data-hn-ui-tree-item]) {
|
|
11260
|
+
.disclosure-icon:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9956
11261
|
display: grid;
|
|
9957
11262
|
place-items: center;
|
|
9958
11263
|
inline-size: 12px;
|
|
@@ -9960,7 +11265,8 @@ to {
|
|
|
9960
11265
|
transform: rotate(-90deg);
|
|
9961
11266
|
transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
|
|
9962
11267
|
}
|
|
9963
|
-
.disclosure-icon:where([data-hn-ui-tree-item])
|
|
11268
|
+
.disclosure-icon:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope
|
|
11269
|
+
*):where([data-hn-ui-tree-item])::before {
|
|
9964
11270
|
display: block;
|
|
9965
11271
|
inline-size: 0.375rem;
|
|
9966
11272
|
block-size: 0.375rem;
|
|
@@ -9970,18 +11276,18 @@ to {
|
|
|
9970
11276
|
/* A chevron's ink sits below its box centre; lift it so it centres optically (in either rotation). */
|
|
9971
11277
|
transform: translateY(-20%) rotate(45deg);
|
|
9972
11278
|
}
|
|
9973
|
-
:
|
|
11279
|
+
:where(.ui-tree-item)[aria-expanded="true"]
|
|
9974
11280
|
> .row
|
|
9975
11281
|
> .disclosure
|
|
9976
|
-
> .disclosure-icon:where([data-hn-ui-tree-item]) {
|
|
11282
|
+
> .disclosure-icon:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
9977
11283
|
transform: rotate(0deg);
|
|
9978
11284
|
}
|
|
9979
|
-
.drag-handle svg:where([data-hn-ui-tree-item]) {
|
|
11285
|
+
.drag-handle:where(:scope, :scope *) svg:where([data-hn-ui-tree-item]) {
|
|
9980
11286
|
display: block;
|
|
9981
11287
|
inline-size: 100%;
|
|
9982
11288
|
block-size: 100%;
|
|
9983
11289
|
}
|
|
9984
|
-
.leading:where([data-hn-ui-tree-item]) {
|
|
11290
|
+
.leading:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9985
11291
|
display: inline-grid;
|
|
9986
11292
|
place-items: center;
|
|
9987
11293
|
grid-column: 2;
|
|
@@ -9994,16 +11300,10 @@ to {
|
|
|
9994
11300
|
position: relative;
|
|
9995
11301
|
z-index: 1;
|
|
9996
11302
|
}
|
|
9997
|
-
.leading:empty:where([data-hn-ui-tree-item]) {
|
|
11303
|
+
.leading:empty:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
9998
11304
|
display: none;
|
|
9999
11305
|
}
|
|
10000
|
-
:where(:
|
|
10001
|
-
display: block;
|
|
10002
|
-
inline-size: 1em;
|
|
10003
|
-
block-size: 1em;
|
|
10004
|
-
flex: none;
|
|
10005
|
-
}
|
|
10006
|
-
.label:where([data-hn-ui-tree-item]) {
|
|
11306
|
+
.label:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10007
11307
|
grid-column: 3;
|
|
10008
11308
|
grid-row: 1;
|
|
10009
11309
|
align-self: stretch;
|
|
@@ -10018,7 +11318,7 @@ to {
|
|
|
10018
11318
|
is where the controller reads the length in pixels to stop a sliding name before the fade. */
|
|
10019
11319
|
column-gap: var(--ui-space-1);
|
|
10020
11320
|
}
|
|
10021
|
-
.label-text:where([data-hn-ui-tree-item]) {
|
|
11321
|
+
.label-text:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10022
11322
|
display: flex;
|
|
10023
11323
|
align-items: center;
|
|
10024
11324
|
/* Stretches, so slotted content can still be the row's full-height hit area. */
|
|
@@ -10028,13 +11328,11 @@ to {
|
|
|
10028
11328
|
inline-size: 100%;
|
|
10029
11329
|
white-space: nowrap;
|
|
10030
11330
|
}
|
|
10031
|
-
.
|
|
10032
|
-
flex: 1 1 auto;
|
|
10033
|
-
min-inline-size: 0;
|
|
10034
|
-
}
|
|
10035
|
-
.row:hover > .label:where([data-hn-ui-tree-item]),.row:focus-within > .label:where([data-hn-ui-tree-item]),:scope[data-ui-tree-item-state~="actionsVisible"]
|
|
11331
|
+
.row:hover:where(:scope, :scope *) > .label:where([data-hn-ui-tree-item]),.row:focus-within:where(:scope, :scope *) > .label:where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-ui-tree-item-state~="actionsVisible"]
|
|
10036
11332
|
> .row
|
|
10037
|
-
> .label:where([data-hn-ui-tree-item])
|
|
11333
|
+
> .label:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-move-source]
|
|
11334
|
+
> .row
|
|
11335
|
+
> .label:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10038
11336
|
text-overflow: clip;
|
|
10039
11337
|
mask-image: linear-gradient(
|
|
10040
11338
|
to right,
|
|
@@ -10042,22 +11340,27 @@ to {
|
|
|
10042
11340
|
transparent calc(100% - var(--_tree-actions-width, 1.75rem))
|
|
10043
11341
|
);
|
|
10044
11342
|
}
|
|
10045
|
-
.row:hover > .label:dir(rtl):where([data-hn-ui-tree-item]),.row:focus-within
|
|
11343
|
+
.row:hover:where(:scope, :scope *) > .label:dir(rtl):where([data-hn-ui-tree-item]),.row:focus-within:where(:scope, :scope *)
|
|
11344
|
+
> .label:dir(rtl):where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-ui-tree-item-state~="actionsVisible"]
|
|
10046
11345
|
> .row
|
|
10047
|
-
> .label:dir(rtl):where([data-hn-ui-tree-item])
|
|
11346
|
+
> .label:dir(rtl):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-move-source]
|
|
11347
|
+
> .row
|
|
11348
|
+
> .label:dir(rtl):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10048
11349
|
mask-image: linear-gradient(
|
|
10049
11350
|
to left,
|
|
10050
11351
|
#000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
|
|
10051
11352
|
transparent calc(100% - var(--_tree-actions-width, 1.75rem))
|
|
10052
11353
|
);
|
|
10053
11354
|
}
|
|
10054
|
-
.row[data-ui-marquee]
|
|
11355
|
+
.row[data-ui-marquee]:where(:scope, :scope *)
|
|
11356
|
+
> .label
|
|
11357
|
+
> .label-text:where([data-hn-ui-tree-item]) {
|
|
10055
11358
|
/* Once per pass: the controller restarts it after a rest at the end, so the name holds still
|
|
10056
11359
|
long enough to read rather than sliding back and forth. */
|
|
10057
|
-
animation: ui-tree-item-marquee-
|
|
11360
|
+
animation: ui-tree-item-marquee-fc4c8748 var(--_marquee-duration) linear 0.5s 1 normal forwards;
|
|
10058
11361
|
will-change: transform;
|
|
10059
11362
|
}
|
|
10060
|
-
.row[data-ui-marquee] > .label:where([data-hn-ui-tree-item]) {
|
|
11363
|
+
.row[data-ui-marquee]:where(:scope, :scope *) > .label:where([data-hn-ui-tree-item]) {
|
|
10061
11364
|
margin-inline-start: calc(-1 * var(--_marquee-lead, 0px));
|
|
10062
11365
|
padding-inline-start: calc(
|
|
10063
11366
|
var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
|
|
@@ -10072,7 +11375,8 @@ to {
|
|
|
10072
11375
|
transparent calc(100% - var(--_tree-actions-width, 1.75rem))
|
|
10073
11376
|
);
|
|
10074
11377
|
}
|
|
10075
|
-
.row[data-ui-marquee]
|
|
11378
|
+
.row[data-ui-marquee]:where(:scope, :scope *)
|
|
11379
|
+
> .label:dir(rtl):where([data-hn-ui-tree-item]) {
|
|
10076
11380
|
mask-image: linear-gradient(
|
|
10077
11381
|
to left,
|
|
10078
11382
|
transparent var(--_marquee-icon-width, 0px),
|
|
@@ -10084,14 +11388,13 @@ to {
|
|
|
10084
11388
|
);
|
|
10085
11389
|
}
|
|
10086
11390
|
@media (prefers-reduced-motion: reduce) {
|
|
10087
|
-
.row[data-ui-marquee]
|
|
11391
|
+
.row[data-ui-marquee]:where(:scope, :scope *)
|
|
11392
|
+
> .label
|
|
11393
|
+
> .label-text:where([data-hn-ui-tree-item]) {
|
|
10088
11394
|
animation: none;
|
|
10089
11395
|
}
|
|
10090
11396
|
}
|
|
10091
|
-
.
|
|
10092
|
-
text-overflow: clip;
|
|
10093
|
-
}
|
|
10094
|
-
.actions:where([data-hn-ui-tree-item]) {
|
|
11397
|
+
.actions:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10095
11398
|
position: absolute;
|
|
10096
11399
|
z-index: 1;
|
|
10097
11400
|
inset-block: 0;
|
|
@@ -10103,17 +11406,19 @@ to {
|
|
|
10103
11406
|
pointer-events: none;
|
|
10104
11407
|
transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
|
|
10105
11408
|
}
|
|
10106
|
-
.row:hover > .actions:where([data-hn-ui-tree-item]),.row:focus-within > .actions:where([data-hn-ui-tree-item]),:
|
|
11409
|
+
.row:hover:where(:scope, :scope *) > .actions:where([data-hn-ui-tree-item]),.row:focus-within:where(:scope, :scope *) > .actions:where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-ui-tree-item-state~="actionsVisible"]
|
|
10107
11410
|
> .row
|
|
10108
|
-
> .actions:where([data-hn-ui-tree-item])
|
|
11411
|
+
> .actions:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-move-source]
|
|
11412
|
+
> .row
|
|
11413
|
+
> .actions:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10109
11414
|
opacity: 1;
|
|
10110
11415
|
pointer-events: auto;
|
|
10111
11416
|
}
|
|
10112
11417
|
@media (hover: none), (pointer: coarse) {
|
|
10113
|
-
.row:where([data-hn-ui-tree-item]) {
|
|
11418
|
+
.row:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10114
11419
|
grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
|
|
10115
11420
|
}
|
|
10116
|
-
.actions:where([data-hn-ui-tree-item]) {
|
|
11421
|
+
.actions:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10117
11422
|
position: static;
|
|
10118
11423
|
grid-column: 4;
|
|
10119
11424
|
grid-row: 1;
|
|
@@ -10122,10 +11427,16 @@ to {
|
|
|
10122
11427
|
opacity: 1;
|
|
10123
11428
|
pointer-events: auto;
|
|
10124
11429
|
}
|
|
10125
|
-
.row:is(:hover, :focus-within)
|
|
11430
|
+
.row:is(:hover, :focus-within):where(:scope, :scope *)
|
|
11431
|
+
> .label:where([data-hn-ui-tree-item]),.row:is(:hover, :focus-within):where(:scope, :scope *)
|
|
11432
|
+
> .label:dir(rtl):where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-move-source]
|
|
11433
|
+
> .row
|
|
11434
|
+
> .label:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-move-source]
|
|
11435
|
+
> .row
|
|
11436
|
+
> .label:dir(rtl):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10126
11437
|
mask-image: none;
|
|
10127
11438
|
}
|
|
10128
|
-
.row[data-ui-marquee] > .label:where([data-hn-ui-tree-item]) {
|
|
11439
|
+
.row[data-ui-marquee]:where(:scope, :scope *) > .label:where([data-hn-ui-tree-item]) {
|
|
10129
11440
|
mask-image: linear-gradient(
|
|
10130
11441
|
to right,
|
|
10131
11442
|
transparent var(--_marquee-icon-width, 0px),
|
|
@@ -10136,17 +11447,18 @@ to {
|
|
|
10136
11447
|
}
|
|
10137
11448
|
|
|
10138
11449
|
/* Persistent content has its own column on touch. Fade only the label's end. */
|
|
10139
|
-
:
|
|
11450
|
+
:where(.ui-tree-item)[data-ui-tree-item-state~="actionsVisible"]
|
|
10140
11451
|
> .row
|
|
10141
|
-
> .label:where([data-hn-ui-tree-item]) {
|
|
11452
|
+
> .label:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10142
11453
|
mask-image: linear-gradient(to right, #000 calc(100% - var(--ui-space-1)), transparent 100%);
|
|
10143
11454
|
}
|
|
10144
|
-
:
|
|
11455
|
+
:where(.ui-tree-item)[data-ui-tree-item-state~="actionsVisible"]
|
|
10145
11456
|
> .row
|
|
10146
|
-
> .label:dir(rtl):where([data-hn-ui-tree-item]) {
|
|
11457
|
+
> .label:dir(rtl):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10147
11458
|
mask-image: linear-gradient(to left, #000 calc(100% - var(--ui-space-1)), transparent 100%);
|
|
10148
11459
|
}
|
|
10149
|
-
.row[data-ui-marquee]
|
|
11460
|
+
.row[data-ui-marquee]:where(:scope, :scope *)
|
|
11461
|
+
> .label:dir(rtl):where([data-hn-ui-tree-item]) {
|
|
10150
11462
|
mask-image: linear-gradient(
|
|
10151
11463
|
to left,
|
|
10152
11464
|
transparent var(--_marquee-icon-width, 0px),
|
|
@@ -10155,16 +11467,17 @@ to {
|
|
|
10155
11467
|
)
|
|
10156
11468
|
);
|
|
10157
11469
|
}
|
|
10158
|
-
:
|
|
11470
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
11471
|
+
> .row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10159
11472
|
grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr) auto;
|
|
10160
11473
|
}
|
|
10161
|
-
:
|
|
11474
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
10162
11475
|
> .row
|
|
10163
|
-
> .actions:where([data-hn-ui-tree-item]) {
|
|
11476
|
+
> .actions:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10164
11477
|
grid-column: 5;
|
|
10165
11478
|
}
|
|
10166
11479
|
}
|
|
10167
|
-
.drag-handle:where([data-hn-ui-tree-item]) {
|
|
11480
|
+
.drag-handle:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10168
11481
|
position: absolute;
|
|
10169
11482
|
z-index: 2;
|
|
10170
11483
|
inset-block-start: 50%;
|
|
@@ -10185,22 +11498,24 @@ to {
|
|
|
10185
11498
|
transform: translateY(-50%);
|
|
10186
11499
|
transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
|
|
10187
11500
|
}
|
|
10188
|
-
.row:hover .drag-handle:where([data-hn-ui-tree-item]),.drag-handle:hover:where([data-hn-ui-tree-item]),.drag-handle:focus-visible:where([data-hn-ui-tree-item]),:
|
|
11501
|
+
.row:hover:where(:scope, :scope *) .drag-handle:where([data-hn-ui-tree-item]),.drag-handle:hover:where(:scope, :scope *):where([data-hn-ui-tree-item]),.drag-handle:focus-visible:where(:scope, :scope *):where([data-hn-ui-tree-item]),:where(.ui-tree-item)[data-dragging]
|
|
11502
|
+
> .row
|
|
11503
|
+
> .drag-handle:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10189
11504
|
opacity: 1;
|
|
10190
11505
|
}
|
|
10191
|
-
:
|
|
11506
|
+
:where(.ui-tree-item)[data-ui-tree-item-state~="isContainer"]
|
|
10192
11507
|
> .row
|
|
10193
|
-
> .drag-handle:where([data-hn-ui-tree-item]) {
|
|
11508
|
+
> .drag-handle:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10194
11509
|
inset-inline-start: calc(-1 * var(--_tree-disclosure-size) - 2px);
|
|
10195
11510
|
}
|
|
10196
|
-
.drag-handle:hover:where([data-hn-ui-tree-item]),.drag-handle:focus-visible:where([data-hn-ui-tree-item]) {
|
|
11511
|
+
.drag-handle:hover:where(:scope, :scope *):where([data-hn-ui-tree-item]),.drag-handle:focus-visible:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10197
11512
|
color: var(--ui-text-primary);
|
|
10198
11513
|
background: var(--ui-surface-hover);
|
|
10199
11514
|
}
|
|
10200
|
-
.drag-handle:active:where([data-hn-ui-tree-item]) {
|
|
11515
|
+
.drag-handle:active:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10201
11516
|
cursor: grabbing;
|
|
10202
11517
|
}
|
|
10203
|
-
.drop-indicator:where([data-hn-ui-tree-item]) {
|
|
11518
|
+
.drop-indicator:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10204
11519
|
position: absolute;
|
|
10205
11520
|
z-index: 3;
|
|
10206
11521
|
inset-inline: 1px;
|
|
@@ -10210,7 +11525,9 @@ to {
|
|
|
10210
11525
|
background: var(--_ui-tree-drop-color, var(--ui-accent-solid));
|
|
10211
11526
|
pointer-events: none;
|
|
10212
11527
|
}
|
|
10213
|
-
.drop-indicator:where([data-hn-
|
|
11528
|
+
.drop-indicator:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope
|
|
11529
|
+
*):where([data-hn-ui-tree-item])::before,.drop-indicator:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope
|
|
11530
|
+
*):where([data-hn-ui-tree-item])::after {
|
|
10214
11531
|
content: "";
|
|
10215
11532
|
position: absolute;
|
|
10216
11533
|
inset-block-start: 50%;
|
|
@@ -10221,36 +11538,43 @@ to {
|
|
|
10221
11538
|
background: var(--ui-surface-elevated);
|
|
10222
11539
|
transform: translateY(-50%);
|
|
10223
11540
|
}
|
|
10224
|
-
.drop-indicator:where([data-hn-ui-tree-item])
|
|
11541
|
+
.drop-indicator:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope
|
|
11542
|
+
*):where([data-hn-ui-tree-item])::before {
|
|
10225
11543
|
inset-inline-start: -1px;
|
|
10226
11544
|
}
|
|
10227
|
-
.drop-indicator:where([data-hn-ui-tree-item])
|
|
11545
|
+
.drop-indicator:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope
|
|
11546
|
+
*):where([data-hn-ui-tree-item])::after {
|
|
10228
11547
|
inset-inline-end: -1px;
|
|
10229
11548
|
}
|
|
10230
|
-
:
|
|
11549
|
+
:where(.ui-tree-item)[data-drop-position="before"]
|
|
10231
11550
|
> .row
|
|
10232
|
-
> .row-drop-indicator:where([data-hn-ui-tree-item]) {
|
|
11551
|
+
> .row-drop-indicator:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10233
11552
|
display: block;
|
|
10234
11553
|
inset-block-start: calc(-0.5 * var(--ui-accent-line-width));
|
|
10235
11554
|
}
|
|
10236
|
-
:
|
|
10237
|
-
> .subtree-drop-indicator:where([data-hn-ui-tree-item]) {
|
|
11555
|
+
:where(.ui-tree-item)[data-drop-position="after"]
|
|
11556
|
+
> .subtree-drop-indicator:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10238
11557
|
display: block;
|
|
10239
11558
|
inset-block-end: calc(-0.5 * var(--ui-accent-line-width));
|
|
10240
11559
|
}
|
|
10241
|
-
.children[hidden]:where([data-hn-ui-tree-item]) {
|
|
11560
|
+
.children[hidden]:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10242
11561
|
display: none;
|
|
10243
11562
|
}
|
|
10244
|
-
html[data-ui-input-modality="touch"]
|
|
11563
|
+
html[data-ui-input-modality="touch"]
|
|
11564
|
+
:where(.ui-tree-item):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10245
11565
|
--_tree-row-min-height: 44px;
|
|
10246
11566
|
}
|
|
10247
|
-
html[data-ui-input-modality="touch"]
|
|
11567
|
+
html[data-ui-input-modality="touch"]
|
|
11568
|
+
:where(.ui-tree-item)
|
|
11569
|
+
.row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10248
11570
|
grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr);
|
|
10249
11571
|
}
|
|
10250
|
-
html[data-ui-input-modality="touch"]
|
|
10251
|
-
:
|
|
11572
|
+
html[data-ui-input-modality="touch"]
|
|
11573
|
+
:where(.ui-tree-item)
|
|
11574
|
+
.drag-handle:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]),html[data-ui-input-modality="touch"]
|
|
11575
|
+
:where(.ui-tree-item)[data-ui-tree-item-state~="isContainer"]
|
|
10252
11576
|
> .row
|
|
10253
|
-
> .drag-handle:where([data-hn-ui-tree-item]) {
|
|
11577
|
+
> .drag-handle:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10254
11578
|
position: relative;
|
|
10255
11579
|
grid-column: 1;
|
|
10256
11580
|
grid-row: 1;
|
|
@@ -10262,76 +11586,87 @@ html[data-ui-input-modality="touch"] :scope .drag-handle:where([data-hn-ui-tree-
|
|
|
10262
11586
|
transform: none;
|
|
10263
11587
|
cursor: pointer;
|
|
10264
11588
|
}
|
|
10265
|
-
html[data-ui-input-modality="touch"]
|
|
11589
|
+
html[data-ui-input-modality="touch"]
|
|
11590
|
+
:where(.ui-tree-item)
|
|
11591
|
+
.disclosure:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10266
11592
|
grid-column: 2;
|
|
10267
11593
|
}
|
|
10268
|
-
html[data-ui-input-modality="touch"]
|
|
11594
|
+
html[data-ui-input-modality="touch"]
|
|
11595
|
+
:where(.ui-tree-item)
|
|
11596
|
+
.leading:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10269
11597
|
grid-column: 3;
|
|
10270
11598
|
}
|
|
10271
|
-
html[data-ui-input-modality="touch"]
|
|
11599
|
+
html[data-ui-input-modality="touch"]
|
|
11600
|
+
:where(.ui-tree-item)
|
|
11601
|
+
.label:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10272
11602
|
grid-column: 4;
|
|
10273
11603
|
}
|
|
10274
11604
|
html[data-ui-input-modality="touch"]
|
|
10275
|
-
:
|
|
10276
|
-
> .row:where([data-hn-ui-tree-item]) {
|
|
11605
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
11606
|
+
> .row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10277
11607
|
grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr);
|
|
10278
11608
|
}
|
|
10279
11609
|
html[data-ui-input-modality="touch"]
|
|
10280
|
-
:
|
|
11610
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
10281
11611
|
> .row
|
|
10282
|
-
> .selection-hit:where([data-hn-ui-tree-item]) {
|
|
11612
|
+
> .selection-hit:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10283
11613
|
grid-column: 3;
|
|
10284
11614
|
inline-size: 44px;
|
|
10285
11615
|
block-size: 44px;
|
|
10286
11616
|
}
|
|
10287
11617
|
html[data-ui-input-modality="touch"]
|
|
10288
|
-
:
|
|
11618
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
10289
11619
|
> .row
|
|
10290
|
-
> .leading:where([data-hn-ui-tree-item]) {
|
|
11620
|
+
> .leading:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10291
11621
|
grid-column: 4;
|
|
10292
11622
|
}
|
|
10293
11623
|
html[data-ui-input-modality="touch"]
|
|
10294
|
-
:
|
|
11624
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
10295
11625
|
> .row
|
|
10296
|
-
> .label:where([data-hn-ui-tree-item]) {
|
|
11626
|
+
> .label:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10297
11627
|
grid-column: 5;
|
|
10298
11628
|
}
|
|
10299
11629
|
@media (hover: none), (pointer: coarse) {
|
|
10300
|
-
html[data-ui-input-modality="touch"]
|
|
11630
|
+
html[data-ui-input-modality="touch"]
|
|
11631
|
+
:where(.ui-tree-item)
|
|
11632
|
+
.row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10301
11633
|
grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
|
|
10302
11634
|
}
|
|
10303
|
-
html[data-ui-input-modality="touch"]
|
|
11635
|
+
html[data-ui-input-modality="touch"]
|
|
11636
|
+
:where(.ui-tree-item)
|
|
11637
|
+
.actions:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10304
11638
|
grid-column: 5;
|
|
10305
11639
|
}
|
|
10306
11640
|
html[data-ui-input-modality="touch"]
|
|
10307
|
-
:
|
|
10308
|
-
> .row:where([data-hn-ui-tree-item]) {
|
|
11641
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
11642
|
+
> .row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10309
11643
|
grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr) auto;
|
|
10310
11644
|
}
|
|
10311
11645
|
html[data-ui-input-modality="touch"]
|
|
10312
|
-
:
|
|
11646
|
+
:where(.ui-tree-item)[data-selection-mode="multiple"]
|
|
10313
11647
|
> .row
|
|
10314
|
-
> .actions:where([data-hn-ui-tree-item]) {
|
|
11648
|
+
> .actions:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10315
11649
|
grid-column: 6;
|
|
10316
11650
|
}
|
|
10317
11651
|
}
|
|
10318
11652
|
@media (prefers-reduced-motion: reduce) {
|
|
10319
|
-
.row:where([data-hn-ui-tree-item]),.disclosure-icon:where([data-hn-ui-tree-item]),.drag-handle:where([data-hn-ui-tree-item]) {
|
|
11653
|
+
.row:where(:scope, :scope *):where([data-hn-ui-tree-item]),.disclosure-icon:where(:scope, :scope *):where([data-hn-ui-tree-item]),.drag-handle:where(:scope, :scope *):where([data-hn-ui-tree-item]) {
|
|
10320
11654
|
transition: none;
|
|
10321
11655
|
}
|
|
10322
11656
|
}
|
|
10323
11657
|
@media (forced-colors: active) {
|
|
10324
|
-
:
|
|
11658
|
+
:where(.ui-tree-item):focus-visible
|
|
11659
|
+
> .row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10325
11660
|
outline: var(--ui-focus-width) solid Highlight;
|
|
10326
11661
|
outline-offset: calc(-1 * var(--ui-focus-width));
|
|
10327
11662
|
}
|
|
10328
|
-
:
|
|
10329
|
-
> .row:where([data-hn-ui-tree-item]) {
|
|
11663
|
+
:where(.ui-tree-item)[data-ui-tree-item-state~="selected"]:not(:focus-visible):not([aria-disabled="true"])
|
|
11664
|
+
> .row:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10330
11665
|
outline: var(--ui-border-width) solid Highlight;
|
|
10331
11666
|
outline-offset: calc(-1 * var(--ui-border-width));
|
|
10332
11667
|
}
|
|
10333
11668
|
}
|
|
10334
|
-
:
|
|
11669
|
+
:where(.ui-tree-item)[hidden]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where([data-hn-ui-tree-item]) {
|
|
10335
11670
|
display: none;
|
|
10336
11671
|
}
|
|
10337
11672
|
}
|
|
@@ -11004,7 +12339,7 @@ html[data-ui-input-modality="touch"]
|
|
|
11004
12339
|
width: 3px;
|
|
11005
12340
|
background: var(--ui-affordance-direct-color, var(--ui-accent-solid, #5b55d6));
|
|
11006
12341
|
}
|
|
11007
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
12342
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
11008
12343
|
@supports (-moz-appearance: none) {
|
|
11009
12344
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
11010
12345
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -11553,7 +12888,7 @@ html[data-ui-input-modality="touch"]
|
|
|
11553
12888
|
|
|
11554
12889
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
11555
12890
|
}
|
|
11556
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
12891
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
11557
12892
|
@supports (-moz-appearance: none) {
|
|
11558
12893
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
11559
12894
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -11587,7 +12922,7 @@ html[data-ui-input-modality="touch"]
|
|
|
11587
12922
|
|
|
11588
12923
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
11589
12924
|
}
|
|
11590
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
12925
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
11591
12926
|
@supports (-moz-appearance: none) {
|
|
11592
12927
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
11593
12928
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -11688,7 +13023,7 @@ html[data-ui-input-modality="touch"]
|
|
|
11688
13023
|
|
|
11689
13024
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
11690
13025
|
}
|
|
11691
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
13026
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
11692
13027
|
@supports (-moz-appearance: none) {
|
|
11693
13028
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
11694
13029
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -11819,7 +13154,7 @@ html[data-ui-input-modality="touch"]
|
|
|
11819
13154
|
|
|
11820
13155
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
11821
13156
|
}
|
|
11822
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
13157
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
11823
13158
|
@supports (-moz-appearance: none) {
|
|
11824
13159
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
11825
13160
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -11873,7 +13208,7 @@ html[data-ui-input-modality="touch"]
|
|
|
11873
13208
|
|
|
11874
13209
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
11875
13210
|
}
|
|
11876
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
13211
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
11877
13212
|
@supports (-moz-appearance: none) {
|
|
11878
13213
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
11879
13214
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -12349,7 +13684,7 @@ html[data-ui-input-modality="touch"]
|
|
|
12349
13684
|
|
|
12350
13685
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
12351
13686
|
}
|
|
12352
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
13687
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
12353
13688
|
@supports (-moz-appearance: none) {
|
|
12354
13689
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
12355
13690
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -12447,7 +13782,7 @@ html[data-ui-input-modality="touch"]
|
|
|
12447
13782
|
|
|
12448
13783
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
12449
13784
|
}
|
|
12450
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
13785
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
12451
13786
|
@supports (-moz-appearance: none) {
|
|
12452
13787
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
12453
13788
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -12611,7 +13946,7 @@ html[data-ui-input-modality="touch"]
|
|
|
12611
13946
|
@media (prefers-reduced-motion: reduce) {
|
|
12612
13947
|
}
|
|
12613
13948
|
}
|
|
12614
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
13949
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
12615
13950
|
@supports (-moz-appearance: none) {
|
|
12616
13951
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
12617
13952
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -12806,7 +14141,7 @@ html[data-ui-input-modality="touch"]
|
|
|
12806
14141
|
|
|
12807
14142
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
12808
14143
|
}
|
|
12809
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
14144
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
12810
14145
|
@supports (-moz-appearance: none) {
|
|
12811
14146
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
12812
14147
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -12950,7 +14285,7 @@ html[data-ui-input-modality="touch"]
|
|
|
12950
14285
|
@media (prefers-reduced-motion: reduce) {
|
|
12951
14286
|
}
|
|
12952
14287
|
}
|
|
12953
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
14288
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
12954
14289
|
@supports (-moz-appearance: none) {
|
|
12955
14290
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
12956
14291
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -13037,7 +14372,7 @@ html[data-ui-input-modality="touch"]
|
|
|
13037
14372
|
|
|
13038
14373
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
13039
14374
|
}
|
|
13040
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
14375
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
13041
14376
|
@supports (-moz-appearance: none) {
|
|
13042
14377
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
13043
14378
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -13191,7 +14526,7 @@ html[data-ui-input-modality="touch"]
|
|
|
13191
14526
|
|
|
13192
14527
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
13193
14528
|
}
|
|
13194
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
14529
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
13195
14530
|
@supports (-moz-appearance: none) {
|
|
13196
14531
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
13197
14532
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -13436,7 +14771,7 @@ html[data-ui-input-modality="touch"]
|
|
|
13436
14771
|
@media (prefers-reduced-motion: reduce) {
|
|
13437
14772
|
}
|
|
13438
14773
|
}
|
|
13439
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
14774
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
13440
14775
|
@supports (-moz-appearance: none) {
|
|
13441
14776
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
13442
14777
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -13657,7 +14992,7 @@ html[data-ui-input-modality="touch"]
|
|
|
13657
14992
|
|
|
13658
14993
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
13659
14994
|
}
|
|
13660
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
14995
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
13661
14996
|
@supports (-moz-appearance: none) {
|
|
13662
14997
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
13663
14998
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -13881,7 +15216,7 @@ html[data-ui-input-modality="touch"]
|
|
|
13881
15216
|
|
|
13882
15217
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
13883
15218
|
}
|
|
13884
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
15219
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
13885
15220
|
@supports (-moz-appearance: none) {
|
|
13886
15221
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
13887
15222
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -14092,7 +15427,7 @@ html[data-ui-input-modality="touch"]
|
|
|
14092
15427
|
|
|
14093
15428
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
14094
15429
|
}
|
|
14095
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
15430
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
14096
15431
|
@supports (-moz-appearance: none) {
|
|
14097
15432
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
14098
15433
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -14147,7 +15482,7 @@ html[data-ui-input-modality="touch"]
|
|
|
14147
15482
|
|
|
14148
15483
|
/* The root is the hr, so the rules name :host; a bare hr matches only a descendant. */
|
|
14149
15484
|
}
|
|
14150
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
15485
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
14151
15486
|
@supports (-moz-appearance: none) {
|
|
14152
15487
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
14153
15488
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
@@ -14327,7 +15662,7 @@ html[data-ui-input-modality="touch"]
|
|
|
14327
15662
|
|
|
14328
15663
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
14329
15664
|
}
|
|
14330
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
15665
|
+
/* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
|
|
14331
15666
|
@supports (-moz-appearance: none) {
|
|
14332
15667
|
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
14333
15668
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|