@j3m-quantum/ui 1.3.0 → 1.4.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/README.md +74 -20
- package/cursor-rules-for-consumers.md +171 -28
- package/dist/index.cjs +435 -238
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +46 -6
- package/dist/index.d.ts +46 -6
- package/dist/index.js +430 -236
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css +383 -111
- package/package.json +4 -3
package/dist/styles/index.css
CHANGED
|
@@ -430,23 +430,78 @@
|
|
|
430
430
|
--j3m-bg-input-disabled: var(--j3m-glass-light-20);
|
|
431
431
|
--j3m-bg-sidebar: #E8E8E8; /* Solid sidebar in glass mode */
|
|
432
432
|
|
|
433
|
-
/* Legacy surface tokens */
|
|
434
|
-
--surface-bg: var(--j3m-
|
|
435
|
-
--surface-border: var(--j3m-
|
|
433
|
+
/* Legacy surface tokens - SOLID colors for portal components (match solid light mode) */
|
|
434
|
+
--surface-bg: var(--j3m-gray-1);
|
|
435
|
+
--surface-border: var(--j3m-gray-6);
|
|
436
436
|
--surface-shadow: var(--j3m-glass-shadow-md);
|
|
437
437
|
--surface-radius: var(--j3m-radius-l);
|
|
438
|
-
--surface-blur:
|
|
438
|
+
--surface-blur: 0;
|
|
439
439
|
|
|
440
|
-
/* Overlay surfaces (dialogs, popovers, etc) */
|
|
441
|
-
--overlay-bg: var(--j3m-
|
|
442
|
-
--overlay-border: var(--j3m-
|
|
440
|
+
/* Overlay surfaces (dialogs, popovers, etc) - WHITE to match solid light mode */
|
|
441
|
+
--overlay-bg: var(--j3m-gray-1);
|
|
442
|
+
--overlay-border: var(--j3m-gray-6);
|
|
443
443
|
--overlay-shadow: var(--j3m-glass-shadow-lg);
|
|
444
|
-
--overlay-blur:
|
|
444
|
+
--overlay-blur: 0;
|
|
445
445
|
|
|
446
|
-
/* Shadcn overrides for glass */
|
|
447
|
-
--input-bg: var(--j3m-
|
|
446
|
+
/* Shadcn overrides for glass - Portal components use WHITE to match solid light mode */
|
|
447
|
+
--input-bg: var(--j3m-gray-1);
|
|
448
448
|
--card: var(--j3m-glass-light-50);
|
|
449
|
-
--popover: var(--j3m-
|
|
449
|
+
--popover: var(--j3m-gray-1);
|
|
450
|
+
|
|
451
|
+
/* Dialog, Sheet, Drawer use popover token - ensure they're white */
|
|
452
|
+
--dialog: var(--j3m-gray-1);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
/* Light Glass Mode - Portal Components (Dialog, Sheet, Drawer, Popover, HoverCard)
|
|
456
|
+
These render outside the app tree via React Portals.
|
|
457
|
+
Use WHITE backgrounds to match solid light mode. */
|
|
458
|
+
.theme-glass:not(.dark) [data-slot="dialog-content"],
|
|
459
|
+
.theme-glass:not(.dark) [data-slot="sheet-content"],
|
|
460
|
+
.theme-glass:not(.dark) [data-slot="drawer-content"],
|
|
461
|
+
.theme-glass:not(.dark) [data-slot="popover-content"],
|
|
462
|
+
.theme-glass:not(.dark) [data-slot="hover-card-content"],
|
|
463
|
+
.theme-glass:not(.dark) [data-slot="dropdown-menu-content"],
|
|
464
|
+
.theme-glass:not(.dark) [data-slot="context-menu-content"],
|
|
465
|
+
.theme-glass:not(.dark) [data-slot="menubar-content"],
|
|
466
|
+
.theme-glass:not(.dark) [data-slot="select-content"] {
|
|
467
|
+
background: var(--j3m-gray-1) !important;
|
|
468
|
+
border-color: var(--j3m-gray-6) !important;
|
|
469
|
+
color: var(--j3m-gray-12) !important;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
/* Light Glass Mode - Command component and its children */
|
|
473
|
+
.theme-glass:not(.dark) [data-slot="command"] {
|
|
474
|
+
background: transparent !important;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
.theme-glass:not(.dark) [data-slot="command-input-wrapper"] {
|
|
478
|
+
background: var(--j3m-gray-1) !important;
|
|
479
|
+
border-color: var(--j3m-gray-6) !important;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
.theme-glass:not(.dark) [data-slot="command-list"] {
|
|
483
|
+
background: var(--j3m-gray-1) !important;
|
|
484
|
+
border-color: var(--j3m-gray-6) !important;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
.theme-glass:not(.dark) [data-slot="command-input"] {
|
|
488
|
+
color: var(--j3m-gray-12) !important;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.theme-glass:not(.dark) [data-slot="command-item"] {
|
|
492
|
+
color: var(--j3m-gray-12) !important;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.theme-glass:not(.dark) [data-slot="command-group-heading"] {
|
|
496
|
+
color: var(--j3m-gray-9) !important;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
/* Light Glass Mode - Calendar should match solid mode */
|
|
500
|
+
.theme-glass:not(.dark) [data-slot="calendar"],
|
|
501
|
+
.theme-glass:not(.dark) .rdp {
|
|
502
|
+
background: var(--j3m-gray-1) !important;
|
|
503
|
+
border-color: var(--j3m-gray-6) !important;
|
|
504
|
+
color: var(--j3m-gray-12) !important;
|
|
450
505
|
}
|
|
451
506
|
|
|
452
507
|
/* ========================================
|
|
@@ -459,14 +514,14 @@
|
|
|
459
514
|
/* Override frosted glass tokens for dark mode */
|
|
460
515
|
--j3m-glass-frosted: var(--j3m-glass-dark-surface);
|
|
461
516
|
--j3m-glass-frosted-strong: var(--j3m-glass-dark-elevated);
|
|
462
|
-
--j3m-glass-frosted-card: var(--j3m-glass-dark-surface);
|
|
517
|
+
--j3m-glass-frosted-card: var(--j3m-glass-dark-surface); /* Cards same darkness as sections (70%) */
|
|
463
518
|
--j3m-glass-border-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 100%);
|
|
464
519
|
--j3m-glass-border-light: var(--j3m-glass-dark-border-light);
|
|
465
520
|
--j3m-glass-border-white: var(--j3m-glass-dark-border);
|
|
466
521
|
--j3m-glass-border-subtle: var(--j3m-glass-dark-border-subtle);
|
|
467
522
|
|
|
468
523
|
/* Override text colors for visibility */
|
|
469
|
-
--card-foreground:
|
|
524
|
+
--card-foreground: var(--accent-foreground);
|
|
470
525
|
--accent-foreground: #FFFFFF;
|
|
471
526
|
--foreground: rgba(255, 255, 255, 0.95);
|
|
472
527
|
--muted-foreground: rgba(255, 255, 255, 0.6);
|
|
@@ -488,40 +543,50 @@
|
|
|
488
543
|
radial-gradient(at 0% 100%, rgba(22, 27, 34, 0.6) 0px, transparent 50%),
|
|
489
544
|
linear-gradient(180deg, #0a0a0f 0%, #0d1117 50%, #161b22 100%);
|
|
490
545
|
|
|
491
|
-
/* Background & Surface Tokens (Dark Glass) -
|
|
546
|
+
/* Background & Surface Tokens (Dark Glass) - Use SOLID colors to match solid dark mode */
|
|
492
547
|
--j3m-bg-app: transparent;
|
|
493
548
|
--j3m-bg-page: transparent;
|
|
494
|
-
--j3m-bg-surface: var(--j3m-
|
|
495
|
-
--j3m-bg-surface-hover: var(--j3m-
|
|
496
|
-
--j3m-bg-surface-active:
|
|
497
|
-
--j3m-bg-elevated: var(--j3m-
|
|
498
|
-
--j3m-bg-elevated-hover:
|
|
499
|
-
--j3m-bg-overlay: var(--j3m-
|
|
500
|
-
--j3m-bg-muted: var(--j3m-
|
|
501
|
-
--j3m-bg-subtle: var(--j3m-
|
|
502
|
-
--j3m-bg-element: var(--j3m-
|
|
503
|
-
--j3m-bg-element-hover:
|
|
504
|
-
--j3m-bg-element-active:
|
|
505
|
-
--j3m-bg-input: var(--j3m-
|
|
506
|
-
--j3m-bg-input-disabled: var(--j3m-
|
|
507
|
-
--j3m-bg-sidebar:
|
|
508
|
-
|
|
509
|
-
/* Legacy surface tokens */
|
|
510
|
-
--surface-bg: var(--j3m-
|
|
511
|
-
--surface-border: var(--j3m-
|
|
512
|
-
--overlay-bg: var(--j3m-
|
|
513
|
-
--overlay-border: var(--j3m-
|
|
549
|
+
--j3m-bg-surface: var(--j3m-gray-13);
|
|
550
|
+
--j3m-bg-surface-hover: var(--j3m-gray-12);
|
|
551
|
+
--j3m-bg-surface-active: #404040;
|
|
552
|
+
--j3m-bg-elevated: var(--j3m-gray-12);
|
|
553
|
+
--j3m-bg-elevated-hover: #404040;
|
|
554
|
+
--j3m-bg-overlay: var(--j3m-gray-13);
|
|
555
|
+
--j3m-bg-muted: var(--j3m-gray-12);
|
|
556
|
+
--j3m-bg-subtle: var(--j3m-gray-11);
|
|
557
|
+
--j3m-bg-element: var(--j3m-gray-12);
|
|
558
|
+
--j3m-bg-element-hover: #404040;
|
|
559
|
+
--j3m-bg-element-active: #4a4a4a;
|
|
560
|
+
--j3m-bg-input: var(--j3m-gray-11);
|
|
561
|
+
--j3m-bg-input-disabled: var(--j3m-gray-10);
|
|
562
|
+
--j3m-bg-sidebar: var(--j3m-gray-13);
|
|
563
|
+
|
|
564
|
+
/* Legacy surface tokens - SOLID colors for portal components */
|
|
565
|
+
--surface-bg: var(--j3m-gray-13);
|
|
566
|
+
--surface-border: var(--j3m-gray-11);
|
|
567
|
+
--overlay-bg: var(--j3m-gray-13);
|
|
568
|
+
--overlay-border: var(--j3m-gray-11);
|
|
514
569
|
|
|
515
|
-
/* Dark glass borders */
|
|
516
|
-
--border: var(--j3m-
|
|
570
|
+
/* Dark glass borders - SOLID to match solid dark mode */
|
|
571
|
+
--border: var(--j3m-gray-11);
|
|
517
572
|
|
|
518
|
-
/* Text colors
|
|
519
|
-
--foreground:
|
|
520
|
-
--muted-foreground:
|
|
573
|
+
/* Text colors - match solid dark mode */
|
|
574
|
+
--foreground: var(--j3m-gray-1);
|
|
575
|
+
--muted-foreground: var(--j3m-gray-7);
|
|
576
|
+
|
|
577
|
+
/* Shadcn overrides for dark glass - Use SOLID colors to match solid dark mode */
|
|
578
|
+
--card: var(--j3m-gray-13);
|
|
579
|
+
--popover: var(--j3m-gray-13);
|
|
580
|
+
--secondary: var(--j3m-gray-12);
|
|
581
|
+
--accent: #404040;
|
|
582
|
+
--accent-foreground: var(--j3m-gray-1);
|
|
521
583
|
|
|
522
|
-
/*
|
|
523
|
-
--
|
|
524
|
-
--
|
|
584
|
+
/* Sidebar tokens - match solid dark mode */
|
|
585
|
+
--sidebar: var(--j3m-gray-13);
|
|
586
|
+
--sidebar-foreground: var(--j3m-gray-1);
|
|
587
|
+
--sidebar-border: var(--j3m-gray-11);
|
|
588
|
+
--sidebar-accent: #404040;
|
|
589
|
+
--sidebar-accent-foreground: var(--j3m-gray-1);
|
|
525
590
|
|
|
526
591
|
/* Orange accent glow for interactive elements */
|
|
527
592
|
--j3m-glass-shadow-glow: 0 0 20px rgba(243, 108, 33, 0.3);
|
|
@@ -532,30 +597,35 @@
|
|
|
532
597
|
Applied inside glass surfaces to adjust nested components
|
|
533
598
|
======================================== */
|
|
534
599
|
|
|
600
|
+
/* Glass Context - Applied inside glass surfaces
|
|
601
|
+
- card: Keeps glass appearance for in-app content
|
|
602
|
+
- popover: WHITE solid to match solid light mode */
|
|
535
603
|
.glass-context {
|
|
536
604
|
--background: var(--j3m-glass-light-80);
|
|
537
605
|
--input: var(--j3m-glass-light-50);
|
|
538
606
|
--card: var(--j3m-glass-light-70);
|
|
539
|
-
--popover: var(--j3m-
|
|
607
|
+
--popover: var(--j3m-gray-1);
|
|
540
608
|
--muted: var(--j3m-glass-light-50);
|
|
541
609
|
--muted-foreground: rgba(0, 0, 0, 0.55);
|
|
542
610
|
--secondary: var(--j3m-glass-light-80);
|
|
543
611
|
--border: var(--j3m-glass-border-light);
|
|
544
612
|
}
|
|
545
613
|
|
|
546
|
-
/* Dark glass context -
|
|
614
|
+
/* Dark glass context - Use SOLID dark mode colors to match solid dark mode */
|
|
547
615
|
.dark .glass-context,
|
|
548
616
|
.theme-glass.dark .glass-context {
|
|
549
|
-
--background: var(--j3m-
|
|
550
|
-
--input: var(--j3m-
|
|
551
|
-
--card: var(--j3m-
|
|
552
|
-
--popover: var(--j3m-
|
|
553
|
-
--muted: var(--j3m-
|
|
554
|
-
--muted-foreground:
|
|
555
|
-
--secondary: var(--j3m-
|
|
556
|
-
--
|
|
557
|
-
--foreground:
|
|
558
|
-
--
|
|
617
|
+
--background: var(--j3m-gray-12);
|
|
618
|
+
--input: var(--j3m-gray-11);
|
|
619
|
+
--card: var(--j3m-gray-13);
|
|
620
|
+
--popover: var(--j3m-gray-13);
|
|
621
|
+
--muted: var(--j3m-gray-12);
|
|
622
|
+
--muted-foreground: var(--j3m-gray-7);
|
|
623
|
+
--secondary: var(--j3m-gray-12);
|
|
624
|
+
--accent: #404040;
|
|
625
|
+
--accent-foreground: var(--j3m-gray-1);
|
|
626
|
+
--border: var(--j3m-gray-11);
|
|
627
|
+
--foreground: var(--j3m-gray-1);
|
|
628
|
+
--card-foreground: var(--j3m-gray-1);
|
|
559
629
|
}
|
|
560
630
|
|
|
561
631
|
/* ========================================
|
|
@@ -1282,13 +1352,16 @@ textarea,
|
|
|
1282
1352
|
|
|
1283
1353
|
/* --- SWITCH --- */
|
|
1284
1354
|
.glass-context [data-slot="switch"],
|
|
1355
|
+
.glass-context [data-slot="theme-switch"],
|
|
1285
1356
|
.glass-context [role="switch"] {
|
|
1286
1357
|
background: rgba(255, 255, 255, 0.5) !important;
|
|
1287
1358
|
border-color: rgba(0, 0, 0, 0.15) !important;
|
|
1288
1359
|
}
|
|
1289
1360
|
|
|
1290
1361
|
.glass-context [data-slot="switch"][data-state="checked"],
|
|
1291
|
-
.glass-context [
|
|
1362
|
+
.glass-context [data-slot="theme-switch"][data-state="checked"],
|
|
1363
|
+
.glass-context [role="switch"][data-state="checked"],
|
|
1364
|
+
.glass-context [role="switch"][aria-checked="true"] {
|
|
1292
1365
|
background: var(--primary) !important;
|
|
1293
1366
|
border-color: var(--primary) !important;
|
|
1294
1367
|
}
|
|
@@ -1351,12 +1424,13 @@ textarea,
|
|
|
1351
1424
|
}
|
|
1352
1425
|
|
|
1353
1426
|
/* --- CALENDAR --- */
|
|
1354
|
-
/* Glass mode -
|
|
1427
|
+
/* Glass mode - use solid white to match solid light mode */
|
|
1355
1428
|
.glass-context [data-slot="calendar"],
|
|
1356
1429
|
.glass-context .rdp {
|
|
1357
|
-
background:
|
|
1358
|
-
border: 1px solid
|
|
1430
|
+
background: var(--j3m-gray-1) !important;
|
|
1431
|
+
border: 1px solid var(--j3m-gray-6) !important;
|
|
1359
1432
|
border-radius: var(--j3m-radius-l) !important;
|
|
1433
|
+
color: var(--j3m-gray-12) !important;
|
|
1360
1434
|
}
|
|
1361
1435
|
|
|
1362
1436
|
/* Remove inner white background from calendar grid */
|
|
@@ -1600,15 +1674,6 @@ textarea,
|
|
|
1600
1674
|
.glass-context [data-slot="sheet-content"] {
|
|
1601
1675
|
background: var(--sidebar) !important;
|
|
1602
1676
|
border-color: var(--sidebar-border) !important;
|
|
1603
|
-
padding-left: 1.5rem !important;
|
|
1604
|
-
padding-right: 1.5rem !important;
|
|
1605
|
-
}
|
|
1606
|
-
|
|
1607
|
-
.glass-context [data-slot="sheet-header"],
|
|
1608
|
-
.glass-context [data-slot="sheet-footer"],
|
|
1609
|
-
.glass-context [data-slot="sheet-body"] {
|
|
1610
|
-
padding-left: 0 !important;
|
|
1611
|
-
padding-right: 0 !important;
|
|
1612
1677
|
}
|
|
1613
1678
|
|
|
1614
1679
|
/* --- DIALOG --- */
|
|
@@ -1624,40 +1689,56 @@ textarea,
|
|
|
1624
1689
|
}
|
|
1625
1690
|
|
|
1626
1691
|
.glass-context [data-slot="command"] {
|
|
1627
|
-
background:
|
|
1628
|
-
background-color:
|
|
1629
|
-
border:
|
|
1630
|
-
|
|
1692
|
+
background: var(--j3m-gray-1) !important;
|
|
1693
|
+
background-color: var(--j3m-gray-1) !important;
|
|
1694
|
+
border: 1px solid var(--j3m-gray-6) !important;
|
|
1695
|
+
border-width: 1px !important;
|
|
1696
|
+
border-style: solid !important;
|
|
1697
|
+
box-shadow: var(--shadow-md) !important;
|
|
1631
1698
|
outline: none !important;
|
|
1699
|
+
border-radius: var(--j3m-radius-l) !important;
|
|
1700
|
+
overflow: hidden !important;
|
|
1632
1701
|
}
|
|
1633
1702
|
|
|
1703
|
+
/* Command in glass-context - unified container styling */
|
|
1634
1704
|
.glass-context [data-slot="command-input-wrapper"] {
|
|
1635
|
-
background:
|
|
1636
|
-
border:
|
|
1637
|
-
border-
|
|
1638
|
-
|
|
1639
|
-
|
|
1705
|
+
background: transparent !important;
|
|
1706
|
+
border: 0 !important;
|
|
1707
|
+
border-width: 0 !important;
|
|
1708
|
+
border-bottom: 1px solid var(--j3m-gray-6) !important;
|
|
1709
|
+
border-radius: 0 !important;
|
|
1710
|
+
padding-left: 0.75rem !important;
|
|
1711
|
+
padding-right: 0.75rem !important;
|
|
1640
1712
|
}
|
|
1641
1713
|
|
|
1642
1714
|
.glass-context [data-slot="command-input"] {
|
|
1643
1715
|
background: transparent !important;
|
|
1644
|
-
color: var(--
|
|
1716
|
+
color: var(--j3m-gray-12) !important;
|
|
1645
1717
|
}
|
|
1646
1718
|
|
|
1647
1719
|
.glass-context [data-slot="command-input"]::placeholder {
|
|
1648
|
-
color: var(--
|
|
1720
|
+
color: var(--j3m-gray-9) !important;
|
|
1721
|
+
}
|
|
1722
|
+
|
|
1723
|
+
/* Override generic input focus styles for command-input */
|
|
1724
|
+
.glass-context [data-slot="command-input"]:focus,
|
|
1725
|
+
.glass-context [data-slot="command-input"]:focus-visible {
|
|
1726
|
+
border-color: transparent !important;
|
|
1727
|
+
box-shadow: none !important;
|
|
1728
|
+
outline: none !important;
|
|
1649
1729
|
}
|
|
1650
1730
|
|
|
1651
1731
|
.glass-context [data-slot="command-input-wrapper"]:focus-within {
|
|
1652
|
-
border-color: var(--j3m-
|
|
1653
|
-
box-shadow:
|
|
1732
|
+
border-bottom-color: var(--j3m-gray-8) !important;
|
|
1733
|
+
box-shadow: none !important;
|
|
1654
1734
|
}
|
|
1655
1735
|
|
|
1656
1736
|
.glass-context [data-slot="command-list"] {
|
|
1657
|
-
background:
|
|
1658
|
-
border:
|
|
1659
|
-
border-
|
|
1660
|
-
|
|
1737
|
+
background: transparent !important;
|
|
1738
|
+
border: 0 !important;
|
|
1739
|
+
border-width: 0 !important;
|
|
1740
|
+
border-radius: 0 !important;
|
|
1741
|
+
margin-top: 0 !important;
|
|
1661
1742
|
}
|
|
1662
1743
|
|
|
1663
1744
|
.glass-context [data-slot="command-group"] {
|
|
@@ -1665,7 +1746,11 @@ textarea,
|
|
|
1665
1746
|
}
|
|
1666
1747
|
|
|
1667
1748
|
.glass-context [data-slot="command-item"] {
|
|
1668
|
-
color: var(--
|
|
1749
|
+
color: var(--j3m-gray-12) !important;
|
|
1750
|
+
}
|
|
1751
|
+
|
|
1752
|
+
.glass-context [data-slot="command-group-heading"] {
|
|
1753
|
+
color: var(--j3m-gray-9) !important;
|
|
1669
1754
|
}
|
|
1670
1755
|
|
|
1671
1756
|
/* Command item hover - use accent (grey) not primary (orange) */
|
|
@@ -1695,6 +1780,25 @@ textarea,
|
|
|
1695
1780
|
}
|
|
1696
1781
|
|
|
1697
1782
|
/* --- SCROLL AREA --- */
|
|
1783
|
+
/* Solid Light Mode - dark thumb on light background */
|
|
1784
|
+
[data-slot="scroll-area-thumb"] {
|
|
1785
|
+
background: rgba(0, 0, 0, 0.25) !important;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
[data-slot="scroll-area-thumb"]:hover {
|
|
1789
|
+
background: rgba(0, 0, 0, 0.4) !important;
|
|
1790
|
+
}
|
|
1791
|
+
|
|
1792
|
+
/* Solid Dark Mode - light thumb on dark background */
|
|
1793
|
+
.dark [data-slot="scroll-area-thumb"] {
|
|
1794
|
+
background: rgba(255, 255, 255, 0.25) !important;
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1797
|
+
.dark [data-slot="scroll-area-thumb"]:hover {
|
|
1798
|
+
background: rgba(255, 255, 255, 0.4) !important;
|
|
1799
|
+
}
|
|
1800
|
+
|
|
1801
|
+
/* Glass Light Mode - same as light solid for consistency */
|
|
1698
1802
|
.glass-context [data-slot="scroll-area"] {
|
|
1699
1803
|
background: var(--sidebar) !important;
|
|
1700
1804
|
border: 1px solid var(--sidebar-border) !important;
|
|
@@ -1745,23 +1849,41 @@ textarea,
|
|
|
1745
1849
|
Styling for components inside .dark .glass-context
|
|
1746
1850
|
======================================== */
|
|
1747
1851
|
|
|
1748
|
-
/* --- CARDS (Dark Glass) -
|
|
1852
|
+
/* --- CARDS (Dark Glass) - Base styling for ALL dark glass cards --- */
|
|
1853
|
+
/* Freestanding cards on background image = Same darkness as sections (70%) */
|
|
1749
1854
|
.dark.theme-glass [data-slot="card"],
|
|
1750
|
-
.theme-glass.dark [data-slot="card"]
|
|
1855
|
+
.theme-glass.dark [data-slot="card"] {
|
|
1856
|
+
background: var(--j3m-glass-dark-surface) !important; /* 70% dark - matches section darkness */
|
|
1857
|
+
backdrop-filter: blur(var(--j3m-blur-frosted)) !important;
|
|
1858
|
+
-webkit-backdrop-filter: blur(var(--j3m-blur-frosted)) !important;
|
|
1859
|
+
border: 1px solid var(--j3m-glass-dark-border-light) !important;
|
|
1860
|
+
box-shadow: var(--j3m-glass-shadow-md) !important;
|
|
1861
|
+
color: var(--j3m-gray-1) !important;
|
|
1862
|
+
position: relative;
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
/* Cards INSIDE glass sections = SAME darkness as sections for consistency */
|
|
1751
1866
|
.dark .glass-context [data-slot="card"],
|
|
1867
|
+
.dark.theme-glass .glass-context [data-slot="card"],
|
|
1752
1868
|
.theme-glass.dark .glass-context [data-slot="card"] {
|
|
1753
|
-
background: var(--
|
|
1754
|
-
border: 1px solid var(--sidebar-border) !important;
|
|
1755
|
-
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.15) !important;
|
|
1756
|
-
color: var(--sidebar-foreground) !important;
|
|
1869
|
+
background: var(--j3m-glass-dark-surface) !important; /* 70% dark - matches section darkness */
|
|
1757
1870
|
}
|
|
1758
1871
|
|
|
1759
|
-
/*
|
|
1872
|
+
/* Gradient border for glass edge effect on dark cards */
|
|
1760
1873
|
.dark.theme-glass [data-slot="card"]::before,
|
|
1761
1874
|
.theme-glass.dark [data-slot="card"]::before,
|
|
1762
|
-
.dark .glass-context [data-slot="card"]::before
|
|
1763
|
-
|
|
1764
|
-
|
|
1875
|
+
.dark .glass-context [data-slot="card"]::before {
|
|
1876
|
+
content: '';
|
|
1877
|
+
position: absolute;
|
|
1878
|
+
inset: 0;
|
|
1879
|
+
border-radius: inherit;
|
|
1880
|
+
padding: 1px;
|
|
1881
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 100%) !important;
|
|
1882
|
+
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
1883
|
+
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
1884
|
+
-webkit-mask-composite: xor;
|
|
1885
|
+
mask-composite: exclude;
|
|
1886
|
+
pointer-events: none;
|
|
1765
1887
|
}
|
|
1766
1888
|
|
|
1767
1889
|
/* Card text colors in dark glass */
|
|
@@ -1769,7 +1891,7 @@ textarea,
|
|
|
1769
1891
|
.theme-glass.dark [data-slot="card"] *,
|
|
1770
1892
|
.dark.theme-glass .glass-context *,
|
|
1771
1893
|
.theme-glass.dark .glass-context * {
|
|
1772
|
-
--card-foreground:
|
|
1894
|
+
--card-foreground: rgba(255, 255, 255, 0.95);
|
|
1773
1895
|
}
|
|
1774
1896
|
|
|
1775
1897
|
/* --- INPUT FIELDS (Dark Glass) --- */
|
|
@@ -1788,8 +1910,12 @@ textarea,
|
|
|
1788
1910
|
|
|
1789
1911
|
.dark .glass-context input::placeholder,
|
|
1790
1912
|
.dark .glass-context [data-slot="input"]::placeholder,
|
|
1913
|
+
.dark .glass-context textarea::placeholder,
|
|
1914
|
+
.dark .glass-context [data-slot="textarea"]::placeholder,
|
|
1791
1915
|
.theme-glass.dark .glass-context input::placeholder,
|
|
1792
|
-
.theme-glass.dark .glass-context [data-slot="input"]::placeholder
|
|
1916
|
+
.theme-glass.dark .glass-context [data-slot="input"]::placeholder,
|
|
1917
|
+
.theme-glass.dark .glass-context textarea::placeholder,
|
|
1918
|
+
.theme-glass.dark .glass-context [data-slot="textarea"]::placeholder {
|
|
1793
1919
|
color: var(--muted-foreground) !important;
|
|
1794
1920
|
}
|
|
1795
1921
|
|
|
@@ -1801,6 +1927,40 @@ textarea,
|
|
|
1801
1927
|
color: var(--sidebar-foreground) !important;
|
|
1802
1928
|
}
|
|
1803
1929
|
|
|
1930
|
+
.dark .glass-context [data-slot="select-trigger"] [data-slot="select-value"],
|
|
1931
|
+
.theme-glass.dark .glass-context [data-slot="select-trigger"] [data-slot="select-value"] {
|
|
1932
|
+
color: var(--sidebar-foreground) !important;
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
/* Select placeholder text in dark glass */
|
|
1936
|
+
.dark .glass-context [data-slot="select-trigger"] [data-placeholder],
|
|
1937
|
+
.theme-glass.dark .glass-context [data-slot="select-trigger"] [data-placeholder] {
|
|
1938
|
+
color: var(--muted-foreground) !important;
|
|
1939
|
+
}
|
|
1940
|
+
|
|
1941
|
+
/* --- NATIVE SELECT (Dark Glass) --- */
|
|
1942
|
+
.dark .glass-context select,
|
|
1943
|
+
.dark .glass-context [data-slot="native-select"],
|
|
1944
|
+
.theme-glass.dark .glass-context select,
|
|
1945
|
+
.theme-glass.dark .glass-context [data-slot="native-select"] {
|
|
1946
|
+
background: var(--sidebar) !important;
|
|
1947
|
+
border-color: var(--sidebar-border) !important;
|
|
1948
|
+
color: var(--sidebar-foreground) !important;
|
|
1949
|
+
}
|
|
1950
|
+
|
|
1951
|
+
.dark .glass-context select:focus,
|
|
1952
|
+
.dark .glass-context [data-slot="native-select"]:focus,
|
|
1953
|
+
.theme-glass.dark .glass-context select:focus,
|
|
1954
|
+
.theme-glass.dark .glass-context [data-slot="native-select"]:focus {
|
|
1955
|
+
border-color: var(--j3m-orange-9) !important;
|
|
1956
|
+
box-shadow: 0 0 0 3px rgba(243, 108, 33, 0.3) !important;
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
.dark .glass-context [data-slot="native-select-icon"],
|
|
1960
|
+
.theme-glass.dark .glass-context [data-slot="native-select-icon"] {
|
|
1961
|
+
color: var(--muted-foreground) !important;
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1804
1964
|
/* --- BUTTONS (Dark Glass) --- */
|
|
1805
1965
|
.dark .glass-context [data-slot="button"][data-variant="outline"],
|
|
1806
1966
|
.dark .glass-context [data-slot="button"][data-variant="secondary"],
|
|
@@ -1864,6 +2024,22 @@ textarea,
|
|
|
1864
2024
|
color: var(--sidebar-foreground) !important;
|
|
1865
2025
|
}
|
|
1866
2026
|
|
|
2027
|
+
.dark .glass-context tfoot,
|
|
2028
|
+
.dark .glass-context [data-slot="table-footer"],
|
|
2029
|
+
.theme-glass.dark .glass-context tfoot,
|
|
2030
|
+
.theme-glass.dark .glass-context [data-slot="table-footer"] {
|
|
2031
|
+
background: var(--muted) !important;
|
|
2032
|
+
}
|
|
2033
|
+
|
|
2034
|
+
.dark .glass-context caption,
|
|
2035
|
+
.dark .glass-context [data-slot="table-caption"],
|
|
2036
|
+
.theme-glass.dark .glass-context caption,
|
|
2037
|
+
.theme-glass.dark .glass-context [data-slot="table-caption"] {
|
|
2038
|
+
background: var(--sidebar) !important;
|
|
2039
|
+
border-top: 1px solid var(--sidebar-border) !important;
|
|
2040
|
+
color: var(--muted-foreground) !important;
|
|
2041
|
+
}
|
|
2042
|
+
|
|
1867
2043
|
/* --- DROPDOWN/POPOVER (Dark Glass) --- */
|
|
1868
2044
|
.dark .glass-context [data-slot="dropdown-menu-content"],
|
|
1869
2045
|
.dark .glass-context [data-slot="popover-content"],
|
|
@@ -1976,10 +2152,25 @@ textarea,
|
|
|
1976
2152
|
}
|
|
1977
2153
|
|
|
1978
2154
|
/* --- COMMAND (Dark Glass) --- */
|
|
2155
|
+
.dark .glass-context [data-slot="command"],
|
|
2156
|
+
.theme-glass.dark .glass-context [data-slot="command"] {
|
|
2157
|
+
background: var(--sidebar) !important;
|
|
2158
|
+
background-color: var(--sidebar) !important;
|
|
2159
|
+
border: 1px solid var(--sidebar-border) !important;
|
|
2160
|
+
border-width: 1px !important;
|
|
2161
|
+
border-style: solid !important;
|
|
2162
|
+
}
|
|
2163
|
+
|
|
1979
2164
|
.dark .glass-context [data-slot="command-input-wrapper"],
|
|
1980
2165
|
.theme-glass.dark .glass-context [data-slot="command-input-wrapper"] {
|
|
1981
|
-
background:
|
|
1982
|
-
border-color: var(--sidebar-border) !important;
|
|
2166
|
+
background: transparent !important;
|
|
2167
|
+
border-bottom-color: var(--sidebar-border) !important;
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
.dark .glass-context [data-slot="command-input-wrapper"]:focus-within,
|
|
2171
|
+
.theme-glass.dark .glass-context [data-slot="command-input-wrapper"]:focus-within {
|
|
2172
|
+
border-bottom-color: var(--j3m-gray-8) !important;
|
|
2173
|
+
box-shadow: none !important;
|
|
1983
2174
|
}
|
|
1984
2175
|
|
|
1985
2176
|
.dark .glass-context [data-slot="command-input"],
|
|
@@ -1992,10 +2183,21 @@ textarea,
|
|
|
1992
2183
|
color: var(--muted-foreground) !important;
|
|
1993
2184
|
}
|
|
1994
2185
|
|
|
2186
|
+
/* Override generic input focus styles for command-input in dark glass */
|
|
2187
|
+
.dark .glass-context [data-slot="command-input"]:focus,
|
|
2188
|
+
.dark .glass-context [data-slot="command-input"]:focus-visible,
|
|
2189
|
+
.theme-glass.dark .glass-context [data-slot="command-input"]:focus,
|
|
2190
|
+
.theme-glass.dark .glass-context [data-slot="command-input"]:focus-visible {
|
|
2191
|
+
border-color: transparent !important;
|
|
2192
|
+
box-shadow: none !important;
|
|
2193
|
+
outline: none !important;
|
|
2194
|
+
}
|
|
2195
|
+
|
|
1995
2196
|
.dark .glass-context [data-slot="command-list"],
|
|
1996
2197
|
.theme-glass.dark .glass-context [data-slot="command-list"] {
|
|
1997
|
-
background:
|
|
1998
|
-
border
|
|
2198
|
+
background: transparent !important;
|
|
2199
|
+
border: 0 !important;
|
|
2200
|
+
border-width: 0 !important;
|
|
1999
2201
|
}
|
|
2000
2202
|
|
|
2001
2203
|
.dark .glass-context [data-slot="command-item"],
|
|
@@ -2078,13 +2280,31 @@ textarea,
|
|
|
2078
2280
|
border-color: var(--sidebar-border) !important;
|
|
2079
2281
|
}
|
|
2080
2282
|
|
|
2081
|
-
/* --- CALENDAR (Dark Glass) --- */
|
|
2283
|
+
/* --- CALENDAR (Dark Glass) - Match solid dark mode --- */
|
|
2082
2284
|
.dark .glass-context [data-slot="calendar"],
|
|
2083
2285
|
.dark .glass-context .rdp,
|
|
2084
2286
|
.theme-glass.dark .glass-context [data-slot="calendar"],
|
|
2085
|
-
.theme-glass.dark .glass-context .rdp
|
|
2086
|
-
|
|
2087
|
-
|
|
2287
|
+
.theme-glass.dark .glass-context .rdp,
|
|
2288
|
+
.theme-glass.dark [data-slot="calendar"],
|
|
2289
|
+
.theme-glass.dark .rdp {
|
|
2290
|
+
background: var(--j3m-gray-13) !important;
|
|
2291
|
+
border-color: var(--j3m-gray-11) !important;
|
|
2292
|
+
color: var(--j3m-gray-1) !important;
|
|
2293
|
+
}
|
|
2294
|
+
|
|
2295
|
+
/* Calendar weekday row - remove background, use light text */
|
|
2296
|
+
.dark .glass-context [data-slot="calendar"] thead,
|
|
2297
|
+
.dark .glass-context [data-slot="calendar"] .rdp-weekdays,
|
|
2298
|
+
.dark .glass-context [data-slot="calendar"] .rdp-weekday,
|
|
2299
|
+
.theme-glass.dark .glass-context [data-slot="calendar"] thead,
|
|
2300
|
+
.theme-glass.dark .glass-context [data-slot="calendar"] .rdp-weekdays,
|
|
2301
|
+
.theme-glass.dark .glass-context [data-slot="calendar"] .rdp-weekday,
|
|
2302
|
+
.theme-glass.dark [data-slot="calendar"] thead,
|
|
2303
|
+
.theme-glass.dark [data-slot="calendar"] .rdp-weekdays,
|
|
2304
|
+
.theme-glass.dark [data-slot="calendar"] .rdp-weekday {
|
|
2305
|
+
background: transparent !important;
|
|
2306
|
+
background-color: transparent !important;
|
|
2307
|
+
color: var(--muted-foreground) !important;
|
|
2088
2308
|
}
|
|
2089
2309
|
|
|
2090
2310
|
/* --- SLIDER (Dark Glass) --- */
|
|
@@ -2124,13 +2344,26 @@ textarea,
|
|
|
2124
2344
|
|
|
2125
2345
|
/* --- SWITCH (Dark Glass) --- */
|
|
2126
2346
|
.dark .glass-context [data-slot="switch"],
|
|
2347
|
+
.dark .glass-context [data-slot="theme-switch"],
|
|
2127
2348
|
.dark .glass-context [role="switch"],
|
|
2128
2349
|
.theme-glass.dark .glass-context [data-slot="switch"],
|
|
2350
|
+
.theme-glass.dark .glass-context [data-slot="theme-switch"],
|
|
2129
2351
|
.theme-glass.dark .glass-context [role="switch"] {
|
|
2130
2352
|
background: var(--muted) !important;
|
|
2131
2353
|
border-color: var(--sidebar-border) !important;
|
|
2132
2354
|
}
|
|
2133
2355
|
|
|
2356
|
+
/* Switch checked state - orange background */
|
|
2357
|
+
.dark .glass-context [data-slot="switch"][data-state="checked"],
|
|
2358
|
+
.dark .glass-context [data-slot="theme-switch"][data-state="checked"],
|
|
2359
|
+
.dark .glass-context [role="switch"][aria-checked="true"],
|
|
2360
|
+
.theme-glass.dark .glass-context [data-slot="switch"][data-state="checked"],
|
|
2361
|
+
.theme-glass.dark .glass-context [data-slot="theme-switch"][data-state="checked"],
|
|
2362
|
+
.theme-glass.dark .glass-context [role="switch"][aria-checked="true"] {
|
|
2363
|
+
background: var(--primary) !important;
|
|
2364
|
+
border-color: var(--primary) !important;
|
|
2365
|
+
}
|
|
2366
|
+
|
|
2134
2367
|
/* ========================================
|
|
2135
2368
|
TOAST/SONNER POSITIONING
|
|
2136
2369
|
Position toasts at top-center of screen
|
|
@@ -2150,12 +2383,51 @@ textarea,
|
|
|
2150
2383
|
transform: translateX(-50%) !important;
|
|
2151
2384
|
}
|
|
2152
2385
|
|
|
2153
|
-
/* Glass mode toast styling */
|
|
2154
|
-
.glass
|
|
2155
|
-
.glass
|
|
2156
|
-
background: var(--
|
|
2157
|
-
border-color: var(--
|
|
2158
|
-
color: var(--
|
|
2386
|
+
/* Light Glass mode toast styling - WHITE to match solid light mode */
|
|
2387
|
+
.theme-glass:not(.dark) [data-sonner-toast],
|
|
2388
|
+
.theme-glass:not(.dark) .sonner-toast {
|
|
2389
|
+
background: var(--j3m-gray-1) !important;
|
|
2390
|
+
border-color: var(--j3m-gray-6) !important;
|
|
2391
|
+
color: var(--j3m-gray-12) !important;
|
|
2392
|
+
}
|
|
2393
|
+
|
|
2394
|
+
/* Dark glass toast - solid dark background with bright text */
|
|
2395
|
+
.theme-glass.dark [data-sonner-toast],
|
|
2396
|
+
.theme-glass.dark .sonner-toast,
|
|
2397
|
+
.dark.theme-glass [data-sonner-toast],
|
|
2398
|
+
.dark.theme-glass .sonner-toast {
|
|
2399
|
+
background: var(--j3m-gray-13) !important;
|
|
2400
|
+
border-color: var(--j3m-gray-11) !important;
|
|
2401
|
+
color: var(--j3m-gray-1) !important;
|
|
2402
|
+
}
|
|
2403
|
+
|
|
2404
|
+
.theme-glass.dark [data-sonner-toast] *,
|
|
2405
|
+
.theme-glass.dark .sonner-toast *,
|
|
2406
|
+
.dark.theme-glass [data-sonner-toast] *,
|
|
2407
|
+
.dark.theme-glass .sonner-toast * {
|
|
2408
|
+
color: var(--j3m-gray-1) !important;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
.theme-glass.dark [data-sonner-toast] [data-description],
|
|
2412
|
+
.dark.theme-glass [data-sonner-toast] [data-description] {
|
|
2413
|
+
color: var(--j3m-gray-7) !important;
|
|
2414
|
+
}
|
|
2415
|
+
|
|
2416
|
+
/* Solid Dark mode toast - ensure dark background */
|
|
2417
|
+
.dark:not(.theme-glass) [data-sonner-toast],
|
|
2418
|
+
.dark:not(.theme-glass) .sonner-toast {
|
|
2419
|
+
background: var(--j3m-gray-13) !important;
|
|
2420
|
+
border-color: var(--j3m-gray-11) !important;
|
|
2421
|
+
color: var(--j3m-gray-1) !important;
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
.dark:not(.theme-glass) [data-sonner-toast] *,
|
|
2425
|
+
.dark:not(.theme-glass) .sonner-toast * {
|
|
2426
|
+
color: var(--j3m-gray-1) !important;
|
|
2427
|
+
}
|
|
2428
|
+
|
|
2429
|
+
.dark:not(.theme-glass) [data-sonner-toast] [data-description] {
|
|
2430
|
+
color: var(--j3m-gray-7) !important;
|
|
2159
2431
|
}
|
|
2160
2432
|
|
|
2161
2433
|
/* ========================================
|