@zipify/wysiwyg 4.12.0-beta.2 → 4.12.0-beta.3

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 (48) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +27 -27
  3. package/dist/node.js +21 -21
  4. package/dist/types/enums/Device.d.ts +2 -1
  5. package/dist/types/enums/TextSetting.d.ts +0 -1
  6. package/dist/types/services/NodeFactory.d.ts +1 -1
  7. package/dist/types/utils/clone.d.ts +1 -0
  8. package/dist/types/utils/index.d.ts +1 -1
  9. package/dist/wysiwyg.css +28 -46
  10. package/dist/wysiwyg.mjs +184 -326
  11. package/example/ExampleApp.vue +6 -3
  12. package/example/presets.js +203 -227
  13. package/lib/components/base/NumberField.vue +2 -2
  14. package/lib/components/toolbar/controls/index.js +0 -1
  15. package/lib/components/toolbar/layouts/ToolbarDesktop.vue +0 -2
  16. package/lib/components/toolbar/layouts/ToolbarMobile.vue +0 -2
  17. package/lib/enums/Device.ts +2 -1
  18. package/lib/enums/TextSetting.ts +0 -2
  19. package/lib/extensions/Alignment.js +3 -2
  20. package/lib/extensions/DeviceManager.js +20 -3
  21. package/lib/extensions/FontSize.js +12 -6
  22. package/lib/extensions/LineHeight.js +3 -2
  23. package/lib/extensions/__tests__/Alignment.test.js +14 -2
  24. package/lib/extensions/__tests__/FontSize.test.js +14 -2
  25. package/lib/extensions/__tests__/LineHeight.test.js +14 -2
  26. package/lib/extensions/__tests__/__snapshots__/Alignment.test.js.snap +27 -0
  27. package/lib/extensions/__tests__/__snapshots__/FontSize.test.js.snap +30 -0
  28. package/lib/extensions/__tests__/__snapshots__/LineHeight.test.js.snap +27 -0
  29. package/lib/extensions/core/NodeProcessor.js +4 -2
  30. package/lib/extensions/core/__tests__/NodeProcessor.test.js +10 -1
  31. package/lib/extensions/index.js +0 -2
  32. package/lib/services/NodeFactory.ts +1 -1
  33. package/lib/styles/content.css +0 -3
  34. package/lib/utils/clone.ts +3 -0
  35. package/lib/utils/convertFontSize.js +7 -2
  36. package/lib/utils/index.ts +1 -1
  37. package/package.json +3 -2
  38. package/dist/types/components/toolbar/controls/LetterSpacingControl.vue.d.ts +0 -2
  39. package/dist/types/extensions/LetterSpacing.d.ts +0 -2
  40. package/dist/types/utils/convertEmToPx.d.ts +0 -1
  41. package/dist/types/utils/convertLetterSpacing.d.ts +0 -1
  42. package/lib/assets/icons/letter-spacing.svg +0 -3
  43. package/lib/components/toolbar/controls/LetterSpacingControl.vue +0 -96
  44. package/lib/extensions/LetterSpacing.js +0 -78
  45. package/lib/extensions/__tests__/LetterSpacing.test.js +0 -117
  46. package/lib/extensions/__tests__/__snapshots__/LetterSpacing.test.js.snap +0 -121
  47. package/lib/utils/convertEmToPx.ts +0 -8
  48. package/lib/utils/convertLetterSpacing.ts +0 -5
@@ -2,6 +2,7 @@ export declare enum Device {
2
2
  COMMON = "common",
3
3
  DESKTOP = "desktop",
4
4
  TABLET = "tablet",
5
- MOBILE = "mobile"
5
+ MOBILE = "mobile",
6
+ ALL = "all"
6
7
  }
7
8
  export declare const DeviceList: Device[];
@@ -7,7 +7,6 @@ export declare enum TextSetting {
7
7
  FONT_STYLE = "font_style",
8
8
  FONT_WEIGHT = "font_weight",
9
9
  LINE_HEIGHT = "line_height",
10
- LETTER_SPACING = "letter_spacing",
11
10
  TEXT_DECORATION = "text_decoration",
12
11
  SUPERSCRIPT = "superscript",
13
12
  MARGIN = "margin",
@@ -24,5 +24,5 @@ export declare class NodeFactory {
24
24
  static text(text: string, marks?: MarkJSON[]): JSONContent;
25
25
  static link(text: string, attrs: ILinkMarkAttrs, marks?: MarkJSON[]): JSONContent;
26
26
  static mark(type: string, attrs: AttrsJSON): MarkJSON;
27
- static populateAllDevices<V>(value: V): Record<Exclude<Device, Device.COMMON>, V>;
27
+ static populateAllDevices<V>(value: V): Record<Exclude<Device, Device.COMMON | Device.ALL>, V>;
28
28
  }
@@ -0,0 +1 @@
1
+ export declare function clone<T>(value: T): T;
@@ -5,7 +5,6 @@ export { createKeyboardShortcut } from './createKeyboardShortcut';
5
5
  export { convertColor } from './convertColor';
6
6
  export { convertLineHeight } from './convertLineHeight';
7
7
  export { convertFontSize } from './convertFontSize';
8
- export { convertLetterSpacing } from './convertLetterSpacing';
9
8
  export { convertAlignment } from './convertAlignment';
10
9
  export { importIcon } from './importIcon';
11
10
  export { isWysiwygContent } from './isWysiwygContent';
@@ -15,3 +14,4 @@ export { isNodeFullySelected } from './isNodeFullySelected';
15
14
  export { isMarkAppliedToParent } from './isMarkAppliedToParent';
16
15
  export { findMarkByType } from './findMarkByType';
17
16
  export { copyMark } from './copyMark';
17
+ export { clone } from './clone';
package/dist/wysiwyg.css CHANGED
@@ -249,7 +249,7 @@
249
249
  --zw-range-thumb-box-shadow: 0 0 0 12px rgba(240, 240, 240, 0.15);
250
250
  }
