@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.
Files changed (56) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/base.css +225 -0
  3. package/components/inputs/select.mjs +1 -1
  4. package/components/loaders/loader.mjs +21 -21
  5. package/components/typography/index.mjs +30 -30
  6. package/index.css +1 -1
  7. package/index.js +1 -1
  8. package/macos/index.css +15 -0
  9. package/macos/sonoma/index.css +34 -0
  10. package/macos/sonoma/macos-auth.css +162 -0
  11. package/macos/sonoma/macos-backgrounds.css +314 -0
  12. package/macos/sonoma/macos-buttons.css +231 -0
  13. package/macos/sonoma/macos-cards.css +104 -0
  14. package/macos/sonoma/macos-content.css +157 -0
  15. package/macos/sonoma/macos-dialogs.css +122 -0
  16. package/macos/sonoma/macos-feedback.css +237 -0
  17. package/macos/sonoma/macos-fonts.css +7 -0
  18. package/macos/sonoma/macos-foundations.css +479 -0
  19. package/macos/sonoma/macos-inputs.css +1580 -0
  20. package/macos/sonoma/macos-layouts.css +223 -0
  21. package/macos/sonoma/macos-liquid-glass.css +279 -0
  22. package/macos/sonoma/macos-menus.css +184 -0
  23. package/macos/sonoma/macos-misc.css +635 -0
  24. package/macos/sonoma/macos-navigation.css +145 -0
  25. package/macos/sonoma/macos-selection.css +237 -0
  26. package/macos/sonoma/macos-sidebar.css +416 -0
  27. package/macos/sonoma/macos-tables.css +318 -0
  28. package/macos/sonoma/macos-toolbar.css +302 -0
  29. package/macos/sonoma/macos-typography.css +485 -0
  30. package/macos/sonoma/macos-window.css +273 -0
  31. package/macos/tahoe/index.css +34 -0
  32. package/macos/tahoe/macos-auth.css +162 -0
  33. package/macos/tahoe/macos-backgrounds.css +314 -0
  34. package/macos/tahoe/macos-buttons.css +286 -0
  35. package/macos/tahoe/macos-cards.css +125 -0
  36. package/macos/tahoe/macos-content.css +157 -0
  37. package/macos/tahoe/macos-dialogs.css +195 -0
  38. package/macos/tahoe/macos-feedback.css +273 -0
  39. package/macos/tahoe/macos-fonts.css +7 -0
  40. package/macos/tahoe/macos-foundations.css +516 -0
  41. package/macos/tahoe/macos-inputs.css +1656 -0
  42. package/macos/tahoe/macos-layouts.css +438 -0
  43. package/macos/tahoe/macos-liquid-glass.css +279 -0
  44. package/macos/tahoe/macos-menus.css +184 -0
  45. package/macos/tahoe/macos-misc.css +635 -0
  46. package/macos/tahoe/macos-navigation.css +191 -0
  47. package/macos/tahoe/macos-selection.css +237 -0
  48. package/macos/tahoe/macos-sidebar.css +420 -0
  49. package/macos/tahoe/macos-tables.css +320 -0
  50. package/macos/tahoe/macos-toolbar.css +304 -0
  51. package/macos/tahoe/macos-typography.css +485 -0
  52. package/macos/tahoe/macos-window.css +273 -0
  53. package/package.json +3 -2
  54. package/theme.css +812 -0
  55. package/third-party.css +39 -0
  56. package/utilities.css +105 -0
