@elementor/editor-canvas 4.1.0-787 → 4.1.0-789
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 +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +17 -28
- package/dist/index.mjs +17 -28
- package/package.json +18 -18
- package/src/legacy/create-nested-templated-element-type.ts +17 -4
- package/src/legacy/create-templated-element-type.ts +1 -33
- package/src/legacy/init-legacy-views.ts +1 -1
- package/src/legacy/types.ts +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -52,7 +52,7 @@ type LegacyWindow = Window & {
|
|
|
52
52
|
elementsManager: {
|
|
53
53
|
registerElementType: (type: ElementType) => void;
|
|
54
54
|
getElementTypeClass: (type: string) => typeof ElementType | undefined;
|
|
55
|
-
|
|
55
|
+
elementTypes: Record<string, ElementType>;
|
|
56
56
|
};
|
|
57
57
|
$preview: JQueryElement & [
|
|
58
58
|
{
|
package/dist/index.d.ts
CHANGED
|
@@ -52,7 +52,7 @@ type LegacyWindow = Window & {
|
|
|
52
52
|
elementsManager: {
|
|
53
53
|
registerElementType: (type: ElementType) => void;
|
|
54
54
|
getElementTypeClass: (type: string) => typeof ElementType | undefined;
|
|
55
|
-
|
|
55
|
+
elementTypes: Record<string, ElementType>;
|
|
56
56
|
};
|
|
57
57
|
$preview: JQueryElement & [
|
|
58
58
|
{
|
package/dist/index.js
CHANGED
|
@@ -2169,7 +2169,7 @@ function createTemplatedElementView({
|
|
|
2169
2169
|
this.triggerMethod("render:template");
|
|
2170
2170
|
}
|
|
2171
2171
|
afterSettingsResolve(settings) {
|
|
2172
|
-
return
|
|
2172
|
+
return settings;
|
|
2173
2173
|
}
|
|
2174
2174
|
_beforeRender() {
|
|
2175
2175
|
createBeforeRender(this);
|
|
@@ -2192,28 +2192,6 @@ function createTemplatedElementView({
|
|
|
2192
2192
|
const id = this.model.get("id");
|
|
2193
2193
|
return originId ?? id;
|
|
2194
2194
|
}
|
|
2195
|
-
_getLinkAttributes(settings) {
|
|
2196
|
-
const linkAttributes = Object.entries(this._handleActionLinkAttributes(settings)).map(([key, value]) => `${key}="${value}"`).join(" ");
|
|
2197
|
-
return {
|
|
2198
|
-
...settings,
|
|
2199
|
-
link: linkAttributes ? {
|
|
2200
|
-
tag: settings?.link?.tag,
|
|
2201
|
-
attributes: linkAttributes
|
|
2202
|
-
} : null
|
|
2203
|
-
};
|
|
2204
|
-
}
|
|
2205
|
-
_handleActionLinkAttributes(settings) {
|
|
2206
|
-
const link = settings.link;
|
|
2207
|
-
if (!link || typeof link !== "object" || !("href" in link) || !link.href) {
|
|
2208
|
-
return {};
|
|
2209
|
-
}
|
|
2210
|
-
const isActionLink = "tag" in link && link.tag === "button";
|
|
2211
|
-
const urlAttrKey = isActionLink ? "data-action-link" : "href";
|
|
2212
|
-
return {
|
|
2213
|
-
[urlAttrKey]: link.href,
|
|
2214
|
-
target: ("target" in link && link.target) ?? "_self"
|
|
2215
|
-
};
|
|
2216
|
-
}
|
|
2217
2195
|
};
|
|
2218
2196
|
}
|
|
2219
2197
|
|
|
@@ -2278,6 +2256,11 @@ function createNestedTemplatedElementView({
|
|
|
2278
2256
|
_lastResolvedSettingsHash: null,
|
|
2279
2257
|
_domUpdateWasSkipped: false,
|
|
2280
2258
|
template: false,
|
|
2259
|
+
attributes() {
|
|
2260
|
+
return {
|
|
2261
|
+
"data-model-cid": this.model.cid
|
|
2262
|
+
};
|
|
2263
|
+
},
|
|
2281
2264
|
getTemplateType() {
|
|
2282
2265
|
return "twig";
|
|
2283
2266
|
},
|
|
@@ -2369,12 +2352,18 @@ function createNestedTemplatedElementView({
|
|
|
2369
2352
|
return;
|
|
2370
2353
|
}
|
|
2371
2354
|
this._destroyAlpine();
|
|
2355
|
+
const overlayHTML = this.getHandlesOverlay()?.get(0)?.outerHTML ?? "";
|
|
2356
|
+
const needsTagSwap = oldEl.tagName !== newEl.tagName;
|
|
2357
|
+
const targetEl = needsTagSwap ? (oldEl.ownerDocument ?? document).createElement(newEl.tagName) : oldEl;
|
|
2372
2358
|
Array.from(newEl.attributes).forEach((attr) => {
|
|
2373
|
-
|
|
2359
|
+
targetEl.setAttribute(attr.name, attr.value);
|
|
2374
2360
|
});
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2361
|
+
targetEl.setAttribute("draggable", "true");
|
|
2362
|
+
targetEl.innerHTML = overlayHTML + newEl.innerHTML;
|
|
2363
|
+
if (needsTagSwap) {
|
|
2364
|
+
oldEl.replaceWith(targetEl);
|
|
2365
|
+
this.setElement(legacyWindow.jQuery(targetEl));
|
|
2366
|
+
}
|
|
2378
2367
|
},
|
|
2379
2368
|
async _renderChildren() {
|
|
2380
2369
|
if (this._shouldReuseChildren()) {
|
|
@@ -3198,7 +3187,7 @@ function tryRegisterElement(legacyWindow, type, element, ResolvedElementType) {
|
|
|
3198
3187
|
} catch {
|
|
3199
3188
|
const canOverrideExisting = canBeNestedTemplated(element) && isAlreadyRegistered;
|
|
3200
3189
|
if (canOverrideExisting) {
|
|
3201
|
-
elementsManager.
|
|
3190
|
+
elementsManager.elementTypes[type] = new ResolvedElementType();
|
|
3202
3191
|
}
|
|
3203
3192
|
}
|
|
3204
3193
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -2135,7 +2135,7 @@ function createTemplatedElementView({
|
|
|
2135
2135
|
this.triggerMethod("render:template");
|
|
2136
2136
|
}
|
|
2137
2137
|
afterSettingsResolve(settings) {
|
|
2138
|
-
return
|
|
2138
|
+
return settings;
|
|
2139
2139
|
}
|
|
2140
2140
|
_beforeRender() {
|
|
2141
2141
|
createBeforeRender(this);
|
|
@@ -2158,28 +2158,6 @@ function createTemplatedElementView({
|
|
|
2158
2158
|
const id = this.model.get("id");
|
|
2159
2159
|
return originId ?? id;
|
|
2160
2160
|
}
|
|
2161
|
-
_getLinkAttributes(settings) {
|
|
2162
|
-
const linkAttributes = Object.entries(this._handleActionLinkAttributes(settings)).map(([key, value]) => `${key}="${value}"`).join(" ");
|
|
2163
|
-
return {
|
|
2164
|
-
...settings,
|
|
2165
|
-
link: linkAttributes ? {
|
|
2166
|
-
tag: settings?.link?.tag,
|
|
2167
|
-
attributes: linkAttributes
|
|
2168
|
-
} : null
|
|
2169
|
-
};
|
|
2170
|
-
}
|
|
2171
|
-
_handleActionLinkAttributes(settings) {
|
|
2172
|
-
const link = settings.link;
|
|
2173
|
-
if (!link || typeof link !== "object" || !("href" in link) || !link.href) {
|
|
2174
|
-
return {};
|
|
2175
|
-
}
|
|
2176
|
-
const isActionLink = "tag" in link && link.tag === "button";
|
|
2177
|
-
const urlAttrKey = isActionLink ? "data-action-link" : "href";
|
|
2178
|
-
return {
|
|
2179
|
-
[urlAttrKey]: link.href,
|
|
2180
|
-
target: ("target" in link && link.target) ?? "_self"
|
|
2181
|
-
};
|
|
2182
|
-
}
|
|
2183
2161
|
};
|
|
2184
2162
|
}
|
|
2185
2163
|
|
|
@@ -2244,6 +2222,11 @@ function createNestedTemplatedElementView({
|
|
|
2244
2222
|
_lastResolvedSettingsHash: null,
|
|
2245
2223
|
_domUpdateWasSkipped: false,
|
|
2246
2224
|
template: false,
|
|
2225
|
+
attributes() {
|
|
2226
|
+
return {
|
|
2227
|
+
"data-model-cid": this.model.cid
|
|
2228
|
+
};
|
|
2229
|
+
},
|
|
2247
2230
|
getTemplateType() {
|
|
2248
2231
|
return "twig";
|
|
2249
2232
|
},
|
|
@@ -2335,12 +2318,18 @@ function createNestedTemplatedElementView({
|
|
|
2335
2318
|
return;
|
|
2336
2319
|
}
|
|
2337
2320
|
this._destroyAlpine();
|
|
2321
|
+
const overlayHTML = this.getHandlesOverlay()?.get(0)?.outerHTML ?? "";
|
|
2322
|
+
const needsTagSwap = oldEl.tagName !== newEl.tagName;
|
|
2323
|
+
const targetEl = needsTagSwap ? (oldEl.ownerDocument ?? document).createElement(newEl.tagName) : oldEl;
|
|
2338
2324
|
Array.from(newEl.attributes).forEach((attr) => {
|
|
2339
|
-
|
|
2325
|
+
targetEl.setAttribute(attr.name, attr.value);
|
|
2340
2326
|
});
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2327
|
+
targetEl.setAttribute("draggable", "true");
|
|
2328
|
+
targetEl.innerHTML = overlayHTML + newEl.innerHTML;
|
|
2329
|
+
if (needsTagSwap) {
|
|
2330
|
+
oldEl.replaceWith(targetEl);
|
|
2331
|
+
this.setElement(legacyWindow.jQuery(targetEl));
|
|
2332
|
+
}
|
|
2344
2333
|
},
|
|
2345
2334
|
async _renderChildren() {
|
|
2346
2335
|
if (this._shouldReuseChildren()) {
|
|
@@ -3168,7 +3157,7 @@ function tryRegisterElement(legacyWindow, type, element, ResolvedElementType) {
|
|
|
3168
3157
|
} catch {
|
|
3169
3158
|
const canOverrideExisting = canBeNestedTemplated(element) && isAlreadyRegistered;
|
|
3170
3159
|
if (canOverrideExisting) {
|
|
3171
|
-
elementsManager.
|
|
3160
|
+
elementsManager.elementTypes[type] = new ResolvedElementType();
|
|
3172
3161
|
}
|
|
3173
3162
|
}
|
|
3174
3163
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elementor/editor-canvas",
|
|
3
3
|
"description": "Elementor Editor Canvas",
|
|
4
|
-
"version": "4.1.0-
|
|
4
|
+
"version": "4.1.0-789",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": "Elementor Team",
|
|
7
7
|
"homepage": "https://elementor.com/",
|
|
@@ -37,25 +37,25 @@
|
|
|
37
37
|
"react-dom": "^18.3.1"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@elementor/editor": "4.1.0-
|
|
40
|
+
"@elementor/editor": "4.1.0-789",
|
|
41
41
|
"dompurify": "^3.2.6",
|
|
42
|
-
"@elementor/editor-controls": "4.1.0-
|
|
43
|
-
"@elementor/editor-documents": "4.1.0-
|
|
44
|
-
"@elementor/editor-elements": "4.1.0-
|
|
45
|
-
"@elementor/editor-interactions": "4.1.0-
|
|
46
|
-
"@elementor/editor-mcp": "4.1.0-
|
|
47
|
-
"@elementor/editor-notifications": "4.1.0-
|
|
48
|
-
"@elementor/editor-props": "4.1.0-
|
|
49
|
-
"@elementor/editor-responsive": "4.1.0-
|
|
50
|
-
"@elementor/editor-styles": "4.1.0-
|
|
51
|
-
"@elementor/editor-styles-repository": "4.1.0-
|
|
52
|
-
"@elementor/editor-ui": "4.1.0-
|
|
53
|
-
"@elementor/editor-v1-adapters": "4.1.0-
|
|
54
|
-
"@elementor/schema": "4.1.0-
|
|
55
|
-
"@elementor/twing": "4.1.0-
|
|
42
|
+
"@elementor/editor-controls": "4.1.0-789",
|
|
43
|
+
"@elementor/editor-documents": "4.1.0-789",
|
|
44
|
+
"@elementor/editor-elements": "4.1.0-789",
|
|
45
|
+
"@elementor/editor-interactions": "4.1.0-789",
|
|
46
|
+
"@elementor/editor-mcp": "4.1.0-789",
|
|
47
|
+
"@elementor/editor-notifications": "4.1.0-789",
|
|
48
|
+
"@elementor/editor-props": "4.1.0-789",
|
|
49
|
+
"@elementor/editor-responsive": "4.1.0-789",
|
|
50
|
+
"@elementor/editor-styles": "4.1.0-789",
|
|
51
|
+
"@elementor/editor-styles-repository": "4.1.0-789",
|
|
52
|
+
"@elementor/editor-ui": "4.1.0-789",
|
|
53
|
+
"@elementor/editor-v1-adapters": "4.1.0-789",
|
|
54
|
+
"@elementor/schema": "4.1.0-789",
|
|
55
|
+
"@elementor/twing": "4.1.0-789",
|
|
56
56
|
"@elementor/ui": "1.37.5",
|
|
57
|
-
"@elementor/utils": "4.1.0-
|
|
58
|
-
"@elementor/wp-media": "4.1.0-
|
|
57
|
+
"@elementor/utils": "4.1.0-789",
|
|
58
|
+
"@elementor/wp-media": "4.1.0-789",
|
|
59
59
|
"@floating-ui/react": "^0.27.5",
|
|
60
60
|
"@wordpress/i18n": "^5.13.0"
|
|
61
61
|
},
|
|
@@ -109,6 +109,12 @@ export function createNestedTemplatedElementView( {
|
|
|
109
109
|
|
|
110
110
|
template: false,
|
|
111
111
|
|
|
112
|
+
attributes() {
|
|
113
|
+
return {
|
|
114
|
+
'data-model-cid': this.model.cid,
|
|
115
|
+
};
|
|
116
|
+
},
|
|
117
|
+
|
|
112
118
|
getTemplateType() {
|
|
113
119
|
return 'twig';
|
|
114
120
|
},
|
|
@@ -240,14 +246,21 @@ export function createNestedTemplatedElementView( {
|
|
|
240
246
|
|
|
241
247
|
this._destroyAlpine();
|
|
242
248
|
|
|
249
|
+
const overlayHTML = this.getHandlesOverlay()?.get( 0 )?.outerHTML ?? '';
|
|
250
|
+
const needsTagSwap = oldEl.tagName !== newEl.tagName;
|
|
251
|
+
const targetEl = needsTagSwap ? ( oldEl.ownerDocument ?? document ).createElement( newEl.tagName ) : oldEl;
|
|
252
|
+
|
|
243
253
|
Array.from( newEl.attributes ).forEach( ( attr ) => {
|
|
244
|
-
|
|
254
|
+
targetEl.setAttribute( attr.name, attr.value );
|
|
245
255
|
} );
|
|
246
256
|
|
|
247
|
-
|
|
257
|
+
targetEl.setAttribute( 'draggable', 'true' );
|
|
258
|
+
targetEl.innerHTML = overlayHTML + newEl.innerHTML;
|
|
248
259
|
|
|
249
|
-
|
|
250
|
-
|
|
260
|
+
if ( needsTagSwap ) {
|
|
261
|
+
oldEl.replaceWith( targetEl );
|
|
262
|
+
this.setElement( legacyWindow.jQuery( targetEl as unknown as string ) );
|
|
263
|
+
}
|
|
251
264
|
},
|
|
252
265
|
|
|
253
266
|
async _renderChildren() {
|
|
@@ -186,7 +186,7 @@ export function createTemplatedElementView( {
|
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
afterSettingsResolve( settings: { [ key: string ]: unknown } ) {
|
|
189
|
-
return
|
|
189
|
+
return settings;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
_beforeRender() {
|
|
@@ -214,37 +214,5 @@ export function createTemplatedElementView( {
|
|
|
214
214
|
|
|
215
215
|
return originId ?? id;
|
|
216
216
|
}
|
|
217
|
-
|
|
218
|
-
_getLinkAttributes( settings: { [ key: string ]: unknown } ) {
|
|
219
|
-
const linkAttributes = Object.entries( this._handleActionLinkAttributes( settings ) )
|
|
220
|
-
.map( ( [ key, value ] ) => `${ key }="${ value }"` )
|
|
221
|
-
.join( ' ' );
|
|
222
|
-
|
|
223
|
-
return {
|
|
224
|
-
...settings,
|
|
225
|
-
link: linkAttributes
|
|
226
|
-
? {
|
|
227
|
-
tag: ( settings?.link as { tag?: string } )?.tag,
|
|
228
|
-
attributes: linkAttributes,
|
|
229
|
-
}
|
|
230
|
-
: null,
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
_handleActionLinkAttributes( settings: { [ key: string ]: unknown } ) {
|
|
235
|
-
const link = settings.link;
|
|
236
|
-
|
|
237
|
-
if ( ! link || typeof link !== 'object' || ! ( 'href' in link ) || ! link.href ) {
|
|
238
|
-
return {};
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
const isActionLink = 'tag' in link && link.tag === 'button';
|
|
242
|
-
const urlAttrKey = isActionLink ? 'data-action-link' : 'href';
|
|
243
|
-
|
|
244
|
-
return {
|
|
245
|
-
[ urlAttrKey ]: link.href,
|
|
246
|
-
target: ( 'target' in link && link.target ) ?? '_self',
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
217
|
};
|
|
250
218
|
}
|
|
@@ -101,7 +101,7 @@ function tryRegisterElement(
|
|
|
101
101
|
const canOverrideExisting = canBeNestedTemplated( element ) && isAlreadyRegistered;
|
|
102
102
|
|
|
103
103
|
if ( canOverrideExisting ) {
|
|
104
|
-
elementsManager.
|
|
104
|
+
elementsManager.elementTypes[ type ] = new ResolvedElementType();
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
}
|
package/src/legacy/types.ts
CHANGED
|
@@ -37,7 +37,7 @@ export type LegacyWindow = Window & {
|
|
|
37
37
|
elementsManager: {
|
|
38
38
|
registerElementType: ( type: ElementType ) => void;
|
|
39
39
|
getElementTypeClass: ( type: string ) => typeof ElementType | undefined;
|
|
40
|
-
|
|
40
|
+
elementTypes: Record< string, ElementType >;
|
|
41
41
|
};
|
|
42
42
|
$preview: JQueryElement &
|
|
43
43
|
[
|