@inglorious/ui 9.5.1 → 9.6.0

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.
@@ -0,0 +1,741 @@
1
+ /* San Francisco is the system font on Apple devices, and cannot be served to
2
+ others: Inter stands in for it there. */
3
+ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
4
+
5
+ .iw-theme-ios-26 {
6
+ --iw-font-family-sans:
7
+ -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Helvetica Neue",
8
+ Arial, sans-serif;
9
+ /* The theme on the page itself: the element with the theme class, usually
10
+ <body>, takes its background, text color and font. */
11
+ background-color: var(--iw-color-bg);
12
+ color: var(--iw-color-text);
13
+ font-family: var(--iw-font-family-sans);
14
+
15
+ /* ========================================
16
+ iOS 26 THEME - Liquid Glass
17
+ ======================================== */
18
+
19
+ /* iOS color roles the shared tokens have no name for */
20
+ --iw-ios-fill: rgba(118, 118, 128, 0.12);
21
+ --iw-ios-fill-secondary: rgba(120, 120, 128, 0.2);
22
+ --iw-ios-fill-quaternary: rgba(116, 116, 128, 0.08);
23
+ --iw-ios-gray: #8e8e93;
24
+ --iw-ios-segment-selected: var(--iw-color-white);
25
+ /* Glass: what passes under it is blurred and brightened, its edge catches
26
+ the light, and it floats on a soft shadow. Only controls and navigation
27
+ are glass, never content. */
28
+ --iw-ios-glass-bg: rgba(255, 255, 255, 0.6);
29
+ --iw-ios-glass-blur: blur(12px) saturate(180%);
30
+ --iw-ios-glass-border: rgba(255, 255, 255, 0.7);
31
+ --iw-ios-glass-shadow:
32
+ inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 8px 24px rgba(0, 0, 0, 0.1);
33
+ /* The highlight along the top of a filled control */
34
+ --iw-ios-sheen: inset 0 1px 0 rgba(255, 255, 255, 0.3);
35
+
36
+ /* Semantic Colors: grouped content, white on grey */
37
+ --iw-color-bg: #f2f2f7;
38
+ --iw-color-bg-secondary: #f2f2f7;
39
+ --iw-color-bg-tertiary: #e5e5ea;
40
+ --iw-color-surface: var(--iw-color-white);
41
+ --iw-color-surface-hover: var(--iw-ios-fill-quaternary);
42
+ --iw-color-surface-active: #d1d1d6;
43
+
44
+ --iw-color-text: var(--iw-color-black);
45
+ --iw-color-text-secondary: rgba(60, 60, 67, 0.6);
46
+ --iw-color-text-muted: rgba(60, 60, 67, 0.6);
47
+
48
+ --iw-color-border: #c6c6c8;
49
+ --iw-color-border-focus: #0088ff;
50
+
51
+ /* The system colors as iOS 26 retuned them */
52
+ --iw-color-primary: #0088ff;
53
+ --iw-color-primary-hover: color-mix(in srgb, #0088ff 92%, #000000);
54
+ --iw-color-primary-active: color-mix(in srgb, #0088ff 85%, #000000);
55
+ --iw-color-primary-text: var(--iw-color-white);
56
+
57
+ --iw-color-accent: #6155f5;
58
+ --iw-color-accent-hover: color-mix(in srgb, #6155f5 92%, #000000);
59
+ --iw-color-accent-active: color-mix(in srgb, #6155f5 85%, #000000);
60
+
61
+ --iw-color-success: #34c759;
62
+ --iw-color-warning: #ff8d28;
63
+ --iw-color-error: #ff383c;
64
+ --iw-color-info: #00c0e8;
65
+
66
+ --iw-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
67
+ --iw-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
68
+ --iw-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.14);
69
+ --iw-shadow-xl: 0 24px 60px rgba(0, 0, 0, 0.2);
70
+
71
+ /* Larger corners, nested concentrically */
72
+ --iw-radius-sm: 8px;
73
+ --iw-radius-md: 12px;
74
+ --iw-radius-lg: 16px;
75
+ --iw-radius-xl: 24px;
76
+ --iw-radius-2xl: 34px;
77
+
78
+ /* The Dynamic Type scale at its default size: footnote, subheadline,
79
+ body, title 3, title 2, title 1 and large title */
80
+ --iw-font-size-xs: 0.8125rem;
81
+ --iw-font-size-sm: 0.9375rem;
82
+ --iw-font-size-base: 1.0625rem;
83
+ --iw-font-size-lg: 1.25rem;
84
+ --iw-font-size-xl: 1.375rem;
85
+ --iw-font-size-2xl: 1.75rem;
86
+ --iw-font-size-3xl: 2.125rem;
87
+
88
+ --iw-label-font-weight: var(--iw-font-weight-medium);
89
+
90
+ /* ========================================
91
+ COMPONENT TOKENS
92
+ ======================================== */
93
+
94
+ /* Button: a filled capsule */
95
+ --iw-button-bg: var(--iw-color-primary);
96
+ --iw-button-bg-hover: var(--iw-color-primary-hover);
97
+ --iw-button-bg-active: var(--iw-color-primary);
98
+ --iw-button-text: var(--iw-color-primary-text);
99
+ --iw-button-border: transparent;
100
+ --iw-button-radius: var(--iw-radius-full);
101
+ --iw-button-shadow: var(--iw-ios-sheen);
102
+ --iw-button-shadow-hover: var(--iw-ios-sheen);
103
+ --iw-button-shadow-active: var(--iw-ios-sheen);
104
+
105
+ /* A button's default color is a glass button, labelled in the text color;
106
+ its outlined and ghost forms take the tint */
107
+ --iw-button-default-color: var(--iw-color-primary);
108
+ --iw-button-default-bg: var(--iw-ios-glass-bg);
109
+ --iw-button-default-bg-hover: var(--iw-ios-glass-bg);
110
+ --iw-button-default-bg-active: var(--iw-ios-glass-bg);
111
+ --iw-button-default-border: var(--iw-ios-glass-border);
112
+ --iw-button-default-text: var(--iw-color-text);
113
+
114
+ /* Input: a filled, borderless field */
115
+ --iw-input-bg: var(--iw-ios-fill);
116
+ --iw-input-bg-hover: var(--iw-ios-fill);
117
+ --iw-input-bg-focus: var(--iw-ios-fill);
118
+ --iw-input-text: var(--iw-color-text);
119
+ --iw-input-text-placeholder: rgba(60, 60, 67, 0.3);
120
+ --iw-input-border: transparent;
121
+ --iw-input-border-hover: transparent;
122
+ --iw-input-border-focus: transparent;
123
+ --iw-input-radius: var(--iw-radius-md);
124
+ --iw-input-shadow-focus: 0 0 0 3px
125
+ color-mix(in srgb, var(--iw-color-primary) 35%, transparent);
126
+
127
+ /* App bar: the content shows through, blurred, under the title */
128
+ --iw-app-bar-bg: color-mix(in srgb, var(--iw-color-bg) 72%, transparent);
129
+
130
+ /* Drawer: a sidebar */
131
+ --iw-drawer-bg: var(--iw-color-bg);
132
+
133
+ /* Card: an inset grouped section, with the larger corners */
134
+ --iw-card-bg: var(--iw-color-surface);
135
+ --iw-card-border: transparent;
136
+ --iw-card-radius: var(--iw-radius-xl);
137
+ --iw-card-shadow: none;
138
+ --iw-card-shadow-hover: var(--iw-shadow-md);
139
+
140
+ /* Badge */
141
+ --iw-badge-radius: var(--iw-radius-full);
142
+
143
+ /* Chip: a gray capsule */
144
+ --iw-chip-bg: var(--iw-ios-fill);
145
+
146
+ /* List */
147
+ --iw-list-item: transparent;
148
+ --iw-list-item-active: var(--iw-color-surface-active);
149
+ --iw-list-item-selected: color-mix(
150
+ in srgb,
151
+ var(--iw-color-primary) 12%,
152
+ transparent
153
+ );
154
+
155
+ /* Progress: a thin bar */
156
+ --iw-progress-height: 4px;
157
+ --iw-progress-radius: var(--iw-radius-full);
158
+ --iw-progress-track-color: var(--iw-ios-fill-secondary);
159
+
160
+ /* Alert */
161
+ --iw-alert-radius: var(--iw-radius-lg);
162
+ --iw-alert-shadow: none;
163
+ color-scheme: light;
164
+ }
165
+
166
+ /* Dark variant */
167
+ .iw-theme-ios-26.iw-theme-dark {
168
+ color-scheme: dark;
169
+
170
+ --iw-ios-fill: rgba(118, 118, 128, 0.24);
171
+ --iw-ios-fill-secondary: rgba(120, 120, 128, 0.36);
172
+ --iw-ios-fill-quaternary: rgba(116, 116, 128, 0.18);
173
+ --iw-ios-segment-selected: #636366;
174
+ --iw-ios-glass-bg: rgba(44, 44, 46, 0.6);
175
+ --iw-ios-glass-border: rgba(255, 255, 255, 0.14);
176
+ --iw-ios-glass-shadow:
177
+ inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 8px 24px rgba(0, 0, 0, 0.4);
178
+ --iw-ios-sheen: inset 0 1px 0 rgba(255, 255, 255, 0.22);
179
+
180
+ --iw-color-bg: var(--iw-color-black);
181
+ --iw-color-bg-secondary: #1c1c1e;
182
+ --iw-color-bg-tertiary: #2c2c2e;
183
+ --iw-color-surface: #1c1c1e;
184
+ --iw-color-surface-active: #3a3a3c;
185
+ --iw-color-text: var(--iw-color-white);
186
+ --iw-color-text-secondary: rgba(235, 235, 245, 0.6);
187
+ --iw-color-text-muted: rgba(235, 235, 245, 0.6);
188
+ --iw-color-border: #38383a;
189
+
190
+ --iw-color-primary: #0091ff;
191
+ --iw-color-primary-hover: color-mix(in srgb, #0091ff 88%, #ffffff);
192
+ --iw-color-primary-active: color-mix(in srgb, #0091ff 80%, #ffffff);
193
+ --iw-color-border-focus: #0091ff;
194
+
195
+ --iw-color-accent: #6d7cff;
196
+ --iw-color-accent-hover: color-mix(in srgb, #6d7cff 88%, #ffffff);
197
+ --iw-color-accent-active: color-mix(in srgb, #6d7cff 80%, #ffffff);
198
+
199
+ --iw-color-success: #30d158;
200
+ --iw-color-warning: #ff9230;
201
+ --iw-color-error: #ff4245;
202
+ --iw-color-info: #3cd3fe;
203
+
204
+ --iw-input-text-placeholder: rgba(235, 235, 245, 0.3);
205
+
206
+ --iw-drawer-bg: #1c1c1e;
207
+ }
208
+
209
+ .iw-theme-ios-26 {
210
+ /* Buttons: capsules, filled, glass, tinted and plain. Pressing one
211
+ brightens it */
212
+ .iw-button {
213
+ padding: 7px 16px;
214
+ font-size: var(--iw-font-size-base);
215
+ line-height: 1.375rem;
216
+
217
+ &.iw-button-xs {
218
+ padding: 2px 10px;
219
+ font-size: var(--iw-font-size-xs);
220
+ line-height: 1.125rem;
221
+ }
222
+
223
+ &.iw-button-sm {
224
+ padding: 4px 12px;
225
+ font-size: var(--iw-font-size-sm);
226
+ line-height: 1.25rem;
227
+ }
228
+
229
+ &.iw-button-lg {
230
+ padding: 14px 24px;
231
+ font-weight: var(--iw-font-weight-semibold);
232
+ }
233
+
234
+ &.iw-button-shape-square {
235
+ border-radius: var(--iw-radius-md);
236
+ }
237
+
238
+ &.iw-button-default {
239
+ backdrop-filter: var(--iw-ios-glass-blur);
240
+ --iw-button-shadow: var(--iw-ios-glass-shadow);
241
+ --iw-button-shadow-hover: var(--iw-ios-glass-shadow);
242
+ }
243
+
244
+ &.iw-button-secondary {
245
+ --iw-button-color: var(--iw-ios-gray);
246
+ --iw-button-bg: var(--iw-ios-gray);
247
+ --iw-button-bg-hover: color-mix(in srgb, var(--iw-ios-gray) 90%, #000);
248
+ --iw-button-border: transparent;
249
+ }
250
+
251
+ &.iw-button-secondary,
252
+ &.iw-button-success,
253
+ &.iw-button-warning,
254
+ &.iw-button-error,
255
+ &.iw-button-info {
256
+ --iw-button-text: var(--iw-color-white);
257
+ }
258
+
259
+ &.iw-button-primary,
260
+ &.iw-button-secondary,
261
+ &.iw-button-success,
262
+ &.iw-button-warning,
263
+ &.iw-button-error,
264
+ &.iw-button-info {
265
+ --iw-button-border: transparent;
266
+ --iw-button-bg-hover: color-mix(in srgb, var(--iw-button-bg) 90%, #000);
267
+ --iw-button-bg-active: var(--iw-button-bg);
268
+ }
269
+
270
+ &:active:not(:disabled),
271
+ &.iw-button-pressed {
272
+ filter: brightness(1.12);
273
+ }
274
+
275
+ &:focus-visible {
276
+ outline: 3px solid
277
+ color-mix(in srgb, var(--iw-color-primary) 50%, transparent);
278
+ outline-offset: 2px;
279
+ }
280
+
281
+ /* Outlined buttons are tinted: iOS draws no outlines */
282
+ &.iw-button-outline {
283
+ border-color: transparent;
284
+ background-color: color-mix(
285
+ in srgb,
286
+ var(--iw-button-color) 15%,
287
+ transparent
288
+ );
289
+ color: var(--iw-button-color);
290
+ backdrop-filter: none;
291
+
292
+ &:hover:not(:disabled),
293
+ &:active:not(:disabled),
294
+ &.iw-button-pressed {
295
+ color: var(--iw-button-color);
296
+ background-color: color-mix(
297
+ in srgb,
298
+ var(--iw-button-color) 22%,
299
+ transparent
300
+ );
301
+ }
302
+ }
303
+
304
+ /* Ghost buttons are plain */
305
+ &.iw-button-ghost {
306
+ backdrop-filter: none;
307
+
308
+ &:hover:not(:disabled),
309
+ &:active:not(:disabled),
310
+ &.iw-button-pressed {
311
+ color: var(--iw-button-color);
312
+ background-color: var(--iw-ios-fill-quaternary);
313
+ }
314
+ }
315
+
316
+ &:disabled,
317
+ &.iw-button-disabled {
318
+ opacity: 1;
319
+ color: color-mix(in srgb, var(--iw-color-text) 30%, transparent);
320
+ background-color: var(--iw-ios-fill);
321
+ border-color: transparent;
322
+ box-shadow: none;
323
+
324
+ &.iw-button-ghost {
325
+ background-color: transparent;
326
+ }
327
+ }
328
+ }
329
+
330
+ /* Form fields: labels and notes in the footnote style around a filled
331
+ field */
332
+ .iw-input,
333
+ .iw-select,
334
+ .iw-textarea-field {
335
+ .iw-input-label,
336
+ .iw-select-label,
337
+ .iw-textarea-label {
338
+ font-size: var(--iw-font-size-sm);
339
+ color: var(--iw-color-text-secondary);
340
+ }
341
+
342
+ .iw-input-frame,
343
+ .iw-select-frame {
344
+ padding-inline: 14px;
345
+ }
346
+
347
+ .iw-input-hint,
348
+ .iw-input-error-message,
349
+ .iw-select-hint,
350
+ .iw-select-error-message {
351
+ font-size: var(--iw-font-size-xs);
352
+ }
353
+
354
+ .iw-input-frame:has(.iw-input-control-error):focus-within,
355
+ .iw-select-frame:has(.iw-select-control-error):focus-within {
356
+ box-shadow: 0 0 0 3px
357
+ color-mix(in srgb, var(--iw-color-error) 35%, transparent);
358
+ }
359
+ }
360
+
361
+ /* Switch: a wide, low track with a capsule for a thumb, green when on */
362
+ .iw-switch:not(
363
+ .iw-switch-secondary,
364
+ .iw-switch-success,
365
+ .iw-switch-warning,
366
+ .iw-switch-error,
367
+ .iw-switch-info
368
+ ) {
369
+ --iw-switch-active-bg: var(--iw-color-success);
370
+ }
371
+
372
+ .iw-switch {
373
+ .iw-switch-track {
374
+ width: 4rem;
375
+ height: 1.75rem;
376
+ padding: 2px;
377
+ background: var(--iw-ios-fill-secondary);
378
+ transition: background-color var(--iw-transition-normal);
379
+ }
380
+
381
+ .iw-switch-thumb {
382
+ width: 2.375rem;
383
+ height: 1.5rem;
384
+ border-radius: var(--iw-radius-full);
385
+ background: var(--iw-color-white);
386
+ box-shadow:
387
+ 0 2px 6px rgba(0, 0, 0, 0.15),
388
+ 0 1px 1px rgba(0, 0, 0, 0.06);
389
+ transition: transform var(--iw-transition-normal);
390
+ }
391
+
392
+ .iw-switch-input:focus-visible + .iw-switch-track {
393
+ outline: 3px solid
394
+ color-mix(in srgb, var(--iw-color-primary) 50%, transparent);
395
+ outline-offset: 2px;
396
+ }
397
+
398
+ .iw-switch-input:checked + .iw-switch-track .iw-switch-thumb {
399
+ transform: translateX(calc(1.375rem * var(--iw-dir-sign, 1)));
400
+ }
401
+
402
+ &.iw-switch-sm {
403
+ .iw-switch-track {
404
+ width: 3.25rem;
405
+ height: 1.5rem;
406
+ }
407
+
408
+ .iw-switch-thumb {
409
+ width: 2rem;
410
+ height: 1.25rem;
411
+ }
412
+
413
+ .iw-switch-input:checked + .iw-switch-track .iw-switch-thumb {
414
+ transform: translateX(calc(1rem * var(--iw-dir-sign, 1)));
415
+ }
416
+ }
417
+
418
+ &.iw-switch-lg {
419
+ .iw-switch-track {
420
+ width: 4.75rem;
421
+ height: 2.125rem;
422
+ }
423
+
424
+ .iw-switch-thumb {
425
+ width: 2.875rem;
426
+ height: 1.875rem;
427
+ }
428
+
429
+ .iw-switch-input:checked + .iw-switch-track .iw-switch-thumb {
430
+ transform: translateX(calc(1.625rem * var(--iw-dir-sign, 1)));
431
+ }
432
+ }
433
+ }
434
+
435
+ /* Tabs: a segmented control in a capsule, its segments equally wide */
436
+ .iw-tabs-list {
437
+ display: inline-grid;
438
+ grid-auto-flow: column;
439
+ grid-auto-columns: 1fr;
440
+ gap: 0;
441
+ padding: 2px;
442
+ border: 0 none;
443
+ border-radius: var(--iw-radius-full);
444
+ background: var(--iw-ios-fill);
445
+
446
+ &.iw-tabs-full-width {
447
+ display: grid;
448
+ }
449
+
450
+ &.iw-tabs-centered {
451
+ display: grid;
452
+ width: fit-content;
453
+ margin-inline: auto;
454
+ }
455
+ }
456
+
457
+ .iw-tab {
458
+ justify-content: center;
459
+ padding: 5px 14px;
460
+ font-size: var(--iw-font-size-xs);
461
+ line-height: 1.125rem;
462
+ color: var(--iw-color-text);
463
+ border: 0 none;
464
+ border-radius: var(--iw-radius-full);
465
+ transition: background-color var(--iw-transition-normal);
466
+ }
467
+
468
+ .iw-tab.iw-tab-selected {
469
+ color: var(--iw-color-text);
470
+ font-weight: var(--iw-font-weight-semibold);
471
+ background: var(--iw-ios-segment-selected);
472
+ box-shadow:
473
+ 0 3px 8px rgba(0, 0, 0, 0.12),
474
+ 0 3px 1px rgba(0, 0, 0, 0.04);
475
+ }
476
+
477
+ /* Chips: capsules, filled with the tint when selected */
478
+ .iw-chip {
479
+ padding: 6px 12px;
480
+ font-size: var(--iw-font-size-sm);
481
+
482
+ &.iw-chip-selectable {
483
+ border-color: transparent;
484
+ }
485
+
486
+ &.iw-chip-selected {
487
+ background: var(--iw-color-primary);
488
+ color: var(--iw-color-white);
489
+ }
490
+ }
491
+
492
+ .iw-badge {
493
+ font-weight: var(--iw-font-weight-semibold);
494
+ }
495
+
496
+ /* Cards: inset grouped sections, the footer ruled off below */
497
+ .iw-card-header {
498
+ border: 0 none;
499
+ }
500
+
501
+ .iw-card-footer {
502
+ background-color: transparent;
503
+ }
504
+
505
+ .iw-card-title {
506
+ font-size: var(--iw-font-size-base);
507
+ font-weight: var(--iw-font-weight-semibold);
508
+ line-height: 1.375rem;
509
+ }
510
+
511
+ .iw-card-subtitle {
512
+ font-size: var(--iw-font-size-sm);
513
+ }
514
+
515
+ /* Alerts: tinted, borderless boxes */
516
+ .iw-alert {
517
+ padding: 14px 16px;
518
+
519
+ &:not(.iw-alert-outlined) {
520
+ border-color: transparent;
521
+ }
522
+
523
+ .iw-alert-title {
524
+ font-weight: var(--iw-font-weight-semibold);
525
+ }
526
+
527
+ .iw-alert-description {
528
+ font-size: var(--iw-font-size-sm);
529
+ color: var(--iw-color-text);
530
+ }
531
+ }
532
+
533
+ .iw-alert-filled {
534
+ color: var(--iw-color-text);
535
+ background: color-mix(
536
+ in srgb,
537
+ var(--iw-alert-color) 15%,
538
+ var(--iw-color-surface)
539
+ );
540
+
541
+ .iw-alert-title {
542
+ color: var(--iw-alert-color);
543
+ }
544
+ }
545
+
546
+ /* Tables: a plain list */
547
+ .iw-table {
548
+ border: 0 none;
549
+ }
550
+
551
+ .iw-table-header-cell,
552
+ .iw-table-cell {
553
+ padding: 11px 16px;
554
+ }
555
+
556
+ .iw-table-header-cell {
557
+ padding-block: 6px;
558
+ font-size: var(--iw-font-size-xs);
559
+ font-weight: var(--iw-font-weight-semibold);
560
+ color: var(--iw-color-text-secondary);
561
+ }
562
+
563
+ /* Dialogs: alerts on glass, their text aligned to the start and their
564
+ actions a row of capsules */
565
+ .iw-dialog {
566
+ border: 1px solid var(--iw-ios-glass-border);
567
+ border-radius: var(--iw-radius-2xl);
568
+ background: var(--iw-ios-glass-bg);
569
+ backdrop-filter: blur(30px) saturate(180%);
570
+ box-shadow: var(--iw-ios-glass-shadow), var(--iw-shadow-xl);
571
+
572
+ &::backdrop {
573
+ background: rgba(0, 0, 0, 0.2);
574
+ backdrop-filter: none;
575
+ }
576
+ }
577
+
578
+ &.iw-theme-dark .iw-dialog::backdrop {
579
+ background: rgba(0, 0, 0, 0.48);
580
+ }
581
+
582
+ .iw-dialog-surface {
583
+ padding: 22px;
584
+ }
585
+
586
+ .iw-dialog-title {
587
+ font-size: var(--iw-font-size-base);
588
+ font-weight: var(--iw-font-weight-semibold);
589
+ }
590
+
591
+ .iw-dialog-description {
592
+ margin-top: 4px;
593
+ font-size: var(--iw-font-size-sm);
594
+ color: var(--iw-color-text);
595
+ }
596
+
597
+ .iw-dialog-actions {
598
+ flex-wrap: nowrap;
599
+ gap: 10px;
600
+ margin-top: 20px;
601
+ }
602
+
603
+ .iw-dialog .iw-dialog-actions .iw-button {
604
+ flex: 1;
605
+ padding-block: 13px;
606
+
607
+ /* Actions that are not the preferred one sit on a gray capsule */
608
+ &.iw-button-outline,
609
+ &.iw-button-ghost,
610
+ &.iw-button-default {
611
+ background-color: var(--iw-ios-fill-secondary);
612
+ border-color: transparent;
613
+ box-shadow: none;
614
+ backdrop-filter: none;
615
+ }
616
+
617
+ &.iw-button-primary.iw-button-outline,
618
+ &.iw-button-primary.iw-button-ghost,
619
+ &.iw-button-default {
620
+ color: var(--iw-color-text);
621
+ }
622
+
623
+ &.iw-button-outline,
624
+ &.iw-button-ghost,
625
+ &.iw-button-default {
626
+ &:hover:not(:disabled),
627
+ &:active:not(:disabled),
628
+ &.iw-button-pressed {
629
+ background-color: color-mix(
630
+ in srgb,
631
+ var(--iw-color-text) 10%,
632
+ var(--iw-ios-fill-secondary)
633
+ );
634
+ }
635
+ }
636
+ }
637
+
638
+ /* Menus, tooltips and snackbars float on glass */
639
+ .iw-menu {
640
+ min-width: 15rem;
641
+ padding: 6px;
642
+ border: 1px solid var(--iw-ios-glass-border);
643
+ border-radius: var(--iw-radius-xl);
644
+ background: var(--iw-ios-glass-bg);
645
+ backdrop-filter: var(--iw-ios-glass-blur);
646
+ box-shadow: var(--iw-ios-glass-shadow), var(--iw-shadow-lg);
647
+ }
648
+
649
+ .iw-menu-item {
650
+ padding: 10px 14px;
651
+ border-radius: var(--iw-radius-lg);
652
+ font-size: var(--iw-font-size-base);
653
+ }
654
+
655
+ .iw-menu-item:hover:enabled,
656
+ .iw-menu-item-selected {
657
+ background: var(--iw-ios-fill);
658
+ }
659
+
660
+ .iw-menu-divider {
661
+ margin: 6px 14px;
662
+ }
663
+
664
+ .iw-tooltip .iw-tooltip-bubble {
665
+ border: 1px solid var(--iw-ios-glass-border);
666
+ border-radius: var(--iw-radius-md);
667
+ background: var(--iw-ios-glass-bg);
668
+ backdrop-filter: var(--iw-ios-glass-blur);
669
+ box-shadow: var(--iw-ios-glass-shadow);
670
+ }
671
+
672
+ .iw-snackbar-content {
673
+ border: 1px solid var(--iw-ios-glass-border);
674
+ border-radius: var(--iw-radius-full);
675
+ background: var(--iw-ios-glass-bg);
676
+ backdrop-filter: var(--iw-ios-glass-blur);
677
+ box-shadow: var(--iw-ios-glass-shadow);
678
+ color: var(--iw-color-text);
679
+ }
680
+
681
+ /* App bars: no bar at all, just a blur where the content passes under the
682
+ title. A prominent one has a large title */
683
+ .iw-app-bar {
684
+ border-bottom: 0 none;
685
+ backdrop-filter: blur(8px);
686
+ }
687
+
688
+ .iw-app-bar-elevated {
689
+ box-shadow: none;
690
+ }
691
+
692
+ .iw-app-bar-title {
693
+ font-size: var(--iw-font-size-base);
694
+ font-weight: var(--iw-font-weight-semibold);
695
+ }
696
+
697
+ .iw-app-bar-subtitle {
698
+ font-size: var(--iw-font-size-xs);
699
+ }
700
+
701
+ .iw-app-bar-prominent .iw-app-bar-title {
702
+ font-size: var(--iw-font-size-3xl);
703
+ font-weight: var(--iw-font-weight-bold);
704
+ line-height: 2.5625rem;
705
+ }
706
+
707
+ /* Bottom navigation: a tab bar floating on glass, the selected tab on a
708
+ capsule of its own */
709
+ .iw-bottom-navigation {
710
+ gap: 0;
711
+ margin: 0 var(--iw-space-4) var(--iw-space-4);
712
+ padding: 4px;
713
+ border: 1px solid var(--iw-ios-glass-border);
714
+ border-radius: var(--iw-radius-full);
715
+ background: var(--iw-ios-glass-bg);
716
+ backdrop-filter: var(--iw-ios-glass-blur);
717
+ box-shadow: var(--iw-ios-glass-shadow);
718
+ }
719
+
720
+ .iw-bottom-navigation-action {
721
+ gap: 1px;
722
+ padding: 6px 2px 5px;
723
+ border-radius: var(--iw-radius-full);
724
+ color: var(--iw-color-text);
725
+ }
726
+
727
+ .iw-bottom-navigation-action-selected {
728
+ color: var(--iw-color-primary);
729
+ background: var(--iw-ios-fill);
730
+ }
731
+
732
+ .iw-bottom-navigation-icon {
733
+ font-size: 1.375rem;
734
+ line-height: 1;
735
+ }
736
+
737
+ .iw-bottom-navigation-label {
738
+ font-size: 0.625rem;
739
+ font-weight: var(--iw-font-weight-medium);
740
+ }
741
+ }