@elementor/editor-canvas 0.2.0 → 0.4.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 (38) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/CHANGELOG.md +37 -0
  3. package/dist/index.js +152 -106
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +150 -104
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +9 -9
  8. package/src/__tests__/init-styles-renderer.test.ts +1 -1
  9. package/src/init-styles-renderer.ts +1 -1
  10. package/src/styles-renderer/__tests__/__mocks__/styles-schema.ts +733 -0
  11. package/src/styles-renderer/__tests__/index.test.ts +537 -72
  12. package/src/styles-renderer/get-styles-schema.ts +17 -0
  13. package/src/styles-renderer/multi-props.ts +26 -0
  14. package/src/styles-renderer/render.ts +10 -12
  15. package/src/styles-renderer/resolve.ts +99 -0
  16. package/src/styles-renderer/transformers/background-overlay-transformer.ts +3 -7
  17. package/src/styles-renderer/transformers/create-combine-array-transformer.ts +4 -15
  18. package/src/styles-renderer/transformers/create-corner-sizes-transformer.ts +33 -0
  19. package/src/styles-renderer/transformers/create-edge-sizes-transformer.ts +31 -0
  20. package/src/styles-renderer/transformers/gap-transformer.ts +20 -0
  21. package/src/styles-renderer/transformers/index.ts +19 -10
  22. package/src/styles-renderer/transformers/linked-dimensions-transformer.ts +13 -8
  23. package/src/styles-renderer/transformers/primitive-transformer.ts +7 -0
  24. package/src/styles-renderer/transformers/shadow-transformer.ts +5 -16
  25. package/src/styles-renderer/transformers/size-transformer.ts +3 -5
  26. package/src/styles-renderer/transformers/stroke-transformer.ts +3 -5
  27. package/src/styles-renderer/types.ts +3 -6
  28. package/src/styles-renderer/__tests__/__mocks__/style-definitions.ts +0 -171
  29. package/src/styles-renderer/transform.ts +0 -34
  30. package/src/styles-renderer/transformers/__tests__/background-overlay-transformer.test.ts +0 -46
  31. package/src/styles-renderer/transformers/__tests__/create-combine-array-transformer.test.ts +0 -61
  32. package/src/styles-renderer/transformers/__tests__/linked-dimensions-transformer.test.ts +0 -34
  33. package/src/styles-renderer/transformers/__tests__/shadow-transformer.test.ts +0 -127
  34. package/src/styles-renderer/transformers/__tests__/size-transformer.test.ts +0 -37
  35. package/src/styles-renderer/transformers/__tests__/stroke-transformer.test.ts +0 -59
  36. package/src/styles-renderer/transformers/border-radius-transformer.ts +0 -20
  37. package/src/styles-renderer/transformers/border-width-transformer.ts +0 -15
  38. package/src/styles-renderer/transformers/color-transformer.ts +0 -11
