@elementor/editor-canvas 0.8.0 → 0.10.0
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/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +29 -0
- package/dist/index.d.mts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +203 -220
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +192 -222
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
- package/src/{renderers/__tests__ → __tests__}/__mocks__/styles-schema.ts +11 -4
- package/src/__tests__/init-styles-renderer.test.ts +8 -3
- package/src/{renderers/__tests__/create-props-resolver.transformers.test.ts → __tests__/styles-prop-resolver.test.ts} +23 -27
- package/src/index.ts +2 -0
- package/src/init-style-transformers.ts +58 -0
- package/src/init-styles-renderer.ts +8 -6
- package/src/init.tsx +2 -0
- package/src/renderers/__tests__/create-props-resolver.test.ts +43 -34
- package/src/renderers/__tests__/render-styles.test.ts +3 -15
- package/src/renderers/create-props-resolver.ts +32 -31
- package/src/renderers/render-styles.ts +4 -7
- package/src/style-transformers-registry.ts +3 -0
- package/src/transformers/create-transformer.ts +6 -0
- package/src/transformers/create-transformers-registry.ts +16 -0
- package/src/transformers/styles/background-color-overlay-transformer.ts +5 -0
- package/src/transformers/styles/background-image-overlay-transformer.ts +28 -0
- package/src/transformers/styles/background-image-position-offset-transformer.ts +10 -0
- package/src/transformers/styles/background-image-size-scale-transformer.ts +10 -0
- package/src/transformers/styles/background-transformer.ts +13 -0
- package/src/transformers/styles/create-combine-array-transformer.ts +5 -0
- package/src/transformers/styles/create-multi-props-transformer.ts +14 -0
- package/src/transformers/styles/image-attachment-transformer.ts +15 -0
- package/src/transformers/styles/image-src-transformer.ts +11 -0
- package/src/transformers/styles/image-transformer.ts +34 -0
- package/src/transformers/styles/primitive-transformer.ts +3 -0
- package/src/transformers/styles/shadow-transformer.ts +16 -0
- package/src/transformers/styles/size-transformer.ts +10 -0
- package/src/transformers/styles/stroke-transformer.ts +17 -0
- package/src/transformers/types.ts +14 -0
- package/src/renderers/style-transformers/background-color-overlay-transformer.ts +0 -9
- package/src/renderers/style-transformers/background-image-overlay-transformer.ts +0 -24
- package/src/renderers/style-transformers/background-image-position-offset-transformer.ts +0 -10
- package/src/renderers/style-transformers/background-image-size-scale-transformer.ts +0 -10
- package/src/renderers/style-transformers/background-transformer.ts +0 -12
- package/src/renderers/style-transformers/create-combine-array-transformer.ts +0 -9
- package/src/renderers/style-transformers/create-corner-sizes-transformer.ts +0 -31
- package/src/renderers/style-transformers/create-edge-sizes-transformer.ts +0 -31
- package/src/renderers/style-transformers/dimensions.ts +0 -20
- package/src/renderers/style-transformers/image-attachment.ts +0 -14
- package/src/renderers/style-transformers/image-src.ts +0 -8
- package/src/renderers/style-transformers/image.ts +0 -25
- package/src/renderers/style-transformers/index.ts +0 -48
- package/src/renderers/style-transformers/layout-direction-transformer.ts +0 -20
- package/src/renderers/style-transformers/primitive-transformer.ts +0 -7
- package/src/renderers/style-transformers/shadow-transformer.ts +0 -11
- package/src/renderers/style-transformers/size-transformer.ts +0 -9
- package/src/renderers/style-transformers/stroke-transformer.ts +0 -9
- package/src/renderers/types.ts +0 -12
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @elementor/editor-canvas@0.
|
|
2
|
+
> @elementor/editor-canvas@0.10.0 build
|
|
3
3
|
> tsup --config=../../tsup.build.ts
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.ts
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
[34mCLI[39m Cleaning output folder
|
|
11
11
|
[34mESM[39m Build start
|
|
12
12
|
[34mCJS[39m Build start
|
|
13
|
-
[32mCJS[39m [1mdist/index.js [22m[32m19.
|
|
14
|
-
[32mCJS[39m [1mdist/index.js.map [22m[
|
|
15
|
-
[32mCJS[39m ⚡️ Build success in
|
|
16
|
-
[32mESM[39m [1mdist/index.mjs [22m[
|
|
17
|
-
[32mESM[39m [1mdist/index.mjs.map [22m[
|
|
18
|
-
[32mESM[39m ⚡️ Build success in
|
|
13
|
+
[32mCJS[39m [1mdist/index.js [22m[32m19.31 KB[39m
|
|
14
|
+
[32mCJS[39m [1mdist/index.js.map [22m[32m37.41 KB[39m
|
|
15
|
+
[32mCJS[39m ⚡️ Build success in 145ms
|
|
16
|
+
[32mESM[39m [1mdist/index.mjs [22m[32m17.23 KB[39m
|
|
17
|
+
[32mESM[39m [1mdist/index.mjs.map [22m[32m37.36 KB[39m
|
|
18
|
+
[32mESM[39m ⚡️ Build success in 149ms
|
|
19
19
|
[34mDTS[39m Build start
|
|
20
|
-
[32mDTS[39m ⚡️ Build success in
|
|
21
|
-
[32mDTS[39m [1mdist/index.d.mts [22m[
|
|
22
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
20
|
+
[32mDTS[39m ⚡️ Build success in 19410ms
|
|
21
|
+
[32mDTS[39m [1mdist/index.d.mts [22m[32m434.00 B[39m
|
|
22
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m434.00 B[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# @elementor/editor-canvas
|
|
2
2
|
|
|
3
|
+
## 0.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 728ffb5: Add the ability to extend transformers
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [728ffb5]
|
|
12
|
+
- @elementor/editor-props@0.9.2
|
|
13
|
+
- @elementor/editor-styles-repository@0.7.2
|
|
14
|
+
- @elementor/editor-elements@0.5.4
|
|
15
|
+
- @elementor/editor-styles@0.5.7
|
|
16
|
+
|
|
17
|
+
## 0.9.0
|
|
18
|
+
|
|
19
|
+
### Minor Changes
|
|
20
|
+
|
|
21
|
+
- c41674c: Update stroke renderer to be compatible with SVG widget
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- 6b064c5: Make atomic border radius control use logical properties
|
|
26
|
+
- Updated dependencies [6b064c5]
|
|
27
|
+
- @elementor/editor-props@0.9.1
|
|
28
|
+
- @elementor/editor-styles-repository@0.7.1
|
|
29
|
+
- @elementor/editor-elements@0.5.3
|
|
30
|
+
- @elementor/editor-styles@0.5.6
|
|
31
|
+
|
|
3
32
|
## 0.8.0
|
|
4
33
|
|
|
5
34
|
### Minor Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
|
+
type Transformer<TValue> = (value: TValue, options: {
|
|
2
|
+
key: string;
|
|
3
|
+
signal?: AbortSignal;
|
|
4
|
+
}) => unknown;
|
|
5
|
+
type TransformerName = string;
|
|
6
|
+
type AnyTransformer = Transformer<any>;
|
|
7
|
+
type TransformersMap = Record<string, AnyTransformer>;
|
|
1
8
|
|
|
2
|
-
|
|
9
|
+
declare const styleTransformersRegistry: {
|
|
10
|
+
register(name: TransformerName, transformer: AnyTransformer): /*elided*/ any;
|
|
11
|
+
all(): TransformersMap;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { styleTransformersRegistry };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
|
+
type Transformer<TValue> = (value: TValue, options: {
|
|
2
|
+
key: string;
|
|
3
|
+
signal?: AbortSignal;
|
|
4
|
+
}) => unknown;
|
|
5
|
+
type TransformerName = string;
|
|
6
|
+
type AnyTransformer = Transformer<any>;
|
|
7
|
+
type TransformersMap = Record<string, AnyTransformer>;
|
|
1
8
|
|
|
2
|
-
|
|
9
|
+
declare const styleTransformersRegistry: {
|
|
10
|
+
register(name: TransformerName, transformer: AnyTransformer): /*elided*/ any;
|
|
11
|
+
all(): TransformersMap;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { styleTransformersRegistry };
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,10 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
8
12
|
var __copyProps = (to, from, except, desc) => {
|
|
9
13
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
14
|
for (let key of __getOwnPropNames(from))
|
|
@@ -21,6 +25,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/index.ts
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
|
+
styleTransformersRegistry: () => styleTransformersRegistry
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(index_exports);
|
|
24
36
|
|
|
25
37
|
// src/init.tsx
|
|
26
38
|
var import_editor = require("@elementor/editor");
|
|
@@ -148,14 +160,70 @@ function ElementsOverlays() {
|
|
|
148
160
|
));
|
|
149
161
|
}
|
|
150
162
|
|
|
151
|
-
// src/
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
163
|
+
// src/transformers/create-transformers-registry.ts
|
|
164
|
+
function createTransformersRegistry() {
|
|
165
|
+
const transformers = {};
|
|
166
|
+
return {
|
|
167
|
+
register(name, transformer) {
|
|
168
|
+
transformers[name] = transformer;
|
|
169
|
+
return this;
|
|
170
|
+
},
|
|
171
|
+
all() {
|
|
172
|
+
return transformers;
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
}
|
|
156
176
|
|
|
157
|
-
// src/
|
|
158
|
-
var
|
|
177
|
+
// src/style-transformers-registry.ts
|
|
178
|
+
var styleTransformersRegistry = createTransformersRegistry();
|
|
179
|
+
|
|
180
|
+
// src/transformers/create-transformer.ts
|
|
181
|
+
function createTransformer(cb) {
|
|
182
|
+
return cb;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// src/transformers/styles/background-color-overlay-transformer.ts
|
|
186
|
+
var backgroundColorOverlayTransformer = createTransformer(
|
|
187
|
+
(value) => `linear-gradient(${value}, ${value})`
|
|
188
|
+
);
|
|
189
|
+
|
|
190
|
+
// src/transformers/styles/background-image-overlay-transformer.ts
|
|
191
|
+
var DEFAULT_POSITION_VALUE = "0% 0%";
|
|
192
|
+
var backgroundImageOverlayTransformer = createTransformer((value) => {
|
|
193
|
+
const { image, size: size2 = null, position = null, repeat = null, attachment = null } = value;
|
|
194
|
+
if (!image) {
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
const backgroundStyles = [
|
|
198
|
+
image,
|
|
199
|
+
repeat,
|
|
200
|
+
attachment,
|
|
201
|
+
size2 ? `${position || DEFAULT_POSITION_VALUE} / ${size2}` : position
|
|
202
|
+
].filter(Boolean);
|
|
203
|
+
return backgroundStyles.join(" ");
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
// src/transformers/styles/background-image-position-offset-transformer.ts
|
|
207
|
+
var backgroundImagePositionOffsetTransformer = createTransformer(
|
|
208
|
+
({ x = "0px", y = "0px" }) => `${x} ${y}`
|
|
209
|
+
);
|
|
210
|
+
|
|
211
|
+
// src/transformers/styles/background-image-size-scale-transformer.ts
|
|
212
|
+
var backgroundImageSizeScaleTransformer = createTransformer(
|
|
213
|
+
({ width = "auto", height = "auto" }) => `${width} ${height}`
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
// src/transformers/styles/background-transformer.ts
|
|
217
|
+
var backgroundTransformer = createTransformer((value) => {
|
|
218
|
+
const overlays = value["background-overlay"] ?? "";
|
|
219
|
+
const color = value.color ?? "";
|
|
220
|
+
return `${overlays} ${color}`.trim();
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
// src/transformers/styles/create-combine-array-transformer.ts
|
|
224
|
+
var createCombineArrayTransformer = (delimiter) => {
|
|
225
|
+
return createTransformer((value) => value.filter(Boolean).join(delimiter));
|
|
226
|
+
};
|
|
159
227
|
|
|
160
228
|
// src/renderers/multi-props.ts
|
|
161
229
|
var isMultiProps = (propValue) => {
|
|
@@ -171,9 +239,121 @@ var getMultiPropsValue = (multiProps) => {
|
|
|
171
239
|
return multiProps.value;
|
|
172
240
|
};
|
|
173
241
|
|
|
242
|
+
// src/transformers/styles/create-multi-props-transformer.ts
|
|
243
|
+
var createMultiPropsTransformer = (keys, keyGenerator) => {
|
|
244
|
+
return createTransformer((value, { key: propKey }) => {
|
|
245
|
+
const entries = keys.filter((key) => value[key]).map((key) => [keyGenerator({ propKey, key }), value[key]]);
|
|
246
|
+
return createMultiPropsValue(Object.fromEntries(entries));
|
|
247
|
+
});
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
// src/transformers/styles/image-attachment-transformer.ts
|
|
251
|
+
var import_wp_media = require("@elementor/wp-media");
|
|
252
|
+
var imageAttachmentTransformer = createTransformer(async (value) => {
|
|
253
|
+
const attachment = await (0, import_wp_media.getMediaAttachment)({ id: value });
|
|
254
|
+
if (!attachment) {
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
return attachment;
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
// src/transformers/styles/image-src-transformer.ts
|
|
261
|
+
var imageSrcTransformer = createTransformer((value) => ({
|
|
262
|
+
attachment: value.id,
|
|
263
|
+
url: value.url
|
|
264
|
+
}));
|
|
265
|
+
|
|
266
|
+
// src/transformers/styles/image-transformer.ts
|
|
267
|
+
var imageTransformer = createTransformer((value) => {
|
|
268
|
+
const { src, size: size2 } = value;
|
|
269
|
+
if (src?.url) {
|
|
270
|
+
return `url(${src.url})`;
|
|
271
|
+
}
|
|
272
|
+
const sizeUrl = src?.attachment?.sizes?.[size2 ?? ""]?.url;
|
|
273
|
+
if (sizeUrl) {
|
|
274
|
+
return `url(${sizeUrl})`;
|
|
275
|
+
}
|
|
276
|
+
const attachmentUrl = src?.attachment?.url;
|
|
277
|
+
if (attachmentUrl) {
|
|
278
|
+
return `url(${attachmentUrl})`;
|
|
279
|
+
}
|
|
280
|
+
return null;
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
// src/transformers/styles/primitive-transformer.ts
|
|
284
|
+
var primitiveTransformer = createTransformer((value) => value);
|
|
285
|
+
|
|
286
|
+
// src/transformers/styles/shadow-transformer.ts
|
|
287
|
+
var shadowTransformer = createTransformer((value) => {
|
|
288
|
+
return [value.hOffset, value.vOffset, value.blur, value.spread, value.color, value.position].filter(Boolean).join(" ");
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
// src/transformers/styles/size-transformer.ts
|
|
292
|
+
var sizeTransformer = createTransformer((value) => {
|
|
293
|
+
return `${value.size}${value.unit}`;
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
// src/transformers/styles/stroke-transformer.ts
|
|
297
|
+
var strokeTransformer = createTransformer((value) => {
|
|
298
|
+
const parsed = {
|
|
299
|
+
"-webkit-text-stroke": `${value.width} ${value.color}`,
|
|
300
|
+
stroke: `${value.color}`,
|
|
301
|
+
"stroke-width": `${value.width}`
|
|
302
|
+
};
|
|
303
|
+
return createMultiPropsValue(parsed);
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
// src/init-style-transformers.ts
|
|
307
|
+
function initStyleTransformers() {
|
|
308
|
+
styleTransformersRegistry.register("size", sizeTransformer).register("shadow", shadowTransformer).register("stroke", strokeTransformer).register(
|
|
309
|
+
"dimensions",
|
|
310
|
+
createMultiPropsTransformer(
|
|
311
|
+
["top", "right", "bottom", "left"],
|
|
312
|
+
({ propKey, key }) => `${propKey}-${key}`
|
|
313
|
+
)
|
|
314
|
+
).register("color", primitiveTransformer).register("number", primitiveTransformer).register("string", primitiveTransformer).register("url", primitiveTransformer).register("box-shadow", createCombineArrayTransformer(",")).register("background", backgroundTransformer).register("background-overlay", createCombineArrayTransformer(",")).register("background-color-overlay", backgroundColorOverlayTransformer).register("background-image-overlay", backgroundImageOverlayTransformer).register("background-image-position-offset", backgroundImagePositionOffsetTransformer).register("background-image-size-scale", backgroundImageSizeScaleTransformer).register("image-attachment-id", imageAttachmentTransformer).register("image-src", imageSrcTransformer).register("image", imageTransformer).register(
|
|
315
|
+
"layout-direction",
|
|
316
|
+
createMultiPropsTransformer(["row", "column"], ({ propKey, key }) => `${key}-${propKey}`)
|
|
317
|
+
).register(
|
|
318
|
+
"border-width",
|
|
319
|
+
createMultiPropsTransformer(["top", "right", "bottom", "left"], ({ key }) => `border-${key}-width`)
|
|
320
|
+
).register(
|
|
321
|
+
"border-radius",
|
|
322
|
+
createMultiPropsTransformer(
|
|
323
|
+
["start-start", "start-end", "end-start", "end-end"],
|
|
324
|
+
({ key }) => `border-${key}-radius`
|
|
325
|
+
)
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// src/init-styles-renderer.ts
|
|
330
|
+
var import_editor_responsive = require("@elementor/editor-responsive");
|
|
331
|
+
var import_editor_styles = require("@elementor/editor-styles");
|
|
332
|
+
var import_editor_styles_repository = require("@elementor/editor-styles-repository");
|
|
333
|
+
var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
|
|
334
|
+
|
|
174
335
|
// src/renderers/create-props-resolver.ts
|
|
336
|
+
var import_editor_props = require("@elementor/editor-props");
|
|
175
337
|
var TRANSFORM_DEPTH_LIMIT = 3;
|
|
176
|
-
function createPropsResolver(transformers,
|
|
338
|
+
function createPropsResolver({ transformers, schema: initialSchema, onPropResolve }) {
|
|
339
|
+
async function resolve({ props, schema, signal }) {
|
|
340
|
+
schema = schema ?? initialSchema;
|
|
341
|
+
const promises = Promise.all(
|
|
342
|
+
Object.entries(schema).map(async ([key, type]) => {
|
|
343
|
+
const value = props[key] ?? type.default;
|
|
344
|
+
const transformed = await transform({ value, key, type, signal });
|
|
345
|
+
if (transformed === null) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
onPropResolve?.({ key, value: transformed });
|
|
349
|
+
if (isMultiProps(transformed)) {
|
|
350
|
+
return getMultiPropsValue(transformed);
|
|
351
|
+
}
|
|
352
|
+
return { [key]: transformed };
|
|
353
|
+
})
|
|
354
|
+
);
|
|
355
|
+
return Object.assign({}, ...(await promises).filter(Boolean));
|
|
356
|
+
}
|
|
177
357
|
async function transform({ value, key, type, signal, depth = 0 }) {
|
|
178
358
|
if (value === null || value === void 0) {
|
|
179
359
|
return null;
|
|
@@ -219,23 +399,6 @@ function createPropsResolver(transformers, { onPropResolve } = {}) {
|
|
|
219
399
|
return null;
|
|
220
400
|
}
|
|
221
401
|
}
|
|
222
|
-
async function resolve({ props, schema, signal }) {
|
|
223
|
-
const promises = Promise.all(
|
|
224
|
-
Object.entries(schema).map(async ([key, type]) => {
|
|
225
|
-
const value = props[key] ?? type.default;
|
|
226
|
-
const transformed = await transform({ value, key, type, signal });
|
|
227
|
-
if (transformed === null) {
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
onPropResolve?.({ key, value: transformed });
|
|
231
|
-
if (isMultiProps(transformed)) {
|
|
232
|
-
return getMultiPropsValue(transformed);
|
|
233
|
-
}
|
|
234
|
-
return { [key]: transformed };
|
|
235
|
-
})
|
|
236
|
-
);
|
|
237
|
-
return Object.assign({}, ...(await promises).filter(Boolean));
|
|
238
|
-
}
|
|
239
402
|
return resolve;
|
|
240
403
|
}
|
|
241
404
|
|
|
@@ -253,14 +416,13 @@ var SELECTORS_MAP = {
|
|
|
253
416
|
async function renderStyles({
|
|
254
417
|
resolve,
|
|
255
418
|
styles,
|
|
256
|
-
schema,
|
|
257
419
|
breakpoints,
|
|
258
420
|
selectorPrefix = "",
|
|
259
421
|
signal
|
|
260
422
|
}) {
|
|
261
423
|
const stylesCssPromises = styles.map(async (style) => {
|
|
262
424
|
const variantCssPromises = Object.values(style.variants).map(async (variant) => {
|
|
263
|
-
const css = await propsToCss({ props: variant.props,
|
|
425
|
+
const css = await propsToCss({ props: variant.props, resolve, signal });
|
|
264
426
|
return createStyleWrapper().forStyle(style).withPrefix(selectorPrefix).withState(variant.meta.state).withMediaQuery(variant.meta.breakpoint ? breakpoints[variant.meta.breakpoint] : null).wrap(css);
|
|
265
427
|
});
|
|
266
428
|
const variantsCss = await Promise.all(variantCssPromises);
|
|
@@ -296,8 +458,8 @@ function createStyleWrapper(value = "", wrapper) {
|
|
|
296
458
|
}
|
|
297
459
|
};
|
|
298
460
|
}
|
|
299
|
-
async function propsToCss({ props, resolve, signal
|
|
300
|
-
const transformed = await resolve({ props,
|
|
461
|
+
async function propsToCss({ props, resolve, signal }) {
|
|
462
|
+
const transformed = await resolve({ props, signal });
|
|
301
463
|
return Object.entries(transformed).reduce((acc, [propName, propValue]) => {
|
|
302
464
|
acc.push(propName + ":" + propValue + ";");
|
|
303
465
|
return acc;
|
|
@@ -307,192 +469,6 @@ function wrapCssWithStyleElement(id, css) {
|
|
|
307
469
|
return `<style data-style-id="${id}">${css}</style>`;
|
|
308
470
|
}
|
|
309
471
|
|
|
310
|
-
// src/renderers/style-transformers/background-color-overlay-transformer.ts
|
|
311
|
-
var backgroundColorOverlayTransformer = (value) => {
|
|
312
|
-
return `linear-gradient(${value}, ${value})`;
|
|
313
|
-
};
|
|
314
|
-
var background_color_overlay_transformer_default = backgroundColorOverlayTransformer;
|
|
315
|
-
|
|
316
|
-
// src/renderers/style-transformers/background-image-overlay-transformer.ts
|
|
317
|
-
var DEFAULT_POSITION_VALUE = "0% 0%";
|
|
318
|
-
var backgroundImageOverlayTransformer = (value) => {
|
|
319
|
-
const { image: imageSrc, size: size2 = null, position = null, repeat = null, attachment = null } = value;
|
|
320
|
-
if (!imageSrc) {
|
|
321
|
-
return null;
|
|
322
|
-
}
|
|
323
|
-
const backgroundStyles = [
|
|
324
|
-
imageSrc,
|
|
325
|
-
repeat,
|
|
326
|
-
attachment,
|
|
327
|
-
size2 ? `${position || DEFAULT_POSITION_VALUE} / ${size2}` : position
|
|
328
|
-
].filter(Boolean);
|
|
329
|
-
return backgroundStyles.join(" ");
|
|
330
|
-
};
|
|
331
|
-
var background_image_overlay_transformer_default = backgroundImageOverlayTransformer;
|
|
332
|
-
|
|
333
|
-
// src/renderers/style-transformers/background-image-position-offset-transformer.ts
|
|
334
|
-
var backgroundImagePositionOffsetTransformer = ({
|
|
335
|
-
x = "0px",
|
|
336
|
-
y = "0px"
|
|
337
|
-
}) => `${x} ${y}`;
|
|
338
|
-
var background_image_position_offset_transformer_default = backgroundImagePositionOffsetTransformer;
|
|
339
|
-
|
|
340
|
-
// src/renderers/style-transformers/background-image-size-scale-transformer.ts
|
|
341
|
-
var backgroundImageSizeScaleTransformer = ({
|
|
342
|
-
width = "auto",
|
|
343
|
-
height = "auto"
|
|
344
|
-
}) => `${width} ${height}`;
|
|
345
|
-
var background_image_size_scale_transformer_default = backgroundImageSizeScaleTransformer;
|
|
346
|
-
|
|
347
|
-
// src/renderers/style-transformers/background-transformer.ts
|
|
348
|
-
var backgroundTransformer = (value) => {
|
|
349
|
-
const overlays = value["background-overlay"] ?? "";
|
|
350
|
-
const color = value.color ?? "";
|
|
351
|
-
return `${overlays} ${color}`.trim();
|
|
352
|
-
};
|
|
353
|
-
var background_transformer_default = backgroundTransformer;
|
|
354
|
-
|
|
355
|
-
// src/renderers/style-transformers/create-combine-array-transformer.ts
|
|
356
|
-
var createCombineArrayTransformer = (delimiter) => {
|
|
357
|
-
return (value) => value.filter(Boolean).join(delimiter);
|
|
358
|
-
};
|
|
359
|
-
var create_combine_array_transformer_default = createCombineArrayTransformer;
|
|
360
|
-
|
|
361
|
-
// src/renderers/style-transformers/create-corner-sizes-transformer.ts
|
|
362
|
-
var validCorners = ["top-left", "top-right", "bottom-left", "bottom-right"];
|
|
363
|
-
var createCornerSizesTransformer = (keyGenerator) => (value) => {
|
|
364
|
-
const props = Object.entries(value).reduce((acc, [corner, cornerValue]) => {
|
|
365
|
-
if (validCorners.includes(corner)) {
|
|
366
|
-
const key = keyGenerator(corner);
|
|
367
|
-
acc[key] = cornerValue;
|
|
368
|
-
}
|
|
369
|
-
return acc;
|
|
370
|
-
}, {});
|
|
371
|
-
return createMultiPropsValue(props);
|
|
372
|
-
};
|
|
373
|
-
var create_corner_sizes_transformer_default = createCornerSizesTransformer;
|
|
374
|
-
|
|
375
|
-
// src/renderers/style-transformers/create-edge-sizes-transformer.ts
|
|
376
|
-
var validEdges = ["top", "right", "bottom", "left"];
|
|
377
|
-
var createEdgeSizesTransformer = (keyGenerator) => (value) => {
|
|
378
|
-
const props = Object.entries(value).reduce((acc, [edge, edgeValue]) => {
|
|
379
|
-
if (validEdges.includes(edge)) {
|
|
380
|
-
const key = keyGenerator(edge);
|
|
381
|
-
acc[key] = edgeValue;
|
|
382
|
-
}
|
|
383
|
-
return acc;
|
|
384
|
-
}, {});
|
|
385
|
-
return createMultiPropsValue(props);
|
|
386
|
-
};
|
|
387
|
-
var create_edge_sizes_transformer_default = createEdgeSizesTransformer;
|
|
388
|
-
|
|
389
|
-
// src/renderers/style-transformers/dimensions.ts
|
|
390
|
-
var validKeys = ["top", "right", "bottom", "left"];
|
|
391
|
-
var dimensions = (value, { key }) => {
|
|
392
|
-
const parsed = Object.entries(value).reduce((acc, [dimensionKey, dimensionValue]) => {
|
|
393
|
-
if (dimensionValue && validKeys.includes(dimensionKey)) {
|
|
394
|
-
acc[`${key}-${dimensionKey}`] = dimensionValue;
|
|
395
|
-
}
|
|
396
|
-
return acc;
|
|
397
|
-
}, {});
|
|
398
|
-
return createMultiPropsValue(parsed);
|
|
399
|
-
};
|
|
400
|
-
var dimensions_default = dimensions;
|
|
401
|
-
|
|
402
|
-
// src/renderers/style-transformers/image.ts
|
|
403
|
-
var imageTransformer = (value) => {
|
|
404
|
-
const { src, size: size2 } = value;
|
|
405
|
-
if (src.url) {
|
|
406
|
-
return `url(${src.url})`;
|
|
407
|
-
}
|
|
408
|
-
const sizeUrl = src.attachment?.sizes[size2]?.url;
|
|
409
|
-
if (sizeUrl) {
|
|
410
|
-
return `url(${sizeUrl})`;
|
|
411
|
-
}
|
|
412
|
-
const attachmentUrl = src.attachment?.url;
|
|
413
|
-
if (attachmentUrl) {
|
|
414
|
-
return `url(${attachmentUrl})`;
|
|
415
|
-
}
|
|
416
|
-
return null;
|
|
417
|
-
};
|
|
418
|
-
|
|
419
|
-
// src/renderers/style-transformers/image-attachment.ts
|
|
420
|
-
var import_wp_media = require("@elementor/wp-media");
|
|
421
|
-
var imageAttachmentTransformer = async (value) => {
|
|
422
|
-
const attachment = await (0, import_wp_media.getMediaAttachment)({ id: value });
|
|
423
|
-
if (!attachment) {
|
|
424
|
-
return null;
|
|
425
|
-
}
|
|
426
|
-
return attachment;
|
|
427
|
-
};
|
|
428
|
-
|
|
429
|
-
// src/renderers/style-transformers/image-src.ts
|
|
430
|
-
var imageSrcTransformer = (value) => ({
|
|
431
|
-
attachment: value.id,
|
|
432
|
-
url: value.url
|
|
433
|
-
});
|
|
434
|
-
|
|
435
|
-
// src/renderers/style-transformers/layout-direction-transformer.ts
|
|
436
|
-
var validKeys2 = ["row", "column"];
|
|
437
|
-
var layoutDirectionTransformer = (value, { key }) => {
|
|
438
|
-
const parsed = Object.entries(value).reduce((acc, [dimensionKey, dimensionValue]) => {
|
|
439
|
-
if (dimensionValue && validKeys2.includes(dimensionKey)) {
|
|
440
|
-
acc[`${dimensionKey}-${key}`] = dimensionValue;
|
|
441
|
-
}
|
|
442
|
-
return acc;
|
|
443
|
-
}, {});
|
|
444
|
-
return createMultiPropsValue(parsed);
|
|
445
|
-
};
|
|
446
|
-
var layout_direction_transformer_default = layoutDirectionTransformer;
|
|
447
|
-
|
|
448
|
-
// src/renderers/style-transformers/primitive-transformer.ts
|
|
449
|
-
var primitiveTransformer = (value) => {
|
|
450
|
-
return value;
|
|
451
|
-
};
|
|
452
|
-
|
|
453
|
-
// src/renderers/style-transformers/shadow-transformer.ts
|
|
454
|
-
var shadowTransformer = (value) => {
|
|
455
|
-
return [value.hOffset, value.vOffset, value.blur, value.spread, value.color, value.position].filter(Boolean).join(" ");
|
|
456
|
-
};
|
|
457
|
-
var shadow_transformer_default = shadowTransformer;
|
|
458
|
-
|
|
459
|
-
// src/renderers/style-transformers/size-transformer.ts
|
|
460
|
-
var sizeTransformer = (value) => {
|
|
461
|
-
return `${value.size}${value.unit}`;
|
|
462
|
-
};
|
|
463
|
-
var size_transformer_default = sizeTransformer;
|
|
464
|
-
|
|
465
|
-
// src/renderers/style-transformers/stroke-transformer.ts
|
|
466
|
-
var strokeTransformer = (value) => {
|
|
467
|
-
return `${value.width} ${value.color}`;
|
|
468
|
-
};
|
|
469
|
-
var stroke_transformer_default = strokeTransformer;
|
|
470
|
-
|
|
471
|
-
// src/renderers/style-transformers/index.ts
|
|
472
|
-
var styleTransformers = {
|
|
473
|
-
size: size_transformer_default,
|
|
474
|
-
shadow: shadow_transformer_default,
|
|
475
|
-
stroke: stroke_transformer_default,
|
|
476
|
-
background: background_transformer_default,
|
|
477
|
-
color: primitiveTransformer,
|
|
478
|
-
number: primitiveTransformer,
|
|
479
|
-
string: primitiveTransformer,
|
|
480
|
-
url: primitiveTransformer,
|
|
481
|
-
dimensions: dimensions_default,
|
|
482
|
-
"background-color-overlay": background_color_overlay_transformer_default,
|
|
483
|
-
"background-image-overlay": background_image_overlay_transformer_default,
|
|
484
|
-
"background-image-position-offset": background_image_position_offset_transformer_default,
|
|
485
|
-
"background-image-size-scale": background_image_size_scale_transformer_default,
|
|
486
|
-
"background-overlay": create_combine_array_transformer_default(","),
|
|
487
|
-
"box-shadow": create_combine_array_transformer_default(","),
|
|
488
|
-
"border-width": create_edge_sizes_transformer_default((edgeKey) => `border-${edgeKey}-width`),
|
|
489
|
-
"border-radius": create_corner_sizes_transformer_default((cornerKey) => `border-${cornerKey}-radius`),
|
|
490
|
-
"image-attachment-id": imageAttachmentTransformer,
|
|
491
|
-
"image-src": imageSrcTransformer,
|
|
492
|
-
image: imageTransformer,
|
|
493
|
-
"layout-direction": layout_direction_transformer_default
|
|
494
|
-
};
|
|
495
|
-
|
|
496
472
|
// src/sync/enqueue-font.ts
|
|
497
473
|
var enqueueFont = (fontFamily, context = "preview") => {
|
|
498
474
|
const extendedWindow = window;
|
|
@@ -509,14 +485,17 @@ function getCanvasIframeBody() {
|
|
|
509
485
|
var WRAPPER_DATA_ATTR = "data-styles-container";
|
|
510
486
|
var SELECTOR_PREFIX = ".elementor";
|
|
511
487
|
function initStylesRenderer() {
|
|
512
|
-
let abortController = null;
|
|
513
|
-
const resolve = createPropsResolver(styleTransformers, { onPropResolve: enqueueUsedFonts });
|
|
514
488
|
(0, import_editor_v1_adapters2.__privateListenTo)((0, import_editor_v1_adapters2.v1ReadyEvent)(), () => {
|
|
489
|
+
let abortController = null;
|
|
490
|
+
const resolve = createPropsResolver({
|
|
491
|
+
transformers: styleTransformersRegistry.all(),
|
|
492
|
+
schema: (0, import_editor_styles.getStylesSchema)(),
|
|
493
|
+
onPropResolve: enqueueUsedFonts
|
|
494
|
+
});
|
|
515
495
|
import_editor_styles_repository.stylesRepository.subscribe(async () => {
|
|
516
496
|
const styleContainer = getStylesContainer();
|
|
517
497
|
const styles = import_editor_styles_repository.stylesRepository.all().reverse();
|
|
518
498
|
const breakpoints = (0, import_editor_responsive.getBreakpointsMap)();
|
|
519
|
-
const schema = (0, import_editor_styles.getStylesSchema)();
|
|
520
499
|
if (abortController) {
|
|
521
500
|
abortController.abort();
|
|
522
501
|
}
|
|
@@ -526,8 +505,7 @@ function initStylesRenderer() {
|
|
|
526
505
|
resolve,
|
|
527
506
|
breakpoints,
|
|
528
507
|
selectorPrefix: SELECTOR_PREFIX,
|
|
529
|
-
signal: abortController.signal
|
|
530
|
-
schema
|
|
508
|
+
signal: abortController.signal
|
|
531
509
|
});
|
|
532
510
|
});
|
|
533
511
|
});
|
|
@@ -557,6 +535,7 @@ function enqueueUsedFonts({ key, value }) {
|
|
|
557
535
|
|
|
558
536
|
// src/init.tsx
|
|
559
537
|
function init() {
|
|
538
|
+
initStyleTransformers();
|
|
560
539
|
initStylesRenderer();
|
|
561
540
|
(0, import_editor.injectIntoTop)({
|
|
562
541
|
id: "elements-overlays",
|
|
@@ -566,4 +545,8 @@ function init() {
|
|
|
566
545
|
|
|
567
546
|
// src/index.ts
|
|
568
547
|
init();
|
|
548
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
549
|
+
0 && (module.exports = {
|
|
550
|
+
styleTransformersRegistry
|
|
551
|
+
});
|
|
569
552
|
//# sourceMappingURL=index.js.map
|