@konfuzio/document-validation-ui 0.1.19-dev.2 → 0.1.19

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 (143) hide show
  1. package/.eslintrc.js +10 -10
  2. package/.prettierrc.json +1 -1
  3. package/LICENSE +21 -21
  4. package/README.md +24 -24
  5. package/cypress.config.js +13 -13
  6. package/dist/js/app.js +1 -1
  7. package/dist/js/app.js.map +1 -1
  8. package/dist/js/chunk-vendors.js +1 -1
  9. package/dist/js/chunk-vendors.js.map +1 -1
  10. package/jest.config.js +4 -4
  11. package/package.json +66 -66
  12. package/src/api.js +82 -82
  13. package/src/assets/images/AcceptedCheckMark.vue +8 -8
  14. package/src/assets/images/AcceptedUser.vue +8 -8
  15. package/src/assets/images/ActionIcon.vue +60 -60
  16. package/src/assets/images/ArrowDownKey.vue +11 -11
  17. package/src/assets/images/ArrowUpKey.vue +11 -11
  18. package/src/assets/images/CategoryIconImg.vue +13 -13
  19. package/src/assets/images/CheckMark.vue +8 -8
  20. package/src/assets/images/DraggableIcon.vue +14 -14
  21. package/src/assets/images/EditDocIcon.vue +12 -12
  22. package/src/assets/images/EmptyStateImg.vue +129 -129
  23. package/src/assets/images/ErrorIcon.vue +28 -28
  24. package/src/assets/images/EyeIcon.vue +11 -11
  25. package/src/assets/images/FileNameNotSavedImage.vue +26 -26
  26. package/src/assets/images/FileNameSavedImage.vue +14 -14
  27. package/src/assets/images/FitZoomIcon.vue +16 -16
  28. package/src/assets/images/GridIcon.vue +16 -16
  29. package/src/assets/images/KeyboardIcon.vue +16 -16
  30. package/src/assets/images/MagicWandIcon.vue +16 -16
  31. package/src/assets/images/MinusIcon.vue +13 -13
  32. package/src/assets/images/NotFoundIcon.vue +16 -16
  33. package/src/assets/images/NotOptimizedIllustration.vue +651 -651
  34. package/src/assets/images/PlusIcon.vue +13 -13
  35. package/src/assets/images/QuestionMark.vue +12 -12
  36. package/src/assets/images/ServerImage.vue +73 -73
  37. package/src/assets/images/SettingsIcon.vue +14 -14
  38. package/src/assets/images/SplitLines.vue +18 -18
  39. package/src/assets/images/SplitZigZag.vue +49 -49
  40. package/src/assets/images/StarIcon.vue +16 -16
  41. package/src/assets/images/StatusImg.vue +14 -14
  42. package/src/assets/images/TranslateArrows.vue +33 -33
  43. package/src/assets/scss/ann_set_table_options.scss +26 -26
  44. package/src/assets/scss/annotation_details.scss +141 -141
  45. package/src/assets/scss/choose_label_set_modal.scss +65 -65
  46. package/src/assets/scss/document_action_bar.scss +37 -37
  47. package/src/assets/scss/document_annotations.scss +558 -558
  48. package/src/assets/scss/document_category.scss +85 -85
  49. package/src/assets/scss/document_dashboard.scss +52 -52
  50. package/src/assets/scss/document_edit.scss +410 -410
  51. package/src/assets/scss/document_error.scss +81 -81
  52. package/src/assets/scss/document_name.scss +60 -60
  53. package/src/assets/scss/document_page.scss +12 -12
  54. package/src/assets/scss/document_thumbnails.scss +41 -41
  55. package/src/assets/scss/document_toolbar.scss +111 -111
  56. package/src/assets/scss/document_top_bar.scss +171 -171
  57. package/src/assets/scss/document_viewport_modal.scss +25 -25
  58. package/src/assets/scss/documents_list.scss +141 -141
  59. package/src/assets/scss/edit_page_thumbnail.scss +53 -53
  60. package/src/assets/scss/empty_state.scss +34 -34
  61. package/src/assets/scss/extracting_data.scss +35 -35
  62. package/src/assets/scss/imports.scss +1 -1
  63. package/src/assets/scss/multi_ann_table_overlay.scss +38 -38
  64. package/src/assets/scss/multi_ann_table_popup.scss +12 -12
  65. package/src/assets/scss/new_annotation.scss +102 -102
  66. package/src/assets/scss/scrolling_document.scss +19 -19
  67. package/src/assets/scss/theme.scss +801 -801
  68. package/src/assets/scss/variables.scss +66 -66
  69. package/src/components/App.cy.js +7 -7
  70. package/src/components/App.vue +187 -187
  71. package/src/components/DocumentAnnotations/AnnotationActionButtons.vue +152 -152
  72. package/src/components/DocumentAnnotations/AnnotationContent.vue +210 -210
  73. package/src/components/DocumentAnnotations/AnnotationDetails.vue +251 -251
  74. package/src/components/DocumentAnnotations/AnnotationRow.vue +752 -752
  75. package/src/components/DocumentAnnotations/AnnotationSetActionButtons.vue +89 -89
  76. package/src/components/DocumentAnnotations/ChooseLabelSetModal.vue +186 -186
  77. package/src/components/DocumentAnnotations/DocumentAnnotations.cy.js +441 -441
  78. package/src/components/DocumentAnnotations/DocumentAnnotations.vue +534 -534
  79. package/src/components/DocumentAnnotations/DocumentLabel.vue +189 -189
  80. package/src/components/DocumentAnnotations/EmptyAnnotation.vue +193 -193
  81. package/src/components/DocumentAnnotations/EmptyState.vue +21 -21
  82. package/src/components/DocumentAnnotations/ExtractingData.vue +41 -41
  83. package/src/components/DocumentAnnotations/LoadingAnnotations.vue +43 -43
  84. package/src/components/DocumentAnnotations/LoadingLabels.vue +43 -43
  85. package/src/components/DocumentAnnotations/MultiAnnotationTableOverlay.vue +338 -338
  86. package/src/components/DocumentAnnotations/index.js +8 -8
  87. package/src/components/DocumentCategory.vue +281 -281
  88. package/src/components/DocumentDashboard.vue +170 -170
  89. package/src/components/DocumentEdit/DocumentEdit.cy.js +541 -541
  90. package/src/components/DocumentEdit/DocumentEdit.vue +503 -503
  91. package/src/components/DocumentEdit/EditConfirmationModal.vue +55 -55
  92. package/src/components/DocumentEdit/EditPageThumbnail.vue +114 -114
  93. package/src/components/DocumentEdit/EditPages.vue +161 -161
  94. package/src/components/DocumentEdit/EditSidebar.vue +154 -154
  95. package/src/components/DocumentEdit/RenameAndCategorize.vue +184 -184
  96. package/src/components/DocumentEdit/SidebarButtons.vue +53 -53
  97. package/src/components/DocumentEdit/SplitInfoBar.vue +21 -21
  98. package/src/components/DocumentEdit/index.js +4 -4
  99. package/src/components/DocumentModals/DocumentErrorModal.vue +58 -58
  100. package/src/components/DocumentModals/NotOptimizedViewportModal.vue +51 -51
  101. package/src/components/DocumentPage/ActionBar.vue +48 -48
  102. package/src/components/DocumentPage/AnnSetTableOptions.vue +111 -111
  103. package/src/components/DocumentPage/BoxSelection.vue +152 -152
  104. package/src/components/DocumentPage/DocumentPage.cy.js +92 -92
  105. package/src/components/DocumentPage/DocumentPage.vue +568 -568
  106. package/src/components/DocumentPage/DocumentToolbar.cy.js +215 -215
  107. package/src/components/DocumentPage/DocumentToolbar.vue +228 -228
  108. package/src/components/DocumentPage/DummyPage.vue +55 -55
  109. package/src/components/DocumentPage/MultiAnnSelection.vue +371 -371
  110. package/src/components/DocumentPage/NewAnnotation.vue +308 -308
  111. package/src/components/DocumentPage/ScrollingDocument.vue +149 -149
  112. package/src/components/DocumentPage/ScrollingPage.vue +179 -179
  113. package/src/components/DocumentPage/index.js +5 -5
  114. package/src/components/DocumentThumbnails/DocumentThumbnails.cy.js +67 -67
  115. package/src/components/DocumentThumbnails/DocumentThumbnails.vue +132 -132
  116. package/src/components/DocumentThumbnails/LoadingThumbnail.vue +25 -25
  117. package/src/components/DocumentThumbnails/index.js +1 -1
  118. package/src/components/DocumentTopBar/DocumentName.vue +236 -236
  119. package/src/components/DocumentTopBar/DocumentTopBar.cy.js +222 -222
  120. package/src/components/DocumentTopBar/DocumentTopBar.vue +202 -202
  121. package/src/components/DocumentTopBar/DocumentTopBarButtons.vue +183 -183
  122. package/src/components/DocumentTopBar/KeyboardActionsDescription.vue +74 -74
  123. package/src/components/DocumentTopBar/index.js +3 -3
  124. package/src/components/DocumentsList/DocumentsList.vue +121 -121
  125. package/src/components/DocumentsList/index.js +1 -1
  126. package/src/components/ErrorMessage.vue +40 -40
  127. package/src/components/index.js +1 -1
  128. package/src/constants.js +5 -5
  129. package/src/directives/scroll.js +28 -28
  130. package/src/i18n.js +22 -22
  131. package/src/icons.js +45 -45
  132. package/src/locales/de.json +148 -148
  133. package/src/locales/en.json +148 -148
  134. package/src/main.js +26 -26
  135. package/src/store/category.js +191 -191
  136. package/src/store/display.js +311 -311
  137. package/src/store/document.js +1438 -1438
  138. package/src/store/edit.js +316 -316
  139. package/src/store/index.js +21 -21
  140. package/src/store/project.js +143 -143
  141. package/src/store/selection.js +210 -210
  142. package/src/utils/utils.js +54 -54
  143. package/vue.config.js +25 -25