@@ -0,0 +1,733 @@
1
+ import { type PropsSchema } from '@elementor/editor-elements';
2
+
3
+ export const stylesSchemaMock = {
4
+ 'font-size': {
5
+ kind: 'object',
6
+ key: 'size',
7
+ default: null,
8
+ meta: {},
9
+ settings: {},
10
+ shape: {
11
+ size: {
12
+ kind: 'plain',
13
+ key: 'number',
14
+ default: null,
15
+ meta: {},
16
+ settings: {
17
+ required: true,
18
+ },
19
+ },
20
+ unit: {
21
+ kind: 'plain',
22
+ key: 'string',
23
+ default: null,
24
+ meta: {},
25
+ settings: {
26
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
27
+ required: true,
28
+ },
29
+ },
30
+ },
31
+ },
32
+ 'text-stroke': {
33
+ kind: 'object',
34
+ key: 'stroke',
35
+ default: null,
36
+ meta: {},
37
+ settings: {},
38
+ shape: {
39
+ color: {
40
+ kind: 'plain',
41
+ key: 'color',
42
+ default: null,
43
+ meta: {},
44
+ settings: {},
45
+ },
46
+ width: {
47
+ kind: 'object',
48
+ key: 'size',
49
+ default: null,
50
+ meta: {},
51
+ settings: {},
52
+ shape: {
53
+ size: {
54
+ kind: 'plain',
55
+ key: 'number',
56
+ default: null,
57
+ meta: {},
58
+ settings: {
59
+ required: true,
60
+ },
61
+ },
62
+ unit: {
63
+ kind: 'plain',
64
+ key: 'string',
65
+ default: null,
66
+ meta: {},
67
+ settings: {
68
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
69
+ required: true,
70
+ },
71
+ },
72
+ },
73
+ },
74
+ },
75
+ },
76
+ padding: {
77
+ kind: 'object',
78
+ key: 'linked-dimensions',
79
+ default: null,
80
+ meta: {},
81
+ settings: {},
82
+ shape: {
83
+ isLinked: {
84
+ kind: 'plain',
85
+ key: 'boolean',
86
+ default: null,
87
+ meta: {},
88
+ settings: {},
89
+ },
90
+ top: {
91
+ kind: 'object',
92
+ key: 'size',
93
+ default: null,
94
+ meta: {},
95
+ settings: {},
96
+ shape: {
97
+ size: {
98
+ kind: 'plain',
99
+ key: 'number',
100
+ default: null,
101
+ meta: {},
102
+ settings: {
103
+ required: true,
104
+ },
105
+ },
106
+ unit: {
107
+ kind: 'plain',
108
+ key: 'string',
109
+ default: null,
110
+ meta: {},
111
+ settings: {
112
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
113
+ required: true,
114
+ },
115
+ },
116
+ },
117
+ },
118
+ right: {
119
+ kind: 'object',
120
+ key: 'size',
121
+ default: null,
122
+ meta: {},
123
+ settings: {},
124
+ shape: {
125
+ size: {
126
+ kind: 'plain',
127
+ key: 'number',
128
+ default: null,
129
+ meta: {},
130
+ settings: {
131
+ required: true,
132
+ },
133
+ },
134
+ unit: {
135
+ kind: 'plain',
136
+ key: 'string',
137
+ default: null,
138
+ meta: {},
139
+ settings: {
140
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
141
+ required: true,
142
+ },
143
+ },
144
+ },
145
+ },
146
+ bottom: {
147
+ kind: 'object',
148
+ key: 'size',
149
+ default: null,
150
+ meta: {},
151
+ settings: {},
152
+ shape: {
153
+ size: {
154
+ kind: 'plain',
155
+ key: 'number',
156
+ default: null,
157
+ meta: {},
158
+ settings: {
159
+ required: true,
160
+ },
161
+ },
162
+ unit: {
163
+ kind: 'plain',
164
+ key: 'string',
165
+ default: null,
166
+ meta: {},
167
+ settings: {
168
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
169
+ required: true,
170
+ },
171
+ },
172
+ },
173
+ },
174
+ left: {
175
+ kind: 'object',
176
+ key: 'size',
177
+ default: null,
178
+ meta: {},
179
+ settings: {},
180
+ shape: {
181
+ size: {
182
+ kind: 'plain',
183
+ key: 'number',
184
+ default: null,
185
+ meta: {},
186
+ settings: {
187
+ required: true,
188
+ },
189
+ },
190
+ unit: {
191
+ kind: 'plain',
192
+ key: 'string',
193
+ default: null,
194
+ meta: {},
195
+ settings: {
196
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
197
+ required: true,
198
+ },
199
+ },
200
+ },
201
+ },
202
+ },
203
+ },
204
+ 'border-radius': {
205
+ kind: 'union',
206
+ default: null,
207
+ meta: {},
208
+ settings: {},
209
+ prop_types: {
210
+ size: {
211
+ kind: 'object',
212
+ key: 'size',
213
+ default: null,
214
+ meta: {},
215
+ settings: {},
216
+ shape: {
217
+ size: {
218
+ kind: 'plain',
219
+ key: 'number',
220
+ default: null,
221
+ meta: {},
222
+ settings: {
223
+ required: true,
224
+ },
225
+ },
226
+ unit: {
227
+ kind: 'plain',
228
+ key: 'string',
229
+ default: null,
230
+ meta: {},
231
+ settings: {
232
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
233
+ required: true,
234
+ },
235
+ },
236
+ },
237
+ },
238
+ 'border-radius': {
239
+ kind: 'object',
240
+ key: 'border-radius',
241
+ default: null,
242
+ meta: {},
243
+ settings: {},
244
+ shape: {
245
+ 'top-left': {
246
+ kind: 'object',
247
+ key: 'size',
248
+ default: null,
249
+ meta: {},
250
+ settings: {},
251
+ shape: {
252
+ size: {
253
+ kind: 'plain',
254
+ key: 'number',
255
+ default: null,
256
+ meta: {},
257
+ settings: {
258
+ required: true,
259
+ },
260
+ },
261
+ unit: {
262
+ kind: 'plain',
263
+ key: 'string',
264
+ default: null,
265
+ meta: {},
266
+ settings: {
267
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
268
+ required: true,
269
+ },
270
+ },
271
+ },
272
+ },
273
+ 'top-right': {
274
+ kind: 'object',
275
+ key: 'size',
276
+ default: null,
277
+ meta: {},
278
+ settings: {},
279
+ shape: {
280
+ size: {
281
+ kind: 'plain',
282
+ key: 'number',
283
+ default: null,
284
+ meta: {},
285
+ settings: {
286
+ required: true,
287
+ },
288
+ },
289
+ unit: {
290
+ kind: 'plain',
291
+ key: 'string',
292
+ default: null,
293
+ meta: {},
294
+ settings: {
295
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
296
+ required: true,
297
+ },
298
+ },
299
+ },
300
+ },
301
+ 'bottom-right': {
302
+ kind: 'object',
303
+ key: 'size',
304
+ default: null,
305
+ meta: {},
306
+ settings: {},
307
+ shape: {
308
+ size: {
309
+ kind: 'plain',
310
+ key: 'number',
311
+ default: null,
312
+ meta: {},
313
+ settings: {
314
+ required: true,
315
+ },
316
+ },
317
+ unit: {
318
+ kind: 'plain',
319
+ key: 'string',
320
+ default: null,
321
+ meta: {},
322
+ settings: {
323
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
324
+ required: true,
325
+ },
326
+ },
327
+ },
328
+ },
329
+ 'bottom-left': {
330
+ kind: 'object',
331
+ key: 'size',
332
+ default: null,
333
+ meta: {},
334
+ settings: {},
335
+ shape: {
336
+ size: {
337
+ kind: 'plain',
338
+ key: 'number',
339
+ default: null,
340
+ meta: {},
341
+ settings: {
342
+ required: true,
343
+ },
344
+ },
345
+ unit: {
346
+ kind: 'plain',
347
+ key: 'string',
348
+ default: null,
349
+ meta: {},
350
+ settings: {
351
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
352
+ required: true,
353
+ },
354
+ },
355
+ },
356
+ },
357
+ },
358
+ },
359
+ },
360
+ },
361
+ 'border-width': {
362
+ kind: 'object',
363
+ key: 'border-width',
364
+ default: null,
365
+ meta: {},
366
+ settings: {},
367
+ shape: {
368
+ top: {
369
+ kind: 'object',
370
+ key: 'size',
371
+ default: null,
372
+ meta: {},
373
+ settings: {},
374
+ shape: {
375
+ size: {
376
+ kind: 'plain',
377
+ key: 'number',
378
+ default: null,
379
+ meta: {},
380
+ settings: {
381
+ required: true,
382
+ },
383
+ },
384
+ unit: {
385
+ kind: 'plain',
386
+ key: 'string',
387
+ default: null,
388
+ meta: {},
389
+ settings: {
390
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
391
+ required: true,
392
+ },
393
+ },
394
+ },
395
+ },
396
+ right: {
397
+ kind: 'object',
398
+ key: 'size',
399
+ default: null,
400
+ meta: {},
401
+ settings: {},
402
+ shape: {
403
+ size: {
404
+ kind: 'plain',
405
+ key: 'number',
406
+ default: null,
407
+ meta: {},
408
+ settings: {
409
+ required: true,
410
+ },
411
+ },
412
+ unit: {
413
+ kind: 'plain',
414
+ key: 'string',
415
+ default: null,
416
+ meta: {},
417
+ settings: {
418
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
419
+ required: true,
420
+ },
421
+ },
422
+ },
423
+ },
424
+ bottom: {
425
+ kind: 'object',
426
+ key: 'size',
427
+ default: null,
428
+ meta: {},
429
+ settings: {},
430
+ shape: {
431
+ size: {
432
+ kind: 'plain',
433
+ key: 'number',
434
+ default: null,
435
+ meta: {},
436
+ settings: {
437
+ required: true,
438
+ },
439
+ },
440
+ unit: {
441
+ kind: 'plain',
442
+ key: 'string',
443
+ default: null,
444
+ meta: {},
445
+ settings: {
446
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
447
+ required: true,
448
+ },
449
+ },
450
+ },
451
+ },
452
+ left: {
453
+ kind: 'object',
454
+ key: 'size',
455
+ default: null,
456
+ meta: {},
457
+ settings: {},
458
+ shape: {
459
+ size: {
460
+ kind: 'plain',
461
+ key: 'number',
462
+ default: null,
463
+ meta: {},
464
+ settings: {
465
+ required: true,
466
+ },
467
+ },
468
+ unit: {
469
+ kind: 'plain',
470
+ key: 'string',
471
+ default: null,
472
+ meta: {},
473
+ settings: {
474
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
475
+ required: true,
476
+ },
477
+ },
478
+ },
479
+ },
480
+ },
481
+ },
482
+ 'background-image': {
483
+ kind: 'array',
484
+ key: 'background-image',
485
+ default: null,
486
+ meta: {},
487
+ settings: {},
488
+ item_prop_type: {
489
+ kind: 'object',
490
+ key: 'background-overlay',
491
+ default: null,
492
+ meta: {},
493
+ settings: {},
494
+ shape: {
495
+ color: {
496
+ kind: 'plain',
497
+ key: 'color',
498
+ default: null,
499
+ meta: {},
500
+ settings: {
501
+ required: true,
502
+ },
503
+ },
504
+ },
505
+ },
506
+ },
507
+ 'box-shadow': {
508
+ kind: 'array',
509
+ key: 'box-shadow',
510
+ default: null,
511
+ meta: {},
512
+ settings: {},
513
+ item_prop_type: {
514
+ kind: 'object',
515
+ key: 'shadow',
516
+ default: null,
517
+ meta: {},
518
+ settings: {},
519
+ shape: {
520
+ hOffset: {
521
+ kind: 'object',
522
+ key: 'size',
523
+ default: null,
524
+ meta: {},
525
+ settings: {
526
+ required: true,
527
+ },
528
+ shape: {
529
+ size: {
530
+ kind: 'plain',
531
+ key: 'number',
532
+ default: null,
533
+ meta: {},
534
+ settings: {
535
+ required: true,
536
+ },
537
+ },
538
+ unit: {
539
+ kind: 'plain',
540
+ key: 'string',
541
+ default: null,
542
+ meta: {},
543
+ settings: {
544
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
545
+ required: true,
546
+ },
547
+ },
548
+ },
549
+ },
550
+ vOffset: {
551
+ kind: 'object',
552
+ key: 'size',
553
+ default: null,
554
+ meta: {},
555
+ settings: {
556
+ required: true,
557
+ },
558
+ shape: {
559
+ size: {
560
+ kind: 'plain',
561
+ key: 'number',
562
+ default: null,
563
+ meta: {},
564
+ settings: {
565
+ required: true,
566
+ },
567
+ },
568
+ unit: {
569
+ kind: 'plain',
570
+ key: 'string',
571
+ default: null,
572
+ meta: {},
573
+ settings: {
574
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
575
+ required: true,
576
+ },
577
+ },
578
+ },
579
+ },
580
+ blur: {
581
+ kind: 'object',
582
+ key: 'size',
583
+ default: null,
584
+ meta: {},
585
+ settings: {
586
+ required: true,
587
+ },
588
+ shape: {
589
+ size: {
590
+ kind: 'plain',
591
+ key: 'number',
592
+ default: null,
593
+ meta: {},
594
+ settings: {
595
+ required: true,
596
+ },
597
+ },
598
+ unit: {
599
+ kind: 'plain',
600
+ key: 'string',
601
+ default: null,
602
+ meta: {},
603
+ settings: {
604
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
605
+ required: true,
606
+ },
607
+ },
608
+ },
609
+ },
610
+ spread: {
611
+ kind: 'object',
612
+ key: 'size',
613
+ default: null,
614
+ meta: {},
615
+ settings: {
616
+ required: true,
617
+ },
618
+ shape: {
619
+ size: {
620
+ kind: 'plain',
621
+ key: 'number',
622
+ default: null,
623
+ meta: {},
624
+ settings: {
625
+ required: true,
626
+ },
627
+ },
628
+ unit: {
629
+ kind: 'plain',
630
+ key: 'string',
631
+ default: null,
632
+ meta: {},
633
+ settings: {
634
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
635
+ required: true,
636
+ },
637
+ },
638
+ },
639
+ },
640
+ color: {
641
+ kind: 'plain',
642
+ key: 'color',
643
+ default: null,
644
+ meta: {},
645
+ settings: {
646
+ required: true,
647
+ },
648
+ },
649
+ position: {
650
+ kind: 'plain',
651
+ key: 'string',
652
+ default: null,
653
+ meta: {},
654
+ settings: {
655
+ enum: [ 'inset' ],
656
+ },
657
+ },
658
+ },
659
+ },
660
+ },
661
+ gap: {
662
+ kind: 'object',
663
+ key: 'gap',
664
+ default: null,
665
+ meta: {},
666
+ settings: {},
667
+ shape: {
668
+ isLinked: {
669
+ kind: 'plain',
670
+ key: 'boolean',
671
+ default: null,
672
+ meta: {},
673
+ settings: {},
674
+ },
675
+ column: {
676
+ kind: 'object',
677
+ key: 'size',
678
+ default: null,
679
+ meta: {},
680
+ settings: {},
681
+ shape: {
682
+ size: {
683
+ kind: 'plain',
684
+ key: 'number',
685
+ default: null,
686
+ meta: {},
687
+ settings: {
688
+ required: true,
689
+ },
690
+ },
691
+ unit: {
692
+ kind: 'plain',
693
+ key: 'string',
694
+ default: null,
695
+ meta: {},
696
+ settings: {
697
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
698
+ required: true,
699
+ },
700
+ },
701
+ },
702
+ },
703
+ row: {
704
+ kind: 'object',
705
+ key: 'size',
706
+ default: null,
707
+ meta: {},
708
+ settings: {},
709
+ shape: {
710
+ size: {
711
+ kind: 'plain',
712
+ key: 'number',
713
+ default: null,
714
+ meta: {},
715
+ settings: {
716
+ required: true,
717
+ },
718
+ },
719
+ unit: {
720
+ kind: 'plain',
721
+ key: 'string',
722
+ default: null,
723
+ meta: {},
724
+ settings: {
725
+ enum: [ 'px', 'em', 'rem', '%', 'vh', 'vw', 'vmin', 'vmax' ],
726
+ required: true,
727
+ },
728
+ },
729
+ },
730
+ },
731
+ },
732
+ },
733
+ } satisfies PropsSchema;