@threadlabs/looma 0.34.0 → 0.35.1
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-badge/ui-badge.html +11 -3
- package/components/ui-button/ui-button.html +29 -4
- package/components/ui-card/ui-card.html +15 -13
- package/components/ui-checkbox/ui-checkbox.html +4 -2
- package/components/ui-dialog/ui-dialog.html +2 -0
- package/components/ui-icon-button/ui-icon-button.html +22 -8
- package/components/ui-input/ui-input.html +2 -1
- package/components/ui-input-group/ui-input-group.html +4 -1
- package/components/ui-light-editor/ui-light-editor.html +45 -0
- package/components/ui-light-editor/ui-light-editor.js +53 -0
- package/components/ui-menu/ui-menu.html +2 -0
- package/components/ui-number-input/ui-number-input.html +2 -1
- package/components/ui-number-input/ui-number-input.js +6 -3
- package/components/ui-popover/ui-popover.html +2 -0
- package/components/ui-reel/ui-reel.html +2 -1
- package/components/ui-select/ui-select.html +9 -7
- package/components/ui-switch/ui-switch.html +3 -0
- package/components/ui-tabs/ui-tabs.html +2 -3
- package/components/ui-tabs/ui-tabs.js +0 -9
- package/components/ui-textarea/ui-textarea.html +2 -1
- package/components/ui-tooltip/ui-tooltip.html +2 -1
- package/dist/index.js +24 -23
- package/docs/README.md +29 -3
- package/docs/card.html +7 -6
- package/docs/catalog-view.mjs +2 -1
- package/docs/catalog.json +575 -53
- package/docs/customizer-render.mjs +31 -16
- package/docs/customizer.js +72 -19
- package/docs/index.d.ts +4 -1
- package/docs/index.mjs +1 -1
- package/docs/render.mjs +1 -1
- package/docs/site.mjs +33 -22
- package/docs/theme-session.mjs +4 -2
- package/docs/theme.mjs +61 -7
- package/package.json +2 -2
- package/styles/ui-badge.css +11 -6
- package/styles/ui-button.css +29 -4
- package/styles/ui-card.css +9 -9
- package/styles/ui-checkbox.css +4 -2
- package/styles/ui-dialog.css +4 -0
- package/styles/ui-icon-button.css +22 -8
- package/styles/ui-input-group.css +4 -1
- package/styles/ui-input.css +2 -1
- package/styles/ui-light-editor.css +28 -0
- package/styles/ui-menu.css +2 -0
- package/styles/ui-popover.css +2 -0
- package/styles/ui-select.css +9 -7
- package/styles/ui-switch.css +3 -0
- package/styles/ui-tabs.css +2 -3
- package/styles/ui-textarea.css +2 -1
- package/styles/ui-tooltip.css +2 -1
- package/theme-light.css +1 -0
- package/theme-system.css +43 -7
- package/tokens.css +5 -1
- package/vanilla/UiCard.d.ts +2 -1
- package/vanilla/UiCard.js +12 -12
- package/vanilla/UiLightEditor.d.ts +29 -0
- package/vanilla/UiLightEditor.js +102 -0
- package/vanilla/UiNumberInput.js +27 -20
- package/vanilla/index.js +1 -0
- package/vue/UiBadge.vue +29 -4
- package/vue/UiButton.vue +33 -4
- package/vue/UiCard.d.ts +8 -2
- package/vue/UiCard.vue +41 -17
- package/vue/UiCheckbox.vue +4 -2
- package/vue/UiDialog.vue +4 -0
- package/vue/UiIconButton.vue +26 -11
- package/vue/UiInput.vue +2 -1
- package/vue/UiInputGroup.vue +4 -1
- package/vue/UiLightEditor.d.ts +75 -0
- package/vue/UiLightEditor.js +2 -0
- package/vue/UiLightEditor.vue +402 -0
- package/vue/UiMenu.vue +2 -0
- package/vue/UiNumberInput.vue +32 -3
- package/vue/UiPopover.vue +2 -0
- package/vue/UiReel.vue +1 -1
- package/vue/UiSelect.vue +16 -10
- package/vue/UiSwitch.vue +3 -0
- package/vue/UiTabs.vue +2 -3
- package/vue/UiTextarea.vue +2 -1
- package/vue/UiTooltip.vue +2 -1
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiButton.js +1 -1
- package/vue/chunks/UiCard.js +33 -5
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiDialog.js +1 -1
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/chunks/UiInput.js +1 -1
- package/vue/chunks/UiInputGroup.js +1 -1
- package/vue/chunks/UiLightEditor.js +347 -0
- package/vue/chunks/UiMenu.js +1 -1
- package/vue/chunks/UiNumberInput.js +21 -8
- package/vue/chunks/UiPopover.js +1 -1
- package/vue/chunks/UiReel.js +2 -2
- package/vue/chunks/UiSelect.js +1 -1
- package/vue/chunks/UiSwitch.js +1 -1
- package/vue/chunks/UiTabs.js +1 -1
- package/vue/chunks/UiTextarea.js +1 -1
- package/vue/chunks/UiTooltip.js +1 -1
- package/vue/components.css +312 -71
- package/vue/index.d.ts +1 -0
- package/vue/index.js +2 -1
package/vue/components.css
CHANGED
|
@@ -392,9 +392,6 @@ svg {
|
|
|
392
392
|
/* A count can keep its containing control's contrasting ink instead of reversing it.
|
|
393
393
|
The faint fill preserves text contrast; a quiet boundary separates the count from its control. */
|
|
394
394
|
|
|
395
|
-
/* Neutral reverses a subtle surface/ink pair rather than a strong tone. Keep its original
|
|
396
|
-
surface ink: moving it toward dark-theme primary text would reduce overlay contrast. */
|
|
397
|
-
|
|
398
395
|
/* An icon mark keeps the existing tone recipe and follows the global spacing and radius. */
|
|
399
396
|
|
|
400
397
|
/* A visible glyph needs fixed geometry, unlike a content-sized pill or a hidden-label dot. */
|
|
@@ -675,7 +672,34 @@ svg {
|
|
|
675
672
|
box-shadow: none;
|
|
676
673
|
}
|
|
677
674
|
:scope[data-ui-badge-state~="variant=inverse"][data-ui-badge-state~="tone=neutral"]:where([data-hn-ui-badge]) {
|
|
678
|
-
|
|
675
|
+
--_badge-outline-surface: var(
|
|
676
|
+
--ui-badge-surface,
|
|
677
|
+
var(--_badge-color-surface, color-mix(in srgb, var(--ui-surface-raised) 88%, transparent))
|
|
678
|
+
);
|
|
679
|
+
color: var(--ui-badge-text, var(--_badge-color-text, var(--ui-text-primary)));
|
|
680
|
+
}
|
|
681
|
+
:scope[data-ui-badge-state~="variant=inverse"][data-ui-badge-state~="tone=neutral"]:not([data-ui-badge-state~="shape=circle"]):where([data-hn-ui-badge]) {
|
|
682
|
+
border-color: var(--ui-badge-border, var(--_badge-color-border, var(--_badge-outline-surface)));
|
|
683
|
+
}
|
|
684
|
+
:scope[data-ui-badge-state~="variant=inverse"][data-ui-badge-state~="tone=neutral"][data-ui-badge-state~="shape=circle"]:where([data-hn-ui-badge]) {
|
|
685
|
+
--_badge-outline-surface: var(
|
|
686
|
+
--ui-badge-surface,
|
|
687
|
+
var(
|
|
688
|
+
--_badge-color-surface,
|
|
689
|
+
light-dark(
|
|
690
|
+
color-mix(
|
|
691
|
+
in srgb,
|
|
692
|
+
var(--ui-surface-raised) var(--ui-badge-circle-opacity, 66%),
|
|
693
|
+
transparent
|
|
694
|
+
),
|
|
695
|
+
color-mix(
|
|
696
|
+
in srgb,
|
|
697
|
+
var(--ui-surface-raised) var(--ui-badge-circle-opacity, 56%),
|
|
698
|
+
transparent
|
|
699
|
+
)
|
|
700
|
+
)
|
|
701
|
+
)
|
|
702
|
+
);
|
|
679
703
|
}
|
|
680
704
|
:scope[data-ui-badge-state~="variant=outline"]:where([data-hn-ui-badge]) {
|
|
681
705
|
--_badge-surface: var(--ui-surface-default);
|
|
@@ -1134,7 +1158,7 @@ svg,.arc {
|
|
|
1134
1158
|
:scope:where([data-hn-ui-button]) {
|
|
1135
1159
|
/* Optional inherited action-group values keep text and icon actions under the same light.
|
|
1136
1160
|
One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
|
|
1137
|
-
|
|
1161
|
+
The shared theme supplies reflections and glow independently of the resting lift. */
|
|
1138
1162
|
--_ui-action-start: 1px;
|
|
1139
1163
|
--_ui-action-edge: var(
|
|
1140
1164
|
--ui-action-edge,
|
|
@@ -1150,6 +1174,8 @@ svg,.arc {
|
|
|
1150
1174
|
--_ui-action-shadow:
|
|
1151
1175
|
var(--_ui-action-edge),
|
|
1152
1176
|
0 1px 2px light-dark(rgb(0 0 0 / 0.10), rgb(0 0 0 / 0.20));
|
|
1177
|
+
--_tone-highlight: var(--ui-accent-highlight, none);
|
|
1178
|
+
--_tone-glow: var(--ui-accent-glow, 0 0 transparent);
|
|
1153
1179
|
--_hue: var(--ui-accent);
|
|
1154
1180
|
--_hue-hover: var(--ui-accent-hover);
|
|
1155
1181
|
--_hue-active: var(--ui-accent-active);
|
|
@@ -1197,8 +1223,10 @@ svg,.arc {
|
|
|
1197
1223
|
line-height: var(--ui-line-height-tight);
|
|
1198
1224
|
padding: var(--ui-control-inset-block-md, var(--ui-space-2))
|
|
1199
1225
|
var(--ui-action-inset-md, var(--ui-space-3)) !important;
|
|
1200
|
-
background-image: none;
|
|
1201
|
-
box-shadow:
|
|
1226
|
+
background-image: var(--ui-surface-highlight, none);
|
|
1227
|
+
box-shadow:
|
|
1228
|
+
var(--ui-button-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
|
|
1229
|
+
var(--_tone-glow);
|
|
1202
1230
|
cursor: pointer;
|
|
1203
1231
|
transition:
|
|
1204
1232
|
scale var(--ui-motion-press, var(--ui-motion-fast)) var(--ui-motion-ease),
|
|
@@ -1307,7 +1335,10 @@ svg,.arc {
|
|
|
1307
1335
|
border-color: var(--_tone);
|
|
1308
1336
|
background-color: var(--_tone);
|
|
1309
1337
|
color: var(--_on-tone);
|
|
1310
|
-
|
|
1338
|
+
background-image: var(--_tone-highlight);
|
|
1339
|
+
box-shadow:
|
|
1340
|
+
var(--ui-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
|
|
1341
|
+
var(--_tone-glow);
|
|
1311
1342
|
}
|
|
1312
1343
|
:is(:scope[data-appearance="solid"], :scope[data-appearance="danger"]):hover:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button]) {
|
|
1313
1344
|
background-color: var(--_tone-hover);
|
|
@@ -1320,13 +1351,28 @@ svg,.arc {
|
|
|
1320
1351
|
box-shadow: var(--ui-pressed);
|
|
1321
1352
|
}
|
|
1322
1353
|
:scope[data-tone="neutral"]:where([data-hn-ui-button]) {
|
|
1354
|
+
--_tone-highlight: var(--ui-neutral-highlight, none);
|
|
1355
|
+
--_tone-glow: var(--ui-neutral-glow, 0 0 transparent);
|
|
1323
1356
|
--_hue: var(--ui-text);
|
|
1324
1357
|
--_hue-hover: var(--ui-text);
|
|
1325
1358
|
--_hue-active: var(--ui-text);
|
|
1326
1359
|
--_hue-text: var(--ui-text);
|
|
1327
1360
|
--_on-hue: var(--ui-surface);
|
|
1328
1361
|
}
|
|
1362
|
+
:scope[data-tone="neutral"][data-appearance="solid"]:where([data-hn-ui-button]) {
|
|
1363
|
+
border-color: var(--ui-button-border, var(--ui-control-border));
|
|
1364
|
+
background-color: var(--ui-button-surface, var(--ui-neutral-surface));
|
|
1365
|
+
color: var(--ui-button-text, var(--ui-text));
|
|
1366
|
+
}
|
|
1367
|
+
:scope[data-tone="neutral"][data-appearance="solid"]:hover:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button]) {
|
|
1368
|
+
background-color: var(--ui-button-hover-surface, var(--ui-neutral-hover));
|
|
1369
|
+
}
|
|
1370
|
+
:scope[data-tone="neutral"][data-appearance="solid"]:active:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button]) {
|
|
1371
|
+
background-color: var(--ui-button-active-surface, var(--ui-neutral-active));
|
|
1372
|
+
}
|
|
1329
1373
|
:scope[data-tone="danger"]:where([data-hn-ui-button]),:scope[data-appearance="danger"]:where([data-hn-ui-button]) {
|
|
1374
|
+
--_tone-highlight: var(--ui-danger-highlight, none);
|
|
1375
|
+
--_tone-glow: var(--ui-danger-glow, 0 0 transparent);
|
|
1330
1376
|
--_hue: var(--ui-danger);
|
|
1331
1377
|
--_hue-hover: var(--ui-danger-hover);
|
|
1332
1378
|
--_hue-active: var(--ui-danger-active, var(--ui-danger-hover));
|
|
@@ -1334,6 +1380,8 @@ svg,.arc {
|
|
|
1334
1380
|
--_on-hue: var(--ui-on-danger);
|
|
1335
1381
|
}
|
|
1336
1382
|
:scope[data-tone="success"]:where([data-hn-ui-button]) {
|
|
1383
|
+
--_tone-highlight: var(--ui-success-highlight, none);
|
|
1384
|
+
--_tone-glow: var(--ui-success-glow, 0 0 transparent);
|
|
1337
1385
|
--_hue: var(--ui-success);
|
|
1338
1386
|
--_hue-hover: var(--ui-success-hover);
|
|
1339
1387
|
--_hue-active: var(--ui-success-active);
|
|
@@ -1341,6 +1389,8 @@ svg,.arc {
|
|
|
1341
1389
|
--_on-hue: var(--ui-success-on-strong);
|
|
1342
1390
|
}
|
|
1343
1391
|
:scope[data-tone="warning"]:where([data-hn-ui-button]) {
|
|
1392
|
+
--_tone-highlight: var(--ui-warning-highlight, none);
|
|
1393
|
+
--_tone-glow: var(--ui-warning-glow, 0 0 transparent);
|
|
1344
1394
|
--_hue: var(--ui-warning);
|
|
1345
1395
|
--_hue-hover: var(--ui-warning-hover);
|
|
1346
1396
|
--_hue-active: var(--ui-warning-active);
|
|
@@ -1348,6 +1398,8 @@ svg,.arc {
|
|
|
1348
1398
|
--_on-hue: var(--ui-warning-on-strong);
|
|
1349
1399
|
}
|
|
1350
1400
|
:scope[data-tone="info"]:where([data-hn-ui-button]) {
|
|
1401
|
+
--_tone-highlight: var(--ui-info-highlight, none);
|
|
1402
|
+
--_tone-glow: var(--ui-info-glow, 0 0 transparent);
|
|
1351
1403
|
--_hue: var(--ui-info);
|
|
1352
1404
|
--_hue-hover: var(--ui-info-hover);
|
|
1353
1405
|
--_hue-active: var(--ui-info-active);
|
|
@@ -1684,6 +1736,7 @@ html[data-ui-input-modality="touch"]
|
|
|
1684
1736
|
@scope (.ui-card) to ([data-hn]) {
|
|
1685
1737
|
:scope:where([data-hn-ui-card]) {
|
|
1686
1738
|
--_ui-card-surface: var(--ui-surface-raised);
|
|
1739
|
+
--_ui-card-elevation: 0 0 0 transparent;
|
|
1687
1740
|
--_ui-selection-context-surface: initial;
|
|
1688
1741
|
--_ui-selection-context-border: initial;
|
|
1689
1742
|
--_ui-selection-context-text: initial;
|
|
@@ -1714,10 +1767,11 @@ html[data-ui-input-modality="touch"]
|
|
|
1714
1767
|
--_ui-card-surface: var(--ui-surface-muted);
|
|
1715
1768
|
}
|
|
1716
1769
|
:scope[data-ui-card-state~="variant=elevated"]:where([data-hn-ui-card]) {
|
|
1770
|
+
--_ui-card-elevation: var(--ui-shadow-lg);
|
|
1717
1771
|
border-color: var(--ui-border-subtle);
|
|
1718
1772
|
box-shadow: var(--ui-shadow-lg);
|
|
1719
1773
|
}
|
|
1720
|
-
:scope[data-ui-card-state~="
|
|
1774
|
+
:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card]) {
|
|
1721
1775
|
--_ui-panel-glass: clamp(0, var(--ui-glassiness, 0), 1);
|
|
1722
1776
|
--_ui-panel-separation: clamp(0, var(--ui-surface-separation, 0), 1);
|
|
1723
1777
|
--_ui-panel-rim: calc(
|
|
@@ -1726,6 +1780,7 @@ html[data-ui-input-modality="touch"]
|
|
|
1726
1780
|
border-width: calc(var(--ui-border-width) + var(--_ui-panel-rim));
|
|
1727
1781
|
border-color: transparent;
|
|
1728
1782
|
background:
|
|
1783
|
+
var(--ui-surface-highlight, linear-gradient(transparent, transparent)) padding-box,
|
|
1729
1784
|
linear-gradient(var(--_ui-card-surface), var(--_ui-card-surface)) padding-box,
|
|
1730
1785
|
linear-gradient(
|
|
1731
1786
|
var(--ui-material-glass, var(--ui-surface-raised)),
|
|
@@ -1733,7 +1788,8 @@ html[data-ui-input-modality="touch"]
|
|
|
1733
1788
|
) border-box,
|
|
1734
1789
|
var(--_ui-card-surface) padding-box;
|
|
1735
1790
|
box-shadow:
|
|
1736
|
-
var(--
|
|
1791
|
+
var(--_ui-card-elevation),
|
|
1792
|
+
var(--ui-material-glow, 0 0 transparent),
|
|
1737
1793
|
inset 0 0 0 var(--ui-border-width) var(--ui-material-edge, var(--ui-border-strong));
|
|
1738
1794
|
backdrop-filter: blur(calc(var(--_ui-panel-glass) * 0.65 * 18px))
|
|
1739
1795
|
saturate(calc(1 + var(--_ui-panel-glass) * 0.65 * 0.18));
|
|
@@ -1741,12 +1797,12 @@ html[data-ui-input-modality="touch"]
|
|
|
1741
1797
|
saturate(calc(1 + var(--_ui-panel-glass) * 0.65 * 0.18));
|
|
1742
1798
|
}
|
|
1743
1799
|
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
|
|
1744
|
-
:scope[data-ui-card-state~="
|
|
1800
|
+
:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card]) {
|
|
1745
1801
|
background: var(--_ui-card-surface);
|
|
1746
1802
|
}
|
|
1747
1803
|
}
|
|
1748
1804
|
@media (prefers-reduced-transparency: reduce) {
|
|
1749
|
-
:scope[data-ui-card-state~="
|
|
1805
|
+
:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card]) {
|
|
1750
1806
|
background: var(--_ui-card-surface);
|
|
1751
1807
|
border-width: var(--ui-border-width);
|
|
1752
1808
|
border-color: var(--ui-border-strong);
|
|
@@ -1755,7 +1811,7 @@ html[data-ui-input-modality="touch"]
|
|
|
1755
1811
|
}
|
|
1756
1812
|
}
|
|
1757
1813
|
@media (forced-colors: active) {
|
|
1758
|
-
:scope[data-ui-card-state~="
|
|
1814
|
+
:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card]) {
|
|
1759
1815
|
background: Canvas;
|
|
1760
1816
|
color: CanvasText;
|
|
1761
1817
|
border: var(--ui-border-width) solid CanvasText;
|
|
@@ -1785,10 +1841,6 @@ html[data-ui-input-modality="touch"]
|
|
|
1785
1841
|
}
|
|
1786
1842
|
:scope[data-ui-card-state~="tone=danger"]:where([data-hn-ui-card]) {
|
|
1787
1843
|
border-color: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border-default));
|
|
1788
|
-
border-inline-start: var(--ui-accent-line-width) solid var(--ui-danger);
|
|
1789
|
-
/* An accent edge keeps the corners on its side straight. */
|
|
1790
|
-
border-start-start-radius: 0;
|
|
1791
|
-
border-end-start-radius: 0;
|
|
1792
1844
|
--_ui-card-surface: var(--ui-danger-soft);
|
|
1793
1845
|
}
|
|
1794
1846
|
:scope[data-ui-card-state~="tone=accent"]:where([data-hn-ui-card]),:scope[data-ui-card-state~="tone=info"]:where([data-hn-ui-card]),:scope[data-ui-card-state~="tone=success"]:where([data-hn-ui-card]),:scope[data-ui-card-state~="tone=warning"]:where([data-hn-ui-card]),:scope[data-ui-card-state~="tone=danger"]:where([data-hn-ui-card]) {
|
|
@@ -1836,7 +1888,7 @@ html[data-ui-input-modality="touch"]
|
|
|
1836
1888
|
/* The label, and under it an optional line saying what the choice means. */
|
|
1837
1889
|
|
|
1838
1890
|
/* Centre the tick's box and lift it slightly for the rotated check shape. */
|
|
1839
|
-
@keyframes ui-checkbox-check-
|
|
1891
|
+
@keyframes ui-checkbox-check-4950a023 {
|
|
1840
1892
|
from {
|
|
1841
1893
|
opacity: 0;
|
|
1842
1894
|
transform: translateY(calc(var(--_ui-checkbox-size) * -0.09 / 1.125)) rotate(45deg) scale(0.55);
|
|
@@ -1924,7 +1976,8 @@ input:where([data-hn-ui-checkbox]) {
|
|
|
1924
1976
|
margin: max(0px, calc((1lh - var(--_ui-checkbox-size, 1.125rem)) / 2)) 0 0 !important;
|
|
1925
1977
|
border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
|
|
1926
1978
|
border-radius: min(var(--ui-radius-sm), calc(var(--_ui-checkbox-size, 1.125rem) / 4));
|
|
1927
|
-
background: var(--ui-control-surface, var(--ui-surface-default));
|
|
1979
|
+
background-color: var(--ui-control-surface, var(--ui-surface-default));
|
|
1980
|
+
background-image: var(--ui-surface-highlight, none);
|
|
1928
1981
|
box-shadow: var(--ui-control-inset);
|
|
1929
1982
|
cursor: pointer;
|
|
1930
1983
|
transition:
|
|
@@ -1940,7 +1993,8 @@ input:where([data-hn-ui-checkbox])::after {
|
|
|
1940
1993
|
}
|
|
1941
1994
|
input:checked:where([data-hn-ui-checkbox]),input:indeterminate:where([data-hn-ui-checkbox]) {
|
|
1942
1995
|
border-color: var(--ui-accent-solid);
|
|
1943
|
-
background: var(--ui-accent-solid);
|
|
1996
|
+
background-color: var(--ui-accent-solid);
|
|
1997
|
+
background-image: var(--ui-accent-highlight, none);
|
|
1944
1998
|
box-shadow: var(--ui-control-inset);
|
|
1945
1999
|
}
|
|
1946
2000
|
input:checked:where([data-hn-ui-checkbox])::after {
|
|
@@ -1956,7 +2010,7 @@ input:checked:where([data-hn-ui-checkbox])::after {
|
|
|
1956
2010
|
calc(var(--_ui-checkbox-size) * 0.125 / 1.125) 0;
|
|
1957
2011
|
opacity: 1;
|
|
1958
2012
|
transform: translateY(calc(var(--_ui-checkbox-size) * -0.09 / 1.125)) rotate(45deg);
|
|
1959
|
-
animation: ui-checkbox-check-
|
|
2013
|
+
animation: ui-checkbox-check-4950a023 var(--ui-motion-base) var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
|
1960
2014
|
}
|
|
1961
2015
|
input:indeterminate:where([data-hn-ui-checkbox])::after {
|
|
1962
2016
|
inset: 50% calc(var(--_ui-checkbox-size) * 0.23 / 1.125) auto;
|
|
@@ -2204,10 +2258,11 @@ input:focus-visible:where([data-hn-ui-checkbox]) {
|
|
|
2204
2258
|
--ui-input-radius,
|
|
2205
2259
|
var(--_ui-default-input-radius, var(--ui-field-radius, var(--ui-radius-md)))
|
|
2206
2260
|
);
|
|
2207
|
-
background: var(
|
|
2261
|
+
background-color: var(
|
|
2208
2262
|
--ui-input-surface,
|
|
2209
2263
|
var(--_ui-default-input-surface, var(--ui-control-surface, var(--ui-surface-elevated)))
|
|
2210
2264
|
);
|
|
2265
|
+
background-image: var(--_ui-default-input-highlight, var(--ui-surface-highlight, none));
|
|
2211
2266
|
color: var(--ui-text-primary);
|
|
2212
2267
|
font: inherit;
|
|
2213
2268
|
line-height: var(--ui-line-height-tight);
|
|
@@ -2671,7 +2726,8 @@ input[type="range"] {
|
|
|
2671
2726
|
border-inline-end-width: var(--ui-border-width);
|
|
2672
2727
|
border-block-end-width: var(--ui-border-width);
|
|
2673
2728
|
border-end-end-radius: var(--ui-border-width);
|
|
2674
|
-
|
|
2729
|
+
/* Stretch in screen axes after rotation so both arrow shoulders stay level. */
|
|
2730
|
+
transform: scale(1.25, 0.85) rotate(45deg);
|
|
2675
2731
|
}
|
|
2676
2732
|
:scope[data-ui-actual-placement="bottom"] .surface:where([data-hn-ui-tooltip])::after {
|
|
2677
2733
|
inset-block-start: calc(
|
|
@@ -3761,7 +3817,9 @@ button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3761
3817
|
:scope:where([data-hn-ui-icon-button]) {
|
|
3762
3818
|
/* Optional inherited action-group values keep text and icon actions under the same light.
|
|
3763
3819
|
One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
|
|
3764
|
-
|
|
3820
|
+
The shared theme supplies reflections and glow independently of the resting lift. */
|
|
3821
|
+
--_tone-highlight: var(--ui-accent-highlight, none);
|
|
3822
|
+
--_tone-glow: var(--ui-accent-glow, 0 0 transparent);
|
|
3765
3823
|
--_ui-action-start: 1px;
|
|
3766
3824
|
--_ui-action-edge: var(
|
|
3767
3825
|
--ui-action-edge,
|
|
@@ -3788,6 +3846,8 @@ button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3788
3846
|
--_ui-action-start: -1px;
|
|
3789
3847
|
}
|
|
3790
3848
|
:scope[data-tone="accent"]:where([data-hn-ui-icon-button]) {
|
|
3849
|
+
--_tone-highlight: var(--ui-accent-highlight, none);
|
|
3850
|
+
--_tone-glow: var(--ui-accent-glow, 0 0 transparent);
|
|
3791
3851
|
--_icon-button-border: var(--ui-accent-solid);
|
|
3792
3852
|
--_icon-button-hover-border: var(--ui-accent-hover);
|
|
3793
3853
|
--_icon-button-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
|
|
@@ -3799,6 +3859,8 @@ button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3799
3859
|
color: var(--_icon-button-text);
|
|
3800
3860
|
}
|
|
3801
3861
|
:scope[data-tone="danger"]:where([data-hn-ui-icon-button]) {
|
|
3862
|
+
--_tone-highlight: var(--ui-danger-highlight, none);
|
|
3863
|
+
--_tone-glow: var(--ui-danger-glow, 0 0 transparent);
|
|
3802
3864
|
--_icon-button-border: var(--ui-danger);
|
|
3803
3865
|
--_icon-button-hover-border: var(--ui-danger-hover);
|
|
3804
3866
|
--_icon-button-text: var(--ui-danger-subtle-text);
|
|
@@ -3813,6 +3875,8 @@ button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3813
3875
|
color: var(--_icon-button-text);
|
|
3814
3876
|
}
|
|
3815
3877
|
:scope[data-tone="success"]:where([data-hn-ui-icon-button]) {
|
|
3878
|
+
--_tone-highlight: var(--ui-success-highlight, none);
|
|
3879
|
+
--_tone-glow: var(--ui-success-glow, 0 0 transparent);
|
|
3816
3880
|
--_icon-button-border: var(--ui-success);
|
|
3817
3881
|
--_icon-button-hover-border: var(--ui-success-hover);
|
|
3818
3882
|
--_icon-button-text: var(--ui-success-subtle-text);
|
|
@@ -3827,6 +3891,8 @@ button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3827
3891
|
color: var(--_icon-button-text);
|
|
3828
3892
|
}
|
|
3829
3893
|
:scope[data-tone="warning"]:where([data-hn-ui-icon-button]) {
|
|
3894
|
+
--_tone-highlight: var(--ui-warning-highlight, none);
|
|
3895
|
+
--_tone-glow: var(--ui-warning-glow, 0 0 transparent);
|
|
3830
3896
|
--_icon-button-border: var(--ui-warning);
|
|
3831
3897
|
--_icon-button-hover-border: var(--ui-warning-hover);
|
|
3832
3898
|
--_icon-button-text: var(--ui-warning-subtle-text);
|
|
@@ -3841,6 +3907,8 @@ button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3841
3907
|
color: var(--_icon-button-text);
|
|
3842
3908
|
}
|
|
3843
3909
|
:scope[data-tone="info"]:where([data-hn-ui-icon-button]) {
|
|
3910
|
+
--_tone-highlight: var(--ui-info-highlight, none);
|
|
3911
|
+
--_tone-glow: var(--ui-info-glow, 0 0 transparent);
|
|
3844
3912
|
--_icon-button-border: var(--ui-info);
|
|
3845
3913
|
--_icon-button-hover-border: var(--ui-info-hover);
|
|
3846
3914
|
--_icon-button-text: var(--ui-info-subtle-text);
|
|
@@ -3855,9 +3923,11 @@ button:where(:scope, :scope *):where([data-hn-ui-combobox]) {
|
|
|
3855
3923
|
color: var(--_icon-button-text);
|
|
3856
3924
|
}
|
|
3857
3925
|
:scope[data-tone="neutral"]:where([data-hn-ui-icon-button]) {
|
|
3858
|
-
--
|
|
3859
|
-
--
|
|
3860
|
-
--_icon-button-solid-
|
|
3926
|
+
--_tone-highlight: var(--ui-neutral-highlight, none);
|
|
3927
|
+
--_tone-glow: var(--ui-neutral-glow, 0 0 transparent);
|
|
3928
|
+
--_icon-button-solid-surface: var(--ui-neutral-surface);
|
|
3929
|
+
--_icon-button-solid-hover-surface: var(--ui-neutral-hover);
|
|
3930
|
+
--_icon-button-solid-text: var(--ui-text);
|
|
3861
3931
|
}
|
|
3862
3932
|
:scope[data-ui-icon-button-state~="anticipatory"]:where([data-hn-ui-icon-button]) {
|
|
3863
3933
|
position: relative;
|
|
@@ -4013,24 +4083,25 @@ html[data-ui-input-modality="touch"] :scope:where([data-hn-ui-icon-button])::aft
|
|
|
4013
4083
|
--ui-icon-button-outline-surface,
|
|
4014
4084
|
var(--_icon-button-outline-surface, var(--ui-surface-default))
|
|
4015
4085
|
);
|
|
4016
|
-
background-image: none;
|
|
4086
|
+
background-image: var(--ui-surface-highlight, none);
|
|
4017
4087
|
color: var(--ui-icon-button-outline-text, var(--_icon-button-text, var(--ui-text-primary)));
|
|
4018
|
-
box-shadow:
|
|
4088
|
+
box-shadow:
|
|
4089
|
+
var(--ui-action-shadow, var(--_ui-action-shadow)),
|
|
4090
|
+
var(--_tone-glow);
|
|
4019
4091
|
}
|
|
4020
4092
|
:scope[data-appearance="solid"]:where([data-hn-ui-icon-button]) {
|
|
4021
4093
|
background-color: var(
|
|
4022
4094
|
--ui-icon-button-solid-surface,
|
|
4023
4095
|
var(--_icon-button-solid-surface, var(--ui-accent-solid))
|
|
4024
4096
|
);
|
|
4025
|
-
background-image:
|
|
4097
|
+
background-image: var(--_tone-highlight);
|
|
4026
4098
|
color: var(
|
|
4027
4099
|
--ui-icon-button-solid-text,
|
|
4028
4100
|
var(--_icon-button-solid-text, var(--ui-text-on-accent))
|
|
4029
4101
|
);
|
|
4030
|
-
box-shadow:
|
|
4031
|
-
--ui-icon-button-solid-shadow,
|
|
4032
|
-
var(--
|
|
4033
|
-
);
|
|
4102
|
+
box-shadow:
|
|
4103
|
+
var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
|
|
4104
|
+
var(--_tone-glow);
|
|
4034
4105
|
}
|
|
4035
4106
|
:scope:hover:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button]) {
|
|
4036
4107
|
/* Derived from the text colour so the ghost hover shows on any background. */
|
|
@@ -4514,13 +4585,13 @@ dd:where([data-hn-ui-description-item]) {
|
|
|
4514
4585
|
/* A CSS-drawn X. */
|
|
4515
4586
|
|
|
4516
4587
|
/* A touch target, like Button on coarse pointers. */
|
|
4517
|
-
@keyframes ui-dialog-enter-
|
|
4588
|
+
@keyframes ui-dialog-enter-0eef3ecb {
|
|
4518
4589
|
from {
|
|
4519
4590
|
opacity: 0;
|
|
4520
4591
|
transform: scale(0.96);
|
|
4521
4592
|
}
|
|
4522
4593
|
}
|
|
4523
|
-
@keyframes ui-dialog-backdrop-enter-
|
|
4594
|
+
@keyframes ui-dialog-backdrop-enter-0eef3ecb {
|
|
4524
4595
|
from {
|
|
4525
4596
|
background-color: transparent;
|
|
4526
4597
|
}
|
|
@@ -4588,6 +4659,7 @@ from {
|
|
|
4588
4659
|
transparent
|
|
4589
4660
|
);
|
|
4590
4661
|
background:
|
|
4662
|
+
var(--ui-surface-highlight, linear-gradient(transparent, transparent)) padding-box,
|
|
4591
4663
|
linear-gradient(var(--_ui-material-content-color), var(--_ui-material-content-color))
|
|
4592
4664
|
padding-box,
|
|
4593
4665
|
linear-gradient(var(--_ui-material-rim-color), var(--_ui-material-rim-color)) border-box,
|
|
@@ -4610,6 +4682,7 @@ from {
|
|
|
4610
4682
|
0 calc(var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 8px) calc(
|
|
4611
4683
|
var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 24px
|
|
4612
4684
|
) color-mix(in oklab, var(--ui-text-primary) 15%, transparent),
|
|
4685
|
+
var(--ui-material-glow, 0 0 transparent),
|
|
4613
4686
|
inset 0 0 0 calc(var(--_ui-material-active) * var(--ui-border-width)) var(
|
|
4614
4687
|
--ui-material-edge,
|
|
4615
4688
|
var(--ui-border-strong)
|
|
@@ -4651,7 +4724,7 @@ from {
|
|
|
4651
4724
|
pointer-events: auto;
|
|
4652
4725
|
opacity: 1;
|
|
4653
4726
|
transform: scale(1);
|
|
4654
|
-
animation: ui-dialog-enter-
|
|
4727
|
+
animation: ui-dialog-enter-0eef3ecb var(--ui-dialog-duration, var(--ui-motion-base))
|
|
4655
4728
|
var(--ui-motion-ease);
|
|
4656
4729
|
}
|
|
4657
4730
|
:scope[data-ui-dialog-state~="size=sm"]:where([data-hn-ui-dialog]) {
|
|
@@ -4772,7 +4845,7 @@ footer:empty:where([data-hn-ui-dialog]) {
|
|
|
4772
4845
|
}
|
|
4773
4846
|
:scope[open]:modal:where([data-hn-ui-dialog])::backdrop {
|
|
4774
4847
|
background-color: var(--ui-overlay-backdrop);
|
|
4775
|
-
animation: ui-dialog-backdrop-enter-
|
|
4848
|
+
animation: ui-dialog-backdrop-enter-0eef3ecb var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
4776
4849
|
var(--ui-motion-ease);
|
|
4777
4850
|
}
|
|
4778
4851
|
:scope[open][data-ui-backdrop-hidden]:where([data-hn-ui-dialog])::backdrop {
|
|
@@ -4844,6 +4917,7 @@ footer:empty:where([data-hn-ui-dialog]) {
|
|
|
4844
4917
|
transparent
|
|
4845
4918
|
);
|
|
4846
4919
|
background:
|
|
4920
|
+
var(--ui-surface-highlight, linear-gradient(transparent, transparent)) padding-box,
|
|
4847
4921
|
linear-gradient(var(--_ui-material-content-color), var(--_ui-material-content-color))
|
|
4848
4922
|
padding-box,
|
|
4849
4923
|
linear-gradient(var(--_ui-material-rim-color), var(--_ui-material-rim-color)) border-box,
|
|
@@ -4866,6 +4940,7 @@ footer:empty:where([data-hn-ui-dialog]) {
|
|
|
4866
4940
|
0 calc(var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 8px) calc(
|
|
4867
4941
|
var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 24px
|
|
4868
4942
|
) color-mix(in oklab, var(--ui-text-primary) 15%, transparent),
|
|
4943
|
+
var(--ui-material-glow, 0 0 transparent),
|
|
4869
4944
|
inset 0 0 0 calc(var(--_ui-material-active) * var(--ui-border-width)) var(
|
|
4870
4945
|
--ui-material-edge,
|
|
4871
4946
|
var(--ui-border-strong)
|
|
@@ -4907,7 +4982,7 @@ footer:empty:where([data-hn-ui-dialog]) {
|
|
|
4907
4982
|
pointer-events: auto;
|
|
4908
4983
|
opacity: 1;
|
|
4909
4984
|
transform: scale(1);
|
|
4910
|
-
animation: ui-dialog-enter-
|
|
4985
|
+
animation: ui-dialog-enter-0eef3ecb var(--ui-dialog-duration, var(--ui-motion-base))
|
|
4911
4986
|
var(--ui-motion-ease);
|
|
4912
4987
|
}
|
|
4913
4988
|
: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]) {
|
|
@@ -5036,7 +5111,7 @@ footer:empty:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
|
5036
5111
|
}
|
|
5037
5112
|
:where(.ui-dialog)[open]:modal:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])::backdrop {
|
|
5038
5113
|
background-color: var(--ui-overlay-backdrop);
|
|
5039
|
-
animation: ui-dialog-backdrop-enter-
|
|
5114
|
+
animation: ui-dialog-backdrop-enter-0eef3ecb var(--_ui-dialog-duration, var(--ui-motion-base))
|
|
5040
5115
|
var(--ui-motion-ease);
|
|
5041
5116
|
}
|
|
5042
5117
|
: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 {
|
|
@@ -5481,6 +5556,7 @@ footer:empty:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
|
5481
5556
|
transparent
|
|
5482
5557
|
);
|
|
5483
5558
|
background:
|
|
5559
|
+
var(--ui-surface-highlight, linear-gradient(transparent, transparent)) padding-box,
|
|
5484
5560
|
linear-gradient(var(--_ui-material-content-color), var(--_ui-material-content-color))
|
|
5485
5561
|
padding-box,
|
|
5486
5562
|
linear-gradient(var(--_ui-material-rim-color), var(--_ui-material-rim-color)) border-box,
|
|
@@ -5503,6 +5579,7 @@ footer:empty:where(:scope, :scope *):where([data-hn-ui-dialog]) {
|
|
|
5503
5579
|
0 calc(var(--_ui-material-separation) * var(--_ui-material-scale, 0.28) * 8px) calc(
|
|
5504
5580
|
var(--_ui-material-separation) * var(--_ui-material-scale, 0.28) * 24px
|
|
5505
5581
|
) color-mix(in oklab, var(--ui-text-primary) 15%, transparent),
|
|
5582
|
+
var(--ui-material-glow, 0 0 transparent),
|
|
5506
5583
|
inset 0 0 0 calc(var(--_ui-material-active) * var(--ui-border-width)) var(
|
|
5507
5584
|
--ui-material-edge,
|
|
5508
5585
|
var(--ui-border-strong)
|
|
@@ -6085,6 +6162,7 @@ legend.sr-only:where([data-hn-ui-radio-group]) {
|
|
|
6085
6162
|
--_ui-default-input-focus-outline: none;
|
|
6086
6163
|
--_ui-default-input-radius: 0;
|
|
6087
6164
|
--_ui-default-input-surface: transparent;
|
|
6165
|
+
--_ui-default-input-highlight: none;
|
|
6088
6166
|
--_ui-default-textarea-border-width: 0;
|
|
6089
6167
|
--_ui-default-textarea-border: transparent;
|
|
6090
6168
|
--_ui-default-textarea-border-hover: transparent;
|
|
@@ -6096,6 +6174,7 @@ legend.sr-only:where([data-hn-ui-radio-group]) {
|
|
|
6096
6174
|
--_ui-default-textarea-focus-outline: none;
|
|
6097
6175
|
--_ui-default-textarea-radius: 0;
|
|
6098
6176
|
--_ui-default-textarea-surface: transparent;
|
|
6177
|
+
--_ui-default-textarea-highlight: none;
|
|
6099
6178
|
|
|
6100
6179
|
display: flex !important;
|
|
6101
6180
|
align-items: stretch !important;
|
|
@@ -6106,7 +6185,8 @@ legend.sr-only:where([data-hn-ui-radio-group]) {
|
|
|
6106
6185
|
/* The frame reads the shared control tokens with a lone Input's fallbacks, so the two match. */
|
|
6107
6186
|
border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
|
|
6108
6187
|
border-radius: var(--ui-input-group-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
6109
|
-
background: var(--ui-control-surface, var(--ui-surface-elevated));
|
|
6188
|
+
background-color: var(--ui-control-surface, var(--ui-surface-elevated));
|
|
6189
|
+
background-image: var(--ui-surface-highlight, none);
|
|
6110
6190
|
box-shadow: var(--ui-control-inset);
|
|
6111
6191
|
overflow: hidden;
|
|
6112
6192
|
/* A press anywhere in the frame focuses the input. */
|
|
@@ -6333,10 +6413,11 @@ legend.sr-only:where([data-hn-ui-radio-group]) {
|
|
|
6333
6413
|
--ui-textarea-radius,
|
|
6334
6414
|
var(--_ui-default-textarea-radius, var(--ui-field-radius, var(--ui-radius-md)))
|
|
6335
6415
|
);
|
|
6336
|
-
background: var(
|
|
6416
|
+
background-color: var(
|
|
6337
6417
|
--ui-textarea-surface,
|
|
6338
6418
|
var(--_ui-default-textarea-surface, var(--ui-control-surface, var(--ui-surface-elevated)))
|
|
6339
6419
|
);
|
|
6420
|
+
background-image: var(--_ui-default-textarea-highlight, var(--ui-surface-highlight, none));
|
|
6340
6421
|
color: var(--ui-text-primary);
|
|
6341
6422
|
font: inherit;
|
|
6342
6423
|
line-height: var(--ui-line-height-md);
|
|
@@ -6701,6 +6782,7 @@ legend.sr-only:where([data-hn-ui-radio-group]) {
|
|
|
6701
6782
|
transparent
|
|
6702
6783
|
);
|
|
6703
6784
|
background:
|
|
6785
|
+
var(--ui-surface-highlight, linear-gradient(transparent, transparent)) padding-box,
|
|
6704
6786
|
linear-gradient(var(--_ui-material-content-color), var(--_ui-material-content-color))
|
|
6705
6787
|
padding-box,
|
|
6706
6788
|
linear-gradient(var(--_ui-material-rim-color), var(--_ui-material-rim-color)) border-box,
|
|
@@ -6723,6 +6805,7 @@ legend.sr-only:where([data-hn-ui-radio-group]) {
|
|
|
6723
6805
|
0 calc(var(--_ui-material-separation) * var(--_ui-material-scale, 0.55) * 8px) calc(
|
|
6724
6806
|
var(--_ui-material-separation) * var(--_ui-material-scale, 0.55) * 24px
|
|
6725
6807
|
) color-mix(in oklab, var(--ui-text-primary) 15%, transparent),
|
|
6808
|
+
var(--ui-material-glow, 0 0 transparent),
|
|
6726
6809
|
inset 0 0 0 calc(var(--_ui-material-active) * var(--ui-border-width)) var(
|
|
6727
6810
|
--ui-material-edge,
|
|
6728
6811
|
var(--ui-border-strong)
|
|
@@ -8511,6 +8594,109 @@ ul:where([data-hn-ui-editor-slash-menu-group]) {
|
|
|
8511
8594
|
}
|
|
8512
8595
|
}
|
|
8513
8596
|
|
|
8597
|
+
@scope (.ui-light-editor) to ([data-hn]) {
|
|
8598
|
+
:scope:where([data-hn-ui-light-editor]) {
|
|
8599
|
+
display: grid !important;
|
|
8600
|
+
gap: var(--ui-space-3) !important;
|
|
8601
|
+
min-inline-size: 0;
|
|
8602
|
+
padding: 0 !important;
|
|
8603
|
+
margin: 0 !important;
|
|
8604
|
+
}
|
|
8605
|
+
.stage:where([data-hn-ui-light-editor]) {
|
|
8606
|
+
box-sizing: border-box !important;
|
|
8607
|
+
display: block !important;
|
|
8608
|
+
block-size: 13rem;
|
|
8609
|
+
padding: calc(var(--ui-control-min-block-size) / 2) !important;
|
|
8610
|
+
border: var(--ui-border-width) solid var(--ui-control-border);
|
|
8611
|
+
border-radius: var(--ui-field-radius, var(--ui-radius-md));
|
|
8612
|
+
background: var(--ui-neutral-surface, var(--ui-surface));
|
|
8613
|
+
}
|
|
8614
|
+
.plane:where([data-hn-ui-light-editor]) {
|
|
8615
|
+
position: relative;
|
|
8616
|
+
display: block !important;
|
|
8617
|
+
inline-size: 100%;
|
|
8618
|
+
block-size: 100%;
|
|
8619
|
+
}
|
|
8620
|
+
svg:where([data-hn-ui-light-editor]) {
|
|
8621
|
+
inline-size: 100%;
|
|
8622
|
+
block-size: 100%;
|
|
8623
|
+
overflow: visible;
|
|
8624
|
+
}
|
|
8625
|
+
path:where([data-hn-ui-light-editor]) {
|
|
8626
|
+
fill: none;
|
|
8627
|
+
stroke: var(--ui-border);
|
|
8628
|
+
stroke-width: 1;
|
|
8629
|
+
vector-effect: non-scaling-stroke;
|
|
8630
|
+
}
|
|
8631
|
+
.specimen:where([data-hn-ui-light-editor]) {
|
|
8632
|
+
position: absolute;
|
|
8633
|
+
inset: 0;
|
|
8634
|
+
display: grid !important;
|
|
8635
|
+
place-items: center !important;
|
|
8636
|
+
}
|
|
8637
|
+
.source:where([data-hn-ui-light-editor]) {
|
|
8638
|
+
position: absolute;
|
|
8639
|
+
left: 50%;
|
|
8640
|
+
top: 0;
|
|
8641
|
+
translate: -50% -50%;
|
|
8642
|
+
display: grid !important;
|
|
8643
|
+
place-items: center !important;
|
|
8644
|
+
inline-size: max(2rem, var(--ui-control-min-block-size));
|
|
8645
|
+
block-size: max(2rem, var(--ui-control-min-block-size));
|
|
8646
|
+
padding: 0 !important;
|
|
8647
|
+
margin: 0 !important;
|
|
8648
|
+
border: 0;
|
|
8649
|
+
border-radius: 50%;
|
|
8650
|
+
background: transparent;
|
|
8651
|
+
cursor: grab;
|
|
8652
|
+
touch-action: none;
|
|
8653
|
+
}
|
|
8654
|
+
.source:where([data-hn-ui-light-editor])::after {
|
|
8655
|
+
content: "";
|
|
8656
|
+
inline-size: 1rem;
|
|
8657
|
+
block-size: 1rem;
|
|
8658
|
+
border: var(--ui-border-width) solid var(--ui-accent);
|
|
8659
|
+
border-radius: 50%;
|
|
8660
|
+
background: var(--ui-surface-raised);
|
|
8661
|
+
box-shadow:
|
|
8662
|
+
0 0 0 var(--ui-space-2) color-mix(in srgb, var(--ui-accent) 12%, transparent),
|
|
8663
|
+
var(--ui-shadow-sm);
|
|
8664
|
+
}
|
|
8665
|
+
.source:active:where([data-hn-ui-light-editor]) {
|
|
8666
|
+
cursor: grabbing;
|
|
8667
|
+
}
|
|
8668
|
+
.source:focus-visible:where([data-hn-ui-light-editor]) {
|
|
8669
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
8670
|
+
outline-offset: var(--ui-space-1);
|
|
8671
|
+
}
|
|
8672
|
+
.source:disabled:where([data-hn-ui-light-editor]) {
|
|
8673
|
+
cursor: not-allowed;
|
|
8674
|
+
}
|
|
8675
|
+
.source:disabled:where([data-hn-ui-light-editor])::after {
|
|
8676
|
+
background: var(--ui-disabled-surface);
|
|
8677
|
+
border-color: var(--ui-disabled-border);
|
|
8678
|
+
box-shadow: none;
|
|
8679
|
+
}
|
|
8680
|
+
.coordinates:where([data-hn-ui-light-editor]) {
|
|
8681
|
+
display: grid !important;
|
|
8682
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
8683
|
+
gap: var(--ui-space-2) !important;
|
|
8684
|
+
}
|
|
8685
|
+
.hint:where([data-hn-ui-light-editor]) {
|
|
8686
|
+
font-size: var(--ui-font-size-sm);
|
|
8687
|
+
color: var(--ui-text-secondary);
|
|
8688
|
+
}
|
|
8689
|
+
@media (forced-colors: active) {
|
|
8690
|
+
.source:where([data-hn-ui-light-editor])::after {
|
|
8691
|
+
background: Canvas;
|
|
8692
|
+
border-color: CanvasText;
|
|
8693
|
+
}
|
|
8694
|
+
.source:focus-visible:where([data-hn-ui-light-editor]) {
|
|
8695
|
+
outline-color: Highlight;
|
|
8696
|
+
}
|
|
8697
|
+
}
|
|
8698
|
+
}
|
|
8699
|
+
|
|
8514
8700
|
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
8515
8701
|
@property --ui-list-gap {
|
|
8516
8702
|
syntax: "*";
|
|
@@ -9893,7 +10079,7 @@ dialog:where([data-hn-ui-search-shell]) {
|
|
|
9893
10079
|
var(--ui-control-surface, var(--ui-surface-elevated))
|
|
9894
10080
|
);
|
|
9895
10081
|
color: var(--ui-text-primary);
|
|
9896
|
-
color-scheme:
|
|
10082
|
+
color-scheme: inherit;
|
|
9897
10083
|
font: inherit;
|
|
9898
10084
|
line-height: var(--ui-line-height-tight);
|
|
9899
10085
|
box-shadow: var(--ui-select-shadow, var(--ui-shadow-sm));
|
|
@@ -9903,15 +10089,18 @@ dialog:where([data-hn-ui-search-shell]) {
|
|
|
9903
10089
|
background-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
9904
10090
|
}
|
|
9905
10091
|
:scope:where([data-hn-ui-select]) {
|
|
10092
|
+
--_ui-select-highlight: var(--ui-surface-highlight, linear-gradient(transparent, transparent));
|
|
9906
10093
|
appearance: none;
|
|
9907
10094
|
padding-inline-end: calc(var(--ui-space-3) + 1.5rem) !important;
|
|
9908
|
-
background-image:
|
|
9909
|
-
|
|
9910
|
-
|
|
9911
|
-
|
|
10095
|
+
background-image:
|
|
10096
|
+
var(
|
|
10097
|
+
--ui-select-chevron,
|
|
10098
|
+
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c5c58' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
|
|
10099
|
+
),
|
|
10100
|
+
var(--_ui-select-highlight);
|
|
9912
10101
|
background-repeat: no-repeat;
|
|
9913
|
-
background-position: right var(--ui-space-3) center;
|
|
9914
|
-
background-size: 1.125rem 1.125rem
|
|
10102
|
+
background-position: right var(--ui-space-3) center, center;
|
|
10103
|
+
background-size: 1.125rem 1.125rem, 100% 100%;
|
|
9915
10104
|
}
|
|
9916
10105
|
:scope:hover:not(:focus):not(:disabled):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid])):where([data-hn-ui-select]) {
|
|
9917
10106
|
border-color: var(
|
|
@@ -9943,6 +10132,7 @@ dialog:where([data-hn-ui-search-shell]) {
|
|
|
9943
10132
|
);
|
|
9944
10133
|
}
|
|
9945
10134
|
:scope:disabled:where([data-hn-ui-select]) {
|
|
10135
|
+
--_ui-select-highlight: none;
|
|
9946
10136
|
background-color: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
9947
10137
|
color: var(--ui-disabled-text);
|
|
9948
10138
|
box-shadow: none;
|
|
@@ -9953,15 +10143,17 @@ dialog:where([data-hn-ui-search-shell]) {
|
|
|
9953
10143
|
padding: var(--ui-control-inset-block-sm, var(--ui-space-1)) var(--ui-space-2) !important;
|
|
9954
10144
|
padding-inline-end: calc(var(--ui-space-2) + var(--ui-icon-size-sm) + var(--ui-space-1))
|
|
9955
10145
|
!important;
|
|
9956
|
-
background-position: right var(--ui-space-2) center;
|
|
9957
|
-
background-size:
|
|
10146
|
+
background-position: right var(--ui-space-2) center, center;
|
|
10147
|
+
background-size:
|
|
10148
|
+
var(--ui-icon-size-sm) var(--ui-icon-size-sm),
|
|
10149
|
+
100% 100%;
|
|
9958
10150
|
font-size: var(--ui-font-size-sm);
|
|
9959
10151
|
}
|
|
9960
10152
|
:scope[data-ui-select-state~="size=lg"]:where([data-hn-ui-select]) {
|
|
9961
10153
|
min-block-size: var(--ui-control-size-lg);
|
|
9962
10154
|
padding: var(--ui-control-inset-block-lg, var(--ui-space-3)) var(--ui-space-4) !important;
|
|
9963
10155
|
padding-inline-end: calc(var(--ui-space-4) + 1.5rem) !important;
|
|
9964
|
-
background-position: right var(--ui-space-4) center;
|
|
10156
|
+
background-position: right var(--ui-space-4) center, center;
|
|
9965
10157
|
font-size: var(--ui-font-size-md);
|
|
9966
10158
|
}
|
|
9967
10159
|
@media (pointer: coarse) {
|
|
@@ -10418,6 +10610,7 @@ input:where([data-hn-ui-switch]) {
|
|
|
10418
10610
|
border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
|
|
10419
10611
|
border-radius: var(--ui-radius-round);
|
|
10420
10612
|
background-color: var(--ui-control-surface, var(--ui-surface-default));
|
|
10613
|
+
background-image: var(--ui-surface-highlight, none);
|
|
10421
10614
|
box-shadow: var(--ui-control-inset);
|
|
10422
10615
|
cursor: pointer;
|
|
10423
10616
|
transition:
|
|
@@ -10441,6 +10634,7 @@ input:where([data-hn-ui-switch])::after {
|
|
|
10441
10634
|
}
|
|
10442
10635
|
input:checked:where([data-hn-ui-switch]) {
|
|
10443
10636
|
background-color: var(--ui-accent-solid);
|
|
10637
|
+
background-image: var(--ui-accent-highlight, none);
|
|
10444
10638
|
border-color: var(--ui-accent-solid);
|
|
10445
10639
|
}
|
|
10446
10640
|
input:checked:where([data-hn-ui-switch])::after {
|
|
@@ -10461,6 +10655,7 @@ input:focus-visible:where([data-hn-ui-switch]) {
|
|
|
10461
10655
|
:scope[data-ui-switch-state~="disabled"] input:where([data-hn-ui-switch]) {
|
|
10462
10656
|
border-color: var(--ui-disabled-border);
|
|
10463
10657
|
background-color: var(--ui-disabled-surface);
|
|
10658
|
+
background-image: none;
|
|
10464
10659
|
box-shadow: none;
|
|
10465
10660
|
cursor: not-allowed;
|
|
10466
10661
|
}
|
|
@@ -10740,10 +10935,9 @@ input:where([data-hn-ui-switch]),input:where([data-hn-ui-switch])::after {
|
|
|
10740
10935
|
max-inline-size: 100%;
|
|
10741
10936
|
/* Tabs that do not fit scroll sideways rather than wrapping or squeezing. */
|
|
10742
10937
|
overflow-x: auto;
|
|
10743
|
-
/*
|
|
10744
|
-
strip or the page vertically. */
|
|
10938
|
+
/* Contain sideways overscroll without trapping vertical page scrolling. */
|
|
10745
10939
|
overflow-y: hidden;
|
|
10746
|
-
overscroll-behavior: contain;
|
|
10940
|
+
overscroll-behavior-inline: contain;
|
|
10747
10941
|
scrollbar-width: thin;
|
|
10748
10942
|
border-block-end: var(--ui-border-width) solid var(--ui-border-divider);
|
|
10749
10943
|
}
|
|
@@ -13335,7 +13529,7 @@ html[data-ui-input-modality="touch"]
|
|
|
13335
13529
|
:scope:where([data-component~="ui-button"]) {
|
|
13336
13530
|
/* Optional inherited action-group values keep text and icon actions under the same light.
|
|
13337
13531
|
One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
|
|
13338
|
-
|
|
13532
|
+
The shared theme supplies reflections and glow independently of the resting lift. */
|
|
13339
13533
|
--_ui-action-start: 1px;
|
|
13340
13534
|
--_ui-action-edge: var(
|
|
13341
13535
|
--ui-action-edge,
|
|
@@ -13343,6 +13537,8 @@ html[data-ui-input-modality="touch"]
|
|
|
13343
13537
|
inset calc(-1 * var(--_ui-action-start)) -1px 0 light-dark(rgb(0 0 0 / 0.08), rgb(0 0 0 / 0.08))
|
|
13344
13538
|
);
|
|
13345
13539
|
--_ui-action-shadow: var(--_ui-action-edge), 0 1px 2px light-dark(rgb(0 0 0 / 0.10), rgb(0 0 0 / 0.20));
|
|
13540
|
+
--_tone-highlight: var(--ui-accent-highlight, none);
|
|
13541
|
+
--_tone-glow: var(--ui-accent-glow, 0 0 transparent);
|
|
13346
13542
|
--_hue: var(--ui-accent);
|
|
13347
13543
|
--_hue-hover: var(--ui-accent-hover);
|
|
13348
13544
|
--_hue-active: var(--ui-accent-active);
|
|
@@ -13393,8 +13589,8 @@ html[data-ui-input-modality="touch"]
|
|
|
13393
13589
|
white-space: var(--ui-button-white-space, inherit);
|
|
13394
13590
|
line-height: var(--ui-line-height-tight);
|
|
13395
13591
|
padding: var(--ui-control-inset-block-md, var(--ui-space-2)) var(--ui-action-inset-md, var(--ui-space-3)) !important;
|
|
13396
|
-
background-image: none;
|
|
13397
|
-
box-shadow: var(--ui-button-shadow, var(--ui-action-shadow, var(--_ui-action-shadow)));
|
|
13592
|
+
background-image: var(--ui-surface-highlight, none);
|
|
13593
|
+
box-shadow: var(--ui-button-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))), var(--_tone-glow);
|
|
13398
13594
|
cursor: pointer;
|
|
13399
13595
|
transition:
|
|
13400
13596
|
scale var(--ui-motion-press, var(--ui-motion-fast)) var(--ui-motion-ease),
|
|
@@ -13526,7 +13722,8 @@ html[data-ui-input-modality="touch"]
|
|
|
13526
13722
|
border-color: var(--_tone);
|
|
13527
13723
|
background-color: var(--_tone);
|
|
13528
13724
|
color: var(--_on-tone);
|
|
13529
|
-
|
|
13725
|
+
background-image: var(--_tone-highlight);
|
|
13726
|
+
box-shadow: var(--ui-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))), var(--_tone-glow);
|
|
13530
13727
|
}
|
|
13531
13728
|
|
|
13532
13729
|
:is(:scope:where([data-component~="ui-button"])[data-appearance="solid"], :scope:where([data-component~="ui-button"])[data-appearance="danger"]):hover:not(:disabled, [aria-disabled="true"]) {
|
|
@@ -13544,6 +13741,8 @@ html[data-ui-input-modality="touch"]
|
|
|
13544
13741
|
/* Tone is the colour, variant is the volume. Every pairing works: a danger outline is a
|
|
13545
13742
|
destructive secondary action, not a special case. */
|
|
13546
13743
|
:scope:where([data-component~="ui-button"])[data-tone="neutral"] {
|
|
13744
|
+
--_tone-highlight: var(--ui-neutral-highlight, none);
|
|
13745
|
+
--_tone-glow: var(--ui-neutral-glow, 0 0 transparent);
|
|
13547
13746
|
--_hue: var(--ui-text);
|
|
13548
13747
|
--_hue-hover: var(--ui-text);
|
|
13549
13748
|
--_hue-active: var(--ui-text);
|
|
@@ -13551,7 +13750,21 @@ html[data-ui-input-modality="touch"]
|
|
|
13551
13750
|
--_on-hue: var(--ui-surface);
|
|
13552
13751
|
}
|
|
13553
13752
|
|
|
13753
|
+
:scope:where([data-component~="ui-button"])[data-tone="neutral"][data-appearance="solid"] {
|
|
13754
|
+
border-color: var(--ui-button-border, var(--ui-control-border));
|
|
13755
|
+
background-color: var(--ui-button-surface, var(--ui-neutral-surface));
|
|
13756
|
+
color: var(--ui-button-text, var(--ui-text));
|
|
13757
|
+
}
|
|
13758
|
+
:scope:where([data-component~="ui-button"])[data-tone="neutral"][data-appearance="solid"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
13759
|
+
background-color: var(--ui-button-hover-surface, var(--ui-neutral-hover));
|
|
13760
|
+
}
|
|
13761
|
+
:scope:where([data-component~="ui-button"])[data-tone="neutral"][data-appearance="solid"]:active:not(:disabled, [aria-disabled="true"]) {
|
|
13762
|
+
background-color: var(--ui-button-active-surface, var(--ui-neutral-active));
|
|
13763
|
+
}
|
|
13764
|
+
|
|
13554
13765
|
:scope:where([data-component~="ui-button"])[data-tone="danger"], :scope:where([data-component~="ui-button"])[data-appearance="danger"] {
|
|
13766
|
+
--_tone-highlight: var(--ui-danger-highlight, none);
|
|
13767
|
+
--_tone-glow: var(--ui-danger-glow, 0 0 transparent);
|
|
13555
13768
|
--_hue: var(--ui-danger);
|
|
13556
13769
|
--_hue-hover: var(--ui-danger-hover);
|
|
13557
13770
|
--_hue-active: var(--ui-danger-active, var(--ui-danger-hover));
|
|
@@ -13560,6 +13773,8 @@ html[data-ui-input-modality="touch"]
|
|
|
13560
13773
|
}
|
|
13561
13774
|
|
|
13562
13775
|
:scope:where([data-component~="ui-button"])[data-tone="success"] {
|
|
13776
|
+
--_tone-highlight: var(--ui-success-highlight, none);
|
|
13777
|
+
--_tone-glow: var(--ui-success-glow, 0 0 transparent);
|
|
13563
13778
|
--_hue: var(--ui-success);
|
|
13564
13779
|
--_hue-hover: var(--ui-success-hover);
|
|
13565
13780
|
--_hue-active: var(--ui-success-active);
|
|
@@ -13568,6 +13783,8 @@ html[data-ui-input-modality="touch"]
|
|
|
13568
13783
|
}
|
|
13569
13784
|
|
|
13570
13785
|
:scope:where([data-component~="ui-button"])[data-tone="warning"] {
|
|
13786
|
+
--_tone-highlight: var(--ui-warning-highlight, none);
|
|
13787
|
+
--_tone-glow: var(--ui-warning-glow, 0 0 transparent);
|
|
13571
13788
|
--_hue: var(--ui-warning);
|
|
13572
13789
|
--_hue-hover: var(--ui-warning-hover);
|
|
13573
13790
|
--_hue-active: var(--ui-warning-active);
|
|
@@ -13576,6 +13793,8 @@ html[data-ui-input-modality="touch"]
|
|
|
13576
13793
|
}
|
|
13577
13794
|
|
|
13578
13795
|
:scope:where([data-component~="ui-button"])[data-tone="info"] {
|
|
13796
|
+
--_tone-highlight: var(--ui-info-highlight, none);
|
|
13797
|
+
--_tone-glow: var(--ui-info-glow, 0 0 transparent);
|
|
13579
13798
|
--_hue: var(--ui-info);
|
|
13580
13799
|
--_hue-hover: var(--ui-info-hover);
|
|
13581
13800
|
--_hue-active: var(--ui-info-active);
|
|
@@ -14210,7 +14429,9 @@ html[data-ui-input-modality="touch"]
|
|
|
14210
14429
|
:scope:where([data-component~="ui-icon-button"]) {
|
|
14211
14430
|
/* Optional inherited action-group values keep text and icon actions under the same light.
|
|
14212
14431
|
One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
|
|
14213
|
-
|
|
14432
|
+
The shared theme supplies reflections and glow independently of the resting lift. */
|
|
14433
|
+
--_tone-highlight: var(--ui-accent-highlight, none);
|
|
14434
|
+
--_tone-glow: var(--ui-accent-glow, 0 0 transparent);
|
|
14214
14435
|
--_ui-action-start: 1px;
|
|
14215
14436
|
--_ui-action-edge: var(
|
|
14216
14437
|
--ui-action-edge,
|
|
@@ -14231,6 +14452,8 @@ html[data-ui-input-modality="touch"]
|
|
|
14231
14452
|
}
|
|
14232
14453
|
|
|
14233
14454
|
:scope:where([data-component~="ui-icon-button"])[data-tone="accent"] {
|
|
14455
|
+
--_tone-highlight: var(--ui-accent-highlight, none);
|
|
14456
|
+
--_tone-glow: var(--ui-accent-glow, 0 0 transparent);
|
|
14234
14457
|
--_icon-button-border: var(--ui-accent-solid);
|
|
14235
14458
|
--_icon-button-hover-border: var(--ui-accent-hover);
|
|
14236
14459
|
--_icon-button-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
|
|
@@ -14239,6 +14462,8 @@ html[data-ui-input-modality="touch"]
|
|
|
14239
14462
|
}
|
|
14240
14463
|
|
|
14241
14464
|
:scope:where([data-component~="ui-icon-button"])[data-tone="danger"] {
|
|
14465
|
+
--_tone-highlight: var(--ui-danger-highlight, none);
|
|
14466
|
+
--_tone-glow: var(--ui-danger-glow, 0 0 transparent);
|
|
14242
14467
|
--_icon-button-border: var(--ui-danger);
|
|
14243
14468
|
--_icon-button-hover-border: var(--ui-danger-hover);
|
|
14244
14469
|
--_icon-button-text: var(--ui-danger-subtle-text);
|
|
@@ -14250,6 +14475,8 @@ html[data-ui-input-modality="touch"]
|
|
|
14250
14475
|
}
|
|
14251
14476
|
|
|
14252
14477
|
:scope:where([data-component~="ui-icon-button"])[data-tone="success"] {
|
|
14478
|
+
--_tone-highlight: var(--ui-success-highlight, none);
|
|
14479
|
+
--_tone-glow: var(--ui-success-glow, 0 0 transparent);
|
|
14253
14480
|
--_icon-button-border: var(--ui-success);
|
|
14254
14481
|
--_icon-button-hover-border: var(--ui-success-hover);
|
|
14255
14482
|
--_icon-button-text: var(--ui-success-subtle-text);
|
|
@@ -14261,6 +14488,8 @@ html[data-ui-input-modality="touch"]
|
|
|
14261
14488
|
}
|
|
14262
14489
|
|
|
14263
14490
|
:scope:where([data-component~="ui-icon-button"])[data-tone="warning"] {
|
|
14491
|
+
--_tone-highlight: var(--ui-warning-highlight, none);
|
|
14492
|
+
--_tone-glow: var(--ui-warning-glow, 0 0 transparent);
|
|
14264
14493
|
--_icon-button-border: var(--ui-warning);
|
|
14265
14494
|
--_icon-button-hover-border: var(--ui-warning-hover);
|
|
14266
14495
|
--_icon-button-text: var(--ui-warning-subtle-text);
|
|
@@ -14272,6 +14501,8 @@ html[data-ui-input-modality="touch"]
|
|
|
14272
14501
|
}
|
|
14273
14502
|
|
|
14274
14503
|
:scope:where([data-component~="ui-icon-button"])[data-tone="info"] {
|
|
14504
|
+
--_tone-highlight: var(--ui-info-highlight, none);
|
|
14505
|
+
--_tone-glow: var(--ui-info-glow, 0 0 transparent);
|
|
14275
14506
|
--_icon-button-border: var(--ui-info);
|
|
14276
14507
|
--_icon-button-hover-border: var(--ui-info-hover);
|
|
14277
14508
|
--_icon-button-text: var(--ui-info-subtle-text);
|
|
@@ -14284,9 +14515,11 @@ html[data-ui-input-modality="touch"]
|
|
|
14284
14515
|
|
|
14285
14516
|
/* Omitted tone retains the existing accent solid; explicit neutral is additive. */
|
|
14286
14517
|
:scope:where([data-component~="ui-icon-button"])[data-tone="neutral"] {
|
|
14287
|
-
--
|
|
14288
|
-
--
|
|
14289
|
-
--_icon-button-solid-
|
|
14518
|
+
--_tone-highlight: var(--ui-neutral-highlight, none);
|
|
14519
|
+
--_tone-glow: var(--ui-neutral-glow, 0 0 transparent);
|
|
14520
|
+
--_icon-button-solid-surface: var(--ui-neutral-surface);
|
|
14521
|
+
--_icon-button-solid-hover-surface: var(--ui-neutral-hover);
|
|
14522
|
+
--_icon-button-solid-text: var(--ui-text);
|
|
14290
14523
|
}
|
|
14291
14524
|
|
|
14292
14525
|
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"] {
|
|
@@ -14454,16 +14687,16 @@ html[data-ui-input-modality="touch"]
|
|
|
14454
14687
|
:scope:where([data-component~="ui-icon-button"])[data-appearance="outline"] {
|
|
14455
14688
|
border-color: var(--ui-icon-button-border, var(--_icon-button-border, var(--ui-control-border, var(--ui-border-strong))));
|
|
14456
14689
|
background-color: var(--ui-icon-button-outline-surface, var(--_icon-button-outline-surface, var(--ui-surface-default)));
|
|
14457
|
-
background-image: none;
|
|
14690
|
+
background-image: var(--ui-surface-highlight, none);
|
|
14458
14691
|
color: var(--ui-icon-button-outline-text, var(--_icon-button-text, var(--ui-text-primary)));
|
|
14459
|
-
box-shadow: var(--ui-action-shadow, var(--_ui-action-shadow));
|
|
14692
|
+
box-shadow: var(--ui-action-shadow, var(--_ui-action-shadow)), var(--_tone-glow);
|
|
14460
14693
|
}
|
|
14461
14694
|
|
|
14462
14695
|
:scope:where([data-component~="ui-icon-button"])[data-appearance="solid"] {
|
|
14463
14696
|
background-color: var(--ui-icon-button-solid-surface, var(--_icon-button-solid-surface, var(--ui-accent-solid)));
|
|
14464
|
-
background-image:
|
|
14697
|
+
background-image: var(--_tone-highlight);
|
|
14465
14698
|
color: var(--ui-icon-button-solid-text, var(--_icon-button-solid-text, var(--ui-text-on-accent)));
|
|
14466
|
-
box-shadow: var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow)));
|
|
14699
|
+
box-shadow: var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))), var(--_tone-glow);
|
|
14467
14700
|
}
|
|
14468
14701
|
|
|
14469
14702
|
:scope:where([data-component~="ui-icon-button"]):hover:enabled:not([aria-disabled="true"]) {
|
|
@@ -14849,6 +15082,7 @@ html[data-ui-input-modality="touch"]
|
|
|
14849
15082
|
--_ui-material-content-color: var(--_ui-menu-surface, var(--ui-material-content, var(--ui-overlay-surface, var(--ui-surface-elevated))));
|
|
14850
15083
|
--_ui-material-rim-color: color-mix(in srgb, var(--ui-material-glass, var(--ui-surface-elevated)) calc(var(--_ui-material-active) * 100%), transparent);
|
|
14851
15084
|
background:
|
|
15085
|
+
var(--ui-surface-highlight, linear-gradient(transparent, transparent)) padding-box,
|
|
14852
15086
|
linear-gradient(var(--_ui-material-content-color), var(--_ui-material-content-color)) padding-box,
|
|
14853
15087
|
linear-gradient(var(--_ui-material-rim-color), var(--_ui-material-rim-color)) border-box,
|
|
14854
15088
|
var(--_ui-material-content-color) padding-box;
|
|
@@ -14864,6 +15098,7 @@ html[data-ui-input-modality="touch"]
|
|
|
14864
15098
|
0 calc(var(--_ui-material-separation) * var(--_ui-material-scale, 0.28) * 8px) calc(
|
|
14865
15099
|
var(--_ui-material-separation) * var(--_ui-material-scale, 0.28) * 24px
|
|
14866
15100
|
) color-mix(in oklab, var(--ui-text-primary) 15%, transparent),
|
|
15101
|
+
var(--ui-material-glow, 0 0 transparent),
|
|
14867
15102
|
inset 0 0 0 calc(var(--_ui-material-active) * var(--ui-border-width)) var(--ui-material-edge, var(--ui-border-strong)),
|
|
14868
15103
|
var(--ui-elevation-overlay, var(--ui-shadow-lg))
|
|
14869
15104
|
)
|
|
@@ -15251,6 +15486,7 @@ html[data-ui-input-modality="touch"]
|
|
|
15251
15486
|
--_ui-material-content-color: var(--_ui-popover-surface, var(--ui-material-content, var(--ui-overlay-surface, var(--ui-surface-elevated))));
|
|
15252
15487
|
--_ui-material-rim-color: color-mix(in srgb, var(--ui-material-glass, var(--ui-surface-elevated)) calc(var(--_ui-material-active) * 100%), transparent);
|
|
15253
15488
|
background:
|
|
15489
|
+
var(--ui-surface-highlight, linear-gradient(transparent, transparent)) padding-box,
|
|
15254
15490
|
linear-gradient(var(--_ui-material-content-color), var(--_ui-material-content-color)) padding-box,
|
|
15255
15491
|
linear-gradient(var(--_ui-material-rim-color), var(--_ui-material-rim-color)) border-box,
|
|
15256
15492
|
var(--_ui-material-content-color) padding-box;
|
|
@@ -15266,6 +15502,7 @@ html[data-ui-input-modality="touch"]
|
|
|
15266
15502
|
0 calc(var(--_ui-material-separation) * var(--_ui-material-scale, 0.55) * 8px) calc(
|
|
15267
15503
|
var(--_ui-material-separation) * var(--_ui-material-scale, 0.55) * 24px
|
|
15268
15504
|
) color-mix(in oklab, var(--ui-text-primary) 15%, transparent),
|
|
15505
|
+
var(--ui-material-glow, 0 0 transparent),
|
|
15269
15506
|
inset 0 0 0 calc(var(--_ui-material-active) * var(--ui-border-width)) var(--ui-material-edge, var(--ui-border-strong)),
|
|
15270
15507
|
var(--ui-elevation-overlay, var(--ui-shadow-lg))
|
|
15271
15508
|
)
|
|
@@ -15856,7 +16093,8 @@ html[data-ui-input-modality="touch"]
|
|
|
15856
16093
|
border-inline-end-width: var(--ui-border-width);
|
|
15857
16094
|
border-block-end-width: var(--ui-border-width);
|
|
15858
16095
|
border-end-end-radius: var(--ui-border-width);
|
|
15859
|
-
|
|
16096
|
+
/* Stretch in screen axes after rotation so both arrow shoulders stay level. */
|
|
16097
|
+
transform: scale(1.25, 0.85) rotate(45deg);
|
|
15860
16098
|
}
|
|
15861
16099
|
|
|
15862
16100
|
:scope:where([data-component~="ui-tooltip"])[data-ui-actual-placement="bottom"] .surface:where(:not([data-component], [data-slotted]))::after {
|
|
@@ -16060,7 +16298,8 @@ html[data-ui-input-modality="touch"]
|
|
|
16060
16298
|
margin: max(0px, calc((1lh - var(--_ui-checkbox-size, 1.125rem)) / 2)) 0 0 !important;
|
|
16061
16299
|
border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
|
|
16062
16300
|
border-radius: min(var(--ui-radius-sm), calc(var(--_ui-checkbox-size, 1.125rem) / 4));
|
|
16063
|
-
background: var(--ui-control-surface, var(--ui-surface-default));
|
|
16301
|
+
background-color: var(--ui-control-surface, var(--ui-surface-default));
|
|
16302
|
+
background-image: var(--ui-surface-highlight, none);
|
|
16064
16303
|
box-shadow: var(--ui-control-inset);
|
|
16065
16304
|
cursor: pointer;
|
|
16066
16305
|
transition:
|
|
@@ -16079,7 +16318,8 @@ html[data-ui-input-modality="touch"]
|
|
|
16079
16318
|
input:checked,
|
|
16080
16319
|
input:indeterminate {
|
|
16081
16320
|
border-color: var(--ui-accent-solid);
|
|
16082
|
-
background: var(--ui-accent-solid);
|
|
16321
|
+
background-color: var(--ui-accent-solid);
|
|
16322
|
+
background-image: var(--ui-accent-highlight, none);
|
|
16083
16323
|
box-shadow: var(--ui-control-inset);
|
|
16084
16324
|
}
|
|
16085
16325
|
|
|
@@ -16508,7 +16748,8 @@ html[data-ui-input-modality="touch"]
|
|
|
16508
16748
|
border: var(--ui-input-border-width, var(--_ui-default-input-border-width, var(--ui-border-width))) solid
|
|
16509
16749
|
var(--ui-input-border, var(--_ui-default-input-border, var(--ui-control-border, var(--ui-border-strong))));
|
|
16510
16750
|
border-radius: var(--ui-input-radius, var(--_ui-default-input-radius, var(--ui-field-radius, var(--ui-radius-md))));
|
|
16511
|
-
background: var(--ui-input-surface, var(--_ui-default-input-surface, var(--ui-control-surface, var(--ui-surface-elevated))));
|
|
16751
|
+
background-color: var(--ui-input-surface, var(--_ui-default-input-surface, var(--ui-control-surface, var(--ui-surface-elevated))));
|
|
16752
|
+
background-image: var(--_ui-default-input-highlight, var(--ui-surface-highlight, none));
|
|
16512
16753
|
color: var(--ui-text-primary);
|
|
16513
16754
|
font: inherit;
|
|
16514
16755
|
line-height: var(--ui-line-height-tight);
|