@elementor/editor-canvas 4.2.0-938 → 4.2.0-940
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 +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +187 -95
- package/dist/index.mjs +127 -35
- package/package.json +19 -19
- package/src/hooks/__tests__/use-style-prop-resolver.test.ts +35 -26
- package/src/hooks/use-style-prop-resolver.ts +3 -6
- package/src/init-style-transformers.ts +2 -0
- package/src/mcp/resources/document-structure-resource.ts +4 -1
- package/src/mcp/tools/configure-element/tool.ts +17 -4
- package/src/mcp/utils/__tests__/do-update-element-property.test.ts +43 -0
- package/src/mcp/utils/__tests__/resolve-canonical-prop-name.test.ts +111 -0
- package/src/mcp/utils/do-update-element-property.ts +6 -1
- package/src/mcp/utils/resolve-canonical-prop-name.ts +71 -0
- package/src/renderers/__tests__/create-props-resolver.test.ts +12 -2
- package/src/renderers/__tests__/create-styles-renderer.test.ts +30 -0
- package/src/renderers/__tests__/enqueue-font-from-style-prop.test.ts +29 -0
- package/src/renderers/create-props-resolver.ts +2 -2
- package/src/renderers/create-styles-renderer.ts +1 -1
- package/src/renderers/enqueue-font-from-style-prop.ts +34 -0
- package/src/transformers/styles/__tests__/font-family-transformer.test.ts +20 -0
- package/src/transformers/styles/font-family-transformer.ts +18 -0
package/dist/index.js
CHANGED
|
@@ -1443,7 +1443,7 @@ function createPropsResolver({ transformers, schema: initialSchema, onPropResolv
|
|
|
1443
1443
|
Object.entries(schema2).map(async ([key, type]) => {
|
|
1444
1444
|
const value = props[key] ?? type.default;
|
|
1445
1445
|
const transformed = await transform({ value, key, type, signal, renderContext });
|
|
1446
|
-
onPropResolve?.({ key, value: transformed });
|
|
1446
|
+
onPropResolve?.({ key, value: transformed, propValue: value, propType: type });
|
|
1447
1447
|
if (isMultiProps(transformed)) {
|
|
1448
1448
|
return getMultiPropsValue(transformed);
|
|
1449
1449
|
}
|
|
@@ -1513,6 +1513,27 @@ function createPropsResolver({ transformers, schema: initialSchema, onPropResolv
|
|
|
1513
1513
|
return resolve;
|
|
1514
1514
|
}
|
|
1515
1515
|
|
|
1516
|
+
// src/renderers/enqueue-font-from-style-prop.ts
|
|
1517
|
+
var import_editor_props4 = require("@elementor/editor-props");
|
|
1518
|
+
var maybeEnqueueFontFromStyleProp = (propType, propValue, enqueue) => {
|
|
1519
|
+
if (!(0, import_editor_props4.isTransformable)(propValue) || propValue.disabled) {
|
|
1520
|
+
return;
|
|
1521
|
+
}
|
|
1522
|
+
const typeKey = propType.kind === "union" ? propValue.$$type : propType.key;
|
|
1523
|
+
const propTypeUtil = (0, import_editor_props4.getPropSchemaFromCache)(typeKey);
|
|
1524
|
+
if (!propTypeUtil || !("getEnqueueFontFamily" in propTypeUtil) || typeof propTypeUtil.getEnqueueFontFamily !== "function") {
|
|
1525
|
+
return;
|
|
1526
|
+
}
|
|
1527
|
+
const stored = propValue.value;
|
|
1528
|
+
if (typeof stored !== "string") {
|
|
1529
|
+
return;
|
|
1530
|
+
}
|
|
1531
|
+
const font = propTypeUtil.getEnqueueFontFamily(stored);
|
|
1532
|
+
if (font) {
|
|
1533
|
+
enqueue(font);
|
|
1534
|
+
}
|
|
1535
|
+
};
|
|
1536
|
+
|
|
1516
1537
|
// src/transformers/create-transformers-registry.ts
|
|
1517
1538
|
function createTransformersRegistry() {
|
|
1518
1539
|
const transformers = {};
|
|
@@ -1545,11 +1566,8 @@ function useStylePropResolver() {
|
|
|
1545
1566
|
return createPropsResolver({
|
|
1546
1567
|
transformers: styleTransformersRegistry,
|
|
1547
1568
|
schema: (0, import_editor_styles.getStylesSchema)(),
|
|
1548
|
-
onPropResolve: ({
|
|
1549
|
-
|
|
1550
|
-
return;
|
|
1551
|
-
}
|
|
1552
|
-
(0, import_editor_v1_adapters8.enqueueFont)(value);
|
|
1569
|
+
onPropResolve: ({ propValue, propType }) => {
|
|
1570
|
+
maybeEnqueueFontFromStyleProp(propType, propValue, import_editor_v1_adapters8.enqueueFont);
|
|
1553
1571
|
}
|
|
1554
1572
|
});
|
|
1555
1573
|
}, []);
|
|
@@ -2477,6 +2495,18 @@ var flexTransformer = createTransformer((value) => {
|
|
|
2477
2495
|
return null;
|
|
2478
2496
|
});
|
|
2479
2497
|
|
|
2498
|
+
// src/transformers/styles/font-family-transformer.ts
|
|
2499
|
+
var fontFamilyTransformer = createTransformer((value) => {
|
|
2500
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
2501
|
+
return null;
|
|
2502
|
+
}
|
|
2503
|
+
const trimmed = value.trim();
|
|
2504
|
+
if (trimmed.startsWith('"') && trimmed.endsWith('"') || trimmed.startsWith("'") && trimmed.endsWith("'")) {
|
|
2505
|
+
return trimmed;
|
|
2506
|
+
}
|
|
2507
|
+
return `"${trimmed}"`;
|
|
2508
|
+
});
|
|
2509
|
+
|
|
2480
2510
|
// src/transformers/styles/grid-track-renderer.ts
|
|
2481
2511
|
var GRID_TRACK_PROPERTIES = /* @__PURE__ */ new Set(["grid-template-columns", "grid-template-rows"]);
|
|
2482
2512
|
var isGridTrackProperty = (cssProperty) => GRID_TRACK_PROPERTIES.has(cssProperty);
|
|
@@ -2628,7 +2658,7 @@ var mapToTransitionString = (value, allowedProperties) => {
|
|
|
2628
2658
|
|
|
2629
2659
|
// src/init-style-transformers.ts
|
|
2630
2660
|
function initStyleTransformers() {
|
|
2631
|
-
styleTransformersRegistry.register("size", sizeTransformer).register("grid-track-size", gridTrackSizeTransformer).register("shadow", shadowTransformer).register("stroke", strokeTransformer).register(
|
|
2661
|
+
styleTransformersRegistry.register("font-family", fontFamilyTransformer).register("size", sizeTransformer).register("grid-track-size", gridTrackSizeTransformer).register("shadow", shadowTransformer).register("stroke", strokeTransformer).register(
|
|
2632
2662
|
"dimensions",
|
|
2633
2663
|
createMultiPropsTransformer(
|
|
2634
2664
|
["block-start", "block-end", "inline-start", "inline-end"],
|
|
@@ -3346,7 +3376,7 @@ var import_client = require("react-dom/client");
|
|
|
3346
3376
|
// src/legacy/replacements/inline-editing/inline-editing-elements.tsx
|
|
3347
3377
|
var React11 = __toESM(require("react"));
|
|
3348
3378
|
var import_editor_elements9 = require("@elementor/editor-elements");
|
|
3349
|
-
var
|
|
3379
|
+
var import_editor_props6 = require("@elementor/editor-props");
|
|
3350
3380
|
var import_editor_v1_adapters13 = require("@elementor/editor-v1-adapters");
|
|
3351
3381
|
var import_i18n3 = require("@wordpress/i18n");
|
|
3352
3382
|
|
|
@@ -3623,11 +3653,11 @@ var InlineEditingToolbar = ({ anchor, editor, id }) => {
|
|
|
3623
3653
|
};
|
|
3624
3654
|
|
|
3625
3655
|
// src/legacy/replacements/inline-editing/inline-editing-eligibility.ts
|
|
3626
|
-
var
|
|
3656
|
+
var import_editor_props5 = require("@elementor/editor-props");
|
|
3627
3657
|
var hasKey = (propType) => {
|
|
3628
3658
|
return "key" in propType;
|
|
3629
3659
|
};
|
|
3630
|
-
var TEXT_PROP_TYPE_KEYS = /* @__PURE__ */ new Set([
|
|
3660
|
+
var TEXT_PROP_TYPE_KEYS = /* @__PURE__ */ new Set([import_editor_props5.htmlV3PropTypeUtil.key, import_editor_props5.stringPropTypeUtil.key]);
|
|
3631
3661
|
var isCoreTextPropTypeKey = (key) => {
|
|
3632
3662
|
return TEXT_PROP_TYPE_KEYS.has(key);
|
|
3633
3663
|
};
|
|
@@ -3647,7 +3677,7 @@ var isInlineEditingAllowed = ({ rawValue, propTypeFromSchema }) => {
|
|
|
3647
3677
|
if (rawValue === null || rawValue === void 0) {
|
|
3648
3678
|
return isAllowedBySchema(propTypeFromSchema);
|
|
3649
3679
|
}
|
|
3650
|
-
return
|
|
3680
|
+
return import_editor_props5.htmlV3PropTypeUtil.isValid(rawValue) || import_editor_props5.stringPropTypeUtil.isValid(rawValue);
|
|
3651
3681
|
};
|
|
3652
3682
|
|
|
3653
3683
|
// src/legacy/replacements/inline-editing/inline-editing-elements.tsx
|
|
@@ -3732,15 +3762,15 @@ var InlineEditingReplacement = class extends ReplacementBase {
|
|
|
3732
3762
|
}
|
|
3733
3763
|
getExtractedContentValue() {
|
|
3734
3764
|
const propValue = this.getInlineEditablePropValue();
|
|
3735
|
-
const extracted =
|
|
3736
|
-
return
|
|
3765
|
+
const extracted = import_editor_props6.htmlV3PropTypeUtil.extract(propValue);
|
|
3766
|
+
return import_editor_props6.stringPropTypeUtil.extract(extracted?.content ?? null) ?? "";
|
|
3737
3767
|
}
|
|
3738
3768
|
setContentValue(value) {
|
|
3739
3769
|
const settingKey = this.getInlineEditablePropertyName();
|
|
3740
3770
|
const html = value || "";
|
|
3741
|
-
const parsed = (0,
|
|
3742
|
-
const valueToSave =
|
|
3743
|
-
content: parsed.content ?
|
|
3771
|
+
const parsed = (0, import_editor_props6.parseHtmlChildren)(html);
|
|
3772
|
+
const valueToSave = import_editor_props6.htmlV3PropTypeUtil.create({
|
|
3773
|
+
content: parsed.content ? import_editor_props6.stringPropTypeUtil.create(parsed.content) : null,
|
|
3744
3774
|
children: parsed.children
|
|
3745
3775
|
});
|
|
3746
3776
|
(0, import_editor_v1_adapters13.undoable)(
|
|
@@ -3771,7 +3801,7 @@ var InlineEditingReplacement = class extends ReplacementBase {
|
|
|
3771
3801
|
return null;
|
|
3772
3802
|
}
|
|
3773
3803
|
if (propType.kind === "union") {
|
|
3774
|
-
const textKeys = [
|
|
3804
|
+
const textKeys = [import_editor_props6.htmlV3PropTypeUtil.key, import_editor_props6.stringPropTypeUtil.key];
|
|
3775
3805
|
for (const key of textKeys) {
|
|
3776
3806
|
if (propType.prop_types[key]) {
|
|
3777
3807
|
return key;
|
|
@@ -3800,7 +3830,7 @@ var InlineEditingReplacement = class extends ReplacementBase {
|
|
|
3800
3830
|
getExpectedTag() {
|
|
3801
3831
|
const tagPropType = this.getTagPropType();
|
|
3802
3832
|
const tagSettingKey = "tag";
|
|
3803
|
-
return
|
|
3833
|
+
return import_editor_props6.stringPropTypeUtil.extract(this.getSetting(tagSettingKey) ?? null) ?? import_editor_props6.stringPropTypeUtil.extract(tagPropType?.default ?? null) ?? null;
|
|
3804
3834
|
}
|
|
3805
3835
|
getTagPropType() {
|
|
3806
3836
|
const propsSchema = (0, import_editor_elements9.getElementType)(this.type)?.propsSchema;
|
|
@@ -4027,7 +4057,7 @@ function createNestedTemplatedType(type, renderer, element) {
|
|
|
4027
4057
|
}
|
|
4028
4058
|
|
|
4029
4059
|
// src/legacy/tabs-model-extensions.ts
|
|
4030
|
-
var
|
|
4060
|
+
var import_editor_props7 = require("@elementor/editor-props");
|
|
4031
4061
|
var tabModelExtensions = {
|
|
4032
4062
|
modifyDefaultChildren(elements) {
|
|
4033
4063
|
if (!Array.isArray(elements) || elements.length === 0) {
|
|
@@ -4043,8 +4073,8 @@ var tabModelExtensions = {
|
|
|
4043
4073
|
...paragraphElement,
|
|
4044
4074
|
settings: {
|
|
4045
4075
|
...paragraphElement.settings,
|
|
4046
|
-
paragraph:
|
|
4047
|
-
content:
|
|
4076
|
+
paragraph: import_editor_props7.htmlV3PropTypeUtil.create({
|
|
4077
|
+
content: import_editor_props7.stringPropTypeUtil.create(`Tab ${position}`),
|
|
4048
4078
|
children: []
|
|
4049
4079
|
})
|
|
4050
4080
|
}
|
|
@@ -4057,7 +4087,7 @@ function initTabsModelExtensions() {
|
|
|
4057
4087
|
}
|
|
4058
4088
|
|
|
4059
4089
|
// src/mcp/canvas-mcp.ts
|
|
4060
|
-
var
|
|
4090
|
+
var import_editor_props12 = require("@elementor/editor-props");
|
|
4061
4091
|
|
|
4062
4092
|
// src/mcp/resources/available-widgets-resource.ts
|
|
4063
4093
|
var import_editor_v1_adapters15 = require("@elementor/editor-v1-adapters");
|
|
@@ -4198,7 +4228,7 @@ function extractElementData(element) {
|
|
|
4198
4228
|
widgetType: model.widgetType || void 0,
|
|
4199
4229
|
version: resolveElementVersion(element)
|
|
4200
4230
|
};
|
|
4201
|
-
const title = model.title || element.model?.editor_settings?.title;
|
|
4231
|
+
const title = model.title || element.model?.editor_settings?.title || element.model.getTitle?.();
|
|
4202
4232
|
if (title) {
|
|
4203
4233
|
result.title = title;
|
|
4204
4234
|
}
|
|
@@ -4209,7 +4239,7 @@ function extractElementData(element) {
|
|
|
4209
4239
|
}
|
|
4210
4240
|
|
|
4211
4241
|
// src/mcp/resources/dynamic-tags-resource.ts
|
|
4212
|
-
var
|
|
4242
|
+
var import_editor_props8 = require("@elementor/editor-props");
|
|
4213
4243
|
|
|
4214
4244
|
// src/mcp/utils/resolve-dynamic-tag.ts
|
|
4215
4245
|
var import_editor_v1_adapters17 = require("@elementor/editor-v1-adapters");
|
|
@@ -4277,7 +4307,7 @@ var defaultSettingValue = (propType) => {
|
|
|
4277
4307
|
var DYNAMIC_TAGS_URI = "elementor://dynamic-tags";
|
|
4278
4308
|
var settingsSchema = (propsSchema) => {
|
|
4279
4309
|
return Object.fromEntries(
|
|
4280
|
-
Object.entries(propsSchema ?? {}).filter(([key]) => !OMITTED_DYNAMIC_SETTING_KEYS.includes(key)).map(([key, propType]) => [key,
|
|
4310
|
+
Object.entries(propsSchema ?? {}).filter(([key]) => !OMITTED_DYNAMIC_SETTING_KEYS.includes(key)).map(([key, propType]) => [key, import_editor_props8.Schema.propTypeToJsonSchema(propType)])
|
|
4281
4311
|
);
|
|
4282
4312
|
};
|
|
4283
4313
|
var buildDynamicTagsList = () => {
|
|
@@ -4626,14 +4656,14 @@ function getElementDisplayName(container) {
|
|
|
4626
4656
|
|
|
4627
4657
|
// src/mcp/tools/build-composition/tool.ts
|
|
4628
4658
|
var import_editor_documents3 = require("@elementor/editor-documents");
|
|
4629
|
-
var
|
|
4659
|
+
var import_editor_elements16 = require("@elementor/editor-elements");
|
|
4630
4660
|
|
|
4631
4661
|
// src/composition-builder/composition-builder.ts
|
|
4632
|
-
var
|
|
4662
|
+
var import_editor_elements15 = require("@elementor/editor-elements");
|
|
4633
4663
|
|
|
4634
4664
|
// src/mcp/utils/do-update-element-property.ts
|
|
4635
|
-
var
|
|
4636
|
-
var
|
|
4665
|
+
var import_editor_elements14 = require("@elementor/editor-elements");
|
|
4666
|
+
var import_editor_props9 = require("@elementor/editor-props");
|
|
4637
4667
|
var import_editor_styles4 = require("@elementor/editor-styles");
|
|
4638
4668
|
var import_editor_v1_adapters21 = require("@elementor/editor-v1-adapters");
|
|
4639
4669
|
|
|
@@ -4651,6 +4681,58 @@ var readStoredCustomCssText = (raw) => {
|
|
|
4651
4681
|
}
|
|
4652
4682
|
};
|
|
4653
4683
|
|
|
4684
|
+
// src/mcp/utils/resolve-canonical-prop-name.ts
|
|
4685
|
+
var import_editor_elements13 = require("@elementor/editor-elements");
|
|
4686
|
+
function buildAliasToCanonicalMap(schema2) {
|
|
4687
|
+
const aliasToCanonical = {};
|
|
4688
|
+
for (const [canonical, propType] of Object.entries(schema2)) {
|
|
4689
|
+
const aliases = propType.meta?.aliases;
|
|
4690
|
+
if (!Array.isArray(aliases)) {
|
|
4691
|
+
continue;
|
|
4692
|
+
}
|
|
4693
|
+
for (const alias of aliases) {
|
|
4694
|
+
if (typeof alias === "string" && alias) {
|
|
4695
|
+
aliasToCanonical[alias] = canonical;
|
|
4696
|
+
}
|
|
4697
|
+
}
|
|
4698
|
+
}
|
|
4699
|
+
return aliasToCanonical;
|
|
4700
|
+
}
|
|
4701
|
+
function resolveCanonicalPropName(elementType, propertyName) {
|
|
4702
|
+
const schema2 = (0, import_editor_elements13.getWidgetsCache)()?.[elementType]?.atomic_props_schema;
|
|
4703
|
+
if (!schema2 || schema2[propertyName]) {
|
|
4704
|
+
return propertyName;
|
|
4705
|
+
}
|
|
4706
|
+
return buildAliasToCanonicalMap(schema2)[propertyName] ?? propertyName;
|
|
4707
|
+
}
|
|
4708
|
+
function resolveCanonicalPropKeys(elementType, props) {
|
|
4709
|
+
const schema2 = (0, import_editor_elements13.getWidgetsCache)()?.[elementType]?.atomic_props_schema;
|
|
4710
|
+
if (!schema2) {
|
|
4711
|
+
return { ...props };
|
|
4712
|
+
}
|
|
4713
|
+
const aliasToCanonical = buildAliasToCanonicalMap(schema2);
|
|
4714
|
+
const resolved = {};
|
|
4715
|
+
for (const [key, value] of Object.entries(props)) {
|
|
4716
|
+
if (schema2[key]) {
|
|
4717
|
+
resolved[key] = value;
|
|
4718
|
+
}
|
|
4719
|
+
}
|
|
4720
|
+
for (const [key, value] of Object.entries(props)) {
|
|
4721
|
+
if (schema2[key]) {
|
|
4722
|
+
continue;
|
|
4723
|
+
}
|
|
4724
|
+
const canonical = aliasToCanonical[key];
|
|
4725
|
+
if (!canonical) {
|
|
4726
|
+
resolved[key] = value;
|
|
4727
|
+
continue;
|
|
4728
|
+
}
|
|
4729
|
+
if (!Object.prototype.hasOwnProperty.call(resolved, canonical)) {
|
|
4730
|
+
resolved[canonical] = value;
|
|
4731
|
+
}
|
|
4732
|
+
}
|
|
4733
|
+
return resolved;
|
|
4734
|
+
}
|
|
4735
|
+
|
|
4654
4736
|
// src/mcp/utils/do-update-element-property.ts
|
|
4655
4737
|
var LOCAL_STYLE_META = {
|
|
4656
4738
|
breakpoint: "desktop",
|
|
@@ -4658,7 +4740,7 @@ var LOCAL_STYLE_META = {
|
|
|
4658
4740
|
};
|
|
4659
4741
|
function resolvePropValue(value, forceKey) {
|
|
4660
4742
|
const Utils = window.elementorV2.editorVariables.Utils;
|
|
4661
|
-
return
|
|
4743
|
+
return import_editor_props9.Schema.adjustLlmPropValueSchema(value, {
|
|
4662
4744
|
forceKey,
|
|
4663
4745
|
transformers: {
|
|
4664
4746
|
...Utils.globalVariablesLLMResolvers,
|
|
@@ -4667,9 +4749,10 @@ function resolvePropValue(value, forceKey) {
|
|
|
4667
4749
|
});
|
|
4668
4750
|
}
|
|
4669
4751
|
var doUpdateElementProperty = (params) => {
|
|
4670
|
-
const { elementId,
|
|
4752
|
+
const { elementId, propertyValue, elementType, customCssWriteMode = "replace" } = params;
|
|
4753
|
+
const propertyName = params.propertyName === "_styles" ? params.propertyName : resolveCanonicalPropName(elementType, params.propertyName);
|
|
4671
4754
|
if (propertyName === "_styles") {
|
|
4672
|
-
const elementStyles = (0,
|
|
4755
|
+
const elementStyles = (0, import_editor_elements14.getElementStyles)(elementId) || {};
|
|
4673
4756
|
const propertyMapValue = propertyValue;
|
|
4674
4757
|
const styleSchema = (0, import_editor_styles4.getStylesSchema)();
|
|
4675
4758
|
const transformedStyleValues = Object.fromEntries(
|
|
@@ -4716,7 +4799,7 @@ var doUpdateElementProperty = (params) => {
|
|
|
4716
4799
|
}
|
|
4717
4800
|
if (propertyRawSchema.kind === "plain") {
|
|
4718
4801
|
if (typeof propertyMapValue[stylePropName] !== "object") {
|
|
4719
|
-
const propUtil = (0,
|
|
4802
|
+
const propUtil = (0, import_editor_props9.getPropSchemaFromCache)(propertyRawSchema.key);
|
|
4720
4803
|
if (propUtil) {
|
|
4721
4804
|
const plainValue = propUtil.create(propertyMapValue[stylePropName]);
|
|
4722
4805
|
propertyMapValue[stylePropName] = plainValue;
|
|
@@ -4726,7 +4809,7 @@ var doUpdateElementProperty = (params) => {
|
|
|
4726
4809
|
});
|
|
4727
4810
|
delete transformedStyleValues.custom_css;
|
|
4728
4811
|
if (!localStyle) {
|
|
4729
|
-
(0,
|
|
4812
|
+
(0, import_editor_elements14.createElementStyle)({
|
|
4730
4813
|
elementId,
|
|
4731
4814
|
...typeof customCss !== "undefined" ? { custom_css: customCss } : {},
|
|
4732
4815
|
classesProp: "classes",
|
|
@@ -4740,7 +4823,7 @@ var doUpdateElementProperty = (params) => {
|
|
|
4740
4823
|
}
|
|
4741
4824
|
});
|
|
4742
4825
|
} else {
|
|
4743
|
-
(0,
|
|
4826
|
+
(0, import_editor_elements14.updateElementStyle)({
|
|
4744
4827
|
elementId,
|
|
4745
4828
|
styleId: localStyle.id,
|
|
4746
4829
|
meta: {
|
|
@@ -4755,7 +4838,7 @@ var doUpdateElementProperty = (params) => {
|
|
|
4755
4838
|
}
|
|
4756
4839
|
return;
|
|
4757
4840
|
}
|
|
4758
|
-
const elementPropSchema = (0,
|
|
4841
|
+
const elementPropSchema = (0, import_editor_elements14.getWidgetsCache)()?.[elementType]?.atomic_props_schema;
|
|
4759
4842
|
if (!elementPropSchema) {
|
|
4760
4843
|
throw new Error(`No prop schema found for element type: ${elementType}`);
|
|
4761
4844
|
}
|
|
@@ -4769,7 +4852,7 @@ var doUpdateElementProperty = (params) => {
|
|
|
4769
4852
|
}
|
|
4770
4853
|
const propKey = elementPropSchema[propertyName].key;
|
|
4771
4854
|
const value = resolvePropValue(propertyValue, propKey);
|
|
4772
|
-
const { valid, jsonSchema } =
|
|
4855
|
+
const { valid, jsonSchema } = import_editor_props9.Schema.validatePropValue(elementPropSchema[propertyName], propertyValue);
|
|
4773
4856
|
if (!valid) {
|
|
4774
4857
|
throw new Error(
|
|
4775
4858
|
`Invalid PropValue for elementId: ${elementId}. PropKey: ${propKey}, PropValue: ${JSON.stringify(
|
|
@@ -4778,7 +4861,7 @@ var doUpdateElementProperty = (params) => {
|
|
|
4778
4861
|
Expected Schema: ${jsonSchema}`
|
|
4779
4862
|
);
|
|
4780
4863
|
}
|
|
4781
|
-
(0,
|
|
4864
|
+
(0, import_editor_elements14.updateElementSettings)({
|
|
4782
4865
|
id: elementId,
|
|
4783
4866
|
props: {
|
|
4784
4867
|
[propertyName]: value
|
|
@@ -4836,11 +4919,11 @@ var CompositionBuilder = class _CompositionBuilder {
|
|
|
4836
4919
|
elementCustomCSS = {};
|
|
4837
4920
|
rootContainers = [];
|
|
4838
4921
|
api = {
|
|
4839
|
-
createElement:
|
|
4840
|
-
deleteElement:
|
|
4841
|
-
getWidgetsCache:
|
|
4842
|
-
generateElementId:
|
|
4843
|
-
getContainer:
|
|
4922
|
+
createElement: import_editor_elements15.createElement,
|
|
4923
|
+
deleteElement: import_editor_elements15.deleteElement,
|
|
4924
|
+
getWidgetsCache: import_editor_elements15.getWidgetsCache,
|
|
4925
|
+
generateElementId: import_editor_elements15.generateElementId,
|
|
4926
|
+
getContainer: import_editor_elements15.getContainer,
|
|
4844
4927
|
doUpdateElementProperty
|
|
4845
4928
|
};
|
|
4846
4929
|
xml;
|
|
@@ -5360,19 +5443,19 @@ var initBuildCompositionsTool = (reg) => {
|
|
|
5360
5443
|
const { xmlStructure, elementConfig, stylesConfig } = adaptLeafRootParams({
|
|
5361
5444
|
...rawParams,
|
|
5362
5445
|
stylesConfig: convertedStyles,
|
|
5363
|
-
widgetsCache: (0,
|
|
5446
|
+
widgetsCache: (0, import_editor_elements16.getWidgetsCache)() ?? {}
|
|
5364
5447
|
});
|
|
5365
5448
|
let generatedXML = "";
|
|
5366
5449
|
const errors = [];
|
|
5367
5450
|
const rootContainers = [];
|
|
5368
|
-
const documentContainer = (0,
|
|
5451
|
+
const documentContainer = (0, import_editor_elements16.getContainer)("document");
|
|
5369
5452
|
const currentDocument = (0, import_editor_documents3.getCurrentDocument)();
|
|
5370
5453
|
const targetContainer = getCompositionTargetContainer(documentContainer, currentDocument?.type.value);
|
|
5371
5454
|
try {
|
|
5372
5455
|
const compositionBuilder = CompositionBuilder.fromXMLString(xmlStructure, {
|
|
5373
|
-
createElement:
|
|
5374
|
-
deleteElement:
|
|
5375
|
-
getWidgetsCache:
|
|
5456
|
+
createElement: import_editor_elements16.createElement,
|
|
5457
|
+
deleteElement: import_editor_elements16.deleteElement,
|
|
5458
|
+
getWidgetsCache: import_editor_elements16.getWidgetsCache
|
|
5376
5459
|
});
|
|
5377
5460
|
compositionBuilder.setElementConfig(elementConfig);
|
|
5378
5461
|
compositionBuilder.setStylesConfig(stylesConfig);
|
|
@@ -5388,7 +5471,7 @@ var initBuildCompositionsTool = (reg) => {
|
|
|
5388
5471
|
}
|
|
5389
5472
|
if (errors.length) {
|
|
5390
5473
|
rootContainers.forEach((rootContainer) => {
|
|
5391
|
-
(0,
|
|
5474
|
+
(0, import_editor_elements16.deleteElement)({
|
|
5392
5475
|
container: rootContainer,
|
|
5393
5476
|
options: { useHistory: false }
|
|
5394
5477
|
});
|
|
@@ -5457,7 +5540,7 @@ function assertCompositionXmlUsesV4WidgetsOnly(xmlStructure) {
|
|
|
5457
5540
|
if (doc.querySelector("parsererror")) {
|
|
5458
5541
|
throw new Error("Failed to parse XML string: " + doc);
|
|
5459
5542
|
}
|
|
5460
|
-
const widgetsCache = (0,
|
|
5543
|
+
const widgetsCache = (0, import_editor_elements16.getWidgetsCache)() ?? {};
|
|
5461
5544
|
for (const node of doc.querySelectorAll("*")) {
|
|
5462
5545
|
const type = node.tagName;
|
|
5463
5546
|
const widgetData = widgetsCache[type];
|
|
@@ -5474,18 +5557,18 @@ function assertCompositionXmlUsesV4WidgetsOnly(xmlStructure) {
|
|
|
5474
5557
|
}
|
|
5475
5558
|
|
|
5476
5559
|
// src/mcp/tools/configure-element/tool.ts
|
|
5477
|
-
var
|
|
5560
|
+
var import_editor_elements18 = require("@elementor/editor-elements");
|
|
5478
5561
|
|
|
5479
5562
|
// src/mcp/utils/validate-input.ts
|
|
5480
|
-
var
|
|
5481
|
-
var
|
|
5563
|
+
var import_editor_elements17 = require("@elementor/editor-elements");
|
|
5564
|
+
var import_editor_props10 = require("@elementor/editor-props");
|
|
5482
5565
|
var import_editor_styles5 = require("@elementor/editor-styles");
|
|
5483
5566
|
var _widgetsSchema = null;
|
|
5484
5567
|
var validateInput = {
|
|
5485
5568
|
get widgetsSchema() {
|
|
5486
5569
|
if (!_widgetsSchema) {
|
|
5487
5570
|
const schema2 = {};
|
|
5488
|
-
const cache = (0,
|
|
5571
|
+
const cache = (0, import_editor_elements17.getWidgetsCache)();
|
|
5489
5572
|
if (!cache) {
|
|
5490
5573
|
return {};
|
|
5491
5574
|
}
|
|
@@ -5512,10 +5595,10 @@ var validateInput = {
|
|
|
5512
5595
|
if (!propSchema) {
|
|
5513
5596
|
errors.push(`Property "${propName}" is not defined in the schema.`);
|
|
5514
5597
|
hasInvalidKey = true;
|
|
5515
|
-
} else if (!
|
|
5598
|
+
} else if (!import_editor_props10.Schema.isPropKeyConfigurable(propName, propSchema)) {
|
|
5516
5599
|
errors.push(`Property "${propName}" is not configurable.`);
|
|
5517
5600
|
} else {
|
|
5518
|
-
const { valid } =
|
|
5601
|
+
const { valid } = import_editor_props10.Schema.validatePropValue(propSchema, propValue);
|
|
5519
5602
|
if (!valid) {
|
|
5520
5603
|
errors.push(
|
|
5521
5604
|
`Invalid property "${propName}". Validate input with resource [${STYLE_SCHEMA_URI.replace(
|
|
@@ -5726,19 +5809,28 @@ var initConfigureElementTool = (reg) => {
|
|
|
5726
5809
|
{ description: "Dynamic tags catalog", uri: DYNAMIC_TAGS_URI }
|
|
5727
5810
|
],
|
|
5728
5811
|
handler: async ({ elementId, propertiesToChange, elementType, style }) => {
|
|
5729
|
-
const widgetData = (0,
|
|
5812
|
+
const widgetData = (0, import_editor_elements18.getWidgetsCache)()?.[elementType];
|
|
5730
5813
|
if (!widgetData) {
|
|
5731
5814
|
throw new Error(
|
|
5732
5815
|
`Unknown element type: ${elementType}. Check the available-widgets resource for valid types.`
|
|
5733
5816
|
);
|
|
5734
5817
|
}
|
|
5818
|
+
const container = (0, import_editor_elements18.getContainer)(elementId);
|
|
5819
|
+
if (!container) {
|
|
5820
|
+
throw new Error(`Element with id ${elementId} not found`);
|
|
5821
|
+
}
|
|
5822
|
+
const isElementTypeMatchingId = container.settings.get("widgetType") === elementType || container.type === elementType;
|
|
5823
|
+
if (!isElementTypeMatchingId) {
|
|
5824
|
+
throw new Error(`Element with ID ${elementId} is not of type ${elementType}`);
|
|
5825
|
+
}
|
|
5735
5826
|
if (!widgetData.atomic_props_schema) {
|
|
5736
5827
|
throw new Error(
|
|
5737
5828
|
`This tool does not support V3 elements. Please use the elementor-v3-mcp tools instead for element type: ${elementType}`
|
|
5738
5829
|
);
|
|
5739
5830
|
}
|
|
5740
|
-
const
|
|
5741
|
-
const
|
|
5831
|
+
const propertiesToUpdate = resolveCanonicalPropKeys(elementType, propertiesToChange);
|
|
5832
|
+
const toUpdate = Object.entries(propertiesToUpdate);
|
|
5833
|
+
const { valid, errors } = validateInput.validatePropSchema(elementType, propertiesToUpdate);
|
|
5742
5834
|
if (!valid) {
|
|
5743
5835
|
const errorMessage = `Failed to configure element "${elementId}" due to invalid properties: ${errors?.join(
|
|
5744
5836
|
"\n- "
|
|
@@ -5818,8 +5910,8 @@ Provide styling as raw CSS via the "style" parameter (a flat map of CSS property
|
|
|
5818
5910
|
}
|
|
5819
5911
|
|
|
5820
5912
|
// src/mcp/tools/get-element-config/tool.ts
|
|
5821
|
-
var
|
|
5822
|
-
var
|
|
5913
|
+
var import_editor_elements19 = require("@elementor/editor-elements");
|
|
5914
|
+
var import_editor_props11 = require("@elementor/editor-props");
|
|
5823
5915
|
var import_schema5 = require("@elementor/schema");
|
|
5824
5916
|
var schema = {
|
|
5825
5917
|
elementId: import_schema5.z.string()
|
|
@@ -5853,12 +5945,12 @@ var initGetElementConfigTool = (reg) => {
|
|
|
5853
5945
|
schema,
|
|
5854
5946
|
outputSchema: outputSchema3,
|
|
5855
5947
|
handler: async ({ elementId }) => {
|
|
5856
|
-
const element = (0,
|
|
5948
|
+
const element = (0, import_editor_elements19.getContainer)(elementId);
|
|
5857
5949
|
if (!element) {
|
|
5858
5950
|
throw new Error(`Element with ID ${elementId} not found.`);
|
|
5859
5951
|
}
|
|
5860
5952
|
const elementType = element.model.get("widgetType") || element.model.get("elType") || "";
|
|
5861
|
-
const widgetData = (0,
|
|
5953
|
+
const widgetData = (0, import_editor_elements19.getWidgetsCache)()?.[elementType];
|
|
5862
5954
|
if (!widgetData) {
|
|
5863
5955
|
throw new Error(
|
|
5864
5956
|
`Unknown element type: ${elementType}. Check the available-widgets resource for valid types.`
|
|
@@ -5870,16 +5962,16 @@ var initGetElementConfigTool = (reg) => {
|
|
|
5870
5962
|
);
|
|
5871
5963
|
}
|
|
5872
5964
|
const elementRawSettings = element.settings;
|
|
5873
|
-
const propSchema = (0,
|
|
5965
|
+
const propSchema = (0, import_editor_elements19.getWidgetsCache)()?.[elementType]?.atomic_props_schema;
|
|
5874
5966
|
if (!elementRawSettings || !propSchema) {
|
|
5875
5967
|
throw new Error(`No settings or prop schema found for element ID: ${elementId}`);
|
|
5876
5968
|
}
|
|
5877
5969
|
const propValues = {};
|
|
5878
5970
|
const stylePropValues = {};
|
|
5879
|
-
|
|
5971
|
+
import_editor_props11.Schema.configurableKeys(propSchema).forEach((key) => {
|
|
5880
5972
|
propValues[key] = structuredClone(elementRawSettings.get(key));
|
|
5881
5973
|
});
|
|
5882
|
-
const elementStyles = (0,
|
|
5974
|
+
const elementStyles = (0, import_editor_elements19.getElementStyles)(elementId) || {};
|
|
5883
5975
|
const localStyle = Object.values(elementStyles).find((style) => style.label === "local");
|
|
5884
5976
|
if (localStyle) {
|
|
5885
5977
|
const defaultVariant = localStyle.variants.find(
|
|
@@ -5912,7 +6004,7 @@ var initGetElementConfigTool = (reg) => {
|
|
|
5912
6004
|
|
|
5913
6005
|
// src/mcp/canvas-mcp.ts
|
|
5914
6006
|
var initCanvasMcp = (reg) => {
|
|
5915
|
-
|
|
6007
|
+
import_editor_props12.Schema.setDynamicTagNamesResolver(getDynamicTagNamesByCategories);
|
|
5916
6008
|
initWidgetsSchemaResource(reg);
|
|
5917
6009
|
initAvailableWidgetsResource(reg);
|
|
5918
6010
|
initDocumentStructureResource(reg);
|
|
@@ -6035,7 +6127,7 @@ Note: The "size" property controls image resolution/loading, not visual size. Se
|
|
|
6035
6127
|
`;
|
|
6036
6128
|
|
|
6037
6129
|
// src/prevent-link-in-link-commands.ts
|
|
6038
|
-
var
|
|
6130
|
+
var import_editor_elements20 = require("@elementor/editor-elements");
|
|
6039
6131
|
var import_editor_notifications3 = require("@elementor/editor-notifications");
|
|
6040
6132
|
var import_editor_v1_adapters22 = require("@elementor/editor-v1-adapters");
|
|
6041
6133
|
var import_i18n4 = require("@wordpress/i18n");
|
|
@@ -6106,25 +6198,25 @@ function shouldBlock(sourceElements, targetElements) {
|
|
|
6106
6198
|
return false;
|
|
6107
6199
|
}
|
|
6108
6200
|
const isSourceContainsAnAnchor = sourceElements.some((src) => {
|
|
6109
|
-
return src?.id ? (0,
|
|
6201
|
+
return src?.id ? (0, import_editor_elements20.isElementAnchored)(src.id) || !!(0, import_editor_elements20.getAnchoredDescendantId)(src.id) : false;
|
|
6110
6202
|
});
|
|
6111
6203
|
if (!isSourceContainsAnAnchor) {
|
|
6112
6204
|
return false;
|
|
6113
6205
|
}
|
|
6114
6206
|
const isTargetContainsAnAnchor = targetElements.some((target) => {
|
|
6115
|
-
return target?.id ? (0,
|
|
6207
|
+
return target?.id ? (0, import_editor_elements20.isElementAnchored)(target.id) || !!(0, import_editor_elements20.getAnchoredAncestorId)(target.id) : false;
|
|
6116
6208
|
});
|
|
6117
6209
|
return isTargetContainsAnAnchor;
|
|
6118
6210
|
}
|
|
6119
6211
|
|
|
6120
6212
|
// src/style-commands/paste-style.ts
|
|
6121
|
-
var
|
|
6122
|
-
var
|
|
6213
|
+
var import_editor_elements23 = require("@elementor/editor-elements");
|
|
6214
|
+
var import_editor_props14 = require("@elementor/editor-props");
|
|
6123
6215
|
var import_editor_v1_adapters24 = require("@elementor/editor-v1-adapters");
|
|
6124
6216
|
|
|
6125
6217
|
// src/utils/command-utils.ts
|
|
6126
|
-
var
|
|
6127
|
-
var
|
|
6218
|
+
var import_editor_elements21 = require("@elementor/editor-elements");
|
|
6219
|
+
var import_editor_props13 = require("@elementor/editor-props");
|
|
6128
6220
|
var import_i18n5 = require("@wordpress/i18n");
|
|
6129
6221
|
function hasAtomicWidgets(args) {
|
|
6130
6222
|
const { containers = [args.container] } = args;
|
|
@@ -6142,13 +6234,13 @@ function getClassesProp(container) {
|
|
|
6142
6234
|
return null;
|
|
6143
6235
|
}
|
|
6144
6236
|
const [propKey] = Object.entries(propsSchema).find(
|
|
6145
|
-
([, propType]) => propType.kind === "plain" && propType.key ===
|
|
6237
|
+
([, propType]) => propType.kind === "plain" && propType.key === import_editor_props13.CLASSES_PROP_KEY
|
|
6146
6238
|
) ?? [];
|
|
6147
6239
|
return propKey ?? null;
|
|
6148
6240
|
}
|
|
6149
6241
|
function getContainerSchema(container) {
|
|
6150
6242
|
const type = container?.model.get("widgetType") || container?.model.get("elType");
|
|
6151
|
-
const widgetsCache = (0,
|
|
6243
|
+
const widgetsCache = (0, import_editor_elements21.getWidgetsCache)();
|
|
6152
6244
|
const elementType = widgetsCache?.[type];
|
|
6153
6245
|
return elementType?.atomic_props_schema ?? null;
|
|
6154
6246
|
}
|
|
@@ -6161,11 +6253,11 @@ function getClipboardElements(storageKey = "clipboard") {
|
|
|
6161
6253
|
}
|
|
6162
6254
|
}
|
|
6163
6255
|
function getTitleForContainers(containers) {
|
|
6164
|
-
return containers.length > 1 ? (0, import_i18n5.__)("Elements", "elementor") : (0,
|
|
6256
|
+
return containers.length > 1 ? (0, import_i18n5.__)("Elements", "elementor") : (0, import_editor_elements21.getElementLabel)(containers[0].id);
|
|
6165
6257
|
}
|
|
6166
6258
|
|
|
6167
6259
|
// src/style-commands/undoable-actions/paste-element-style.ts
|
|
6168
|
-
var
|
|
6260
|
+
var import_editor_elements22 = require("@elementor/editor-elements");
|
|
6169
6261
|
var import_editor_styles_repository4 = require("@elementor/editor-styles-repository");
|
|
6170
6262
|
var import_editor_v1_adapters23 = require("@elementor/editor-v1-adapters");
|
|
6171
6263
|
var import_i18n6 = require("@wordpress/i18n");
|
|
@@ -6178,7 +6270,7 @@ var undoablePasteElementStyle = () => (0, import_editor_v1_adapters23.undoable)(
|
|
|
6178
6270
|
if (!classesProp) {
|
|
6179
6271
|
return null;
|
|
6180
6272
|
}
|
|
6181
|
-
const originalStyles = (0,
|
|
6273
|
+
const originalStyles = (0, import_editor_elements22.getElementStyles)(container.id);
|
|
6182
6274
|
const [styleId, styleDef] = Object.entries(originalStyles ?? {})[0] ?? [];
|
|
6183
6275
|
const originalStyle = Object.keys(styleDef ?? {}).length ? styleDef : null;
|
|
6184
6276
|
const revertData = {
|
|
@@ -6187,7 +6279,7 @@ var undoablePasteElementStyle = () => (0, import_editor_v1_adapters23.undoable)(
|
|
|
6187
6279
|
};
|
|
6188
6280
|
if (styleId) {
|
|
6189
6281
|
newStyle.variants.forEach(({ meta, props, custom_css: customCss }) => {
|
|
6190
|
-
(0,
|
|
6282
|
+
(0, import_editor_elements22.updateElementStyle)({
|
|
6191
6283
|
elementId,
|
|
6192
6284
|
styleId,
|
|
6193
6285
|
meta,
|
|
@@ -6198,7 +6290,7 @@ var undoablePasteElementStyle = () => (0, import_editor_v1_adapters23.undoable)(
|
|
|
6198
6290
|
} else {
|
|
6199
6291
|
const [firstVariant] = newStyle.variants;
|
|
6200
6292
|
const additionalVariants = newStyle.variants.slice(1);
|
|
6201
|
-
revertData.styleId = (0,
|
|
6293
|
+
revertData.styleId = (0, import_editor_elements22.createElementStyle)({
|
|
6202
6294
|
elementId,
|
|
6203
6295
|
classesProp,
|
|
6204
6296
|
label: import_editor_styles_repository4.ELEMENTS_STYLES_RESERVED_LABEL,
|
|
@@ -6216,7 +6308,7 @@ var undoablePasteElementStyle = () => (0, import_editor_v1_adapters23.undoable)(
|
|
|
6216
6308
|
return;
|
|
6217
6309
|
}
|
|
6218
6310
|
if (!revertData.originalStyle) {
|
|
6219
|
-
(0,
|
|
6311
|
+
(0, import_editor_elements22.deleteElementStyle)(container.id, revertData.styleId);
|
|
6220
6312
|
return;
|
|
6221
6313
|
}
|
|
6222
6314
|
const classesProp = getClassesProp(container);
|
|
@@ -6225,7 +6317,7 @@ var undoablePasteElementStyle = () => (0, import_editor_v1_adapters23.undoable)(
|
|
|
6225
6317
|
}
|
|
6226
6318
|
const [firstVariant] = revertData.originalStyle.variants;
|
|
6227
6319
|
const additionalVariants = revertData.originalStyle.variants.slice(1);
|
|
6228
|
-
(0,
|
|
6320
|
+
(0, import_editor_elements22.createElementStyle)({
|
|
6229
6321
|
elementId: container.id,
|
|
6230
6322
|
classesProp,
|
|
6231
6323
|
label: import_editor_styles_repository4.ELEMENTS_STYLES_RESERVED_LABEL,
|
|
@@ -6262,7 +6354,7 @@ function pasteStyles(args, pasteLocalStyle) {
|
|
|
6262
6354
|
}
|
|
6263
6355
|
const clipboardElements = getClipboardElements(storageKey);
|
|
6264
6356
|
const [clipboardElement] = clipboardElements ?? [];
|
|
6265
|
-
const clipboardContainer = (0,
|
|
6357
|
+
const clipboardContainer = (0, import_editor_elements23.getContainer)(clipboardElement.id);
|
|
6266
6358
|
if (!clipboardElement || !clipboardContainer || !isAtomicWidget(clipboardContainer)) {
|
|
6267
6359
|
return;
|
|
6268
6360
|
}
|
|
@@ -6281,7 +6373,7 @@ function getClassesWithoutLocalStyle(clipboardContainer, style) {
|
|
|
6281
6373
|
if (!classesProp) {
|
|
6282
6374
|
return [];
|
|
6283
6375
|
}
|
|
6284
|
-
const classesSetting = (0,
|
|
6376
|
+
const classesSetting = (0, import_editor_elements23.getElementSetting)(clipboardContainer.id, classesProp);
|
|
6285
6377
|
return classesSetting?.value.filter((styleId) => styleId !== style?.id) ?? [];
|
|
6286
6378
|
}
|
|
6287
6379
|
function pasteClasses(containers, classes) {
|
|
@@ -6290,10 +6382,10 @@ function pasteClasses(containers, classes) {
|
|
|
6290
6382
|
if (!classesProp) {
|
|
6291
6383
|
return;
|
|
6292
6384
|
}
|
|
6293
|
-
const classesSetting = (0,
|
|
6294
|
-
const currentClasses =
|
|
6295
|
-
const newClasses =
|
|
6296
|
-
(0,
|
|
6385
|
+
const classesSetting = (0, import_editor_elements23.getElementSetting)(container.id, classesProp);
|
|
6386
|
+
const currentClasses = import_editor_props14.classesPropTypeUtil.extract(classesSetting) ?? [];
|
|
6387
|
+
const newClasses = import_editor_props14.classesPropTypeUtil.create(Array.from(/* @__PURE__ */ new Set([...classes, ...currentClasses])));
|
|
6388
|
+
(0, import_editor_elements23.updateElementSettings)({
|
|
6297
6389
|
id: container.id,
|
|
6298
6390
|
props: { [classesProp]: newClasses }
|
|
6299
6391
|
});
|
|
@@ -6304,7 +6396,7 @@ function pasteClasses(containers, classes) {
|
|
|
6304
6396
|
var import_editor_v1_adapters26 = require("@elementor/editor-v1-adapters");
|
|
6305
6397
|
|
|
6306
6398
|
// src/style-commands/undoable-actions/reset-element-style.ts
|
|
6307
|
-
var
|
|
6399
|
+
var import_editor_elements24 = require("@elementor/editor-elements");
|
|
6308
6400
|
var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
|
|
6309
6401
|
var import_editor_v1_adapters25 = require("@elementor/editor-v1-adapters");
|
|
6310
6402
|
var import_i18n7 = require("@wordpress/i18n");
|
|
@@ -6313,9 +6405,9 @@ var undoableResetElementStyle = () => (0, import_editor_v1_adapters25.undoable)(
|
|
|
6313
6405
|
do: ({ containers }) => {
|
|
6314
6406
|
return containers.map((container) => {
|
|
6315
6407
|
const elementId = container.model.get("id");
|
|
6316
|
-
const containerStyles = (0,
|
|
6408
|
+
const containerStyles = (0, import_editor_elements24.getElementStyles)(elementId);
|
|
6317
6409
|
Object.keys(containerStyles ?? {}).forEach(
|
|
6318
|
-
(styleId) => (0,
|
|
6410
|
+
(styleId) => (0, import_editor_elements24.deleteElementStyle)(elementId, styleId)
|
|
6319
6411
|
);
|
|
6320
6412
|
return containerStyles;
|
|
6321
6413
|
});
|
|
@@ -6331,7 +6423,7 @@ var undoableResetElementStyle = () => (0, import_editor_v1_adapters25.undoable)(
|
|
|
6331
6423
|
Object.entries(containerStyles ?? {}).forEach(([styleId, style]) => {
|
|
6332
6424
|
const [firstVariant] = style.variants;
|
|
6333
6425
|
const additionalVariants = style.variants.slice(1);
|
|
6334
|
-
(0,
|
|
6426
|
+
(0, import_editor_elements24.createElementStyle)({
|
|
6335
6427
|
elementId,
|
|
6336
6428
|
classesProp,
|
|
6337
6429
|
styleId,
|
|
@@ -6531,10 +6623,10 @@ function useEscapeOnCanvas(canvasDocument, onEscape) {
|
|
|
6531
6623
|
}
|
|
6532
6624
|
|
|
6533
6625
|
// src/utils/after-render.ts
|
|
6534
|
-
var
|
|
6626
|
+
var import_editor_elements25 = require("@elementor/editor-elements");
|
|
6535
6627
|
function doAfterRender(elementIds, callback) {
|
|
6536
6628
|
const pending = elementIds.map((elementId) => {
|
|
6537
|
-
const view = (0,
|
|
6629
|
+
const view = (0, import_editor_elements25.getContainer)(elementId)?.view;
|
|
6538
6630
|
if (!view || !hasDoAfterRender(view)) {
|
|
6539
6631
|
return void 0;
|
|
6540
6632
|
}
|