@elementor/editor-props 4.0.0-551 → 4.0.0-564

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.
package/dist/index.js CHANGED
@@ -54,6 +54,7 @@ __export(index_exports, {
54
54
  getPropSchemaFromCache: () => getPropSchemaFromCache,
55
55
  gradientColorStopPropTypeUtil: () => gradientColorStopPropTypeUtil,
56
56
  htmlPropTypeUtil: () => htmlPropTypeUtil,
57
+ htmlV2PropTypeUtil: () => htmlV2PropTypeUtil,
57
58
  hueRotateFilterPropTypeUtil: () => hueRotateFilterPropTypeUtil,
58
59
  imageAttachmentIdPropType: () => imageAttachmentIdPropType,
59
60
  imagePropTypeUtil: () => imagePropTypeUtil,
@@ -69,6 +70,7 @@ __export(index_exports, {
69
70
  mergeProps: () => mergeProps,
70
71
  moveTransformPropTypeUtil: () => moveTransformPropTypeUtil,
71
72
  numberPropTypeUtil: () => numberPropTypeUtil,
73
+ parseHtmlChildren: () => parseHtmlChildren,
72
74
  perspectiveOriginPropTypeUtil: () => perspectiveOriginPropTypeUtil,
73
75
  positionPropTypeUtil: () => positionPropTypeUtil,
74
76
  queryPropTypeUtil: () => queryPropTypeUtil,
@@ -295,38 +297,37 @@ var import_schema16 = require("@elementor/schema");
295
297
  var stringPropTypeUtil = createPropUtils("string", import_schema16.z.string().nullable());
296
298
 
297
299
  // src/prop-types/string-array.ts
298
- var import_schema17 = require("@elementor/schema");
299
- var stringArrayPropTypeUtil = createPropUtils("string-array", import_schema17.z.array(import_schema17.z.string()));
300
+ var stringArrayPropTypeUtil = createArrayPropUtils(stringPropTypeUtil.key, stringPropTypeUtil.schema);
300
301
 
301
302
  // src/prop-types/stroke.ts
302
- var import_schema18 = require("@elementor/schema");
303
+ var import_schema17 = require("@elementor/schema");
303
304
  var strokePropTypeUtil = createPropUtils(
304
305
  "stroke",
305
- import_schema18.z.strictObject({
306
+ import_schema17.z.strictObject({
306
307
  color: unknownChildrenSchema,
307
308
  width: unknownChildrenSchema
308
309
  })
309
310
  );
310
311
 
311
312
  // src/prop-types/url.ts
312
- var import_schema19 = require("@elementor/schema");
313
- var urlPropTypeUtil = createPropUtils("url", import_schema19.z.string().nullable());
313
+ var import_schema18 = require("@elementor/schema");
314
+ var urlPropTypeUtil = createPropUtils("url", import_schema18.z.string().nullable());
314
315
 
315
316
  // src/prop-types/layout-direction.ts
316
- var import_schema20 = require("@elementor/schema");
317
+ var import_schema19 = require("@elementor/schema");
317
318
  var layoutDirectionPropTypeUtil = createPropUtils(
318
319
  "layout-direction",
319
- import_schema20.z.object({
320
- row: import_schema20.z.any(),
321
- column: import_schema20.z.any()
320
+ import_schema19.z.object({
321
+ row: import_schema19.z.any(),
322
+ column: import_schema19.z.any()
322
323
  })
323
324
  );
324
325
 
325
326
  // src/prop-types/link.ts
326
- var import_schema21 = require("@elementor/schema");
327
+ var import_schema20 = require("@elementor/schema");
327
328
  var linkPropTypeUtil = createPropUtils(
328
329
  "link",
329
- import_schema21.z.strictObject({
330
+ import_schema20.z.strictObject({
330
331
  destination: unknownChildrenSchema,
331
332
  isTargetBlank: unknownChildrenSchema,
332
333
  tag: unknownChildrenSchema
@@ -334,13 +335,13 @@ var linkPropTypeUtil = createPropUtils(
334
335
  );
335
336
 
336
337
  // src/prop-types/selection-size.ts
337
- var import_schema23 = require("@elementor/schema");
338
+ var import_schema22 = require("@elementor/schema");
338
339
 
339
340
  // src/prop-types/key-value.ts
340
- var import_schema22 = require("@elementor/schema");
341
+ var import_schema21 = require("@elementor/schema");
341
342
  var keyValuePropTypeUtil = createPropUtils(
342
343
  "key-value",
343
- import_schema22.z.strictObject({
344
+ import_schema21.z.strictObject({
344
345
  key: unknownChildrenSchema,
345
346
  value: unknownChildrenSchema
346
347
  })
@@ -349,17 +350,17 @@ var keyValuePropTypeUtil = createPropUtils(
349
350
  // src/prop-types/selection-size.ts
350
351
  var selectionSizePropTypeUtil = createPropUtils(
351
352
  "selection-size",
352
- import_schema23.z.strictObject({
353
- selection: import_schema23.z.union([keyValuePropTypeUtil.schema, stringPropTypeUtil.schema]),
353
+ import_schema22.z.strictObject({
354
+ selection: import_schema22.z.union([keyValuePropTypeUtil.schema, stringPropTypeUtil.schema]),
354
355
  size: unknownChildrenSchema
355
356
  })
356
357
  );
357
358
 
358
359
  // src/prop-types/background-prop-types/background.ts
359
- var import_schema24 = require("@elementor/schema");
360
+ var import_schema23 = require("@elementor/schema");
360
361
  var backgroundPropTypeUtil = createPropUtils(
361
362
  "background",
362
- import_schema24.z.strictObject({
363
+ import_schema23.z.strictObject({
363
364
  color: unknownChildrenSchema,
364
365
  clip: unknownChildrenSchema,
365
366
  "background-overlay": unknownChildrenSchema
@@ -367,7 +368,7 @@ var backgroundPropTypeUtil = createPropUtils(
367
368
  );
368
369
 
369
370
  // src/prop-types/background-prop-types/background-overlay.ts
370
- var import_schema25 = require("@elementor/schema");
371
+ var import_schema24 = require("@elementor/schema");
371
372
 
372
373
  // src/prop-types/background-prop-types/background-color-overlay.ts
373
374
  var backgroundColorOverlayPropTypeUtil = createPropUtils("background-color-overlay", unknownChildrenSchema);
@@ -383,7 +384,7 @@ var backgroundImageOverlayPropTypeUtil = createPropUtils("background-image-overl
383
384
 
384
385
  // src/prop-types/background-prop-types/background-overlay.ts
385
386
  var backgroundOverlayItem = backgroundColorOverlayPropTypeUtil.schema.or(backgroundGradientOverlayPropTypeUtil.schema).or(backgroundImageOverlayPropTypeUtil.schema);
386
- var backgroundOverlayPropTypeUtil = createPropUtils("background-overlay", import_schema25.z.array(backgroundOverlayItem));
387
+ var backgroundOverlayPropTypeUtil = createPropUtils("background-overlay", import_schema24.z.array(backgroundOverlayItem));
387
388
 
388
389
  // src/prop-types/background-prop-types/background-image-position-offset.ts
389
390
  var backgroundImagePositionOffsetPropTypeUtil = createPropUtils(
@@ -398,59 +399,75 @@ var backgroundImageSizeScalePropTypeUtil = createPropUtils(
398
399
  );
399
400
 
400
401
  // src/prop-types/boolean.ts
401
- var import_schema26 = require("@elementor/schema");
402
- var booleanPropTypeUtil = createPropUtils("boolean", import_schema26.z.boolean().nullable());
402
+ var import_schema25 = require("@elementor/schema");
403
+ var booleanPropTypeUtil = createPropUtils("boolean", import_schema25.z.boolean().nullable());
403
404
 
404
405
  // src/prop-types/color-stop.ts
405
- var import_schema27 = require("@elementor/schema");
406
+ var import_schema26 = require("@elementor/schema");
406
407
  var colorStopPropTypeUtil = createPropUtils(
407
408
  "color-stop",
408
- import_schema27.z.strictObject({
409
+ import_schema26.z.strictObject({
409
410
  color: unknownChildrenSchema,
410
411
  offset: unknownChildrenSchema
411
412
  })
412
413
  );
413
414
 
414
415
  // src/prop-types/gradient-color-stop.ts
415
- var import_schema28 = require("@elementor/schema");
416
+ var import_schema27 = require("@elementor/schema");
416
417
  var gradientColorStopPropTypeUtil = createPropUtils(
417
418
  "gradient-color-stop",
418
- import_schema28.z.array(colorStopPropTypeUtil.schema)
419
+ import_schema27.z.array(colorStopPropTypeUtil.schema)
419
420
  );
420
421
 
421
422
  // src/prop-types/date-time.ts
422
- var import_schema29 = require("@elementor/schema");
423
+ var import_schema28 = require("@elementor/schema");
423
424
  var DateTimePropTypeUtil = createPropUtils(
424
425
  "date-time",
425
- import_schema29.z.strictObject({
426
+ import_schema28.z.strictObject({
426
427
  date: unknownChildrenSchema,
427
428
  time: unknownChildrenSchema
428
429
  })
429
430
  );
430
431
 
431
432
  // src/prop-types/position.ts
432
- var import_schema30 = require("@elementor/schema");
433
+ var import_schema29 = require("@elementor/schema");
433
434
  var positionPropTypeUtil = createPropUtils(
434
435
  "object-position",
435
- import_schema30.z.strictObject({
436
+ import_schema29.z.strictObject({
436
437
  x: unknownChildrenSchema,
437
438
  y: unknownChildrenSchema
438
439
  })
439
440
  );
440
441
 
441
442
  // src/prop-types/query.ts
442
- var import_schema31 = require("@elementor/schema");
443
+ var import_schema30 = require("@elementor/schema");
443
444
  var queryPropTypeUtil = createPropUtils(
444
445
  "query",
445
- import_schema31.z.strictObject({
446
+ import_schema30.z.strictObject({
446
447
  id: unknownChildrenSchema,
447
448
  label: unknownChildrenSchema
448
449
  })
449
450
  );
450
451
 
451
452
  // src/prop-types/html.ts
453
+ var import_schema31 = require("@elementor/schema");
454
+ var htmlPropTypeUtil = createPropUtils("html", import_schema31.z.string().nullable());
455
+
456
+ // src/prop-types/html-v2.ts
452
457
  var import_schema32 = require("@elementor/schema");
453
- var htmlPropTypeUtil = createPropUtils("html", import_schema32.z.string().nullable());
458
+ var childElementSchema = import_schema32.z.lazy(
459
+ () => import_schema32.z.object({
460
+ id: import_schema32.z.string(),
461
+ type: import_schema32.z.string(),
462
+ content: import_schema32.z.string().optional(),
463
+ children: import_schema32.z.array(childElementSchema).optional()
464
+ })
465
+ );
466
+ var htmlV2ValueSchema = import_schema32.z.object({
467
+ content: import_schema32.z.string().nullable(),
468
+ children: import_schema32.z.array(childElementSchema)
469
+ });
470
+ var htmlV2PropTypeUtil = createPropUtils("html-v2", htmlV2ValueSchema);
454
471
 
455
472
  // src/prop-types/filter-prop-types/filter.ts
456
473
  var import_schema38 = require("@elementor/schema");
@@ -1174,6 +1191,61 @@ function isDependency(term) {
1174
1191
  return "terms" in term;
1175
1192
  }
1176
1193
 
1194
+ // src/utils/parse-html-children.ts
1195
+ var INLINE_ELEMENTS = /* @__PURE__ */ new Set(["span", "b", "strong", "i", "em", "u", "a", "del", "sup", "sub", "s"]);
1196
+ function generateElementId() {
1197
+ const timestamp = Date.now().toString(36);
1198
+ const randomPart = Math.random().toString(36).substring(2, 9);
1199
+ return `e-${timestamp}-${randomPart}`;
1200
+ }
1201
+ function traverseChildren(node) {
1202
+ const result = [];
1203
+ for (const child of Array.from(node.children)) {
1204
+ const tagName = child.tagName.toLowerCase();
1205
+ if (!INLINE_ELEMENTS.has(tagName)) {
1206
+ result.push(...traverseChildren(child));
1207
+ continue;
1208
+ }
1209
+ let id = child.getAttribute("id");
1210
+ if (!id) {
1211
+ id = generateElementId();
1212
+ child.setAttribute("id", id);
1213
+ }
1214
+ const childElement = {
1215
+ id,
1216
+ type: tagName
1217
+ };
1218
+ const textContent = child.textContent?.trim();
1219
+ if (textContent) {
1220
+ childElement.content = textContent;
1221
+ }
1222
+ const nestedChildren = traverseChildren(child);
1223
+ if (nestedChildren.length > 0) {
1224
+ childElement.children = nestedChildren;
1225
+ }
1226
+ result.push(childElement);
1227
+ }
1228
+ return result;
1229
+ }
1230
+ function parseHtmlChildren(html) {
1231
+ if (!html) {
1232
+ return { content: html, children: [] };
1233
+ }
1234
+ const parser = new DOMParser();
1235
+ const doc = parser.parseFromString(`<body>${html}</body>`, "text/html");
1236
+ const parserError = doc.querySelector("parsererror");
1237
+ if (parserError) {
1238
+ console.warn("HTML parsing error, returning original content:", parserError.textContent);
1239
+ return { content: html, children: [] };
1240
+ }
1241
+ const body = doc.body;
1242
+ const children = traverseChildren(body);
1243
+ return {
1244
+ content: body.innerHTML,
1245
+ children
1246
+ };
1247
+ }
1248
+
1177
1249
  // src/index.ts
1178
1250
  var Schema = {
1179
1251
  jsonSchemaToPropType,
@@ -1222,6 +1294,7 @@ var Schema = {
1222
1294
  getPropSchemaFromCache,
1223
1295
  gradientColorStopPropTypeUtil,
1224
1296
  htmlPropTypeUtil,
1297
+ htmlV2PropTypeUtil,
1225
1298
  hueRotateFilterPropTypeUtil,
1226
1299
  imageAttachmentIdPropType,
1227
1300
  imagePropTypeUtil,
@@ -1237,6 +1310,7 @@ var Schema = {
1237
1310
  mergeProps,
1238
1311
  moveTransformPropTypeUtil,
1239
1312
  numberPropTypeUtil,
1313
+ parseHtmlChildren,
1240
1314
  perspectiveOriginPropTypeUtil,
1241
1315
  positionPropTypeUtil,
1242
1316
  queryPropTypeUtil,