@fest-lib/veela 1.0.8 → 1.0.10
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/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Filename: QuickSettings.scss
|
|
3
3
|
* FullPath: modules/projects/fl.ui/src/ui/navigation/settings/QuickSettings.scss
|
|
4
|
-
* Change date and time:
|
|
5
|
-
* Reason for changes:
|
|
4
|
+
* Change date and time: 20.00.00_03.09.2026
|
|
5
|
+
* Reason for changes: Drop contrast-color()/inherit() — Capacitor WebView drops the rest of the sheet.
|
|
6
|
+
* FIND:chrome-rail
|
|
6
7
|
*/
|
|
7
8
|
|
|
8
9
|
/* Unlayered `:host` rules beat `ux-preload`'s layered `:host{display:none}` default. */
|
|
@@ -66,8 +67,8 @@
|
|
|
66
67
|
border-radius: 14px;
|
|
67
68
|
border: 1px solid var(--qs-outline);
|
|
68
69
|
background: var(--qs-surface);
|
|
69
|
-
|
|
70
|
-
color:
|
|
70
|
+
/* WHY: contrast-color()/inherit() need Chrome flags; replaceSync then drops later rules (sliders, footer). */
|
|
71
|
+
color: var(--color-on-surface, var(--qs-on-surface));
|
|
71
72
|
/* INVARIANT: no backdrop-filter — Win11-like solid panel per spec, keeps perf on low-end devices. */
|
|
72
73
|
box-shadow:
|
|
73
74
|
0 20px 48px -20px rgba(0, 0, 0, 0.4),
|
|
@@ -94,8 +95,7 @@
|
|
|
94
95
|
min-inline-size: var(--icon-size);
|
|
95
96
|
min-block-size: var(--icon-size);
|
|
96
97
|
line-height: 0;
|
|
97
|
-
color:
|
|
98
|
-
color: color-mix(in oklch, contrast-color(var(--qs-surface)) 40%, var(--color-primary, var(--qs-primary)));
|
|
98
|
+
color: color-mix(in oklab, var(--color-on-surface, var(--qs-on-surface)) 55%, var(--color-primary, var(--qs-primary)));
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
|
|
@@ -109,19 +109,17 @@
|
|
|
109
109
|
border-radius: 10px;
|
|
110
110
|
color: inherit;
|
|
111
111
|
background: color-mix(in oklab, var(--qs-on-surface) 8%, transparent);
|
|
112
|
-
color:
|
|
112
|
+
color: var(--color-on-surface, var(--qs-on-surface));
|
|
113
113
|
text-align: start;
|
|
114
114
|
cursor: pointer;
|
|
115
115
|
transition: background-color 140ms ease, color 140ms ease;
|
|
116
116
|
|
|
117
117
|
&:hover {
|
|
118
118
|
background: color-mix(in oklab, var(--qs-on-surface) 14%, transparent);
|
|
119
|
-
color: contrast-color(inherit(background-color));
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
&:active {
|
|
123
122
|
background: color-mix(in oklab, var(--qs-on-surface) 18%, transparent);
|
|
124
|
-
color: contrast-color(inherit(background-color));
|
|
125
123
|
}
|
|
126
124
|
|
|
127
125
|
&:focus-visible {
|
|
@@ -132,11 +130,8 @@
|
|
|
132
130
|
&[aria-pressed="true"] {
|
|
133
131
|
background: color-mix(in oklab, var(--color-primary, var(--qs-primary)) 26%, transparent);
|
|
134
132
|
color: var(--color-primary, var(--qs-primary));
|
|
135
|
-
color: color-mix(in oklch, contrast-color(var(--qs-surface, var(--color-surface))) 60%, var(--color-primary, var(--qs-primary)));
|
|
136
133
|
|
|
137
134
|
.qs-tile-icon {
|
|
138
|
-
--icon-color: var(--color-primary, var(--qs-primary));
|
|
139
|
-
--icon-color: color-mix(in oklch, contrast-color(var(--qs-surface, var(--color-surface))) 60%, var(--color-primary, var(--qs-primary)));
|
|
140
135
|
--icon-color: currentColor;
|
|
141
136
|
}
|
|
142
137
|
}
|
|
@@ -148,7 +143,7 @@
|
|
|
148
143
|
gap: 0.05rem;
|
|
149
144
|
min-inline-size: 0;
|
|
150
145
|
overflow: hidden;
|
|
151
|
-
color:
|
|
146
|
+
color: var(--color-on-surface, var(--qs-on-surface));
|
|
152
147
|
}
|
|
153
148
|
|
|
154
149
|
.qs-tile-label {
|
|
@@ -157,7 +152,7 @@
|
|
|
157
152
|
white-space: nowrap;
|
|
158
153
|
overflow: hidden;
|
|
159
154
|
text-overflow: ellipsis;
|
|
160
|
-
color:
|
|
155
|
+
color: inherit;
|
|
161
156
|
}
|
|
162
157
|
|
|
163
158
|
.qs-tile-sub {
|
|
@@ -167,7 +162,7 @@
|
|
|
167
162
|
white-space: nowrap;
|
|
168
163
|
overflow: hidden;
|
|
169
164
|
text-overflow: ellipsis;
|
|
170
|
-
color:
|
|
165
|
+
color: inherit;
|
|
171
166
|
}
|
|
172
167
|
|
|
173
168
|
.qs-sliders {
|
|
@@ -175,7 +170,7 @@
|
|
|
175
170
|
gap: 0.6rem;
|
|
176
171
|
padding-block-start: 0.7rem;
|
|
177
172
|
border-block-start: 1px solid var(--qs-outline);
|
|
178
|
-
color:
|
|
173
|
+
color: var(--color-on-surface, var(--qs-on-surface));
|
|
179
174
|
}
|
|
180
175
|
|
|
181
176
|
.qs-slider-row {
|
|
@@ -195,7 +190,7 @@
|
|
|
195
190
|
min-inline-size: var(--icon-size);
|
|
196
191
|
min-block-size: var(--icon-size);
|
|
197
192
|
line-height: 0;
|
|
198
|
-
color:
|
|
193
|
+
color: inherit;
|
|
199
194
|
}
|
|
200
195
|
|
|
201
196
|
.qs-slider-col {
|
|
@@ -220,21 +215,19 @@
|
|
|
220
215
|
block-size: 1.1rem;
|
|
221
216
|
margin: 0;
|
|
222
217
|
background: transparent;
|
|
223
|
-
color:
|
|
218
|
+
color: var(--color-on-surface, var(--qs-on-surface));
|
|
224
219
|
cursor: pointer;
|
|
225
220
|
|
|
226
221
|
&::-webkit-slider-runnable-track {
|
|
227
222
|
block-size: 4px;
|
|
228
223
|
border-radius: 999px;
|
|
229
224
|
background: color-mix(in oklab, var(--qs-on-surface) 18%, transparent);
|
|
230
|
-
color: contrast-color(inherit(background-color));
|
|
231
225
|
}
|
|
232
226
|
|
|
233
227
|
&::-moz-range-track {
|
|
234
228
|
block-size: 4px;
|
|
235
229
|
border-radius: 999px;
|
|
236
230
|
background: color-mix(in oklab, var(--qs-on-surface) 18%, transparent);
|
|
237
|
-
color: contrast-color(inherit(background-color));
|
|
238
231
|
}
|
|
239
232
|
|
|
240
233
|
&::-webkit-slider-thumb {
|
|
@@ -245,8 +238,7 @@
|
|
|
245
238
|
margin-block-start: -6px;
|
|
246
239
|
border-radius: 50%;
|
|
247
240
|
border: none;
|
|
248
|
-
background:
|
|
249
|
-
color: color-mix(in oklch, contrast-color(var(--qs-surface, var(--color-surface))) 40%, var(--color-primary, var(--qs-primary)));
|
|
241
|
+
background: var(--color-primary, var(--qs-primary));
|
|
250
242
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
|
|
251
243
|
}
|
|
252
244
|
|
|
@@ -255,16 +247,13 @@
|
|
|
255
247
|
block-size: 1rem;
|
|
256
248
|
border-radius: 50%;
|
|
257
249
|
border: none;
|
|
258
|
-
background:
|
|
259
|
-
color: color-mix(in oklch, contrast-color(var(--qs-surface, var(--color-surface))) 40%, var(--color-primary, var(--qs-primary)));
|
|
250
|
+
background: var(--color-primary, var(--qs-primary));
|
|
260
251
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
|
|
261
252
|
}
|
|
262
253
|
|
|
263
254
|
&:focus-visible::-webkit-slider-thumb {
|
|
264
255
|
outline: 2px solid var(--color-primary, var(--qs-primary));
|
|
265
256
|
outline-offset: 2px;
|
|
266
|
-
color: color-mix(in oklch, contrast-color(var(--qs-surface, var(--color-surface))) 40%, var(--color-primary, var(--qs-primary)));
|
|
267
|
-
background: color-mix(in oklch, contrast-color(var(--qs-surface, var(--color-surface))) 40%, var(--color-primary, var(--qs-primary)));
|
|
268
257
|
}
|
|
269
258
|
}
|
|
270
259
|
|
|
@@ -288,7 +277,7 @@
|
|
|
288
277
|
border: none;
|
|
289
278
|
border-radius: 8px;
|
|
290
279
|
background: color-mix(in oklab, var(--qs-on-surface) 8%, transparent);
|
|
291
|
-
color:
|
|
280
|
+
color: var(--color-on-surface, var(--qs-on-surface));
|
|
292
281
|
font: 600 0.72rem/1.2 ui-sans-serif, system-ui, sans-serif;
|
|
293
282
|
cursor: pointer;
|
|
294
283
|
transition: background-color 140ms ease;
|
|
@@ -141,6 +141,100 @@
|
|
|
141
141
|
pointer-events: none;
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
+
/* Calendar / Quick Settings / pin — collapsible left rail, mirrored from core-rail. */
|
|
145
|
+
.speed-dial-chrome-rail {
|
|
146
|
+
--sd-rail-ink: var(--wallpaper-contrast-color, var(--env-launcher-fg, CanvasText));
|
|
147
|
+
position: fixed;
|
|
148
|
+
inset-block: 12%;
|
|
149
|
+
inset-inline-start: 0;
|
|
150
|
+
z-index: 6;
|
|
151
|
+
display: flex;
|
|
152
|
+
flex-direction: row-reverse;
|
|
153
|
+
align-items: stretch;
|
|
154
|
+
pointer-events: none;
|
|
155
|
+
max-block-size: 76%;
|
|
156
|
+
padding: 0;
|
|
157
|
+
border: none;
|
|
158
|
+
outline: none;
|
|
159
|
+
color: var(--sd-rail-ink);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.speed-dial-chrome-rail__toggle {
|
|
163
|
+
pointer-events: auto;
|
|
164
|
+
align-self: center;
|
|
165
|
+
display: inline-flex;
|
|
166
|
+
align-items: center;
|
|
167
|
+
justify-content: center;
|
|
168
|
+
inline-size: 1.65rem;
|
|
169
|
+
block-size: 2.6rem;
|
|
170
|
+
margin: 0;
|
|
171
|
+
padding: 0;
|
|
172
|
+
border: 0 none transparent;
|
|
173
|
+
border-radius: 0 10px 10px 0;
|
|
174
|
+
background: transparent;
|
|
175
|
+
color: color-mix(in oklab, var(--sd-rail-ink) 78%, transparent);
|
|
176
|
+
--icon-color: color-mix(in oklab, var(--sd-rail-ink) 78%, transparent);
|
|
177
|
+
cursor: pointer;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.speed-dial-chrome-rail__toggle ui-icon {
|
|
181
|
+
--icon-size: 1.1rem;
|
|
182
|
+
--icon-color: color-mix(in oklab, var(--sd-rail-ink) 78%, transparent);
|
|
183
|
+
pointer-events: none;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.speed-dial-chrome-rail__panel {
|
|
187
|
+
pointer-events: auto;
|
|
188
|
+
display: none;
|
|
189
|
+
flex-direction: column;
|
|
190
|
+
gap: 0.45rem;
|
|
191
|
+
padding: 0.55rem 0.45rem;
|
|
192
|
+
min-inline-size: 3.4rem;
|
|
193
|
+
max-inline-size: 5.2rem;
|
|
194
|
+
overflow: auto;
|
|
195
|
+
border: 1px solid color-mix(in oklab, var(--sd-rail-ink) 16%, transparent);
|
|
196
|
+
border-inline-start: none;
|
|
197
|
+
border-radius: 0 14px 14px 0;
|
|
198
|
+
background: color-mix(in oklab, var(--wallpaper-underlying-color, Canvas) 82%, transparent);
|
|
199
|
+
backdrop-filter: blur(14px);
|
|
200
|
+
-webkit-backdrop-filter: blur(14px);
|
|
201
|
+
color: var(--sd-rail-ink);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.speed-dial-chrome-rail[data-open] .speed-dial-chrome-rail__panel {
|
|
205
|
+
display: flex;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.speed-dial-chrome-rail__item {
|
|
209
|
+
appearance: none;
|
|
210
|
+
display: flex;
|
|
211
|
+
flex-direction: column;
|
|
212
|
+
align-items: center;
|
|
213
|
+
gap: 0.2rem;
|
|
214
|
+
margin: 0;
|
|
215
|
+
padding: 0.35rem 0.2rem;
|
|
216
|
+
border: none;
|
|
217
|
+
border-radius: var(--radius-lg);
|
|
218
|
+
background: transparent;
|
|
219
|
+
color: inherit;
|
|
220
|
+
cursor: pointer;
|
|
221
|
+
min-inline-size: 0;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.speed-dial-chrome-rail__item:hover,
|
|
225
|
+
.speed-dial-chrome-rail__item:focus-visible,
|
|
226
|
+
.speed-dial-chrome-rail__item[data-pressed] {
|
|
227
|
+
background: color-mix(in oklab, var(--sd-rail-ink) 10%, transparent);
|
|
228
|
+
outline: none;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.speed-dial-chrome-rail__item ui-icon {
|
|
232
|
+
--icon-size: 1.55rem;
|
|
233
|
+
--icon-color: var(--sd-rail-ink);
|
|
234
|
+
color: var(--sd-rail-ink);
|
|
235
|
+
pointer-events: none;
|
|
236
|
+
}
|
|
237
|
+
|
|
144
238
|
.speed-dial-workspace-pager {
|
|
145
239
|
position: absolute;
|
|
146
240
|
inset-inline: 0;
|
|
@@ -381,6 +475,18 @@
|
|
|
381
475
|
}
|
|
382
476
|
}
|
|
383
477
|
|
|
478
|
+
.speed-dial-root[data-tiles-locked] {
|
|
479
|
+
.sd-widget-host:not([data-widget="android"]) {
|
|
480
|
+
cursor: default;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.sd-widget-chrome,
|
|
484
|
+
.sd-widget-resize {
|
|
485
|
+
display: none;
|
|
486
|
+
pointer-events: none;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
|
|
384
490
|
.sd-widget--android {
|
|
385
491
|
pointer-events: none;
|
|
386
492
|
opacity: 0.08;
|
|
@@ -424,7 +530,8 @@
|
|
|
424
530
|
color: color-mix(in oklab, var(--sd-you-ink, var(--wallpaper-contrast-color)) 62%, transparent);
|
|
425
531
|
}
|
|
426
532
|
|
|
427
|
-
.speed-dial-core-rail__label
|
|
533
|
+
.speed-dial-core-rail__label,
|
|
534
|
+
.speed-dial-chrome-rail__label {
|
|
428
535
|
font-size: 0.62rem;
|
|
429
536
|
line-height: 1.15;
|
|
430
537
|
text-align: center;
|
|
@@ -638,7 +745,7 @@
|
|
|
638
745
|
scale: 1;
|
|
639
746
|
}
|
|
640
747
|
|
|
641
|
-
&:active {
|
|
748
|
+
&:active:not(.sd-widget-host):not([data-widget]):not([data-spanned]) {
|
|
642
749
|
scale: 0.94;
|
|
643
750
|
}
|
|
644
751
|
|
|
@@ -656,8 +763,12 @@
|
|
|
656
763
|
&[data-widget]:not([data-layer="labels"]),
|
|
657
764
|
&[data-spanned]:not([data-layer="labels"]) {
|
|
658
765
|
/* WHY: launcher grid uses place-items:center + 4rem --tile-size; widgets must fill the span. */
|
|
659
|
-
|
|
660
|
-
|
|
766
|
+
/* INVARIANT: same origin as icon tiles (`--cs-grid-*` from logical `--cell-x/y`).
|
|
767
|
+
* JS `--cell-column` is a second visual space and desyncs on CRX remount / orient. */
|
|
768
|
+
grid-column: clamp(1, calc(1 + round(nearest, var(--cs-grid-c, 0), 1)), 16)
|
|
769
|
+
/ span var(--cell-span-x, 1) !important;
|
|
770
|
+
grid-row: clamp(1, calc(1 + round(nearest, var(--cs-grid-r, 0), 1)), 16)
|
|
771
|
+
/ span var(--cell-span-y, 1) !important;
|
|
661
772
|
place-self: stretch !important;
|
|
662
773
|
justify-self: stretch !important;
|
|
663
774
|
align-self: stretch !important;
|
|
@@ -667,6 +778,8 @@
|
|
|
667
778
|
max-inline-size: none !important;
|
|
668
779
|
max-block-size: none !important;
|
|
669
780
|
--tile-size: 100%;
|
|
781
|
+
/* WHY: gridbox locks origin at 50% — wide search scales/settles around the middle. */
|
|
782
|
+
transform-origin: var(--sd-grab-ox, 50%) var(--sd-grab-oy, 50%) !important;
|
|
670
783
|
}
|
|
671
784
|
|
|
672
785
|
&.ui-ws-item-icon {
|