@e-burgos/tucu-ui 2.7.3 → 2.8.1

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 (58) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +17 -0
  3. package/base.css +225 -0
  4. package/components/inputs/input.mjs +43 -43
  5. package/components/inputs/select.mjs +1 -1
  6. package/components/loaders/loader.mjs +21 -21
  7. package/components/typography/index.mjs +30 -30
  8. package/index.css +1 -1
  9. package/index.js +1 -1
  10. package/macos/index.css +15 -0
  11. package/macos/sonoma/index.css +34 -0
  12. package/macos/sonoma/macos-auth.css +162 -0
  13. package/macos/sonoma/macos-backgrounds.css +314 -0
  14. package/macos/sonoma/macos-buttons.css +231 -0
  15. package/macos/sonoma/macos-cards.css +104 -0
  16. package/macos/sonoma/macos-content.css +157 -0
  17. package/macos/sonoma/macos-dialogs.css +122 -0
  18. package/macos/sonoma/macos-feedback.css +237 -0
  19. package/macos/sonoma/macos-fonts.css +7 -0
  20. package/macos/sonoma/macos-foundations.css +479 -0
  21. package/macos/sonoma/macos-inputs.css +1580 -0
  22. package/macos/sonoma/macos-layouts.css +223 -0
  23. package/macos/sonoma/macos-liquid-glass.css +279 -0
  24. package/macos/sonoma/macos-menus.css +184 -0
  25. package/macos/sonoma/macos-misc.css +635 -0
  26. package/macos/sonoma/macos-navigation.css +145 -0
  27. package/macos/sonoma/macos-selection.css +237 -0
  28. package/macos/sonoma/macos-sidebar.css +416 -0
  29. package/macos/sonoma/macos-tables.css +318 -0
  30. package/macos/sonoma/macos-toolbar.css +302 -0
  31. package/macos/sonoma/macos-typography.css +485 -0
  32. package/macos/sonoma/macos-window.css +273 -0
  33. package/macos/tahoe/index.css +34 -0
  34. package/macos/tahoe/macos-auth.css +162 -0
  35. package/macos/tahoe/macos-backgrounds.css +314 -0
  36. package/macos/tahoe/macos-buttons.css +286 -0
  37. package/macos/tahoe/macos-cards.css +125 -0
  38. package/macos/tahoe/macos-content.css +157 -0
  39. package/macos/tahoe/macos-dialogs.css +195 -0
  40. package/macos/tahoe/macos-feedback.css +273 -0
  41. package/macos/tahoe/macos-fonts.css +7 -0
  42. package/macos/tahoe/macos-foundations.css +516 -0
  43. package/macos/tahoe/macos-inputs.css +1656 -0
  44. package/macos/tahoe/macos-layouts.css +438 -0
  45. package/macos/tahoe/macos-liquid-glass.css +279 -0
  46. package/macos/tahoe/macos-menus.css +184 -0
  47. package/macos/tahoe/macos-misc.css +635 -0
  48. package/macos/tahoe/macos-navigation.css +191 -0
  49. package/macos/tahoe/macos-selection.css +237 -0
  50. package/macos/tahoe/macos-sidebar.css +420 -0
  51. package/macos/tahoe/macos-tables.css +320 -0
  52. package/macos/tahoe/macos-toolbar.css +304 -0
  53. package/macos/tahoe/macos-typography.css +485 -0
  54. package/macos/tahoe/macos-window.css +273 -0
  55. package/package.json +3 -2
  56. package/theme.css +812 -0
  57. package/third-party.css +39 -0
  58. package/utilities.css +105 -0