@@ -1,801 +1,801 @@
1
- @use "sass:meta";
2
- @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");
3
- @import "./imports.scss";
4
-
5
- :root {
6
- --konfuzio-green: #41af85;
7
- --white: #fff;
8
- --primary-color: var(--konfuzio-green);
9
- --primary-button: 4px;
10
- --top-bar-background: var(--white);
11
- }
12
-
13
- .dv-ui-app-container {
14
- display: flex;
15
- height: 100%;
16
- flex-direction: column;
17
- margin: 0;
18
-
19
- .overlay {
20
- height: 100%;
21
- width: 100%;
22
- position: fixed;
23
- z-index: 999;
24
- top: 0;
25
- left: 0;
26
- background-color: rgba(0, 0, 0, 0);
27
- overflow-x: hidden;
28
- }
29
- }
30
-
31
- .dv-ui-theme {
32
- @include meta.load-css("../../../node_modules/buefy/dist/buefy.css");
33
- font-family: $font-family;
34
-
35
- -webkit-font-smoothing: antialiased;
36
- text-rendering: optimizeLegibility;
37
- -webkit-text-size-adjust: 100%;
38
- -moz-text-size-adjust: 100%;
39
- -ms-text-size-adjust: 100%;
40
- text-size-adjust: 100%;
41
- box-sizing: border-box;
42
- button {
43
- &.is-primary {
44
- background-color: $primary !important;
45
- color: $white !important;
46
-
47
- &:hover:enabled {
48
- filter: $hover-style;
49
- }
50
-
51
- &:disabled {
52
- background-color: $grey;
53
- }
54
- }
55
-
56
- // TODO: custom classes should have the styles under the component file
57
- &.missing-decline-btn {
58
- font-size: 14px;
59
- color: $grey-blue !important;
60
- font-weight: 500;
61
- background-color: transparent;
62
- width: auto;
63
-
64
- &:not([disabled]) {
65
- &:hover {
66
- text-decoration: none;
67
- color: $text-color !important;
68
- }
69
- }
70
-
71
- &:focus {
72
- box-shadow: none;
73
- }
74
- }
75
-
76
- &.is-text {
77
- text-decoration: none;
78
-
79
- &:hover {
80
- background-color: transparent;
81
- }
82
- }
83
-
84
- &.annotation-cancel-btn {
85
- .icon {
86
- svg {
87
- width: 15px !important;
88
- height: 15px !important;
89
- }
90
- }
91
- }
92
-
93
- &.accept-all-btn {
94
- padding-left: 4px;
95
- padding-right: 4px;
96
- }
97
-
98
- &.all-missing-btn {
99
- padding-right: 4px;
100
- }
101
-
102
- &.action-bar-save-btn {
103
- height: 32px;
104
- padding: 6px 12px 6px 12px !important;
105
- font-size: 14px;
106
- font-weight: 500;
107
- }
108
-
109
- &.finish-review-btn {
110
- margin-right: 2px;
111
-
112
- &:focus {
113
- box-shadow: none;
114
- outline: 3px solid $grey-dark;
115
- border: 2px solid;
116
- margin-right: 1px;
117
- }
118
-
119
- .spinner {
120
- margin: auto !important;
121
- }
122
- }
123
-
124
- &.edit-mode-btn[disabled] {
125
- border: 1px solid $detail;
126
- }
127
-
128
- &[disabled] {
129
- border: none;
130
-
131
- &:hover {
132
- text-decoration: none;
133
- }
134
- }
135
-
136
- &.primary-button {
137
- border-radius: var(--primary-button) !important;
138
- }
139
-
140
- &.tertiary-button {
141
- border-radius: 20px !important;
142
- }
143
- }
144
-
145
- .carousel-list {
146
- &.has-shadow {
147
- box-shadow: none !important;
148
- }
149
-
150
- .carousel-slides .carousel-slide {
151
- border: none !important;
152
- }
153
-
154
- .carousel-arrow {
155
- .icon {
156
- color: $primary;
157
-
158
- &:hover {
159
- border: 1px solid $primary;
160
- }
161
-
162
- svg {
163
- height: 100%;
164
- }
165
- }
166
- }
167
- }
168
-
169
- .error-message {
170
- position: absolute;
171
- width: 100%;
172
-
173
- .message {
174
- padding: 0;
175
- }
176
-
177
- .message-body {
178
- background-color: $error-background;
179
- color: $white;
180
- font-size: 14px;
181
- border: 0;
182
- border-radius: 0%;
183
- line-height: 20px;
184
- padding: 7px 0 7px 0;
185
- }
186
-
187
- .media-content {
188
- display: flex;
189
- justify-content: flex-end;
190
- }
191
-
192
- .message-container {
193
- display: flex;
194
- width: 100%;
195
- justify-content: center;
196
- align-items: center;
197
-
198
- .server-error {
199
- display: flex;
200
-
201
- .contact-support {
202
- text-decoration: underline;
203
- font-weight: 600;
204
- display: flex;
205
- align-items: center;
206
- padding-left: 5px;
207
-
208
- .icon {
209
- padding-left: 10px;
210
- }
211
-
212
- &:hover {
213
- cursor: pointer;
214
- }
215
- }
216
- }
217
- }
218
-
219
- .btn-container {
220
- cursor: pointer;
221
- display: flex;
222
- align-items: center;
223
- }
224
- }
225
-
226
- .message {
227
- &.label-message {
228
- .message-body {
229
- padding: 5px 15px 5px 15px !important;
230
- }
231
- }
232
- }
233
-
234
- .dropdown {
235
- &.no-padding-bottom {
236
- .dropdown-content {
237
- padding-bottom: 0;
238
- }
239
- }
240
-
241
- &.no-padding-top {
242
- .dropdown-content {
243
- padding-top: 0;
244
- }
245
- }
246
-
247
- + .dropdown {
248
- margin-left: 0;
249
- }
250
-
251
- .dropdown-trigger {
252
- justify-content: space-between;
253
- width: 100%;
254
-
255
- .icon {
256
- &.download-file {
257
- svg {
258
- height: 100% !important;
259
- width: 100% !important;
260
- }
261
- }
262
- }
263
- }
264
-
265
- .dropdown-menu {
266
- padding-top: 0px;
267
- min-width: 40px;
268
- width: auto;
269
- }
270
-
271
- a.dropdown-item {
272
- padding-right: 16px;
273
-
274
- &.is-active {
275
- background-color: $primary;
276
- }
277
-
278
- &.is-disabled {
279
- color: $grey-blue !important;
280
- }
281
- }
282
-
283
- &.dropdown-menu-animation {
284
- a.navbar-item {
285
- color: $text-color;
286
- font-size: 16px;
287
- line-height: 24px;
288
-
289
- &:hover {
290
- color: $primary;
291
- background: none;
292
- border: none;
293
- }
294
- }
295
-
296
- &.label-dropdown {
297
- width: 100%;
298
- }
299
- }
300
- }
301
-
302
- .b-checkbox.checkbox {
303
- input[type="checkbox"] + .check {
304
- background-color: $white;
305
- }
306
- &:hover input[type="checkbox"]:not(:disabled) + .check {
307
- border-color: $primary !important;
308
- }
309
-
310
- input[type="checkbox"]:checked + .check {
311
- border-color: $primary !important;
312
- background-color: $primary;
313
- }
314
- }
315
-
316
- .modal {
317
- z-index: 999;
318
-
319
- &.model-overflow-visible {
320
- .modal-content {
321
- overflow: visible;
322
- }
323
- .modal-card-body {
324
- overflow: visible;
325
- }
326
- }
327
-
328
- &.modal-text-center {
329
- text-align: center;
330
- }
331
-
332
- &.modal-400 {
333
- position: absolute !important;
334
-
335
- .modal-content {
336
- max-width: 400px !important;
337
-
338
- .scroll-hidden {
339
- overflow: hidden;
340
- padding: 0;
341
-
342
- .content {
343
- overflow: auto;
344
- padding: 20px;
345
- }
346
- }
347
- }
348
- }
349
-
350
- &.is-active {
351
- &.modal-no-footer {
352
- .modal-content {
353
- .modal-card-body {
354
- border-radius: 16px 16px 16px 16px !important;
355
-
356
- &.split-modal {
357
- padding-bottom: 0;
358
- }
359
- }
360
- }
361
- }
362
-
363
- .modal-content {
364
- height: auto;
365
- margin-left: auto;
366
- margin-right: auto;
367
- position: relative;
368
-
369
- .modal-close {
370
- position: absolute;
371
- top: 14px;
372
-
373
- &::before,
374
- &::after {
375
- background-color: $grey;
376
- }
377
-
378
- &:hover {
379
- background-color: $white;
380
- }
381
- }
382
-
383
- .modal-card-body {
384
- background: $white;
385
- border-radius: 16px 16px 0 0 !important;
386
- }
387
-
388
- .modal-card-foot {
389
- display: flex;
390
- justify-content: center;
391
- border: none;
392
- background: $white;
393
- border-radius: 0 0 16px 16px;
394
- }
395
- }
396
- }
397
-
398
- &.modal-absolute {
399
- position: absolute;
400
- }
401
-
402
- .modal-background {
403
- background-color: $full-black;
404
- opacity: 0.5;
405
- }
406
-
407
- // TODO: since edit modal is a specific one, should be on the component styles
408
- &.edit-modal {
409
- .modal-content {
410
- max-width: 440px !important;
411
-
412
- .header {
413
- display: flex;
414
- align-items: center;
415
- gap: 8px;
416
- padding-bottom: 15px;
417
- font-weight: 500;
418
- font-size: 18px;
419
- }
420
-
421
- .content {
422
- text-align: left;
423
- font-weight: 400;
424
- font-size: 14px;
425
- color: $grey-blue;
426
- }
427
-
428
- .modal-card-foot {
429
- display: flex;
430
- gap: 5px;
431
-
432
- .recommended {
433
- font-weight: 600;
434
- font-size: 11px;
435
- background-color: rgba(255, 255, 255, 0.2);
436
- padding: 2px 5px;
437
- border-radius: 36px;
438
- }
439
-
440
- .button {
441
- width: 100%;
442
-
443
- &.is-primary {
444
- font-weight: 500;
445
- }
446
- }
447
- }
448
- }
449
- }
450
- }
451
-
452
- &.invisible-parent-modal {
453
- background-color: transparent;
454
-
455
- .modal-content {
456
- height: 100vh !important;
457
- top: 25%;
458
-
459
- .modal-card-body {
460
- overflow: visible;
461
- }
462
- }
463
- }
464
-
465
- .loading-background {
466
- background-color: transparent !important;
467
- }
468
-
469
- .loading-icon-size {
470
- width: 13px;
471
- height: 13px;
472
- }
473
-
474
- .notices {
475
- .snackbar {
476
- background-color: $text-color;
477
- min-height: 40px;
478
-
479
- .text {
480
- display: flex;
481
- font-size: 14px;
482
- }
483
- }
484
- }
485
-
486
- .label-action-btn {
487
- .dropdown-trigger {
488
- width: 100%;
489
- display: flex;
490
- justify-content: center;
491
- }
492
- }
493
-
494
- .slide-fade-enter-active {
495
- transition: all 0.3s ease;
496
- }
497
-
498
- .slide-fade-leave-active {
499
- transition: all 0.3s ease;
500
- }
501
-
502
- .slide-fade-enter,
503
- .slide-fade-leave-to {
504
- transform: translateY(-10px);
505
- opacity: 0;
506
- }
507
-
508
- .b-tooltip {
509
- height: 100%;
510
- align-items: center;
511
-
512
- .tooltip-content {
513
- background-color: $text-color !important;
514
-
515
- a {
516
- color: $white;
517
- text-decoration: underline;
518
- font-weight: 500;
519
- }
520
- &:before {
521
- border-bottom-color: $text-color !important;
522
- }
523
- }
524
-
525
- &.left-aligned {
526
- .tooltip-content {
527
- left: -3px !important;
528
- transform: none !important;
529
- padding: 8px 10px !important;
530
-
531
- &::before {
532
- left: 16px !important;
533
- right: auto !important;
534
- border-top-color: $text-color !important;
535
- border-bottom-color: $text-color !important;
536
- }
537
- }
538
- }
539
-
540
- &.right-aligned {
541
- .tooltip-content {
542
- right: -20px !important;
543
- left: auto !important;
544
- transform: none !important;
545
- padding: 8px 10px !important;
546
-
547
- &::before {
548
- right: 16px !important;
549
- left: auto !important;
550
- border-bottom-color: $text-color !important;
551
- }
552
- }
553
-
554
- &.no-right-margin {
555
- .tooltip-content {
556
- right: 0 !important;
557
- }
558
- }
559
-
560
- &.full-height-tooltip {
561
- height: 100%;
562
-
563
- .tooltip-content {
564
- right: 0 !important;
565
- }
566
- }
567
- }
568
-
569
- &.full-height-tooltip {
570
- .tooltip-trigger {
571
- height: 100%;
572
- }
573
- }
574
-
575
- &.width-184 {
576
- .tooltip-content {
577
- width: 184px !important;
578
- }
579
- }
580
-
581
- &.left-down-aligned {
582
- .tooltip-content {
583
- font-size: 14px;
584
- padding: 12px 12px;
585
- top: 45px;
586
- background-color: $text-color;
587
- border-radius: 4px !important;
588
-
589
- &::before {
590
- top: 17px;
591
- border-left-color: $text-color !important;
592
- }
593
- }
594
- }
595
-
596
- &.bottom-aligned {
597
- width: 100%;
598
-
599
- .tooltip-content {
600
- &::before {
601
- border-bottom-color: $text-color !important;
602
- }
603
- }
604
- }
605
-
606
- &.top-aligned {
607
- .tooltip-content {
608
- &::before {
609
- border-top-color: $text-color !important;
610
- }
611
- }
612
- }
613
-
614
- &.split-tooltip {
615
- width: 100%;
616
- }
617
- }
618
-
619
- .no-icon-margin .icon {
620
- margin: 0 !important;
621
- }
622
-
623
- .icon.is-small,
624
- .button .icon.is-small {
625
- width: 14px;
626
- height: 14px;
627
-
628
- svg {
629
- width: 14px;
630
- height: 14px;
631
- }
632
-
633
- &.caret {
634
- svg {
635
- height: 12px;
636
- }
637
-
638
- &.split-mode-caret {
639
- svg {
640
- color: $grey;
641
- }
642
- }
643
- }
644
-
645
- &.close-btn {
646
- width: 10px;
647
- height: 10px;
648
-
649
- &.error-icon {
650
- color: $white;
651
- padding-right: 20px;
652
- padding-left: 20px;
653
-
654
- svg {
655
- height: 15px !important;
656
- }
657
- }
658
- }
659
- }
660
-
661
- .dropdown {
662
- &.split-mode {
663
- .dropdown-trigger {
664
- font-size: 14px;
665
- height: 38px;
666
- }
667
- }
668
-
669
- &.width-12 {
670
- .dropdown-trigger {
671
- width: 12px;
672
- }
673
- }
674
-
675
- .dropdown-trigger {
676
- height: 100%;
677
- display: flex;
678
- justify-content: center;
679
- align-items: center;
680
- }
681
-
682
- &.is-disabled {
683
- cursor: not-allowed;
684
- }
685
- }
686
-
687
- .b-table {
688
- .table-wrapper {
689
- overflow: visible !important;
690
- }
691
- &.full-height {
692
- height: 100%;
693
- .table-wrapper {
694
- height: 100%;
695
- .table {
696
- height: 100%;
697
- }
698
- }
699
- }
700
-
701
- &.dark-header {
702
- .table {
703
- thead {
704
- background-color: $black !important;
705
- th {
706
- font-weight: 400;
707
- background-color: $black !important;
708
- }
709
- }
710
- }
711
- }
712
-
713
- &.header-32 {
714
- thead {
715
- height: 32px;
716
- }
717
- }
718
-
719
- .table,
720
- .table-wrapper {
721
- &.has-sticky-header {
722
- max-height: 200px;
723
- height: fit-content;
724
- }
725
- cursor: text;
726
- thead {
727
- background-color: $purple !important;
728
- th {
729
- font-weight: 500;
730
- font-size: 10px;
731
- line-height: 18px;
732
- .th-wrap {
733
- text-transform: none;
734
- .icon {
735
- margin: 0;
736
- }
737
- }
738
- background-color: $purple !important;
739
- color: white !important;
740
- vertical-align: middle;
741
- &[draggable="true"] {
742
- cursor: move;
743
- }
744
- }
745
- }
746
- tbody {
747
- background-color: rgba(123, 97, 255, 0.1);
748
- tr {
749
- background-color: white;
750
- color: black;
751
- td {
752
- font-weight: 500;
753
- font-size: 10px;
754
- line-height: 18px;
755
-
756
- &.has-text-centered {
757
- vertical-align: middle;
758
- }
759
- }
760
- }
761
- }
762
- &.is-striped {
763
- tbody {
764
- tr {
765
- &:not(.is-selected) {
766
- background-color: rgba(123, 97, 255, 0.1);
767
- &:nth-child(even) {
768
- background-color: rgba(123, 97, 255, 0.3);
769
- }
770
- }
771
- }
772
- }
773
- }
774
- }
775
- }
776
-
777
- .switch {
778
- input[type="checkbox"] {
779
- &:checked + .check {
780
- background: $primary !important;
781
- box-shadow: none !important;
782
- }
783
-
784
- &:focus + .check {
785
- box-shadow: none !important;
786
- }
787
- }
788
- }
789
-
790
- .no-labels {
791
- a {
792
- color: (var(--primary-color));
793
- text-decoration: underline;
794
- font-weight: 500;
795
-
796
- &:hover {
797
- filter: brightness(0.8) contrast(160%) grayscale(0.4);
798
- }
799
- }
800
- }
801
- }
1
+ @use "sass:meta";
2
+ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");
3
+ @import "./imports.scss";
4
+
5
+ :root {
6
+ --konfuzio-green: #41af85;
7
+ --white: #fff;
8
+ --primary-color: var(--konfuzio-green);
9
+ --primary-button: 4px;
10
+ --top-bar-background: var(--white);
11
+ }
12
+
13
+ .dv-ui-app-container {
14
+ display: flex;
15
+ height: 100%;
16
+ flex-direction: column;
17
+ margin: 0;
18
+
19
+ .overlay {
20
+ height: 100%;
21
+ width: 100%;
22
+ position: fixed;
23
+ z-index: 999;
24
+ top: 0;
25
+ left: 0;
26
+ background-color: rgba(0, 0, 0, 0);
27
+ overflow-x: hidden;
28
+ }
29
+ }
30
+
31
+ .dv-ui-theme {
32
+ @include meta.load-css("../../../node_modules/buefy/dist/buefy.css");
33
+ font-family: $font-family;
34
+
35
+ -webkit-font-smoothing: antialiased;
36
+ text-rendering: optimizeLegibility;
37
+ -webkit-text-size-adjust: 100%;
38
+ -moz-text-size-adjust: 100%;
39
+ -ms-text-size-adjust: 100%;
40
+ text-size-adjust: 100%;
41
+ box-sizing: border-box;
42
+ button {
43
+ &.is-primary {
44
+ background-color: $primary !important;
45
+ color: $white !important;
46
+
47
+ &:hover:enabled {
48
+ filter: $hover-style;
49
+ }
50
+
51
+ &:disabled {
52
+ background-color: $grey;
53
+ }
54
+ }
55
+
56
+ // TODO: custom classes should have the styles under the component file
57
+ &.missing-decline-btn {
58
+ font-size: 14px;
59
+ color: $grey-blue !important;
60
+ font-weight: 500;
61
+ background-color: transparent;
62
+ width: auto;
63
+
64
+ &:not([disabled]) {
65
+ &:hover {
66
+ text-decoration: none;
67
+ color: $text-color !important;
68
+ }
69
+ }
70
+
71
+ &:focus {
72
+ box-shadow: none;
73
+ }
74
+ }
75
+
76
+ &.is-text {
77
+ text-decoration: none;
78
+
79
+ &:hover {
80
+ background-color: transparent;
81
+ }
82
+ }
83
+
84
+ &.annotation-cancel-btn {
85
+ .icon {
86
+ svg {
87
+ width: 15px !important;
88
+ height: 15px !important;
89
+ }
90
+ }
91
+ }
92
+
93
+ &.accept-all-btn {
94
+ padding-left: 4px;
95
+ padding-right: 4px;
96
+ }
97
+
98
+ &.all-missing-btn {
99
+ padding-right: 4px;
100
+ }
101
+
102
+ &.action-bar-save-btn {
103
+ height: 32px;
104
+ padding: 6px 12px 6px 12px !important;
105
+ font-size: 14px;
106
+ font-weight: 500;
107
+ }
108
+
109
+ &.finish-review-btn {
110
+ margin-right: 2px;
111
+
112
+ &:focus {
113
+ box-shadow: none;
114
+ outline: 3px solid $grey-dark;
115
+ border: 2px solid;
116
+ margin-right: 1px;
117
+ }
118
+
119
+ .spinner {
120
+ margin: auto !important;
121
+ }
122
+ }
123
+
124
+ &.edit-mode-btn[disabled] {
125
+ border: 1px solid $detail;
126
+ }
127
+
128
+ &[disabled] {
129
+ border: none;
130
+
131
+ &:hover {
132
+ text-decoration: none;
133
+ }
134
+ }
135
+
136
+ &.primary-button {
137
+ border-radius: var(--primary-button) !important;
138
+ }
139
+
140
+ &.tertiary-button {
141
+ border-radius: 20px !important;
142
+ }
143
+ }
144
+
145
+ .carousel-list {
146
+ &.has-shadow {
147
+ box-shadow: none !important;
148
+ }
149
+
150
+ .carousel-slides .carousel-slide {
151
+ border: none !important;
152
+ }
153
+
154
+ .carousel-arrow {
155
+ .icon {
156
+ color: $primary;
157
+
158
+ &:hover {
159
+ border: 1px solid $primary;
160
+ }
161
+
162
+ svg {
163
+ height: 100%;
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+ .error-message {
170
+ position: absolute;
171
+ width: 100%;
172
+
173
+ .message {
174
+ padding: 0;
175
+ }
176
+
177
+ .message-body {
178
+ background-color: $error-background;
179
+ color: $white;
180
+ font-size: 14px;
181
+ border: 0;
182
+ border-radius: 0%;
183
+ line-height: 20px;
184
+ padding: 7px 0 7px 0;
185
+ }
186
+
187
+ .media-content {
188
+ display: flex;
189
+ justify-content: flex-end;
190
+ }
191
+
192
+ .message-container {
193
+ display: flex;
194
+ width: 100%;
195
+ justify-content: center;
196
+ align-items: center;
197
+
198
+ .server-error {
199
+ display: flex;
200
+
201
+ .contact-support {
202
+ text-decoration: underline;
203
+ font-weight: 600;
204
+ display: flex;
205
+ align-items: center;
206
+ padding-left: 5px;
207
+
208
+ .icon {
209
+ padding-left: 10px;
210
+ }
211
+
212
+ &:hover {
213
+ cursor: pointer;
214
+ }
215
+ }
216
+ }
217
+ }
218
+
219
+ .btn-container {
220
+ cursor: pointer;
221
+ display: flex;
222
+ align-items: center;
223
+ }
224
+ }
225
+
226
+ .message {
227
+ &.label-message {
228
+ .message-body {
229
+ padding: 5px 15px 5px 15px !important;
230
+ }
231
+ }
232
+ }
233
+
234
+ .dropdown {
235
+ &.no-padding-bottom {
236
+ .dropdown-content {
237
+ padding-bottom: 0;
238
+ }
239
+ }
240
+
241
+ &.no-padding-top {
242
+ .dropdown-content {
243
+ padding-top: 0;
244
+ }
245
+ }
246
+
247
+ + .dropdown {
248
+ margin-left: 0;
249
+ }
250
+
251
+ .dropdown-trigger {
252
+ justify-content: space-between;
253
+ width: 100%;
254
+
255
+ .icon {
256
+ &.download-file {
257
+ svg {
258
+ height: 100% !important;
259
+ width: 100% !important;
260
+ }
261
+ }
262
+ }
263
+ }
264
+
265
+ .dropdown-menu {
266
+ padding-top: 0px;
267
+ min-width: 40px;
268
+ width: auto;
269
+ }
270
+
271
+ a.dropdown-item {
272
+ padding-right: 16px;
273
+
274
+ &.is-active {
275
+ background-color: $primary;
276
+ }
277
+
278
+ &.is-disabled {
279
+ color: $grey-blue !important;
280
+ }
281
+ }
282
+
283
+ &.dropdown-menu-animation {
284
+ a.navbar-item {
285
+ color: $text-color;
286
+ font-size: 16px;
287
+ line-height: 24px;
288
+
289
+ &:hover {
290
+ color: $primary;
291
+ background: none;
292
+ border: none;
293
+ }
294
+ }
295
+
296
+ &.label-dropdown {
297
+ width: 100%;
298
+ }
299
+ }
300
+ }
301
+
302
+ .b-checkbox.checkbox {
303
+ input[type="checkbox"] + .check {
304
+ background-color: $white;
305
+ }
306
+ &:hover input[type="checkbox"]:not(:disabled) + .check {
307
+ border-color: $primary !important;
308
+ }
309
+
310
+ input[type="checkbox"]:checked + .check {
311
+ border-color: $primary !important;
312
+ background-color: $primary;
313
+ }
314
+ }
315
+
316
+ .modal {
317
+ z-index: 999;
318
+
319
+ &.model-overflow-visible {
320
+ .modal-content {
321
+ overflow: visible;
322
+ }
323
+ .modal-card-body {
324
+ overflow: visible;
325
+ }
326
+ }
327
+
328
+ &.modal-text-center {
329
+ text-align: center;
330
+ }
331
+
332
+ &.modal-400 {
333
+ position: absolute !important;
334
+
335
+ .modal-content {
336
+ max-width: 400px !important;
337
+
338
+ .scroll-hidden {
339
+ overflow: hidden;
340
+ padding: 0;
341
+
342
+ .content {
343
+ overflow: auto;
344
+ padding: 20px;
345
+ }
346
+ }
347
+ }
348
+ }
349
+
350
+ &.is-active {
351
+ &.modal-no-footer {
352
+ .modal-content {
353
+ .modal-card-body {
354
+ border-radius: 16px 16px 16px 16px !important;
355
+
356
+ &.split-modal {
357
+ padding-bottom: 0;
358
+ }
359
+ }
360
+ }
361
+ }
362
+
363
+ .modal-content {
364
+ height: auto;
365
+ margin-left: auto;
366
+ margin-right: auto;
367
+ position: relative;
368
+
369
+ .modal-close {
370
+ position: absolute;
371
+ top: 14px;
372
+
373
+ &::before,
374
+ &::after {
375
+ background-color: $grey;
376
+ }
377
+
378
+ &:hover {
379
+ background-color: $white;
380
+ }
381
+ }
382
+
383
+ .modal-card-body {
384
+ background: $white;
385
+ border-radius: 16px 16px 0 0 !important;
386
+ }
387
+
388
+ .modal-card-foot {
389
+ display: flex;
390
+ justify-content: center;
391
+ border: none;
392
+ background: $white;
393
+ border-radius: 0 0 16px 16px;
394
+ }
395
+ }
396
+ }
397
+
398
+ &.modal-absolute {
399
+ position: absolute;
400
+ }
401
+
402
+ .modal-background {
403
+ background-color: $full-black;
404
+ opacity: 0.5;
405
+ }
406
+
407
+ // TODO: since edit modal is a specific one, should be on the component styles
408
+ &.edit-modal {
409
+ .modal-content {
410
+ max-width: 440px !important;
411
+
412
+ .header {
413
+ display: flex;
414
+ align-items: center;
415
+ gap: 8px;
416
+ padding-bottom: 15px;
417
+ font-weight: 500;
418
+ font-size: 18px;
419
+ }
420
+
421
+ .content {
422
+ text-align: left;
423
+ font-weight: 400;
424
+ font-size: 14px;
425
+ color: $grey-blue;
426
+ }
427
+
428
+ .modal-card-foot {
429
+ display: flex;
430
+ gap: 5px;
431
+
432
+ .recommended {
433
+ font-weight: 600;
434
+ font-size: 11px;
435
+ background-color: rgba(255, 255, 255, 0.2);
436
+ padding: 2px 5px;
437
+ border-radius: 36px;
438
+ }
439
+
440
+ .button {
441
+ width: 100%;
442
+
443
+ &.is-primary {
444
+ font-weight: 500;
445
+ }
446
+ }
447
+ }
448
+ }
449
+ }
450
+ }
451
+
452
+ &.invisible-parent-modal {
453
+ background-color: transparent;
454
+
455
+ .modal-content {
456
+ height: 100vh !important;
457
+ top: 25%;
458
+
459
+ .modal-card-body {
460
+ overflow: visible;
461
+ }
462
+ }
463
+ }
464
+
465
+ .loading-background {
466
+ background-color: transparent !important;
467
+ }
468
+
469
+ .loading-icon-size {
470
+ width: 13px;
471
+ height: 13px;
472
+ }
473
+
474
+ .notices {
475
+ .snackbar {
476
+ background-color: $text-color;
477
+ min-height: 40px;
478
+
479
+ .text {
480
+ display: flex;
481
+ font-size: 14px;
482
+ }
483
+ }
484
+ }
485
+
486
+ .label-action-btn {
487
+ .dropdown-trigger {
488
+ width: 100%;
489
+ display: flex;
490
+ justify-content: center;
491
+ }
492
+ }
493
+
494
+ .slide-fade-enter-active {
495
+ transition: all 0.3s ease;
496
+ }
497
+
498
+ .slide-fade-leave-active {
499
+ transition: all 0.3s ease;
500
+ }
501
+
502
+ .slide-fade-enter,
503
+ .slide-fade-leave-to {
504
+ transform: translateY(-10px);
505
+ opacity: 0;
506
+ }
507
+
508
+ .b-tooltip {
509
+ height: 100%;
510
+ align-items: center;
511
+
512
+ .tooltip-content {
513
+ background-color: $text-color !important;
514
+
515
+ a {
516
+ color: $white;
517
+ text-decoration: underline;
518
+ font-weight: 500;
519
+ }
520
+ &:before {
521
+ border-bottom-color: $text-color !important;
522
+ }
523
+ }
524
+
525
+ &.left-aligned {
526
+ .tooltip-content {
527
+ left: -3px !important;
528
+ transform: none !important;
529
+ padding: 8px 10px !important;
530
+
531
+ &::before {
532
+ left: 16px !important;
533
+ right: auto !important;
534
+ border-top-color: $text-color !important;
535
+ border-bottom-color: $text-color !important;
536
+ }
537
+ }
538
+ }
539
+
540
+ &.right-aligned {
541
+ .tooltip-content {
542
+ right: -20px !important;
543
+ left: auto !important;
544
+ transform: none !important;
545
+ padding: 8px 10px !important;
546
+
547
+ &::before {
548
+ right: 16px !important;
549
+ left: auto !important;
550
+ border-bottom-color: $text-color !important;
551
+ }
552
+ }
553
+
554
+ &.no-right-margin {
555
+ .tooltip-content {
556
+ right: 0 !important;
557
+ }
558
+ }
559
+
560
+ &.full-height-tooltip {
561
+ height: 100%;
562
+
563
+ .tooltip-content {
564
+ right: 0 !important;
565
+ }
566
+ }
567
+ }
568
+
569
+ &.full-height-tooltip {
570
+ .tooltip-trigger {
571
+ height: 100%;
572
+ }
573
+ }
574
+
575
+ &.width-184 {
576
+ .tooltip-content {
577
+ width: 184px !important;
578
+ }
579
+ }
580
+
581
+ &.left-down-aligned {
582
+ .tooltip-content {
583
+ font-size: 14px;
584
+ padding: 12px 12px;
585
+ top: 45px;
586
+ background-color: $text-color;
587
+ border-radius: 4px !important;
588
+
589
+ &::before {
590
+ top: 17px;
591
+ border-left-color: $text-color !important;
592
+ }
593
+ }
594
+ }
595
+
596
+ &.bottom-aligned {
597
+ width: 100%;
598
+
599
+ .tooltip-content {
600
+ &::before {
601
+ border-bottom-color: $text-color !important;
602
+ }
603
+ }
604
+ }
605
+
606
+ &.top-aligned {
607
+ .tooltip-content {
608
+ &::before {
609
+ border-top-color: $text-color !important;
610
+ }
611
+ }
612
+ }
613
+
614
+ &.split-tooltip {
615
+ width: 100%;
616
+ }
617
+ }
618
+
619
+ .no-icon-margin .icon {
620
+ margin: 0 !important;
621
+ }
622
+
623
+ .icon.is-small,
624
+ .button .icon.is-small {
625
+ width: 14px;
626
+ height: 14px;
627
+
628
+ svg {
629
+ width: 14px;
630
+ height: 14px;
631
+ }
632
+
633
+ &.caret {
634
+ svg {
635
+ height: 12px;
636
+ }
637
+
638
+ &.split-mode-caret {
639
+ svg {
640
+ color: $grey;
641
+ }
642
+ }
643
+ }
644
+
645
+ &.close-btn {
646
+ width: 10px;
647
+ height: 10px;
648
+
649
+ &.error-icon {
650
+ color: $white;
651
+ padding-right: 20px;
652
+ padding-left: 20px;
653
+
654
+ svg {
655
+ height: 15px !important;
656
+ }
657
+ }
658
+ }
659
+ }
660
+
661
+ .dropdown {
662
+ &.split-mode {
663
+ .dropdown-trigger {
664
+ font-size: 14px;
665
+ height: 38px;
666
+ }
667
+ }
668
+
669
+ &.width-12 {
670
+ .dropdown-trigger {
671
+ width: 12px;
672
+ }
673
+ }
674
+
675
+ .dropdown-trigger {
676
+ height: 100%;
677
+ display: flex;
678
+ justify-content: center;
679
+ align-items: center;
680
+ }
681
+
682
+ &.is-disabled {
683
+ cursor: not-allowed;
684
+ }
685
+ }
686
+
687
+ .b-table {
688
+ .table-wrapper {
689
+ overflow: visible !important;
690
+ }
691
+ &.full-height {
692
+ height: 100%;
693
+ .table-wrapper {
694
+ height: 100%;
695
+ .table {
696
+ height: 100%;
697
+ }
698
+ }
699
+ }
700
+
701
+ &.dark-header {
702
+ .table {
703
+ thead {
704
+ background-color: $black !important;
705
+ th {
706
+ font-weight: 400;
707
+ background-color: $black !important;
708
+ }
709
+ }
710
+ }
711
+ }
712
+
713
+ &.header-32 {
714
+ thead {
715
+ height: 32px;
716
+ }
717
+ }
718
+
719
+ .table,
720
+ .table-wrapper {
721
+ &.has-sticky-header {
722
+ max-height: 200px;
723
+ height: fit-content;
724
+ }
725
+ cursor: text;
726
+ thead {
727
+ background-color: $purple !important;
728
+ th {
729
+ font-weight: 500;
730
+ font-size: 10px;
731
+ line-height: 18px;
732
+ .th-wrap {
733
+ text-transform: none;
734
+ .icon {
735
+ margin: 0;
736
+ }
737
+ }
738
+ background-color: $purple !important;
739
+ color: white !important;
740
+ vertical-align: middle;
741
+ &[draggable="true"] {
742
+ cursor: move;
743
+ }
744
+ }
745
+ }
746
+ tbody {
747
+ background-color: rgba(123, 97, 255, 0.1);
748
+ tr {
749
+ background-color: white;
750
+ color: black;
751
+ td {
752
+ font-weight: 500;
753
+ font-size: 10px;
754
+ line-height: 18px;
755
+
756
+ &.has-text-centered {
757
+ vertical-align: middle;
758
+ }
759
+ }
760
+ }
761
+ }
762
+ &.is-striped {
763
+ tbody {
764
+ tr {
765
+ &:not(.is-selected) {
766
+ background-color: rgba(123, 97, 255, 0.1);
767
+ &:nth-child(even) {
768
+ background-color: rgba(123, 97, 255, 0.3);
769
+ }
770
+ }
771
+ }
772
+ }
773
+ }
774
+ }
775
+ }
776
+
777
+ .switch {
778
+ input[type="checkbox"] {
779
+ &:checked + .check {
780
+ background: $primary !important;
781
+ box-shadow: none !important;
782
+ }
783
+
784
+ &:focus + .check {
785
+ box-shadow: none !important;
786
+ }
787
+ }
788
+ }
789
+
790
+ .no-labels {
791
+ a {
792
+ color: (var(--primary-color));
793
+ text-decoration: underline;
794
+ font-weight: 500;
795
+
796
+ &:hover {
797
+ filter: brightness(0.8) contrast(160%) grayscale(0.4);
798
+ }
799
+ }
800
+ }
801
+ }