@green-on-grey/ui-kit 1.11.1 → 1.14.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/dist/styles.css CHANGED
@@ -489,6 +489,198 @@ h3.sec {
489
489
  margin-top: 12px;
490
490
  }
491
491
 
492
+ /* Graph (FTR.NAB.CMN-0003 R19, FTR.HMR.DEV-0002 R15): moved from Nabu with its look; g-c1 and g-c2 are its people and topics. */
493
+ .gwrap {
494
+ border: 1px solid var(--border);
495
+ border-radius: var(--r-m);
496
+ background: var(--surface-2);
497
+ position: relative;
498
+ overflow: hidden;
499
+ }
500
+ .gwrap.loading {
501
+ min-height: 320px;
502
+ display: grid;
503
+ place-items: center;
504
+ color: var(--muted);
505
+ }
506
+ .gwrap svg {
507
+ display: block;
508
+ width: 100%;
509
+ height: min(64vh,620px);
510
+ touch-action: none;
511
+ cursor: grab;
512
+ }
513
+ .g-e line,
514
+ .g-e path {
515
+ stroke: var(--border-strong);
516
+ fill: none;
517
+ transition: opacity 0.15s;
518
+ }
519
+ .g-e .hit {
520
+ stroke: transparent;
521
+ stroke-width: 12;
522
+ cursor: pointer;
523
+ }
524
+ .g-e.dashed line:first-child,
525
+ .g-e.dashed path:first-child {
526
+ stroke: var(--violet);
527
+ stroke-dasharray: 6 4;
528
+ }
529
+ .gwrap marker path {
530
+ fill: var(--border-strong);
531
+ }
532
+ .g-n {
533
+ cursor: pointer;
534
+ transition: opacity 0.15s;
535
+ outline: none;
536
+ }
537
+ .g-n circle {
538
+ stroke: var(--surface);
539
+ stroke-width: 2;
540
+ }
541
+ .g-c1 circle,
542
+ .gleg i.g-c1 {
543
+ fill: var(--green);
544
+ background: var(--green);
545
+ }
546
+ .g-c2 circle,
547
+ .gleg i.g-c2 {
548
+ fill: var(--violet);
549
+ background: var(--violet);
550
+ }
551
+ .g-c3 circle,
552
+ .gleg i.g-c3 {
553
+ fill: var(--amber);
554
+ background: var(--amber);
555
+ }
556
+ .g-c4 circle,
557
+ .gleg i.g-c4 {
558
+ fill: var(--red);
559
+ background: var(--red);
560
+ }
561
+ .g-c5 circle,
562
+ .gleg i.g-c5 {
563
+ fill: var(--text-2);
564
+ background: var(--text-2);
565
+ }
566
+ .g-c6 circle,
567
+ .gleg i.g-c6 {
568
+ fill: var(--muted);
569
+ background: var(--muted);
570
+ }
571
+ .g-n.dashed circle {
572
+ fill: var(--surface);
573
+ stroke: var(--muted);
574
+ stroke-dasharray: 3 3;
575
+ }
576
+ .g-n.muted {
577
+ opacity: 0.45;
578
+ }
579
+ .g-n text {
580
+ font: 500 12px var(--font);
581
+ fill: var(--text);
582
+ text-anchor: middle;
583
+ pointer-events: none;
584
+ }
585
+ .g-n.small text {
586
+ opacity: 0;
587
+ }
588
+ .g-n.small:hover text,
589
+ .g-n.small.hl text,
590
+ .g-n.small:focus-visible text {
591
+ opacity: 1;
592
+ }
593
+ .g-n.pin circle,
594
+ .g-n:focus-visible circle {
595
+ stroke: var(--text);
596
+ stroke-width: 2.5;
597
+ }
598
+ .g-n.focus circle {
599
+ stroke: var(--violet);
600
+ stroke-width: 2.5;
601
+ }
602
+ svg.dimmed .g-n:not(.hl) {
603
+ opacity: 0.22;
604
+ }
605
+ svg.dimmed .g-e:not(.hl) line,
606
+ svg.dimmed .g-e:not(.hl) path {
607
+ opacity: 0.12;
608
+ }
609
+ svg.dimmed .g-e.hl line:first-child,
610
+ svg.dimmed .g-e.hl path:first-child {
611
+ stroke: var(--text-2);
612
+ }
613
+ svg.dimmed .g-e.dashed.hl line:first-child,
614
+ svg.dimmed .g-e.dashed.hl path:first-child {
615
+ stroke: var(--violet);
616
+ }
617
+ /* FTR.HMR.DEV-0002 R15: the rows of the row layout, a label at the left and a line between rows */
618
+ .g-row {
619
+ pointer-events: none;
620
+ }
621
+ .g-row text {
622
+ font: 600 12px var(--font);
623
+ fill: var(--text-2);
624
+ dominant-baseline: middle;
625
+ }
626
+ .g-row line {
627
+ stroke: var(--border);
628
+ stroke-dasharray: 2 4;
629
+ }
630
+ .gleg {
631
+ position: absolute;
632
+ right: 10px;
633
+ top: 10px;
634
+ display: flex;
635
+ gap: 12px;
636
+ font-size: 12px;
637
+ color: var(--text-2);
638
+ background: var(--surface);
639
+ border: 1px solid var(--border);
640
+ border-radius: var(--r-m);
641
+ padding: 5px 10px;
642
+ }
643
+ .gleg i {
644
+ display: inline-block;
645
+ width: 10px;
646
+ height: 10px;
647
+ border-radius: 50%;
648
+ margin-right: 5px;
649
+ vertical-align: -1px;
650
+ }
651
+ .gzoom {
652
+ position: absolute;
653
+ right: 10px;
654
+ bottom: 10px;
655
+ display: grid;
656
+ gap: 4px;
657
+ }
658
+ .gzoom button {
659
+ width: 30px;
660
+ height: 30px;
661
+ background: var(--surface);
662
+ border: 1px solid var(--border);
663
+ border-radius: var(--r-s);
664
+ font-weight: 600;
665
+ color: var(--text-2);
666
+ cursor: pointer;
667
+ }
668
+ .gzoom button svg {
669
+ display: block;
670
+ margin: auto;
671
+ }
672
+ @media (max-width: 860px) {
673
+ .gzoom {
674
+ display: none;
675
+ }
676
+ .gwrap svg {
677
+ height: auto;
678
+ }
679
+ .g-n text {
680
+ font-size: 19px;
681
+ }
682
+ }
683
+
492
684
  /* The modal dialog, fields, inputs, hints, the switch. */
493
685
  .overlay {
494
686
  position: fixed;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@green-on-grey/ui-kit",
3
- "version": "1.11.1",
3
+ "version": "1.14.0",
4
4
  "description": "UI kit of the Nabu and Hammurapi products: styles, components, the chat and the sign-in screen",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -55,10 +55,12 @@
55
55
  "react-i18next": "^17.0.0"
56
56
  },
57
57
  "dependencies": {
58
+ "d3-force": "^3.0.1",
58
59
  "postcss": "^8.5.29"
59
60
  },
60
61
  "devDependencies": {
61
62
  "@playwright/test": "^1.64.0",
63
+ "@types/d3-force": "^3.0.10",
62
64
  "@types/node": "^26.6.2",
63
65
  "@types/react": "^19.3.0",
64
66
  "@types/react-dom": "^19.3.0",