@@ -0,0 +1,231 @@
1
+ /* ============================================================
2
+ macOS Sonoma 14 — Button Overrides
3
+
4
+ Targets: Button (solid|ghost|transparent), Hamburger, TopupButton
5
+ Selector: html.macos [data-tucu="button"]
6
+
7
+ References:
8
+ - Apple HIG > Buttons > macOS Sonoma 14 > Push Buttons
9
+ - Push button height: 22pt (regular), 28pt (large)
10
+ - Radius: 10pt (Sonoma), font: 13pt Inter Medium
11
+ - Focus ring: 3px accent 48% opacity
12
+ 6 states: default, hover, pressed, disabled, focus-visible, loading
13
+ ============================================================ */
14
+
15
+ /* ── Base button ─────────────────────────────────────────────── */
16
+ html.macos [data-tucu='button'] {
17
+ border-radius: var(--macos-radius-control);
18
+ font-family: var(--macos-font-family);
19
+ font-size: var(--macos-font-size-body);
20
+ font-weight: var(--macos-font-weight-medium);
21
+ letter-spacing: var(--macos-tracking-13);
22
+ line-height: 1.4;
23
+ transition: background-color 0.1s ease, filter 0.1s ease, box-shadow 0.1s ease;
24
+ }
25
+
26
+ /* Suppress the generic hover translate that conflicts with our overrides */
27
+ html.macos [data-tucu='button']:not(:disabled):not([aria-busy='true']) {
28
+ transform: none !important;
29
+ }
30
+
31
+ /* ── Solid variant: subtle shadow like native push button ──── */
32
+ html.macos [data-tucu='button'][data-variant='solid'] {
33
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14), 0 0.5px 0.5px rgba(0, 0, 0, 0.08),
34
+ inset 0 0.5px 0 rgba(255, 255, 255, 0.4);
35
+ }
36
+ html.macos [data-tucu='button'][data-variant='solid']:hover {
37
+ filter: brightness(1.06);
38
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16), 0 0.5px 0.5px rgba(0, 0, 0, 0.1),
39
+ inset 0 0.5px 0 rgba(255, 255, 255, 0.4);
40
+ }
41
+ html.macos [data-tucu='button'][data-variant='solid']:active {
42
+ filter: brightness(0.94);
43
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12);
44
+ }
45
+ html.macos.dark [data-tucu='button'][data-variant='solid'] {
46
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3),
47
+ inset 0 0.5px 0 rgba(255, 255, 255, 0.1);
48
+ }
49
+ html.macos.dark [data-tucu='button'][data-variant='solid']:hover {
50
+ filter: brightness(1.08);
51
+ }
52
+
53
+ /* ── Ghost variant: subtle border ──────────────────────────── */
54
+ html.macos [data-tucu='button'][data-variant='ghost'] {
55
+ background-color: var(--macos-control-bg) !important;
56
+ border: 0.5px solid var(--macos-separator) !important;
57
+ color: var(--macos-label) !important;
58
+ box-shadow: 0 0.5px 1px rgba(0, 0, 0, 0.1),
59
+ inset 0 0.5px 0 rgba(255, 255, 255, 0.6);
60
+ }
61
+ html.macos [data-tucu='button'][data-variant='ghost']:hover {
62
+ background-color: var(--macos-control-bg-hover) !important;
63
+ filter: none;
64
+ }
65
+ html.macos [data-tucu='button'][data-variant='ghost']:active {
66
+ background-color: var(--macos-control-bg-active) !important;
67
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08);
68
+ }
69
+ html.macos.dark [data-tucu='button'][data-variant='ghost'] {
70
+ background-color: rgba(255, 255, 255, 0.1) !important;
71
+ border-color: rgba(255, 255, 255, 0.12) !important;
72
+ box-shadow: 0 0.5px 1px rgba(0, 0, 0, 0.25);
73
+ }
74
+ html.macos.dark [data-tucu='button'][data-variant='ghost']:hover {
75
+ background-color: rgba(255, 255, 255, 0.14) !important;
76
+ }
77
+ html.macos.dark [data-tucu='button'][data-variant='ghost']:active {
78
+ background-color: rgba(255, 255, 255, 0.06) !important;
79
+ }
80
+
81
+ /* ── Transparent variant ───────────────────────────────────── */
82
+ html.macos [data-tucu='button'][data-variant='transparent'] {
83
+ background-color: transparent !important;
84
+ border: none !important;
85
+ box-shadow: none !important;
86
+ color: var(--macos-control-accent) !important;
87
+ }
88
+ html.macos [data-tucu='button'][data-variant='transparent']:hover {
89
+ background-color: rgba(0, 0, 0, 0.04) !important;
90
+ }
91
+ html.macos [data-tucu='button'][data-variant='transparent']:active {
92
+ background-color: rgba(0, 0, 0, 0.08) !important;
93
+ }
94
+ html.macos.dark [data-tucu='button'][data-variant='transparent'] {
95
+ color: var(--macos-control-accent) !important;
96
+ }
97
+ html.macos.dark [data-tucu='button'][data-variant='transparent']:hover {
98
+ background-color: rgba(255, 255, 255, 0.06) !important;
99
+ }
100
+ html.macos.dark [data-tucu='button'][data-variant='transparent']:active {
101
+ background-color: rgba(255, 255, 255, 0.1) !important;
102
+ }
103
+
104
+ /* ── Shape overrides ───────────────────────────────────────── */
105
+ html.macos [data-tucu='button'][data-shape='pill'],
106
+ html.macos [data-tucu='button'][data-shape='circle'] {
107
+ border-radius: var(--macos-radius-full);
108
+ }
109
+
110
+ /* ── Size overrides: match macOS native control sizes ──────── */
111
+ html.macos [data-tucu='button'][data-size='large'] {
112
+ min-height: 28px;
113
+ padding-left: 20px;
114
+ padding-right: 20px;
115
+ font-size: var(--macos-font-size-title3);
116
+ }
117
+ html.macos [data-tucu='button'][data-size='medium'] {
118
+ min-height: var(--macos-control-height);
119
+ padding-left: 16px;
120
+ padding-right: 16px;
121
+ font-size: var(--macos-font-size-body);
122
+ }
123
+ html.macos [data-tucu='button'][data-size='small'] {
124
+ min-height: var(--macos-control-height);
125
+ padding-left: 12px;
126
+ padding-right: 12px;
127
+ font-size: var(--macos-font-size-body);
128
+ }
129
+ html.macos [data-tucu='button'][data-size='mini'] {
130
+ min-height: var(--macos-control-height-sm);
131
+ padding-left: 10px;
132
+ padding-right: 10px;
133
+ font-size: var(--macos-font-size-callout);
134
+ }
135
+ html.macos [data-tucu='button'][data-size='tiny'] {
136
+ min-height: var(--macos-control-height-mini);
137
+ padding-left: 8px;
138
+ padding-right: 8px;
139
+ font-size: var(--macos-font-size-subheadline);
140
+ }
141
+
142
+ /* ── Focus ring ────────────────────────────────────────────── */
143
+ html.macos [data-tucu='button']:focus-visible {
144
+ outline: none;
145
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring);
146
+ }
147
+
148
+ /* ── Disabled state ────────────────────────────────────────── */
149
+ html.macos [data-tucu='button']:disabled {
150
+ opacity: 0.4;
151
+ cursor: default;
152
+ }
153
+
154
+ /* ── Responsive: larger touch targets on mobile ──────────────── */
155
+ @media (max-width: 767px) {
156
+ html.macos [data-tucu='button'] {
157
+ min-height: 44px;
158
+ }
159
+ }
160
+
161
+ /* ── Hamburger button ────────────────────────────────────────── */
162
+
163
+ html.macos [data-tucu='hamburger'] {
164
+ border-radius: var(--macos-radius-control);
165
+ background-color: transparent;
166
+ border: none;
167
+ transition: background-color 0.1s ease;
168
+ }
169
+
170
+ html.macos [data-tucu='hamburger']:hover {
171
+ background-color: rgba(0, 0, 0, 0.06);
172
+ }
173
+
174
+ html.macos [data-tucu='hamburger']:active {
175
+ background-color: rgba(0, 0, 0, 0.1);
176
+ }
177
+
178
+ html.macos [data-tucu='hamburger']:focus-visible {
179
+ outline: none;
180
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring);
181
+ }
182
+
183
+ html.macos.dark [data-tucu='hamburger']:hover {
184
+ background-color: rgba(255, 255, 255, 0.08);
185
+ }
186
+
187
+ html.macos.dark [data-tucu='hamburger']:active {
188
+ background-color: rgba(255, 255, 255, 0.12);
189
+ }
190
+
191
+ /* ── TopupButton ─────────────────────────────────────────────── */
192
+
193
+ html.macos [data-tucu='topup-button'] {
194
+ border-radius: var(--macos-radius-control);
195
+ font-family: var(--macos-font-family);
196
+ font-size: var(--macos-font-size-body);
197
+ font-weight: var(--macos-font-weight-medium);
198
+ box-shadow: 0 0.5px 1px rgba(0, 0, 0, 0.1);
199
+ transition: filter 0.1s ease, box-shadow 0.1s ease;
200
+ }
201
+
202
+ html.macos [data-tucu='topup-button']:hover {
203
+ filter: brightness(1.05);
204
+ }
205
+
206
+ html.macos [data-tucu='topup-button']:active {
207
+ filter: brightness(0.95);
208
+ }
209
+
210
+ html.macos [data-tucu='topup-button']:focus-visible {
211
+ outline: none;
212
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring);
213
+ }
214
+
215
+ /* ── Loading state ───────────────────────────────────────────── */
216
+
217
+ html.macos [data-tucu='button'][aria-busy='true'] {
218
+ opacity: 0.7;
219
+ cursor: wait;
220
+ pointer-events: none;
221
+ }
222
+
223
+ /* ── Reduced motion ──────────────────────────────────────────── */
224
+
225
+ @media (prefers-reduced-motion: reduce) {
226
+ html.macos [data-tucu='button'],
227
+ html.macos [data-tucu='hamburger'],
228
+ html.macos [data-tucu='topup-button'] {
229
+ transition: none;
230
+ }
231
+ }
@@ -0,0 +1,104 @@
1
+ /* ============================================================
2
+ macOS Sonoma 14 — Card Overrides
3
+
4
+ Targets: Card, CardContainer, InfoCard, PanelCard, StatsCard,
5
+ WalletCard, TransactionCard
6
+ Selector: html.macos [data-tucu="card"]
7
+
8
+ References:
9
+ - Apple HIG Sonoma > Grouped content: solid surface, radius-xl
10
+ - Radius: var(--macos-radius-xl) = 12pt
11
+ - Shadow: diffuse multi-layer (light), heavier (dark)
12
+ - Border: 0.5px separator color
13
+ ============================================================ */
14
+
15
+ /* ── Base card ───────────────────────────────────────────────── */
16
+ html.macos [data-tucu='card'] {
17
+ border-radius: var(--macos-radius-xl);
18
+ border: 0.5px solid var(--macos-separator);
19
+ background-color: var(--macos-content-bg);
20
+ box-shadow: var(--macos-shadow-card);
21
+ transition: box-shadow var(--macos-transition-normal),
22
+ border-color var(--macos-transition-normal);
23
+ }
24
+
25
+ html.macos [data-tucu='card']:hover {
26
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.08);
27
+ }
28
+
29
+ /* ── Dark mode ───────────────────────────────────────────────── */
30
+ html.macos.dark [data-tucu='card'] {
31
+ background-color: var(--macos-content-bg) !important;
32
+ border-color: var(--macos-separator);
33
+ box-shadow: var(--macos-shadow-card);
34
+ }
35
+
36
+ html.macos.dark [data-tucu='card']:hover {
37
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.35);
38
+ }
39
+
40
+ /* ── Card header (internal) ──────────────────────────────────── */
41
+ html.macos [data-tucu='card-header'] {
42
+ border-bottom: 1px solid var(--macos-separator);
43
+ padding: var(--macos-space-3) var(--macos-space-4);
44
+ font-weight: var(--macos-font-weight-semibold);
45
+ font-size: var(--macos-font-size-body);
46
+ }
47
+
48
+ /* ── Card body ───────────────────────────────────────────────── */
49
+ html.macos [data-tucu='card-body'] {
50
+ padding: var(--macos-space-4);
51
+ }
52
+
53
+ /* ── Stats / Info cards: tighter padding ─────────────────────── */
54
+ html.macos [data-tucu='stats-card'] {
55
+ border-radius: var(--macos-radius-xl);
56
+ border: 0.5px solid var(--macos-separator);
57
+ background-color: var(--macos-content-bg);
58
+ box-shadow: var(--macos-shadow-card);
59
+ padding: var(--macos-space-3) var(--macos-space-4);
60
+ }
61
+
62
+ html.macos.dark [data-tucu='stats-card'] {
63
+ background-color: var(--macos-content-bg);
64
+ border-color: var(--macos-separator);
65
+ }
66
+
67
+ /* ── Panel card (section containers) ─────────────────────────── */
68
+ html.macos [data-tucu='panel-card'] {
69
+ border-radius: var(--macos-radius-xl);
70
+ border: 1px solid var(--macos-separator);
71
+ background-color: var(--macos-gray6);
72
+ box-shadow: none;
73
+ }
74
+
75
+ html.macos.dark [data-tucu='panel-card'] {
76
+ background-color: var(--macos-gray5);
77
+ border-color: var(--macos-separator);
78
+ }
79
+
80
+ /* ── CardTitle (section with floating label) ─────────────────── */
81
+ html.macos [data-tucu='card-title'] {
82
+ border-radius: var(--macos-radius-xl);
83
+ border-color: var(--macos-separator);
84
+ }
85
+
86
+ html.macos.dark [data-tucu='card-title'] {
87
+ border-color: var(--macos-separator);
88
+ }
89
+
90
+ /* Floating label inherits card bg so it blends with the parent */
91
+ html.macos [data-tucu='card-title-label'] {
92
+ background-color: var(--macos-control-bg);
93
+ border-radius: var(--macos-radius-md);
94
+ font-size: var(--macos-type-heading-lg-size);
95
+ line-height: var(--macos-type-heading-lg-leading);
96
+ font-weight: var(--macos-font-weight-semibold);
97
+ letter-spacing: var(--macos-type-heading-lg-tracking);
98
+ color: var(--macos-label);
99
+ }
100
+
101
+ html.macos.dark [data-tucu='card-title-label'] {
102
+ background-color: var(--macos-control-bg);
103
+ color: var(--macos-label);
104
+ }
@@ -0,0 +1,157 @@
1
+ /* ============================================================
2
+ macOS Sonoma 14 — Content Organization Overrides
3
+
4
+ Targets: ListContainer, ListItem, Collapse, Pagination
5
+ Selectors: html.macos [data-tucu="list-item"], etc.
6
+
7
+ References:
8
+ - Apple HIG Sonoma > Lists: 44pt touch / 24pt desktop row height
9
+ - Disclosure: chevron 6pt, rotate 90° on expand
10
+ - Pagination: segmented-like compact control
11
+ ============================================================ */
12
+
13
+ /* ══ LIST CONTAINER ══════════════════════════════════════════ */
14
+
15
+ html.macos [data-tucu='list-trigger'] {
16
+ display: flex;
17
+ align-items: center;
18
+ gap: var(--macos-space-2);
19
+ height: 28px;
20
+ padding: 0 var(--macos-space-2);
21
+ border-radius: var(--macos-radius-control);
22
+ font-family: var(--macos-font-family);
23
+ font-size: var(--macos-font-size-body);
24
+ font-weight: var(--macos-font-weight-regular);
25
+ color: var(--macos-label);
26
+ background: transparent;
27
+ cursor: default;
28
+ transition: background-color 0.1s ease;
29
+ }
30
+
31
+ html.macos [data-tucu='list-trigger']:hover {
32
+ background-color: var(--macos-gray5);
33
+ }
34
+
35
+ html.macos.dark [data-tucu='list-trigger']:hover {
36
+ background-color: var(--macos-gray4);
37
+ }
38
+
39
+ html.macos [data-tucu='list-trigger']:focus-visible {
40
+ outline: none;
41
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring);
42
+ }
43
+
44
+ html.macos [data-tucu='list-dropdown'] {
45
+ background-color: var(--macos-content-bg);
46
+ border: 0.5px solid var(--macos-separator);
47
+ border-radius: var(--macos-radius-control);
48
+ box-shadow: var(--macos-shadow-card);
49
+ padding: var(--macos-space-1) 0;
50
+ overflow: hidden;
51
+ }
52
+
53
+ /* ── List Item ───────────────────────────────────────────────── */
54
+
55
+ html.macos [data-tucu='list-item'] {
56
+ display: flex;
57
+ align-items: center;
58
+ justify-content: center;
59
+ min-height: 24px;
60
+ padding: 2px var(--macos-space-3);
61
+ font-family: var(--macos-font-family);
62
+ font-size: var(--macos-font-size-body);
63
+ font-weight: var(--macos-font-weight-regular);
64
+ color: var(--macos-label);
65
+ border-bottom: 0.5px solid var(--macos-separator);
66
+ transition: background-color 0.08s ease;
67
+ }
68
+
69
+ html.macos [data-tucu='list-item']:last-child {
70
+ border-bottom: none;
71
+ }
72
+
73
+ html.macos [data-tucu='list-item']:hover {
74
+ background-color: color-mix(
75
+ in srgb,
76
+ var(--macos-control-accent) 10%,
77
+ transparent
78
+ );
79
+ }
80
+
81
+ /* ══ PAGINATION ══════════════════════════════════════════════ */
82
+
83
+ html.macos [data-tucu='pagination'] {
84
+ display: flex;
85
+ align-items: center;
86
+ gap: 2px;
87
+ font-family: var(--macos-font-family);
88
+ }
89
+
90
+ html.macos [data-tucu='pagination-btn'],
91
+ html.macos [data-tucu='pagination-page'] {
92
+ display: inline-flex;
93
+ align-items: center;
94
+ justify-content: center;
95
+ height: 24px;
96
+ min-width: 24px;
97
+ padding: 0 6px;
98
+ border-radius: var(--macos-radius-small-control);
99
+ font-size: var(--macos-font-size-callout);
100
+ font-weight: var(--macos-font-weight-regular);
101
+ color: var(--macos-secondary-label);
102
+ background: transparent;
103
+ border: none;
104
+ cursor: default;
105
+ transition: background-color 0.1s ease, color 0.1s ease;
106
+ }
107
+
108
+ html.macos [data-tucu='pagination-btn']:hover,
109
+ html.macos [data-tucu='pagination-page']:hover {
110
+ background-color: var(--macos-gray5);
111
+ color: var(--macos-label);
112
+ }
113
+
114
+ html.macos.dark [data-tucu='pagination-btn']:hover,
115
+ html.macos.dark [data-tucu='pagination-page']:hover {
116
+ background-color: var(--macos-gray4);
117
+ }
118
+
119
+ html.macos [data-tucu='pagination-page'][data-active='true'] {
120
+ background-color: var(--macos-control-accent);
121
+ color: white;
122
+ font-weight: var(--macos-font-weight-medium);
123
+ }
124
+
125
+ html.macos [data-tucu='pagination-btn']:disabled,
126
+ html.macos [data-tucu='pagination-btn'][disabled] {
127
+ color: var(--macos-quaternary-label);
128
+ pointer-events: none;
129
+ background: transparent;
130
+ }
131
+
132
+ html.macos [data-tucu='pagination-btn']:focus-visible,
133
+ html.macos [data-tucu='pagination-page']:focus-visible {
134
+ outline: none;
135
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring);
136
+ }
137
+
138
+ html.macos [data-tucu='pagination-ellipsis'] {
139
+ display: inline-flex;
140
+ align-items: center;
141
+ justify-content: center;
142
+ height: 24px;
143
+ min-width: 16px;
144
+ font-size: var(--macos-font-size-callout);
145
+ color: var(--macos-tertiary-label);
146
+ }
147
+
148
+ /* ── Reduced motion ──────────────────────────────────────────── */
149
+
150
+ @media (prefers-reduced-motion: reduce) {
151
+ html.macos [data-tucu='list-trigger'],
152
+ html.macos [data-tucu='collapse-trigger'],
153
+ html.macos [data-tucu='pagination-btn'],
154
+ html.macos [data-tucu='pagination-page'] {
155
+ transition: none;
156
+ }
157
+ }
@@ -0,0 +1,122 @@
1
+ /* ============================================================
2
+ macOS Sonoma 14 — Dialog Overrides
3
+
4
+ Targets: Modal, Drawer, Sidebar, SettingsDrawer
5
+ Selectors: html.macos [data-tucu="modal"], etc.
6
+
7
+ References:
8
+ - Apple HIG Sonoma > Sheets: glass regular, 24pt radius
9
+ - Apple HIG Sonoma > Sidebars: 220pt width, glass thin
10
+ - Apple HIG Sonoma > Dialogs: centered, radius-popover
11
+ ============================================================ */
12
+
13
+ /* ── Modal / Sheet ───────────────────────────────────────────── */
14
+ html.macos [data-tucu='modal'] {
15
+ border-radius: var(--macos-radius-popover);
16
+ background-color: var(--macos-window-bg);
17
+ border: 0.5px solid var(--macos-glass-border);
18
+ box-shadow: var(--macos-shadow-window), 0 0 0 0.5px rgba(0, 0, 0, 0.06) inset;
19
+ overflow: hidden;
20
+ }
21
+
22
+ html.macos.dark [data-tucu='modal'] {
23
+ background-color: var(--macos-window-bg);
24
+ border-color: var(--macos-separator);
25
+ }
26
+
27
+ /* Modal overlay */
28
+ html.macos [data-tucu='modal-overlay'] {
29
+ background-color: rgba(0, 0, 0, 0.32) !important;
30
+ }
31
+
32
+ html.macos.dark [data-tucu='modal-overlay'] {
33
+ background-color: rgba(0, 0, 0, 0.48) !important;
34
+ }
35
+
36
+ /* Modal header */
37
+ html.macos [data-tucu='modal-header'] {
38
+ padding: var(--macos-space-4);
39
+ border-bottom: 1px solid var(--macos-separator);
40
+ font-weight: var(--macos-font-weight-semibold);
41
+ font-size: var(--macos-font-size-body);
42
+ }
43
+
44
+ /* Modal body */
45
+ html.macos [data-tucu='modal-body'] {
46
+ padding: var(--macos-space-4) var(--macos-space-5);
47
+ }
48
+
49
+ /* Modal footer */
50
+ html.macos [data-tucu='modal-footer'] {
51
+ padding: var(--macos-space-3) var(--macos-space-4);
52
+ border-top: 1px solid var(--macos-separator);
53
+ display: flex;
54
+ justify-content: flex-end;
55
+ gap: var(--macos-space-2);
56
+ }
57
+
58
+ /* ── Drawer ──────────────────────────────────────────────────── */
59
+ html.macos [data-tucu='drawer'] {
60
+ background-color: var(--macos-window-bg);
61
+ border-left: 0.5px solid var(--macos-separator);
62
+ box-shadow: -4px 0 24px rgba(0, 0, 0, 0.16);
63
+ }
64
+
65
+ html.macos.dark [data-tucu='drawer'] {
66
+ background-color: var(--macos-window-bg);
67
+ border-left-color: var(--macos-separator);
68
+ }
69
+
70
+ /* ── Sidebar ─────────────────────────────────────────────────── */
71
+ html.macos [data-tucu='sidebar'] {
72
+ width: var(--macos-sidebar-width);
73
+ background-color: var(--macos-material-toolbar);
74
+ backdrop-filter: blur(var(--macos-material-sidebar-blur));
75
+ -webkit-backdrop-filter: blur(var(--macos-material-sidebar-blur));
76
+ border-right: 1px solid var(--macos-separator);
77
+ }
78
+
79
+ html.macos.dark [data-tucu='sidebar'] {
80
+ background-color: var(--macos-material-toolbar);
81
+ border-right-color: var(--macos-separator);
82
+ }
83
+
84
+ /* Sidebar item */
85
+ html.macos [data-tucu='sidebar-item'] {
86
+ height: var(--macos-sidebar-row-height);
87
+ padding: 0 var(--macos-space-3);
88
+ border-radius: var(--macos-radius-md);
89
+ font-size: var(--macos-font-size-body);
90
+ color: var(--macos-label);
91
+ transition: background-color var(--macos-transition-fast);
92
+ }
93
+
94
+ html.macos [data-tucu='sidebar-item']:hover {
95
+ background-color: rgba(0, 0, 0, 0.04);
96
+ }
97
+
98
+ html.macos.dark [data-tucu='sidebar-item']:hover {
99
+ background-color: rgba(255, 255, 255, 0.06);
100
+ }
101
+
102
+ html.macos [data-tucu='sidebar-item'][data-active='true'] {
103
+ background-color: var(--macos-selected-content-bg);
104
+ color: #ffffff;
105
+ }
106
+
107
+ /* Sidebar section title */
108
+ html.macos [data-tucu='sidebar-section'] {
109
+ font-size: var(--macos-font-size-subheadline);
110
+ font-weight: var(--macos-font-weight-semibold);
111
+ color: var(--macos-secondary-label);
112
+ text-transform: uppercase;
113
+ letter-spacing: 0.06em;
114
+ padding: var(--macos-space-3) var(--macos-space-3) var(--macos-space-1);
115
+ }
116
+
117
+ /* Sidebar icon */
118
+ html.macos [data-tucu='sidebar-icon'] {
119
+ width: var(--macos-sidebar-icon-size);
120
+ height: var(--macos-sidebar-icon-size);
121
+ margin-right: var(--macos-space-2);
122
+ }