251
251
 
252
- .zw-number-field[data-v-962cf185] {
252
+ .zw-number-field[data-v-e462abc1] {
253
253
  --border-color: rgb(var(--zw-color-n60));
254
254
  --text-color: rgb(var(--zw-color-n85));
255
255
  --buttons-color: rgb(var(--zw-color-n70));
@@ -259,16 +259,16 @@
259
259
  align-items: stretch;
260
260
  display: flex;
261
261
  }
262
- .zw-number-field[data-v-962cf185]:hover {
262
+ .zw-number-field[data-v-e462abc1]:hover {
263
263
  --border-color: rgb(var(--zw-color-n80));
264
264
  --text-color: rgb(var(--zw-color-n85));
265
265
  }
266
- .zw-number-field[data-v-962cf185]:focus,
267
- .zw-number-field[data-v-962cf185]:focus-within {
266
+ .zw-number-field[data-v-e462abc1]:focus,
267
+ .zw-number-field[data-v-e462abc1]:focus-within {
268
268
  --border-color: rgb(var(--zw-color-white));
269
269
  --text-color: rgb(var(--zw-color-white));
270
270
  }
271
- .zw-number-field__input[data-v-962cf185] {
271
+ .zw-number-field__input[data-v-e462abc1] {
272
272
  color: var(--text-color);
273
273
  background-color: rgb(var(--zw-color-n15));
274
274
  border: 0;
@@ -279,69 +279,69 @@
279
279
  font-size: var(--zw-font-size-xs);
280
280
  -moz-appearance: textfield;
281
281
  }
282
- .zw-number-field__buttons[data-v-962cf185] {
282
+ .zw-number-field__buttons[data-v-e462abc1] {
283
283
  display: none;
284
284
  flex-direction: column;
285
285
  height: 100%;
286
286
  }
287
- .zw-number-field:hover .zw-number-field__buttons[data-v-962cf185],
288
- .zw-number-field:focus .zw-number-field__buttons[data-v-962cf185],
289
- .zw-number-field:focus-within .zw-number-field__buttons[data-v-962cf185] {
287
+ .zw-number-field:hover .zw-number-field__buttons[data-v-e462abc1],
288
+ .zw-number-field:focus .zw-number-field__buttons[data-v-e462abc1],
289
+ .zw-number-field:focus-within .zw-number-field__buttons[data-v-e462abc1] {
290
290
  display: flex;
291
291
  }
292
- .zw-number-field__input[data-v-962cf185]::placeholder {
292
+ .zw-number-field__input[data-v-e462abc1]::placeholder {
293
293
  color: var(--text-color);
294
294
  }
295
- .zw-number-field__input[data-v-962cf185]::-webkit-outer-spin-button,
296
- .zw-number-field__input[data-v-962cf185]::-webkit-inner-spin-button {
295
+ .zw-number-field__input[data-v-e462abc1]::-webkit-outer-spin-button,
296
+ .zw-number-field__input[data-v-e462abc1]::-webkit-inner-spin-button {
297
297
  color: var(--text-color);
298
298
  -webkit-appearance: none;
299
299
  }
300
- .zw-number-field__controls[data-v-962cf185] {
300
+ .zw-number-field__controls[data-v-e462abc1] {
301
301
  min-width: var(--zw-offset-sm);
302
302
  }
303
- .zw-number-field--disabled[data-v-962cf185] {
303
+ .zw-number-field--disabled[data-v-e462abc1] {
304
304
  opacity: 0.5;
305
305
  }
306
- .zw-number-field--disabled[data-v-962cf185],
307
- .zw-number-field--disabled .zw-number-field__input[data-v-962cf185] {
306
+ .zw-number-field--disabled[data-v-e462abc1],
307
+ .zw-number-field--disabled .zw-number-field__input[data-v-e462abc1] {
308
308
  cursor: not-allowed;
309
309
  }
310
- .zw-number-field__increment-button[data-v-962cf185],
311
- .zw-number-field__decrement-button[data-v-962cf185] {
310
+ .zw-number-field__increment-button[data-v-e462abc1],
311
+ .zw-number-field__decrement-button[data-v-e462abc1] {
312
312
  width: 100%;
313
313
  height: 50%;
314
314
  display: flex;
315
315
  align-items: center;
316
316
  justify-content: center;
317
317
  }
318
- .zw-number-field__increment-button[data-v-962cf185]::after,
319
- .zw-number-field__decrement-button[data-v-962cf185]::after {
318
+ .zw-number-field__increment-button[data-v-e462abc1]::after,
319
+ .zw-number-field__decrement-button[data-v-e462abc1]::after {
320
320
  content: "";
321
321
  border-left: 3px solid transparent;
322
322
  border-right: 3px solid transparent;
323
323
  }
324
- .zw-number-field__increment-button[data-v-962cf185]::after {
324
+ .zw-number-field__increment-button[data-v-e462abc1]::after {
325
325
  border-bottom: 3px solid var(--buttons-color);
326
326
  }
327
- .zw-number-field__decrement-button[data-v-962cf185]::after {
327
+ .zw-number-field__decrement-button[data-v-e462abc1]::after {
328
328
  border-top: 3px solid var(--buttons-color);
329
329
  }
330
- .zw-number-field__increment-button[data-v-962cf185]:hover,
331
- .zw-number-field__decrement-button[data-v-962cf185]:hover {
330
+ .zw-number-field__increment-button[data-v-e462abc1]:hover,
331
+ .zw-number-field__decrement-button[data-v-e462abc1]:hover {
332
332
  background-color: rgb(var(--zw-color-n20));
333
333
  --buttons-color: rgb(var(--zw-color-white));
334
334
  }
335
- .zw-number-field__units[data-v-962cf185] {
335
+ .zw-number-field__units[data-v-e462abc1] {
336
336
  color: rgb(var(--zw-color-n70));
337
337
  font-size: var(--zw-font-size-xs);
338
+ line-height: var(--zw-line-height-md);
338
339
  text-align: center;
339
340
  display: inline-block;
340
341
  width: 100%;
341
- vertical-align: middle;
342
342
  }
343
- .zw-number-field:hover .zw-number-field__units[data-v-962cf185],
344
- .zw-number-field:has(:focus, :active) .zw-number-field__units[data-v-962cf185] {
343
+ .zw-number-field:hover .zw-number-field__units[data-v-e462abc1],
344
+ .zw-number-field:focus .zw-number-field__units[data-v-e462abc1] {
345
345
  display: none;
346
346
  }
347
347
 
@@ -577,21 +577,6 @@
577
577
  margin-left: var(--zw-offset-sm);
578
578
  }
579
579
 
580
- .zw-letter-spacing-control__modal[data-v-62d3e8b2] {
581
- padding: var(--zw-offset-sm);
582
- }
583
- .zw-letter-spacing-control__row[data-v-62d3e8b2] {
584
- display: flex;
585
- align-items: center;
586
- }
587
- .zw-letter-spacing-control__range[data-v-62d3e8b2] {
588
- width: 156px;
589
- }
590
- .zw-letter-spacing-control__field[data-v-62d3e8b2] {
591
- width: 64px;
592
- margin-left: var(--zw-offset-sm);
593
- }
594
-
595
580
  .zpa-list-control[data-v-55962f5e] {
596
581
  display: flex;
597
582
  }
@@ -836,7 +821,6 @@ h4.zw-style.zw-style.zw-style {
836
821
  font-size: var(--zw-font-size-desktop, var(--zw-preset-font-size-desktop));
837
822
  text-align: var(--zw-alignment-desktop, var(--zw-preset-alignment-desktop));
838
823
  line-height: var(--zw-line-height-desktop, var(--zw-preset-line-height-desktop));
839
- letter-spacing: var(--zw-letter-spacing-desktop, var(--zw-preset-letter-spacing-desktop));
840
824
  }
841
825
  }
842
826
  @media (min-width: 769px) and (max-width: 1199.98px) {
@@ -844,7 +828,6 @@ h4.zw-style.zw-style.zw-style {
844
828
  font-size: var(--zw-font-size-tablet, var(--zw-preset-font-size-tablet));
845
829
  text-align: var(--zw-alignment-tablet, var(--zw-preset-alignment-tablet));
846
830
  line-height: var(--zw-line-height-tablet, var(--zw-preset-line-height-tablet));
847
- letter-spacing: var(--zw-letter-spacing-tablet, var(--zw-preset-letter-spacing-tablet));
848
831
  }
849
832
  }
850
833
  @media (max-width: 768.98px) {
@@ -852,7 +835,6 @@ h4.zw-style.zw-style.zw-style {
852
835
  font-size: var(--zw-font-size-mobile, var(--zw-preset-font-size-mobile));
853
836
  text-align: var(--zw-alignment-mobile, var(--zw-preset-alignment-mobile));
854
837
  line-height: var(--zw-line-height-mobile, var(--zw-preset-line-height-mobile));
855
- letter-spacing: var(--zw-letter-spacing-mobile, var(--zw-preset-letter-spacing-mobile));
856
838
  }
857
839
  }
858
840