datajunction-ui 0.0.1-rc.2 → 0.0.1-rc.21

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 (136) hide show
  1. package/.env +1 -0
  2. package/.prettierignore +3 -1
  3. package/dj-logo.svg +10 -0
  4. package/package.json +43 -13
  5. package/public/favicon.ico +0 -0
  6. package/src/__tests__/reportWebVitals.test.jsx +44 -0
  7. package/src/app/__tests__/__snapshots__/index.test.tsx.snap +5 -39
  8. package/src/app/components/DeleteNode.jsx +79 -0
  9. package/src/app/components/ListGroupItem.jsx +8 -1
  10. package/src/app/components/NamespaceHeader.jsx +4 -13
  11. package/src/app/components/QueryInfo.jsx +77 -0
  12. package/src/app/components/Tab.jsx +3 -2
  13. package/src/app/components/ToggleSwitch.jsx +20 -0
  14. package/src/app/components/__tests__/QueryInfo.test.jsx +55 -0
  15. package/src/app/components/__tests__/Tab.test.jsx +27 -0
  16. package/src/app/components/__tests__/ToggleSwitch.test.jsx +43 -0
  17. package/src/app/components/__tests__/__snapshots__/ListGroupItem.test.tsx.snap +3 -0
  18. package/src/app/components/__tests__/__snapshots__/NamespaceHeader.test.jsx.snap +2 -18
  19. package/src/app/components/djgraph/Collapse.jsx +46 -0
  20. package/src/app/components/djgraph/DJNode.jsx +60 -82
  21. package/src/app/components/djgraph/DJNodeColumns.jsx +71 -0
  22. package/src/app/components/djgraph/DJNodeDimensions.jsx +75 -0
  23. package/src/app/components/djgraph/LayoutFlow.jsx +104 -0
  24. package/src/app/components/djgraph/__tests__/Collapse.test.jsx +51 -0
  25. package/src/app/components/djgraph/__tests__/DJNodeColumns.test.jsx +83 -0
  26. package/src/app/components/djgraph/__tests__/DJNodeDimensions.test.jsx +118 -0
  27. package/src/app/components/djgraph/__tests__/__snapshots__/DJNode.test.tsx.snap +84 -40
  28. package/src/app/constants.js +2 -0
  29. package/src/app/icons/AlertIcon.jsx +32 -0
  30. package/src/app/icons/CollapsedIcon.jsx +15 -0
  31. package/src/app/icons/DJLogo.jsx +36 -0
  32. package/src/app/icons/DeleteIcon.jsx +21 -0
  33. package/src/app/icons/EditIcon.jsx +18 -0
  34. package/src/app/icons/ExpandedIcon.jsx +15 -0
  35. package/src/app/icons/HorizontalHierarchyIcon.jsx +15 -0
  36. package/src/app/icons/InvalidIcon.jsx +14 -0
  37. package/src/app/icons/PythonIcon.jsx +52 -0
  38. package/src/app/icons/TableIcon.jsx +14 -0
  39. package/src/app/icons/ValidIcon.jsx +14 -0
  40. package/src/app/index.tsx +79 -26
  41. package/src/app/pages/AddEditNodePage/FormikSelect.jsx +46 -0
  42. package/src/app/pages/AddEditNodePage/FullNameField.jsx +37 -0
  43. package/src/app/pages/AddEditNodePage/Loadable.jsx +16 -0
  44. package/src/app/pages/AddEditNodePage/NodeQueryField.jsx +89 -0
  45. package/src/app/pages/AddEditNodePage/__tests__/AddEditNodePageFormFailed.test.jsx +77 -0
  46. package/src/app/pages/AddEditNodePage/__tests__/AddEditNodePageFormSuccess.test.jsx +93 -0
  47. package/src/app/pages/AddEditNodePage/__tests__/FormikSelect.test.jsx +75 -0
  48. package/src/app/pages/AddEditNodePage/__tests__/FullNameField.test.jsx +31 -0
  49. package/src/app/pages/AddEditNodePage/__tests__/NodeQueryField.test.jsx +30 -0
  50. package/src/app/pages/AddEditNodePage/__tests__/__snapshots__/AddEditNodePageFormFailed.test.jsx.snap +53 -0
  51. package/src/app/pages/AddEditNodePage/__tests__/__snapshots__/AddEditNodePageFormSuccess.test.jsx.snap +53 -0
  52. package/src/app/pages/AddEditNodePage/__tests__/__snapshots__/index.test.jsx.snap +3 -0
  53. package/src/app/pages/AddEditNodePage/__tests__/index.test.jsx +178 -0
  54. package/src/app/pages/AddEditNodePage/index.jsx +357 -0
  55. package/src/app/pages/LoginPage/__tests__/index.test.jsx +70 -0
  56. package/src/app/pages/LoginPage/assets/sign-in-with-github.png +0 -0
  57. package/src/app/pages/LoginPage/assets/sign-in-with-google.png +0 -0
  58. package/src/app/pages/LoginPage/index.jsx +90 -0
  59. package/src/app/pages/NamespacePage/AddNamespacePopover.jsx +86 -0
  60. package/src/app/pages/NamespacePage/Explorer.jsx +57 -0
  61. package/src/app/pages/NamespacePage/Loadable.jsx +9 -7
  62. package/src/app/pages/NamespacePage/__tests__/index.test.jsx +95 -0
  63. package/src/app/pages/NamespacePage/index.jsx +132 -31
  64. package/src/app/pages/NodePage/ClientCodePopover.jsx +32 -0
  65. package/src/app/pages/NodePage/EditColumnPopover.jsx +102 -0
  66. package/src/app/pages/NodePage/LinkDimensionPopover.jsx +135 -0
  67. package/src/app/pages/NodePage/Loadable.jsx +9 -7
  68. package/src/app/pages/NodePage/NodeColumnTab.jsx +106 -27
  69. package/src/app/pages/NodePage/NodeGraphTab.jsx +94 -148
  70. package/src/app/pages/NodePage/NodeHistory.jsx +212 -0
  71. package/src/app/pages/NodePage/NodeInfoTab.jsx +166 -51
  72. package/src/app/pages/NodePage/NodeLineageTab.jsx +84 -0
  73. package/src/app/pages/NodePage/NodeMaterializationTab.jsx +174 -0
  74. package/src/app/pages/NodePage/NodeSQLTab.jsx +82 -0
  75. package/src/app/pages/NodePage/NodeStatus.jsx +14 -20
  76. package/src/app/pages/NodePage/NodesWithDimension.jsx +42 -0
  77. package/src/app/pages/NodePage/__tests__/ClientCodePopover.test.jsx +49 -0
  78. package/src/app/pages/NodePage/__tests__/EditColumnPopover.test.jsx +148 -0
  79. package/src/app/pages/NodePage/__tests__/LinkDimensionPopover.test.jsx +165 -0
  80. package/src/app/pages/NodePage/__tests__/NodeGraphTab.test.jsx +591 -0
  81. package/src/app/pages/NodePage/__tests__/NodeLineageTab.test.jsx +57 -0
  82. package/src/app/pages/NodePage/__tests__/NodePage.test.jsx +725 -0
  83. package/src/app/pages/NodePage/__tests__/NodeWithDimension.test.jsx +175 -0
  84. package/src/app/pages/NodePage/__tests__/__snapshots__/NodePage.test.jsx.snap +402 -0
  85. package/src/app/pages/NodePage/index.jsx +151 -41
  86. package/src/app/pages/NotFoundPage/__tests__/index.test.jsx +16 -0
  87. package/src/app/pages/RegisterTablePage/Loadable.jsx +16 -0
  88. package/src/app/pages/RegisterTablePage/index.jsx +163 -0
  89. package/src/app/pages/Root/__tests__/index.test.jsx +77 -0
  90. package/src/app/pages/Root/index.tsx +32 -4
  91. package/src/app/pages/SQLBuilderPage/Loadable.jsx +16 -0
  92. package/src/app/pages/SQLBuilderPage/__tests__/index.test.jsx +173 -0
  93. package/src/app/pages/SQLBuilderPage/index.jsx +390 -0
  94. package/src/app/providers/djclient.jsx +5 -0
  95. package/src/app/services/DJService.js +398 -22
  96. package/src/app/services/__tests__/DJService.test.jsx +609 -0
  97. package/src/mocks/mockNodes.jsx +1397 -0
  98. package/src/setupTests.ts +31 -1
  99. package/src/styles/dag.css +111 -5
  100. package/src/styles/index.css +467 -31
  101. package/src/styles/login.css +67 -0
  102. package/src/styles/node-creation.scss +197 -0
  103. package/src/styles/styles.scss +44 -0
  104. package/src/styles/styles.scss.d.ts +9 -0
  105. package/src/utils/form.jsx +23 -0
  106. package/tsconfig.json +1 -5
  107. package/webpack.config.js +29 -6
  108. package/.babelrc +0 -4
  109. package/.env.local +0 -4
  110. package/.env.production +0 -1
  111. package/.github/pull_request_template.md +0 -11
  112. package/.github/workflows/ci.yml +0 -33
  113. package/.vscode/extensions.json +0 -7
  114. package/.vscode/launch.json +0 -15
  115. package/.vscode/settings.json +0 -25
  116. package/Dockerfile +0 -7
  117. package/dist/5fa71a03d45dc2e3d61447f3013a303d.png +0 -0
  118. package/dist/index.html +0 -1
  119. package/dist/main.js +0 -23303
  120. package/dist/static/main.05a86d446163fd5f17d3.js +0 -2
  121. package/dist/static/main.05a86d446163fd5f17d3.js.LICENSE.txt +0 -98
  122. package/dist/static/main.9e53bed734dae98e5b10.js +0 -2
  123. package/dist/static/main.9e53bed734dae98e5b10.js.LICENSE.txt +0 -98
  124. package/dist/static/main.js +0 -2
  125. package/dist/static/main.js.LICENSE.txt +0 -98
  126. package/dist/static/vendor.05a86d446163fd5f17d3.js +0 -2
  127. package/dist/static/vendor.05a86d446163fd5f17d3.js.LICENSE.txt +0 -29
  128. package/dist/static/vendor.9e53bed734dae98e5b10.js +0 -2
  129. package/dist/static/vendor.9e53bed734dae98e5b10.js.LICENSE.txt +0 -29
  130. package/dist/static/vendor.js +0 -2
  131. package/dist/static/vendor.js.LICENSE.txt +0 -29
  132. package/dist/vendor.js +0 -281
  133. package/src/app/pages/ListNamespacesPage/Loadable.jsx +0 -14
  134. package/src/app/pages/ListNamespacesPage/index.jsx +0 -52
  135. package/src/app/pages/NamespacePage/__tests__/__snapshots__/index.test.tsx.snap +0 -45
  136. package/src/app/pages/NamespacePage/__tests__/index.test.tsx +0 -14
