@elementor/editor-editing-panel 4.0.0-502 → 4.0.0-503
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 +50 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +47 -25
- package/dist/index.mjs.map +1 -1
- package/package.json +20 -20
- package/src/dynamics/hooks/use-dynamic-tag.ts +2 -2
- package/src/dynamics/hooks/use-prop-dynamic-tags.ts +17 -4
- package/src/dynamics/sync/get-atomic-dynamic-tags.ts +18 -2
- package/src/dynamics/types.ts +4 -0
- package/src/hooks/use-license-config.ts +2 -2
package/dist/index.js
CHANGED
|
@@ -5303,23 +5303,53 @@ var import_editor_props18 = require("@elementor/editor-props");
|
|
|
5303
5303
|
var import_icons23 = require("@elementor/icons");
|
|
5304
5304
|
|
|
5305
5305
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
5306
|
-
var
|
|
5306
|
+
var import_react40 = require("react");
|
|
5307
5307
|
|
|
5308
5308
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
5309
|
-
var
|
|
5309
|
+
var import_react39 = require("react");
|
|
5310
5310
|
var import_editor_controls53 = require("@elementor/editor-controls");
|
|
5311
5311
|
|
|
5312
|
+
// src/hooks/use-license-config.ts
|
|
5313
|
+
var import_react38 = require("react");
|
|
5314
|
+
var config = { expired: false };
|
|
5315
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
5316
|
+
function setLicenseConfig(newConfig) {
|
|
5317
|
+
config = { ...config, ...newConfig };
|
|
5318
|
+
listeners.forEach((listener) => listener());
|
|
5319
|
+
}
|
|
5320
|
+
function getLicenseConfig() {
|
|
5321
|
+
return config;
|
|
5322
|
+
}
|
|
5323
|
+
function subscribe(listener) {
|
|
5324
|
+
listeners.add(listener);
|
|
5325
|
+
return () => listeners.delete(listener);
|
|
5326
|
+
}
|
|
5327
|
+
function useLicenseConfig() {
|
|
5328
|
+
return (0, import_react38.useSyncExternalStore)(subscribe, getLicenseConfig, getLicenseConfig);
|
|
5329
|
+
}
|
|
5330
|
+
|
|
5312
5331
|
// src/dynamics/sync/get-atomic-dynamic-tags.ts
|
|
5313
|
-
var getAtomicDynamicTags = () => {
|
|
5332
|
+
var getAtomicDynamicTags = (shouldFilterByLicense = true) => {
|
|
5314
5333
|
const { atomicDynamicTags } = getElementorConfig();
|
|
5315
5334
|
if (!atomicDynamicTags) {
|
|
5316
5335
|
return null;
|
|
5317
5336
|
}
|
|
5318
5337
|
return {
|
|
5319
|
-
tags: atomicDynamicTags.tags,
|
|
5338
|
+
tags: shouldFilterByLicense ? filterByLicense(atomicDynamicTags.tags) : atomicDynamicTags.tags,
|
|
5320
5339
|
groups: atomicDynamicTags.groups
|
|
5321
5340
|
};
|
|
5322
5341
|
};
|
|
5342
|
+
var filterByLicense = (tags) => {
|
|
5343
|
+
const { expired } = getLicenseConfig();
|
|
5344
|
+
if (expired) {
|
|
5345
|
+
return Object.fromEntries(
|
|
5346
|
+
Object.entries(tags).filter(
|
|
5347
|
+
([, tag]) => !(tag?.meta?.origin === "elementor" && tag?.meta?.required_license)
|
|
5348
|
+
)
|
|
5349
|
+
);
|
|
5350
|
+
}
|
|
5351
|
+
return tags;
|
|
5352
|
+
};
|
|
5323
5353
|
|
|
5324
5354
|
// src/dynamics/utils.ts
|
|
5325
5355
|
var import_editor_props17 = require("@elementor/editor-props");
|
|
@@ -5350,16 +5380,27 @@ var supportsDynamic = (propType) => {
|
|
|
5350
5380
|
|
|
5351
5381
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
5352
5382
|
var usePropDynamicTags = () => {
|
|
5383
|
+
return usePropDynamicTagsInternal(true);
|
|
5384
|
+
};
|
|
5385
|
+
var useAllPropDynamicTags = () => {
|
|
5386
|
+
return usePropDynamicTagsInternal(false);
|
|
5387
|
+
};
|
|
5388
|
+
var usePropDynamicTagsInternal = (filterByLicense2) => {
|
|
5353
5389
|
let categories = [];
|
|
5354
5390
|
const { propType } = (0, import_editor_controls53.useBoundProp)();
|
|
5355
5391
|
if (propType) {
|
|
5356
5392
|
const propDynamicType = getDynamicPropType(propType);
|
|
5357
5393
|
categories = propDynamicType?.settings.categories || [];
|
|
5358
5394
|
}
|
|
5359
|
-
|
|
5395
|
+
const categoriesKey = categories.join();
|
|
5396
|
+
return (0, import_react39.useMemo)(
|
|
5397
|
+
() => getDynamicTagsByCategories(categories, filterByLicense2),
|
|
5398
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5399
|
+
[categoriesKey, filterByLicense2]
|
|
5400
|
+
);
|
|
5360
5401
|
};
|
|
5361
|
-
var getDynamicTagsByCategories = (categories) => {
|
|
5362
|
-
const { tags, groups } = getAtomicDynamicTags() || {};
|
|
5402
|
+
var getDynamicTagsByCategories = (categories, filterByLicense2) => {
|
|
5403
|
+
const { tags, groups } = getAtomicDynamicTags(filterByLicense2) || {};
|
|
5363
5404
|
if (!categories.length || !tags || !groups) {
|
|
5364
5405
|
return [];
|
|
5365
5406
|
}
|
|
@@ -5385,8 +5426,8 @@ var getDynamicTagsByCategories = (categories) => {
|
|
|
5385
5426
|
|
|
5386
5427
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
5387
5428
|
var useDynamicTag = (tagName) => {
|
|
5388
|
-
const dynamicTags =
|
|
5389
|
-
return (0,
|
|
5429
|
+
const dynamicTags = useAllPropDynamicTags();
|
|
5430
|
+
return (0, import_react40.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
|
|
5390
5431
|
};
|
|
5391
5432
|
|
|
5392
5433
|
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
@@ -5414,25 +5455,6 @@ var import_icons25 = require("@elementor/icons");
|
|
|
5414
5455
|
var import_ui41 = require("@elementor/ui");
|
|
5415
5456
|
var import_i18n62 = require("@wordpress/i18n");
|
|
5416
5457
|
|
|
5417
|
-
// src/hooks/use-license-config.ts
|
|
5418
|
-
var import_react40 = require("react");
|
|
5419
|
-
var config = { expired: false };
|
|
5420
|
-
var listeners = /* @__PURE__ */ new Set();
|
|
5421
|
-
function setLicenseConfig(newConfig) {
|
|
5422
|
-
config = { ...config, ...newConfig };
|
|
5423
|
-
listeners.forEach((listener) => listener());
|
|
5424
|
-
}
|
|
5425
|
-
function getConfig() {
|
|
5426
|
-
return config;
|
|
5427
|
-
}
|
|
5428
|
-
function subscribe(listener) {
|
|
5429
|
-
listeners.add(listener);
|
|
5430
|
-
return () => listeners.delete(listener);
|
|
5431
|
-
}
|
|
5432
|
-
function useLicenseConfig() {
|
|
5433
|
-
return (0, import_react40.useSyncExternalStore)(subscribe, getConfig, getConfig);
|
|
5434
|
-
}
|
|
5435
|
-
|
|
5436
5458
|
// src/hooks/use-persist-dynamic-value.ts
|
|
5437
5459
|
var import_session9 = require("@elementor/session");
|
|
5438
5460
|
var usePersistDynamicValue = (propKey) => {
|