@countermeasure-platform/web-components 1.3.5-dev.36.1 → 1.3.6-dev.37.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 (82) hide show
  1. package/dist/{component-D5sRm1fq.js → component-D_asjmrt.js} +5 -3
  2. package/dist/component-D_asjmrt.js.map +1 -0
  3. package/dist/components/brand/index.d.ts.map +1 -1
  4. package/dist/components/brand/index.js +11 -5
  5. package/dist/components/brand/index.js.map +1 -1
  6. package/dist/components/brand/types.d.ts +2 -0
  7. package/dist/components/brand/types.d.ts.map +1 -1
  8. package/dist/icons/index.d.ts +7 -2
  9. package/dist/icons/index.d.ts.map +1 -1
  10. package/dist/icons/index.js +7 -2
  11. package/dist/icons/index.js.map +1 -1
  12. package/dist/icons/lucide.d.ts +3 -0
  13. package/dist/icons/lucide.d.ts.map +1 -1
  14. package/dist/icons/lucide.js +3 -0
  15. package/dist/icons/lucide.js.map +1 -1
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +126 -125
  19. package/dist/layout/app-shell.d.ts +7 -0
  20. package/dist/layout/app-shell.d.ts.map +1 -1
  21. package/dist/layout/app-shell.js +24 -6
  22. package/dist/layout/app-shell.js.map +1 -1
  23. package/dist/layout/core-app-chrome.d.ts.map +1 -1
  24. package/dist/layout/core-app-chrome.js +8 -5
  25. package/dist/layout/core-app-chrome.js.map +1 -1
  26. package/dist/layout/core-app-library-dashboard.d.ts +72 -0
  27. package/dist/layout/core-app-library-dashboard.d.ts.map +1 -0
  28. package/dist/layout/core-app-library-dashboard.js +160 -0
  29. package/dist/layout/core-app-library-dashboard.js.map +1 -0
  30. package/dist/layout/index.d.ts +2 -0
  31. package/dist/layout/index.d.ts.map +1 -1
  32. package/dist/layout/index.js +38 -37
  33. package/dist/layout/index.js.map +1 -1
  34. package/dist/react/brand/index.d.ts +3 -1
  35. package/dist/react/brand/index.d.ts.map +1 -1
  36. package/dist/react/brand.js +19 -13
  37. package/dist/react/brand.js.map +1 -1
  38. package/dist/react/layout/core-app-library-dashboard.d.ts +13 -0
  39. package/dist/react/layout/core-app-library-dashboard.d.ts.map +1 -0
  40. package/dist/react/layout/core-app-library-dashboard.js +27 -0
  41. package/dist/react/layout/core-app-library-dashboard.js.map +1 -0
  42. package/dist/react/layout/index.d.ts +1 -0
  43. package/dist/react/layout/index.d.ts.map +1 -1
  44. package/dist/react/layout/index.js +3 -2
  45. package/dist/react/primitives/alert.d.ts +1 -1
  46. package/dist/react/primitives/toast.d.ts +1 -1
  47. package/dist/react/sidebar.js +1 -1
  48. package/dist/react.js +97 -96
  49. package/dist/sidebar/component.d.ts.map +1 -1
  50. package/dist/sidebar/index.js +1 -1
  51. package/dist/sidebar/types.d.ts +7 -0
  52. package/dist/sidebar/types.d.ts.map +1 -1
  53. package/dist/styles/components/brand.css +22 -0
  54. package/dist/styles/layout.css +577 -0
  55. package/dist/styles/sidebar.css +26 -0
  56. package/package.json +11 -1
  57. package/src/components/brand/index.ts +22 -4
  58. package/src/components/brand/types.ts +2 -0
  59. package/src/icons/icons.test.ts +1 -1
  60. package/src/icons/index.ts +7 -2
  61. package/src/icons/lucide.ts +4 -0
  62. package/src/index.ts +2 -0
  63. package/src/layout/app-shell.test.ts +76 -0
  64. package/src/layout/app-shell.ts +38 -7
  65. package/src/layout/core-app-chrome.test.ts +17 -5
  66. package/src/layout/core-app-chrome.ts +8 -3
  67. package/src/layout/core-app-library-dashboard.test.ts +397 -0
  68. package/src/layout/core-app-library-dashboard.ts +519 -0
  69. package/src/layout/index.ts +18 -0
  70. package/src/react/brand/index.test.tsx +10 -0
  71. package/src/react/brand/index.tsx +25 -4
  72. package/src/react/layout/core-app-chrome.test.tsx +2 -2
  73. package/src/react/layout/core-app-library-dashboard.test.tsx +42 -0
  74. package/src/react/layout/core-app-library-dashboard.tsx +56 -0
  75. package/src/react/layout/index.ts +6 -0
  76. package/src/sidebar/component.test.ts +21 -1
  77. package/src/sidebar/component.ts +14 -8
  78. package/src/sidebar/types.ts +7 -0
  79. package/src/styles/components/brand.css +22 -0
  80. package/src/styles/layout.css +577 -0
  81. package/src/styles/sidebar.css +26 -0
  82. package/dist/component-D5sRm1fq.js.map +0 -1
