@threadlabs/looma 0.39.1 → 0.39.2
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-button/ui-button.html +24 -3
- package/components/ui-checkbox/ui-checkbox.html +34 -18
- package/components/ui-light-editor/ui-light-editor.html +26 -25
- package/dist/index.js +1 -1
- package/docs/README.md +17 -6
- package/docs/catalog.json +2 -2
- package/docs/customizer-render.mjs +37 -33
- package/docs/customizer.js +82 -47
- package/docs/site.mjs +1 -1
- package/docs/theme-session.mjs +7 -8
- package/docs/theme.mjs +2 -20
- package/package.json +1 -1
- package/styles/ui-button.css +24 -1
- package/styles/ui-checkbox.css +39 -19
- package/styles/ui-light-editor.css +111 -0
- package/tokens.css +9 -2
- package/vanilla/UiButton.js +14 -12
- package/vanilla/UiLightEditor.js +2 -2
- package/vue/UiButton.vue +28 -7
- package/vue/UiCheckbox.vue +34 -19
- package/vue/UiLightEditor.vue +156 -40
- package/vue/chunks/UiButton.js +18 -10
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiLightEditor.js +66 -58
- package/vue/components.css +232 -42
- package/vue/editor/index.js +46 -36
package/vue/components.css
CHANGED
|
@@ -1115,6 +1115,8 @@ svg,.arc {
|
|
|
1115
1115
|
/* A count is an adornment, not another line of label text. Keep the standard control height
|
|
1116
1116
|
with enough inset for a 24px mark; large content can still grow the button naturally. */
|
|
1117
1117
|
|
|
1118
|
+
/* Trim the text line itself: an anonymous flex item retains font-metric space in some fonts. */
|
|
1119
|
+
|
|
1118
1120
|
/* Short numeric and icon actions share a minimum box; large values remain readable. */
|
|
1119
1121
|
|
|
1120
1122
|
/* Card actions inherit Button's palette and behavior; only their shared layout changes.
|
|
@@ -1204,6 +1206,7 @@ svg,.arc {
|
|
|
1204
1206
|
}
|
|
1205
1207
|
:scope:where([data-hn-ui-button]) {
|
|
1206
1208
|
--_button-square-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
1209
|
+
box-sizing: border-box !important;
|
|
1207
1210
|
appearance: none;
|
|
1208
1211
|
min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
1209
1212
|
border-style: solid;
|
|
@@ -1244,6 +1247,18 @@ svg,.arc {
|
|
|
1244
1247
|
:scope:not([data-appearance="link"]):has(.badge:not(:empty)):where([data-hn-ui-button]) {
|
|
1245
1248
|
padding-block: var(--ui-space-0-5) !important;
|
|
1246
1249
|
}
|
|
1250
|
+
.label:where([data-hn-ui-button]) {
|
|
1251
|
+
display: block !important;
|
|
1252
|
+
align-content: center !important;
|
|
1253
|
+
min-inline-size: 0 !important;
|
|
1254
|
+
min-block-size: 1lh !important;
|
|
1255
|
+
}
|
|
1256
|
+
.label:has(svg):where([data-hn-ui-button]) {
|
|
1257
|
+
display: inline-flex !important;
|
|
1258
|
+
align-items: center !important;
|
|
1259
|
+
gap: var(--ui-space-2) !important;
|
|
1260
|
+
text-box-trim: none;
|
|
1261
|
+
}
|
|
1247
1262
|
.badge:where([data-hn-ui-button]) {
|
|
1248
1263
|
display: inline-flex !important;
|
|
1249
1264
|
align-items: center !important;
|
|
@@ -1253,7 +1268,7 @@ svg,.arc {
|
|
|
1253
1268
|
display: none !important;
|
|
1254
1269
|
}
|
|
1255
1270
|
@supports (text-box-trim: trim-both) {
|
|
1256
|
-
:
|
|
1271
|
+
.label:not(:has(svg)):where([data-hn-ui-button]) {
|
|
1257
1272
|
text-box-trim: trim-both;
|
|
1258
1273
|
text-box-edge: cap alphabetic;
|
|
1259
1274
|
}
|
|
@@ -1545,6 +1560,10 @@ html[data-ui-input-modality="touch"]
|
|
|
1545
1560
|
color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1546
1561
|
text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1547
1562
|
}
|
|
1563
|
+
:scope[data-appearance="link"] .label:where([data-hn-ui-button]) {
|
|
1564
|
+
display: inline !important;
|
|
1565
|
+
text-box-trim: none;
|
|
1566
|
+
}
|
|
1548
1567
|
:scope[data-appearance="link"]:hover:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button]) {
|
|
1549
1568
|
color: var(--ui-button-link-hover-text, var(--ui-text-primary));
|
|
1550
1569
|
text-decoration-color: currentColor;
|
|
@@ -1908,19 +1927,20 @@ html[data-ui-input-modality="touch"]
|
|
|
1908
1927
|
|
|
1909
1928
|
/* The label, and under it an optional line saying what the choice means. */
|
|
1910
1929
|
|
|
1911
|
-
/*
|
|
1912
|
-
|
|
1930
|
+
/* The SVG's painted bounds are centred in its viewBox, including its round stroke.
|
|
1931
|
+
Centre that box directly; rotated border boxes do not centre the visible check. */
|
|
1932
|
+
@keyframes ui-checkbox-check-570a9f0b {
|
|
1913
1933
|
from {
|
|
1914
1934
|
opacity: 0;
|
|
1915
|
-
|
|
1935
|
+
scale: 0.55;
|
|
1916
1936
|
}
|
|
1917
1937
|
65% {
|
|
1918
1938
|
opacity: 1;
|
|
1919
|
-
|
|
1939
|
+
scale: 1.12;
|
|
1920
1940
|
}
|
|
1921
1941
|
to {
|
|
1922
1942
|
opacity: 1;
|
|
1923
|
-
|
|
1943
|
+
scale: 1;
|
|
1924
1944
|
}
|
|
1925
1945
|
}
|
|
1926
1946
|
|
|
@@ -2008,7 +2028,8 @@ input:where([data-hn-ui-checkbox]) {
|
|
|
2008
2028
|
}
|
|
2009
2029
|
input:where([data-hn-ui-checkbox])::after {
|
|
2010
2030
|
content: "";
|
|
2011
|
-
position: absolute;
|
|
2031
|
+
position: absolute !important;
|
|
2032
|
+
transform: none !important;
|
|
2012
2033
|
opacity: 0;
|
|
2013
2034
|
transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
|
|
2014
2035
|
}
|
|
@@ -2019,27 +2040,26 @@ input:checked:where([data-hn-ui-checkbox]),input:indeterminate:where([data-hn-ui
|
|
|
2019
2040
|
box-shadow: var(--ui-control-inset);
|
|
2020
2041
|
}
|
|
2021
2042
|
input:checked:where([data-hn-ui-checkbox])::after {
|
|
2022
|
-
inset:
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
border-style: solid;
|
|
2029
|
-
border-color: var(--ui-text-on-accent);
|
|
2030
|
-
border-width: 0 calc(var(--_ui-checkbox-size) * 0.125 / 1.125)
|
|
2031
|
-
calc(var(--_ui-checkbox-size) * 0.125 / 1.125) 0;
|
|
2043
|
+
inset: 50% auto auto 50% !important;
|
|
2044
|
+
inline-size: calc(var(--_ui-checkbox-size) * 0.7) !important;
|
|
2045
|
+
block-size: calc(var(--_ui-checkbox-size) * 0.7) !important;
|
|
2046
|
+
background: var(--ui-text-on-accent);
|
|
2047
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 11.5 5 5 9-9'/%3E%3C/svg%3E")
|
|
2048
|
+
center / contain no-repeat;
|
|
2032
2049
|
opacity: 1;
|
|
2033
|
-
|
|
2034
|
-
animation: ui-checkbox-check-
|
|
2050
|
+
translate: -50% -50% !important;
|
|
2051
|
+
animation: ui-checkbox-check-570a9f0b var(--ui-motion-base) var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
|
2035
2052
|
}
|
|
2036
2053
|
input:indeterminate:where([data-hn-ui-checkbox])::after {
|
|
2037
|
-
|
|
2038
|
-
|
|
2054
|
+
mask: none;
|
|
2055
|
+
animation: none;
|
|
2056
|
+
inset: 50% calc(var(--_ui-checkbox-size) * 0.23 / 1.125) auto !important;
|
|
2057
|
+
inline-size: auto !important;
|
|
2058
|
+
block-size: calc(var(--_ui-checkbox-size) * 0.125 / 1.125) !important;
|
|
2039
2059
|
border-radius: var(--ui-radius-round);
|
|
2040
2060
|
background: var(--ui-text-on-accent);
|
|
2041
2061
|
opacity: 1;
|
|
2042
|
-
|
|
2062
|
+
translate: 0 -50% !important;
|
|
2043
2063
|
}
|
|
2044
2064
|
@media (prefers-reduced-motion: reduce) {
|
|
2045
2065
|
input:where([data-hn-ui-checkbox])::after {
|
|
@@ -2047,6 +2067,17 @@ input:where([data-hn-ui-checkbox])::after {
|
|
|
2047
2067
|
animation: none;
|
|
2048
2068
|
}
|
|
2049
2069
|
}
|
|
2070
|
+
@media (forced-colors: active) {
|
|
2071
|
+
input:checked:where([data-hn-ui-checkbox]),input:indeterminate:where([data-hn-ui-checkbox]) {
|
|
2072
|
+
forced-color-adjust: none;
|
|
2073
|
+
background: Highlight;
|
|
2074
|
+
border-color: Highlight;
|
|
2075
|
+
}
|
|
2076
|
+
input:checked:where([data-hn-ui-checkbox])::after,input:indeterminate:where([data-hn-ui-checkbox])::after {
|
|
2077
|
+
forced-color-adjust: none;
|
|
2078
|
+
background: HighlightText;
|
|
2079
|
+
}
|
|
2080
|
+
}
|
|
2050
2081
|
input:hover:enabled:where([data-hn-ui-checkbox]) {
|
|
2051
2082
|
border-color: var(--ui-accent-solid);
|
|
2052
2083
|
}
|
|
@@ -8746,6 +8777,122 @@ path:where([data-hn-ui-light-editor]) {
|
|
|
8746
8777
|
}
|
|
8747
8778
|
}
|
|
8748
8779
|
}
|
|
8780
|
+
@scope ([data-slotted~="ui-light-editor"]:not([data-hn])) to ([data-hn], [data-slotted]) {
|
|
8781
|
+
:where(.ui-light-editor):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-light-editor"]))):where([data-hn-ui-light-editor]) {
|
|
8782
|
+
display: grid !important;
|
|
8783
|
+
gap: var(--ui-space-3) !important;
|
|
8784
|
+
min-inline-size: 0;
|
|
8785
|
+
padding: 0 !important;
|
|
8786
|
+
margin: 0 !important;
|
|
8787
|
+
}
|
|
8788
|
+
.stage:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8789
|
+
box-sizing: border-box !important;
|
|
8790
|
+
display: block !important;
|
|
8791
|
+
block-size: 13rem;
|
|
8792
|
+
padding: calc(var(--ui-control-min-block-size) / 2) !important;
|
|
8793
|
+
border: var(--ui-border-width) solid var(--ui-control-border);
|
|
8794
|
+
border-radius: var(--ui-field-radius, var(--ui-radius-md));
|
|
8795
|
+
background: var(--ui-neutral-surface, var(--ui-surface));
|
|
8796
|
+
}
|
|
8797
|
+
.plane:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8798
|
+
position: relative;
|
|
8799
|
+
display: block !important;
|
|
8800
|
+
inline-size: 100%;
|
|
8801
|
+
block-size: 100%;
|
|
8802
|
+
}
|
|
8803
|
+
svg:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8804
|
+
inline-size: 100%;
|
|
8805
|
+
block-size: 100%;
|
|
8806
|
+
overflow: visible;
|
|
8807
|
+
}
|
|
8808
|
+
path:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8809
|
+
fill: none;
|
|
8810
|
+
stroke: var(--ui-border);
|
|
8811
|
+
stroke-width: 1;
|
|
8812
|
+
vector-effect: non-scaling-stroke;
|
|
8813
|
+
}
|
|
8814
|
+
.specimen:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8815
|
+
position: absolute;
|
|
8816
|
+
inset: 0;
|
|
8817
|
+
display: grid !important;
|
|
8818
|
+
place-items: center !important;
|
|
8819
|
+
}
|
|
8820
|
+
.source:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8821
|
+
position: absolute;
|
|
8822
|
+
left: 50%;
|
|
8823
|
+
top: 0;
|
|
8824
|
+
translate: -50% -50%;
|
|
8825
|
+
display: grid !important;
|
|
8826
|
+
place-items: center !important;
|
|
8827
|
+
inline-size: max(2rem, var(--ui-control-min-block-size));
|
|
8828
|
+
block-size: max(2rem, var(--ui-control-min-block-size));
|
|
8829
|
+
padding: 0 !important;
|
|
8830
|
+
margin: 0 !important;
|
|
8831
|
+
border: 0;
|
|
8832
|
+
border-radius: 50%;
|
|
8833
|
+
background: transparent;
|
|
8834
|
+
cursor: grab;
|
|
8835
|
+
touch-action: none;
|
|
8836
|
+
}
|
|
8837
|
+
.source-glyph:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8838
|
+
position: relative;
|
|
8839
|
+
z-index: 1;
|
|
8840
|
+
display: inline-flex !important;
|
|
8841
|
+
color: var(--ui-accent);
|
|
8842
|
+
font-size: var(--ui-font-size-lg);
|
|
8843
|
+
}
|
|
8844
|
+
.source:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-light-editor"]))):where(:scope, :scope
|
|
8845
|
+
*):where([data-hn-ui-light-editor])::after {
|
|
8846
|
+
content: "";
|
|
8847
|
+
position: absolute;
|
|
8848
|
+
inline-size: 2rem;
|
|
8849
|
+
block-size: 2rem;
|
|
8850
|
+
border: var(--ui-border-width) solid var(--ui-accent);
|
|
8851
|
+
border-radius: 50%;
|
|
8852
|
+
background: var(--ui-surface-raised);
|
|
8853
|
+
box-shadow:
|
|
8854
|
+
0 0 0 var(--ui-space-2) color-mix(in srgb, var(--ui-accent) 12%, transparent),
|
|
8855
|
+
var(--ui-shadow-sm);
|
|
8856
|
+
}
|
|
8857
|
+
.source:active:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8858
|
+
cursor: grabbing;
|
|
8859
|
+
}
|
|
8860
|
+
.source:focus-visible:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8861
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
8862
|
+
outline-offset: var(--ui-space-1);
|
|
8863
|
+
}
|
|
8864
|
+
.source:disabled:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8865
|
+
cursor: not-allowed;
|
|
8866
|
+
}
|
|
8867
|
+
.source:disabled:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-light-editor"]))):where(:scope, :scope
|
|
8868
|
+
*):where([data-hn-ui-light-editor])::after {
|
|
8869
|
+
background: var(--ui-disabled-surface);
|
|
8870
|
+
border-color: var(--ui-disabled-border);
|
|
8871
|
+
box-shadow: none;
|
|
8872
|
+
}
|
|
8873
|
+
.coordinates:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8874
|
+
display: grid !important;
|
|
8875
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
8876
|
+
gap: var(--ui-space-2) !important;
|
|
8877
|
+
}
|
|
8878
|
+
.hint:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8879
|
+
font-size: var(--ui-font-size-sm);
|
|
8880
|
+
color: var(--ui-text-secondary);
|
|
8881
|
+
}
|
|
8882
|
+
@media (forced-colors: active) {
|
|
8883
|
+
.source-glyph:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8884
|
+
color: CanvasText;
|
|
8885
|
+
}
|
|
8886
|
+
.source:where(:not([data-hn], [data-slotted]:not([data-slotted~="ui-light-editor"]))):where(:scope, :scope
|
|
8887
|
+
*):where([data-hn-ui-light-editor])::after {
|
|
8888
|
+
background: Canvas;
|
|
8889
|
+
border-color: CanvasText;
|
|
8890
|
+
}
|
|
8891
|
+
.source:focus-visible:where(:scope, :scope *):where([data-hn-ui-light-editor]) {
|
|
8892
|
+
outline-color: Highlight;
|
|
8893
|
+
}
|
|
8894
|
+
}
|
|
8895
|
+
}
|
|
8749
8896
|
|
|
8750
8897
|
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
8751
8898
|
@property --ui-list-gap {
|
|
@@ -13714,6 +13861,7 @@ html[data-ui-input-modality="touch"]
|
|
|
13714
13861
|
|
|
13715
13862
|
:scope:where([data-component~="ui-button"]) {
|
|
13716
13863
|
--_button-square-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
13864
|
+
box-sizing: border-box !important;
|
|
13717
13865
|
appearance: none;
|
|
13718
13866
|
min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
13719
13867
|
border-style: solid;
|
|
@@ -13760,6 +13908,21 @@ html[data-ui-input-modality="touch"]
|
|
|
13760
13908
|
padding-block: var(--ui-space-0-5) !important;
|
|
13761
13909
|
}
|
|
13762
13910
|
|
|
13911
|
+
/* Trim the text line itself: an anonymous flex item retains font-metric space in some fonts. */
|
|
13912
|
+
.label {
|
|
13913
|
+
display: block !important;
|
|
13914
|
+
align-content: center !important;
|
|
13915
|
+
min-inline-size: 0 !important;
|
|
13916
|
+
min-block-size: 1lh !important;
|
|
13917
|
+
}
|
|
13918
|
+
|
|
13919
|
+
.label:has(svg) {
|
|
13920
|
+
display: inline-flex !important;
|
|
13921
|
+
align-items: center !important;
|
|
13922
|
+
gap: var(--ui-space-2) !important;
|
|
13923
|
+
text-box-trim: none;
|
|
13924
|
+
}
|
|
13925
|
+
|
|
13763
13926
|
.badge {
|
|
13764
13927
|
display: inline-flex !important;
|
|
13765
13928
|
align-items: center !important;
|
|
@@ -13771,7 +13934,7 @@ html[data-ui-input-modality="touch"]
|
|
|
13771
13934
|
}
|
|
13772
13935
|
|
|
13773
13936
|
@supports (text-box-trim: trim-both) {
|
|
13774
|
-
:
|
|
13937
|
+
.label:not(:has(svg)) {
|
|
13775
13938
|
text-box-trim: trim-both;
|
|
13776
13939
|
text-box-edge: cap alphabetic;
|
|
13777
13940
|
}
|
|
@@ -14099,6 +14262,11 @@ html[data-ui-input-modality="touch"]
|
|
|
14099
14262
|
transition: color var(--ui-motion-fast) var(--ui-motion-ease), text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
14100
14263
|
}
|
|
14101
14264
|
|
|
14265
|
+
:scope:where([data-component~="ui-button"])[data-appearance="link"] .label {
|
|
14266
|
+
display: inline !important;
|
|
14267
|
+
text-box-trim: none;
|
|
14268
|
+
}
|
|
14269
|
+
|
|
14102
14270
|
:scope:where([data-component~="ui-button"])[data-appearance="link"]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
14103
14271
|
color: var(--ui-button-link-hover-text, var(--ui-text-primary));
|
|
14104
14272
|
text-decoration-color: currentColor;
|
|
@@ -14136,6 +14304,8 @@ html[data-ui-input-modality="touch"]
|
|
|
14136
14304
|
/* A count is an adornment, not another line of label text. Keep the standard control height
|
|
14137
14305
|
with enough inset for a 24px mark; large content can still grow the button naturally. */
|
|
14138
14306
|
|
|
14307
|
+
/* Trim the text line itself: an anonymous flex item retains font-metric space in some fonts. */
|
|
14308
|
+
|
|
14139
14309
|
@supports (text-box-trim: trim-both) {
|
|
14140
14310
|
}
|
|
14141
14311
|
|
|
@@ -16474,7 +16644,8 @@ html[data-ui-input-modality="touch"]
|
|
|
16474
16644
|
|
|
16475
16645
|
input:where(:not([data-component], [data-slotted]))::after {
|
|
16476
16646
|
content: "";
|
|
16477
|
-
position: absolute;
|
|
16647
|
+
position: absolute !important;
|
|
16648
|
+
transform: none !important;
|
|
16478
16649
|
opacity: 0;
|
|
16479
16650
|
transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
|
|
16480
16651
|
}
|
|
@@ -16487,43 +16658,44 @@ html[data-ui-input-modality="touch"]
|
|
|
16487
16658
|
box-shadow: var(--ui-control-inset);
|
|
16488
16659
|
}
|
|
16489
16660
|
|
|
16490
|
-
/*
|
|
16661
|
+
/* The SVG's painted bounds are centred in its viewBox, including its round stroke.
|
|
16662
|
+
Centre that box directly; rotated border boxes do not centre the visible check. */
|
|
16491
16663
|
input:checked:where(:not([data-component], [data-slotted]))::after {
|
|
16492
|
-
inset:
|
|
16493
|
-
|
|
16494
|
-
|
|
16495
|
-
|
|
16496
|
-
|
|
16497
|
-
|
|
16498
|
-
border-style: solid;
|
|
16499
|
-
border-color: var(--ui-text-on-accent);
|
|
16500
|
-
border-width: 0 calc(var(--_ui-checkbox-size) * 0.125 / 1.125) calc(var(--_ui-checkbox-size) * 0.125 / 1.125) 0;
|
|
16664
|
+
inset: 50% auto auto 50% !important;
|
|
16665
|
+
inline-size: calc(var(--_ui-checkbox-size) * 0.7) !important;
|
|
16666
|
+
block-size: calc(var(--_ui-checkbox-size) * 0.7) !important;
|
|
16667
|
+
background: var(--ui-text-on-accent);
|
|
16668
|
+
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 11.5 5 5 9-9'/%3E%3C/svg%3E")
|
|
16669
|
+
center / contain no-repeat;
|
|
16501
16670
|
opacity: 1;
|
|
16502
|
-
|
|
16671
|
+
translate: -50% -50% !important;
|
|
16503
16672
|
animation: ui-checkbox-check var(--ui-motion-base) var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
|
16504
16673
|
}
|
|
16505
16674
|
|
|
16506
16675
|
input:indeterminate:where(:not([data-component], [data-slotted]))::after {
|
|
16507
|
-
|
|
16508
|
-
|
|
16676
|
+
mask: none;
|
|
16677
|
+
animation: none;
|
|
16678
|
+
inset: 50% calc(var(--_ui-checkbox-size) * 0.23 / 1.125) auto !important;
|
|
16679
|
+
inline-size: auto !important;
|
|
16680
|
+
block-size: calc(var(--_ui-checkbox-size) * 0.125 / 1.125) !important;
|
|
16509
16681
|
border-radius: var(--ui-radius-round);
|
|
16510
16682
|
background: var(--ui-text-on-accent);
|
|
16511
16683
|
opacity: 1;
|
|
16512
|
-
|
|
16684
|
+
translate: 0 -50% !important;
|
|
16513
16685
|
}
|
|
16514
16686
|
|
|
16515
16687
|
@keyframes ui-checkbox-check {
|
|
16516
16688
|
from {
|
|
16517
16689
|
opacity: 0;
|
|
16518
|
-
|
|
16690
|
+
scale: 0.55;
|
|
16519
16691
|
}
|
|
16520
16692
|
65% {
|
|
16521
16693
|
opacity: 1;
|
|
16522
|
-
|
|
16694
|
+
scale: 1.12;
|
|
16523
16695
|
}
|
|
16524
16696
|
to {
|
|
16525
16697
|
opacity: 1;
|
|
16526
|
-
|
|
16698
|
+
scale: 1;
|
|
16527
16699
|
}
|
|
16528
16700
|
}
|
|
16529
16701
|
|
|
@@ -16534,6 +16706,20 @@ html[data-ui-input-modality="touch"]
|
|
|
16534
16706
|
}
|
|
16535
16707
|
}
|
|
16536
16708
|
|
|
16709
|
+
@media (forced-colors: active) {
|
|
16710
|
+
input:checked,
|
|
16711
|
+
input:indeterminate {
|
|
16712
|
+
forced-color-adjust: none;
|
|
16713
|
+
background: Highlight;
|
|
16714
|
+
border-color: Highlight;
|
|
16715
|
+
}
|
|
16716
|
+
input:checked:where(:not([data-component], [data-slotted]))::after,
|
|
16717
|
+
input:indeterminate:where(:not([data-component], [data-slotted]))::after {
|
|
16718
|
+
forced-color-adjust: none;
|
|
16719
|
+
background: HighlightText;
|
|
16720
|
+
}
|
|
16721
|
+
}
|
|
16722
|
+
|
|
16537
16723
|
input:hover:enabled {
|
|
16538
16724
|
border-color: var(--ui-accent-solid);
|
|
16539
16725
|
}
|
|
@@ -16591,11 +16777,15 @@ html[data-ui-input-modality="touch"]
|
|
|
16591
16777
|
|
|
16592
16778
|
/* The label, and under it an optional line saying what the choice means. */
|
|
16593
16779
|
|
|
16594
|
-
/*
|
|
16780
|
+
/* The SVG's painted bounds are centred in its viewBox, including its round stroke.
|
|
16781
|
+
Centre that box directly; rotated border boxes do not centre the visible check. */
|
|
16595
16782
|
|
|
16596
16783
|
@media (prefers-reduced-motion: reduce) {
|
|
16597
16784
|
}
|
|
16598
16785
|
|
|
16786
|
+
@media (forced-colors: active) {
|
|
16787
|
+
}
|
|
16788
|
+
|
|
16599
16789
|
/* A sized choice keeps its box and aligns instead: the label takes that size's field type size,
|
|
16600
16790
|
and the first line centres in that control height, so the label shares a row's baseline.
|
|
16601
16791
|
Multi-line labels and descriptions still grow downward from that first line. */
|
package/vue/editor/index.js
CHANGED
|
@@ -3418,7 +3418,11 @@ var T12$1 = [
|
|
|
3418
3418
|
"\n ",
|
|
3419
3419
|
1,
|
|
3420
3420
|
"\n ",
|
|
3421
|
-
|
|
3421
|
+
[
|
|
3422
|
+
"span",
|
|
3423
|
+
["class", "label"],
|
|
3424
|
+
4
|
|
3425
|
+
],
|
|
3422
3426
|
"\n ",
|
|
3423
3427
|
[
|
|
3424
3428
|
"span",
|
|
@@ -3440,7 +3444,11 @@ var T16$1 = [
|
|
|
3440
3444
|
"\n ",
|
|
3441
3445
|
1,
|
|
3442
3446
|
"\n ",
|
|
3443
|
-
|
|
3447
|
+
[
|
|
3448
|
+
"span",
|
|
3449
|
+
["class", "label"],
|
|
3450
|
+
4
|
|
3451
|
+
],
|
|
3444
3452
|
"\n ",
|
|
3445
3453
|
[
|
|
3446
3454
|
"span",
|
|
@@ -4325,7 +4333,8 @@ function createUiButton(options = {}, html) {
|
|
|
4325
4333
|
n.append((P12$1 ??= buildTemplate(T12$1)).cloneNode(true));
|
|
4326
4334
|
const t0 = n.firstChild.nextSibling;
|
|
4327
4335
|
const t1 = t0.nextSibling.nextSibling.nextSibling;
|
|
4328
|
-
const t2 = t1.
|
|
4336
|
+
const t2 = t1.firstChild;
|
|
4337
|
+
const t3 = t1.nextSibling.nextSibling.firstChild;
|
|
4329
4338
|
const r = {
|
|
4330
4339
|
n,
|
|
4331
4340
|
v0: void 0,
|
|
@@ -4340,12 +4349,12 @@ function createUiButton(options = {}, html) {
|
|
|
4340
4349
|
a1: t0,
|
|
4341
4350
|
e0: t0.nextSibling,
|
|
4342
4351
|
b0: void 0,
|
|
4343
|
-
a2:
|
|
4344
|
-
e1:
|
|
4352
|
+
a2: t2,
|
|
4353
|
+
e1: t2.nextSibling,
|
|
4345
4354
|
b1: void 0,
|
|
4346
4355
|
f1: void 0,
|
|
4347
|
-
a3:
|
|
4348
|
-
e2:
|
|
4356
|
+
a3: t3,
|
|
4357
|
+
e2: t3.nextSibling,
|
|
4349
4358
|
b2: void 0,
|
|
4350
4359
|
f2: void 0
|
|
4351
4360
|
};
|
|
@@ -4439,18 +4448,6 @@ function createUiButton(options = {}, html) {
|
|
|
4439
4448
|
r.e0.before(r.b0.n);
|
|
4440
4449
|
}
|
|
4441
4450
|
} else if (r.b0 !== void 0) r.b0;
|
|
4442
|
-
if (r.f2 === void 0) {
|
|
4443
|
-
r.f2 = 1;
|
|
4444
|
-
const at = fillSlot(r.a3, r.e2, "badge", J, false, void 0, d);
|
|
4445
|
-
if (Array.isArray(at)) (r.z ??= []).push(() => {
|
|
4446
|
-
at[0].l.delete(at[1]);
|
|
4447
|
-
dispose(at[1]);
|
|
4448
|
-
});
|
|
4449
|
-
else if (at !== void 0) {
|
|
4450
|
-
r.b2 = m15(d);
|
|
4451
|
-
at.before(r.b2.n);
|
|
4452
|
-
}
|
|
4453
|
-
} else if (r.b2 !== void 0) r.b2;
|
|
4454
4451
|
if (r.f1 === void 0) {
|
|
4455
4452
|
r.f1 = 1;
|
|
4456
4453
|
const at = fillSlot(r.a2, r.e1, "", J, false, void 0, d);
|
|
@@ -4463,12 +4460,25 @@ function createUiButton(options = {}, html) {
|
|
|
4463
4460
|
at.before(r.b1.n);
|
|
4464
4461
|
}
|
|
4465
4462
|
} else if (r.b1 !== void 0) r.b1;
|
|
4463
|
+
if (r.f2 === void 0) {
|
|
4464
|
+
r.f2 = 1;
|
|
4465
|
+
const at = fillSlot(r.a3, r.e2, "badge", J, false, void 0, d);
|
|
4466
|
+
if (Array.isArray(at)) (r.z ??= []).push(() => {
|
|
4467
|
+
at[0].l.delete(at[1]);
|
|
4468
|
+
dispose(at[1]);
|
|
4469
|
+
});
|
|
4470
|
+
else if (at !== void 0) {
|
|
4471
|
+
r.b2 = m15(d);
|
|
4472
|
+
at.before(r.b2.n);
|
|
4473
|
+
}
|
|
4474
|
+
} else if (r.b2 !== void 0) r.b2;
|
|
4466
4475
|
};
|
|
4467
4476
|
const m16 = (n, d) => {
|
|
4468
4477
|
n.append((P16$1 ??= buildTemplate(T16$1)).cloneNode(true));
|
|
4469
4478
|
const t0 = n.firstChild.nextSibling;
|
|
4470
4479
|
const t1 = t0.nextSibling.nextSibling.nextSibling;
|
|
4471
|
-
const t2 = t1.
|
|
4480
|
+
const t2 = t1.firstChild;
|
|
4481
|
+
const t3 = t1.nextSibling.nextSibling.firstChild;
|
|
4472
4482
|
const r = {
|
|
4473
4483
|
n,
|
|
4474
4484
|
v0: void 0,
|
|
@@ -4481,12 +4491,12 @@ function createUiButton(options = {}, html) {
|
|
|
4481
4491
|
a1: t0,
|
|
4482
4492
|
e0: t0.nextSibling,
|
|
4483
4493
|
b0: void 0,
|
|
4484
|
-
a2:
|
|
4485
|
-
e1:
|
|
4494
|
+
a2: t2,
|
|
4495
|
+
e1: t2.nextSibling,
|
|
4486
4496
|
b1: void 0,
|
|
4487
4497
|
f1: void 0,
|
|
4488
|
-
a3:
|
|
4489
|
-
e2:
|
|
4498
|
+
a3: t3,
|
|
4499
|
+
e2: t3.nextSibling,
|
|
4490
4500
|
b2: void 0,
|
|
4491
4501
|
f2: void 0
|
|
4492
4502
|
};
|
|
@@ -4560,18 +4570,6 @@ function createUiButton(options = {}, html) {
|
|
|
4560
4570
|
r.e0.before(r.b0.n);
|
|
4561
4571
|
}
|
|
4562
4572
|
} else if (r.b0 !== void 0) r.b0;
|
|
4563
|
-
if (r.f2 === void 0) {
|
|
4564
|
-
r.f2 = 1;
|
|
4565
|
-
const at = fillSlot(r.a3, r.e2, "badge", J, false, void 0, d);
|
|
4566
|
-
if (Array.isArray(at)) (r.z ??= []).push(() => {
|
|
4567
|
-
at[0].l.delete(at[1]);
|
|
4568
|
-
dispose(at[1]);
|
|
4569
|
-
});
|
|
4570
|
-
else if (at !== void 0) {
|
|
4571
|
-
r.b2 = m19(d);
|
|
4572
|
-
at.before(r.b2.n);
|
|
4573
|
-
}
|
|
4574
|
-
} else if (r.b2 !== void 0) r.b2;
|
|
4575
4573
|
if (r.f1 === void 0) {
|
|
4576
4574
|
r.f1 = 1;
|
|
4577
4575
|
const at = fillSlot(r.a2, r.e1, "", J, false, void 0, d);
|
|
@@ -4584,6 +4582,18 @@ function createUiButton(options = {}, html) {
|
|
|
4584
4582
|
at.before(r.b1.n);
|
|
4585
4583
|
}
|
|
4586
4584
|
} else if (r.b1 !== void 0) r.b1;
|
|
4585
|
+
if (r.f2 === void 0) {
|
|
4586
|
+
r.f2 = 1;
|
|
4587
|
+
const at = fillSlot(r.a3, r.e2, "badge", J, false, void 0, d);
|
|
4588
|
+
if (Array.isArray(at)) (r.z ??= []).push(() => {
|
|
4589
|
+
at[0].l.delete(at[1]);
|
|
4590
|
+
dispose(at[1]);
|
|
4591
|
+
});
|
|
4592
|
+
else if (at !== void 0) {
|
|
4593
|
+
r.b2 = m19(d);
|
|
4594
|
+
at.before(r.b2.n);
|
|
4595
|
+
}
|
|
4596
|
+
} else if (r.b2 !== void 0) r.b2;
|
|
4587
4597
|
};
|
|
4588
4598
|
const M = [
|
|
4589
4599
|
m0,
|