@threadlabs/looma 0.28.5 → 0.28.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
- package/dist/index.js +1 -1
- package/package.json +3 -2
- package/styles/ui-action-bar.css +13 -6
- package/styles/ui-affordance-scope.css +12 -5
- package/styles/ui-avatar-group.css +17 -10
- package/styles/ui-avatar.css +23 -16
- package/styles/ui-badge.css +78 -71
- package/styles/ui-breadcrumb-item.css +12 -5
- package/styles/ui-breadcrumbs.css +10 -3
- package/styles/ui-button.css +79 -72
- package/styles/ui-callout.css +29 -22
- package/styles/ui-card.css +25 -18
- package/styles/ui-checkbox.css +45 -37
- package/styles/ui-cluster.css +34 -27
- package/styles/ui-combobox.css +46 -39
- package/styles/ui-container.css +20 -13
- package/styles/ui-context-menu.css +17 -10
- package/styles/ui-cover.css +12 -5
- package/styles/ui-description-item.css +10 -3
- package/styles/ui-description-list.css +20 -13
- package/styles/ui-dialog.css +44 -35
- package/styles/ui-disclosure.css +32 -25
- package/styles/ui-editable.css +15 -8
- package/styles/ui-editor-image-toolbar.css +1 -1
- package/styles/ui-editor-insert-table-grid.css +11 -4
- package/styles/ui-editor-mention-menu-item.css +17 -8
- package/styles/ui-editor-mention-menu.css +14 -7
- package/styles/ui-editor-slash-menu-group.css +10 -3
- package/styles/ui-editor-slash-menu-item.css +15 -8
- package/styles/ui-editor-slash-menu.css +15 -8
- package/styles/ui-editor-surface.css +10 -3
- package/styles/ui-editor-table-context-menu.css +17 -10
- package/styles/ui-editor-table-overlay.css +17 -10
- package/styles/ui-editor-table-toolbar.css +22 -15
- package/styles/ui-editor-toolbar.css +18 -11
- package/styles/ui-floating-action-button.css +21 -14
- package/styles/ui-form-field.css +20 -13
- package/styles/ui-grid.css +21 -14
- package/styles/ui-icon-button.css +80 -73
- package/styles/ui-icon.css +14 -7
- package/styles/ui-image.css +25 -18
- package/styles/ui-input-group.css +34 -27
- package/styles/ui-input.css +42 -35
- package/styles/ui-list-item.css +33 -26
- package/styles/ui-list.css +22 -15
- package/styles/ui-listbox.css +22 -14
- package/styles/ui-menu-group.css +10 -3
- package/styles/ui-menu-item.css +29 -22
- package/styles/ui-menu.css +25 -18
- package/styles/ui-meter.css +36 -29
- package/styles/ui-nav-item.css +26 -19
- package/styles/ui-page-header.css +12 -5
- package/styles/ui-popover.css +27 -20
- package/styles/ui-radio-group.css +14 -6
- package/styles/ui-radio.css +24 -17
- package/styles/ui-reel.css +28 -21
- package/styles/ui-scroll-area.css +22 -15
- package/styles/ui-search-result-row.css +28 -21
- package/styles/ui-search-shell.css +24 -17
- package/styles/ui-section.css +14 -7
- package/styles/ui-select.css +33 -26
- package/styles/ui-separator.css +17 -10
- package/styles/ui-sidebar.css +35 -28
- package/styles/ui-spinner.css +32 -23
- package/styles/ui-stack.css +29 -21
- package/styles/ui-status-message.css +14 -7
- package/styles/ui-switch.css +29 -22
- package/styles/ui-switcher.css +27 -20
- package/styles/ui-table.css +14 -7
- package/styles/ui-tabs.css +24 -17
- package/styles/ui-text.css +35 -28
- package/styles/ui-textarea.css +37 -30
- package/styles/ui-toast-region.css +74 -63
- package/styles/ui-toast.css +21 -14
- package/styles/ui-tooltip.css +38 -31
- package/styles/ui-top-bar.css +19 -12
- package/styles/ui-tree-item.css +79 -71
- package/styles/ui-tree.css +18 -11
- 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 +19 -57
- package/vanilla/UiCallout.d.ts +1 -1
- package/vanilla/UiCallout.js +25 -73
- 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 +60 -166
- 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 +4 -10
- package/vanilla/UiDisclosure.d.ts +1 -1
- package/vanilla/UiDisclosure.js +1 -1
- package/vanilla/UiEditable.d.ts +1 -1
- package/vanilla/UiEditable.js +7 -19
- 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/UiEditorMentionMenu.d.ts +1 -1
- package/vanilla/UiEditorMentionMenu.js +17 -37
- package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
- package/vanilla/UiEditorMentionMenuItem.js +4 -10
- package/vanilla/UiEditorSlashMenu.d.ts +1 -1
- package/vanilla/UiEditorSlashMenu.js +5 -4
- package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
- package/vanilla/UiEditorSlashMenuGroup.js +1 -1
- package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
- package/vanilla/UiEditorSlashMenuItem.js +7 -19
- package/vanilla/UiEditorSurface.d.ts +1 -1
- package/vanilla/UiEditorSurface.js +1 -1
- package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
- package/vanilla/UiEditorTableContextMenu.js +6 -14
- package/vanilla/UiEditorTableOverlay.d.ts +1 -1
- package/vanilla/UiEditorTableOverlay.js +9 -25
- package/vanilla/UiEditorTableToolbar.d.ts +1 -1
- package/vanilla/UiEditorTableToolbar.js +25 -77
- 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 +15 -47
- package/vanilla/UiIconButton.d.ts +1 -1
- package/vanilla/UiIconButton.js +4 -10
- 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 +4 -10
- package/vanilla/UiMenu.d.ts +1 -1
- package/vanilla/UiMenu.js +1 -1
- package/vanilla/UiMenuGroup.d.ts +1 -1
- package/vanilla/UiMenuGroup.js +4 -10
- package/vanilla/UiMenuItem.d.ts +1 -1
- package/vanilla/UiMenuItem.js +4 -10
- package/vanilla/UiMeter.d.ts +1 -1
- package/vanilla/UiMeter.js +13 -33
- package/vanilla/UiNavItem.d.ts +1 -1
- package/vanilla/UiNavItem.js +1 -1
- package/vanilla/UiPageHeader.d.ts +1 -1
- package/vanilla/UiPageHeader.js +1 -1
- package/vanilla/UiPopover.d.ts +1 -1
- package/vanilla/UiPopover.js +1 -1
- package/vanilla/UiRadio.d.ts +1 -1
- package/vanilla/UiRadio.js +1 -1
- package/vanilla/UiRadioGroup.d.ts +1 -1
- package/vanilla/UiRadioGroup.js +1 -1
- package/vanilla/UiReel.d.ts +1 -1
- package/vanilla/UiReel.js +1 -1
- package/vanilla/UiScrollArea.d.ts +1 -1
- package/vanilla/UiScrollArea.js +1 -1
- package/vanilla/UiSearchResultRow.d.ts +1 -1
- package/vanilla/UiSearchResultRow.js +1 -1
- package/vanilla/UiSearchShell.d.ts +1 -1
- package/vanilla/UiSearchShell.js +1 -1
- package/vanilla/UiSection.d.ts +1 -1
- package/vanilla/UiSection.js +1 -1
- package/vanilla/UiSelect.d.ts +1 -1
- package/vanilla/UiSelect.js +1 -1
- package/vanilla/UiSeparator.d.ts +1 -1
- package/vanilla/UiSeparator.js +1 -1
- package/vanilla/UiSidebar.d.ts +1 -1
- package/vanilla/UiSidebar.js +1 -1
- package/vanilla/UiSpinner.d.ts +1 -1
- package/vanilla/UiSpinner.js +1 -1
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +1 -1
- package/vanilla/UiStatusMessage.d.ts +1 -1
- package/vanilla/UiStatusMessage.js +1 -1
- package/vanilla/UiSwitch.d.ts +1 -1
- package/vanilla/UiSwitch.js +1 -1
- package/vanilla/UiSwitcher.d.ts +1 -1
- package/vanilla/UiSwitcher.js +1 -1
- package/vanilla/UiTable.d.ts +1 -1
- package/vanilla/UiTable.js +1 -1
- package/vanilla/UiTabs.d.ts +1 -1
- package/vanilla/UiTabs.js +1 -1
- package/vanilla/UiText.d.ts +1 -1
- package/vanilla/UiText.js +1 -1
- package/vanilla/UiTextarea.d.ts +1 -1
- package/vanilla/UiTextarea.js +1 -1
- package/vanilla/UiToast.d.ts +1 -1
- package/vanilla/UiToast.js +1 -1
- package/vanilla/UiToastRegion.d.ts +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 +7 -19
- package/vue/UiActionBar.vue +46 -78
- package/vue/UiAffordanceScope.vue +27 -66
- package/vue/UiAvatar.d.ts +10 -7
- package/vue/UiAvatar.vue +100 -218
- package/vue/UiAvatarGroup.d.ts +10 -7
- package/vue/UiAvatarGroup.vue +78 -160
- package/vue/UiBadge.d.ts +1 -1
- package/vue/UiBadge.vue +483 -520
- package/vue/UiBreadcrumbItem.vue +52 -123
- package/vue/UiBreadcrumbs.vue +27 -70
- package/vue/UiButton.d.ts +2 -2
- package/vue/UiButton.vue +420 -471
- package/vue/UiCallout.vue +131 -175
- package/vue/UiCard.d.ts +1 -1
- package/vue/UiCard.vue +112 -151
- package/vue/UiCheckbox.d.ts +13 -10
- package/vue/UiCheckbox.vue +160 -221
- package/vue/UiCluster.d.ts +1 -1
- package/vue/UiCluster.vue +84 -128
- package/vue/UiCombobox.d.ts +71 -68
- package/vue/UiCombobox.vue +417 -743
- package/vue/UiContainer.vue +43 -87
- package/vue/UiContextMenu.d.ts +6 -6
- package/vue/UiContextMenu.vue +78 -117
- package/vue/UiCover.vue +29 -69
- package/vue/UiDescriptionItem.vue +39 -82
- package/vue/UiDescriptionList.vue +64 -107
- package/vue/UiDialog.d.ts +22 -19
- package/vue/UiDialog.vue +193 -246
- package/vue/UiDisclosure.d.ts +22 -19
- package/vue/UiDisclosure.vue +192 -283
- package/vue/UiEditable.d.ts +5 -5
- package/vue/UiEditable.vue +124 -207
- package/vue/UiEditorImageToolbar.d.ts +2 -2
- package/vue/UiEditorImageToolbar.vue +41 -251
- package/vue/UiEditorInsertTableGrid.d.ts +2 -2
- package/vue/UiEditorInsertTableGrid.vue +98 -266
- package/vue/UiEditorMentionMenu.d.ts +15 -12
- package/vue/UiEditorMentionMenu.vue +150 -239
- package/vue/UiEditorMentionMenuItem.vue +66 -110
- package/vue/UiEditorSlashMenu.d.ts +16 -13
- package/vue/UiEditorSlashMenu.vue +172 -253
- package/vue/UiEditorSlashMenuGroup.vue +25 -69
- package/vue/UiEditorSlashMenuItem.vue +67 -115
- package/vue/UiEditorSurface.vue +19 -63
- package/vue/UiEditorTableContextMenu.vue +135 -269
- package/vue/UiEditorTableOverlay.d.ts +2 -2
- package/vue/UiEditorTableOverlay.vue +310 -479
- package/vue/UiEditorTableToolbar.d.ts +2 -2
- package/vue/UiEditorTableToolbar.vue +182 -357
- package/vue/UiEditorToolbar.vue +143 -183
- package/vue/UiFloatingActionButton.vue +70 -114
- package/vue/UiFormField.d.ts +1 -1
- package/vue/UiFormField.vue +76 -117
- package/vue/UiGrid.d.ts +1 -1
- package/vue/UiGrid.vue +65 -103
- package/vue/UiIcon.vue +32 -106
- package/vue/UiIconButton.d.ts +2 -2
- package/vue/UiIconButton.vue +359 -411
- package/vue/UiImage.vue +145 -180
- package/vue/UiInput.vue +158 -190
- package/vue/UiInputGroup.vue +199 -239
- package/vue/UiList.vue +67 -109
- package/vue/UiListItem.vue +154 -201
- package/vue/UiListbox.d.ts +10 -7
- package/vue/UiListbox.vue +86 -260
- package/vue/UiMenu.d.ts +11 -11
- package/vue/UiMenu.vue +118 -152
- package/vue/UiMenuGroup.vue +21 -67
- package/vue/UiMenuItem.d.ts +19 -16
- package/vue/UiMenuItem.vue +169 -262
- package/vue/UiMeter.d.ts +4 -4
- package/vue/UiMeter.vue +166 -680
- package/vue/UiNavItem.vue +140 -213
- package/vue/UiPageHeader.vue +81 -127
- package/vue/UiPopover.d.ts +7 -7
- package/vue/UiPopover.vue +90 -129
- package/vue/UiRadio.d.ts +12 -9
- package/vue/UiRadio.vue +91 -149
- package/vue/UiRadioGroup.d.ts +2 -2
- package/vue/UiRadioGroup.vue +47 -85
- package/vue/UiReel.vue +89 -130
- package/vue/UiScrollArea.d.ts +1 -1
- package/vue/UiScrollArea.vue +78 -119
- package/vue/UiSearchResultRow.vue +96 -149
- package/vue/UiSearchShell.d.ts +2 -2
- package/vue/UiSearchShell.vue +159 -196
- package/vue/UiSection.vue +105 -149
- package/vue/UiSelect.d.ts +1 -1
- package/vue/UiSelect.vue +114 -146
- package/vue/UiSeparator.vue +42 -85
- package/vue/UiSidebar.d.ts +10 -7
- package/vue/UiSidebar.vue +193 -260
- package/vue/UiSpinner.vue +54 -130
- package/vue/UiStack.vue +66 -107
- package/vue/UiStatusMessage.d.ts +1 -1
- package/vue/UiStatusMessage.vue +61 -135
- package/vue/UiSwitch.d.ts +12 -9
- package/vue/UiSwitch.vue +136 -194
- package/vue/UiSwitcher.vue +69 -107
- package/vue/UiTable.vue +121 -156
- package/vue/UiTabs.d.ts +1 -1
- package/vue/UiTabs.vue +139 -267
- package/vue/UiText.d.ts +4 -4
- package/vue/UiText.vue +145 -184
- package/vue/UiTextarea.d.ts +2 -2
- package/vue/UiTextarea.vue +162 -194
- package/vue/UiToast.vue +70 -118
- package/vue/UiToastRegion.vue +157 -276
- package/vue/UiTooltip.d.ts +21 -18
- package/vue/UiTooltip.vue +174 -234
- package/vue/UiTopBar.vue +48 -76
- package/vue/UiTree.vue +46 -79
- package/vue/UiTreeItem.d.ts +18 -15
- package/vue/UiTreeItem.vue +526 -668
- package/vue/chunks/UiActionBar.js +5 -17
- package/vue/chunks/UiAffordanceScope.js +7 -26
- package/vue/chunks/UiAvatar.js +20 -74
- package/vue/chunks/UiAvatarGroup.js +14 -56
- package/vue/chunks/UiBadge.js +10 -28
- package/vue/chunks/UiBreadcrumbItem.js +11 -41
- package/vue/chunks/UiBreadcrumbs.js +7 -25
- package/vue/chunks/UiButton.js +80 -103
- package/vue/chunks/UiCallout.js +9 -27
- package/vue/chunks/UiCard.js +33 -53
- package/vue/chunks/UiCheckbox.js +14 -46
- package/vue/chunks/UiCluster.js +13 -31
- package/vue/chunks/UiCombobox.js +99 -237
- package/vue/chunks/UiContainer.js +9 -27
- package/vue/chunks/UiContextMenu.js +7 -26
- package/vue/chunks/UiCover.js +7 -25
- package/vue/chunks/UiDescriptionItem.js +6 -24
- package/vue/chunks/UiDescriptionList.js +9 -27
- package/vue/chunks/UiDialog.js +18 -47
- package/vue/chunks/UiDisclosure.js +19 -66
- package/vue/chunks/UiEditable.js +18 -60
- package/vue/chunks/UiEditorImageToolbar.js +34 -103
- package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
- package/vue/chunks/UiEditorMentionMenu.js +16 -54
- package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
- package/vue/chunks/UiEditorSlashMenu.js +17 -46
- package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
- package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
- package/vue/chunks/UiEditorSurface.js +7 -25
- package/vue/chunks/UiEditorTableContextMenu.js +25 -102
- package/vue/chunks/UiEditorTableOverlay.js +41 -104
- package/vue/chunks/UiEditorTableToolbar.js +44 -122
- package/vue/chunks/UiEditorToolbar.js +7 -26
- package/vue/chunks/UiFloatingActionButton.js +10 -28
- package/vue/chunks/UiFormField.js +8 -27
- package/vue/chunks/UiGrid.js +10 -28
- package/vue/chunks/UiIcon.js +21 -74
- package/vue/chunks/UiIconButton.js +18 -50
- package/vue/chunks/UiImage.js +14 -33
- package/vue/chunks/UiInput.js +12 -31
- package/vue/chunks/UiInputGroup.js +10 -29
- package/vue/chunks/UiList.js +17 -37
- package/vue/chunks/UiListItem.js +12 -30
- package/vue/chunks/UiListbox.js +22 -124
- package/vue/chunks/UiMenu.js +13 -32
- package/vue/chunks/UiMenuGroup.js +8 -26
- package/vue/chunks/UiMenuItem.js +35 -80
- package/vue/chunks/UiMeter.js +17 -351
- package/vue/chunks/UiNavItem.js +23 -57
- package/vue/chunks/UiPageHeader.js +7 -25
- package/vue/chunks/UiPopover.js +9 -28
- package/vue/chunks/UiRadio.js +11 -43
- package/vue/chunks/UiRadioGroup.js +13 -32
- package/vue/chunks/UiReel.js +10 -28
- package/vue/chunks/UiScrollArea.js +10 -29
- package/vue/chunks/UiSearchResultRow.js +10 -28
- package/vue/chunks/UiSearchShell.js +9 -28
- package/vue/chunks/UiSection.js +9 -27
- package/vue/chunks/UiSelect.js +10 -29
- package/vue/chunks/UiSeparator.js +10 -28
- package/vue/chunks/UiSidebar.js +15 -47
- package/vue/chunks/UiSpinner.js +8 -44
- package/vue/chunks/UiStack.js +12 -30
- package/vue/chunks/UiStatusMessage.js +10 -42
- package/vue/chunks/UiSwitch.js +11 -43
- package/vue/chunks/UiSwitcher.js +9 -28
- package/vue/chunks/UiTable.js +7 -26
- package/vue/chunks/UiTabs.js +15 -91
- package/vue/chunks/UiText.js +148 -168
- package/vue/chunks/UiTextarea.js +16 -35
- package/vue/chunks/UiToast.js +13 -37
- package/vue/chunks/UiToastRegion.js +16 -88
- package/vue/chunks/UiTooltip.js +14 -46
- package/vue/chunks/UiTopBar.js +5 -17
- package/vue/chunks/UiTree.js +13 -32
- package/vue/chunks/UiTreeItem.js +34 -90
- package/vue/chunks/_plugin-vue_export-helper.js +904 -1
- package/vue/chunks/control.js +3 -0
- package/vue/chunks/props.js +1 -1
- package/vue/components.css +7606 -7534
- package/vue/editor/index.js +1 -1
- package/vue/host.ts +999 -14
- package/vue/chunks/host.js +0 -443
package/styles/ui-button.css
CHANGED
|
@@ -1,80 +1,87 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
2
|
-
@
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.51. Do not edit. */
|
|
2
|
+
@supports (-moz-appearance: none) {
|
|
3
|
+
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
4
|
+
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
5
|
+
}
|
|
6
|
+
@supports (-moz-appearance: none) {
|
|
7
|
+
[data-component~="ui-button"] { --html-next-scope-owner: "ui-button" !important; }
|
|
8
|
+
}
|
|
9
|
+
@scope ([data-component~="ui-button"]) to ([data-component], [data-slotted]) {
|
|
10
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
11
|
+
@property --ui-button-active-surface {
|
|
3
12
|
syntax: "*";
|
|
4
13
|
inherits: false;
|
|
5
14
|
}
|
|
6
|
-
@property --ui-button-border {
|
|
15
|
+
@property --ui-button-border {
|
|
7
16
|
syntax: "*";
|
|
8
17
|
inherits: false;
|
|
9
18
|
}
|
|
10
|
-
@property --ui-button-disabled-filter {
|
|
19
|
+
@property --ui-button-disabled-filter {
|
|
11
20
|
syntax: "*";
|
|
12
21
|
inherits: false;
|
|
13
22
|
}
|
|
14
|
-
@property --ui-button-disabled-opacity {
|
|
23
|
+
@property --ui-button-disabled-opacity {
|
|
15
24
|
syntax: "*";
|
|
16
25
|
inherits: false;
|
|
17
26
|
}
|
|
18
|
-
@property --ui-button-ghost-active-surface {
|
|
27
|
+
@property --ui-button-ghost-active-surface {
|
|
19
28
|
syntax: "*";
|
|
20
29
|
inherits: false;
|
|
21
30
|
}
|
|
22
|
-
@property --ui-button-ghost-hover-surface {
|
|
31
|
+
@property --ui-button-ghost-hover-surface {
|
|
23
32
|
syntax: "*";
|
|
24
33
|
inherits: false;
|
|
25
34
|
}
|
|
26
|
-
@property --ui-button-ghost-text {
|
|
35
|
+
@property --ui-button-ghost-text {
|
|
27
36
|
syntax: "*";
|
|
28
37
|
inherits: false;
|
|
29
38
|
}
|
|
30
|
-
@property --ui-button-hover-border {
|
|
39
|
+
@property --ui-button-hover-border {
|
|
31
40
|
syntax: "*";
|
|
32
41
|
inherits: false;
|
|
33
42
|
}
|
|
34
|
-
@property --ui-button-hover-surface {
|
|
43
|
+
@property --ui-button-hover-surface {
|
|
35
44
|
syntax: "*";
|
|
36
45
|
inherits: false;
|
|
37
46
|
}
|
|
38
|
-
@property --ui-button-link-hover-text {
|
|
47
|
+
@property --ui-button-link-hover-text {
|
|
39
48
|
syntax: "*";
|
|
40
49
|
inherits: false;
|
|
41
50
|
}
|
|
42
|
-
@property --ui-button-link-text {
|
|
51
|
+
@property --ui-button-link-text {
|
|
43
52
|
syntax: "*";
|
|
44
53
|
inherits: false;
|
|
45
54
|
}
|
|
46
|
-
@property --ui-button-min-block-size {
|
|
55
|
+
@property --ui-button-min-block-size {
|
|
47
56
|
syntax: "*";
|
|
48
57
|
inherits: false;
|
|
49
58
|
}
|
|
50
|
-
@property --ui-button-radius {
|
|
59
|
+
@property --ui-button-radius {
|
|
51
60
|
syntax: "*";
|
|
52
61
|
inherits: false;
|
|
53
62
|
}
|
|
54
|
-
@property --ui-button-shadow {
|
|
63
|
+
@property --ui-button-shadow {
|
|
55
64
|
syntax: "*";
|
|
56
65
|
inherits: false;
|
|
57
66
|
}
|
|
58
|
-
@property --ui-button-solid-shadow {
|
|
67
|
+
@property --ui-button-solid-shadow {
|
|
59
68
|
syntax: "*";
|
|
60
69
|
inherits: false;
|
|
61
70
|
}
|
|
62
|
-
@property --ui-button-surface {
|
|
71
|
+
@property --ui-button-surface {
|
|
63
72
|
syntax: "*";
|
|
64
73
|
inherits: false;
|
|
65
74
|
}
|
|
66
|
-
@property --ui-button-text {
|
|
75
|
+
@property --ui-button-text {
|
|
67
76
|
syntax: "*";
|
|
68
77
|
inherits: false;
|
|
69
78
|
}
|
|
70
|
-
@property --ui-button-white-space {
|
|
79
|
+
@property --ui-button-white-space {
|
|
71
80
|
syntax: "*";
|
|
72
81
|
inherits: false;
|
|
73
82
|
}
|
|
74
|
-
@scope ([data-component~="ui-button"]) to ([data-component], [data-slotted]) {
|
|
75
|
-
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
76
83
|
|
|
77
|
-
:scope {
|
|
84
|
+
:scope:where([data-component~="ui-button"]) {
|
|
78
85
|
/* Optional inherited action-group values keep text and icon actions under the same light.
|
|
79
86
|
One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
|
|
80
87
|
A single ambient lift avoids stacking a face gradient or another inset bevel. */
|
|
@@ -105,21 +112,21 @@
|
|
|
105
112
|
color: var(--_tone-text);
|
|
106
113
|
}
|
|
107
114
|
|
|
108
|
-
:scope:dir(rtl) {
|
|
115
|
+
:scope:where([data-component~="ui-button"]):dir(rtl) {
|
|
109
116
|
--_ui-action-start: -1px;
|
|
110
117
|
}
|
|
111
118
|
|
|
112
|
-
:scope[data-ui-button-state~="align=start"] {
|
|
119
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="align=start"] {
|
|
113
120
|
justify-content: flex-start;
|
|
114
121
|
text-align: start;
|
|
115
122
|
}
|
|
116
123
|
|
|
117
|
-
:scope[data-ui-button-state~="stretch"] {
|
|
124
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="stretch"] {
|
|
118
125
|
display: flex;
|
|
119
126
|
inline-size: 100%;
|
|
120
127
|
}
|
|
121
128
|
|
|
122
|
-
:scope {
|
|
129
|
+
:scope:where([data-component~="ui-button"]) {
|
|
123
130
|
appearance: none;
|
|
124
131
|
min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
125
132
|
border-style: solid;
|
|
@@ -147,7 +154,7 @@
|
|
|
147
154
|
}
|
|
148
155
|
|
|
149
156
|
/* An anchor keeps the boxed button look even when an app styles ordinary links. */
|
|
150
|
-
:scope:is(a) {
|
|
157
|
+
:scope:where([data-component~="ui-button"]):is(a) {
|
|
151
158
|
text-decoration: none;
|
|
152
159
|
}
|
|
153
160
|
|
|
@@ -159,7 +166,7 @@
|
|
|
159
166
|
|
|
160
167
|
/* A count is an adornment, not another line of label text. Keep the standard control height
|
|
161
168
|
with enough inset for a 24px mark; large content can still grow the button naturally. */
|
|
162
|
-
:scope:not([variant="link"]):has(.badge:not(:empty)) {
|
|
169
|
+
:scope:where([data-component~="ui-button"]):not([variant="link"]):has(.badge:not(:empty)) {
|
|
163
170
|
padding-block: var(--ui-space-0-5);
|
|
164
171
|
}
|
|
165
172
|
|
|
@@ -174,29 +181,29 @@
|
|
|
174
181
|
}
|
|
175
182
|
|
|
176
183
|
@supports (text-box-trim: trim-both) {
|
|
177
|
-
:scope {
|
|
184
|
+
:scope:where([data-component~="ui-button"]) {
|
|
178
185
|
text-box-trim: trim-both;
|
|
179
186
|
text-box-edge: cap alphabetic;
|
|
180
187
|
}
|
|
181
188
|
}
|
|
182
189
|
|
|
183
|
-
:scope[data-ui-button-state~="size=xs"] {
|
|
190
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="size=xs"] {
|
|
184
191
|
min-block-size: 1.5rem;
|
|
185
192
|
padding: calc(var(--ui-space-0-5) * 1.5) calc(var(--ui-space-1) * 1.25);
|
|
186
193
|
font-size: var(--ui-font-size-xs);
|
|
187
194
|
}
|
|
188
195
|
|
|
189
|
-
:scope[data-ui-button-state~="shape=pill"] {
|
|
196
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="shape=pill"] {
|
|
190
197
|
border-radius: var(--ui-button-radius, var(--ui-radius-round));
|
|
191
198
|
}
|
|
192
199
|
|
|
193
|
-
:scope[data-ui-button-state~="size=sm"] {
|
|
200
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="size=sm"] {
|
|
194
201
|
min-block-size: var(--ui-control-size-sm);
|
|
195
202
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
196
203
|
font-size: var(--ui-font-size-sm);
|
|
197
204
|
}
|
|
198
205
|
|
|
199
|
-
:scope[data-ui-button-state~="size=lg"] {
|
|
206
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="size=lg"] {
|
|
200
207
|
min-block-size: var(--ui-control-size-lg);
|
|
201
208
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
202
209
|
font-size: var(--ui-font-size-md);
|
|
@@ -204,7 +211,7 @@
|
|
|
204
211
|
|
|
205
212
|
/* Card actions inherit Button's palette and behavior; only their shared layout changes.
|
|
206
213
|
The icon may contain any decorative composition. Empty icons remove their column. */
|
|
207
|
-
:scope[data-ui-button-state~="variant=card"] {
|
|
214
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=card"] {
|
|
208
215
|
display: grid;
|
|
209
216
|
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
210
217
|
align-content: center;
|
|
@@ -217,10 +224,10 @@
|
|
|
217
224
|
box-shadow: none;
|
|
218
225
|
background-image: none;
|
|
219
226
|
}
|
|
220
|
-
:scope[data-ui-button-state~="variant=card"][data-ui-button-state~="size=lg"] {
|
|
227
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=card"][data-ui-button-state~="size=lg"] {
|
|
221
228
|
min-block-size: max(var(--ui-control-min-block-size), var(--ui-control-size-lg));
|
|
222
229
|
}
|
|
223
|
-
:scope[data-ui-button-state~="variant=card"]:has(.card-icon:empty) {
|
|
230
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=card"]:has(.card-icon:empty) {
|
|
224
231
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
225
232
|
}
|
|
226
233
|
.card-icon {
|
|
@@ -241,40 +248,40 @@
|
|
|
241
248
|
|
|
242
249
|
/* A link is never :enabled, so interactive states test "not unavailable" instead: for a button that
|
|
243
250
|
is exactly :enabled, at the same specificity, and it also matches a link that can be followed. */
|
|
244
|
-
:scope:hover:not(:disabled, [aria-disabled="true"]) {
|
|
251
|
+
:scope:where([data-component~="ui-button"]):hover:not(:disabled, [aria-disabled="true"]) {
|
|
245
252
|
border-color: var(--ui-button-hover-border, var(--_tone-hover));
|
|
246
253
|
background-color: var(--ui-button-hover-surface, oklch(from var(--_tone) l c h / 12%));
|
|
247
254
|
}
|
|
248
255
|
|
|
249
256
|
/* A neutral card encloses content quietly; ordinary outlines keep their action-tone edge. */
|
|
250
|
-
:scope[data-ui-button-state~="variant=card"][data-ui-button-state~="tone=neutral"] {
|
|
257
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=card"][data-ui-button-state~="tone=neutral"] {
|
|
251
258
|
border-color: var(--ui-button-border, var(--ui-border));
|
|
252
259
|
}
|
|
253
260
|
|
|
254
|
-
:scope[data-ui-button-state~="variant=card"][data-ui-button-state~="tone=neutral"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
261
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=card"][data-ui-button-state~="tone=neutral"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
255
262
|
border-color: var(--ui-button-hover-border, var(--ui-border-strong));
|
|
256
263
|
}
|
|
257
264
|
|
|
258
265
|
/* Pressed reads as pressed in: the highlight goes, and the shadow moves inside. */
|
|
259
|
-
:scope:active:not(:disabled, [aria-disabled="true"]) {
|
|
266
|
+
:scope:where([data-component~="ui-button"]):active:not(:disabled, [aria-disabled="true"]) {
|
|
260
267
|
background-color: var(--ui-button-active-surface, oklch(from var(--_tone) l c h / 18%));
|
|
261
268
|
background-image: none;
|
|
262
269
|
box-shadow: var(--ui-pressed);
|
|
263
270
|
}
|
|
264
271
|
|
|
265
|
-
:scope[data-ui-button-state~="variant=solid"], :scope[data-ui-button-state~="variant=danger"] {
|
|
272
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=solid"], :scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=danger"] {
|
|
266
273
|
border-color: var(--_tone);
|
|
267
274
|
background-color: var(--_tone);
|
|
268
275
|
color: var(--_on-tone);
|
|
269
276
|
box-shadow: var(--ui-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow)));
|
|
270
277
|
}
|
|
271
278
|
|
|
272
|
-
:is(:scope[data-ui-button-state~="variant=solid"], :scope[data-ui-button-state~="variant=danger"]):hover:not(:disabled, [aria-disabled="true"]) {
|
|
279
|
+
:is(:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=solid"], :scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=danger"]):hover:not(:disabled, [aria-disabled="true"]) {
|
|
273
280
|
background-color: var(--_tone-hover);
|
|
274
281
|
border-color: var(--_tone-hover);
|
|
275
282
|
}
|
|
276
283
|
|
|
277
|
-
:is(:scope[data-ui-button-state~="variant=solid"], :scope[data-ui-button-state~="variant=danger"]):active:not(:disabled, [aria-disabled="true"]) {
|
|
284
|
+
:is(:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=solid"], :scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=danger"]):active:not(:disabled, [aria-disabled="true"]) {
|
|
278
285
|
background-color: var(--_tone-active);
|
|
279
286
|
border-color: var(--_tone-active);
|
|
280
287
|
background-image: none;
|
|
@@ -283,7 +290,7 @@
|
|
|
283
290
|
|
|
284
291
|
/* Tone is the colour, variant is the volume. Every pairing works: a danger outline is a
|
|
285
292
|
destructive secondary action, not a special case. */
|
|
286
|
-
:scope[data-ui-button-state~="tone=neutral"] {
|
|
293
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="tone=neutral"] {
|
|
287
294
|
--_hue: var(--ui-text);
|
|
288
295
|
--_hue-hover: var(--ui-text);
|
|
289
296
|
--_hue-active: var(--ui-text);
|
|
@@ -291,7 +298,7 @@
|
|
|
291
298
|
--_on-hue: var(--ui-surface);
|
|
292
299
|
}
|
|
293
300
|
|
|
294
|
-
:scope[data-ui-button-state~="tone=danger"], :scope[data-ui-button-state~="variant=danger"] {
|
|
301
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="tone=danger"], :scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=danger"] {
|
|
295
302
|
--_hue: var(--ui-danger);
|
|
296
303
|
--_hue-hover: var(--ui-danger-hover);
|
|
297
304
|
--_hue-active: var(--ui-danger-hover);
|
|
@@ -299,7 +306,7 @@
|
|
|
299
306
|
--_on-hue: var(--ui-on-danger);
|
|
300
307
|
}
|
|
301
308
|
|
|
302
|
-
:scope[data-ui-button-state~="tone=success"] {
|
|
309
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="tone=success"] {
|
|
303
310
|
--_hue: var(--ui-success);
|
|
304
311
|
--_hue-hover: color-mix(in srgb, var(--ui-success) 85%, #000);
|
|
305
312
|
--_hue-active: color-mix(in srgb, var(--ui-success) 75%, #000);
|
|
@@ -307,7 +314,7 @@
|
|
|
307
314
|
--_on-hue: var(--ui-surface);
|
|
308
315
|
}
|
|
309
316
|
|
|
310
|
-
:scope[data-ui-button-state~="tone=warning"] {
|
|
317
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="tone=warning"] {
|
|
311
318
|
--_hue: var(--ui-warning);
|
|
312
319
|
--_hue-hover: color-mix(in srgb, var(--ui-warning) 85%, #000);
|
|
313
320
|
--_hue-active: color-mix(in srgb, var(--ui-warning) 75%, #000);
|
|
@@ -315,7 +322,7 @@
|
|
|
315
322
|
--_on-hue: var(--ui-surface);
|
|
316
323
|
}
|
|
317
324
|
|
|
318
|
-
:scope[data-ui-button-state~="tone=info"] {
|
|
325
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="tone=info"] {
|
|
319
326
|
--_hue: var(--ui-info);
|
|
320
327
|
--_hue-hover: color-mix(in srgb, var(--ui-info) 85%, #000);
|
|
321
328
|
--_hue-active: color-mix(in srgb, var(--ui-info) 75%, #000);
|
|
@@ -324,7 +331,7 @@
|
|
|
324
331
|
}
|
|
325
332
|
|
|
326
333
|
/* A value picker is a field, with Select's quiet edge and resting lift. */
|
|
327
|
-
:scope[data-ui-button-state~="variant=field"] {
|
|
334
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=field"] {
|
|
328
335
|
--_ui-field-shadow: var(--ui-shadow-sm);
|
|
329
336
|
border-color: var(--ui-button-border, var(--ui-control-border, var(--ui-border-strong)));
|
|
330
337
|
border-radius: var(--ui-button-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
@@ -334,23 +341,23 @@
|
|
|
334
341
|
box-shadow: var(--ui-button-shadow, var(--_ui-field-shadow));
|
|
335
342
|
}
|
|
336
343
|
|
|
337
|
-
:scope[data-ui-button-state~="variant=field"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
344
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=field"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
338
345
|
border-color: var(--ui-button-hover-border, var(--ui-control-border-hover, var(--ui-text-secondary)));
|
|
339
346
|
background-color: var(--ui-button-hover-surface, var(--ui-control-surface, var(--ui-surface-elevated)));
|
|
340
347
|
}
|
|
341
348
|
|
|
342
|
-
:scope[data-ui-button-state~="variant=field"]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
|
|
349
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=field"]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
|
|
343
350
|
--_ui-field-shadow: var(--ui-pressed);
|
|
344
351
|
}
|
|
345
352
|
|
|
346
|
-
:scope[data-ui-button-state~="variant=field"]:focus-visible {
|
|
353
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=field"]:focus-visible {
|
|
347
354
|
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
348
355
|
box-shadow:
|
|
349
356
|
var(--ui-button-shadow, var(--_ui-field-shadow)),
|
|
350
357
|
var(--ui-control-focus-halo-shadow);
|
|
351
358
|
}
|
|
352
359
|
|
|
353
|
-
:scope[data-ui-button-state~="variant=ghost"] {
|
|
360
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=ghost"] {
|
|
354
361
|
border-color: transparent;
|
|
355
362
|
background: transparent;
|
|
356
363
|
box-shadow: none;
|
|
@@ -358,40 +365,40 @@
|
|
|
358
365
|
}
|
|
359
366
|
|
|
360
367
|
/* Tints derive from the text colour, not a surface token, so hover and press show on any background. */
|
|
361
|
-
:scope[data-ui-button-state~="variant=ghost"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
368
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=ghost"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
362
369
|
background-color: var(--ui-button-ghost-hover-surface, oklch(from var(--_tone) l c h / 10%));
|
|
363
370
|
border-color: transparent;
|
|
364
371
|
}
|
|
365
372
|
|
|
366
373
|
/* Pressed, or holding its menu open, a ghost button sinks slightly: a light surface with a faint
|
|
367
374
|
edge and a soft inner shadow. Lighter than hover, so an open menu's trigger never reads as heavy. */
|
|
368
|
-
:scope[data-ui-button-state~="variant=ghost"]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
|
|
375
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=ghost"]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
|
|
369
376
|
background-color: var(--ui-button-ghost-active-surface, color-mix(in oklch, var(--ui-surface), var(--_tone) 3%));
|
|
370
377
|
border-color: transparent;
|
|
371
378
|
box-shadow: inset 0 0 0 1px oklch(from var(--_tone) l c h / 10%), inset 0 1px 2px oklch(from var(--_tone) l c h / 8%);
|
|
372
379
|
}
|
|
373
380
|
|
|
374
381
|
/* A soft halo that transitions in with the other box-shadow changes, layered on the raised shadow. */
|
|
375
|
-
:scope:focus-visible {
|
|
382
|
+
:scope:where([data-component~="ui-button"]):focus-visible {
|
|
376
383
|
outline: none;
|
|
377
384
|
box-shadow:
|
|
378
385
|
var(--ui-button-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
|
|
379
386
|
var(--ui-focus-halo);
|
|
380
387
|
}
|
|
381
388
|
|
|
382
|
-
:scope[data-ui-button-state~="variant=solid"]:focus-visible {
|
|
389
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=solid"]:focus-visible {
|
|
383
390
|
box-shadow:
|
|
384
391
|
var(--ui-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
|
|
385
392
|
var(--ui-focus-halo);
|
|
386
393
|
}
|
|
387
394
|
|
|
388
|
-
:is(:scope[data-ui-button-state~="variant=ghost"], :scope[data-ui-button-state~="variant=link"], :scope[data-ui-button-state~="variant=card"]):focus-visible {
|
|
395
|
+
:is(:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=ghost"], :scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=link"], :scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=card"]):focus-visible {
|
|
389
396
|
box-shadow: var(--ui-focus-halo);
|
|
390
397
|
}
|
|
391
398
|
|
|
392
399
|
/* A loading action stays visually active; only an explicitly disabled action takes the
|
|
393
400
|
neutral disabled palette. Its flat surface and muted ink make the state unambiguous. */
|
|
394
|
-
:scope:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
|
|
401
|
+
:scope:where([data-component~="ui-button"]):is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
|
|
395
402
|
border-color: var(--ui-disabled-border);
|
|
396
403
|
background-color: var(--ui-disabled-surface);
|
|
397
404
|
color: var(--ui-disabled-text);
|
|
@@ -402,19 +409,19 @@
|
|
|
402
409
|
box-shadow: none;
|
|
403
410
|
}
|
|
404
411
|
|
|
405
|
-
:is(:scope[data-ui-button-state~="loading"], :scope[data-ui-button-state~="pending"]):focus-visible {
|
|
412
|
+
:is(:scope:where([data-component~="ui-button"])[data-ui-button-state~="loading"], :scope:where([data-component~="ui-button"])[data-ui-button-state~="pending"]):focus-visible {
|
|
406
413
|
box-shadow: var(--ui-focus-halo);
|
|
407
414
|
}
|
|
408
415
|
|
|
409
416
|
/* Ghost keeps no border, but gains the same neutral surface as other disabled buttons. */
|
|
410
|
-
:scope[data-ui-button-state~="variant=ghost"]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
|
|
417
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=ghost"]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
|
|
411
418
|
background-color: var(--ui-disabled-surface);
|
|
412
419
|
border-color: transparent;
|
|
413
420
|
}
|
|
414
421
|
|
|
415
422
|
/* The size states outrank :host, so sm is named too, or a small button would stay small. */
|
|
416
423
|
@media (pointer: coarse) {
|
|
417
|
-
:scope, :scope[data-ui-button-state~="size=sm"] {
|
|
424
|
+
:scope:where([data-component~="ui-button"]), :scope:where([data-component~="ui-button"])[data-ui-button-state~="size=sm"] {
|
|
418
425
|
min-block-size: var(--ui-control-min-block-size);
|
|
419
426
|
}
|
|
420
427
|
}
|
|
@@ -424,13 +431,13 @@
|
|
|
424
431
|
a link-style one keeps its text size, so a standalone one ("See all" under a list) needs the
|
|
425
432
|
area. xs sits inside a line of text the same way, so it keeps its size and gains the area too.
|
|
426
433
|
Only these need it: a hit area on every button would reach over its neighbours. */
|
|
427
|
-
html[data-ui-input-modality="touch"] :scope[data-ui-button-state~="variant=link"],
|
|
428
|
-
html[data-ui-input-modality="touch"] :scope[data-ui-button-state~="size=xs"] {
|
|
434
|
+
html[data-ui-input-modality="touch"] :scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=link"],
|
|
435
|
+
html[data-ui-input-modality="touch"] :scope:where([data-component~="ui-button"])[data-ui-button-state~="size=xs"] {
|
|
429
436
|
position: relative;
|
|
430
437
|
}
|
|
431
438
|
|
|
432
|
-
html[data-ui-input-modality="touch"] :scope[data-ui-button-state~="variant=link"]::after,
|
|
433
|
-
html[data-ui-input-modality="touch"] :scope[data-ui-button-state~="size=xs"]::after {
|
|
439
|
+
html[data-ui-input-modality="touch"] :scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=link"]::after,
|
|
440
|
+
html[data-ui-input-modality="touch"] :scope:where([data-component~="ui-button"])[data-ui-button-state~="size=xs"]::after {
|
|
434
441
|
position: absolute;
|
|
435
442
|
inset: 50% auto auto 50%;
|
|
436
443
|
inline-size: max(100%, var(--ui-control-min-block-size));
|
|
@@ -441,7 +448,7 @@
|
|
|
441
448
|
|
|
442
449
|
/* Link: an inline text action. No box, padding, or minimum height (inline targets are exempt under
|
|
443
450
|
WCAG 2.5.8); the inherited font; an underline that strengthens on hover; a visible focus ring. */
|
|
444
|
-
:scope[data-ui-button-state~="variant=link"] {
|
|
451
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=link"] {
|
|
445
452
|
display: inline;
|
|
446
453
|
min-block-size: 0;
|
|
447
454
|
padding: 0;
|
|
@@ -458,24 +465,24 @@
|
|
|
458
465
|
transition: color var(--ui-motion-fast) var(--ui-motion-ease), text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
459
466
|
}
|
|
460
467
|
|
|
461
|
-
:scope[data-ui-button-state~="variant=link"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
468
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=link"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
462
469
|
color: var(--ui-button-link-hover-text, var(--ui-text-primary));
|
|
463
470
|
text-decoration-color: currentColor;
|
|
464
471
|
background: none;
|
|
465
472
|
transform: none;
|
|
466
473
|
}
|
|
467
474
|
|
|
468
|
-
:scope[data-ui-button-state~="variant=link"]:active:not(:disabled, [aria-disabled="true"]) {
|
|
475
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=link"]:active:not(:disabled, [aria-disabled="true"]) {
|
|
469
476
|
background: none;
|
|
470
477
|
transform: none;
|
|
471
478
|
}
|
|
472
479
|
|
|
473
|
-
:scope[data-ui-button-state~="variant=link"]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
|
|
480
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=link"]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
|
|
474
481
|
background: none;
|
|
475
482
|
border-color: transparent;
|
|
476
483
|
}
|
|
477
484
|
|
|
478
|
-
:scope[data-ui-button-state~="variant=link"]:focus-visible {
|
|
485
|
+
:scope:where([data-component~="ui-button"])[data-ui-button-state~="variant=link"]:focus-visible {
|
|
479
486
|
box-shadow: none;
|
|
480
487
|
/* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
|
|
481
488
|
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
@@ -483,7 +490,7 @@
|
|
|
483
490
|
}
|
|
484
491
|
|
|
485
492
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
486
|
-
:scope[hidden] {
|
|
493
|
+
:scope:where([data-component~="ui-button"])[hidden] {
|
|
487
494
|
display: none;
|
|
488
495
|
}
|
|
489
496
|
}
|
package/styles/ui-callout.css
CHANGED
|
@@ -1,52 +1,59 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
2
|
-
@
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.51. Do not edit. */
|
|
2
|
+
@supports (-moz-appearance: none) {
|
|
3
|
+
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
4
|
+
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
5
|
+
}
|
|
6
|
+
@supports (-moz-appearance: none) {
|
|
7
|
+
[data-component~="ui-callout"] { --html-next-scope-owner: "ui-callout" !important; }
|
|
8
|
+
}
|
|
9
|
+
@scope ([data-component~="ui-callout"]) to ([data-component], [data-slotted]) {
|
|
10
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
11
|
+
@property --ui-callout-border {
|
|
3
12
|
syntax: "*";
|
|
4
13
|
inherits: false;
|
|
5
14
|
}
|
|
6
|
-
@property --ui-callout-border-width {
|
|
15
|
+
@property --ui-callout-border-width {
|
|
7
16
|
syntax: "*";
|
|
8
17
|
inherits: false;
|
|
9
18
|
}
|
|
10
|
-
@property --ui-callout-gap {
|
|
19
|
+
@property --ui-callout-gap {
|
|
11
20
|
syntax: "*";
|
|
12
21
|
inherits: false;
|
|
13
22
|
}
|
|
14
|
-
@property --ui-callout-icon {
|
|
23
|
+
@property --ui-callout-icon {
|
|
15
24
|
syntax: "*";
|
|
16
25
|
inherits: false;
|
|
17
26
|
}
|
|
18
|
-
@property --ui-callout-icon-column {
|
|
27
|
+
@property --ui-callout-icon-column {
|
|
19
28
|
syntax: "*";
|
|
20
29
|
inherits: false;
|
|
21
30
|
}
|
|
22
|
-
@property --ui-callout-icon-size {
|
|
31
|
+
@property --ui-callout-icon-size {
|
|
23
32
|
syntax: "*";
|
|
24
33
|
inherits: false;
|
|
25
34
|
}
|
|
26
|
-
@property --ui-callout-leading-border-width {
|
|
35
|
+
@property --ui-callout-leading-border-width {
|
|
27
36
|
syntax: "*";
|
|
28
37
|
inherits: false;
|
|
29
38
|
}
|
|
30
|
-
@property --ui-callout-padding-block {
|
|
39
|
+
@property --ui-callout-padding-block {
|
|
31
40
|
syntax: "*";
|
|
32
41
|
inherits: false;
|
|
33
42
|
}
|
|
34
|
-
@property --ui-callout-padding-inline {
|
|
43
|
+
@property --ui-callout-padding-inline {
|
|
35
44
|
syntax: "*";
|
|
36
45
|
inherits: false;
|
|
37
46
|
}
|
|
38
|
-
@property --ui-callout-surface {
|
|
47
|
+
@property --ui-callout-surface {
|
|
39
48
|
syntax: "*";
|
|
40
49
|
inherits: false;
|
|
41
50
|
}
|
|
42
|
-
@property --ui-callout-text {
|
|
51
|
+
@property --ui-callout-text {
|
|
43
52
|
syntax: "*";
|
|
44
53
|
inherits: false;
|
|
45
54
|
}
|
|
46
|
-
@scope ([data-component~="ui-callout"]) to ([data-component], [data-slotted]) {
|
|
47
|
-
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
48
55
|
|
|
49
|
-
:scope {
|
|
56
|
+
:scope:where([data-component~="ui-callout"]) {
|
|
50
57
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
51
58
|
--_ui-callout-icon-column: var(--ui-callout-icon-column);
|
|
52
59
|
--_ui-callout-icon: var(--ui-callout-icon);
|
|
@@ -110,7 +117,7 @@
|
|
|
110
117
|
font-weight: var(--ui-font-semibold);
|
|
111
118
|
}
|
|
112
119
|
|
|
113
|
-
:scope[data-ui-callout-state~="tone=neutral"], :scope[data-ui-callout-state~="tone=note"] {
|
|
120
|
+
:scope:where([data-component~="ui-callout"])[data-ui-callout-state~="tone=neutral"], :scope:where([data-component~="ui-callout"])[data-ui-callout-state~="tone=note"] {
|
|
114
121
|
--_ui-selection-context-surface: initial;
|
|
115
122
|
--_ui-selection-context-border: initial;
|
|
116
123
|
--_ui-selection-context-text: initial;
|
|
@@ -119,31 +126,31 @@
|
|
|
119
126
|
--_callout-icon: var(--ui-text-secondary);
|
|
120
127
|
}
|
|
121
128
|
|
|
122
|
-
:scope[data-ui-callout-state~="tone=tip"] {
|
|
129
|
+
:scope:where([data-component~="ui-callout"])[data-ui-callout-state~="tone=tip"] {
|
|
123
130
|
--_callout-surface: var(--ui-success-soft);
|
|
124
131
|
--_callout-border: var(--ui-success-solid);
|
|
125
132
|
--_callout-icon: var(--ui-success-solid);
|
|
126
133
|
}
|
|
127
134
|
|
|
128
|
-
:scope[data-ui-callout-state~="tone=important"] {
|
|
135
|
+
:scope:where([data-component~="ui-callout"])[data-ui-callout-state~="tone=important"] {
|
|
129
136
|
--_callout-surface: var(--ui-accent-soft);
|
|
130
137
|
--_callout-border: var(--ui-accent-solid);
|
|
131
138
|
--_callout-icon: var(--ui-accent-solid);
|
|
132
139
|
}
|
|
133
140
|
|
|
134
|
-
:scope[data-ui-callout-state~="tone=warning"] {
|
|
141
|
+
:scope:where([data-component~="ui-callout"])[data-ui-callout-state~="tone=warning"] {
|
|
135
142
|
--_callout-surface: var(--ui-warning-soft);
|
|
136
143
|
--_callout-border: var(--ui-warning-solid);
|
|
137
144
|
--_callout-icon: var(--ui-warning-solid);
|
|
138
145
|
}
|
|
139
146
|
|
|
140
|
-
:scope[data-ui-callout-state~="tone=success"] {
|
|
147
|
+
:scope:where([data-component~="ui-callout"])[data-ui-callout-state~="tone=success"] {
|
|
141
148
|
--_callout-surface: var(--ui-success-soft);
|
|
142
149
|
--_callout-border: var(--ui-success-solid);
|
|
143
150
|
--_callout-icon: var(--ui-success-solid);
|
|
144
151
|
}
|
|
145
152
|
|
|
146
|
-
:scope[data-ui-callout-state~="tone=danger"], :scope[data-ui-callout-state~="tone=caution"] {
|
|
153
|
+
:scope:where([data-component~="ui-callout"])[data-ui-callout-state~="tone=danger"], :scope:where([data-component~="ui-callout"])[data-ui-callout-state~="tone=caution"] {
|
|
147
154
|
--_callout-surface: var(--ui-danger-soft);
|
|
148
155
|
--_callout-border: var(--ui-danger-solid);
|
|
149
156
|
--_callout-icon: var(--ui-danger-solid);
|
|
@@ -152,7 +159,7 @@
|
|
|
152
159
|
/* A link in the callout's text is underlined, so it reads as a link by more than colour. */
|
|
153
160
|
|
|
154
161
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
155
|
-
:scope[hidden] {
|
|
162
|
+
:scope:where([data-component~="ui-callout"])[hidden] {
|
|
156
163
|
display: none;
|
|
157
164
|
}
|
|
158
165
|
}
|