@e-burgos/tucu-ui 2.7.3 → 2.8.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.
- package/CHANGELOG.md +13 -0
- package/base.css +225 -0
- package/components/inputs/select.mjs +1 -1
- package/components/loaders/loader.mjs +21 -21
- package/components/typography/index.mjs +30 -30
- package/index.css +1 -1
- package/index.js +1 -1
- package/macos/index.css +15 -0
- package/macos/sonoma/index.css +34 -0
- package/macos/sonoma/macos-auth.css +162 -0
- package/macos/sonoma/macos-backgrounds.css +314 -0
- package/macos/sonoma/macos-buttons.css +231 -0
- package/macos/sonoma/macos-cards.css +104 -0
- package/macos/sonoma/macos-content.css +157 -0
- package/macos/sonoma/macos-dialogs.css +122 -0
- package/macos/sonoma/macos-feedback.css +237 -0
- package/macos/sonoma/macos-fonts.css +7 -0
- package/macos/sonoma/macos-foundations.css +479 -0
- package/macos/sonoma/macos-inputs.css +1580 -0
- package/macos/sonoma/macos-layouts.css +223 -0
- package/macos/sonoma/macos-liquid-glass.css +279 -0
- package/macos/sonoma/macos-menus.css +184 -0
- package/macos/sonoma/macos-misc.css +635 -0
- package/macos/sonoma/macos-navigation.css +145 -0
- package/macos/sonoma/macos-selection.css +237 -0
- package/macos/sonoma/macos-sidebar.css +416 -0
- package/macos/sonoma/macos-tables.css +318 -0
- package/macos/sonoma/macos-toolbar.css +302 -0
- package/macos/sonoma/macos-typography.css +485 -0
- package/macos/sonoma/macos-window.css +273 -0
- package/macos/tahoe/index.css +34 -0
- package/macos/tahoe/macos-auth.css +162 -0
- package/macos/tahoe/macos-backgrounds.css +314 -0
- package/macos/tahoe/macos-buttons.css +286 -0
- package/macos/tahoe/macos-cards.css +125 -0
- package/macos/tahoe/macos-content.css +157 -0
- package/macos/tahoe/macos-dialogs.css +195 -0
- package/macos/tahoe/macos-feedback.css +273 -0
- package/macos/tahoe/macos-fonts.css +7 -0
- package/macos/tahoe/macos-foundations.css +516 -0
- package/macos/tahoe/macos-inputs.css +1656 -0
- package/macos/tahoe/macos-layouts.css +438 -0
- package/macos/tahoe/macos-liquid-glass.css +279 -0
- package/macos/tahoe/macos-menus.css +184 -0
- package/macos/tahoe/macos-misc.css +635 -0
- package/macos/tahoe/macos-navigation.css +191 -0
- package/macos/tahoe/macos-selection.css +237 -0
- package/macos/tahoe/macos-sidebar.css +420 -0
- package/macos/tahoe/macos-tables.css +320 -0
- package/macos/tahoe/macos-toolbar.css +304 -0
- package/macos/tahoe/macos-typography.css +485 -0
- package/macos/tahoe/macos-window.css +273 -0
- package/package.json +3 -2
- package/theme.css +812 -0
- package/third-party.css +39 -0
- package/utilities.css +105 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
macOS Tahoe 26 — Liquid Glass Materials
|
|
3
|
+
|
|
4
|
+
Token definitions and utility classes for the three Liquid Glass
|
|
5
|
+
material variants: regular, clear and prominent.
|
|
6
|
+
|
|
7
|
+
Rules (from Apple HIG + tucu-ui spec):
|
|
8
|
+
- regular: toolbars, sidebars, popovers, alerts — elements with text
|
|
9
|
+
- clear: only over visually rich backgrounds; see-through controls
|
|
10
|
+
- prominent: accent-tinted; primary actions, selected states
|
|
11
|
+
- Max 2 backdrop-filter layers simultaneously in the visible viewport
|
|
12
|
+
- Always include will-change:transform or contain:paint on glass elements
|
|
13
|
+
- prefers-reduced-transparency: remove backdrop-filter, use opaque fallback
|
|
14
|
+
- @supports not (backdrop-filter): opaque fallback
|
|
15
|
+
|
|
16
|
+
Performance note: backdrop-filter triggers GPU compositing.
|
|
17
|
+
Apply only to bars, popovers, sheets and floating single-layer controls.
|
|
18
|
+
Never apply to scrolling lists, tables or per-row elements.
|
|
19
|
+
============================================================ */
|
|
20
|
+
|
|
21
|
+
html.macos-tahoe {
|
|
22
|
+
/* ── Liquid Glass Tokens — Light ───────────────────────────
|
|
23
|
+
Source: Apple HIG > Materials > Liquid Glass
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/* Regular: bars, sidebars, popovers with text */
|
|
27
|
+
--macos-glass-regular-bg: rgba(255, 255, 255, 0.52);
|
|
28
|
+
--macos-glass-regular-bg-opaque: #f0f0f2; /* fallback */
|
|
29
|
+
--macos-glass-regular-blur: 28px;
|
|
30
|
+
--macos-glass-regular-saturate: 1.8;
|
|
31
|
+
|
|
32
|
+
/* Clear: controls over media / visually rich backgrounds */
|
|
33
|
+
--macos-glass-clear-bg: rgba(255, 255, 255, 0.22);
|
|
34
|
+
--macos-glass-clear-bg-opaque: #e8e8ea; /* fallback */
|
|
35
|
+
--macos-glass-clear-blur: 16px;
|
|
36
|
+
--macos-glass-clear-saturate: 1.4;
|
|
37
|
+
|
|
38
|
+
/* Prominent: accent-tinted primary actions (always uses --color-brand) */
|
|
39
|
+
--macos-glass-prominent-bg: color-mix(
|
|
40
|
+
in srgb,
|
|
41
|
+
var(--color-brand, #007aff) 15%,
|
|
42
|
+
rgba(255, 255, 255, 0.72)
|
|
43
|
+
);
|
|
44
|
+
--macos-glass-prominent-bg-opaque: color-mix(
|
|
45
|
+
in srgb,
|
|
46
|
+
var(--color-brand, #007aff) 15%,
|
|
47
|
+
#f0f0f2
|
|
48
|
+
);
|
|
49
|
+
--macos-glass-prominent-blur: 32px;
|
|
50
|
+
--macos-glass-prominent-saturate: 2;
|
|
51
|
+
--macos-glass-prominent-border: color-mix(
|
|
52
|
+
in srgb,
|
|
53
|
+
var(--color-brand, #007aff) 30%,
|
|
54
|
+
rgba(255, 255, 255, 0.6)
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
/* Shared glass decorators */
|
|
58
|
+
--macos-glass-border: rgba(255, 255, 255, 0.72);
|
|
59
|
+
--macos-glass-border-subtle: rgba(255, 255, 255, 0.4);
|
|
60
|
+
--macos-glass-highlight: inset 0 0.5px 0 rgba(255, 255, 255, 0.8),
|
|
61
|
+
inset 0 -0.5px 0 rgba(0, 0, 0, 0.06);
|
|
62
|
+
--macos-glass-shadow: 0 4px 24px rgba(0, 0, 0, 0.08),
|
|
63
|
+
0 1px 4px rgba(0, 0, 0, 0.04);
|
|
64
|
+
--macos-glass-scroll-edge: linear-gradient(
|
|
65
|
+
to bottom,
|
|
66
|
+
rgba(255, 255, 255, 0.9) 0%,
|
|
67
|
+
rgba(255, 255, 255, 0) 100%
|
|
68
|
+
);
|
|
69
|
+
--macos-glass-scroll-edge-bottom: linear-gradient(
|
|
70
|
+
to top,
|
|
71
|
+
rgba(255, 255, 255, 0.9) 0%,
|
|
72
|
+
rgba(255, 255, 255, 0) 100%
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
/* Dim layer: 35% darkening over bright backgrounds (Apple spec) */
|
|
76
|
+
--macos-glass-dim-bg: rgba(0, 0, 0, 0.35);
|
|
77
|
+
|
|
78
|
+
/* ── Legacy material aliases (Sonoma compat) ───────────────
|
|
79
|
+
Some components reference --macos-material-* from older builds.
|
|
80
|
+
Alias them to Tahoe glass tokens to avoid transparent fallbacks.
|
|
81
|
+
*/
|
|
82
|
+
--macos-material-toolbar: var(--macos-glass-regular-bg);
|
|
83
|
+
--macos-material-sidebar: var(--macos-glass-regular-bg);
|
|
84
|
+
--macos-material-sheet: var(--macos-glass-regular-bg);
|
|
85
|
+
--macos-material-overlay: rgba(0, 0, 0, 0.28);
|
|
86
|
+
--macos-material-sheet-blur: var(--macos-glass-regular-blur);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/* ── Dark Mode Tokens ─────────────────────────────────────── */
|
|
90
|
+
html.macos-tahoe.dark {
|
|
91
|
+
/* Regular */
|
|
92
|
+
--macos-glass-regular-bg: rgba(32, 32, 36, 0.72);
|
|
93
|
+
--macos-glass-regular-bg-opaque: #28282c;
|
|
94
|
+
|
|
95
|
+
/* Clear */
|
|
96
|
+
--macos-glass-clear-bg: rgba(20, 20, 24, 0.4);
|
|
97
|
+
--macos-glass-clear-bg-opaque: #1e1e22;
|
|
98
|
+
|
|
99
|
+
/* Prominent */
|
|
100
|
+
--macos-glass-prominent-bg: color-mix(
|
|
101
|
+
in srgb,
|
|
102
|
+
var(--color-brand, #0a84ff) 20%,
|
|
103
|
+
rgba(40, 40, 44, 0.72)
|
|
104
|
+
);
|
|
105
|
+
--macos-glass-prominent-bg-opaque: color-mix(
|
|
106
|
+
in srgb,
|
|
107
|
+
var(--color-brand, #0a84ff) 20%,
|
|
108
|
+
#1e1e22
|
|
109
|
+
);
|
|
110
|
+
--macos-glass-prominent-border: color-mix(
|
|
111
|
+
in srgb,
|
|
112
|
+
var(--color-brand, #0a84ff) 25%,
|
|
113
|
+
rgba(255, 255, 255, 0.15)
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
/* Shared decorators — dark */
|
|
117
|
+
--macos-glass-border: rgba(255, 255, 255, 0.14);
|
|
118
|
+
--macos-glass-border-subtle: rgba(255, 255, 255, 0.08);
|
|
119
|
+
--macos-glass-highlight: inset 0 0.5px 0 rgba(255, 255, 255, 0.16),
|
|
120
|
+
inset 0 -0.5px 0 rgba(0, 0, 0, 0.3);
|
|
121
|
+
--macos-glass-shadow: 0 4px 24px rgba(0, 0, 0, 0.4),
|
|
122
|
+
0 1px 4px rgba(0, 0, 0, 0.2);
|
|
123
|
+
--macos-glass-scroll-edge: linear-gradient(
|
|
124
|
+
to bottom,
|
|
125
|
+
rgba(20, 20, 22, 0.92) 0%,
|
|
126
|
+
rgba(20, 20, 22, 0) 100%
|
|
127
|
+
);
|
|
128
|
+
--macos-glass-scroll-edge-bottom: linear-gradient(
|
|
129
|
+
to top,
|
|
130
|
+
rgba(20, 20, 22, 0.92) 0%,
|
|
131
|
+
rgba(20, 20, 22, 0) 100%
|
|
132
|
+
);
|
|
133
|
+
--macos-glass-dim-bg: rgba(0, 0, 0, 0.5);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* ============================================================
|
|
137
|
+
Utility Classes
|
|
138
|
+
Apply to bars, panels, popovers — never to lists or tables.
|
|
139
|
+
Elements MUST have contain: paint or will-change: transform.
|
|
140
|
+
============================================================ */
|
|
141
|
+
|
|
142
|
+
/* Regular glass — toolbars, sidebars, popovers with text */
|
|
143
|
+
html.macos-tahoe .macos-glass-regular {
|
|
144
|
+
background: var(--macos-glass-regular-bg);
|
|
145
|
+
border: 0.5px solid var(--macos-glass-border);
|
|
146
|
+
box-shadow: var(--macos-glass-shadow), var(--macos-glass-highlight);
|
|
147
|
+
contain: paint;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@supports (backdrop-filter: blur(1px)) {
|
|
151
|
+
html.macos-tahoe .macos-glass-regular {
|
|
152
|
+
backdrop-filter: blur(var(--macos-glass-regular-blur))
|
|
153
|
+
saturate(var(--macos-glass-regular-saturate));
|
|
154
|
+
-webkit-backdrop-filter: blur(var(--macos-glass-regular-blur))
|
|
155
|
+
saturate(var(--macos-glass-regular-saturate));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
@supports not (backdrop-filter: blur(1px)) {
|
|
160
|
+
html.macos-tahoe .macos-glass-regular {
|
|
161
|
+
background: var(--macos-glass-regular-bg-opaque);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/* Clear glass — controls over media / rich backgrounds */
|
|
166
|
+
html.macos-tahoe .macos-glass-clear {
|
|
167
|
+
background: var(--macos-glass-clear-bg);
|
|
168
|
+
border: 0.5px solid var(--macos-glass-border-subtle);
|
|
169
|
+
contain: paint;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
@supports (backdrop-filter: blur(1px)) {
|
|
173
|
+
html.macos-tahoe .macos-glass-clear {
|
|
174
|
+
backdrop-filter: blur(var(--macos-glass-clear-blur))
|
|
175
|
+
saturate(var(--macos-glass-clear-saturate));
|
|
176
|
+
-webkit-backdrop-filter: blur(var(--macos-glass-clear-blur))
|
|
177
|
+
saturate(var(--macos-glass-clear-saturate));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
@supports not (backdrop-filter: blur(1px)) {
|
|
182
|
+
html.macos-tahoe .macos-glass-clear {
|
|
183
|
+
background: var(--macos-glass-clear-bg-opaque);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/* Prominent glass — accent-tinted primary actions */
|
|
188
|
+
html.macos-tahoe .macos-glass-prominent {
|
|
189
|
+
background: var(--macos-glass-prominent-bg);
|
|
190
|
+
border: 0.5px solid var(--macos-glass-border);
|
|
191
|
+
box-shadow: var(--macos-glass-shadow), var(--macos-glass-highlight);
|
|
192
|
+
contain: paint;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
@supports (backdrop-filter: blur(1px)) {
|
|
196
|
+
html.macos-tahoe .macos-glass-prominent {
|
|
197
|
+
backdrop-filter: blur(var(--macos-glass-prominent-blur))
|
|
198
|
+
saturate(var(--macos-glass-prominent-saturate));
|
|
199
|
+
-webkit-backdrop-filter: blur(var(--macos-glass-prominent-blur))
|
|
200
|
+
saturate(var(--macos-glass-prominent-saturate));
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
@supports not (backdrop-filter: blur(1px)) {
|
|
205
|
+
html.macos-tahoe .macos-glass-prominent {
|
|
206
|
+
background: var(--macos-glass-prominent-bg-opaque);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/* Scroll edge — top fade for content scrolling under bars */
|
|
211
|
+
html.macos-tahoe .macos-scroll-edge-top {
|
|
212
|
+
position: relative;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
html.macos-tahoe .macos-scroll-edge-top::before {
|
|
216
|
+
content: '';
|
|
217
|
+
position: absolute;
|
|
218
|
+
top: 0;
|
|
219
|
+
left: 0;
|
|
220
|
+
right: 0;
|
|
221
|
+
height: 24px;
|
|
222
|
+
background: var(--macos-glass-scroll-edge);
|
|
223
|
+
pointer-events: none;
|
|
224
|
+
z-index: 1;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/* Scroll edge — bottom fade */
|
|
228
|
+
html.macos-tahoe .macos-scroll-edge-bottom {
|
|
229
|
+
position: relative;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
html.macos-tahoe .macos-scroll-edge-bottom::after {
|
|
233
|
+
content: '';
|
|
234
|
+
position: absolute;
|
|
235
|
+
bottom: 0;
|
|
236
|
+
left: 0;
|
|
237
|
+
right: 0;
|
|
238
|
+
height: 24px;
|
|
239
|
+
background: var(--macos-glass-scroll-edge-bottom);
|
|
240
|
+
pointer-events: none;
|
|
241
|
+
z-index: 1;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/* Dim layer — 35% darkening per Apple spec over bright backgrounds */
|
|
245
|
+
html.macos-tahoe .macos-dim-layer {
|
|
246
|
+
background: var(--macos-glass-dim-bg);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/* ============================================================
|
|
250
|
+
Accessibility: Reduced Transparency
|
|
251
|
+
Remove backdrop-filter, increase opacity to maintain legibility.
|
|
252
|
+
============================================================ */
|
|
253
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
254
|
+
html.macos-tahoe {
|
|
255
|
+
--macos-glass-regular-bg: var(--macos-glass-regular-bg-opaque);
|
|
256
|
+
--macos-glass-clear-bg: var(--macos-glass-clear-bg-opaque);
|
|
257
|
+
--macos-glass-prominent-bg: var(--macos-glass-prominent-bg-opaque);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
html.macos-tahoe .macos-glass-regular,
|
|
261
|
+
html.macos-tahoe .macos-glass-clear,
|
|
262
|
+
html.macos-tahoe .macos-glass-prominent {
|
|
263
|
+
backdrop-filter: none !important;
|
|
264
|
+
-webkit-backdrop-filter: none !important;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/* ============================================================
|
|
269
|
+
Accessibility: Increased Contrast
|
|
270
|
+
Strengthen borders for better visual definition.
|
|
271
|
+
============================================================ */
|
|
272
|
+
@media (prefers-contrast: more) {
|
|
273
|
+
html.macos-tahoe .macos-glass-regular,
|
|
274
|
+
html.macos-tahoe .macos-glass-clear,
|
|
275
|
+
html.macos-tahoe .macos-glass-prominent {
|
|
276
|
+
border-width: 1px !important;
|
|
277
|
+
border-color: currentColor !important;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
macOS Tahoe 26 — Menu & Contextual Overrides
|
|
3
|
+
|
|
4
|
+
Targets: Dropdown menus, context menus, popovers, select dropdowns
|
|
5
|
+
Selector: html.macos-tahoe [data-tucu="menu|menu-item|context-menu|popover"]
|
|
6
|
+
|
|
7
|
+
References:
|
|
8
|
+
- Apple HIG > Menus: Glass regular, 6pt radius items, 1pt separator
|
|
9
|
+
- Apple HIG > Contextual Menus: same material as menus
|
|
10
|
+
- Menu min-width: 200pt, max 680pt
|
|
11
|
+
- Item height: 22pt regular, separator: 1px
|
|
12
|
+
============================================================ */
|
|
13
|
+
|
|
14
|
+
/* ── Menu Container ──────────────────────────────────────────── */
|
|
15
|
+
|
|
16
|
+
html.macos-tahoe [data-tucu='menu'],
|
|
17
|
+
html.macos-tahoe [data-tucu='dropdown-menu'],
|
|
18
|
+
html.macos-tahoe [data-tucu='context-menu'] {
|
|
19
|
+
background-color: var(--macos-glass-regular-bg-opaque);
|
|
20
|
+
border: 0.5px solid var(--macos-glass-border);
|
|
21
|
+
border-radius: var(--macos-radius-popover);
|
|
22
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 1px 4px rgba(0, 0, 0, 0.12);
|
|
23
|
+
padding: 4px 0;
|
|
24
|
+
font-family: var(--macos-font-family);
|
|
25
|
+
font-size: var(--macos-font-size-body);
|
|
26
|
+
min-width: 200px;
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@supports (backdrop-filter: blur(1px)) {
|
|
31
|
+
html.macos-tahoe [data-tucu='menu'],
|
|
32
|
+
html.macos-tahoe [data-tucu='dropdown-menu'],
|
|
33
|
+
html.macos-tahoe [data-tucu='context-menu'] {
|
|
34
|
+
background-color: var(--macos-glass-regular-bg);
|
|
35
|
+
backdrop-filter: blur(var(--macos-glass-regular-blur)) saturate(160%);
|
|
36
|
+
-webkit-backdrop-filter: blur(var(--macos-glass-regular-blur))
|
|
37
|
+
saturate(160%);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
html.macos-tahoe.dark [data-tucu='menu'],
|
|
42
|
+
html.macos-tahoe.dark [data-tucu='dropdown-menu'],
|
|
43
|
+
html.macos-tahoe.dark [data-tucu='context-menu'] {
|
|
44
|
+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 1px 4px rgba(0, 0, 0, 0.2);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* ── Menu Item ───────────────────────────────────────────────── */
|
|
48
|
+
|
|
49
|
+
html.macos-tahoe [data-tucu='menu-item'] {
|
|
50
|
+
height: 22px;
|
|
51
|
+
padding: 0 12px 0 24px; /* leave space for checkmark */
|
|
52
|
+
display: flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
gap: 6px;
|
|
55
|
+
color: var(--macos-label);
|
|
56
|
+
font-size: var(--macos-font-size-body);
|
|
57
|
+
font-weight: var(--macos-font-weight-regular);
|
|
58
|
+
letter-spacing: var(--macos-tracking-13);
|
|
59
|
+
cursor: default;
|
|
60
|
+
border-radius: 4px;
|
|
61
|
+
margin: 0 4px;
|
|
62
|
+
transition: background-color 0.05s ease, color 0.05s ease;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
html.macos-tahoe [data-tucu='menu-item']:hover,
|
|
66
|
+
html.macos-tahoe [data-tucu='menu-item'][data-highlighted='true'] {
|
|
67
|
+
background-color: var(--macos-control-accent);
|
|
68
|
+
color: white;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
html.macos-tahoe [data-tucu='menu-item'][data-disabled='true'],
|
|
72
|
+
html.macos-tahoe [data-tucu='menu-item']:disabled {
|
|
73
|
+
color: var(--macos-tertiary-label);
|
|
74
|
+
cursor: default;
|
|
75
|
+
pointer-events: none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
html.macos-tahoe [data-tucu='menu-item'][data-checked='true']::before {
|
|
79
|
+
content: '✓';
|
|
80
|
+
position: absolute;
|
|
81
|
+
left: 8px;
|
|
82
|
+
font-size: 11px;
|
|
83
|
+
color: var(--macos-label);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
html.macos-tahoe [data-tucu='menu-item']:hover[data-checked='true']::before {
|
|
87
|
+
color: white;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* ── Menu Separator ──────────────────────────────────────────── */
|
|
91
|
+
|
|
92
|
+
html.macos-tahoe [data-tucu='menu-separator'] {
|
|
93
|
+
height: 1px;
|
|
94
|
+
background-color: var(--macos-separator);
|
|
95
|
+
margin: 4px 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* ── Menu Section Label ──────────────────────────────────────── */
|
|
99
|
+
|
|
100
|
+
html.macos-tahoe [data-tucu='menu-section-label'] {
|
|
101
|
+
font-size: var(--macos-font-size-subheadline);
|
|
102
|
+
font-weight: var(--macos-font-weight-semibold);
|
|
103
|
+
color: var(--macos-secondary-label);
|
|
104
|
+
padding: 6px 12px 2px;
|
|
105
|
+
text-transform: uppercase;
|
|
106
|
+
letter-spacing: 0.06px;
|
|
107
|
+
cursor: default;
|
|
108
|
+
pointer-events: none;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* ── Menu Shortcut ───────────────────────────────────────────── */
|
|
112
|
+
|
|
113
|
+
html.macos-tahoe [data-tucu='menu-shortcut'] {
|
|
114
|
+
font-size: var(--macos-font-size-callout);
|
|
115
|
+
color: var(--macos-secondary-label);
|
|
116
|
+
margin-left: auto;
|
|
117
|
+
font-weight: var(--macos-font-weight-regular);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
html.macos-tahoe [data-tucu='menu-item']:hover [data-tucu='menu-shortcut'],
|
|
121
|
+
html.macos-tahoe
|
|
122
|
+
[data-tucu='menu-item'][data-highlighted='true']
|
|
123
|
+
[data-tucu='menu-shortcut'] {
|
|
124
|
+
color: rgba(255, 255, 255, 0.72);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* ── Popover ─────────────────────────────────────────────────── */
|
|
128
|
+
|
|
129
|
+
html.macos-tahoe [data-tucu='popover'] {
|
|
130
|
+
background-color: var(--macos-glass-regular-bg-opaque);
|
|
131
|
+
border: 0.5px solid var(--macos-glass-border);
|
|
132
|
+
border-radius: var(--macos-radius-popover);
|
|
133
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 0 2px 8px rgba(0, 0, 0, 0.12);
|
|
134
|
+
padding: var(--macos-space-3);
|
|
135
|
+
font-family: var(--macos-font-family);
|
|
136
|
+
font-size: var(--macos-font-size-body);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@supports (backdrop-filter: blur(1px)) {
|
|
140
|
+
html.macos-tahoe [data-tucu='popover'] {
|
|
141
|
+
background-color: var(--macos-glass-regular-bg);
|
|
142
|
+
backdrop-filter: blur(var(--macos-glass-regular-blur)) saturate(150%);
|
|
143
|
+
-webkit-backdrop-filter: blur(var(--macos-glass-regular-blur))
|
|
144
|
+
saturate(150%);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* ── Tooltip ─────────────────────────────────────────────────── */
|
|
149
|
+
|
|
150
|
+
html.macos-tahoe [data-tucu='tooltip'] {
|
|
151
|
+
background-color: var(--macos-glass-regular-bg-opaque);
|
|
152
|
+
border: 0.5px solid var(--macos-glass-border);
|
|
153
|
+
border-radius: var(--macos-radius-control);
|
|
154
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16), 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
155
|
+
padding: 4px 8px;
|
|
156
|
+
font-family: var(--macos-font-family);
|
|
157
|
+
font-size: var(--macos-font-size-callout);
|
|
158
|
+
font-weight: var(--macos-font-weight-regular);
|
|
159
|
+
color: var(--macos-label);
|
|
160
|
+
max-width: 240px;
|
|
161
|
+
pointer-events: none;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
@supports (backdrop-filter: blur(1px)) {
|
|
165
|
+
html.macos-tahoe [data-tucu='tooltip'] {
|
|
166
|
+
background-color: var(--macos-glass-regular-bg);
|
|
167
|
+
backdrop-filter: blur(20px) saturate(150%);
|
|
168
|
+
-webkit-backdrop-filter: blur(20px) saturate(150%);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* ── Reduced transparency fallbacks ─────────────────────────── */
|
|
173
|
+
|
|
174
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
175
|
+
html.macos-tahoe [data-tucu='menu'],
|
|
176
|
+
html.macos-tahoe [data-tucu='dropdown-menu'],
|
|
177
|
+
html.macos-tahoe [data-tucu='context-menu'],
|
|
178
|
+
html.macos-tahoe [data-tucu='popover'],
|
|
179
|
+
html.macos-tahoe [data-tucu='tooltip'] {
|
|
180
|
+
backdrop-filter: none !important;
|
|
181
|
+
-webkit-backdrop-filter: none !important;
|
|
182
|
+
background-color: var(--macos-window-bg) !important;
|
|
183
|
+
}
|
|
184
|
+
}
|