@zipify/wysiwyg 1.3.0-0 → 2.0.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/wysiwyg.css +31 -42
  3. package/dist/wysiwyg.mjs +454 -399
  4. package/lib/__tests__/utils/buildTestExtensions.js +14 -0
  5. package/lib/__tests__/utils/index.js +1 -0
  6. package/lib/components/base/Button.vue +0 -7
  7. package/lib/components/base/dropdown/Dropdown.vue +1 -7
  8. package/lib/components/base/dropdown/DropdownActivator.vue +4 -19
  9. package/lib/components/base/dropdown/__tests__/DropdownActivator.test.js +1 -23
  10. package/lib/components/toolbar/controls/AlignmentControl.vue +1 -11
  11. package/lib/components/toolbar/controls/FontColorControl.vue +0 -13
  12. package/lib/components/toolbar/controls/FontFamilyControl.vue +0 -4
  13. package/lib/components/toolbar/controls/FontSizeControl.vue +1 -6
  14. package/lib/components/toolbar/controls/FontWeightControl.vue +0 -12
  15. package/lib/components/toolbar/controls/ItalicControl.vue +0 -13
  16. package/lib/components/toolbar/controls/LineHeightControl.vue +0 -14
  17. package/lib/components/toolbar/controls/SuperscriptControl.vue +2 -2
  18. package/lib/components/toolbar/controls/UnderlineControl.vue +0 -12
  19. package/lib/components/toolbar/controls/__tests__/AlignmentControl.test.js +5 -72
  20. package/lib/components/toolbar/controls/__tests__/FontColorControl.test.js +1 -22
  21. package/lib/components/toolbar/controls/__tests__/FontFamilyControl.test.js +0 -1
  22. package/lib/components/toolbar/controls/__tests__/FontSizeControl.test.js +0 -1
  23. package/lib/components/toolbar/controls/__tests__/FontWeightControl.test.js +0 -1
  24. package/lib/components/toolbar/controls/__tests__/ItalicControl.test.js +1 -23
  25. package/lib/components/toolbar/controls/__tests__/LineHeightControl.test.js +1 -23
  26. package/lib/components/toolbar/controls/__tests__/SuperscriptControl.test.js +2 -2
  27. package/lib/components/toolbar/controls/__tests__/UnderlineControl.test.js +1 -25
  28. package/lib/composables/__tests__/useEditor.test.js +2 -2
  29. package/lib/extensions/BackgroundColor.js +4 -4
  30. package/lib/extensions/FontColor.js +4 -5
  31. package/lib/extensions/FontFamily.js +4 -5
  32. package/lib/extensions/FontSize.js +5 -7
  33. package/lib/extensions/FontStyle.js +13 -11
  34. package/lib/extensions/FontWeight.js +6 -9
  35. package/lib/extensions/StylePreset.js +0 -14
  36. package/lib/extensions/Superscript.js +23 -1
  37. package/lib/extensions/TextDecoration.js +33 -20
  38. package/lib/extensions/__tests__/Alignment.test.js +10 -7
  39. package/lib/extensions/__tests__/BackgroundColor.test.js +6 -3
  40. package/lib/extensions/__tests__/CaseStyle.test.js +11 -7
  41. package/lib/extensions/__tests__/FontColor.test.js +6 -3
  42. package/lib/extensions/__tests__/FontFamily.test.js +29 -22
  43. package/lib/extensions/__tests__/FontSize.test.js +24 -17
  44. package/lib/extensions/__tests__/FontStyle.test.js +22 -16
  45. package/lib/extensions/__tests__/FontWeight.test.js +26 -19
  46. package/lib/extensions/__tests__/LineHeight.test.js +14 -11
  47. package/lib/extensions/__tests__/Link.test.js +14 -10
  48. package/lib/extensions/__tests__/Margin.test.js +2 -2
  49. package/lib/extensions/__tests__/StylePreset.test.js +49 -100
  50. package/lib/extensions/__tests__/TextDecoration.test.js +72 -46
  51. package/lib/extensions/__tests__/__snapshots__/BackgroundColor.test.js.snap +24 -24
  52. package/lib/extensions/__tests__/__snapshots__/FontColor.test.js.snap +24 -24
  53. package/lib/extensions/__tests__/__snapshots__/FontFamily.test.js.snap +86 -82
  54. package/lib/extensions/__tests__/__snapshots__/FontSize.test.js.snap +70 -70
  55. package/lib/extensions/__tests__/__snapshots__/FontStyle.test.js.snap +53 -45
  56. package/lib/extensions/__tests__/__snapshots__/FontWeight.test.js.snap +64 -60
  57. package/lib/extensions/__tests__/__snapshots__/TextDecoration.test.js.snap +148 -83
  58. package/lib/extensions/core/Document.js +5 -0
  59. package/lib/extensions/core/Heading.js +10 -0
  60. package/lib/extensions/core/NodeProcessor.js +84 -4
  61. package/lib/extensions/core/Paragraph.js +9 -0
  62. package/lib/extensions/core/TextProcessor.js +10 -12
  63. package/lib/extensions/core/__tests__/NodeProcessor.test.js +82 -10
  64. package/lib/extensions/core/__tests__/SelectionProcessor.test.js +2 -2
  65. package/lib/extensions/core/__tests__/TextProcessor.test.js +18 -20
  66. package/lib/extensions/core/__tests__/__snapshots__/NodeProcessor.test.js.snap +132 -0
  67. package/lib/extensions/core/index.js +5 -5
  68. package/lib/extensions/core/steps/AddNodeMarkStep.js +60 -0
  69. package/lib/extensions/core/steps/RemoveNodeMarkStep.js +50 -0
  70. package/lib/extensions/core/steps/index.js +2 -0
  71. package/lib/extensions/list/List.js +1 -0
  72. package/lib/extensions/list/ListItem.js +5 -0
  73. package/lib/extensions/list/__tests__/List.test.js +30 -25
  74. package/lib/services/ContentNormalizer.js +1 -100
  75. package/lib/services/NodeFactory.js +16 -6
  76. package/lib/services/__tests__/ContentNormalizer.test.js +0 -64
  77. package/lib/utils/findMarkByType.js +5 -0
  78. package/lib/utils/index.js +5 -0
  79. package/lib/utils/isMarkAppliedToParent.js +15 -0
  80. package/lib/utils/isNodeFullySelected.js +10 -0
  81. package/lib/utils/resolveNodePosition.js +6 -0
  82. package/lib/utils/resolveTextPosition.js +6 -0
  83. package/package.json +1 -1
  84. package/lib/assets/icons/indicator.svg +0 -5
