@zipify/wysiwyg 4.11.0 → 4.11.2

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 (141) hide show
  1. package/.release-it.json +2 -1
  2. package/dist/cli.js +28 -28
  3. package/dist/node.js +26 -26
  4. package/dist/types/Wysiwyg.vue.d.ts +7 -8
  5. package/dist/types/components/base/Button.vue.d.ts +5 -10
  6. package/dist/types/components/base/ButtonToggle.vue.d.ts +9 -14
  7. package/dist/types/components/base/Checkbox.vue.d.ts +1 -1
  8. package/dist/types/components/base/FieldLabel.vue.d.ts +5 -10
  9. package/dist/types/components/base/Icon.vue.d.ts +1 -1
  10. package/dist/types/components/base/Modal.vue.d.ts +5 -14
  11. package/dist/types/components/base/ModalFloating.vue.d.ts +5 -14
  12. package/dist/types/components/base/NumberField.vue.d.ts +1 -1
  13. package/dist/types/components/base/Range.vue.d.ts +1 -1
  14. package/dist/types/components/base/ScrollView.vue.d.ts +5 -14
  15. package/dist/types/components/base/TextField.vue.d.ts +1 -1
  16. package/dist/types/components/base/colorPicker/ColorPicker.vue.d.ts +10 -517
  17. package/dist/types/components/base/dropdown/Dropdown.vue.d.ts +6 -15
  18. package/dist/types/components/base/dropdown/DropdownActivator.vue.d.ts +7 -12
  19. package/dist/types/components/base/dropdown/DropdownDivider.vue.d.ts +1 -1
  20. package/dist/types/components/base/dropdown/DropdownGroup.vue.d.ts +7 -12
  21. package/dist/types/components/base/dropdown/DropdownMenu.vue.d.ts +6 -12
  22. package/dist/types/components/base/dropdown/DropdownOption.vue.d.ts +5 -14
  23. package/dist/types/components/toolbar/ToolbarFloating.vue.d.ts +5 -14
  24. package/dist/types/components/toolbar/controls/AlignmentControl.vue.d.ts +1 -1
  25. package/dist/types/components/toolbar/controls/CaseStyleControl.vue.d.ts +1 -1
  26. package/dist/types/components/toolbar/controls/FontFamilyControl.vue.d.ts +1 -1
  27. package/dist/types/components/toolbar/controls/FontSizeControl.vue.d.ts +1 -1
  28. package/dist/types/components/toolbar/controls/FontWeightControl.vue.d.ts +1 -1
  29. package/dist/types/components/toolbar/controls/ItalicControl.vue.d.ts +1 -1
  30. package/dist/types/components/toolbar/controls/LineHeightControl.vue.d.ts +1 -3
  31. package/dist/types/components/toolbar/controls/ListControl.vue.d.ts +1 -1
  32. package/dist/types/components/toolbar/controls/RemoveFormatControl.vue.d.ts +1 -1
  33. package/dist/types/components/toolbar/controls/StrikeThroughControl.vue.d.ts +1 -1
  34. package/dist/types/components/toolbar/controls/SuperscriptControl.vue.d.ts +1 -1
  35. package/dist/types/components/toolbar/controls/UnderlineControl.vue.d.ts +1 -1
  36. package/dist/types/components/toolbar/controls/link/LinkControl.vue.d.ts +1 -3
  37. package/dist/types/components/toolbar/controls/link/LinkControlHeader.vue.d.ts +1 -1
  38. package/dist/types/components/toolbar/controls/link/composables/useLink.d.ts +11 -9
  39. package/dist/types/components/toolbar/controls/link/destination/LinkControlDestination.vue.d.ts +1 -1
  40. package/dist/types/components/toolbar/controls/link/destination/LinkControlPageBlock.vue.d.ts +1 -1
  41. package/dist/types/components/toolbar/controls/link/destination/LinkControlUrl.vue.d.ts +1 -1
  42. package/dist/types/components/toolbar/controls/stylePreset/StylePresetControl.vue.d.ts +1 -1
  43. package/dist/types/components/toolbar/controls/stylePreset/StylePresetOption.vue.d.ts +2 -4
  44. package/dist/types/enums/Alignment.d.ts +7 -0
  45. package/dist/types/enums/CaseStyle.d.ts +5 -0
  46. package/dist/types/enums/Device.d.ts +7 -0
  47. package/dist/types/enums/LinkDestination.d.ts +4 -0
  48. package/dist/types/enums/LinkTarget.d.ts +4 -0
  49. package/dist/types/enums/ListType.d.ts +10 -0
  50. package/dist/types/enums/MarkGroup.d.ts +4 -0
  51. package/dist/types/enums/NodeType.d.ts +9 -0
  52. package/dist/types/enums/TextSetting.d.ts +19 -0
  53. package/dist/types/enums/index.d.ts +9 -9
  54. package/dist/types/extensions/Alignment.d.ts +2 -1
  55. package/dist/types/extensions/CaseStyle.d.ts +2 -1
  56. package/dist/types/models/Font.d.ts +1 -0
  57. package/dist/wysiwyg.css +27 -27
  58. package/dist/wysiwyg.mjs +135 -165
  59. package/example/fonts.js +111 -111
  60. package/lib/Wysiwyg.vue +3 -3
  61. package/lib/__tests__/utils/buildTestExtensions.js +6 -6
  62. package/lib/components/toolbar/Toolbar.vue +2 -2
  63. package/lib/components/toolbar/__tests__/Toolbar.test.js +5 -5
  64. package/lib/components/toolbar/controls/AlignmentControl.vue +7 -7
  65. package/lib/components/toolbar/controls/CaseStyleControl.vue +5 -5
  66. package/lib/components/toolbar/controls/FontColorControl.vue +2 -2
  67. package/lib/components/toolbar/controls/FontFamilyControl.vue +2 -2
  68. package/lib/components/toolbar/controls/FontSizeControl.vue +2 -2
  69. package/lib/components/toolbar/controls/FontWeightControl.vue +2 -2
  70. package/lib/components/toolbar/controls/ItalicControl.vue +2 -2
  71. package/lib/components/toolbar/controls/LineHeightControl.vue +2 -2
  72. package/lib/components/toolbar/controls/ListControl.vue +5 -5
  73. package/lib/components/toolbar/controls/__tests__/AlignmentControl.test.js +13 -13
  74. package/lib/components/toolbar/controls/__tests__/CaseStyleControl.test.js +4 -4
  75. package/lib/components/toolbar/controls/__tests__/ListControl.test.js +10 -10
  76. package/lib/components/toolbar/controls/__tests__/StylePresetControl.test.js +6 -6
  77. package/lib/components/toolbar/controls/link/LinkControl.vue +5 -5
  78. package/lib/components/toolbar/controls/link/composables/__tests__/useLink.test.js +20 -20
  79. package/lib/components/toolbar/controls/link/composables/useLink.js +10 -10
  80. package/lib/components/toolbar/controls/link/destination/LinkControlDestination.vue +10 -7
  81. package/lib/components/toolbar/controls/link/destination/LinkControlPageBlock.vue +1 -1
  82. package/lib/enums/{Alignments.ts → Alignment.ts} +0 -8
  83. package/lib/enums/{CaseStyles.ts → CaseStyle.ts} +0 -6
  84. package/lib/enums/{Devices.ts → Device.ts} +0 -8
  85. package/lib/enums/LinkDestination.ts +4 -0
  86. package/lib/enums/LinkTarget.ts +4 -0
  87. package/lib/enums/{ListTypes.ts → ListType.ts} +0 -9
  88. package/lib/enums/MarkGroup.ts +4 -0
  89. package/lib/enums/{NodeTypes.ts → NodeType.ts} +0 -8
  90. package/lib/enums/{TextSettings.ts → TextSetting.ts} +0 -11
  91. package/lib/enums/index.ts +9 -9
  92. package/lib/extensions/Alignment.js +13 -11
  93. package/lib/extensions/BackgroundColor.js +2 -2
  94. package/lib/extensions/CaseStyle.js +8 -6
  95. package/lib/extensions/FontColor.js +4 -4
  96. package/lib/extensions/FontFamily.js +8 -6
  97. package/lib/extensions/FontSize.js +3 -3
  98. package/lib/extensions/FontStyle.js +3 -3
  99. package/lib/extensions/FontWeight.js +3 -3
  100. package/lib/extensions/LineHeight.js +4 -4
  101. package/lib/extensions/Link.js +11 -11
  102. package/lib/extensions/Margin.js +4 -4
  103. package/lib/extensions/StylePreset.js +18 -12
  104. package/lib/extensions/Superscript.js +2 -2
  105. package/lib/extensions/TextDecoration.js +2 -2
  106. package/lib/extensions/__tests__/Alignment.test.js +21 -21
  107. package/lib/extensions/__tests__/BackgroundColor.test.js +4 -4
  108. package/lib/extensions/__tests__/CaseStyle.test.js +6 -6
  109. package/lib/extensions/__tests__/FontColor.test.js +4 -4
  110. package/lib/extensions/__tests__/FontFamily.test.js +10 -10
  111. package/lib/extensions/__tests__/FontSize.test.js +9 -9
  112. package/lib/extensions/__tests__/FontStyle.test.js +6 -6
  113. package/lib/extensions/__tests__/FontWeight.test.js +11 -11
  114. package/lib/extensions/__tests__/LineHeight.test.js +2 -2
  115. package/lib/extensions/__tests__/Link.test.js +13 -13
  116. package/lib/extensions/__tests__/StylePreset.test.js +29 -29
  117. package/lib/extensions/__tests__/Superscript.test.js +5 -5
  118. package/lib/extensions/__tests__/TextDecoration.test.js +14 -14
  119. package/lib/extensions/core/Document.js +3 -3
  120. package/lib/extensions/core/Heading.js +2 -2
  121. package/lib/extensions/core/NodeProcessor.js +8 -8
  122. package/lib/extensions/core/Paragraph.js +2 -2
  123. package/lib/extensions/core/__tests__/NodeProcessor.test.js +68 -68
  124. package/lib/extensions/core/__tests__/TextProcessor.test.js +13 -13
  125. package/lib/extensions/list/ListItem.js +5 -5
  126. package/lib/extensions/list/__tests__/List.test.js +11 -11
  127. package/lib/extensions/proseMirror/PasteLinkPlugin.js +4 -4
  128. package/lib/extensions/proseMirror/PastePlugin.js +2 -2
  129. package/lib/models/Font.ts +4 -0
  130. package/lib/services/ContentSerializer.js +3 -3
  131. package/lib/services/StylePresetRenderer.js +4 -4
  132. package/lib/services/__tests__/NodeFactory.test.js +11 -11
  133. package/lib/services/__tests__/NodeSelector.test.js +18 -18
  134. package/lib/services/normalizer/JsonNormalizer.js +5 -5
  135. package/lib/services/normalizer/__tests__/JsonNormalizer.test.js +15 -15
  136. package/lib/utils/__tests__/convertAlignment.test.js +3 -3
  137. package/lib/utils/convertAlignment.js +4 -4
  138. package/package.json +17 -17
  139. package/lib/enums/LinkDestinations.ts +0 -9
  140. package/lib/enums/LinkTargets.ts +0 -9
  141. package/lib/enums/MarkGroups.ts +0 -9