@@ -322,6 +322,583 @@
322
322
  }
323
323
  }
324
324
 
325
+ /* ============================================================================
326
+ CORE APP LIBRARY DASHBOARD
327
+ ============================================================================ */
328
+ .cmm-library-dashboard {
329
+ width: 100%;
330
+ min-width: 0;
331
+ min-height: calc(100vh - 3.5rem);
332
+ color: var(--color-text, hsl(var(--foreground)));
333
+ }
334
+
335
+ .cmm-library-dashboard__inner {
336
+ display: grid;
337
+ width: 100%;
338
+ max-width: 100rem;
339
+ margin: 0 auto;
340
+ padding: 1.5rem 2rem 4rem;
341
+ gap: 1.75rem;
342
+ }
343
+
344
+ .cmm-library-dashboard__header {
345
+ display: grid;
346
+ gap: 0.25rem;
347
+ min-width: 0;
348
+ }
349
+
350
+ .cmm-library-dashboard__title {
351
+ margin: 0;
352
+ color: var(--color-text, hsl(var(--foreground)));
353
+ font-family: var(--font-display, var(--font-sans, system-ui, sans-serif));
354
+ font-size: 1.625rem;
355
+ font-weight: 700;
356
+ line-height: 1.15;
357
+ letter-spacing: 0;
358
+ }
359
+
360
+ .cmm-library-dashboard__subtitle {
361
+ margin: 0;
362
+ color: var(--color-text-muted, hsl(var(--muted-foreground)));
363
+ font-family: var(--font-sans, system-ui, sans-serif);
364
+ font-size: 0.8125rem;
365
+ line-height: 1.5;
366
+ }
367
+
368
+ .cmm-library-dashboard__meta {
369
+ display: flex;
370
+ width: min(100%, 72rem);
371
+ min-width: 0;
372
+ margin: -0.75rem auto 0;
373
+ flex-wrap: wrap;
374
+ gap: 0.5rem;
375
+ font-family: var(--font-sans, system-ui, sans-serif);
376
+ font-size: 0.6875rem;
377
+ line-height: 1.3;
378
+ }
379
+
380
+ .cmm-library-dashboard__timestamp,
381
+ .cmm-library-dashboard__warning {
382
+ min-width: 0;
383
+ max-width: 100%;
384
+ padding: 0.25rem 0.5rem;
385
+ border: 1px solid var(--color-border, hsl(var(--border)));
386
+ border-radius: 999px;
387
+ background: color-mix(in srgb, var(--color-card, hsl(var(--card))) 68%, transparent);
388
+ color: var(--color-text-dim, hsl(var(--muted-foreground)));
389
+ }
390
+
391
+ .cmm-library-dashboard__warning {
392
+ border-color: color-mix(in srgb, #fbbf24 42%, var(--color-border, hsl(var(--border))));
393
+ color: color-mix(in srgb, #fbbf24 74%, var(--color-text, hsl(var(--foreground))));
394
+ }
395
+
396
+ .cmm-library-dashboard__metrics {
397
+ display: grid;
398
+ grid-template-columns: repeat(4, minmax(0, 1fr));
399
+ width: min(100%, 72rem);
400
+ margin: 0 auto;
401
+ gap: 0.75rem;
402
+ }
403
+
404
+ .cmm-library-dashboard__state,
405
+ .cmm-library-dashboard__empty,
406
+ .cmm-library-chart__empty {
407
+ display: grid;
408
+ min-width: 0;
409
+ place-items: center;
410
+ border: 1px dashed color-mix(in srgb, var(--color-border, hsl(var(--border))) 78%, transparent);
411
+ border-radius: 8px;
412
+ color: var(--color-text-dim, hsl(var(--muted-foreground)));
413
+ font-family: var(--font-sans, system-ui, sans-serif);
414
+ line-height: 1.35;
415
+ text-align: center;
416
+ }
417
+
418
+ .cmm-library-dashboard__state {
419
+ width: min(100%, 72rem);
420
+ min-height: 10rem;
421
+ margin: 0 auto;
422
+ gap: 0.35rem;
423
+ padding: 1.5rem;
424
+ background: color-mix(in srgb, var(--color-card, hsl(var(--card))) 58%, transparent);
425
+ }
426
+
427
+ .cmm-library-dashboard__state-title {
428
+ margin: 0;
429
+ color: var(--color-text, hsl(var(--foreground)));
430
+ font-family: var(--font-display, var(--font-sans, system-ui, sans-serif));
431
+ font-size: 1rem;
432
+ font-weight: 700;
433
+ letter-spacing: 0;
434
+ line-height: 1.2;
435
+ }
436
+
437
+ .cmm-library-dashboard__state-detail {
438
+ max-width: 36rem;
439
+ margin: 0;
440
+ font-size: 0.75rem;
441
+ }
442
+
443
+ .cmm-library-dashboard__empty {
444
+ min-height: 4.5rem;
445
+ padding: 0.875rem;
446
+ font-size: 0.75rem;
447
+ }
448
+
449
+ .cmm-library-chart__empty {
450
+ min-height: 9rem;
451
+ padding: 1rem;
452
+ font-size: 0.75rem;
453
+ }
454
+
455
+ .cmm-library-metric {
456
+ position: relative;
457
+ min-width: 0;
458
+ min-height: 4.5rem;
459
+ padding: 0.875rem 1rem;
460
+ overflow: hidden;
461
+ border: 1px solid var(--color-border, hsl(var(--border)));
462
+ border-radius: 8px;
463
+ background: color-mix(in srgb, var(--color-card, hsl(var(--card))) 74%, transparent);
464
+ }
465
+
466
+ .cmm-library-metric::before {
467
+ content: "";
468
+ position: absolute;
469
+ inset: 0 auto 0 0;
470
+ width: 2px;
471
+ background: var(--color-orange-500, #f97316);
472
+ opacity: 0.9;
473
+ }
474
+
475
+ .cmm-library-metric[data-tone="cyan"]::before {
476
+ background: #22d3ee;
477
+ }
478
+
479
+ .cmm-library-metric[data-tone="violet"]::before {
480
+ background: #a78bfa;
481
+ }
482
+
483
+ .cmm-library-metric[data-tone="neutral"]::before {
484
+ background: color-mix(in srgb, var(--color-text-dim, #71717a) 60%, transparent);
485
+ }
486
+
487
+ .cmm-library-metric__label {
488
+ overflow: hidden;
489
+ color: var(--color-text-dim, hsl(var(--muted-foreground)));
490
+ font-family: var(--font-sans, system-ui, sans-serif);
491
+ font-size: 0.625rem;
492
+ font-weight: 700;
493
+ letter-spacing: 0.12em;
494
+ line-height: 1.3;
495
+ text-overflow: ellipsis;
496
+ text-transform: uppercase;
497
+ white-space: nowrap;
498
+ }
499
+
500
+ .cmm-library-metric__value {
501
+ margin-top: 0.35rem;
502
+ color: var(--color-orange-500, #f97316);
503
+ font-family: var(--font-display, var(--font-sans, system-ui, sans-serif));
504
+ font-size: 1.375rem;
505
+ font-weight: 800;
506
+ font-variant-numeric: tabular-nums;
507
+ line-height: 1;
508
+ }
509
+
510
+ .cmm-library-metric[data-tone="cyan"] .cmm-library-metric__value {
511
+ color: #22d3ee;
512
+ }
513
+
514
+ .cmm-library-metric[data-tone="violet"] .cmm-library-metric__value {
515
+ color: #a78bfa;
516
+ }
517
+
518
+ .cmm-library-metric[data-tone="neutral"] .cmm-library-metric__value {
519
+ color: var(--color-text, hsl(var(--foreground)));
520
+ }
521
+
522
+ .cmm-library-metric__helper {
523
+ margin-top: 0.35rem;
524
+ overflow: hidden;
525
+ color: var(--color-text-dim, hsl(var(--muted-foreground)));
526
+ font-family: var(--font-sans, system-ui, sans-serif);
527
+ font-size: 0.625rem;
528
+ line-height: 1.3;
529
+ text-overflow: ellipsis;
530
+ white-space: nowrap;
531
+ }
532
+
533
+ .cmm-library-dashboard__charts {
534
+ display: grid;
535
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
536
+ width: min(100%, 72rem);
537
+ margin: 0 auto;
538
+ gap: 2.5rem;
539
+ align-items: start;
540
+ }
541
+
542
+ .cmm-library-chart {
543
+ min-width: 0;
544
+ }
545
+
546
+ .cmm-library-chart__title {
547
+ margin: 0 0 0.75rem;
548
+ color: var(--color-text, hsl(var(--foreground)));
549
+ font-family: var(--font-display, var(--font-sans, system-ui, sans-serif));
550
+ font-size: 1rem;
551
+ font-weight: 700;
552
+ line-height: 1.2;
553
+ letter-spacing: 0;
554
+ }
555
+
556
+ .cmm-library-depth {
557
+ display: grid;
558
+ gap: 0.32rem;
559
+ }
560
+
561
+ .cmm-library-depth__row {
562
+ display: grid;
563
+ grid-template-columns: 4rem minmax(0, 1fr);
564
+ gap: 0.75rem;
565
+ align-items: center;
566
+ }
567
+
568
+ .cmm-library-depth__label {
569
+ overflow: hidden;
570
+ color: #64748b;
571
+ font-family: var(--font-sans, system-ui, sans-serif);
572
+ font-size: 0.625rem;
573
+ line-height: 1.2;
574
+ text-align: right;
575
+ text-overflow: ellipsis;
576
+ white-space: nowrap;
577
+ }
578
+
579
+ .cmm-library-depth__track {
580
+ height: 0.5rem;
581
+ overflow: hidden;
582
+ border-radius: 999px;
583
+ }
584
+
585
+ .cmm-library-depth__bar {
586
+ display: block;
587
+ height: 100%;
588
+ border-radius: inherit;
589
+ background: linear-gradient(to right, var(--color-orange-500, #f97316), #fb923c);
590
+ }
591
+
592
+ .cmm-library-depth__axis {
593
+ display: grid;
594
+ grid-template-columns: repeat(5, 1fr);
595
+ margin-left: 4.75rem;
596
+ padding-top: 0.125rem;
597
+ color: #475569;
598
+ font-family: var(--font-mono, ui-monospace, monospace);
599
+ font-size: 0.625rem;
600
+ line-height: 1.2;
601
+ }
602
+
603
+ .cmm-library-depth__axis span {
604
+ text-align: left;
605
+ }
606
+
607
+ .cmm-library-freshness {
608
+ display: grid;
609
+ grid-template-columns: 1.75rem minmax(0, 1fr);
610
+ gap: 0.5rem;
611
+ min-height: 9rem;
612
+ }
613
+
614
+ .cmm-library-freshness__axis {
615
+ display: flex;
616
+ flex-direction: column;
617
+ justify-content: space-between;
618
+ color: #64748b;
619
+ font-family: var(--font-mono, ui-monospace, monospace);
620
+ font-size: 0.625rem;
621
+ line-height: 1;
622
+ text-align: right;
623
+ }
624
+
625
+ .cmm-library-freshness__plot {
626
+ display: grid;
627
+ grid-auto-flow: column;
628
+ grid-auto-columns: minmax(0.375rem, 1fr);
629
+ gap: 0.36rem;
630
+ align-items: end;
631
+ min-width: 0;
632
+ height: 9rem;
633
+ }
634
+
635
+ .cmm-library-freshness__bucket {
636
+ position: relative;
637
+ display: flex;
638
+ height: 100%;
639
+ min-width: 0;
640
+ align-items: end;
641
+ justify-content: center;
642
+ }
643
+
644
+ .cmm-library-freshness__stack {
645
+ display: flex;
646
+ width: 100%;
647
+ max-width: 0.5rem;
648
+ min-height: 0.5rem;
649
+ overflow: hidden;
650
+ flex-direction: column-reverse;
651
+ border-radius: 0.125rem 0.125rem 0 0;
652
+ }
653
+
654
+ .cmm-library-freshness__segment {
655
+ display: block;
656
+ min-height: 2px;
657
+ }
658
+
659
+ .cmm-library-freshness__segment[data-tone="cyan"] {
660
+ background: #22d3ee;
661
+ }
662
+
663
+ .cmm-library-freshness__segment[data-tone="green"] {
664
+ background: #34d399;
665
+ }
666
+
667
+ .cmm-library-freshness__segment[data-tone="orange"] {
668
+ background: var(--color-orange-500, #f97316);
669
+ }
670
+
671
+ .cmm-library-freshness__label {
672
+ position: absolute;
673
+ top: calc(100% + 0.25rem);
674
+ left: 50%;
675
+ transform: translateX(-50%);
676
+ color: #64748b;
677
+ font-family: var(--font-sans, system-ui, sans-serif);
678
+ font-size: 0.625rem;
679
+ line-height: 1.1;
680
+ white-space: nowrap;
681
+ }
682
+
683
+ .cmm-library-dashboard__pipeline {
684
+ display: grid;
685
+ width: min(100%, 72rem);
686
+ margin: 0 auto;
687
+ gap: 0.75rem;
688
+ }
689
+
690
+ .cmm-library-dashboard__pipeline-heading {
691
+ display: flex;
692
+ min-width: 0;
693
+ flex-wrap: wrap;
694
+ align-items: baseline;
695
+ gap: 0.5rem;
696
+ }
697
+
698
+ .cmm-library-dashboard__eyebrow {
699
+ margin: 0;
700
+ color: var(--color-text-dim, hsl(var(--muted-foreground)));
701
+ font-family: var(--font-sans, system-ui, sans-serif);
702
+ font-size: 0.6875rem;
703
+ font-weight: 700;
704
+ letter-spacing: 0.12em;
705
+ line-height: 1.3;
706
+ text-transform: uppercase;
707
+ }
708
+
709
+ .cmm-library-dashboard__pipeline-summary {
710
+ display: inline-flex;
711
+ min-width: 0;
712
+ flex-wrap: wrap;
713
+ gap: 0.5rem;
714
+ color: var(--color-text-dim, hsl(var(--muted-foreground)));
715
+ font-family: var(--font-sans, system-ui, sans-serif);
716
+ font-size: 0.6875rem;
717
+ line-height: 1.3;
718
+ }
719
+
720
+ .cmm-library-dashboard__pipeline-grid {
721
+ display: grid;
722
+ grid-template-columns: repeat(4, minmax(0, 1fr));
723
+ gap: 0.75rem;
724
+ }
725
+
726
+ .cmm-library-pipeline-card {
727
+ display: grid;
728
+ min-width: 0;
729
+ min-height: 6.25rem;
730
+ gap: 0.65rem;
731
+ padding: 0.875rem;
732
+ border: 1px solid var(--color-border, hsl(var(--border)));
733
+ border-top-color: color-mix(in srgb, #fb7185 70%, var(--color-border, hsl(var(--border))));
734
+ border-radius: 8px;
735
+ background: color-mix(in srgb, var(--color-card, hsl(var(--card))) 74%, transparent);
736
+ }
737
+
738
+ .cmm-library-pipeline-card[data-status="active"] {
739
+ border-top-color: color-mix(in srgb, #34d399 70%, var(--color-border, hsl(var(--border))));
740
+ }
741
+
742
+ .cmm-library-pipeline-card[data-status="paused"] {
743
+ border-top-color: color-mix(in srgb, #fbbf24 70%, var(--color-border, hsl(var(--border))));
744
+ }
745
+
746
+ .cmm-library-pipeline-card__head,
747
+ .cmm-library-pipeline-card__foot {
748
+ display: flex;
749
+ min-width: 0;
750
+ align-items: center;
751
+ justify-content: space-between;
752
+ gap: 0.5rem;
753
+ }
754
+
755
+ .cmm-library-pipeline-card__name-wrap {
756
+ display: inline-flex;
757
+ min-width: 0;
758
+ align-items: center;
759
+ gap: 0.45rem;
760
+ }
761
+
762
+ .cmm-library-pipeline-card__glyph {
763
+ width: 0.75rem;
764
+ height: 0.75rem;
765
+ flex: 0 0 auto;
766
+ border: 1px solid var(--color-text-dim, hsl(var(--muted-foreground)));
767
+ border-radius: 0.18rem;
768
+ opacity: 0.7;
769
+ }
770
+
771
+ .cmm-library-pipeline-card__name {
772
+ min-width: 0;
773
+ margin: 0;
774
+ overflow: hidden;
775
+ color: var(--color-text, hsl(var(--foreground)));
776
+ font-family: var(--font-display, var(--font-sans, system-ui, sans-serif));
777
+ font-size: 0.875rem;
778
+ font-weight: 700;
779
+ line-height: 1.2;
780
+ text-overflow: ellipsis;
781
+ white-space: nowrap;
782
+ }
783
+
784
+ .cmm-library-pipeline-card__badge {
785
+ display: inline-flex;
786
+ flex: 0 0 auto;
787
+ align-items: center;
788
+ justify-content: center;
789
+ padding: 0.1875rem 0.5rem;
790
+ border: 1px solid transparent;
791
+ border-radius: 999px;
792
+ font-family: var(--font-sans, system-ui, sans-serif);
793
+ font-size: 0.5625rem;
794
+ font-weight: 700;
795
+ line-height: 1;
796
+ }
797
+
798
+ .cmm-library-pipeline-card__badge[data-tone="success"] {
799
+ border-color: rgb(52 211 153 / 30%);
800
+ background: rgb(52 211 153 / 10%);
801
+ color: #34d399;
802
+ }
803
+
804
+ .cmm-library-pipeline-card__badge[data-tone="error"] {
805
+ border-color: rgb(251 113 133 / 30%);
806
+ background: rgb(251 113 133 / 10%);
807
+ color: #fb7185;
808
+ }
809
+
810
+ .cmm-library-pipeline-card__badge[data-tone="warn"] {
811
+ border-color: rgb(251 191 36 / 30%);
812
+ background: rgb(251 191 36 / 10%);
813
+ color: #fbbf24;
814
+ }
815
+
816
+ .cmm-library-pipeline-card__badge[data-tone="neutral"] {
817
+ border-color: var(--color-border, hsl(var(--border)));
818
+ background: rgb(255 255 255 / 4%);
819
+ color: var(--color-text-muted, hsl(var(--muted-foreground)));
820
+ }
821
+
822
+ .cmm-library-pipeline-card__meta {
823
+ display: flex;
824
+ min-width: 0;
825
+ flex-wrap: wrap;
826
+ gap: 0.25rem;
827
+ padding-bottom: 0.5rem;
828
+ border-bottom: 1px solid var(--color-border, hsl(var(--border)));
829
+ }
830
+
831
+ .cmm-library-pipeline-card__meta span {
832
+ overflow: hidden;
833
+ max-width: 100%;
834
+ padding: 0.1875rem 0.4rem;
835
+ border: 1px solid var(--color-border, hsl(var(--border)));
836
+ border-radius: 4px;
837
+ color: var(--color-text-dim, hsl(var(--muted-foreground)));
838
+ font-family: var(--font-mono, ui-monospace, monospace);
839
+ font-size: 0.5625rem;
840
+ line-height: 1.2;
841
+ text-overflow: ellipsis;
842
+ white-space: nowrap;
843
+ }
844
+
845
+ .cmm-library-pipeline-card__foot {
846
+ color: var(--color-text-dim, hsl(var(--muted-foreground)));
847
+ font-family: var(--font-sans, system-ui, sans-serif);
848
+ font-size: 0.5625rem;
849
+ line-height: 1.2;
850
+ }
851
+
852
+ .cmm-library-pipeline-card__foot span {
853
+ overflow: hidden;
854
+ min-width: 0;
855
+ text-overflow: ellipsis;
856
+ white-space: nowrap;
857
+ }
858
+
859
+ @media (max-width: 1279px) {
860
+ .cmm-library-dashboard__metrics,
861
+ .cmm-library-dashboard__charts,
862
+ .cmm-library-dashboard__pipeline {
863
+ width: 100%;
864
+ }
865
+
866
+ .cmm-library-dashboard__pipeline-grid {
867
+ grid-template-columns: repeat(3, minmax(0, 1fr));
868
+ }
869
+ }
870
+
871
+ @media (max-width: 1023px) {
872
+ .cmm-library-dashboard__inner {
873
+ padding: 1.25rem 1rem 3rem;
874
+ }
875
+
876
+ .cmm-library-dashboard__metrics,
877
+ .cmm-library-dashboard__charts {
878
+ grid-template-columns: repeat(2, minmax(0, 1fr));
879
+ }
880
+
881
+ .cmm-library-dashboard__pipeline-grid {
882
+ grid-template-columns: repeat(2, minmax(0, 1fr));
883
+ }
884
+ }
885
+
886
+ @media (max-width: 720px) {
887
+ .cmm-library-dashboard__metrics,
888
+ .cmm-library-dashboard__charts,
889
+ .cmm-library-dashboard__pipeline-grid {
890
+ grid-template-columns: 1fr;
891
+ }
892
+
893
+ .cmm-library-dashboard__title {
894
+ font-size: 1.5rem;
895
+ }
896
+
897
+ .cmm-library-depth__axis {
898
+ margin-left: 0;
899
+ }
900
+ }
901
+
325
902
  .cmm-page-header {
326
903
  display: grid;
327
904
  gap: var(--space-3);
@@ -14,6 +14,8 @@
14
14
  <div class="sidebar__backdrop" data-sidebar-backdrop="{app}"></div>
15
15
  ============================================================================ */
16
16
 
17
+ @import "./components/brand.css";
18
+
17
19
  /* -----------------------------------------------------------------------------
18
20
  Base Sidebar Styles
19
21
  ----------------------------------------------------------------------------- */
@@ -1294,6 +1296,12 @@ button.sidebar__brand {
1294
1296
  justify-content: center;
1295
1297
  }
1296
1298
 
1299
+ .sidebar--collapsed .sidebar__brand {
1300
+ justify-content: center;
1301
+ width: 100%;
1302
+ }
1303
+
1304
+ .sidebar--collapsed .cmm-brand-lockup__copy,
1297
1305
  .sidebar--collapsed .cmm-brand-lockup__wordmark {
1298
1306
  display: none;
1299
1307
  }
@@ -1455,6 +1463,15 @@ button.sidebar__brand {
1455
1463
  z-index: -1;
1456
1464
  }
1457
1465
 
1466
+ .sidebar--cm {
1467
+ --cmm-sidebar-width: var(--spacing-sidebar, var(--sidebar-width, 240px));
1468
+ }
1469
+
1470
+ .sidebar--threat-library {
1471
+ --cmm-sidebar-bg: var(--color-bg-tertiary, #111111);
1472
+ --cmm-sidebar-width: var(--sidebar-width, 240px);
1473
+ }
1474
+
1458
1475
  .sidebar--product .sidebar__header,
1459
1476
  .sidebar--analyst-console .sidebar__header,
1460
1477
  .sidebar--security .sidebar__header,
@@ -1486,6 +1503,14 @@ button.sidebar__brand {
1486
1503
  letter-spacing: 0.1em;
1487
1504
  }
1488
1505
 
1506
+ .sidebar--product .cmm-brand-lockup--title .cmm-brand-lockup__wordmark,
1507
+ .sidebar--analyst-console .cmm-brand-lockup--title .cmm-brand-lockup__wordmark,
1508
+ .sidebar--security .cmm-brand-lockup--title .cmm-brand-lockup__wordmark,
1509
+ .sidebar--admin .cmm-brand-lockup--title .cmm-brand-lockup__wordmark {
1510
+ font-size: 0.875rem;
1511
+ letter-spacing: 0;
1512
+ }
1513
+
1489
1514
  .sidebar--product .sidebar__collapse-btn--edge,
1490
1515
  .sidebar--analyst-console .sidebar__collapse-btn--edge,
1491
1516
  .sidebar--security .sidebar__collapse-btn--edge,
@@ -2081,6 +2106,7 @@ button.sidebar__brand {
2081
2106
  justify-content: flex-start;
2082
2107
  }
2083
2108
 
2109
+ .sidebar--collapsed .cmm-brand-lockup__copy,
2084
2110
  .sidebar--collapsed .cmm-brand-lockup__wordmark {
2085
2111
  display: inline-flex;
2086
2112
  }