@e-burgos/tucu-ui 2.7.2 → 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 +23 -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/components/utils/code-block.mjs +1 -1
- package/hooks/use-breakpoint.mjs +21 -5
- package/hooks/use-click-away.mjs +17 -6
- package/hooks/use-copy-to-clipboard.mjs +45 -6
- package/hooks/use-measure.mjs +24 -4
- package/index.css +1 -1
- package/index.d.ts +29 -6
- package/index.js +9 -9
- 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 -3
- package/theme.css +812 -0
- package/third-party.css +39 -0
- package/utilities.css +105 -0
- package/hooks/internal/cjs-esm-interop.mjs +0 -9
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
macOS Sonoma 14 — Foundation Tokens
|
|
3
|
+
|
|
4
|
+
Global tokens applied to ALL elements when html.macos is active.
|
|
5
|
+
Values sourced from Apple HIG Sonoma / Liquid Glass spec.
|
|
6
|
+
|
|
7
|
+
Sources:
|
|
8
|
+
- Typography: https://developer.apple.com/design/human-interface-guidelines/typography
|
|
9
|
+
- Color: https://developer.apple.com/design/human-interface-guidelines/color
|
|
10
|
+
- Materials: https://developer.apple.com/design/human-interface-guidelines/materials
|
|
11
|
+
- Layout: https://developer.apple.com/design/human-interface-guidelines/layout
|
|
12
|
+
============================================================ */
|
|
13
|
+
|
|
14
|
+
html.macos {
|
|
15
|
+
/* ── Tucu-UI Semantic Token Overrides ───────────────────────
|
|
16
|
+
Map macOS Sonoma system colors to the tucu-ui semantic token system.
|
|
17
|
+
*/
|
|
18
|
+
--color-light-dark: var(--macos-content-bg);
|
|
19
|
+
--color-semantic-bg-tertiary: #e5e5ea;
|
|
20
|
+
--color-semantic-elevation-1: #ffffff;
|
|
21
|
+
--color-semantic-elevation-2: #f2f2f7;
|
|
22
|
+
|
|
23
|
+
/* Borders (uses same color-mix as Default Theme) */
|
|
24
|
+
--color-semantic-line-primary: var(--color-brand, #0088ff);
|
|
25
|
+
|
|
26
|
+
/* Shadows — tucu-ui shared shadow tokens (diffuse, dual-layer, Sonoma style) */
|
|
27
|
+
--shadow-main: 0px 4px 24px rgba(0, 0, 0, 0.07);
|
|
28
|
+
--shadow-card: 0px 1px 6px rgba(0, 0, 0, 0.04),
|
|
29
|
+
0px 4px 16px rgba(0, 0, 0, 0.04);
|
|
30
|
+
--drop-shadow-main: 0px 2px 12px rgba(0, 0, 0, 0.1);
|
|
31
|
+
|
|
32
|
+
/* ── Typography ──────────────────────────────────────────────
|
|
33
|
+
Inter Variable via @font-face (see macos-fonts.css) — macOS Sonoma 14
|
|
34
|
+
JetBrains Mono Variable for code/monospace
|
|
35
|
+
macOS default font size: 13px — Apple HIG Typography
|
|
36
|
+
*/
|
|
37
|
+
--macos-font-family: 'Inter', -apple-system, BlinkMacSystemFont,
|
|
38
|
+
'Helvetica Neue', Arial, sans-serif;
|
|
39
|
+
--macos-font-display: 'Inter', -apple-system, BlinkMacSystemFont,
|
|
40
|
+
'Helvetica Neue', Arial, sans-serif;
|
|
41
|
+
--macos-font-mono: 'JetBrains Mono', 'SF Mono', SFMono-Regular, ui-monospace,
|
|
42
|
+
Menlo, Monaco, Consolas, monospace;
|
|
43
|
+
|
|
44
|
+
/* Optical sizing & OpenType features */
|
|
45
|
+
font-optical-sizing: auto;
|
|
46
|
+
font-feature-settings: 'liga' 1, 'calt' 1, 'kern' 1;
|
|
47
|
+
|
|
48
|
+
/* macOS text style sizes (Apple HIG Sonoma official) */
|
|
49
|
+
--macos-font-size-caption: 10px; /* Caption 1/2 */
|
|
50
|
+
--macos-font-size-footnote: 10px; /* Footnote */
|
|
51
|
+
--macos-font-size-subheadline: 11px; /* Subheadline */
|
|
52
|
+
--macos-font-size-callout: 12px; /* Callout */
|
|
53
|
+
--macos-font-size-body: 13px; /* Body — macOS default */
|
|
54
|
+
--macos-font-size-headline: 13px; /* Headline (bold body) */
|
|
55
|
+
--macos-font-size-title3: 15px; /* Title 3 */
|
|
56
|
+
--macos-font-size-title2: 17px; /* Title 2 */
|
|
57
|
+
--macos-font-size-title1: 22px; /* Title 1 */
|
|
58
|
+
--macos-font-size-large-title: 26px; /* Large Title */
|
|
59
|
+
|
|
60
|
+
/* Leading (line-height) from Apple HIG Sonoma */
|
|
61
|
+
--macos-leading-caption: 13px;
|
|
62
|
+
--macos-leading-footnote: 13px;
|
|
63
|
+
--macos-leading-subheadline: 14px;
|
|
64
|
+
--macos-leading-callout: 15px;
|
|
65
|
+
--macos-leading-body: 16px;
|
|
66
|
+
--macos-leading-headline: 16px;
|
|
67
|
+
--macos-leading-title3: 20px;
|
|
68
|
+
--macos-leading-title2: 22px;
|
|
69
|
+
--macos-leading-title1: 26px;
|
|
70
|
+
--macos-leading-large-title: 32px;
|
|
71
|
+
|
|
72
|
+
/* Inter/SF tracking reference (Apple HIG macOS table, in px) */
|
|
73
|
+
--macos-tracking-10: 0.12px; /* +12/1000 em at 10px */
|
|
74
|
+
--macos-tracking-11: 0.06px; /* +6/1000 em at 11px */
|
|
75
|
+
--macos-tracking-12: 0; /* callout: 0 */
|
|
76
|
+
--macos-tracking-13: -0.08px; /* body: slightly negative */
|
|
77
|
+
--macos-tracking-15: -0.23px; /* title3 */
|
|
78
|
+
--macos-tracking-17: -0.43px; /* title2 */
|
|
79
|
+
--macos-tracking-22: -0.26px; /* title1 */
|
|
80
|
+
--macos-tracking-26: 0.22px; /* large title */
|
|
81
|
+
|
|
82
|
+
/* Font weights (Apple HIG: prefer Regular, Medium, Semibold) */
|
|
83
|
+
--macos-font-weight-regular: 400;
|
|
84
|
+
--macos-font-weight-medium: 500;
|
|
85
|
+
--macos-font-weight-semibold: 600;
|
|
86
|
+
--macos-font-weight-bold: 700;
|
|
87
|
+
|
|
88
|
+
/* ── Shape — Sonoma Radii ─────────────────────────────────────
|
|
89
|
+
Shared macOS radii.
|
|
90
|
+
Source: Apple macOS 26 UI Kit + HIG
|
|
91
|
+
*/
|
|
92
|
+
--macos-radius-window: 18px; /* Windows, large sheets */
|
|
93
|
+
--macos-radius-sheet: 24px; /* Half sheets, modal sheets */
|
|
94
|
+
--macos-radius-popover: 16px; /* Popovers, floating menus */
|
|
95
|
+
--macos-radius-control: 10px; /* Text fields, buttons, selects */
|
|
96
|
+
--macos-radius-small-control: 8px; /* Mini buttons, segmented items */
|
|
97
|
+
--macos-radius-pill: 999px; /* Search, switches, chips */
|
|
98
|
+
|
|
99
|
+
/* Legacy alias tokens for backward compat */
|
|
100
|
+
--macos-radius-xs: 3px; /* checkbox */
|
|
101
|
+
--macos-radius-sm: 4px; /* tooltip */
|
|
102
|
+
--macos-radius-md: 10px; /* control (Sonoma) */
|
|
103
|
+
--macos-radius-lg: 16px; /* popover (Sonoma) */
|
|
104
|
+
--macos-radius-xl: 18px; /* window (Sonoma) */
|
|
105
|
+
--macos-radius-2xl: 24px; /* sheet (Sonoma) */
|
|
106
|
+
--macos-radius-full: 999px;
|
|
107
|
+
|
|
108
|
+
/* ── Control Sizes (Apple HIG regular size) ────────────────
|
|
109
|
+
Source: Apple HIG > Buttons, Toggles, Text Fields
|
|
110
|
+
*/
|
|
111
|
+
--macos-control-height: 22px;
|
|
112
|
+
--macos-control-height-sm: 19px;
|
|
113
|
+
--macos-control-height-mini: 16px;
|
|
114
|
+
--macos-segmented-height: 24px;
|
|
115
|
+
--macos-checkbox-size: 14px;
|
|
116
|
+
--macos-radio-size: 16px;
|
|
117
|
+
--macos-switch-width: 38px;
|
|
118
|
+
--macos-switch-height: 22px;
|
|
119
|
+
|
|
120
|
+
/* ── Spacing — 8pt grid ──────────────────────────────────── */
|
|
121
|
+
--macos-grid: 8px; /* Base spacing unit */
|
|
122
|
+
--macos-space-1: 4px; /* grid/2 */
|
|
123
|
+
--macos-space-2: 8px; /* grid */
|
|
124
|
+
--macos-space-3: 12px;
|
|
125
|
+
--macos-space-4: 16px;
|
|
126
|
+
--macos-space-5: 20px;
|
|
127
|
+
--macos-space-6: 24px;
|
|
128
|
+
--macos-space-8: 32px;
|
|
129
|
+
|
|
130
|
+
/* ── Layout dimensions — Sonoma ──────────────────────────────
|
|
131
|
+
Source: Apple HIG > Sidebars, Toolbars, Layout
|
|
132
|
+
*/
|
|
133
|
+
--macos-titlebar-height: 28px; /* Traffic lights / title area */
|
|
134
|
+
--macos-toolbar-height: 58px; /* Standard desktop toolbar */
|
|
135
|
+
--macos-sidebar-width: 300px; /* Medium sidebar */
|
|
136
|
+
--macos-inspector-width: 300px; /* Trailing inspector panel */
|
|
137
|
+
--macos-sidebar-row-height: 24px;
|
|
138
|
+
--macos-sidebar-icon-size: 18px;
|
|
139
|
+
--macos-content-padding: 20px;
|
|
140
|
+
|
|
141
|
+
/* ── Semantic Colors — Light (Sonoma / macOS 14 HIG) ────────
|
|
142
|
+
Source: Apple HIG > Color > macOS 26 system colors
|
|
143
|
+
*/
|
|
144
|
+
--macos-label: var(--color-semantic-fg, rgba(0, 0, 0, 0.88));
|
|
145
|
+
--macos-secondary-label: var(--color-semantic-fg-muted, rgba(60, 60, 67, 0.68));
|
|
146
|
+
--macos-tertiary-label: rgba(60, 60, 67, 0.42);
|
|
147
|
+
--macos-quaternary-label: rgba(60, 60, 67, 0.24);
|
|
148
|
+
--macos-separator: var(--color-semantic-line-primary-subtle);
|
|
149
|
+
--macos-opaque-separator: #c6c6c8;
|
|
150
|
+
/* --macos-window-bg: #f5f5f7; */
|
|
151
|
+
--macos-window-bg: var(--macos-material-toolbar);
|
|
152
|
+
/* --macos-content-bg: #ffffff; */
|
|
153
|
+
--macos-content-bg: var(--macos-material-toolbar);
|
|
154
|
+
--macos-grouped-bg: #f2f2f7;
|
|
155
|
+
--macos-control-bg: rgba(255, 255, 255, 0.72);
|
|
156
|
+
--macos-control-bg-hover: rgba(255, 255, 255, 0.86);
|
|
157
|
+
--macos-control-bg-active: rgba(0, 0, 0, 0.06);
|
|
158
|
+
--macos-accent: var(--color-brand, #0088ff);
|
|
159
|
+
--macos-focus-ring: color-mix(
|
|
160
|
+
in srgb,
|
|
161
|
+
var(--color-brand, #0088ff) 48%,
|
|
162
|
+
transparent
|
|
163
|
+
);
|
|
164
|
+
--macos-focus-ring-width: 3px;
|
|
165
|
+
--macos-focus-ring-offset: 2px;
|
|
166
|
+
--macos-link: color-mix(in srgb, var(--color-brand, #0088ff) 85%, #000);
|
|
167
|
+
--macos-selected-content-bg: var(--color-brand, #0088ff);
|
|
168
|
+
--macos-control-accent: var(--color-brand, #0088ff);
|
|
169
|
+
|
|
170
|
+
/* ── System Colors — Light ─────────────────────────────────
|
|
171
|
+
Source: Apple HIG > Color > macOS 26 system colors
|
|
172
|
+
*/
|
|
173
|
+
--macos-system-red: #ff383c;
|
|
174
|
+
--macos-system-orange: #ff8d28;
|
|
175
|
+
--macos-system-yellow: #ffcc00;
|
|
176
|
+
--macos-system-green: #34c759;
|
|
177
|
+
--macos-system-mint: #00c8b3;
|
|
178
|
+
--macos-system-teal: #00c3d0;
|
|
179
|
+
--macos-system-cyan: #00c0e8;
|
|
180
|
+
--macos-system-blue: #0088ff;
|
|
181
|
+
--macos-system-indigo: #6155f5;
|
|
182
|
+
--macos-system-purple: #cb30e0;
|
|
183
|
+
--macos-system-pink: #ff2d55;
|
|
184
|
+
--macos-system-brown: #ac7f5e;
|
|
185
|
+
|
|
186
|
+
/* System Colors — Dark variants (used by dark mode below,
|
|
187
|
+
exposed here for chart tokens and utilities) */
|
|
188
|
+
--macos-system-red-dark: #ff4245;
|
|
189
|
+
--macos-system-orange-dark: #ff9230;
|
|
190
|
+
--macos-system-yellow-dark: #ffd600;
|
|
191
|
+
--macos-system-green-dark: #30d158;
|
|
192
|
+
--macos-system-mint-dark: #00dac3;
|
|
193
|
+
--macos-system-teal-dark: #00d2e0;
|
|
194
|
+
--macos-system-cyan-dark: #3cd3fe;
|
|
195
|
+
--macos-system-blue-dark: #0091ff;
|
|
196
|
+
--macos-system-indigo-dark: #6d7cff;
|
|
197
|
+
--macos-system-purple-dark: #db34f2;
|
|
198
|
+
--macos-system-pink-dark: #ff375f;
|
|
199
|
+
--macos-system-brown-dark: #b78a66;
|
|
200
|
+
|
|
201
|
+
/* Gray scale (Apple HIG Sonoma — light) */
|
|
202
|
+
--macos-gray: #8e8e93;
|
|
203
|
+
--macos-gray2: #aeaeb2;
|
|
204
|
+
--macos-gray3: #c7c7cc;
|
|
205
|
+
--macos-gray4: #d1d1d6;
|
|
206
|
+
--macos-gray5: #e5e5ea;
|
|
207
|
+
--macos-gray6: #f2f2f7;
|
|
208
|
+
|
|
209
|
+
/* ── Chart Tokens ───────────────────────────────────────────
|
|
210
|
+
Used by useChartTheme() when colorScheme === 'macos'
|
|
211
|
+
*/
|
|
212
|
+
--macos-chart-grid: rgba(60, 60, 67, 0.14);
|
|
213
|
+
--macos-chart-axis: rgba(60, 60, 67, 0.42);
|
|
214
|
+
--macos-chart-tooltip-bg: rgba(255, 255, 255, 0.92);
|
|
215
|
+
--macos-chart-tooltip-border: rgba(60, 60, 67, 0.18);
|
|
216
|
+
--macos-chart-series-1: #0088ff;
|
|
217
|
+
--macos-chart-series-2: #34c759;
|
|
218
|
+
--macos-chart-series-3: #ff8d28;
|
|
219
|
+
--macos-chart-series-4: #cb30e0;
|
|
220
|
+
--macos-chart-series-5: #ff383c;
|
|
221
|
+
--macos-chart-series-6: #00c3d0;
|
|
222
|
+
|
|
223
|
+
/* ── Materials (Vibrancy / Blur) ────────────────────────────
|
|
224
|
+
Source: Apple HIG > Materials > macOS Sonoma
|
|
225
|
+
*/
|
|
226
|
+
--macos-material-sidebar: rgba(246, 246, 248, 0.82);
|
|
227
|
+
--macos-material-sidebar-blur: 20px;
|
|
228
|
+
--macos-material-toolbar: rgba(255, 255, 255, 0.72);
|
|
229
|
+
--macos-material-toolbar-blur: 16px;
|
|
230
|
+
--macos-material-popover: rgba(255, 255, 255, 0.9);
|
|
231
|
+
--macos-material-popover-blur: 24px;
|
|
232
|
+
--macos-material-sheet: rgba(255, 255, 255, 0.94);
|
|
233
|
+
--macos-material-sheet-blur: 30px;
|
|
234
|
+
--macos-material-overlay: rgba(0, 0, 0, 0.4);
|
|
235
|
+
|
|
236
|
+
/* ── Shadows — Sonoma (multi-layer, diffuse) ─────────────────
|
|
237
|
+
Source: Apple HIG > Windows > Elevation
|
|
238
|
+
*/
|
|
239
|
+
--macos-shadow-window: 0 18px 60px rgba(0, 0, 0, 0.14),
|
|
240
|
+
0 4px 16px rgba(0, 0, 0, 0.08);
|
|
241
|
+
--macos-shadow-card: 0 1px 4px rgba(0, 0, 0, 0.04),
|
|
242
|
+
0 4px 16px rgba(0, 0, 0, 0.06);
|
|
243
|
+
--macos-shadow-popover: 0 8px 32px rgba(0, 0, 0, 0.12),
|
|
244
|
+
0 2px 8px rgba(0, 0, 0, 0.06);
|
|
245
|
+
--macos-shadow-button-pressed: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
246
|
+
--macos-shadow-focus: 0 0 0 3px
|
|
247
|
+
color-mix(in srgb, var(--color-brand, #0088ff) 48%, transparent);
|
|
248
|
+
|
|
249
|
+
/* ── Traffic Lights ─────────────────────────────────────────
|
|
250
|
+
Source: macOS Sonoma native window controls
|
|
251
|
+
*/
|
|
252
|
+
--macos-traffic-close: #ff5f57;
|
|
253
|
+
--macos-traffic-minimize: #febc2e;
|
|
254
|
+
--macos-traffic-maximize: #28c840;
|
|
255
|
+
--macos-traffic-inactive: #dcdcdc;
|
|
256
|
+
|
|
257
|
+
/* ── Transitions ─────────────────────────────────────────────
|
|
258
|
+
Apple standard animation curves
|
|
259
|
+
*/
|
|
260
|
+
--macos-transition-fast: 150ms ease-out;
|
|
261
|
+
--macos-transition-normal: 250ms cubic-bezier(0.2, 0, 0, 1);
|
|
262
|
+
--macos-transition-slow: 350ms cubic-bezier(0.2, 0, 0, 1);
|
|
263
|
+
|
|
264
|
+
/* ── Apply base typography ───────────────────────────────────
|
|
265
|
+
macOS default: 13px Inter, negative tracking
|
|
266
|
+
*/
|
|
267
|
+
font-family: var(--macos-font-family);
|
|
268
|
+
font-size: var(--macos-font-size-body);
|
|
269
|
+
line-height: var(--macos-leading-body);
|
|
270
|
+
letter-spacing: var(--macos-tracking-13);
|
|
271
|
+
-webkit-font-smoothing: antialiased;
|
|
272
|
+
-moz-osx-font-smoothing: grayscale;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/* ── Dark Mode Overrides ───────────────────────────────────────
|
|
276
|
+
Source: Apple HIG > Color > macOS 26 Dark Mode system colors
|
|
277
|
+
*/
|
|
278
|
+
html.macos.dark {
|
|
279
|
+
/* Tucu-UI semantic tokens — dark (Sonoma baseline) */
|
|
280
|
+
--color-light-dark: var(--macos-content-bg);
|
|
281
|
+
--color-semantic-bg-tertiary: #3a3a3c;
|
|
282
|
+
--color-semantic-elevation-1: #2c2c2e;
|
|
283
|
+
--color-semantic-elevation-2: #3a3a3c;
|
|
284
|
+
--color-semantic-dark-line-primary-subtle: color-mix(
|
|
285
|
+
in oklab,
|
|
286
|
+
var(--color-white) 8%,
|
|
287
|
+
transparent
|
|
288
|
+
);
|
|
289
|
+
--color-semantic-line-primary: var(--color-brand, #0091ff);
|
|
290
|
+
|
|
291
|
+
/* Shadows — heavier in dark for depth */
|
|
292
|
+
--shadow-main: 0px 4px 24px rgba(0, 0, 0, 0.4);
|
|
293
|
+
--shadow-card: 0px 1px 6px rgba(0, 0, 0, 0.25),
|
|
294
|
+
0px 4px 16px rgba(0, 0, 0, 0.3);
|
|
295
|
+
--drop-shadow-main: 0px 2px 12px rgba(0, 0, 0, 0.45);
|
|
296
|
+
|
|
297
|
+
/* Semantic label colors — dark */
|
|
298
|
+
--macos-label: var(--color-semantic-dark-fg, rgba(255, 255, 255, 0.92));
|
|
299
|
+
--macos-secondary-label: var(--color-semantic-dark-fg-muted, rgba(235, 235, 245, 0.72));
|
|
300
|
+
--macos-tertiary-label: rgba(235, 235, 245, 0.44);
|
|
301
|
+
--macos-quaternary-label: rgba(235, 235, 245, 0.26);
|
|
302
|
+
--macos-separator: var(--color-semantic-dark-line-primary-subtle);
|
|
303
|
+
--macos-opaque-separator: #38383a;
|
|
304
|
+
/* --macos-window-bg: #1c1c1e; */
|
|
305
|
+
--macos-window-bg: var(--macos-material-toolbar);
|
|
306
|
+
/* --macos-content-bg: #151516; */
|
|
307
|
+
--macos-content-bg: var(--macos-material-toolbar);
|
|
308
|
+
--macos-grouped-bg: #1c1c1e;
|
|
309
|
+
--macos-control-bg: rgba(255, 255, 255, 0.1);
|
|
310
|
+
--macos-control-bg-hover: rgba(255, 255, 255, 0.16);
|
|
311
|
+
--macos-control-bg-active: rgba(255, 255, 255, 0.22);
|
|
312
|
+
--macos-accent: var(--color-brand, #0091ff);
|
|
313
|
+
--macos-focus-ring: color-mix(
|
|
314
|
+
in srgb,
|
|
315
|
+
var(--color-brand, #0091ff) 56%,
|
|
316
|
+
transparent
|
|
317
|
+
);
|
|
318
|
+
--macos-link: color-mix(in srgb, var(--color-brand, #0091ff) 85%, #fff);
|
|
319
|
+
--macos-selected-content-bg: var(--color-brand, #0091ff);
|
|
320
|
+
--macos-control-accent: var(--color-brand, #0091ff);
|
|
321
|
+
|
|
322
|
+
/* System colors — dark (Sonoma) */
|
|
323
|
+
--macos-system-red: #ff4245;
|
|
324
|
+
--macos-system-orange: #ff9230;
|
|
325
|
+
--macos-system-yellow: #ffd600;
|
|
326
|
+
--macos-system-green: #30d158;
|
|
327
|
+
--macos-system-mint: #00dac3;
|
|
328
|
+
--macos-system-teal: #00d2e0;
|
|
329
|
+
--macos-system-cyan: #3cd3fe;
|
|
330
|
+
--macos-system-blue: #0091ff;
|
|
331
|
+
--macos-system-indigo: #6d7cff;
|
|
332
|
+
--macos-system-purple: #db34f2;
|
|
333
|
+
--macos-system-pink: #ff375f;
|
|
334
|
+
--macos-system-brown: #b78a66;
|
|
335
|
+
|
|
336
|
+
/* Gray scale — dark */
|
|
337
|
+
--macos-gray: #8e8e93;
|
|
338
|
+
--macos-gray2: #636366;
|
|
339
|
+
--macos-gray3: #48484a;
|
|
340
|
+
--macos-gray4: #3a3a3c;
|
|
341
|
+
--macos-gray5: #2c2c2e;
|
|
342
|
+
--macos-gray6: #1c1c1e;
|
|
343
|
+
|
|
344
|
+
/* Chart tokens — dark */
|
|
345
|
+
--macos-chart-grid: rgba(84, 84, 88, 0.3);
|
|
346
|
+
--macos-chart-axis: rgba(235, 235, 245, 0.44);
|
|
347
|
+
--macos-chart-tooltip-bg: rgba(44, 44, 46, 0.94);
|
|
348
|
+
--macos-chart-tooltip-border: rgba(84, 84, 88, 0.5);
|
|
349
|
+
--macos-chart-series-1: #0091ff;
|
|
350
|
+
--macos-chart-series-2: #30d158;
|
|
351
|
+
--macos-chart-series-3: #ff9230;
|
|
352
|
+
--macos-chart-series-4: #db34f2;
|
|
353
|
+
--macos-chart-series-5: #ff4245;
|
|
354
|
+
--macos-chart-series-6: #00d2e0;
|
|
355
|
+
|
|
356
|
+
/* Materials — dark (more opaque for readability) */
|
|
357
|
+
--macos-material-sidebar: rgba(28, 28, 30, 0.85);
|
|
358
|
+
--macos-material-toolbar: rgba(40, 40, 42, 0.8);
|
|
359
|
+
--macos-material-popover: rgba(44, 44, 46, 0.92);
|
|
360
|
+
--macos-material-sheet: rgba(44, 44, 46, 0.96);
|
|
361
|
+
--macos-material-overlay: rgba(0, 0, 0, 0.6);
|
|
362
|
+
|
|
363
|
+
/* Shadows — heavier in dark */
|
|
364
|
+
--macos-shadow-window: 0 18px 60px rgba(0, 0, 0, 0.5),
|
|
365
|
+
0 4px 16px rgba(0, 0, 0, 0.3);
|
|
366
|
+
--macos-shadow-card: 0 1px 4px rgba(0, 0, 0, 0.2),
|
|
367
|
+
0 4px 16px rgba(0, 0, 0, 0.28);
|
|
368
|
+
--macos-shadow-popover: 0 8px 32px rgba(0, 0, 0, 0.48),
|
|
369
|
+
0 2px 8px rgba(0, 0, 0, 0.24);
|
|
370
|
+
--macos-shadow-focus: 0 0 0 3px
|
|
371
|
+
color-mix(in srgb, var(--color-brand, #0091ff) 56%, transparent);
|
|
372
|
+
|
|
373
|
+
/* Traffic lights — inactive in dark */
|
|
374
|
+
--macos-traffic-inactive: #444444;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/* ── Reduced Motion ────────────────────────────────────────────
|
|
378
|
+
Source: Apple HIG — respect prefers-reduced-motion
|
|
379
|
+
*/
|
|
380
|
+
@media (prefers-reduced-motion: reduce) {
|
|
381
|
+
html.macos,
|
|
382
|
+
html.macos.dark {
|
|
383
|
+
--macos-transition-fast: 0ms;
|
|
384
|
+
--macos-transition-normal: 0ms;
|
|
385
|
+
--macos-transition-slow: 0ms;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
/* ── Theme switching transitions ─────────────────────────────
|
|
390
|
+
Smooth property transitions when toggling Default ↔ macOS
|
|
391
|
+
*/
|
|
392
|
+
html.macos [data-tucu] {
|
|
393
|
+
transition: border-radius var(--macos-transition-normal),
|
|
394
|
+
box-shadow var(--macos-transition-normal),
|
|
395
|
+
background-color var(--macos-transition-normal),
|
|
396
|
+
border-color var(--macos-transition-normal);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/* ============================================================
|
|
400
|
+
Accessibility Overrides for Foundations (Sonoma)
|
|
401
|
+
============================================================ */
|
|
402
|
+
|
|
403
|
+
/* Reduced Transparency — opaque fallbacks */
|
|
404
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
405
|
+
html.macos {
|
|
406
|
+
--color-semantic-elevation-1: #ffffff;
|
|
407
|
+
--color-semantic-elevation-2: #f2f2f7;
|
|
408
|
+
--color-semantic-elevation-3: #e5e5ea;
|
|
409
|
+
--macos-control-bg: #ffffff;
|
|
410
|
+
--macos-control-bg-hover: #f5f5f7;
|
|
411
|
+
--macos-control-bg-active: #e5e5ea;
|
|
412
|
+
}
|
|
413
|
+
html.macos.dark {
|
|
414
|
+
--color-semantic-elevation-1: #1e1e20;
|
|
415
|
+
--color-semantic-elevation-2: #2c2c2e;
|
|
416
|
+
--color-semantic-elevation-3: #3a3a3c;
|
|
417
|
+
--macos-control-bg: #2c2c2e;
|
|
418
|
+
--macos-control-bg-hover: #3a3a3c;
|
|
419
|
+
--macos-control-bg-active: #48484a;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
/* Increased Contrast — sharper borders, stronger labels, solid focus */
|
|
423
|
+
@media (prefers-contrast: more) {
|
|
424
|
+
html.macos {
|
|
425
|
+
--macos-label: rgba(0, 0, 0, 1);
|
|
426
|
+
--macos-secondary-label: rgba(0, 0, 0, 0.8);
|
|
427
|
+
--macos-tertiary-label: rgba(0, 0, 0, 0.6);
|
|
428
|
+
--macos-separator: var(--color-semantic-line-primary-subtle);
|
|
429
|
+
--macos-focus-ring: rgba(0, 0, 0, 1);
|
|
430
|
+
--macos-shadow-focus: 0 0 0 2px #000000;
|
|
431
|
+
/* High-contrast system colors — light */
|
|
432
|
+
--macos-system-red: #e9152d;
|
|
433
|
+
--macos-system-orange: #c55300;
|
|
434
|
+
--macos-system-yellow: #a16a00;
|
|
435
|
+
--macos-system-green: #008932;
|
|
436
|
+
--macos-system-mint: #008575;
|
|
437
|
+
--macos-system-teal: #008198;
|
|
438
|
+
--macos-system-cyan: #007eae;
|
|
439
|
+
--macos-system-blue: #1e6ef4;
|
|
440
|
+
--macos-system-indigo: #564ade;
|
|
441
|
+
--macos-system-purple: #b02fc2;
|
|
442
|
+
--macos-system-pink: #e7124d;
|
|
443
|
+
--macos-system-brown: #956d51;
|
|
444
|
+
/* Chart series inherit HC colors */
|
|
445
|
+
--macos-chart-series-1: #1e6ef4;
|
|
446
|
+
--macos-chart-series-2: #008932;
|
|
447
|
+
--macos-chart-series-3: #c55300;
|
|
448
|
+
--macos-chart-series-4: #b02fc2;
|
|
449
|
+
--macos-chart-series-5: #e9152d;
|
|
450
|
+
--macos-chart-series-6: #008198;
|
|
451
|
+
}
|
|
452
|
+
html.macos.dark {
|
|
453
|
+
--macos-label: rgba(255, 255, 255, 1);
|
|
454
|
+
--macos-secondary-label: rgba(255, 255, 255, 0.82);
|
|
455
|
+
--macos-tertiary-label: rgba(255, 255, 255, 0.64);
|
|
456
|
+
--macos-separator: var(--color-semantic-dark-line-primary-subtle);
|
|
457
|
+
--macos-focus-ring: rgba(255, 255, 255, 1);
|
|
458
|
+
--macos-shadow-focus: 0 0 0 2px #ffffff;
|
|
459
|
+
/* High-contrast system colors — dark */
|
|
460
|
+
--macos-system-red: #ff6165;
|
|
461
|
+
--macos-system-orange: #ffa056;
|
|
462
|
+
--macos-system-yellow: #fedf43;
|
|
463
|
+
--macos-system-green: #4ad968;
|
|
464
|
+
--macos-system-mint: #54dfcb;
|
|
465
|
+
--macos-system-teal: #3bddec;
|
|
466
|
+
--macos-system-cyan: #6dd9ff;
|
|
467
|
+
--macos-system-blue: #5cb8ff;
|
|
468
|
+
--macos-system-indigo: #a7aaff;
|
|
469
|
+
--macos-system-purple: #ea8dff;
|
|
470
|
+
--macos-system-pink: #ff8ac4;
|
|
471
|
+
--macos-system-brown: #dba679;
|
|
472
|
+
--macos-chart-series-1: #5cb8ff;
|
|
473
|
+
--macos-chart-series-2: #4ad968;
|
|
474
|
+
--macos-chart-series-3: #ffa056;
|
|
475
|
+
--macos-chart-series-4: #ea8dff;
|
|
476
|
+
--macos-chart-series-5: #ff6165;
|
|
477
|
+
--macos-chart-series-6: #3bddec;
|
|
478
|
+
}
|
|
479
|
+
}
|