@elementor/editor-components 4.0.0-665 → 4.0.0-667
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 +191 -3870
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +184 -3904
- package/dist/index.mjs.map +1 -1
- package/package.json +23 -23
- package/src/init.ts +0 -13
- package/src/extended/components/component-introduction.tsx +0 -77
- package/src/extended/components/component-panel-header/component-badge.tsx +0 -73
- package/src/extended/components/component-panel-header/component-panel-header.tsx +0 -98
- package/src/extended/components/component-properties-panel/component-properties-panel-content.tsx +0 -176
- package/src/extended/components/component-properties-panel/component-properties-panel.tsx +0 -43
- package/src/extended/components/component-properties-panel/properties-empty-state.tsx +0 -51
- package/src/extended/components/component-properties-panel/properties-group.tsx +0 -196
- package/src/extended/components/component-properties-panel/property-item.tsx +0 -124
- package/src/extended/components/component-properties-panel/sortable.tsx +0 -92
- package/src/extended/components/component-properties-panel/use-current-editable-item.ts +0 -73
- package/src/extended/components/component-properties-panel/utils/generate-unique-label.ts +0 -21
- package/src/extended/components/component-properties-panel/utils/validate-group-label.ts +0 -24
- package/src/extended/components/components-tab/component-item.tsx +0 -180
- package/src/extended/components/components-tab/components.tsx +0 -58
- package/src/extended/components/components-tab/delete-confirmation-dialog.tsx +0 -26
- package/src/extended/components/create-component-form/create-component-form.tsx +0 -281
- package/src/extended/components/create-component-form/hooks/use-form.ts +0 -72
- package/src/extended/components/create-component-form/utils/get-component-event-data.ts +0 -54
- package/src/extended/components/edit-component/component-modal.tsx +0 -133
- package/src/extended/components/edit-component/edit-component.tsx +0 -166
- package/src/extended/components/edit-component/use-canvas-document.ts +0 -9
- package/src/extended/components/edit-component/use-element-rect.ts +0 -81
- package/src/extended/components/instance-editing-panel/instance-editing-panel.tsx +0 -60
- package/src/extended/components/overridable-props/indicator.tsx +0 -83
- package/src/extended/components/overridable-props/overridable-prop-control.tsx +0 -127
- package/src/extended/components/overridable-props/overridable-prop-form.tsx +0 -135
- package/src/extended/components/overridable-props/overridable-prop-indicator.tsx +0 -138
- package/src/extended/components/overridable-props/utils/validate-prop-label.ts +0 -38
- package/src/extended/consts.ts +0 -3
- package/src/extended/hooks/use-navigate-back.ts +0 -24
- package/src/extended/init.ts +0 -108
- package/src/extended/mcp/index.ts +0 -14
- package/src/extended/mcp/save-as-component-tool.ts +0 -436
- package/src/extended/shortcuts/create-component-shortcut.ts +0 -121
- package/src/extended/store/actions/add-overridable-group.ts +0 -53
- package/src/extended/store/actions/archive-component.ts +0 -18
- package/src/extended/store/actions/create-unpublished-component.ts +0 -99
- package/src/extended/store/actions/delete-overridable-group.ts +0 -32
- package/src/extended/store/actions/delete-overridable-prop.ts +0 -64
- package/src/extended/store/actions/rename-component.ts +0 -48
- package/src/extended/store/actions/rename-overridable-group.ts +0 -33
- package/src/extended/store/actions/reorder-group-props.ts +0 -37
- package/src/extended/store/actions/reorder-overridable-groups.ts +0 -24
- package/src/extended/store/actions/reset-sanitized-components.ts +0 -5
- package/src/extended/store/actions/set-overridable-prop.ts +0 -109
- package/src/extended/store/actions/update-component-sanitized-attribute.ts +0 -7
- package/src/extended/store/actions/update-current-component.ts +0 -12
- package/src/extended/store/actions/update-overridable-prop-params.ts +0 -52
- package/src/extended/store/utils/groups-transformers.ts +0 -187
- package/src/extended/sync/before-save.ts +0 -52
- package/src/extended/sync/cleanup-overridable-props-on-delete.ts +0 -78
- package/src/extended/sync/create-components-before-save.ts +0 -111
- package/src/extended/sync/handle-component-edit-mode-container.ts +0 -114
- package/src/extended/sync/prevent-non-atomic-nesting.ts +0 -198
- package/src/extended/sync/revert-overridables-on-copy-or-duplicate.ts +0 -66
- package/src/extended/sync/sanitize-overridable-props.ts +0 -32
- package/src/extended/sync/set-component-overridable-props-settings-before-save.ts +0 -22
- package/src/extended/sync/update-archived-component-before-save.ts +0 -31
- package/src/extended/sync/update-component-title-before-save.ts +0 -18
- package/src/extended/utils/component-form-schema.ts +0 -32
- package/src/extended/utils/component-name-validation.ts +0 -25
- package/src/extended/utils/create-component-model.ts +0 -28
- package/src/extended/utils/get-container-for-new-element.ts +0 -49
- package/src/extended/utils/is-editing-component.ts +0 -5
- package/src/extended/utils/replace-element-with-component.ts +0 -11
- package/src/extended/utils/revert-overridable-settings.ts +0 -207
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getAllDescendants,
|
|
3
|
-
getContainer,
|
|
4
|
-
getElementSetting,
|
|
5
|
-
updateElementSettings,
|
|
6
|
-
type V1Element,
|
|
7
|
-
type V1ElementData,
|
|
8
|
-
type V1ElementSettingsProps,
|
|
9
|
-
} from '@elementor/editor-elements';
|
|
10
|
-
|
|
11
|
-
import { COMPONENT_WIDGET_TYPE } from '../../create-component-type';
|
|
12
|
-
import {
|
|
13
|
-
type ComponentInstanceOverrideProp,
|
|
14
|
-
componentInstanceOverridePropTypeUtil,
|
|
15
|
-
} from '../../prop-types/component-instance-override-prop-type';
|
|
16
|
-
import {
|
|
17
|
-
componentInstanceOverridesPropTypeUtil,
|
|
18
|
-
type ComponentInstanceOverridesPropValue,
|
|
19
|
-
} from '../../prop-types/component-instance-overrides-prop-type';
|
|
20
|
-
import {
|
|
21
|
-
type ComponentInstanceProp,
|
|
22
|
-
componentInstancePropTypeUtil,
|
|
23
|
-
type ComponentInstancePropValue,
|
|
24
|
-
} from '../../prop-types/component-instance-prop-type';
|
|
25
|
-
import { componentOverridablePropTypeUtil } from '../../prop-types/component-overridable-prop-type';
|
|
26
|
-
import { isComponentInstance } from '../../utils/is-component-instance';
|
|
27
|
-
|
|
28
|
-
type RevertSettingsResult = {
|
|
29
|
-
hasChanges: boolean;
|
|
30
|
-
settings: V1ElementSettingsProps;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export function revertElementOverridableSetting(
|
|
34
|
-
elementId: string,
|
|
35
|
-
settingKey: string,
|
|
36
|
-
originValue: unknown,
|
|
37
|
-
overrideKey: string
|
|
38
|
-
): void {
|
|
39
|
-
const container = getContainer( elementId );
|
|
40
|
-
|
|
41
|
-
if ( ! container ) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if ( isComponentInstance( container.model.toJSON() ) ) {
|
|
46
|
-
revertComponentInstanceOverridableSetting( elementId, overrideKey );
|
|
47
|
-
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
updateElementSettings( {
|
|
52
|
-
id: elementId,
|
|
53
|
-
props: { [ settingKey ]: originValue ?? null },
|
|
54
|
-
withHistory: false,
|
|
55
|
-
} );
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function revertComponentInstanceOverridableSetting( elementId: string, overrideKey: string ): void {
|
|
59
|
-
const setting = getElementSetting< ComponentInstanceProp >( elementId, 'component_instance' );
|
|
60
|
-
|
|
61
|
-
const componentInstance = componentInstancePropTypeUtil.extract( setting );
|
|
62
|
-
const overrides = componentInstanceOverridesPropTypeUtil.extract( componentInstance?.overrides );
|
|
63
|
-
|
|
64
|
-
if ( ! overrides?.length ) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const revertedOverrides = revertComponentInstanceOverrides( overrides, overrideKey );
|
|
69
|
-
|
|
70
|
-
const updatedSetting = componentInstancePropTypeUtil.create( {
|
|
71
|
-
...componentInstance,
|
|
72
|
-
overrides: componentInstanceOverridesPropTypeUtil.create( revertedOverrides ),
|
|
73
|
-
} as ComponentInstancePropValue );
|
|
74
|
-
|
|
75
|
-
updateElementSettings( {
|
|
76
|
-
id: elementId,
|
|
77
|
-
props: { component_instance: updatedSetting },
|
|
78
|
-
withHistory: false,
|
|
79
|
-
} );
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function revertComponentInstanceOverrides(
|
|
83
|
-
overrides: NonNullable< ComponentInstanceOverridesPropValue >,
|
|
84
|
-
filterByKey?: string
|
|
85
|
-
): ComponentInstanceOverridesPropValue {
|
|
86
|
-
return overrides
|
|
87
|
-
.map( ( item ) => {
|
|
88
|
-
if ( ! componentOverridablePropTypeUtil.isValid( item ) ) {
|
|
89
|
-
return item;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if ( ! componentInstanceOverridePropTypeUtil.isValid( item.value.origin_value ) ) {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if ( filterByKey && item.value.override_key !== filterByKey ) {
|
|
97
|
-
return item;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return item.value.origin_value as ComponentInstanceOverrideProp;
|
|
101
|
-
} )
|
|
102
|
-
.filter( ( item ): item is NonNullable< typeof item > => item !== null );
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function revertOverridablePropsFromSettings( settings: V1ElementSettingsProps ): RevertSettingsResult {
|
|
106
|
-
let hasChanges = false;
|
|
107
|
-
const revertedSettings: V1ElementSettingsProps = {};
|
|
108
|
-
|
|
109
|
-
for ( const [ key, value ] of Object.entries( settings ) ) {
|
|
110
|
-
if ( componentOverridablePropTypeUtil.isValid( value ) ) {
|
|
111
|
-
revertedSettings[ key ] = value.value.origin_value;
|
|
112
|
-
hasChanges = true;
|
|
113
|
-
} else {
|
|
114
|
-
revertedSettings[ key ] = value;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
return { hasChanges, settings: revertedSettings };
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
export function revertAllOverridablesInElementData( elementData: V1ElementData ): V1ElementData {
|
|
122
|
-
const revertedElement = { ...elementData };
|
|
123
|
-
|
|
124
|
-
if ( isComponentInstance( { widgetType: elementData.widgetType, elType: elementData.elType } ) ) {
|
|
125
|
-
revertedElement.settings = revertComponentInstanceSettings( elementData.settings );
|
|
126
|
-
} else if ( revertedElement.settings ) {
|
|
127
|
-
const { settings } = revertOverridablePropsFromSettings( revertedElement.settings );
|
|
128
|
-
revertedElement.settings = settings;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
if ( revertedElement.elements ) {
|
|
132
|
-
revertedElement.elements = revertedElement.elements.map( revertAllOverridablesInElementData );
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
return revertedElement;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function revertComponentInstanceSettings( settings: V1ElementData[ 'settings' ] ): V1ElementData[ 'settings' ] {
|
|
139
|
-
if ( ! settings?.component_instance ) {
|
|
140
|
-
return settings;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
const componentInstance = componentInstancePropTypeUtil.extract( settings.component_instance );
|
|
144
|
-
const overrides = componentInstanceOverridesPropTypeUtil.extract( componentInstance?.overrides );
|
|
145
|
-
|
|
146
|
-
if ( ! overrides?.length ) {
|
|
147
|
-
return settings;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
const revertedOverrides = revertComponentInstanceOverrides( overrides );
|
|
151
|
-
|
|
152
|
-
return {
|
|
153
|
-
...settings,
|
|
154
|
-
component_instance: componentInstancePropTypeUtil.create( {
|
|
155
|
-
...componentInstance,
|
|
156
|
-
overrides: componentInstanceOverridesPropTypeUtil.create( revertedOverrides ),
|
|
157
|
-
} as ComponentInstancePropValue ),
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
export function revertAllOverridablesInContainer( container: V1Element ): void {
|
|
162
|
-
getAllDescendants( container ).forEach( ( element ) => {
|
|
163
|
-
if ( element.model.get( 'widgetType' ) === COMPONENT_WIDGET_TYPE ) {
|
|
164
|
-
revertComponentInstanceOverridesInElement( element );
|
|
165
|
-
} else {
|
|
166
|
-
revertElementSettings( element );
|
|
167
|
-
}
|
|
168
|
-
} );
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
function revertComponentInstanceOverridesInElement( element: V1Element ): void {
|
|
172
|
-
const settings = element.settings?.toJSON() ?? {};
|
|
173
|
-
const componentInstance = componentInstancePropTypeUtil.extract( settings.component_instance );
|
|
174
|
-
const overrides = componentInstanceOverridesPropTypeUtil.extract( componentInstance?.overrides );
|
|
175
|
-
|
|
176
|
-
if ( ! overrides?.length ) {
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
const revertedOverrides = revertComponentInstanceOverrides( overrides );
|
|
181
|
-
|
|
182
|
-
const updatedSetting = componentInstancePropTypeUtil.create( {
|
|
183
|
-
...componentInstance,
|
|
184
|
-
overrides: componentInstanceOverridesPropTypeUtil.create( revertedOverrides ),
|
|
185
|
-
} as ComponentInstancePropValue );
|
|
186
|
-
|
|
187
|
-
updateElementSettings( {
|
|
188
|
-
id: element.id,
|
|
189
|
-
props: { component_instance: updatedSetting },
|
|
190
|
-
withHistory: false,
|
|
191
|
-
} );
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
function revertElementSettings( element: V1Element ): void {
|
|
195
|
-
const settings = element.settings?.toJSON() ?? {};
|
|
196
|
-
const { hasChanges, settings: revertedSettings } = revertOverridablePropsFromSettings( settings );
|
|
197
|
-
|
|
198
|
-
if ( ! hasChanges ) {
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
updateElementSettings( {
|
|
203
|
-
id: element.id,
|
|
204
|
-
props: revertedSettings,
|
|
205
|
-
withHistory: false,
|
|
206
|
-
} );
|
|
207
|
-
}
|