@@ -0,0 +1,420 @@
1
+ /* ============================================================
2
+ macOS Tahoe 26 — Sidebar, ContentPane, ScrollView, SplitView
3
+
4
+ Scoped to html.macos-tahoe — no leakage to default theme.
5
+ References: Apple HIG > Sidebars > macOS Tahoe 26
6
+ Components: MacOSSidebar, MacOSSidebarSection, MacOSSidebarItem,
7
+ MacOSContentPane, MacOSScrollView, MacOSSplitView,
8
+ MacOSInspector
9
+ ============================================================ */
10
+
11
+ /* ── MacOSSidebar container ──────────────────────────────────── */
12
+
13
+ html.macos-tahoe [data-tucu='sidebar'] {
14
+ width: var(--macos-sidebar-width);
15
+ min-width: var(--macos-sidebar-width);
16
+ max-width: var(--macos-sidebar-width);
17
+ height: 100%;
18
+ display: flex;
19
+ flex-direction: column;
20
+ flex-shrink: 0;
21
+ position: relative;
22
+
23
+ /* Liquid Glass regular material */
24
+ background-color: var(--macos-glass-regular-bg);
25
+ backdrop-filter: blur(var(--macos-glass-blur, 28px)) saturate(1.6);
26
+ -webkit-backdrop-filter: blur(var(--macos-glass-blur, 28px)) saturate(1.6);
27
+ border-right: 0.5px solid var(--macos-glass-border);
28
+ overflow: hidden;
29
+ }
30
+
31
+ html.macos-tahoe.dark [data-tucu='sidebar'] {
32
+ background-color: var(--macos-glass-regular-bg);
33
+ border-right-color: var(--macos-glass-border);
34
+ }
35
+
36
+ /* Fallback: no backdrop-filter support */
37
+ @supports not (backdrop-filter: blur(1px)) {
38
+ html.macos-tahoe [data-tucu='sidebar'] {
39
+ background-color: var(--macos-glass-regular-bg-opaque);
40
+ }
41
+ }
42
+
43
+ /* Reduced transparency */
44
+ @media (prefers-reduced-transparency: reduce) {
45
+ html.macos-tahoe [data-tucu='sidebar'] {
46
+ background-color: var(--macos-glass-regular-bg-opaque);
47
+ backdrop-filter: none;
48
+ -webkit-backdrop-filter: none;
49
+ }
50
+ }
51
+
52
+ /* Sidebar header (avatar, search, etc.) */
53
+ html.macos-tahoe [data-tucu='sidebar-header'] {
54
+ flex-shrink: 0;
55
+ padding: var(--macos-space-3) var(--macos-space-3) var(--macos-space-2);
56
+ border-bottom: 0.5px solid var(--macos-separator);
57
+ }
58
+
59
+ /* Sidebar scrollable navigation area */
60
+ html.macos-tahoe [data-tucu='sidebar-nav'] {
61
+ flex: 1;
62
+ overflow-y: auto;
63
+ overflow-x: hidden;
64
+ padding: var(--macos-space-2) var(--macos-space-2);
65
+ /* Custom thin scrollbar */
66
+ scrollbar-width: thin;
67
+ scrollbar-color: var(--macos-gray3) transparent;
68
+ }
69
+
70
+ html.macos-tahoe [data-tucu='sidebar-nav']::-webkit-scrollbar {
71
+ width: 4px;
72
+ }
73
+
74
+ html.macos-tahoe [data-tucu='sidebar-nav']::-webkit-scrollbar-track {
75
+ background: transparent;
76
+ }
77
+
78
+ html.macos-tahoe [data-tucu='sidebar-nav']::-webkit-scrollbar-thumb {
79
+ background-color: var(--macos-gray3);
80
+ border-radius: var(--macos-radius-pill);
81
+ }
82
+
83
+ html.macos-tahoe.dark [data-tucu='sidebar-nav']::-webkit-scrollbar-thumb {
84
+ background-color: var(--macos-gray4);
85
+ }
86
+
87
+ /* Sidebar footer */
88
+ html.macos-tahoe [data-tucu='sidebar-footer'] {
89
+ flex-shrink: 0;
90
+ padding: var(--macos-space-2) var(--macos-space-3) var(--macos-space-3);
91
+ border-top: 0.5px solid var(--macos-separator);
92
+ }
93
+
94
+ /* ── MacOSSidebarSection ─────────────────────────────────────── */
95
+
96
+ html.macos-tahoe [data-tucu='sidebar-section'] {
97
+ margin-bottom: var(--macos-space-4);
98
+ }
99
+
100
+ html.macos-tahoe [data-tucu='sidebar-section']:last-child {
101
+ margin-bottom: 0;
102
+ }
103
+
104
+ html.macos-tahoe [data-tucu='sidebar-section-label'] {
105
+ font-family: var(--macos-font-family);
106
+ font-size: var(--macos-ts-subheadline-size);
107
+ font-weight: var(--macos-font-weight-semibold);
108
+ line-height: var(--macos-ts-subheadline-leading);
109
+ letter-spacing: 0.06em;
110
+ text-transform: uppercase;
111
+ color: var(--macos-tertiary-label);
112
+ padding: var(--macos-space-1) var(--macos-space-2) var(--macos-space-1);
113
+ margin-bottom: var(--macos-space-1);
114
+ user-select: none;
115
+ }
116
+
117
+ html.macos-tahoe [data-tucu='sidebar-section-items'] {
118
+ display: flex;
119
+ flex-direction: column;
120
+ gap: 1px;
121
+ list-style: none;
122
+ padding: 0;
123
+ margin: 0;
124
+ }
125
+
126
+ /* ── MacOSSidebarItem ────────────────────────────────────────── */
127
+
128
+ html.macos-tahoe [data-tucu='sidebar-item'] {
129
+ height: 28px; /* Apple HIG: sidebar row 28px */
130
+ display: flex;
131
+ align-items: center;
132
+ gap: var(--macos-space-2);
133
+ padding: 0 var(--macos-space-2);
134
+ border-radius: var(--macos-radius-small-control);
135
+ width: 100%;
136
+ border: none;
137
+ background-color: transparent;
138
+ cursor: default;
139
+ text-align: left;
140
+ transition: background-color 0.1s ease;
141
+ position: relative;
142
+ text-decoration: none;
143
+ }
144
+
145
+ html.macos-tahoe [data-tucu='sidebar-item']:hover {
146
+ background-color: rgba(0, 0, 0, 0.06);
147
+ }
148
+
149
+ html.macos-tahoe.dark [data-tucu='sidebar-item']:hover {
150
+ background-color: rgba(255, 255, 255, 0.08);
151
+ }
152
+
153
+ /* Active / selected state */
154
+ html.macos-tahoe [data-tucu='sidebar-item'][data-active='true'],
155
+ html.macos-tahoe [data-tucu='sidebar-item'][aria-current='page'],
156
+ html.macos-tahoe [data-tucu='sidebar-item'][aria-selected='true'] {
157
+ background-color: var(
158
+ --macos-tahoe-sidebar-item-active-bg,
159
+ color-mix(in srgb, var(--color-brand, #0088ff) 14%, transparent)
160
+ );
161
+ color: var(
162
+ --macos-tahoe-sidebar-item-active-text,
163
+ var(--macos-control-accent)
164
+ );
165
+ font-weight: var(--macos-font-weight-medium);
166
+ }
167
+
168
+ html.macos-tahoe.dark [data-tucu='sidebar-item'][data-active='true'],
169
+ html.macos-tahoe.dark [data-tucu='sidebar-item'][aria-current='page'],
170
+ html.macos-tahoe.dark [data-tucu='sidebar-item'][aria-selected='true'] {
171
+ background-color: var(
172
+ --macos-tahoe-sidebar-item-active-bg,
173
+ color-mix(in srgb, var(--color-brand, #0091ff) 18%, transparent)
174
+ );
175
+ color: var(
176
+ --macos-tahoe-sidebar-item-active-text,
177
+ var(--color-brand, #3da3ff)
178
+ );
179
+ }
180
+
181
+ /* Pressed / active press state */
182
+ html.macos-tahoe [data-tucu='sidebar-item']:active {
183
+ background-color: rgba(0, 0, 0, 0.1);
184
+ }
185
+
186
+ html.macos-tahoe.dark [data-tucu='sidebar-item']:active {
187
+ background-color: rgba(255, 255, 255, 0.12);
188
+ }
189
+
190
+ /* Disabled */
191
+ html.macos-tahoe [data-tucu='sidebar-item'][disabled],
192
+ html.macos-tahoe [data-tucu='sidebar-item']:disabled,
193
+ html.macos-tahoe [data-tucu='sidebar-item'][data-disabled='true'] {
194
+ opacity: 0.38;
195
+ cursor: not-allowed;
196
+ pointer-events: none;
197
+ }
198
+
199
+ /* Focus */
200
+ html.macos-tahoe [data-tucu='sidebar-item']:focus-visible {
201
+ outline: none;
202
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring);
203
+ }
204
+
205
+ /* Item icon */
206
+ html.macos-tahoe [data-tucu='sidebar-item-icon'] {
207
+ width: var(--macos-sidebar-icon-size);
208
+ height: var(--macos-sidebar-icon-size);
209
+ flex-shrink: 0;
210
+ display: flex;
211
+ align-items: center;
212
+ justify-content: center;
213
+ color: var(--macos-secondary-label);
214
+ }
215
+
216
+ html.macos-tahoe
217
+ [data-tucu='sidebar-item'][data-active='true']
218
+ [data-tucu='sidebar-item-icon'],
219
+ html.macos-tahoe
220
+ [data-tucu='sidebar-item'][aria-current='page']
221
+ [data-tucu='sidebar-item-icon'] {
222
+ color: var(--macos-control-accent);
223
+ }
224
+
225
+ /* Item label */
226
+ html.macos-tahoe [data-tucu='sidebar-item-label'] {
227
+ flex: 1;
228
+ font-family: var(--macos-font-family);
229
+ font-size: var(--macos-ts-body-size);
230
+ font-weight: inherit;
231
+ line-height: var(--macos-ts-body-leading);
232
+ letter-spacing: var(--macos-ts-body-tracking);
233
+ color: var(--macos-label);
234
+ white-space: nowrap;
235
+ overflow: hidden;
236
+ text-overflow: ellipsis;
237
+ user-select: none;
238
+ }
239
+
240
+ html.macos-tahoe
241
+ [data-tucu='sidebar-item'][data-active='true']
242
+ [data-tucu='sidebar-item-label'],
243
+ html.macos-tahoe
244
+ [data-tucu='sidebar-item'][aria-current='page']
245
+ [data-tucu='sidebar-item-label'] {
246
+ color: inherit;
247
+ }
248
+
249
+ /* Item badge */
250
+ html.macos-tahoe [data-tucu='sidebar-item-badge'] {
251
+ flex-shrink: 0;
252
+ min-width: 18px;
253
+ height: 18px;
254
+ display: flex;
255
+ align-items: center;
256
+ justify-content: center;
257
+ padding: 0 5px;
258
+ border-radius: var(--macos-radius-pill);
259
+ font-family: var(--macos-font-family);
260
+ font-size: var(--macos-ts-caption2-size);
261
+ font-weight: var(--macos-font-weight-medium);
262
+ background-color: var(--macos-secondary-label);
263
+ color: var(--macos-window-bg);
264
+ }
265
+
266
+ html.macos-tahoe
267
+ [data-tucu='sidebar-item'][data-active='true']
268
+ [data-tucu='sidebar-item-badge'] {
269
+ background-color: var(--macos-control-accent);
270
+ color: #ffffff;
271
+ }
272
+
273
+ html.macos-tahoe.dark [data-tucu='sidebar-item-badge'] {
274
+ background-color: rgba(235, 235, 245, 0.3);
275
+ color: rgba(235, 235, 245, 0.88);
276
+ }
277
+
278
+ /* ── MacOSContentPane ────────────────────────────────────────── */
279
+ /* SOLID background — no glass in content areas */
280
+
281
+ html.macos-tahoe [data-tucu='content-pane'] {
282
+ flex: 1;
283
+ display: flex;
284
+ flex-direction: column;
285
+ overflow: hidden;
286
+ background-color: var(--macos-content-bg);
287
+ position: relative;
288
+ }
289
+
290
+ html.macos-tahoe.dark [data-tucu='content-pane'] {
291
+ background-color: var(--macos-content-bg);
292
+ }
293
+
294
+ html.macos-tahoe [data-tucu='content-pane-body'] {
295
+ flex: 1;
296
+ overflow-y: auto;
297
+ overflow-x: hidden;
298
+ padding: var(--macos-content-padding);
299
+ }
300
+
301
+ /* ── MacOSScrollView ─────────────────────────────────────────── */
302
+
303
+ html.macos-tahoe [data-tucu='scroll-view'] {
304
+ overflow-y: auto;
305
+ overflow-x: hidden;
306
+ position: relative;
307
+ /* Thin scrollbar */
308
+ scrollbar-width: thin;
309
+ scrollbar-color: var(--macos-gray3) transparent;
310
+ }
311
+
312
+ html.macos-tahoe [data-tucu='scroll-view']::-webkit-scrollbar {
313
+ width: 4px;
314
+ height: 4px;
315
+ }
316
+
317
+ html.macos-tahoe [data-tucu='scroll-view']::-webkit-scrollbar-track {
318
+ background: transparent;
319
+ }
320
+
321
+ html.macos-tahoe [data-tucu='scroll-view']::-webkit-scrollbar-thumb {
322
+ background-color: var(--macos-gray3);
323
+ border-radius: var(--macos-radius-pill);
324
+ }
325
+
326
+ html.macos-tahoe.dark [data-tucu='scroll-view']::-webkit-scrollbar-thumb {
327
+ background-color: var(--macos-gray4);
328
+ }
329
+
330
+ /* Scroll edge overlays */
331
+ html.macos-tahoe [data-tucu='scroll-view'] > [data-tucu='scroll-edge-top'] {
332
+ background: linear-gradient(to bottom, var(--macos-content-bg), transparent);
333
+ }
334
+
335
+ html.macos-tahoe [data-tucu='scroll-view'] > [data-tucu='scroll-edge-bottom'] {
336
+ background: linear-gradient(to top, var(--macos-content-bg), transparent);
337
+ }
338
+
339
+ /* ── MacOSSplitView ──────────────────────────────────────────── */
340
+
341
+ html.macos-tahoe [data-tucu='split-view'] {
342
+ display: flex;
343
+ width: 100%;
344
+ height: 100%;
345
+ overflow: hidden;
346
+ }
347
+
348
+ html.macos-tahoe [data-tucu='split-divider'] {
349
+ width: 1px;
350
+ min-width: 1px;
351
+ background-color: var(--macos-separator);
352
+ cursor: col-resize;
353
+ position: relative;
354
+ flex-shrink: 0;
355
+ transition: background-color 0.15s ease;
356
+ }
357
+
358
+ html.macos-tahoe [data-tucu='split-divider']:hover,
359
+ html.macos-tahoe [data-tucu='split-divider'][data-dragging='true'] {
360
+ background-color: var(--macos-control-accent);
361
+ }
362
+
363
+ html.macos-tahoe [data-tucu='split-divider']::after {
364
+ content: '';
365
+ position: absolute;
366
+ top: 0;
367
+ bottom: 0;
368
+ left: -4px;
369
+ right: -4px;
370
+ }
371
+
372
+ /* ── MacOSInspector ──────────────────────────────────────────── */
373
+
374
+ html.macos-tahoe [data-tucu='inspector'] {
375
+ width: var(--macos-inspector-width);
376
+ min-width: var(--macos-inspector-width);
377
+ height: 100%;
378
+ display: flex;
379
+ flex-direction: column;
380
+ flex-shrink: 0;
381
+ background-color: var(--macos-grouped-bg);
382
+ border-left: 0.5px solid var(--macos-separator);
383
+ overflow-y: auto;
384
+ overflow-x: hidden;
385
+ }
386
+
387
+ html.macos-tahoe.dark [data-tucu='inspector'] {
388
+ background-color: var(--macos-grouped-bg);
389
+ border-left-color: var(--macos-separator);
390
+ }
391
+
392
+ html.macos-tahoe [data-tucu='inspector-section'] {
393
+ padding: var(--macos-space-4);
394
+ border-bottom: 0.5px solid var(--macos-separator);
395
+ }
396
+
397
+ html.macos-tahoe [data-tucu='inspector-section']:last-child {
398
+ border-bottom: none;
399
+ }
400
+
401
+ html.macos-tahoe [data-tucu='inspector-section-title'] {
402
+ font-family: var(--macos-font-family);
403
+ font-size: var(--macos-ts-subheadline-size);
404
+ font-weight: var(--macos-font-weight-semibold);
405
+ line-height: var(--macos-ts-subheadline-leading);
406
+ letter-spacing: 0.06em;
407
+ text-transform: uppercase;
408
+ color: var(--macos-tertiary-label);
409
+ margin-bottom: var(--macos-space-2);
410
+ user-select: none;
411
+ }
412
+
413
+ /* ── Reduced motion ──────────────────────────────────────────── */
414
+
415
+ @media (prefers-reduced-motion: reduce) {
416
+ html.macos-tahoe [data-tucu='sidebar-item'],
417
+ html.macos-tahoe [data-tucu='split-divider'] {
418
+ transition: none;
419
+ }
420
+ }