@truedat/dd 8.10.2 → 8.10.3

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.
@@ -2,69 +2,1235 @@
2
2
  font-family: monospace;
3
3
  }
4
4
 
5
- .structure-lineage {
6
- position: relative;
7
- width: 100%;
8
- overflow: hidden;
9
- margin-bottom: 0;
10
- padding-bottom: 0;
5
+ .dl svg {
6
+ border-radius: 5px;
11
7
  }
12
8
 
13
- .structure-lineage__download-button {
14
- position: absolute;
15
- top: 4%;
16
- right: 1%;
17
- z-index: 5;
9
+ .lineage-view {
10
+ --td-graph-container-height: clamp(620px, calc(100vh - 170px), 88vh);
11
+ --td-graph-border-radius: 8px;
12
+ --td-lineage-sidebar-width: 450px;
13
+ --td-lineage-sidebar-collapsed-width: 56px;
14
+ --td-lineage-menu-transition-duration: 180ms;
15
+ --td-lineage-menu-transition-easing: ease;
16
+ border-radius: 8px;
17
+
18
+ &.ui.segment {
19
+ padding: 0;
20
+ border: 0;
21
+ background: transparent;
22
+ box-shadow: none;
23
+ }
24
+
25
+ &__header {
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: space-between;
29
+ gap: 16px;
30
+ margin-bottom: 16px;
31
+ padding: 10px 12px;
32
+ border: 1px solid #dfe6ef;
33
+ border-radius: 8px;
34
+ background: #ffffff;
35
+ box-shadow: 0 1px 3px rgba(21, 26, 36, 0.06);
36
+ }
37
+
38
+ &__header-main {
39
+ display: flex;
40
+ min-width: 0;
41
+ align-items: center;
42
+ gap: 12px;
43
+ }
44
+
45
+ &__header-icon {
46
+ display: flex;
47
+ width: 36px;
48
+ height: 36px;
49
+ flex: 0 0 auto;
50
+ align-items: center;
51
+ justify-content: center;
52
+ border: 1px solid #d7dde6;
53
+ border-radius: 8px;
54
+ background: #f8fafc;
55
+ color: #002057;
56
+ }
57
+
58
+ &__header-copy {
59
+ min-width: 0;
60
+ }
61
+
62
+ &__header-title-row {
63
+ display: flex;
64
+ min-width: 0;
65
+ align-items: center;
66
+ gap: 8px;
67
+ line-height: 1.2;
68
+
69
+ h2 {
70
+ margin: 0;
71
+ color: #002057;
72
+ font-size: 18px;
73
+ font-weight: 700;
74
+ line-height: 1.2;
75
+ white-space: nowrap;
76
+ }
77
+ }
78
+
79
+ &__header-copy p {
80
+ margin: 4px 0 0;
81
+ color: #697386;
82
+ font-size: 12px;
83
+ line-height: 1.3;
84
+ }
85
+
86
+ &__export-button.ui.button {
87
+ flex: 0 0 auto;
88
+ margin: 0;
89
+ border-radius: 6px;
90
+ color: #435064 !important;
91
+ font-size: 10px;
92
+ font-weight: 700;
93
+ text-transform: uppercase;
94
+ }
95
+
96
+ &__workspace {
97
+ position: relative;
98
+ display: block;
99
+ min-width: 0;
100
+ overflow: visible;
101
+ }
102
+
103
+ &__sidebar {
104
+ position: absolute;
105
+ top: 30px;
106
+ left: 15px;
107
+ width: var(--td-lineage-sidebar-width);
108
+ min-width: 0;
109
+ max-height: calc(100vh - 80px);
110
+ overflow: visible;
111
+ border-radius: 8px;
112
+ background: transparent;
113
+ box-shadow: none;
114
+ transition:
115
+ width var(--td-lineage-menu-transition-duration)
116
+ var(--td-lineage-menu-transition-easing),
117
+ min-height var(--td-lineage-menu-transition-duration)
118
+ var(--td-lineage-menu-transition-easing),
119
+ box-shadow var(--td-lineage-menu-transition-duration)
120
+ var(--td-lineage-menu-transition-easing);
121
+ z-index: 5000;
122
+
123
+ .lineage-toolbar {
124
+ margin-bottom: 0;
125
+ }
126
+
127
+ .lineage-toolbar__form {
128
+ gap: 14px;
129
+ }
130
+
131
+ .lineage-toolbar__fields {
132
+ grid-template-columns: 1fr;
133
+ }
134
+
135
+ .lineage-selection-column--resource {
136
+ grid-column: 1 / -1;
137
+ }
138
+
139
+ .lineage-toolbar__controls {
140
+ grid-template-columns: 1fr;
141
+ }
142
+
143
+ .lineage-resource-field {
144
+ grid-template-columns: minmax(0, 1fr) auto;
145
+ }
146
+
147
+ .lineage-column-dropdown.ui.dropdown .menu.visible {
148
+ width: min(430px, calc(100vw - 88px));
149
+ column-width: 220px;
150
+ z-index: 4000;
151
+ }
152
+
153
+ .lineage-toolbar__actions {
154
+ grid-column: 1 / -1;
155
+
156
+ .ui.button:first-child {
157
+ order: 3;
158
+ grid-column: 1 / -1;
159
+ }
160
+
161
+ .ui.button:nth-child(2) {
162
+ order: 1;
163
+ }
164
+
165
+ .ui.button:nth-child(3) {
166
+ order: 2;
167
+ }
168
+ }
169
+
170
+ .lineage-resource-selector.ui.multiple.dropdown > .label {
171
+ max-width: calc(100% - 12px);
172
+ }
173
+
174
+ .lineage-resource-selector.ui.multiple.dropdown:not(.active):not(.visible) {
175
+ max-height: min(292px, calc(100vh - 360px));
176
+ overflow-x: hidden;
177
+ overflow-y: auto;
178
+ overscroll-behavior: contain;
179
+
180
+ > .label {
181
+ display: flex;
182
+ width: calc(100% - 12px);
183
+ max-width: none;
184
+ align-items: center;
185
+ }
186
+ }
187
+ }
188
+
189
+ &__sidebar-panel {
190
+ box-sizing: border-box;
191
+ display: flex;
192
+ width: var(--td-lineage-sidebar-width);
193
+ max-height: inherit;
194
+ flex-direction: column;
195
+ gap: 0;
196
+ opacity: 1;
197
+ overflow: visible;
198
+ transform: translateX(0);
199
+ transition:
200
+ opacity var(--td-lineage-menu-transition-duration)
201
+ var(--td-lineage-menu-transition-easing),
202
+ transform var(--td-lineage-menu-transition-duration)
203
+ var(--td-lineage-menu-transition-easing),
204
+ visibility 0ms linear 0ms;
205
+ visibility: visible;
206
+ }
207
+
208
+ &__sidebar-header {
209
+ position: relative;
210
+ display: block;
211
+ padding: 0 10px;
212
+ }
213
+
214
+ &__sidebar-toggle.ui.button {
215
+ position: absolute;
216
+ top: 0;
217
+ right: -48px;
218
+ width: 40px;
219
+ height: 40px;
220
+ min-height: 40px;
221
+ margin: 0;
222
+ padding: 0;
223
+ border: 1px solid #d7dde6;
224
+ border-radius: 8px;
225
+ background: #ffffff !important;
226
+ box-shadow: 0 6px 16px rgba(21, 26, 36, 0.08);
227
+ transition:
228
+ background-color var(--td-lineage-menu-transition-duration)
229
+ var(--td-lineage-menu-transition-easing),
230
+ border-color var(--td-lineage-menu-transition-duration)
231
+ var(--td-lineage-menu-transition-easing),
232
+ box-shadow var(--td-lineage-menu-transition-duration)
233
+ var(--td-lineage-menu-transition-easing),
234
+ color var(--td-lineage-menu-transition-duration)
235
+ var(--td-lineage-menu-transition-easing);
236
+ z-index: 2;
237
+ }
238
+
239
+ &__sidebar-tabs {
240
+ display: flex;
241
+ min-width: 0;
242
+ width: 100%;
243
+ max-width: 100%;
244
+ align-items: flex-end;
245
+ gap: 4px;
246
+ overflow: visible;
247
+ border: 0;
248
+ background: transparent;
249
+ }
250
+
251
+ &__sidebar-tab {
252
+ position: relative;
253
+ display: inline-flex;
254
+ flex: 1 1 0;
255
+ width: auto;
256
+ min-width: 0;
257
+ min-height: 40px;
258
+ align-items: center;
259
+ justify-content: center;
260
+ gap: 7px;
261
+ padding: 6px 12px 7px;
262
+ border: 1px solid #d7dde6;
263
+ border-bottom-color: #d7dde6;
264
+ border-radius: 8px 8px 0 0;
265
+ background: #f8fafc;
266
+ color: #697386;
267
+ cursor: pointer;
268
+ font-size: 10px;
269
+ font-weight: 800;
270
+ letter-spacing: 0;
271
+ line-height: 1.2;
272
+ text-transform: uppercase;
273
+ transition:
274
+ background-color var(--td-lineage-menu-transition-duration)
275
+ var(--td-lineage-menu-transition-easing),
276
+ border-color var(--td-lineage-menu-transition-duration)
277
+ var(--td-lineage-menu-transition-easing),
278
+ color var(--td-lineage-menu-transition-duration)
279
+ var(--td-lineage-menu-transition-easing);
280
+
281
+ &:not([aria-selected="true"]):hover {
282
+ border-color: #002057;
283
+ background: #002057;
284
+ color: #ffffff;
285
+ }
286
+
287
+ &[aria-selected="true"] {
288
+ z-index: 2;
289
+ margin-bottom: -1px;
290
+ border-bottom-color: #ffffff;
291
+ background: #ffffff;
292
+ color: #002057;
293
+ box-shadow: 0 -4px 12px rgba(21, 26, 36, 0.05);
294
+ }
295
+
296
+ &-icon {
297
+ display: inline-flex;
298
+ width: 28px;
299
+ height: 28px;
300
+ flex: 0 0 auto;
301
+ align-items: center;
302
+ justify-content: center;
303
+ border: 1px solid #d7dde6;
304
+ border-radius: 8px;
305
+ background: #ffffff;
306
+ color: #697386;
307
+ transition:
308
+ background-color var(--td-lineage-menu-transition-duration)
309
+ var(--td-lineage-menu-transition-easing),
310
+ border-color var(--td-lineage-menu-transition-duration)
311
+ var(--td-lineage-menu-transition-easing),
312
+ box-shadow var(--td-lineage-menu-transition-duration)
313
+ var(--td-lineage-menu-transition-easing),
314
+ color var(--td-lineage-menu-transition-duration)
315
+ var(--td-lineage-menu-transition-easing);
316
+
317
+ .icon {
318
+ margin: 0;
319
+ font-size: 15px;
320
+ line-height: 1;
321
+ }
322
+ }
323
+
324
+ &[aria-selected="true"] &-icon {
325
+ border-color: #002057;
326
+ background: #002057;
327
+ color: #ffffff;
328
+ box-shadow: 0 8px 18px rgba(0, 32, 87, 0.2);
329
+ }
330
+
331
+ &:not([aria-selected="true"]):hover &-icon {
332
+ border-color: rgba(255, 255, 255, 0.36);
333
+ background: rgba(255, 255, 255, 0.12);
334
+ box-shadow: none;
335
+ color: #ffffff;
336
+ }
337
+
338
+ &-label {
339
+ min-width: 0;
340
+ overflow: hidden;
341
+ text-overflow: ellipsis;
342
+ white-space: nowrap;
343
+ }
344
+
345
+ &-count {
346
+ display: inline-flex;
347
+ flex: 0 0 auto;
348
+ min-width: 16px;
349
+ align-items: center;
350
+ justify-content: center;
351
+ margin-left: 5px;
352
+ padding: 1px 4px;
353
+ border-radius: 6px;
354
+ background: #edf0f4;
355
+ color: #697386;
356
+ font-size: 9px;
357
+ line-height: 1.2;
358
+ transition:
359
+ background-color var(--td-lineage-menu-transition-duration)
360
+ var(--td-lineage-menu-transition-easing),
361
+ color var(--td-lineage-menu-transition-duration)
362
+ var(--td-lineage-menu-transition-easing);
363
+ }
364
+
365
+ &[aria-selected="true"] &-count {
366
+ background: #edf4ff;
367
+ color: #002057;
368
+ }
369
+
370
+ &:not([aria-selected="true"]):hover &-count {
371
+ background: rgba(255, 255, 255, 0.16);
372
+ color: #ffffff !important;
373
+ }
374
+ }
375
+
376
+ &__sidebar-content {
377
+ min-width: 0;
378
+ padding: 20px;
379
+ border: 1px solid #d7dde6;
380
+ border-radius: 8px;
381
+ background: #ffffff;
382
+ box-shadow: 0 12px 36px rgba(21, 26, 36, 0.14);
383
+ overflow: visible;
384
+
385
+ &--events {
386
+ overflow: visible;
387
+ }
388
+ }
389
+
390
+ &__workspace--sidebar-collapsed {
391
+ .lineage-view__sidebar {
392
+ width: var(--td-lineage-sidebar-collapsed-width);
393
+ min-height: 0;
394
+ overflow: visible;
395
+ }
396
+
397
+ .lineage-view__sidebar-panel {
398
+ position: absolute;
399
+ top: 0;
400
+ left: 0;
401
+ opacity: 0;
402
+ pointer-events: none;
403
+ transform: translateX(-16px);
404
+ transition:
405
+ opacity var(--td-lineage-menu-transition-duration)
406
+ var(--td-lineage-menu-transition-easing),
407
+ transform var(--td-lineage-menu-transition-duration)
408
+ var(--td-lineage-menu-transition-easing),
409
+ visibility 0ms linear var(--td-lineage-menu-transition-duration);
410
+ visibility: hidden;
411
+ }
412
+
413
+ .lineage-view__sidebar-rail.ui.button {
414
+ display: flex;
415
+ }
416
+ }
417
+
418
+ &__sidebar-rail.ui.button {
419
+ position: relative;
420
+ display: none;
421
+ width: 40px;
422
+ height: 40px;
423
+ min-width: 40px;
424
+ min-height: 40px;
425
+ margin: 1px 0;
426
+ padding: 0;
427
+ flex-direction: row;
428
+ align-items: center;
429
+ justify-content: center;
430
+ gap: 0;
431
+ border: 1px solid #d7dde6;
432
+ border-radius: var(--td-graph-border-radius, 8px);
433
+ background: #ffffff !important;
434
+ box-shadow: 0 12px 36px rgba(21, 26, 36, 0.14);
435
+ color: #697386;
436
+ overflow: hidden;
437
+ transition:
438
+ background-color var(--td-lineage-menu-transition-duration)
439
+ var(--td-lineage-menu-transition-easing),
440
+ border-color var(--td-lineage-menu-transition-duration)
441
+ var(--td-lineage-menu-transition-easing),
442
+ box-shadow var(--td-lineage-menu-transition-duration)
443
+ var(--td-lineage-menu-transition-easing),
444
+ color var(--td-lineage-menu-transition-duration)
445
+ var(--td-lineage-menu-transition-easing);
446
+
447
+ > .icon {
448
+ flex: 0 0 auto;
449
+ order: 1;
450
+ margin: 0;
451
+ position: relative;
452
+ z-index: 1;
453
+ }
454
+
455
+ &:hover,
456
+ &:focus {
457
+ border-color: #002057;
458
+ background: #002057 !important;
459
+ color: #ffffff !important;
460
+ }
461
+
462
+ &:hover > .icon,
463
+ &:focus > .icon,
464
+ &:hover span,
465
+ &:focus span {
466
+ color: #ffffff !important;
467
+ }
468
+
469
+ span {
470
+ display: none;
471
+ position: relative;
472
+ z-index: 1;
473
+ }
474
+ }
475
+
476
+ &__sidebar-rail--hint.ui.button {
477
+ border-color: #d7dde6;
478
+ background: #ffffff !important;
479
+ }
480
+
481
+ &__sidebar-rail--hint-on.ui.button {
482
+ border-color: #ed5c17;
483
+ background: #fff1eb !important;
484
+ box-shadow: 0 12px 36px rgba(237, 92, 23, 0.24);
485
+ color: #ed5c17;
486
+ }
487
+
488
+ &__main {
489
+ width: 100%;
490
+ min-width: 0;
491
+ }
492
+
493
+ .ui.dropdown .menu,
494
+ .ui.dropdown .menu.visible,
495
+ .fix-dropdown-selector.ui.dropdown .menu,
496
+ .fix-dropdown-selector.ui.dropdown .menu.visible {
497
+ z-index: 4000 !important;
498
+ }
499
+
500
+ @media (prefers-reduced-motion: reduce) {
501
+ &__sidebar,
502
+ &__sidebar-panel,
503
+ &__sidebar-toggle.ui.button,
504
+ &__sidebar-tab,
505
+ &__sidebar-tab-icon,
506
+ &__sidebar-tab-count,
507
+ &__sidebar-rail.ui.button {
508
+ transition: none;
509
+ }
510
+ }
511
+
512
+ @media (max-width: 767px) {
513
+ &__header {
514
+ align-items: flex-start;
515
+ }
516
+
517
+ &__workspace {
518
+ display: grid;
519
+ grid-template-columns: 1fr;
520
+ }
521
+
522
+ &__sidebar {
523
+ position: static;
524
+ width: 100%;
525
+ max-height: none;
526
+ min-height: 0;
527
+ }
528
+
529
+ &__workspace--sidebar-collapsed &__sidebar {
530
+ min-height: 48px;
531
+ }
532
+
533
+ &__sidebar-rail.ui.button {
534
+ width: 40px;
535
+ height: 40px;
536
+ min-height: 40px;
537
+ flex-direction: row;
538
+ justify-content: center;
539
+ padding: 0;
540
+ }
541
+ }
18
542
  }
19
543
 
20
- .structure-lineage__download-button span,
21
- .structure-lineage__download-button .ui.button,
22
- .structure-lineage__download-button .ui.popup {
23
- pointer-events: auto;
544
+ .lineage-toolbar {
545
+ margin-bottom: 16px;
546
+ overflow: visible;
547
+
548
+ &--panel {
549
+ margin-bottom: 0;
550
+ }
551
+
552
+ &__title {
553
+ padding-bottom: 8px !important;
554
+ }
555
+
556
+ &__form {
557
+ display: grid;
558
+ gap: 12px;
559
+ overflow: visible;
560
+ }
561
+
562
+ &__fields {
563
+ display: grid;
564
+ grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
565
+ gap: 8px;
566
+ align-items: start;
567
+ overflow: visible;
568
+ }
569
+
570
+ &__controls {
571
+ display: grid;
572
+ grid-template-columns: minmax(0, 1fr);
573
+ gap: 8px;
574
+ align-items: end;
575
+ }
576
+
577
+ &__levels {
578
+ display: flex;
579
+ min-width: 0;
580
+ flex-direction: column;
581
+ align-items: flex-start;
582
+ gap: 6px;
583
+
584
+ .ui.header {
585
+ margin: 0;
586
+ color: #435064;
587
+ font-size: 12px;
588
+ font-weight: 700;
589
+ line-height: 1.2;
590
+ }
591
+ }
592
+
593
+ &__level-options.inline.fields {
594
+ display: flex;
595
+ width: 100%;
596
+ min-width: 0;
597
+ flex-wrap: wrap;
598
+ align-items: center;
599
+ gap: 4px 10px;
600
+ margin: 0;
601
+
602
+ .field {
603
+ margin: 0;
604
+ }
605
+
606
+ label {
607
+ font-size: 11px;
608
+ }
609
+ }
610
+
611
+ &__level-option {
612
+ padding-right: 8px;
613
+ }
614
+
615
+ &__level-depth.field {
616
+ display: inline-flex;
617
+ min-width: 0;
618
+ align-items: center;
619
+ gap: 3px;
620
+
621
+ .ui.radio.checkbox {
622
+ margin: 0;
623
+ }
624
+ }
625
+
626
+ &__level-input.field {
627
+ width: 46px;
628
+ min-width: 46px;
629
+ margin: 0 !important;
630
+
631
+ > .field {
632
+ width: 46px;
633
+ margin: 0;
634
+ }
635
+
636
+ .ui.input,
637
+ .ui.input > input,
638
+ input {
639
+ width: 46px;
640
+ min-width: 46px;
641
+ max-width: 46px;
642
+ }
643
+
644
+ .ui.input > input,
645
+ input {
646
+ height: 30px;
647
+ padding: 5px 6px;
648
+ text-align: center;
649
+ }
650
+
651
+ input[type="number"]::-webkit-inner-spin-button,
652
+ input[type="number"]::-webkit-outer-spin-button {
653
+ -webkit-appearance: none;
654
+ margin: 0;
655
+ }
656
+
657
+ input[type="number"] {
658
+ -moz-appearance: textfield;
659
+ }
660
+ }
661
+
662
+ &__actions {
663
+ display: grid;
664
+ grid-column: 1 / -1;
665
+ grid-template-columns: repeat(2, minmax(0, 1fr));
666
+ gap: 8px;
667
+
668
+ .ui.button {
669
+ margin: 0;
670
+ transition:
671
+ background-color var(--td-lineage-menu-transition-duration)
672
+ var(--td-lineage-menu-transition-easing),
673
+ border-color var(--td-lineage-menu-transition-duration)
674
+ var(--td-lineage-menu-transition-easing),
675
+ box-shadow var(--td-lineage-menu-transition-duration)
676
+ var(--td-lineage-menu-transition-easing),
677
+ color var(--td-lineage-menu-transition-duration)
678
+ var(--td-lineage-menu-transition-easing);
679
+ }
680
+
681
+ > span,
682
+ > span > .ui.button {
683
+ display: block;
684
+ width: 100%;
685
+ }
686
+ }
687
+
688
+ @media (prefers-reduced-motion: reduce) {
689
+ &__actions .ui.button {
690
+ transition: none;
691
+ }
692
+ }
693
+
694
+ @media (max-width: 767px) {
695
+ &__fields {
696
+ grid-template-columns: 1fr;
697
+ }
698
+
699
+ &__controls {
700
+ grid-template-columns: 1fr;
701
+ }
702
+
703
+ &__actions {
704
+ justify-content: stretch;
705
+
706
+ .ui.button {
707
+ flex: 1 1 auto;
708
+ }
709
+ }
710
+ }
711
+ }
712
+
713
+ .lineage-selection-column {
714
+ min-width: 0;
715
+ overflow: visible;
716
+
717
+ &--resource {
718
+ grid-column: 1 / -1;
719
+ }
720
+
721
+ @media (max-width: 767px) {
722
+ &--resource {
723
+ grid-column: span 1;
724
+ }
725
+ }
24
726
  }
25
727
 
26
- .structure-lineage .ui.grid {
728
+ .lineage-resource-field {
729
+ display: grid;
730
+ grid-template-columns: minmax(0, 1fr) auto;
731
+ gap: 6px;
732
+ align-items: start;
733
+
734
+ @media (max-width: 767px) {
735
+ grid-template-columns: minmax(0, 1fr) auto;
736
+ }
737
+ }
738
+
739
+ .lineage-resource-toggle {
740
+ display: inline-flex;
741
+ width: auto;
742
+ min-width: 34px;
743
+ height: 34px;
744
+ align-items: center;
745
+ justify-content: center;
27
746
  margin: 0;
28
- padding-bottom: 0;
29
- padding-left: 0;
30
- padding-right: 0;
747
+ padding: 0 6px;
748
+ border-radius: 6px;
749
+ border: 1px solid rgba(34, 36, 38, 0.15);
750
+ background: #e0e1e2;
751
+ color: rgba(0, 0, 0, 0.6);
752
+ cursor: pointer;
753
+ font-size: 13px;
754
+ transition:
755
+ background-color var(--td-lineage-menu-transition-duration)
756
+ var(--td-lineage-menu-transition-easing),
757
+ border-color var(--td-lineage-menu-transition-duration)
758
+ var(--td-lineage-menu-transition-easing),
759
+ box-shadow var(--td-lineage-menu-transition-duration)
760
+ var(--td-lineage-menu-transition-easing),
761
+ color var(--td-lineage-menu-transition-duration)
762
+ var(--td-lineage-menu-transition-easing);
763
+ white-space: nowrap;
764
+
765
+ &:disabled {
766
+ opacity: 0.45;
767
+ cursor: not-allowed;
768
+ }
769
+
770
+ &-content {
771
+ display: inline-flex;
772
+ align-items: center;
773
+ gap: 4px;
774
+ }
775
+
776
+ .icon {
777
+ width: 1em;
778
+ height: 1em;
779
+ margin: 0;
780
+ font-size: 14px;
781
+ line-height: 1;
782
+ }
783
+
784
+ &--add {
785
+ border-color: #ed5c17;
786
+ background: #ed5c17;
787
+ box-shadow: 0 0 0 1px #ed5c17 inset;
788
+ color: #ffffff;
789
+
790
+ &:hover,
791
+ &:focus {
792
+ border-color: #ed5c17;
793
+ background: #ed5c17;
794
+ box-shadow: 0 0 0 1px #ed5c17 inset;
795
+ color: #ffffff;
796
+ }
797
+
798
+ .icon {
799
+ color: #ffffff;
800
+ }
801
+ }
802
+
803
+ @media (prefers-reduced-motion: reduce) {
804
+ transition: none;
805
+ }
31
806
  }
32
807
 
33
- .structure-lineage .ui.grid > .row {
34
- padding-top: 0;
35
- padding-bottom: 0;
36
- margin-bottom: 0;
37
- margin-left: 0;
38
- margin-right: 0;
39
- padding-left: 0;
40
- padding-right: 0;
808
+ .lineage-domain-selector.ui.dropdown .menu > .item.disabled {
809
+ background-color: #f6f8fb;
810
+ color: #a2a9b8;
811
+ cursor: not-allowed;
41
812
  }
42
813
 
43
- .structure-lineage .ui.grid > * {
44
- padding-left: 0;
45
- padding-right: 0;
814
+ .lineage-domain-selector-skeleton {
815
+ position: relative;
816
+ display: flex;
817
+ min-height: 34px;
818
+ align-items: center;
819
+ justify-content: space-between;
820
+ padding: 8px 10px;
821
+ border: 1px solid #d7dde6;
822
+ border-radius: 6px;
823
+ background: #ffffff;
824
+ overflow: hidden;
825
+
826
+ &::before {
827
+ position: absolute;
828
+ inset: 0;
829
+ background: linear-gradient(
830
+ 90deg,
831
+ rgba(246, 248, 251, 0) 0%,
832
+ rgba(246, 248, 251, 0.88) 50%,
833
+ rgba(246, 248, 251, 0) 100%
834
+ );
835
+ content: "";
836
+ transform: translateX(-100%);
837
+ animation: lineage-domain-skeleton 1100ms ease-in-out infinite;
838
+ }
839
+
840
+ &__label {
841
+ width: min(150px, 62%);
842
+ height: 10px;
843
+ border-radius: 999px;
844
+ background: #dfe5ee;
845
+ }
846
+
847
+ &__icon {
848
+ width: 10px;
849
+ height: 10px;
850
+ border-right: 2px solid #b8c1cf;
851
+ border-bottom: 2px solid #b8c1cf;
852
+ transform: rotate(45deg);
853
+ }
46
854
  }
47
855
 
48
- .structure-lineage .ui.grid > .row > .column {
49
- padding-bottom: 0;
50
- padding-left: 0;
51
- padding-right: 0;
856
+ @keyframes lineage-domain-skeleton {
857
+ to {
858
+ transform: translateX(100%);
859
+ }
52
860
  }
53
861
 
54
- .structure-lineage .dl {
55
- height: 100%;
56
- padding: 0;
57
- margin: 0;
862
+ .lineage-column-dropdown.ui.dropdown .menu.visible {
863
+ width: min(480px, calc(100vw - 80px));
864
+ column-gap: 0;
865
+ column-width: 220px;
866
+ z-index: 4000;
867
+
868
+ > .item {
869
+ break-inside: avoid;
870
+ }
58
871
  }
59
872
 
60
- .structure-lineage .dl svg {
873
+ .lineage-resource-selector.ui.multiple.dropdown > .label {
874
+ max-width: 180px;
875
+ overflow: hidden;
876
+ text-overflow: ellipsis;
877
+ white-space: nowrap;
878
+ }
879
+
880
+ .lineage-events-panel {
881
+ display: flex;
882
+ min-height: 100%;
883
+ flex-direction: column;
884
+ gap: 10px;
885
+
886
+ .lineage-view__sidebar-content--events & {
887
+ &__scrollable {
888
+ --td-lineage-events-scrollbar-width: 16px;
889
+ --td-lineage-events-sidebar-offset: 21px;
890
+
891
+ box-sizing: border-box;
892
+ max-height: calc(var(--td-graph-container-height) - 98px);
893
+ padding-top: 4px;
894
+ width: calc(
895
+ 100% + var(--td-lineage-events-scrollbar-width) +
896
+ var(--td-lineage-events-sidebar-offset)
897
+ );
898
+ margin-right: calc(
899
+ (
900
+ var(--td-lineage-events-scrollbar-width) +
901
+ var(--td-lineage-events-sidebar-offset)
902
+ ) *
903
+ -1
904
+ );
905
+ overflow-y: scroll;
906
+ padding-right: calc(
907
+ var(--td-lineage-events-scrollbar-width) +
908
+ var(--td-lineage-events-sidebar-offset)
909
+ );
910
+ scrollbar-color: #002057 transparent;
911
+ scrollbar-width: thin;
912
+
913
+ &::-webkit-scrollbar {
914
+ width: 6px;
915
+ }
916
+
917
+ &::-webkit-scrollbar-track {
918
+ border-radius: 3px;
919
+ background: transparent;
920
+ }
921
+
922
+ &::-webkit-scrollbar-thumb {
923
+ border-radius: 3px;
924
+ background: #002057;
925
+
926
+ &:hover {
927
+ background: #0040a8;
928
+ }
929
+ }
930
+ }
931
+
932
+ &__list {
933
+ gap: 12px;
934
+ }
935
+ }
936
+
937
+ &__header {
938
+ display: flex;
939
+ align-items: center;
940
+ justify-content: space-between;
941
+ color: #202a3a;
942
+ font-size: 13px;
943
+ font-weight: 800;
944
+ letter-spacing: 0.08em;
945
+ line-height: 1.2;
946
+ text-transform: uppercase;
947
+
948
+ .icon {
949
+ margin: 0;
950
+ color: #96a1b3;
951
+ font-size: 18px;
952
+ }
953
+ }
954
+
955
+ &__list {
956
+ display: flex;
957
+ flex-direction: column;
958
+ gap: 8px;
959
+ }
960
+
961
+ &__item {
962
+ padding: 10px;
963
+ border: 1px solid #e8edf3;
964
+ border-radius: 6px;
965
+ background: #ffffff;
966
+ box-shadow: 0 4px 14px rgba(21, 26, 36, 0.04);
967
+ transition:
968
+ border-color var(--td-lineage-menu-transition-duration)
969
+ var(--td-lineage-menu-transition-easing),
970
+ background-color var(--td-lineage-menu-transition-duration)
971
+ var(--td-lineage-menu-transition-easing),
972
+ box-shadow var(--td-lineage-menu-transition-duration)
973
+ var(--td-lineage-menu-transition-easing),
974
+ transform var(--td-lineage-menu-transition-duration)
975
+ var(--td-lineage-menu-transition-easing);
976
+
977
+ &:hover {
978
+ border-color: #d7dde6;
979
+ background: #ffffff;
980
+ }
981
+
982
+ &--clickable {
983
+ cursor: pointer;
984
+
985
+ &:hover {
986
+ border-color: #002057;
987
+ box-shadow: 0 6px 20px rgba(21, 26, 36, 0.1);
988
+ transform: translateY(-1px);
989
+ }
990
+
991
+ &:focus-visible {
992
+ outline: 2px solid #002057;
993
+ outline-offset: 2px;
994
+ }
995
+ }
996
+ }
997
+
998
+ &__item-header {
999
+ display: flex;
1000
+ align-items: center;
1001
+ justify-content: space-between;
1002
+ gap: 12px;
1003
+ }
1004
+
1005
+ &__item-title {
1006
+ display: inline-flex;
1007
+ min-height: 22px;
1008
+ align-items: center;
1009
+ gap: 6px;
1010
+ padding: 3px 8px;
1011
+ border-radius: 6px;
1012
+ background: #f1f4f8;
1013
+ color: #002057;
1014
+ font-size: 11px;
1015
+ font-weight: 800;
1016
+ line-height: 1.2;
1017
+
1018
+ .icon {
1019
+ margin: 0;
1020
+ color: #58647a;
1021
+ }
1022
+ }
1023
+
1024
+ &__meta {
1025
+ display: flex;
1026
+ flex-wrap: wrap;
1027
+ gap: 4px 10px;
1028
+ margin-top: 7px;
1029
+ color: #526176;
1030
+ font-size: 10px;
1031
+ font-weight: 800;
1032
+ line-height: 1.25;
1033
+ }
1034
+
1035
+ &__scope {
1036
+ display: -webkit-box;
1037
+ margin: 6px 0 0;
1038
+ overflow: hidden;
1039
+ color: #66758a;
1040
+ font-family: monospace;
1041
+ font-size: 10px;
1042
+ font-weight: 700;
1043
+ line-height: 1.35;
1044
+ -webkit-box-orient: vertical;
1045
+ -webkit-line-clamp: 2;
1046
+ }
1047
+
1048
+ &__row {
1049
+ display: grid;
1050
+ align-items: center;
1051
+ padding-top: 6px;
1052
+ border-top: 1px solid #eef2f6;
1053
+ }
1054
+
1055
+ &__row-main {
1056
+ display: flex;
1057
+ min-width: 0;
1058
+ flex-wrap: wrap;
1059
+ align-items: center;
1060
+ gap: 6px 10px;
1061
+ }
1062
+
1063
+ &__type {
1064
+ display: inline-flex;
1065
+ flex: 1 1 96px;
1066
+ min-width: 0;
1067
+ align-items: center;
1068
+ gap: 6px;
1069
+ overflow: hidden;
1070
+ color: #2b3444;
1071
+ font-size: 11px;
1072
+ font-weight: 800;
1073
+ line-height: 1.2;
1074
+ text-overflow: ellipsis;
1075
+ white-space: nowrap;
1076
+
1077
+ .icon {
1078
+ flex: 0 0 auto;
1079
+ margin: 0;
1080
+ color: #697386;
1081
+ font-size: 12px;
1082
+ }
1083
+ }
1084
+
1085
+ &__date {
1086
+ flex: 1 1 96px;
1087
+ min-width: 0;
1088
+ overflow: hidden;
1089
+ color: #96a1b3;
1090
+ font-size: 10px;
1091
+ font-weight: 700;
1092
+ line-height: 1.2;
1093
+ text-align: right;
1094
+ text-overflow: ellipsis;
1095
+ white-space: nowrap;
1096
+ }
1097
+
1098
+ &__card-status {
1099
+ display: inline-flex;
1100
+ flex: 0 0 auto;
1101
+ align-items: center;
1102
+ gap: 4px;
1103
+ color: #697386;
1104
+ font-size: 12px;
1105
+ font-weight: 800;
1106
+ line-height: 1;
1107
+ text-transform: uppercase;
1108
+
1109
+ &--completed {
1110
+ color: #159a6a;
1111
+ }
1112
+
1113
+ &--failed {
1114
+ color: #e23d5b;
1115
+ }
1116
+ }
1117
+
1118
+ &__card-status-trigger {
1119
+ display: inline-flex;
1120
+ align-items: center;
1121
+ gap: 4px;
1122
+ padding: 0;
1123
+ border: 0;
1124
+ background: transparent;
1125
+ color: inherit;
1126
+ cursor: inherit;
1127
+ font-size: inherit;
1128
+ font-weight: inherit;
1129
+ line-height: inherit;
1130
+ text-transform: inherit;
1131
+
1132
+ .icon {
1133
+ margin: 0;
1134
+ font-size: 14px;
1135
+ }
1136
+ }
1137
+
1138
+ &__card-status--failed &__card-status-trigger {
1139
+ cursor: help;
1140
+ }
1141
+
1142
+ &__empty {
1143
+ display: flex;
1144
+ min-height: 180px;
1145
+ flex: 1 1 auto;
1146
+ flex-direction: column;
1147
+ align-items: center;
1148
+ justify-content: center;
1149
+ gap: 8px;
1150
+ padding: 24px 8px;
1151
+ color: #a2a9b8;
1152
+ font-size: 11px;
1153
+ font-weight: 600;
1154
+ text-align: center;
1155
+
1156
+ .icon {
1157
+ margin: 0;
1158
+ color: #cbd3df;
1159
+ font-size: 24px;
1160
+ }
1161
+ }
1162
+
1163
+ @media (prefers-reduced-motion: reduce) {
1164
+ &__item,
1165
+ &__item--clickable {
1166
+ transition: none;
1167
+ }
1168
+ }
1169
+ }
1170
+
1171
+ .structure-lineage {
1172
+ position: relative;
61
1173
  width: 100%;
62
- height: 100% !important;
63
- min-height: 340px;
64
- background-color: #f7f8fa;
65
- padding: 0;
66
- margin: 0;
67
- display: block;
68
- margin-left: 0;
69
- margin-right: 0;
1174
+ overflow: hidden;
1175
+ margin-bottom: 0;
1176
+ padding-bottom: 0;
1177
+
1178
+ &__download-button {
1179
+ position: absolute;
1180
+ top: 4%;
1181
+ right: 1%;
1182
+ z-index: 5;
1183
+
1184
+ span,
1185
+ .ui.button,
1186
+ .ui.popup {
1187
+ pointer-events: auto;
1188
+ }
1189
+ }
1190
+
1191
+ .ui.grid {
1192
+ margin: 0;
1193
+ padding-bottom: 0;
1194
+ padding-left: 0;
1195
+ padding-right: 0;
1196
+
1197
+ > .row {
1198
+ padding-top: 0;
1199
+ padding-bottom: 0;
1200
+ margin-bottom: 0;
1201
+ margin-left: 0;
1202
+ margin-right: 0;
1203
+ padding-left: 0;
1204
+ padding-right: 0;
1205
+ }
1206
+
1207
+ > * {
1208
+ padding-left: 0;
1209
+ padding-right: 0;
1210
+ }
1211
+
1212
+ > .row > .column {
1213
+ padding-bottom: 0;
1214
+ padding-left: 0;
1215
+ padding-right: 0;
1216
+ }
1217
+ }
1218
+
1219
+ .dl {
1220
+ height: 100%;
1221
+ padding: 0;
1222
+ margin: 0;
1223
+
1224
+ svg {
1225
+ width: 100%;
1226
+ height: 100% !important;
1227
+ min-height: 340px;
1228
+ background-color: #f7f8fa;
1229
+ padding: 0;
1230
+ margin: 0;
1231
+ display: block;
1232
+ margin-left: 0;
1233
+ margin-right: 0;
1234
+ }
1235
+ }
70
1236
  }