@threadlabs/looma 0.26.25 → 0.26.26
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-icon-button/ui-icon-button.html +12 -2
- package/components/ui-tooltip/ui-tooltip.html +2 -1
- package/components/ui-tooltip/ui-tooltip.js +20 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-icon-button.css +9 -2
- package/vanilla/UiIconButton.d.ts +1 -0
- package/vanilla/UiIconButton.js +14 -14
- package/vue/UiIconButton.d.ts +9 -0
- package/vue/UiIconButton.vue +31 -2
- package/vue/UiTooltip.vue +1 -1
- package/vue/chunks/UiIconButton.js +26 -1
- package/vue/chunks/UiTooltip.js +2 -2
- package/vue/components.css +82 -76
package/vue/components.css
CHANGED
|
@@ -1978,7 +1978,7 @@ input[data-v-a7d28848]:focus-visible {
|
|
|
1978
1978
|
syntax: "*";
|
|
1979
1979
|
inherits: false;
|
|
1980
1980
|
}
|
|
1981
|
-
[data-component~="ui-tooltip"][data-v-
|
|
1981
|
+
[data-component~="ui-tooltip"][data-v-4a6fb61a] {
|
|
1982
1982
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
1983
1983
|
--_ui-tooltip-border: var(--ui-tooltip-border);
|
|
1984
1984
|
--_ui-tooltip-max-inline-size: var(--ui-tooltip-max-inline-size);
|
|
@@ -2010,7 +2010,7 @@ input[data-v-a7d28848]:focus-visible {
|
|
|
2010
2010
|
display var(--ui-motion-fast) allow-discrete,
|
|
2011
2011
|
overlay var(--ui-motion-fast) allow-discrete;
|
|
2012
2012
|
}
|
|
2013
|
-
.surface[data-v-
|
|
2013
|
+
.surface[data-v-4a6fb61a] {
|
|
2014
2014
|
--_tooltip-line: var(--_ui-tooltip-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
2015
2015
|
position: relative;
|
|
2016
2016
|
box-sizing: border-box;
|
|
@@ -2031,7 +2031,7 @@ input[data-v-a7d28848]:focus-visible {
|
|
|
2031
2031
|
|
|
2032
2032
|
/* A keyboard shortcut follows the label after a thin divider, smaller and quieter, as menus show
|
|
2033
2033
|
it. The label stays first in the description, so a screen reader hears the name, then the keys. */
|
|
2034
|
-
.shortcut[data-v-
|
|
2034
|
+
.shortcut[data-v-4a6fb61a] {
|
|
2035
2035
|
display: inline-flex;
|
|
2036
2036
|
align-items: center;
|
|
2037
2037
|
margin-inline-start: var(--ui-space-2);
|
|
@@ -2043,15 +2043,15 @@ input[data-v-a7d28848]:focus-visible {
|
|
|
2043
2043
|
white-space: nowrap;
|
|
2044
2044
|
vertical-align: baseline;
|
|
2045
2045
|
}
|
|
2046
|
-
.shortcut[data-v-
|
|
2046
|
+
.shortcut[data-v-4a6fb61a]:empty {
|
|
2047
2047
|
display: none;
|
|
2048
2048
|
}
|
|
2049
2049
|
|
|
2050
2050
|
/* A <kbd> takes the browser's monospace; the hint reads in the tooltip's own type. */
|
|
2051
|
-
.shortcut kbd[data-v-
|
|
2051
|
+
.shortcut kbd[data-v-4a6fb61a-s] {
|
|
2052
2052
|
font: inherit;
|
|
2053
2053
|
}
|
|
2054
|
-
[data-component~="ui-tooltip"][data-ui-tooltip-state~="inverse"] .surface[data-v-
|
|
2054
|
+
[data-component~="ui-tooltip"][data-ui-tooltip-state~="inverse"] .surface[data-v-4a6fb61a] {
|
|
2055
2055
|
--_tooltip-line: var(--_ui-tooltip-inverse-surface, var(--ui-text-primary));
|
|
2056
2056
|
background: var(--_ui-tooltip-inverse-surface, var(--ui-text-primary));
|
|
2057
2057
|
color: var(--_ui-tooltip-inverse-text, var(--ui-surface-default));
|
|
@@ -2059,7 +2059,7 @@ input[data-v-a7d28848]:focus-visible {
|
|
|
2059
2059
|
|
|
2060
2060
|
/* A rotated square shares the surface fill and draws the two outward border edges. Its centre sits on
|
|
2061
2061
|
* the surface border line, so the fill covers that stretch of border and the outline runs unbroken. */
|
|
2062
|
-
.surface[data-v-
|
|
2062
|
+
.surface[data-v-4a6fb61a]::after {
|
|
2063
2063
|
content: "";
|
|
2064
2064
|
position: absolute;
|
|
2065
2065
|
z-index: 1;
|
|
@@ -2075,7 +2075,7 @@ input[data-v-a7d28848]:focus-visible {
|
|
|
2075
2075
|
border-end-end-radius: var(--ui-border-width);
|
|
2076
2076
|
transform: rotate(45deg) scaleX(1.25) scaleY(0.85);
|
|
2077
2077
|
}
|
|
2078
|
-
[data-component~="ui-tooltip"][data-ui-actual-placement="bottom"] .surface[data-v-
|
|
2078
|
+
[data-component~="ui-tooltip"][data-ui-actual-placement="bottom"] .surface[data-v-4a6fb61a]::after {
|
|
2079
2079
|
inset-block-start: calc(
|
|
2080
2080
|
var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
|
|
2081
2081
|
);
|
|
@@ -2087,26 +2087,26 @@ input[data-v-a7d28848]:focus-visible {
|
|
|
2087
2087
|
border-end-end-radius: 0;
|
|
2088
2088
|
border-start-start-radius: var(--ui-border-width);
|
|
2089
2089
|
}
|
|
2090
|
-
[data-component~="ui-tooltip"][data-ui-actual-align="center"] .surface[data-v-
|
|
2090
|
+
[data-component~="ui-tooltip"][data-ui-actual-align="center"] .surface[data-v-4a6fb61a]::after {
|
|
2091
2091
|
inset-inline-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.625rem) / 2);
|
|
2092
2092
|
}
|
|
2093
|
-
[data-component~="ui-tooltip"][data-ui-actual-align="end"] .surface[data-v-
|
|
2093
|
+
[data-component~="ui-tooltip"][data-ui-actual-align="end"] .surface[data-v-4a6fb61a]::after {
|
|
2094
2094
|
inset-inline-start: auto;
|
|
2095
2095
|
inset-inline-end: var(--ui-space-3);
|
|
2096
2096
|
}
|
|
2097
|
-
[data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface[data-v-
|
|
2098
|
-
[data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface[data-v-
|
|
2097
|
+
[data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface[data-v-4a6fb61a]::after,
|
|
2098
|
+
[data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface[data-v-4a6fb61a]::after {
|
|
2099
2099
|
inset-block-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.625rem) / 2);
|
|
2100
2100
|
inset-block-end: auto;
|
|
2101
2101
|
border: 0 solid var(--_tooltip-line);
|
|
2102
2102
|
}
|
|
2103
|
-
[data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface[data-v-
|
|
2103
|
+
[data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface[data-v-4a6fb61a]::after {
|
|
2104
2104
|
inset-inline-start: auto;
|
|
2105
2105
|
inset-inline-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2);
|
|
2106
2106
|
border-inline-end-width: var(--ui-border-width);
|
|
2107
2107
|
border-block-start-width: var(--ui-border-width);
|
|
2108
2108
|
}
|
|
2109
|
-
[data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface[data-v-
|
|
2109
|
+
[data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface[data-v-4a6fb61a]::after {
|
|
2110
2110
|
inset-inline-start: calc(
|
|
2111
2111
|
var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
|
|
2112
2112
|
);
|
|
@@ -2115,33 +2115,33 @@ input[data-v-a7d28848]:focus-visible {
|
|
|
2115
2115
|
border-block-end-width: var(--ui-border-width);
|
|
2116
2116
|
}
|
|
2117
2117
|
[data-component~="ui-tooltip"][data-ui-actual-placement="left"][data-ui-actual-align="start"]
|
|
2118
|
-
.surface[data-v-
|
|
2118
|
+
.surface[data-v-4a6fb61a]::after,
|
|
2119
2119
|
[data-component~="ui-tooltip"][data-ui-actual-placement="right"][data-ui-actual-align="start"]
|
|
2120
|
-
.surface[data-v-
|
|
2120
|
+
.surface[data-v-4a6fb61a]::after {
|
|
2121
2121
|
inset-block-start: var(--ui-space-3);
|
|
2122
2122
|
}
|
|
2123
2123
|
[data-component~="ui-tooltip"][data-ui-actual-placement="left"][data-ui-actual-align="end"]
|
|
2124
|
-
.surface[data-v-
|
|
2124
|
+
.surface[data-v-4a6fb61a]::after,
|
|
2125
2125
|
[data-component~="ui-tooltip"][data-ui-actual-placement="right"][data-ui-actual-align="end"]
|
|
2126
|
-
.surface[data-v-
|
|
2126
|
+
.surface[data-v-4a6fb61a]::after {
|
|
2127
2127
|
inset-block-start: auto;
|
|
2128
2128
|
inset-block-end: var(--ui-space-3);
|
|
2129
2129
|
}
|
|
2130
|
-
[data-component~="ui-tooltip"][data-v-
|
|
2130
|
+
[data-component~="ui-tooltip"][data-v-4a6fb61a]:popover-open {
|
|
2131
2131
|
opacity: 1;
|
|
2132
2132
|
transform: translateY(0);
|
|
2133
2133
|
}
|
|
2134
2134
|
@starting-style {
|
|
2135
|
-
[data-component~="ui-tooltip"][data-v-
|
|
2135
|
+
[data-component~="ui-tooltip"][data-v-4a6fb61a]:popover-open {
|
|
2136
2136
|
opacity: 0;
|
|
2137
2137
|
transform: translateY(4px);
|
|
2138
2138
|
}
|
|
2139
2139
|
}
|
|
2140
|
-
[data-component~="ui-tooltip"][hidden][data-v-
|
|
2140
|
+
[data-component~="ui-tooltip"][hidden][data-v-4a6fb61a] {
|
|
2141
2141
|
display: none;
|
|
2142
2142
|
}
|
|
2143
2143
|
@media (prefers-reduced-motion: reduce) {
|
|
2144
|
-
[data-component~="ui-tooltip"][data-v-
|
|
2144
|
+
[data-component~="ui-tooltip"][data-v-4a6fb61a] {
|
|
2145
2145
|
transition: none;
|
|
2146
2146
|
}
|
|
2147
2147
|
}
|
|
@@ -4973,7 +4973,7 @@ svg[data-v-955cfa65-s] {
|
|
|
4973
4973
|
syntax: "*";
|
|
4974
4974
|
inherits: false;
|
|
4975
4975
|
}
|
|
4976
|
-
[data-component~="ui-icon-button"][data-v-
|
|
4976
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496] {
|
|
4977
4977
|
/* Optional inherited action-group values keep text and icon actions under the same light.
|
|
4978
4978
|
One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
|
|
4979
4979
|
A single ambient lift avoids stacking a face gradient or another inset bevel. */
|
|
@@ -4996,10 +4996,10 @@ svg[data-v-955cfa65-s] {
|
|
|
4996
4996
|
display: inline-flex;
|
|
4997
4997
|
color: var(--ui-text-secondary);
|
|
4998
4998
|
}
|
|
4999
|
-
[data-component~="ui-icon-button"][data-v-
|
|
4999
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496]:dir(rtl) {
|
|
5000
5000
|
--_ui-action-start: -1px;
|
|
5001
5001
|
}
|
|
5002
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="tone=accent"][data-v-
|
|
5002
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="tone=accent"][data-v-ea2a5496] {
|
|
5003
5003
|
--_icon-button-border: var(--ui-accent-solid);
|
|
5004
5004
|
--_icon-button-hover-border: var(--ui-accent-hover);
|
|
5005
5005
|
--_icon-button-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
|
|
@@ -5012,15 +5012,15 @@ svg[data-v-955cfa65-s] {
|
|
|
5012
5012
|
}
|
|
5013
5013
|
|
|
5014
5014
|
/* Omitted tone retains the existing accent solid; explicit neutral is additive. */
|
|
5015
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="tone=neutral"][data-v-
|
|
5015
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="tone=neutral"][data-v-ea2a5496] {
|
|
5016
5016
|
--_icon-button-solid-surface: var(--ui-text-primary);
|
|
5017
5017
|
--_icon-button-solid-hover-surface: var(--ui-text-primary);
|
|
5018
5018
|
--_icon-button-solid-text: var(--ui-surface-default);
|
|
5019
5019
|
}
|
|
5020
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
5020
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496] {
|
|
5021
5021
|
position: relative;
|
|
5022
5022
|
}
|
|
5023
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
5023
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]::before {
|
|
5024
5024
|
content: "";
|
|
5025
5025
|
position: absolute;
|
|
5026
5026
|
inset: 50% auto auto 50%;
|
|
@@ -5034,13 +5034,19 @@ svg[data-v-955cfa65-s] {
|
|
|
5034
5034
|
transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
|
|
5035
5035
|
pointer-events: none;
|
|
5036
5036
|
}
|
|
5037
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
5037
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-ui-icon-button-state~="guide=bar"][data-v-ea2a5496]::before {
|
|
5038
|
+
inline-size: 2px;
|
|
5039
|
+
block-size: 20px;
|
|
5040
|
+
background: var(--ui-border-strong);
|
|
5041
|
+
opacity: 1;
|
|
5042
|
+
}
|
|
5043
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]:disabled::before {
|
|
5038
5044
|
opacity: 0;
|
|
5039
5045
|
}
|
|
5040
5046
|
|
|
5041
5047
|
/* At rest an anticipatory button shows only its guide dot. The icon grows into place when
|
|
5042
5048
|
proximity, hover, or focus reveals it; the button's hit area and guide remain stable. */
|
|
5043
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"] .content[data-v-
|
|
5049
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"] .content[data-v-ea2a5496] {
|
|
5044
5050
|
opacity: 1;
|
|
5045
5051
|
transform: scale(1);
|
|
5046
5052
|
transition:
|
|
@@ -5048,22 +5054,22 @@ svg[data-v-955cfa65-s] {
|
|
|
5048
5054
|
transform calc(var(--ui-motion-fast) * 2) cubic-bezier(0.2, 1.4, 0.35, 1);
|
|
5049
5055
|
}
|
|
5050
5056
|
@media (hover: hover) and (pointer: fine) {
|
|
5051
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
5057
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible) {
|
|
5052
5058
|
border-color: transparent;
|
|
5053
5059
|
background-color: transparent;
|
|
5054
5060
|
box-shadow: none;
|
|
5055
5061
|
}
|
|
5056
5062
|
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
5057
|
-
.content[data-v-
|
|
5063
|
+
.content[data-v-ea2a5496] {
|
|
5058
5064
|
opacity: 0;
|
|
5059
5065
|
transform: scale(0.65);
|
|
5060
5066
|
transition-duration: var(--ui-motion-fast);
|
|
5061
5067
|
}
|
|
5062
5068
|
}
|
|
5063
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
5069
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
|
|
5064
5070
|
opacity: 0;
|
|
5065
5071
|
}
|
|
5066
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5072
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496] {
|
|
5067
5073
|
/* The size prop resolves here; --ui-icon-button-size overrides it on an element. */
|
|
5068
5074
|
--_size: 2rem;
|
|
5069
5075
|
appearance: none;
|
|
@@ -5086,10 +5092,10 @@ svg[data-v-955cfa65-s] {
|
|
|
5086
5092
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
5087
5093
|
color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
5088
5094
|
box-shadow var(--ui-motion-base) var(--ui-motion-ease),
|
|
5089
|
-
|
|
5095
|
+
scale var(--ui-motion-fast) var(--ui-motion-ease);
|
|
5090
5096
|
}
|
|
5091
5097
|
@media (hover: none), (pointer: coarse) {
|
|
5092
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
5098
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]::before {
|
|
5093
5099
|
opacity: 0;
|
|
5094
5100
|
}
|
|
5095
5101
|
}
|
|
@@ -5097,10 +5103,10 @@ svg[data-v-955cfa65-s] {
|
|
|
5097
5103
|
/* A touch target without a bigger button: an invisible hit area, at least the control
|
|
5098
5104
|
minimum, centred on the button (::before is the anticipatory guide). */
|
|
5099
5105
|
@media (pointer: coarse) {
|
|
5100
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5106
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496] {
|
|
5101
5107
|
position: relative;
|
|
5102
5108
|
}
|
|
5103
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5109
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496]::after {
|
|
5104
5110
|
content: "";
|
|
5105
5111
|
position: absolute;
|
|
5106
5112
|
inset: 50% auto auto 50%;
|
|
@@ -5109,10 +5115,10 @@ svg[data-v-955cfa65-s] {
|
|
|
5109
5115
|
transform: translate(-50%, -50%);
|
|
5110
5116
|
}
|
|
5111
5117
|
}
|
|
5112
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-
|
|
5118
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-ea2a5496] {
|
|
5113
5119
|
position: relative;
|
|
5114
5120
|
}
|
|
5115
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-
|
|
5121
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-ea2a5496]::after {
|
|
5116
5122
|
content: "";
|
|
5117
5123
|
position: absolute;
|
|
5118
5124
|
inset: 50% auto auto 50%;
|
|
@@ -5120,14 +5126,14 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5120
5126
|
block-size: max(100%, var(--ui-control-min-block-size));
|
|
5121
5127
|
transform: translate(-50%, -50%);
|
|
5122
5128
|
}
|
|
5123
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-
|
|
5129
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-ea2a5496] {
|
|
5124
5130
|
--_size: 1.75rem;
|
|
5125
5131
|
inline-size: var(--ui-icon-button-size, var(--_size));
|
|
5126
5132
|
block-size: var(--ui-icon-button-size, var(--_size));
|
|
5127
5133
|
min-inline-size: var(--ui-icon-button-size, var(--_size));
|
|
5128
5134
|
min-block-size: var(--ui-icon-button-size, var(--_size));
|
|
5129
5135
|
}
|
|
5130
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-
|
|
5136
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-ea2a5496] {
|
|
5131
5137
|
--_size: 2.5rem;
|
|
5132
5138
|
inline-size: var(--ui-icon-button-size, var(--_size));
|
|
5133
5139
|
block-size: var(--ui-icon-button-size, var(--_size));
|
|
@@ -5136,19 +5142,19 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5136
5142
|
}
|
|
5137
5143
|
|
|
5138
5144
|
/* A text button's companion uses control geometry; compact icon buttons keep their own density. */
|
|
5139
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-v-
|
|
5145
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-v-ea2a5496] {
|
|
5140
5146
|
--_size: var(--ui-control-size-md);
|
|
5141
5147
|
block-size: auto;
|
|
5142
5148
|
align-self: stretch;
|
|
5143
5149
|
}
|
|
5144
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=sm"][data-v-
|
|
5150
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=sm"][data-v-ea2a5496] {
|
|
5145
5151
|
--_size: var(--ui-control-size-sm);
|
|
5146
5152
|
}
|
|
5147
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=lg"][data-v-
|
|
5153
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=lg"][data-v-ea2a5496] {
|
|
5148
5154
|
--_size: var(--ui-control-size-lg);
|
|
5149
5155
|
}
|
|
5150
5156
|
@media (pointer: coarse) {
|
|
5151
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-v-
|
|
5157
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-v-ea2a5496] {
|
|
5152
5158
|
inline-size: max(var(--ui-icon-button-size, var(--_size)), var(--ui-control-min-block-size));
|
|
5153
5159
|
min-inline-size: max(
|
|
5154
5160
|
var(--ui-icon-button-size, var(--_size)),
|
|
@@ -5157,10 +5163,10 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5157
5163
|
min-block-size: max(var(--ui-icon-button-size, var(--_size)), var(--ui-control-min-block-size));
|
|
5158
5164
|
}
|
|
5159
5165
|
}
|
|
5160
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-
|
|
5166
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-ea2a5496] {
|
|
5161
5167
|
border-radius: var(--ui-radius-round);
|
|
5162
5168
|
}
|
|
5163
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-
|
|
5169
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-ea2a5496] {
|
|
5164
5170
|
border-color: var(
|
|
5165
5171
|
--ui-icon-button-border,
|
|
5166
5172
|
var(--_icon-button-border, var(--ui-control-border, var(--ui-border-strong)))
|
|
@@ -5173,7 +5179,7 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5173
5179
|
color: var(--ui-icon-button-outline-text, var(--_icon-button-text, var(--ui-text-primary)));
|
|
5174
5180
|
box-shadow: var(--ui-action-shadow, var(--_ui-action-shadow));
|
|
5175
5181
|
}
|
|
5176
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-
|
|
5182
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-ea2a5496] {
|
|
5177
5183
|
background-color: var(
|
|
5178
5184
|
--ui-icon-button-solid-surface,
|
|
5179
5185
|
var(--_icon-button-solid-surface, var(--ui-accent-solid))
|
|
@@ -5182,7 +5188,7 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5182
5188
|
color: var(--ui-icon-button-solid-text, var(--_icon-button-solid-text, var(--ui-text-on-accent)));
|
|
5183
5189
|
box-shadow: var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow)));
|
|
5184
5190
|
}
|
|
5185
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5191
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]) {
|
|
5186
5192
|
/* Derived from the text colour so the ghost hover shows on any background. */
|
|
5187
5193
|
background-color: var(
|
|
5188
5194
|
--ui-icon-button-hover-surface,
|
|
@@ -5190,23 +5196,23 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5190
5196
|
);
|
|
5191
5197
|
color: var(--ui-icon-button-hover-text, var(--_icon-button-text, var(--ui-text-primary)));
|
|
5192
5198
|
}
|
|
5193
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-
|
|
5199
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]) {
|
|
5194
5200
|
border-color: var(
|
|
5195
5201
|
--ui-icon-button-hover-border,
|
|
5196
5202
|
var(--_icon-button-hover-border, var(--ui-control-border-hover, var(--ui-control-border)))
|
|
5197
5203
|
);
|
|
5198
5204
|
}
|
|
5199
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-
|
|
5205
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]) {
|
|
5200
5206
|
background-color: var(
|
|
5201
5207
|
--ui-icon-button-solid-hover-surface,
|
|
5202
5208
|
var(--_icon-button-solid-hover-surface, var(--ui-accent-hover))
|
|
5203
5209
|
);
|
|
5204
5210
|
}
|
|
5205
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=accent"][data-v-
|
|
5206
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=neutral"][data-v-
|
|
5211
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=accent"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]),
|
|
5212
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=neutral"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]) {
|
|
5207
5213
|
color: var(--ui-icon-button-solid-text, var(--_icon-button-solid-text, var(--ui-text-on-accent)));
|
|
5208
5214
|
}
|
|
5209
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=ghost"][aria-expanded="true"][data-v-
|
|
5215
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=ghost"][aria-expanded="true"][data-v-ea2a5496]:enabled:not([aria-disabled="true"]) {
|
|
5210
5216
|
background-color: var(
|
|
5211
5217
|
--ui-icon-button-active-surface,
|
|
5212
5218
|
color-mix(in srgb, currentColor 16%, transparent)
|
|
@@ -5216,7 +5222,7 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5216
5222
|
}
|
|
5217
5223
|
|
|
5218
5224
|
/* Native toggle state persists after pointer release, including during loading. */
|
|
5219
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-
|
|
5225
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-ea2a5496]:enabled {
|
|
5220
5226
|
background-color: var(
|
|
5221
5227
|
--ui-icon-button-active-surface,
|
|
5222
5228
|
color-mix(in srgb, currentColor 12%, var(--ui-surface-default))
|
|
@@ -5224,61 +5230,61 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5224
5230
|
background-image: none;
|
|
5225
5231
|
box-shadow: var(--ui-pressed);
|
|
5226
5232
|
}
|
|
5227
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5228
|
-
|
|
5233
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496]:active:enabled:not([aria-disabled="true"]) {
|
|
5234
|
+
scale: var(--ui-icon-button-active-scale, 0.96);
|
|
5229
5235
|
}
|
|
5230
|
-
:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"][data-v-
|
|
5236
|
+
:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"][data-v-ea2a5496], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"][data-v-ea2a5496]) {
|
|
5231
5237
|
cursor: progress;
|
|
5232
5238
|
}
|
|
5233
|
-
.content[data-v-
|
|
5239
|
+
.content[data-v-ea2a5496] {
|
|
5234
5240
|
display: inline-flex;
|
|
5235
5241
|
align-items: center;
|
|
5236
5242
|
justify-content: center;
|
|
5237
5243
|
}
|
|
5238
5244
|
:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"])
|
|
5239
|
-
.content[data-v-
|
|
5245
|
+
.content[data-v-ea2a5496] {
|
|
5240
5246
|
display: none;
|
|
5241
5247
|
}
|
|
5242
5248
|
@media (prefers-reduced-motion: reduce) {
|
|
5243
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"] .content[data-v-
|
|
5249
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"] .content[data-v-ea2a5496] {
|
|
5244
5250
|
transition: none;
|
|
5245
5251
|
}
|
|
5246
5252
|
}
|
|
5247
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5253
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496]:focus-visible {
|
|
5248
5254
|
outline: none;
|
|
5249
5255
|
box-shadow: var(--ui-focus-halo);
|
|
5250
5256
|
}
|
|
5251
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-
|
|
5257
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-ea2a5496]:focus-visible {
|
|
5252
5258
|
box-shadow:
|
|
5253
5259
|
var(--ui-action-shadow, var(--_ui-action-shadow)),
|
|
5254
5260
|
var(--ui-focus-halo);
|
|
5255
5261
|
}
|
|
5256
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-
|
|
5262
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-ea2a5496]:focus-visible {
|
|
5257
5263
|
box-shadow:
|
|
5258
5264
|
var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
|
|
5259
5265
|
var(--ui-focus-halo);
|
|
5260
5266
|
}
|
|
5261
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5267
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"]):active:enabled:not([aria-disabled="true"]) {
|
|
5262
5268
|
background-image: none;
|
|
5263
5269
|
box-shadow: var(--ui-pressed);
|
|
5264
5270
|
}
|
|
5265
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-
|
|
5271
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-ea2a5496]:enabled:focus-visible {
|
|
5266
5272
|
box-shadow:
|
|
5267
5273
|
var(--ui-pressed),
|
|
5268
5274
|
var(--ui-focus-halo);
|
|
5269
5275
|
}
|
|
5270
5276
|
@media (forced-colors: active) {
|
|
5271
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-
|
|
5277
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-ea2a5496]:enabled {
|
|
5272
5278
|
outline: var(--ui-focus-width) solid Highlight;
|
|
5273
5279
|
outline-offset: calc(-2 * var(--ui-focus-width));
|
|
5274
5280
|
}
|
|
5275
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-
|
|
5281
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-ea2a5496]:enabled:focus-visible {
|
|
5276
5282
|
outline-offset: var(--ui-focus-width);
|
|
5277
5283
|
}
|
|
5278
5284
|
}
|
|
5279
5285
|
|
|
5280
5286
|
/* Disabled is a flat neutral control, independent of the active variant's tone. */
|
|
5281
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5287
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496]:disabled {
|
|
5282
5288
|
border-color: var(--ui-disabled-border);
|
|
5283
5289
|
background-color: var(--ui-disabled-surface);
|
|
5284
5290
|
color: var(--ui-disabled-text);
|
|
@@ -5288,23 +5294,23 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
|
|
|
5288
5294
|
box-shadow: none;
|
|
5289
5295
|
background-image: none;
|
|
5290
5296
|
}
|
|
5291
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=ghost"][data-v-
|
|
5297
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=ghost"][data-v-ea2a5496]:disabled {
|
|
5292
5298
|
border-color: transparent;
|
|
5293
5299
|
}
|
|
5294
|
-
[data-component~="ui-icon-button"][data-v-
|
|
5300
|
+
[data-component~="ui-icon-button"][data-v-ea2a5496] {
|
|
5295
5301
|
--_icon-button-icon-default: var(--ui-icon-size-md);
|
|
5296
5302
|
/* A slotted ui-icon is its own component, out of reach of the svg rule below; these are its
|
|
5297
5303
|
defaults, which its own --ui-icon-* hooks still override. */
|
|
5298
5304
|
--_ui-default-icon-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
5299
5305
|
--_ui-default-icon-stroke-width: var(--_ui-icon-button-icon-stroke-width, 1.75);
|
|
5300
5306
|
}
|
|
5301
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-
|
|
5307
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-ea2a5496] {
|
|
5302
5308
|
--_icon-button-icon-default: var(--ui-icon-size-sm);
|
|
5303
5309
|
}
|
|
5304
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-
|
|
5310
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-ea2a5496] {
|
|
5305
5311
|
--_icon-button-icon-default: var(--ui-icon-size-lg);
|
|
5306
5312
|
}
|
|
5307
|
-
svg[data-v-
|
|
5313
|
+
svg[data-v-ea2a5496-s] {
|
|
5308
5314
|
inline-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
5309
5315
|
block-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
5310
5316
|
flex-shrink: 0;
|
|
@@ -5312,7 +5318,7 @@ svg[data-v-219fa683-s] {
|
|
|
5312
5318
|
}
|
|
5313
5319
|
|
|
5314
5320
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
5315
|
-
[data-component~="ui-icon-button"][hidden][data-v-
|
|
5321
|
+
[data-component~="ui-icon-button"][hidden][data-v-ea2a5496] {
|
|
5316
5322
|
display: none;
|
|
5317
5323
|
}
|
|
5318
5324
|
|