@@ -1,8 +1,12 @@
1
+ @import url('https://fonts.googleapis.com/css?family=Jost');
2
+ @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;600&display=swap');
3
+ @import url('https://fonts.googleapis.com/css?family=Lato');
4
+
1
5
  body {
2
6
  margin: 0;
3
- font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
4
- 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji',
5
- 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
7
+ font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell,
8
+ Noto Sans, sans-serif, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial,
9
+ sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
6
10
  -webkit-font-smoothing: antialiased;
7
11
  -moz-osx-font-smoothing: grayscale;
8
12
  }
@@ -14,6 +18,13 @@ body {
14
18
  div {
15
19
  display: block;
16
20
  }
21
+ h2 {
22
+ font-family: 'Raleway', system-ui;
23
+ font-weight: 300;
24
+ }
25
+ h2 b {
26
+ font-weight: 600;
27
+ }
17
28
  p {
18
29
  display: block;
19
30
  margin-block-start: 1em;
@@ -26,7 +37,7 @@ a,
26
37
  a:hover {
27
38
  text-decoration: none;
28
39
  color: #005c72;
29
- font-family: 'Cerebri Sans', sans-serif;
40
+ font-family: 'Montserrat', sans-serif;
30
41
  }
31
42
  a:hover {
32
43
  text-decoration: underline;
@@ -110,9 +121,7 @@ ul {
110
121
 
111
122
  .list-group {
112
123
  width: 100%;
113
- /*min-width: fit-content;*/
114
124
  max-width: fit-content;
115
- /*margin-inline: 1.5rem;*/
116
125
  border-radius: 0.375rem;
117
126
  }
118
127
  .list-group-item {
@@ -122,7 +131,6 @@ ul {
122
131
  color: #212529;
123
132
  text-decoration: none;
124
133
  background-color: #ffffff;
125
- /*border: 1px solid #dee2e6;*/
126
134
  min-width: fit-content;
127
135
  }
128
136
  .list-group-item + .list-group-item {
@@ -132,6 +140,12 @@ ul {
132
140
  border-top-left-radius: inherit;
133
141
  border-top-right-radius: inherit;
134
142
  }
143
+ .li {
144
+ cursor: pointer;
145
+ }
146
+ .raw-node-list {
147
+ flex: 0 0 50px;
148
+ }
135
149
  .d-flex {
136
150
  display: flex !important;
137
151
  }
@@ -150,13 +164,16 @@ ul {
150
164
  .h6,
151
165
  h6 {
152
166
  margin: 0;
153
- /*background-color: #f9fbfd;*/
167
+ font-family: 'Jost';
154
168
  text-transform: uppercase;
155
169
  font-size: 0.8125rem;
156
170
  font-weight: 600;
157
171
  letter-spacing: 0.08em;
158
172
  color: #95aac9;
159
173
  }
174
+ .larger {
175
+ font-size: 120%;
176
+ }
160
177
  .py-3 {
161
178
  padding-top: 1rem !important;
162
179
  padding-bottom: 1rem !important;
@@ -180,6 +197,10 @@ h6 {
180
197
  .badge.bg-secondary-soft {
181
198
  color: #6e84a3;
182
199
  }
200
+ .badge.bg-secondary-error {
201
+ color: #6e84a3;
202
+ background-color: #fad7dd;
203
+ }
183
204
  .badge.rounded-pill {
184
205
  padding-right: 0.6em;
185
206
  padding-left: 0.6em;
@@ -240,14 +261,34 @@ tr {
240
261
  word-wrap: break-word;
241
262
  background-color: #fff;
242
263
  background-clip: border-box;
243
- /*border: 1px solid #edf2f9;*/
244
264
  border-radius: 1rem;
245
- margin: 4rem;
265
+ margin: 2rem;
266
+ padding-bottom: 2rem;
246
267
  }
247
268
 
248
- .table-responsive {
269
+ .card-light-shadow {
270
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
271
+ transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
272
+ padding: 1rem;
273
+ }
274
+
275
+ .sidebar {
276
+ position: sticky;
277
+ top: 0;
278
+ left: 0;
279
+ }
280
+
281
+ .table-responsive,
282
+ .table-vertical {
249
283
  overflow-x: auto;
250
284
  -webkit-overflow-scrolling: touch;
285
+ display: grid;
286
+ grid-template-columns: auto auto auto;
287
+ grid-gap: 8px;
288
+ padding: 8px;
289
+ }
290
+ .table-vertical {
291
+ display: contents;
251
292
  }
252
293
  .table > thead {
253
294
  vertical-align: bottom;
@@ -280,12 +321,12 @@ tr {
280
321
  padding-left: 1.5rem !important;
281
322
  }
282
323
  .table thead th {
283
- background-color: #f9fbfd;
284
324
  text-transform: uppercase;
285
325
  font-size: 0.8125rem;
286
326
  font-weight: 600;
287
327
  letter-spacing: 0.08em;
288
328
  color: #95aac9;
329
+ font-family: 'Jost';
289
330
  }
290
331
 
291
332
  .card-table thead th {
@@ -298,7 +339,7 @@ tr {
298
339
  td,
299
340
  tbody th {
300
341
  vertical-align: middle;
301
- text-align: center;
342
+ text-align: left;
302
343
  }
303
344
  .table [data-sort],
304
345
  .table-nowrap td,
@@ -342,6 +383,10 @@ tbody th {
342
383
  border-bottom-width: 1px;
343
384
  box-shadow: inset 0 0 0 9999px transparent;
344
385
  }
386
+ .node_type_creation_heading {
387
+ text-transform: capitalize;
388
+ padding: 5px;
389
+ }
345
390
 
346
391
  /* Nodes */
347
392
  .node_type {
@@ -351,42 +396,187 @@ tbody th {
351
396
  vertical-align: middle;
352
397
  padding: 0.44rem;
353
398
  border-radius: 0.375rem;
354
- cursor: crosshair;
399
+ word-wrap: break-word;
400
+ white-space: break-spaces;
401
+ margin-right: 0.5rem;
355
402
  }
356
403
 
357
404
  /* Nodes */
358
405
  .node_type__source {
359
- /*background-color: #84ea4d50!important;*/
360
- /*color: #4e8033;*/
361
-
406
+ font-family: 'Jost';
362
407
  background-color: #ccf7e5 !important;
363
408
  color: #00b368;
364
409
  }
410
+ .react-flow__node .node_type__source {
411
+ background-color: #7eb46150 !important;
412
+ color: #7eb461;
413
+ }
365
414
 
366
415
  .node_type__transform {
416
+ font-family: 'Jost';
367
417
  background-color: #ccefff !important;
368
418
  color: #0063b4;
369
419
  }
370
420
 
421
+ .node_type__transform:hover {
422
+ background-color: #ccefff !important;
423
+ }
424
+ .react-flow__node .node_type__transform {
425
+ background-color: #6daaa750 !important;
426
+ color: #6daaa7;
427
+ }
428
+
371
429
  .node_type__metric {
430
+ font-family: 'Jost';
372
431
  background-color: #fad7dd !important;
373
432
  color: #a2283e;
374
433
  }
434
+ .react-flow__node .node_type__metric {
435
+ background-color: #a27e8650 !important;
436
+ color: #a27e86;
437
+ }
375
438
 
376
439
  .node_type__dimension {
440
+ font-family: 'Jost';
377
441
  background-color: #ffefd0 !important;
378
442
  color: #a96621;
379
443
  }
444
+ .react-flow__node .node_type__dimension {
445
+ background-color: #cf7d2950 !important;
446
+ color: #cf7d29;
447
+ }
380
448
 
381
449
  .node_type__cube {
450
+ font-family: 'Jost';
451
+ background-color: #dbafff !important;
452
+ color: #580076;
453
+ }
454
+ .react-flow__node .node_type__cube {
382
455
  background-color: #c2180750 !important;
383
- color: #c21807;
456
+ color: #c2180750;
457
+ }
458
+
459
+ .history_type__create {
460
+ background-color: #ccf7e5 !important;
461
+ color: #00b368;
462
+ }
463
+
464
+ .history_type__delete {
465
+ background-color: #ffc8c8 !important;
466
+ color: #9b5a5a;
467
+ }
468
+
469
+ .history_type__restore {
470
+ background-color: #ccf7e5 !important;
471
+ color: #00b368;
472
+ }
473
+
474
+ .history_type__modify {
475
+ background-color: #ffefd0 !important;
476
+ color: #a96621;
477
+ }
478
+
479
+ .history_type__link {
480
+ background-color: #a8a8a8 !important;
481
+ color: #855e5e;
482
+ }
483
+
484
+ .history_type__tag {
485
+ background-color: #a8a8a8 !important;
486
+ color: #855e5e;
487
+ }
488
+
489
+ .history_type__set_attribute {
490
+ background-color: #e6f5ff !important;
491
+ color: #487c8c;
492
+ }
493
+
494
+ .history_type__status_change {
495
+ background-color: #ffe9db !important;
496
+ color: #573d3d;
497
+ }
498
+
499
+ .partition_value {
500
+ border: solid #00b368 0.025em;
501
+ background-color: #ccf7e525;
502
+ margin: 0.25rem;
503
+ }
504
+
505
+ .partition_value_highlight {
506
+ border: solid #5c3b8f 0.025em;
507
+ color: #5c3b8f;
508
+ background-color: #5c3b8f25;
509
+ margin: 0.25rem;
510
+ }
511
+
512
+ .dimension_option {
513
+ border: solid #5c3b8f 0.025em;
514
+ color: #5c3b8f;
515
+ background-color: #5c3b8f25;
516
+ margin: 0.25rem;
517
+ font-size: 16px;
518
+ }
519
+
520
+ .dimension_option_subheading {
521
+ background-color: #ffffff !important;
522
+ color: #580076;
523
+ padding: 0.4rem;
524
+ margin: 0.4rem;
525
+ font-size: 12px;
526
+ }
527
+
528
+ .upstreams {
529
+ width: 260px;
530
+ display: flex;
531
+ }
532
+ .upstream_tables {
533
+ width: 260px;
534
+ font-size: 14px;
535
+ word-wrap: break-word;
536
+ padding: 12px;
537
+ }
538
+
539
+ .bi-table {
540
+ }
541
+
542
+ .name {
543
+ display: block;
544
+ flex-grow: 1;
545
+ line-height: 18px;
546
+ }
547
+
548
+ .entity-info {
549
+ color: #757575;
550
+ font-size: 12px;
551
+ padding: 0.25rem;
552
+ flex-grow: 1;
553
+ line-height: 24px;
554
+ letter-spacing: normal;
555
+ }
556
+
557
+ .node_name {
558
+ word-wrap: break-word;
559
+ max-width: 200px;
560
+ }
561
+
562
+ .cron {
563
+ background-color: rgb(255 215 215) !important;
564
+ color: #b34b00;
565
+ font-size: 1rem;
566
+ }
567
+ .cron-description {
568
+ text-transform: lowercase;
569
+ color: #777777;
384
570
  }
385
571
 
386
572
  .status__valid {
387
573
  color: #00b368;
388
574
  }
389
575
 
576
+ .status__invalid {
577
+ color: #b34b00;
578
+ }
579
+
390
580
  .status {
391
581
  text-transform: capitalize;
392
582
  vertical-align: middle;
@@ -402,7 +592,6 @@ tbody th {
402
592
  }
403
593
 
404
594
  .col.active {
405
- /*background-color: #f5fbff;*/
406
595
  padding-bottom: 1.15rem;
407
596
  color: #a1a5b7;
408
597
  border-bottom: solid 0.2em #2c7be5;
@@ -422,9 +611,6 @@ tbody th {
422
611
  --bs-gutter-y: 0;
423
612
  display: flex;
424
613
  flex-wrap: wrap;
425
- /*margin-top: 3rem;*/
426
- /*margin-bottom: calc(-.75*var(--bs-gutter-x));*/
427
- /*margin-left: 3.4rem;*/
428
614
  }
429
615
 
430
616
  .header {
@@ -433,14 +619,11 @@ tbody th {
433
619
  --bs-header-body-border-width: 1px;
434
620
  --bs-header-body-border-color: #e3ebf6;
435
621
  --bs-header-body-border-color-dark: rgba(227, 235, 246, 0.1);
436
- /*margin-bottom: var(--bs-header-margin-bottom);*/
437
622
  height: 90px;
438
623
  transition: none;
439
624
  display: flex;
440
625
  align-items: center;
441
626
  background-color: transparent;
442
- /*box-shadow: 0px 10px 30px 0px rgba(82, 63, 105, 0.05);*/
443
- /*border-bottom: var(--bs-app-header-base-border-bottom);*/
444
627
  }
445
628
  *,
446
629
  :after,
@@ -464,10 +647,6 @@ tbody th {
464
647
  background-color: transparent;
465
648
  border-color: #2c7be5;
466
649
  }
467
- .header-tabs .nav-link {
468
- /*padding-top: var(--bs-header-spacing-y);*/
469
- /*padding-bottom: var(--bs-header-spacing-y);*/
470
- }
471
650
  .nav-link {
472
651
  display: block;
473
652
  color: #a1a5b7;
@@ -498,8 +677,8 @@ pre {
498
677
  flex-grow: 0 !important;
499
678
  }
500
679
  .logo img {
501
- padding: 10px;
502
- margin-bottom: -1.2rem;
680
+ padding: 15px;
681
+ margin-bottom: 0.2rem;
503
682
  }
504
683
 
505
684
  .menu-lg-row > .menu-item {
@@ -542,11 +721,16 @@ pre {
542
721
  padding-bottom: 2rem;
543
722
  }
544
723
 
724
+ .mid {
725
+ padding-top: 0.4rem;
726
+ }
727
+
545
728
  .rounded-box {
546
729
  border-radius: 1rem !important;
547
730
  background-color: #ffffff;
548
731
  max-width: fit-content;
549
732
  }
733
+
550
734
  .card-header {
551
735
  align-items: center;
552
736
  margin: 0.5rem;
@@ -554,6 +738,258 @@ pre {
554
738
  padding: 0 2.25rem 0 2.25rem;
555
739
  }
556
740
 
741
+ .card-header h2 {
742
+ font-family: 'Jost';
743
+ }
744
+
557
745
  .text-gray-400 {
558
746
  color: #b5b5c3 !important;
559
747
  }
748
+
749
+ .filters_attribute {
750
+ width: 30%;
751
+ display: block;
752
+ margin: 0 3rem 3rem 3rem;
753
+ float: left;
754
+ }
755
+
756
+ .switch {
757
+ position: relative;
758
+ display: inline-block;
759
+ width: 40px;
760
+ height: 20px;
761
+ background-color: #eee;
762
+ border-radius: 20px;
763
+ vertical-align: middle;
764
+ }
765
+
766
+ .switch::after {
767
+ content: '';
768
+ position: absolute;
769
+ width: 18px;
770
+ height: 18px;
771
+ border-radius: 50%;
772
+ background-color: white;
773
+ top: 1px;
774
+ left: 1px;
775
+ transition: all 0.3s;
776
+ }
777
+
778
+ .checkbox:checked + .switch::after {
779
+ left: 20px;
780
+ }
781
+ .checkbox:checked + .switch {
782
+ background-color: #7983ff;
783
+ }
784
+
785
+ .checkbox {
786
+ display: none;
787
+ }
788
+
789
+ .button-3 {
790
+ appearance: none;
791
+ border: 1px solid rgba(27, 31, 35, 0.15);
792
+ border-radius: 6px;
793
+ box-shadow: rgba(27, 31, 35, 0.1) 0 1px 0;
794
+ box-sizing: border-box;
795
+ cursor: pointer;
796
+ display: inline-block;
797
+ font-weight: 600;
798
+ line-height: 20px;
799
+ padding: 6px 16px;
800
+ margin: 5px;
801
+ position: relative;
802
+ text-align: center;
803
+ text-decoration: none;
804
+ user-select: none;
805
+ -webkit-user-select: none;
806
+ touch-action: manipulation;
807
+ vertical-align: middle;
808
+ white-space: nowrap;
809
+ }
810
+
811
+ .button-3:focus:not(:focus-visible):not(.focus-visible) {
812
+ box-shadow: none;
813
+ outline: none;
814
+ }
815
+
816
+ .execute-button {
817
+ background-color: #00b368;
818
+ color: #fff;
819
+ }
820
+
821
+ .executing-button {
822
+ background-color: #bbbbbb;
823
+ color: #fff;
824
+ }
825
+
826
+ .neutral-button {
827
+ background-color: #f6f8fa;
828
+ color: #24292f;
829
+ }
830
+ .text-black {
831
+ color: #000000 !important;
832
+ }
833
+
834
+ .cube-element {
835
+ color: #757575;
836
+ font-size: 14px;
837
+ padding: 0.25rem;
838
+ flex-grow: 1;
839
+ display: table;
840
+ line-height: 24px;
841
+ letter-spacing: normal;
842
+ }
843
+ .cube-element .badge {
844
+ margin-left: 0.4rem;
845
+ }
846
+
847
+ .code-button {
848
+ display: inline-flex;
849
+ -webkit-box-align: center;
850
+ align-items: center;
851
+ -webkit-box-pack: center;
852
+ justify-content: center;
853
+ position: relative;
854
+ box-sizing: border-box;
855
+ -webkit-tap-highlight-color: transparent;
856
+ background-color: transparent;
857
+ outline: 0;
858
+ border: 0;
859
+ margin: 0;
860
+ cursor: pointer;
861
+ user-select: none;
862
+ vertical-align: middle;
863
+ appearance: none;
864
+ text-decoration: none;
865
+ text-align: center;
866
+ flex: 0 0 auto;
867
+ font-size: 1.5rem;
868
+ padding: 0;
869
+ border-radius: 50%;
870
+ overflow: visible;
871
+ color: rgba(0, 0, 0, 0.54);
872
+ transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
873
+ }
874
+
875
+ #node-create-code pre {
876
+ padding: 1rem !important;
877
+ max-height: 300px;
878
+ overflow: scroll;
879
+ text-align: left;
880
+ position: absolute;
881
+ max-width: 75%;
882
+ z-index: 1;
883
+ }
884
+
885
+ .popover {
886
+ padding: 1rem 1rem 0.6rem 1rem !important;
887
+ margin-top: 1rem;
888
+ background-color: #ffffff;
889
+ border: 1px solid #c5c5c5;
890
+ border-radius: 10px;
891
+ text-align: left;
892
+ position: absolute;
893
+ min-width: 210px;
894
+ max-width: 100%;
895
+ z-index: 1;
896
+ }
897
+
898
+ .select-name {
899
+ margin-top: 5px;
900
+ padding: 7px 7px;
901
+ width: fit-content;
902
+ border-radius: 4px;
903
+ cursor: default;
904
+ font-size: 0.9125rem;
905
+ color: #95aac9;
906
+ }
907
+
908
+ .select-name:hover {
909
+ background-color: #bdbaba3c;
910
+ }
911
+
912
+ .select-name-highlight {
913
+ font-weight: 600;
914
+ background-color: #bdbaba3c;
915
+ border: 1px solid rgba(94, 94, 94, 0.24);
916
+ }
917
+
918
+ .inactive {
919
+ display: none;
920
+ }
921
+
922
+ .dropdown {
923
+ position: relative;
924
+ display: inline-block;
925
+ float: right;
926
+ }
927
+
928
+ .dropdown-content {
929
+ display: none;
930
+ position: absolute;
931
+ margin-top: 6px;
932
+ box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
933
+ min-width: 115px;
934
+ }
935
+
936
+ .dropdown:hover .dropdown-content {
937
+ display: block;
938
+ }
939
+
940
+ .dropdown-content a:hover {
941
+ text-decoration: none;
942
+ }
943
+
944
+ .dropdown-content a div {
945
+ padding: 12px 16px;
946
+ background-color: #ffffff !important;
947
+ }
948
+
949
+ .dropdown-content a div:hover {
950
+ background-color: #f3eeff !important;
951
+ }
952
+
953
+ .add_node {
954
+ background-color: #5d2f86 !important;
955
+ color: #fff;
956
+ text-transform: none;
957
+ vertical-align: middle;
958
+ padding-right: 1rem;
959
+ padding-left: 1rem;
960
+ padding-top: 0.5rem;
961
+ padding-bottom: 0.5rem;
962
+ font-size: 1rem;
963
+ border-radius: 0.5rem;
964
+ word-wrap: break-word;
965
+ white-space: break-spaces;
966
+ }
967
+
968
+ .add_button {
969
+ background-color: #f0f8ff !important;
970
+ color: #24518f;
971
+ text-transform: uppercase;
972
+ vertical-align: middle;
973
+ padding: 0.2rem 0.5rem 0.1rem 0.5rem;
974
+ border: 1px solid #819bc0;
975
+ font-size: 1.2rem;
976
+ border-radius: 0.5rem;
977
+ word-wrap: break-word;
978
+ white-space: break-spaces;
979
+ margin-left: 1rem;
980
+ }
981
+
982
+ .edit_button {
983
+ background: none;
984
+ color: inherit;
985
+ border: none;
986
+ padding: 0;
987
+ font: inherit;
988
+ cursor: pointer;
989
+ outline: inherit;
990
+ margin-left: 1rem;
991
+ }
992
+
993
+ .deleteNode {
994
+ display: inline-block;
995
+ }