package/dist/wysiwyg.css CHANGED
@@ -23,7 +23,7 @@
23
23
  column-gap: var(--zw-offset-xxs);
24
24
  }
25
25
 
26
- .zw-button[data-v-2fa65564] {
26
+ .zw-button[data-v-562f4e4a] {
27
27
  display: inline-flex;
28
28
  align-items: center;
29
29
  vertical-align: middle;
@@ -43,21 +43,21 @@
43
43
  transition: 0.1s opacity ease-out;
44
44
  will-change: opacity;
45
45
  }
46
- .zw-button[data-v-2fa65564]::-moz-focus-inner {
46
+ .zw-button[data-v-562f4e4a]::-moz-focus-inner {
47
47
  border: 0 !important;
48
48
  }
49
- .zw-button[data-v-2fa65564]:hover,
50
- .zw-button[data-v-2fa65564]:focus {
49
+ .zw-button[data-v-562f4e4a]:hover,
50
+ .zw-button[data-v-562f4e4a]:focus {
51
51
  text-decoration: none;
52
52
  outline: none;
53
53
  }
54
- .zw-button[data-v-2fa65564]:disabled {
54
+ .zw-button[data-v-562f4e4a]:disabled {
55
55
  user-select: none;
56
56
  box-shadow: none;
57
57
  cursor: not-allowed;
58
58
  opacity: 0.35;
59
59
  }
60
- .zw-button--toolbar[data-v-2fa65564] {
60
+ .zw-button--toolbar[data-v-562f4e4a] {
61
61
  border-radius: 1px;
62
62
  min-height: 28px;
63
63
  font-weight: var(--zw-font-weight-semibold);
@@ -67,38 +67,32 @@
67
67
  transition-property: background-color, color, opacity;
68
68
  will-change: background-color, color, opacity;
69
69
  }
70
- .zw-button--primary[data-v-2fa65564] {
70
+ .zw-button--primary[data-v-562f4e4a] {
71
71
  background-color: rgb(var(--zw-color-green));
72
72
  color: rgb(var(--zw-color-white));
73
73
  padding: var(--zw-offset-xxs) var(--zw-offset-sm);
74
74
  line-height: var(--zw-line-height-md);
75
75
  }
76
- .zw-button--primary[data-v-2fa65564],
77
- .zw-button--secondary[data-v-2fa65564] {
76
+ .zw-button--primary[data-v-562f4e4a],
77
+ .zw-button--secondary[data-v-562f4e4a] {
78
78
  color: rgb(var(--zw-color-white));
79
79
  padding: var(--zw-offset-xxs) var(--zw-offset-sm);
80
80
  font-weight: 600;
81
81
  font-size: var(--zw-font-size-xs);
82
82
  }
83
- .zw-button--primary[data-v-2fa65564]:not(:disabled):hover,
84
- .zw-button--secondary[data-v-2fa65564]:not(:disabled):hover {
83
+ .zw-button--primary[data-v-562f4e4a]:not(:disabled):hover,
84
+ .zw-button--secondary[data-v-562f4e4a]:not(:disabled):hover {
85
85
  opacity: 0.9;
86
86
  }
87
- .zw-button--toolbar[data-v-2fa65564]:not(.zw-button--icon) {
87
+ .zw-button--toolbar[data-v-562f4e4a]:not(.zw-button--icon) {
88
88
  padding: var(--zw-offset-xxs) var(--zw-offset-xs);
89
89
  }
90
- .zw-button--toolbar[data-v-2fa65564]:not(:disabled):hover,
91
- .zw-button--toolbar[data-v-2fa65564]:not(:disabled):focus,
92
- .zw-button--toolbar.zw-button--active[data-v-2fa65564]:not(:disabled) {
90
+ .zw-button--toolbar[data-v-562f4e4a]:not(:disabled):hover,
91
+ .zw-button--toolbar[data-v-562f4e4a]:not(:disabled):focus,
92
+ .zw-button--toolbar.zw-button--active[data-v-562f4e4a]:not(:disabled) {
93
93
  color: rgb(var(--zw-color-white));
94
94
  background-color: rgb(var(--zw-color-n5));
95
95
  }
96
- .zw-button__customized-indicator[data-v-2fa65564] {
97
- display: inline-block !important;
98
- position: absolute;
99
- top: calc(0px - var(--zw-offset-xxs));
100
- right: 2px;
101
- }
102
96
 
103
97
  .zw-button-toggle[data-v-a02f12aa] {
104
98
  display: flex;
@@ -461,24 +455,23 @@
461
455
  font-size: var(--zw-font-size-xs);
462
456
  }
463
457
 
464
- .zw-dropdown__activator[data-v-58b29148] {
458
+ .zw-dropdown__activator[data-v-021ac370] {
465
459
  width: 100%;
466
460
  }
467
- .zw-dropdown__activator-arrow[data-v-58b29148] {
461
+ .zw-dropdown__activator-title[data-v-021ac370] {
462
+ margin-right: var(--zw-offset-xs);
463
+ }
464
+ .zw-dropdown__activator-arrow[data-v-021ac370] {
468
465
  margin-left: auto;
469
466
  }
470
- .zw-dropdown__activator--active .zw-dropdown__activator-arrow[data-v-58b29148] {
467
+ .zw-dropdown__activator--active .zw-dropdown__activator-arrow[data-v-021ac370] {
471
468
  transform: rotateX(180deg);
472
469
  }
473
- .zw-dropdown__activator--gray[data-v-58b29148] {
470
+ .zw-dropdown__activator--gray[data-v-021ac370] {
474
471
  background-color: rgb(var(--zw-color-n20));
475
472
  font-size: var(--zw-font-size-xxs);
476
473
  color: rgb(var(--zw-color-white));
477
474
  }
478
- .zw-dropdown__customized-indicator[data-v-58b29148] {
479
- position: relative;
480
- top: calc(0px - var(--zw-offset-xs));
481
- }
482
475
 
483
476
  .zw-dropdown__option[data-v-1355d08c] {
484
477
  width: 100%;
@@ -526,7 +519,7 @@
526
519
  padding-bottom: var(--zw-offset-xs);
527
520
  }
528
521
 
529
- .zw-dropdown[data-v-29e6a104] {
522
+ .zw-dropdown[data-v-885109ea] {
530
523
  position: relative;
531
524
  font-size: var(--zw-font-size-xs);
532
525
  line-height: var(--zw-line-height-xxs);
@@ -548,21 +541,17 @@
548
541
  color: rgb(var(--zw-color-white));
549
542
  }
550
543
 
551
- .zw-font-family-control[data-v-2f66bfa6] {
544
+ .zw-font-family-control[data-v-07a47462] {
552
545
  width: 96px;
553
546
  }
554
- .zw-font-family-control__option[data-v-2f66bfa6] {
547
+ .zw-font-family-control__option[data-v-07a47462] {
555
548
  font-weight: 400;
556
549
  font-family: var(--zw-font-family-option);
557
550
  width: 150px;
558
551
  }
559
552
 
560
- .zw-font-weight-control[data-v-5a87e48e] {
561
- width: 60px;
562
- }
563
-
564
- .zw-font-size-control[data-v-3f8185ea] {
565
- width: 72px;
553
+ .zw-font-size-control[data-v-71dd7ffc] {
554
+ width: 64px;
566
555
  }
567
556
 
568
557
  .zw-alignment-control__modal[data-v-cef30e1a] {
@@ -572,17 +561,17 @@
572
561
  flex-direction: column;
573
562
  }
574
563
 
575
- .zw-line-height-control__modal[data-v-8aeefd68] {
564
+ .zw-line-height-control__modal[data-v-9ea28b80] {
576
565
  padding: var(--zw-offset-sm);
577
566
  }
578
- .zw-line-height-control__row[data-v-8aeefd68] {
567
+ .zw-line-height-control__row[data-v-9ea28b80] {
579
568
  display: flex;
580
569
  align-items: center;
581
570
  }
582
- .zw-line-height-control__range[data-v-8aeefd68] {
571
+ .zw-line-height-control__range[data-v-9ea28b80] {
583
572
  width: 156px;
584
573
  }
585
- .zw-line-height-control__field[data-v-8aeefd68] {
574
+ .zw-line-height-control__field[data-v-9ea28b80] {
586
575
  width: 64px;
587
576
  margin-left: var(--zw-offset-sm);
588
577
  }