@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.d.mts +155 -24
- package/dist/index.d.ts +155 -24
- package/dist/index.js +108 -34
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +106 -34
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +1 -0
- package/src/prop-types/html-v2.ts +30 -0
- package/src/prop-types/index.ts +1 -0
- package/src/prop-types/string-array.ts +4 -3
- package/src/utils/parse-html-children.ts +82 -0
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
|
|
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
|
|
303
|
+
var import_schema17 = require("@elementor/schema");
|
|
303
304
|
var strokePropTypeUtil = createPropUtils(
|
|
304
305
|
"stroke",
|
|
305
|
-
|
|
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
|
|
313
|
-
var urlPropTypeUtil = createPropUtils("url",
|
|
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
|
|
317
|
+
var import_schema19 = require("@elementor/schema");
|
|
317
318
|
var layoutDirectionPropTypeUtil = createPropUtils(
|
|
318
319
|
"layout-direction",
|
|
319
|
-
|
|
320
|
-
row:
|
|
321
|
-
column:
|
|
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
|
|
327
|
+
var import_schema20 = require("@elementor/schema");
|
|
327
328
|
var linkPropTypeUtil = createPropUtils(
|
|
328
329
|
"link",
|
|
329
|
-
|
|
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
|
|
338
|
+
var import_schema22 = require("@elementor/schema");
|
|
338
339
|
|
|
339
340
|
// src/prop-types/key-value.ts
|
|
340
|
-
var
|
|
341
|
+
var import_schema21 = require("@elementor/schema");
|
|
341
342
|
var keyValuePropTypeUtil = createPropUtils(
|
|
342
343
|
"key-value",
|
|
343
|
-
|
|
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
|
-
|
|
353
|
-
selection:
|
|
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
|
|
360
|
+
var import_schema23 = require("@elementor/schema");
|
|
360
361
|
var backgroundPropTypeUtil = createPropUtils(
|
|
361
362
|
"background",
|
|
362
|
-
|
|
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
|
|
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",
|
|
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
|
|
402
|
-
var booleanPropTypeUtil = createPropUtils("boolean",
|
|
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
|
|
406
|
+
var import_schema26 = require("@elementor/schema");
|
|
406
407
|
var colorStopPropTypeUtil = createPropUtils(
|
|
407
408
|
"color-stop",
|
|
408
|
-
|
|
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
|
|
416
|
+
var import_schema27 = require("@elementor/schema");
|
|
416
417
|
var gradientColorStopPropTypeUtil = createPropUtils(
|
|
417
418
|
"gradient-color-stop",
|
|
418
|
-
|
|
419
|
+
import_schema27.z.array(colorStopPropTypeUtil.schema)
|
|
419
420
|
);
|
|
420
421
|
|
|
421
422
|
// src/prop-types/date-time.ts
|
|
422
|
-
var
|
|
423
|
+
var import_schema28 = require("@elementor/schema");
|
|
423
424
|
var DateTimePropTypeUtil = createPropUtils(
|
|
424
425
|
"date-time",
|
|
425
|
-
|
|
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
|
|
433
|
+
var import_schema29 = require("@elementor/schema");
|
|
433
434
|
var positionPropTypeUtil = createPropUtils(
|
|
434
435
|
"object-position",
|
|
435
|
-
|
|
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
|
|
443
|
+
var import_schema30 = require("@elementor/schema");
|
|
443
444
|
var queryPropTypeUtil = createPropUtils(
|
|
444
445
|
"query",
|
|
445
|
-
|
|
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
|
|
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,
|