package/example/fonts.js CHANGED
@@ -1,35 +1,35 @@
1
1
  export const FONTS = [
2
2
  {
3
- 'name': 'Merriweather',
4
- 'styles': [
3
+ name: 'Merriweather',
4
+ styles: [
5
5
  '900i'
6
6
  ],
7
- 'category': 'Serif'
7
+ category: 'Serif'
8
8
  },
9
9
  {
10
- 'name': 'Arvo',
11
- 'styles': [
10
+ name: 'Arvo',
11
+ styles: [
12
12
  '400',
13
13
  '400i',
14
14
  '700',
15
15
  '700i'
16
16
  ],
17
- 'category': 'Serif'
17
+ category: 'Serif'
18
18
  },
19
19
  {
20
- 'name': 'BioRhyme',
21
- 'styles': [
20
+ name: 'BioRhyme',
21
+ styles: [
22
22
  '200',
23
23
  '300',
24
24
  '400',
25
25
  '700',
26
26
  '800'
27
27
  ],
28
- 'category': 'Serif'
28
+ category: 'Serif'
29
29
  },
30
30
  {
31
- 'name': 'Josefin Slab',
32
- 'styles': [
31
+ name: 'Josefin Slab',
32
+ styles: [
33
33
  '100',
34
34
  '100i',
35
35
  '300',
@@ -41,11 +41,11 @@ export const FONTS = [
41
41
  '700',
42
42
  '700i'
43
43
  ],
44
- 'category': 'Serif'
44
+ category: 'Serif'
45
45
  },
46
46
  {
47
- 'name': 'Rubik',
48
- 'styles': [
47
+ name: 'Rubik',
48
+ styles: [
49
49
  '300',
50
50
  '300i',
51
51
  '400',
@@ -57,11 +57,11 @@ export const FONTS = [
57
57
  '900',
58
58
  '900i'
59
59
  ],
60
- 'category': 'Serif'
60
+ category: 'Serif'
61
61
  },
62
62
  {
63
- 'name': 'Alegreya',
64
- 'styles': [
63
+ name: 'Alegreya',
64
+ styles: [
65
65
  '400',
66
66
  '400i',
67
67
  '500',
@@ -73,11 +73,11 @@ export const FONTS = [
73
73
  '900',
74
74
  '900i'
75
75
  ],
76
- 'category': 'Serif'
76
+ category: 'Serif'
77
77
  },
78
78
  {
79
- 'name': 'Crimson Text',
80
- 'styles': [
79
+ name: 'Crimson Text',
80
+ styles: [
81
81
  '400',
82
82
  '400i',
83
83
  '600',
@@ -85,58 +85,58 @@ export const FONTS = [
85
85
  '700',
86
86
  '700i'
87
87
  ],
88
- 'category': 'Serif'
88
+ category: 'Serif'
89
89
  },
90
90
  {
91
- 'name': 'PT Serif',
92
- 'styles': [
91
+ name: 'PT Serif',
92
+ styles: [
93
93
  '400',
94
94
  '400i',
95
95
  '700',
96
96
  '700i'
97
97
  ],
98
- 'category': 'Serif'
98
+ category: 'Serif'
99
99
  },
100
100
  {
101
- 'name': 'Anonymous Pro',
102
- 'styles': [
101
+ name: 'Anonymous Pro',
102
+ styles: [
103
103
  '400',
104
104
  '400i',
105
105
  '700',
106
106
  '700i'
107
107
  ],
108
- 'category': 'Serif'
108
+ category: 'Serif'
109
109
  },
110
110
  {
111
- 'name': 'Roboto Slab',
112
- 'styles': [
111
+ name: 'Roboto Slab',
112
+ styles: [
113
113
  '100',
114
114
  '300',
115
115
  '400',
116
116
  '700'
117
117
  ],
118
- 'category': 'Serif'
118
+ category: 'Serif'
119
119
  },
120
120
  {
121
- 'name': 'Scope One',
122
- 'styles': [
121
+ name: 'Scope One',
122
+ styles: [
123
123
  '400'
124
124
  ],
125
- 'category': 'Serif'
125
+ category: 'Serif'
126
126
  },
127
127
  {
128
- 'name': 'Droid Serif',
129
- 'styles': [
128
+ name: 'Droid Serif',
129
+ styles: [
130
130
  '400',
131
131
  '400i',
132
132
  '700',
133
133
  '700i'
134
134
  ],
135
- 'category': 'Serif'
135
+ category: 'Serif'
136
136
  },
137
137
  {
138
- 'name': 'Josefin Sans',
139
- 'styles': [
138
+ name: 'Josefin Sans',
139
+ styles: [
140
140
  '100',
141
141
  '100i',
142
142
  '300',
@@ -148,11 +148,11 @@ export const FONTS = [
148
148
  '700',
149
149
  '700i'
150
150
  ],
151
- 'category': 'Sans Serif'
151
+ category: 'Sans Serif'
152
152
  },
153
153
  {
154
- 'name': 'Work Sans',
155
- 'styles': [
154
+ name: 'Work Sans',
155
+ styles: [
156
156
  '100',
157
157
  '200',
158
158
  '300',
@@ -163,11 +163,11 @@ export const FONTS = [
163
163
  '800',
164
164
  '900'
165
165
  ],
166
- 'category': 'Sans Serif'
166
+ category: 'Sans Serif'
167
167
  },
168
168
  {
169
- 'name': 'Fira Sans',
170
- 'styles': [
169
+ name: 'Fira Sans',
170
+ styles: [
171
171
  '100',
172
172
  '100i',
173
173
  '200',
@@ -187,11 +187,11 @@ export const FONTS = [
187
187
  '900',
188
188
  '900i'
189
189
  ],
190
- 'category': 'Sans Serif'
190
+ category: 'Sans Serif'
191
191
  },
192
192
  {
193
- 'name': 'Alegreya Sans',
194
- 'styles': [
193
+ name: 'Alegreya Sans',
194
+ styles: [
195
195
  '100',
196
196
  '100i',
197
197
  '300',
@@ -207,11 +207,11 @@ export const FONTS = [
207
207
  '900',
208
208
  '900i'
209
209
  ],
210
- 'category': 'Sans Serif'
210
+ category: 'Sans Serif'
211
211
  },
212
212
  {
213
- 'name': 'Source Sans Pro',
214
- 'styles': [
213
+ name: 'Source Sans Pro',
214
+ styles: [
215
215
  '200',
216
216
  '200i',
217
217
  '300',
@@ -225,22 +225,22 @@ export const FONTS = [
225
225
  '900',
226
226
  '900i'
227
227
  ],
228
- 'category': 'Sans Serif'
228
+ category: 'Sans Serif'
229
229
  },
230
230
  {
231
- 'name': 'Rajdhani',
232
- 'styles': [
231
+ name: 'Rajdhani',
232
+ styles: [
233
233
  '300',
234
234
  '400',
235
235
  '500',
236
236
  '600',
237
237
  '700'
238
238
  ],
239
- 'category': 'Sans Serif'
239
+ category: 'Sans Serif'
240
240
  },
241
241
  {
242
- 'name': 'Ubuntu',
243
- 'styles': [
242
+ name: 'Ubuntu',
243
+ styles: [
244
244
  '300',
245
245
  '300i',
246
246
  '400',
@@ -250,11 +250,11 @@ export const FONTS = [
250
250
  '700',
251
251
  '700i'
252
252
  ],
253
- 'category': 'Sans Serif'
253
+ category: 'Sans Serif'
254
254
  },
255
255
  {
256
- 'name': 'Dosis',
257
- 'styles': [
256
+ name: 'Dosis',
257
+ styles: [
258
258
  '200',
259
259
  '300',
260
260
  '400',
@@ -263,19 +263,19 @@ export const FONTS = [
263
263
  '700',
264
264
  '800'
265
265
  ],
266
- 'category': 'Sans Serif'
266
+ category: 'Sans Serif'
267
267
  },
268
268
  {
269
- 'name': 'PT Sans Narrow',
270
- 'styles': [
269
+ name: 'PT Sans Narrow',
270
+ styles: [
271
271
  '400',
272
272
  '700'
273
273
  ],
274
- 'category': 'Sans Serif'
274
+ category: 'Sans Serif'
275
275
  },
276
276
  {
277
- 'name': 'Raleway',
278
- 'styles': [
277
+ name: 'Raleway',
278
+ styles: [
279
279
  '100',
280
280
  '100i',
281
281
  '200',
@@ -295,11 +295,11 @@ export const FONTS = [
295
295
  '900',
296
296
  '900i'
297
297
  ],
298
- 'category': 'Sans Serif'
298
+ category: 'Sans Serif'
299
299
  },
300
300
  {
301
- 'name': 'Lato',
302
- 'styles': [
301
+ name: 'Lato',
302
+ styles: [
303
303
  '100',
304
304
  '100i',
305
305
  '300',
@@ -311,11 +311,11 @@ export const FONTS = [
311
311
  '900',
312
312
  '900i'
313
313
  ],
314
- 'category': 'Sans Serif'
314
+ category: 'Sans Serif'
315
315
  },
316
316
  {
317
- 'name': 'Open Sans',
318
- 'styles': [
317
+ name: 'Open Sans',
318
+ styles: [
319
319
  '300',
320
320
  '300i',
321
321
  '400',
@@ -327,94 +327,94 @@ export const FONTS = [
327
327
  '800',
328
328
  '800i'
329
329
  ],
330
- 'category': 'Sans Serif'
330
+ category: 'Sans Serif'
331
331
  },
332
332
  {
333
- 'name': 'Bungee',
334
- 'styles': [
333
+ name: 'Bungee',
334
+ styles: [
335
335
  '400'
336
336
  ],
337
- 'category': 'Headings / Display'
337
+ category: 'Headings / Display'
338
338
  },
339
339
  {
340
- 'name': 'Abril Fatface',
341
- 'styles': [
340
+ name: 'Abril Fatface',
341
+ styles: [
342
342
  '400'
343
343
  ],
344
- 'category': 'Headings / Display'
344
+ category: 'Headings / Display'
345
345
  },
346
346
  {
347
- 'name': 'Ultra',
348
- 'styles': [
347
+ name: 'Ultra',
348
+ styles: [
349
349
  '400'
350
350
  ],
351
- 'category': 'Headings / Display'
351
+ category: 'Headings / Display'
352
352
  },
353
353
  {
354
- 'name': 'Lobster Two',
355
- 'styles': [
354
+ name: 'Lobster Two',
355
+ styles: [
356
356
  '400',
357
357
  '400i',
358
358
  '700',
359
359
  '700i'
360
360
  ],
361
- 'category': 'Headings / Display'
361
+ category: 'Headings / Display'
362
362
  },
363
363
  {
364
- 'name': 'Dancing Script',
365
- 'styles': [
364
+ name: 'Dancing Script',
365
+ styles: [
366
366
  '400',
367
367
  '700'
368
368
  ],
369
- 'category': 'Headings / Display'
369
+ category: 'Headings / Display'
370
370
  },
371
371
  {
372
- 'name': 'Caveat',
373
- 'styles': [
372
+ name: 'Caveat',
373
+ styles: [
374
374
  '400',
375
375
  '700'
376
376
  ],
377
- 'category': 'Headings / Display'
377
+ category: 'Headings / Display'
378
378
  },
379
379
  {
380
- 'name': 'Reenie Beanie',
381
- 'styles': [
380
+ name: 'Reenie Beanie',
381
+ styles: [
382
382
  '400'
383
383
  ],
384
- 'category': 'Headings / Display'
384
+ category: 'Headings / Display'
385
385
  },
386
386
  {
387
- 'name': 'Amatica SC',
388
- 'styles': [
387
+ name: 'Amatica SC',
388
+ styles: [
389
389
  '400',
390
390
  '700'
391
391
  ],
392
- 'category': 'Headings / Display'
392
+ category: 'Headings / Display'
393
393
  },
394
394
  {
395
- 'name': 'Kaushan Script',
396
- 'styles': [
395
+ name: 'Kaushan Script',
396
+ styles: [
397
397
  '400'
398
398
  ],
399
- 'category': 'Headings / Display'
399
+ category: 'Headings / Display'
400
400
  },
401
401
  {
402
- 'name': 'Just Another Hand',
403
- 'styles': [
402
+ name: 'Just Another Hand',
403
+ styles: [
404
404
  '400'
405
405
  ],
406
- 'category': 'Headings / Display'
406
+ category: 'Headings / Display'
407
407
  },
408
408
  {
409
- 'name': 'Poiret One',
410
- 'styles': [
409
+ name: 'Poiret One',
410
+ styles: [
411
411
  '400'
412
412
  ],
413
- 'category': 'Headings / Display'
413
+ category: 'Headings / Display'
414
414
  },
415
415
  {
416
- 'name': 'Montserrat',
417
- 'styles': [
416
+ name: 'Montserrat',
417
+ styles: [
418
418
  '100',
419
419
  '100i',
420
420
  '200',
@@ -434,11 +434,11 @@ export const FONTS = [
434
434
  '900',
435
435
  '900i'
436
436
  ],
437
- 'category': 'Regular'
437
+ category: 'Regular'
438
438
  },
439
439
  {
440
- 'name': 'Roboto',
441
- 'styles': [
440
+ name: 'Roboto',
441
+ styles: [
442
442
  '100',
443
443
  '100i',
444
444
  '300',
@@ -452,7 +452,7 @@ export const FONTS = [
452
452
  '900',
453
453
  '900i'
454
454
  ],
455
- 'category': 'Regular'
455
+ category: 'Regular'
456
456
  }
457
457
  ];
458
458
 
package/lib/Wysiwyg.vue CHANGED
@@ -23,7 +23,7 @@ import { useEditor } from './composables';
23
23
  import { buildExtensions } from './extensions';
24
24
  import { InjectionTokens } from './injectionTokens';
25
25
  import { ContextWindow, FavoriteColors, Storage } from './services';
26
- import { Devices } from './enums';
26
+ import { Device } from './enums';
27
27
  import { Font, type IFontJson } from './models';
28
28
 
29
29
  const props = defineProps({
@@ -63,9 +63,9 @@ const props = defineProps({
63
63
  },
64
64
 
65
65
  device: {
66
- type: String,
66
+ type: String as PropType<Device>,
67
67
  required: false,
68
- default: Devices.DESKTOP
68
+ default: Device.DESKTOP
69
69
  },
70
70
 
71
71
  favoriteColors: {
@@ -1,18 +1,18 @@
1
1
  import { Mark } from '@tiptap/vue-3';
2
- import { buildCoreExtensions } from '../../extensions/core';
3
- import { MarkGroups, TextSettings } from '../../enums';
2
+ import { buildCoreExtensions } from '@/extensions/core';
3
+ import { MarkGroup, TextSetting } from '@/enums';
4
4
 
5
5
  // each node allows using 'settings' group of marks,
6
6
  // and it fails when there are no nodes with this group
7
7
  const SettingMark = Mark.create({
8
8
  name: 'placeholder_setting',
9
- group: MarkGroups.SETTINGS,
9
+ group: MarkGroup.SETTINGS,
10
10
  renderHTML: () => []
11
11
  });
12
12
 
13
13
  // NodeProcessor requires link mark
14
14
  const LinkMark = Mark.create({
15
- name: TextSettings.LINK,
15
+ name: TextSetting.LINK,
16
16
  renderHTML: () => []
17
17
  });
18
18
 
@@ -22,13 +22,13 @@ export function buildTestExtensions({ include } = {}) {
22
22
  const extensions = buildCoreExtensions().concat(include || []);
23
23
 
24
24
  const isSettingPreset = extensions.some((extension) => {
25
- return isMark(extension) && extension.config.group === MarkGroups.SETTINGS;
25
+ return isMark(extension) && extension.config.group === MarkGroup.SETTINGS;
26
26
  });
27
27
 
28
28
  if (!isSettingPreset) extensions.push(SettingMark);
29
29
 
30
30
  const isLinkPreset = extensions.some((extension) => {
31
- return isMark(extension) && extension.name === TextSettings.LINK;
31
+ return isMark(extension) && extension.name === TextSetting.LINK;
32
32
  });
33
33
 
34
34
  if (!isLinkPreset) extensions.push(LinkMark);
@@ -15,7 +15,7 @@
15
15
 
16
16
  <script setup>
17
17
  import { computed } from 'vue';
18
- import { Devices } from '../../enums';
18
+ import { Device } from '@/enums';
19
19
  import { ToolbarDesktop, ToolbarMobile, ToolbarPopup } from './layouts';
20
20
  import ToolbarFloating from './ToolbarFloating';
21
21
 
@@ -56,7 +56,7 @@ const props = defineProps({
56
56
  const layoutComponent = computed(() => {
57
57
  if (props.popupMode) return ToolbarPopup;
58
58
 
59
- return props.device === Devices.MOBILE ? ToolbarMobile : ToolbarDesktop;
59
+ return props.device === Device.MOBILE ? ToolbarMobile : ToolbarDesktop;
60
60
  });
61
61
  </script>
62
62
 
@@ -1,5 +1,5 @@
1
1
  import { shallowMount } from '@vue/test-utils';
2
- import { Devices } from '../../../enums';
2
+ import { Device } from '@/enums';
3
3
  import Toolbar from '../Toolbar';
4
4
  import { ToolbarMobile, ToolbarDesktop, ToolbarPopup } from '../layouts';
5
5
 
@@ -9,7 +9,7 @@ function createComponent({ device, popupMode }) {
9
9
  visible: true,
10
10
  offsets: [0, 8],
11
11
  referenceRef: document.createElement('div'),
12
- device: device ?? Devices.DESKTOP,
12
+ device: device ?? Device.DESKTOP,
13
13
  placement: 'bottom',
14
14
  popupMode: popupMode ?? false
15
15
  }
@@ -18,19 +18,19 @@ function createComponent({ device, popupMode }) {
18
18
 
19
19
  describe('rendering', () => {
20
20
  test('should render desktop toolbar', () => {
21
- const wrapper = createComponent({ device: Devices.DESKTOP });
21
+ const wrapper = createComponent({ device: Device.DESKTOP });
22
22
 
23
23
  expect(wrapper).toVueContainComponent(ToolbarDesktop);
24
24
  });
25
25
 
26
26
  test('should render tablet toolbar', () => {
27
- const wrapper = createComponent({ device: Devices.TABLET });
27
+ const wrapper = createComponent({ device: Device.TABLET });
28
28
 
29
29
  expect(wrapper).toVueContainComponent(ToolbarDesktop);
30
30
  });
31
31
 
32
32
  test('should render mobile toolbar', () => {
33
- const wrapper = createComponent({ device: Devices.MOBILE });
33
+ const wrapper = createComponent({ device: Device.MOBILE });
34
34
 
35
35
  expect(wrapper).toVueContainComponent(ToolbarMobile);
36
36
  });
@@ -25,8 +25,8 @@
25
25
 
26
26
  <script setup>
27
27
  import { inject } from 'vue';
28
- import { InjectionTokens } from '../../../injectionTokens';
29
- import { Alignments, TextSettings } from '../../../enums';
28
+ import { InjectionTokens } from '@/injectionTokens';
29
+ import { Alignment, TextSetting } from '@/enums';
30
30
  import { ButtonToggle, Button, Icon } from '../../base';
31
31
  import { tooltip as vTooltip } from '../../../directives';
32
32
 
@@ -34,19 +34,19 @@ const emit = defineEmits(['applied']);
34
34
 
35
35
  const alignments = [
36
36
  {
37
- id: Alignments.LEFT,
37
+ id: Alignment.LEFT,
38
38
  tooltip: { text: 'Align Left', hotkey: 'Mod Shift L' }
39
39
  },
40
40
  {
41
- id: Alignments.CENTER,
41
+ id: Alignment.CENTER,
42
42
  tooltip: { text: 'Align Center', hotkey: 'Mod Shift E' }
43
43
  },
44
44
  {
45
- id: Alignments.RIGHT,
45
+ id: Alignment.RIGHT,
46
46
  tooltip: { text: 'Align Right', hotkey: 'Mod Shift R' }
47
47
  },
48
48
  {
49
- id: Alignments.JUSTIFY,
49
+ id: Alignment.JUSTIFY,
50
50
  tooltip: { text: 'Justify', hotkey: 'Mod Shift J' }
51
51
  }
52
52
  ];
@@ -54,7 +54,7 @@ const alignments = [
54
54
  const editor = inject(InjectionTokens.EDITOR);
55
55
  const currentValue = editor.commands.getAlignment();
56
56
 
57
- const isCustomized = editor.commands.isSettingCustomized(TextSettings.ALIGNMENT);
57
+ const isCustomized = editor.commands.isSettingCustomized(TextSetting.ALIGNMENT);
58
58
 
59
59
  function toggle(value) {
60
60
  editor.chain().focus().applyAlignment(value).run();
@@ -16,15 +16,15 @@
16
16
 
17
17
  <script setup>
18
18
  import { inject } from 'vue';
19
- import { CaseStyles } from '../../../enums';
19
+ import { CaseStyle } from '@/enums';
20
+ import { InjectionTokens } from '@/injectionTokens';
20
21
  import { Dropdown, Button, Icon } from '../../base';
21
- import { InjectionTokens } from '../../../injectionTokens';
22
22
  import { tooltip as vTooltip } from '../../../directives';
23
23
 
24
24
  const styles = [
25
- { id: CaseStyles.UPPERCASE, title: 'UPPERCASE' },
26
- { id: CaseStyles.LOWERCASE, title: 'lowercase' },
27
- { id: CaseStyles.CAPITALIZE, title: 'Capitalize' }
25
+ { id: CaseStyle.UPPERCASE, title: 'UPPERCASE' },
26
+ { id: CaseStyle.LOWERCASE, title: 'lowercase' },
27
+ { id: CaseStyle.CAPITALIZE, title: 'Capitalize' }
28
28
  ];
29
29
 
30
30
  const editor = inject(InjectionTokens.EDITOR);
@@ -27,12 +27,12 @@ import { inject } from 'vue';
27
27
  import { ColorPicker, Button, Icon } from '../../base';
28
28
  import { InjectionTokens } from '../../../injectionTokens';
29
29
  import { tooltip as vTooltip } from '../../../directives';
30
- import { TextSettings } from '../../../enums';
30
+ import { TextSetting } from '../../../enums';
31
31
 
32
32
  const editor = inject(InjectionTokens.EDITOR);
33
33
 
34
34
  const currentValue = editor.commands.getFontColor();
35
- const isCustomized = editor.commands.isSettingCustomized(TextSettings.FONT_COLOR);
35
+ const isCustomized = editor.commands.isSettingCustomized(TextSetting.FONT_COLOR);
36
36
 
37
37
  const apply = (color) => editor.chain().applyFontColor(color).run();
38
38
  </script>