@konfuzio/document-validation-ui 0.1.5 → 0.1.6-multi-ann-set

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