@elementor/editor-editing-panel 4.1.0-747 → 4.1.0-749
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 +18 -3
- package/dist/index.d.ts +18 -3
- package/dist/index.js +72 -71
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +21 -21
- package/src/controls-registry/settings-field.tsx +6 -33
- package/src/index.ts +7 -0
- package/src/utils/prop-dependency-utils.ts +20 -0
package/dist/index.d.mts
CHANGED
|
@@ -4,7 +4,7 @@ import * as react from 'react';
|
|
|
4
4
|
import { FC, PropsWithChildren, ReactNode, Dispatch, ComponentProps, ComponentType } from 'react';
|
|
5
5
|
import { Control as Control$1, ElementControl, Element, ElementType, ControlLayout, ControlItem } from '@elementor/editor-elements';
|
|
6
6
|
import * as _elementor_editor_props from '@elementor/editor-props';
|
|
7
|
-
import { PropKey, AnyTransformable, PropTypeUtil, PropsSchema, ObjectPropType, TransformablePropValue, PropValue } from '@elementor/editor-props';
|
|
7
|
+
import { PropKey, AnyTransformable, PropTypeUtil, PropsSchema, ObjectPropType, TransformablePropValue, PropValue, PropType, Props as Props$2 } from '@elementor/editor-props';
|
|
8
8
|
import * as _emotion_styled from '@emotion/styled';
|
|
9
9
|
import * as _mui_system from '@mui/system';
|
|
10
10
|
import { Theme, ChipProps } from '@elementor/ui';
|
|
@@ -1159,7 +1159,7 @@ declare const controlTypes: {
|
|
|
1159
1159
|
};
|
|
1160
1160
|
};
|
|
1161
1161
|
readonly 'html-tag': {
|
|
1162
|
-
readonly component: ControlComponent<(
|
|
1162
|
+
readonly component: ControlComponent<(props: {
|
|
1163
1163
|
options: {
|
|
1164
1164
|
label: string;
|
|
1165
1165
|
value: _elementor_editor_props.StringPropValue["value"];
|
|
@@ -1167,6 +1167,10 @@ declare const controlTypes: {
|
|
|
1167
1167
|
}[];
|
|
1168
1168
|
onChange?: (newValue: string | null, previousValue: string | null | undefined) => void;
|
|
1169
1169
|
fallbackLabels?: Record<string, string>;
|
|
1170
|
+
} & {
|
|
1171
|
+
context: {
|
|
1172
|
+
elementId: string;
|
|
1173
|
+
};
|
|
1170
1174
|
}) => react.JSX.Element>;
|
|
1171
1175
|
readonly layout: "two-columns";
|
|
1172
1176
|
readonly propTypeUtil: {
|
|
@@ -1855,4 +1859,15 @@ type TagInstance = {
|
|
|
1855
1859
|
|
|
1856
1860
|
declare const isDynamicPropValue: (prop: PropValue) => prop is DynamicPropValue;
|
|
1857
1861
|
|
|
1858
|
-
|
|
1862
|
+
type Value = TransformablePropValue<string> | null;
|
|
1863
|
+
type Values = Record<string, Value>;
|
|
1864
|
+
type DependencyEffect = {
|
|
1865
|
+
isHidden: boolean;
|
|
1866
|
+
isDisabled: (propType: PropType) => boolean;
|
|
1867
|
+
};
|
|
1868
|
+
declare function getElementSettingsWithDefaults(propsSchema: PropsSchema, elementSettings?: Props$2): Values;
|
|
1869
|
+
declare function extractDependencyEffect(bind: string, propsSchema: PropsSchema, settings: Props$2): DependencyEffect;
|
|
1870
|
+
declare function extractOrderedDependencies(dependenciesPerTargetMapping: Record<string, string[]>): string[];
|
|
1871
|
+
declare function getUpdatedValues(values: Values, dependencies: string[], propsSchema: PropsSchema, elementValues: Values, elementId: string): Values;
|
|
1872
|
+
|
|
1873
|
+
export { Control as BaseControl, type ControlType, ControlTypeContainer, CustomCssIndicator, type DependencyEffect, type DynamicTag, type DynamicTags, type DynamicTagsManager, ElementProvider, FIELD_TYPE, HISTORY_DEBOUNCE_WAIT, SectionContent, SettingsControl, SettingsField, StyleIndicator, StyleTabSection, StylesProviderCannotUpdatePropsError, type ValidationEvent, type ValidationResult, controlsRegistry, createTopLevelObjectType, doApplyClasses, doGetAppliedClasses, doUnapplyClass, extractDependencyEffect, extractOrderedDependencies, getElementSettingsWithDefaults, getFieldIndicators, getSubtitle, getTitle, getUpdatedValues, init, injectIntoClassSelectorActions, injectIntoCssClassConvert, injectIntoPanelHeaderTop, injectIntoStyleTab, isDynamicPropValue, registerEditingPanelReplacement, registerFieldIndicator, registerStyleProviderToColors, setLicenseConfig, useClassesProp, useCustomCss, useElement, usePanelActions, usePanelStatus, useStateByElement, useStyle, useStylesRerender };
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as react from 'react';
|
|
|
4
4
|
import { FC, PropsWithChildren, ReactNode, Dispatch, ComponentProps, ComponentType } from 'react';
|
|
5
5
|
import { Control as Control$1, ElementControl, Element, ElementType, ControlLayout, ControlItem } from '@elementor/editor-elements';
|
|
6
6
|
import * as _elementor_editor_props from '@elementor/editor-props';
|
|
7
|
-
import { PropKey, AnyTransformable, PropTypeUtil, PropsSchema, ObjectPropType, TransformablePropValue, PropValue } from '@elementor/editor-props';
|
|
7
|
+
import { PropKey, AnyTransformable, PropTypeUtil, PropsSchema, ObjectPropType, TransformablePropValue, PropValue, PropType, Props as Props$2 } from '@elementor/editor-props';
|
|
8
8
|
import * as _emotion_styled from '@emotion/styled';
|
|
9
9
|
import * as _mui_system from '@mui/system';
|
|
10
10
|
import { Theme, ChipProps } from '@elementor/ui';
|
|
@@ -1159,7 +1159,7 @@ declare const controlTypes: {
|
|
|
1159
1159
|
};
|
|
1160
1160
|
};
|
|
1161
1161
|
readonly 'html-tag': {
|
|
1162
|
-
readonly component: ControlComponent<(
|
|
1162
|
+
readonly component: ControlComponent<(props: {
|
|
1163
1163
|
options: {
|
|
1164
1164
|
label: string;
|
|
1165
1165
|
value: _elementor_editor_props.StringPropValue["value"];
|
|
@@ -1167,6 +1167,10 @@ declare const controlTypes: {
|
|
|
1167
1167
|
}[];
|
|
1168
1168
|
onChange?: (newValue: string | null, previousValue: string | null | undefined) => void;
|
|
1169
1169
|
fallbackLabels?: Record<string, string>;
|
|
1170
|
+
} & {
|
|
1171
|
+
context: {
|
|
1172
|
+
elementId: string;
|
|
1173
|
+
};
|
|
1170
1174
|
}) => react.JSX.Element>;
|
|
1171
1175
|
readonly layout: "two-columns";
|
|
1172
1176
|
readonly propTypeUtil: {
|
|
@@ -1855,4 +1859,15 @@ type TagInstance = {
|
|
|
1855
1859
|
|
|
1856
1860
|
declare const isDynamicPropValue: (prop: PropValue) => prop is DynamicPropValue;
|
|
1857
1861
|
|
|
1858
|
-
|
|
1862
|
+
type Value = TransformablePropValue<string> | null;
|
|
1863
|
+
type Values = Record<string, Value>;
|
|
1864
|
+
type DependencyEffect = {
|
|
1865
|
+
isHidden: boolean;
|
|
1866
|
+
isDisabled: (propType: PropType) => boolean;
|
|
1867
|
+
};
|
|
1868
|
+
declare function getElementSettingsWithDefaults(propsSchema: PropsSchema, elementSettings?: Props$2): Values;
|
|
1869
|
+
declare function extractDependencyEffect(bind: string, propsSchema: PropsSchema, settings: Props$2): DependencyEffect;
|
|
1870
|
+
declare function extractOrderedDependencies(dependenciesPerTargetMapping: Record<string, string[]>): string[];
|
|
1871
|
+
declare function getUpdatedValues(values: Values, dependencies: string[], propsSchema: PropsSchema, elementValues: Values, elementId: string): Values;
|
|
1872
|
+
|
|
1873
|
+
export { Control as BaseControl, type ControlType, ControlTypeContainer, CustomCssIndicator, type DependencyEffect, type DynamicTag, type DynamicTags, type DynamicTagsManager, ElementProvider, FIELD_TYPE, HISTORY_DEBOUNCE_WAIT, SectionContent, SettingsControl, SettingsField, StyleIndicator, StyleTabSection, StylesProviderCannotUpdatePropsError, type ValidationEvent, type ValidationResult, controlsRegistry, createTopLevelObjectType, doApplyClasses, doGetAppliedClasses, doUnapplyClass, extractDependencyEffect, extractOrderedDependencies, getElementSettingsWithDefaults, getFieldIndicators, getSubtitle, getTitle, getUpdatedValues, init, injectIntoClassSelectorActions, injectIntoCssClassConvert, injectIntoPanelHeaderTop, injectIntoStyleTab, isDynamicPropValue, registerEditingPanelReplacement, registerFieldIndicator, registerStyleProviderToColors, setLicenseConfig, useClassesProp, useCustomCss, useElement, usePanelActions, usePanelStatus, useStateByElement, useStyle, useStylesRerender };
|
package/dist/index.js
CHANGED
|
@@ -47,9 +47,13 @@ __export(index_exports, {
|
|
|
47
47
|
doApplyClasses: () => doApplyClasses,
|
|
48
48
|
doGetAppliedClasses: () => doGetAppliedClasses,
|
|
49
49
|
doUnapplyClass: () => doUnapplyClass,
|
|
50
|
+
extractDependencyEffect: () => extractDependencyEffect,
|
|
51
|
+
extractOrderedDependencies: () => extractOrderedDependencies,
|
|
52
|
+
getElementSettingsWithDefaults: () => getElementSettingsWithDefaults,
|
|
50
53
|
getFieldIndicators: () => getFieldIndicators,
|
|
51
54
|
getSubtitle: () => getSubtitle,
|
|
52
55
|
getTitle: () => getTitle,
|
|
56
|
+
getUpdatedValues: () => getUpdatedValues,
|
|
53
57
|
init: () => init4,
|
|
54
58
|
injectIntoClassSelectorActions: () => injectIntoClassSelectorActions,
|
|
55
59
|
injectIntoCssClassConvert: () => injectIntoCssClassConvert,
|
|
@@ -2062,7 +2066,6 @@ var import_react19 = require("react");
|
|
|
2062
2066
|
var import_editor_controls2 = require("@elementor/editor-controls");
|
|
2063
2067
|
var import_editor_documents2 = require("@elementor/editor-documents");
|
|
2064
2068
|
var import_editor_elements6 = require("@elementor/editor-elements");
|
|
2065
|
-
var import_editor_props6 = require("@elementor/editor-props");
|
|
2066
2069
|
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
2067
2070
|
var import_i18n7 = require("@wordpress/i18n");
|
|
2068
2071
|
|
|
@@ -2078,6 +2081,17 @@ function getElementSettingsWithDefaults(propsSchema, elementSettings) {
|
|
|
2078
2081
|
});
|
|
2079
2082
|
return elementSettingsWithDefaults;
|
|
2080
2083
|
}
|
|
2084
|
+
function extractDependencyEffect(bind, propsSchema, settings) {
|
|
2085
|
+
const settingsWithDefaults = getElementSettingsWithDefaults(propsSchema, settings);
|
|
2086
|
+
const propType = propsSchema[bind];
|
|
2087
|
+
const depCheck = (0, import_editor_props5.isDependencyMet)(propType?.dependencies, settingsWithDefaults);
|
|
2088
|
+
const failingTerm = !depCheck.isMet ? depCheck.failingDependencies[0] : void 0;
|
|
2089
|
+
const isHidden = !!failingTerm && !(0, import_editor_props5.isDependency)(failingTerm) && failingTerm?.effect === "hide";
|
|
2090
|
+
return {
|
|
2091
|
+
isHidden,
|
|
2092
|
+
isDisabled: (prop) => !(0, import_editor_props5.isDependencyMet)(prop?.dependencies, settingsWithDefaults).isMet
|
|
2093
|
+
};
|
|
2094
|
+
}
|
|
2081
2095
|
function extractOrderedDependencies(dependenciesPerTargetMapping) {
|
|
2082
2096
|
return Object.values(dependenciesPerTargetMapping).flat().filter((dependent, index, self) => self.indexOf(dependent) === index);
|
|
2083
2097
|
}
|
|
@@ -2223,20 +2237,6 @@ var createTopLevelObjectType = ({ schema }) => {
|
|
|
2223
2237
|
|
|
2224
2238
|
// src/controls-registry/settings-field.tsx
|
|
2225
2239
|
var HISTORY_DEBOUNCE_WAIT2 = 800;
|
|
2226
|
-
var extractDependencyEffect = (bind, propsSchema, currentElementSettings) => {
|
|
2227
|
-
const elementSettingsForDepCheck = getElementSettingsWithDefaults(propsSchema, currentElementSettings);
|
|
2228
|
-
const propType = propsSchema[bind];
|
|
2229
|
-
const depCheck = (0, import_editor_props6.isDependencyMet)(propType?.dependencies, elementSettingsForDepCheck);
|
|
2230
|
-
const isHidden = !depCheck.isMet && !(0, import_editor_props6.isDependency)(depCheck.failingDependencies[0]) && depCheck.failingDependencies[0]?.effect === "hide";
|
|
2231
|
-
return {
|
|
2232
|
-
isDisabled: (prop) => {
|
|
2233
|
-
const result = !(0, import_editor_props6.isDependencyMet)(prop?.dependencies, elementSettingsForDepCheck).isMet;
|
|
2234
|
-
return result;
|
|
2235
|
-
},
|
|
2236
|
-
isHidden,
|
|
2237
|
-
settingsWithDefaults: elementSettingsForDepCheck
|
|
2238
|
-
};
|
|
2239
|
-
};
|
|
2240
2240
|
var SettingsField = ({ bind, children, propDisplayName }) => {
|
|
2241
2241
|
const {
|
|
2242
2242
|
element: { id: elementId },
|
|
@@ -2249,17 +2249,14 @@ var SettingsField = ({ bind, children, propDisplayName }) => {
|
|
|
2249
2249
|
elementId,
|
|
2250
2250
|
propDisplayName
|
|
2251
2251
|
});
|
|
2252
|
-
const { isDisabled, isHidden
|
|
2253
|
-
bind,
|
|
2254
|
-
propsSchema,
|
|
2255
|
-
currentElementSettings
|
|
2256
|
-
);
|
|
2252
|
+
const { isDisabled, isHidden } = extractDependencyEffect(bind, propsSchema, currentElementSettings);
|
|
2257
2253
|
if (isHidden) {
|
|
2258
2254
|
return null;
|
|
2259
2255
|
}
|
|
2260
2256
|
const setValue = (newValue, _ = {}, meta) => {
|
|
2261
2257
|
const { withHistory = true } = meta ?? {};
|
|
2262
2258
|
const dependents = extractOrderedDependencies(dependenciesPerTargetMapping);
|
|
2259
|
+
const settingsWithDefaults = getElementSettingsWithDefaults(propsSchema, currentElementSettings);
|
|
2263
2260
|
const settings = getUpdatedValues(newValue, dependents, propsSchema, settingsWithDefaults, elementId);
|
|
2264
2261
|
if (withHistory) {
|
|
2265
2262
|
undoableUpdateElementProp(settings);
|
|
@@ -2408,7 +2405,7 @@ function isControl(control) {
|
|
|
2408
2405
|
// src/components/style-tab.tsx
|
|
2409
2406
|
var React79 = __toESM(require("react"));
|
|
2410
2407
|
var import_react34 = require("react");
|
|
2411
|
-
var
|
|
2408
|
+
var import_editor_props14 = require("@elementor/editor-props");
|
|
2412
2409
|
var import_editor_responsive3 = require("@elementor/editor-responsive");
|
|
2413
2410
|
var import_locations3 = require("@elementor/locations");
|
|
2414
2411
|
var import_session7 = require("@elementor/session");
|
|
@@ -2419,16 +2416,16 @@ var import_i18n53 = require("@wordpress/i18n");
|
|
|
2419
2416
|
var React23 = __toESM(require("react"));
|
|
2420
2417
|
var import_react20 = require("react");
|
|
2421
2418
|
var import_editor_elements7 = require("@elementor/editor-elements");
|
|
2422
|
-
var
|
|
2419
|
+
var import_editor_props8 = require("@elementor/editor-props");
|
|
2423
2420
|
var import_editor_responsive2 = require("@elementor/editor-responsive");
|
|
2424
2421
|
var import_editor_styles5 = require("@elementor/editor-styles");
|
|
2425
2422
|
var import_editor_styles_repository12 = require("@elementor/editor-styles-repository");
|
|
2426
2423
|
|
|
2427
2424
|
// src/styles-inheritance/create-styles-inheritance.ts
|
|
2428
|
-
var
|
|
2425
|
+
var import_editor_props7 = require("@elementor/editor-props");
|
|
2429
2426
|
|
|
2430
2427
|
// src/styles-inheritance/create-snapshots-manager.ts
|
|
2431
|
-
var
|
|
2428
|
+
var import_editor_props6 = require("@elementor/editor-props");
|
|
2432
2429
|
var import_editor_variables = require("@elementor/editor-variables");
|
|
2433
2430
|
|
|
2434
2431
|
// src/styles-inheritance/utils.ts
|
|
@@ -2529,7 +2526,7 @@ function buildInitialSnapshotFromStyles(styles) {
|
|
|
2529
2526
|
variant: { props }
|
|
2530
2527
|
} = styleData;
|
|
2531
2528
|
Object.entries(props).forEach(([key, value]) => {
|
|
2532
|
-
const filteredValue = (0,
|
|
2529
|
+
const filteredValue = (0, import_editor_props6.filterEmptyValues)(value);
|
|
2533
2530
|
const filteredVariableValue = filteredValue?.$$type?.includes("variable") && !(0, import_editor_variables.hasVariable)(filteredValue?.value) ? null : filteredValue;
|
|
2534
2531
|
if (filteredVariableValue === null) {
|
|
2535
2532
|
return;
|
|
@@ -2576,7 +2573,7 @@ function createStylesInheritance(styleDefs, breakpointsRoot) {
|
|
|
2576
2573
|
inheritanceChain = inheritanceChain.map(({ value: styleValue, ...rest }) => ({
|
|
2577
2574
|
...rest,
|
|
2578
2575
|
value: getValueByPath(styleValue, nextFields, filterPropType)
|
|
2579
|
-
})).filter(({ value: styleValue }) => !(0,
|
|
2576
|
+
})).filter(({ value: styleValue }) => !(0, import_editor_props7.isEmpty)(styleValue));
|
|
2580
2577
|
}
|
|
2581
2578
|
return inheritanceChain;
|
|
2582
2579
|
}
|
|
@@ -2618,7 +2615,7 @@ function getValueByPath(value, path, filterPropType) {
|
|
|
2618
2615
|
if (!currentScope) {
|
|
2619
2616
|
return null;
|
|
2620
2617
|
}
|
|
2621
|
-
if ((0,
|
|
2618
|
+
if ((0, import_editor_props7.isTransformable)(currentScope)) {
|
|
2622
2619
|
return currentScope.value?.[key] ?? null;
|
|
2623
2620
|
}
|
|
2624
2621
|
if (typeof currentScope === "object") {
|
|
@@ -2628,7 +2625,7 @@ function getValueByPath(value, path, filterPropType) {
|
|
|
2628
2625
|
}, value);
|
|
2629
2626
|
}
|
|
2630
2627
|
function shouldUseOriginalValue(filterPropType, value) {
|
|
2631
|
-
return !!filterPropType && (0,
|
|
2628
|
+
return !!filterPropType && (0, import_editor_props7.isTransformable)(value) && filterPropType.key !== value.$$type;
|
|
2632
2629
|
}
|
|
2633
2630
|
var getFilterPropType = (propType, path) => {
|
|
2634
2631
|
if (!propType || propType.kind !== "union") {
|
|
@@ -2685,7 +2682,7 @@ var useAppliedStyles = () => {
|
|
|
2685
2682
|
const baseStyles = useBaseStyles();
|
|
2686
2683
|
useStylesRerender();
|
|
2687
2684
|
const classesProp = usePanelElementSetting(currentClassesProp);
|
|
2688
|
-
const appliedStyles =
|
|
2685
|
+
const appliedStyles = import_editor_props8.classesPropTypeUtil.extract(classesProp) ?? [];
|
|
2689
2686
|
return import_editor_styles_repository12.stylesRepository.all().filter((style) => [...baseStyles, ...appliedStyles].includes(style.id));
|
|
2690
2687
|
};
|
|
2691
2688
|
var useBaseStyles = () => {
|
|
@@ -2725,7 +2722,7 @@ var import_i18n8 = require("@wordpress/i18n");
|
|
|
2725
2722
|
// src/controls-registry/styles-field.tsx
|
|
2726
2723
|
var React24 = __toESM(require("react"));
|
|
2727
2724
|
var import_editor_controls6 = require("@elementor/editor-controls");
|
|
2728
|
-
var
|
|
2725
|
+
var import_editor_props10 = require("@elementor/editor-props");
|
|
2729
2726
|
var import_editor_styles6 = require("@elementor/editor-styles");
|
|
2730
2727
|
|
|
2731
2728
|
// src/hooks/use-styles-field.ts
|
|
@@ -2740,19 +2737,19 @@ function useStylesField(propName, meta) {
|
|
|
2740
2737
|
|
|
2741
2738
|
// src/controls-registry/conditional-field.tsx
|
|
2742
2739
|
var import_editor_controls5 = require("@elementor/editor-controls");
|
|
2743
|
-
var
|
|
2740
|
+
var import_editor_props9 = require("@elementor/editor-props");
|
|
2744
2741
|
var ConditionalField = ({ children }) => {
|
|
2745
2742
|
const { propType } = (0, import_editor_controls5.useBoundProp)();
|
|
2746
2743
|
const depList = getDependencies(propType);
|
|
2747
2744
|
const { values: depValues } = useStylesFields(depList);
|
|
2748
|
-
const isHidden = !(0,
|
|
2745
|
+
const isHidden = !(0, import_editor_props9.isDependencyMet)(propType?.dependencies, depValues).isMet;
|
|
2749
2746
|
return isHidden ? null : children;
|
|
2750
2747
|
};
|
|
2751
2748
|
function getDependencies(propType) {
|
|
2752
2749
|
if (!propType?.dependencies?.terms.length) {
|
|
2753
2750
|
return [];
|
|
2754
2751
|
}
|
|
2755
|
-
return propType.dependencies.terms.flatMap((term) => !(0,
|
|
2752
|
+
return propType.dependencies.terms.flatMap((term) => !(0, import_editor_props9.isDependency)(term) ? term.path : []);
|
|
2756
2753
|
}
|
|
2757
2754
|
|
|
2758
2755
|
// src/controls-registry/styles-field.tsx
|
|
@@ -2763,10 +2760,10 @@ function buildResolvedPlaceholder(chain, startIndex) {
|
|
|
2763
2760
|
return void 0;
|
|
2764
2761
|
}
|
|
2765
2762
|
const firstValue = firstEntry.value;
|
|
2766
|
-
if (!
|
|
2763
|
+
if (!import_editor_props10.dimensionsPropTypeUtil.isValid(firstValue)) {
|
|
2767
2764
|
return firstValue;
|
|
2768
2765
|
}
|
|
2769
|
-
const firstDims =
|
|
2766
|
+
const firstDims = import_editor_props10.dimensionsPropTypeUtil.extract(firstValue);
|
|
2770
2767
|
if (DIMENSION_SIDES.every((side) => firstDims?.[side] !== null && firstDims?.[side] !== void 0)) {
|
|
2771
2768
|
return firstValue;
|
|
2772
2769
|
}
|
|
@@ -2778,15 +2775,15 @@ function buildResolvedPlaceholder(chain, startIndex) {
|
|
|
2778
2775
|
});
|
|
2779
2776
|
for (let i = startIndex + 1; i < chain.length; i++) {
|
|
2780
2777
|
const val = chain[i].value;
|
|
2781
|
-
if (
|
|
2778
|
+
if (import_editor_props10.sizePropTypeUtil.isValid(val)) {
|
|
2782
2779
|
DIMENSION_SIDES.forEach((side) => {
|
|
2783
2780
|
if (merged[side] === null || merged[side] === void 0) {
|
|
2784
2781
|
merged[side] = val;
|
|
2785
2782
|
}
|
|
2786
2783
|
});
|
|
2787
2784
|
break;
|
|
2788
|
-
} else if (
|
|
2789
|
-
const dims =
|
|
2785
|
+
} else if (import_editor_props10.dimensionsPropTypeUtil.isValid(val)) {
|
|
2786
|
+
const dims = import_editor_props10.dimensionsPropTypeUtil.extract(val);
|
|
2790
2787
|
DIMENSION_SIDES.forEach((side) => {
|
|
2791
2788
|
if ((merged[side] === null || merged[side] === void 0) && dims?.[side] !== null && dims?.[side] !== void 0) {
|
|
2792
2789
|
merged[side] = dims[side];
|
|
@@ -2797,7 +2794,7 @@ function buildResolvedPlaceholder(chain, startIndex) {
|
|
|
2797
2794
|
break;
|
|
2798
2795
|
}
|
|
2799
2796
|
}
|
|
2800
|
-
return
|
|
2797
|
+
return import_editor_props10.dimensionsPropTypeUtil.create({
|
|
2801
2798
|
"block-start": merged["block-start"] ?? null,
|
|
2802
2799
|
"block-end": merged["block-end"] ?? null,
|
|
2803
2800
|
"inline-start": merged["inline-start"] ?? null,
|
|
@@ -2896,7 +2893,7 @@ var BorderColorField = () => /* @__PURE__ */ React28.createElement(StylesField,
|
|
|
2896
2893
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
2897
2894
|
var React30 = __toESM(require("react"));
|
|
2898
2895
|
var import_editor_controls9 = require("@elementor/editor-controls");
|
|
2899
|
-
var
|
|
2896
|
+
var import_editor_props11 = require("@elementor/editor-props");
|
|
2900
2897
|
var import_icons3 = require("@elementor/icons");
|
|
2901
2898
|
var import_ui19 = require("@elementor/ui");
|
|
2902
2899
|
var import_i18n10 = require("@wordpress/i18n");
|
|
@@ -2967,7 +2964,7 @@ var BorderRadiusField = () => {
|
|
|
2967
2964
|
label: BORDER_RADIUS_LABEL,
|
|
2968
2965
|
icon: /* @__PURE__ */ React30.createElement(import_icons3.BorderCornersIcon, { fontSize: "tiny" }),
|
|
2969
2966
|
tooltipLabel: (0, import_i18n10.__)("Adjust corners", "elementor"),
|
|
2970
|
-
multiSizePropTypeUtil:
|
|
2967
|
+
multiSizePropTypeUtil: import_editor_props11.borderRadiusPropTypeUtil
|
|
2971
2968
|
}
|
|
2972
2969
|
)));
|
|
2973
2970
|
};
|
|
@@ -2993,7 +2990,7 @@ var BorderStyleField = () => /* @__PURE__ */ React31.createElement(StylesField,
|
|
|
2993
2990
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
2994
2991
|
var React32 = __toESM(require("react"));
|
|
2995
2992
|
var import_editor_controls11 = require("@elementor/editor-controls");
|
|
2996
|
-
var
|
|
2993
|
+
var import_editor_props12 = require("@elementor/editor-props");
|
|
2997
2994
|
var import_icons4 = require("@elementor/icons");
|
|
2998
2995
|
var import_ui20 = require("@elementor/ui");
|
|
2999
2996
|
var import_i18n12 = require("@wordpress/i18n");
|
|
@@ -3035,7 +3032,7 @@ var BorderWidthField = () => {
|
|
|
3035
3032
|
label: BORDER_WIDTH_LABEL,
|
|
3036
3033
|
icon: /* @__PURE__ */ React32.createElement(import_icons4.SideAllIcon, { fontSize: "tiny" }),
|
|
3037
3034
|
tooltipLabel: (0, import_i18n12.__)("Adjust borders", "elementor"),
|
|
3038
|
-
multiSizePropTypeUtil:
|
|
3035
|
+
multiSizePropTypeUtil: import_editor_props12.borderWidthPropTypeUtil
|
|
3039
3036
|
}
|
|
3040
3037
|
));
|
|
3041
3038
|
};
|
|
@@ -3608,7 +3605,7 @@ var getGroupControlValue = (order) => {
|
|
|
3608
3605
|
var React45 = __toESM(require("react"));
|
|
3609
3606
|
var import_react24 = require("react");
|
|
3610
3607
|
var import_editor_controls21 = require("@elementor/editor-controls");
|
|
3611
|
-
var
|
|
3608
|
+
var import_editor_props13 = require("@elementor/editor-props");
|
|
3612
3609
|
var import_icons10 = require("@elementor/icons");
|
|
3613
3610
|
var import_i18n23 = require("@wordpress/i18n");
|
|
3614
3611
|
var FLEX_SIZE_LABEL = (0, import_i18n23.__)("Flex Size", "elementor");
|
|
@@ -3687,24 +3684,24 @@ var createFlexValueForGroup = (group, flexValue) => {
|
|
|
3687
3684
|
return null;
|
|
3688
3685
|
}
|
|
3689
3686
|
if (group === "flex-grow") {
|
|
3690
|
-
return
|
|
3691
|
-
flexGrow:
|
|
3692
|
-
flexShrink:
|
|
3693
|
-
flexBasis:
|
|
3687
|
+
return import_editor_props13.flexPropTypeUtil.create({
|
|
3688
|
+
flexGrow: import_editor_props13.numberPropTypeUtil.create(DEFAULT),
|
|
3689
|
+
flexShrink: import_editor_props13.numberPropTypeUtil.create(0),
|
|
3690
|
+
flexBasis: import_editor_props13.sizePropTypeUtil.create({ unit: "auto", size: "" })
|
|
3694
3691
|
});
|
|
3695
3692
|
}
|
|
3696
3693
|
if (group === "flex-shrink") {
|
|
3697
|
-
return
|
|
3698
|
-
flexGrow:
|
|
3699
|
-
flexShrink:
|
|
3700
|
-
flexBasis:
|
|
3694
|
+
return import_editor_props13.flexPropTypeUtil.create({
|
|
3695
|
+
flexGrow: import_editor_props13.numberPropTypeUtil.create(0),
|
|
3696
|
+
flexShrink: import_editor_props13.numberPropTypeUtil.create(DEFAULT),
|
|
3697
|
+
flexBasis: import_editor_props13.sizePropTypeUtil.create({ unit: "auto", size: "" })
|
|
3701
3698
|
});
|
|
3702
3699
|
}
|
|
3703
3700
|
if (group === "custom") {
|
|
3704
3701
|
if (flexValue) {
|
|
3705
3702
|
return flexValue;
|
|
3706
3703
|
}
|
|
3707
|
-
return
|
|
3704
|
+
return import_editor_props13.flexPropTypeUtil.create({
|
|
3708
3705
|
flexGrow: null,
|
|
3709
3706
|
flexShrink: null,
|
|
3710
3707
|
flexBasis: null
|
|
@@ -3714,7 +3711,7 @@ var createFlexValueForGroup = (group, flexValue) => {
|
|
|
3714
3711
|
};
|
|
3715
3712
|
var FlexCustomField = () => {
|
|
3716
3713
|
const flexBasisRowRef = (0, import_react24.useRef)(null);
|
|
3717
|
-
const context = (0, import_editor_controls21.useBoundProp)(
|
|
3714
|
+
const context = (0, import_editor_controls21.useBoundProp)(import_editor_props13.flexPropTypeUtil);
|
|
3718
3715
|
return /* @__PURE__ */ React45.createElement(import_editor_controls21.PropProvider, { ...context }, /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: (0, import_i18n23.__)("Grow", "elementor") }, /* @__PURE__ */ React45.createElement(import_editor_controls21.PropKeyProvider, { bind: "flexGrow" }, /* @__PURE__ */ React45.createElement(import_editor_controls21.NumberControl, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: (0, import_i18n23.__)("Shrink", "elementor") }, /* @__PURE__ */ React45.createElement(import_editor_controls21.PropKeyProvider, { bind: "flexShrink" }, /* @__PURE__ */ React45.createElement(import_editor_controls21.NumberControl, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: (0, import_i18n23.__)("Basis", "elementor"), ref: flexBasisRowRef }, /* @__PURE__ */ React45.createElement(import_editor_controls21.PropKeyProvider, { bind: "flexBasis" }, /* @__PURE__ */ React45.createElement(import_editor_controls21.SizeControl, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef })))));
|
|
3719
3716
|
};
|
|
3720
3717
|
var getActiveGroup = ({
|
|
@@ -4769,7 +4766,7 @@ function ClassesHeader({ children }) {
|
|
|
4769
4766
|
function useCurrentClassesProp() {
|
|
4770
4767
|
const { elementType } = useElement();
|
|
4771
4768
|
const prop = Object.entries(elementType.propsSchema).find(
|
|
4772
|
-
([, propType]) => propType.kind === "plain" && propType.key ===
|
|
4769
|
+
([, propType]) => propType.kind === "plain" && propType.key === import_editor_props14.CLASSES_PROP_KEY
|
|
4773
4770
|
);
|
|
4774
4771
|
if (!prop) {
|
|
4775
4772
|
return null;
|
|
@@ -4920,7 +4917,7 @@ var init = () => {
|
|
|
4920
4917
|
var React83 = __toESM(require("react"));
|
|
4921
4918
|
var import_editor_controls53 = require("@elementor/editor-controls");
|
|
4922
4919
|
var import_editor_elements17 = require("@elementor/editor-elements");
|
|
4923
|
-
var
|
|
4920
|
+
var import_editor_props16 = require("@elementor/editor-props");
|
|
4924
4921
|
var import_icons22 = require("@elementor/icons");
|
|
4925
4922
|
var import_ui37 = require("@elementor/ui");
|
|
4926
4923
|
var import_i18n58 = require("@wordpress/i18n");
|
|
@@ -4941,12 +4938,12 @@ var getElementByType = (elementId, type) => {
|
|
|
4941
4938
|
// src/controls-registry/element-controls/tabs-control/use-actions.ts
|
|
4942
4939
|
var import_editor_controls52 = require("@elementor/editor-controls");
|
|
4943
4940
|
var import_editor_elements16 = require("@elementor/editor-elements");
|
|
4944
|
-
var
|
|
4941
|
+
var import_editor_props15 = require("@elementor/editor-props");
|
|
4945
4942
|
var import_i18n57 = require("@wordpress/i18n");
|
|
4946
4943
|
var TAB_ELEMENT_TYPE = "e-tab";
|
|
4947
4944
|
var TAB_CONTENT_ELEMENT_TYPE = "e-tab-content";
|
|
4948
4945
|
var useActions = () => {
|
|
4949
|
-
const { value, setValue: setDefaultActiveTab } = (0, import_editor_controls52.useBoundProp)(
|
|
4946
|
+
const { value, setValue: setDefaultActiveTab } = (0, import_editor_controls52.useBoundProp)(import_editor_props15.numberPropTypeUtil);
|
|
4950
4947
|
const defaultActiveTab = value ?? 0;
|
|
4951
4948
|
const duplicateItem = ({
|
|
4952
4949
|
items: items3,
|
|
@@ -5207,7 +5204,7 @@ var ItemLabel = ({ value, index }) => {
|
|
|
5207
5204
|
return /* @__PURE__ */ React83.createElement(import_ui37.Stack, { sx: { minHeight: 20 }, direction: "row", alignItems: "center", gap: 1.5 }, /* @__PURE__ */ React83.createElement("span", null, elementTitle), /* @__PURE__ */ React83.createElement(ItemDefaultTab, { index }));
|
|
5208
5205
|
};
|
|
5209
5206
|
var ItemDefaultTab = ({ index }) => {
|
|
5210
|
-
const { value: defaultItem } = (0, import_editor_controls53.useBoundProp)(
|
|
5207
|
+
const { value: defaultItem } = (0, import_editor_controls53.useBoundProp)(import_editor_props16.numberPropTypeUtil);
|
|
5211
5208
|
const isDefault = defaultItem === index;
|
|
5212
5209
|
if (!isDefault) {
|
|
5213
5210
|
return null;
|
|
@@ -5221,7 +5218,7 @@ var ItemContent = ({ value, index }) => {
|
|
|
5221
5218
|
return /* @__PURE__ */ React83.createElement(import_ui37.Stack, { p: 2, gap: 1.5 }, /* @__PURE__ */ React83.createElement(TabLabelControl, { elementId: value.id }), /* @__PURE__ */ React83.createElement(SettingsField, { bind: "default-active-tab", propDisplayName: (0, import_i18n58.__)("Tabs", "elementor") }, /* @__PURE__ */ React83.createElement(DefaultTabControl, { tabIndex: index })));
|
|
5222
5219
|
};
|
|
5223
5220
|
var DefaultTabControl = ({ tabIndex }) => {
|
|
5224
|
-
const { value, setValue } = (0, import_editor_controls53.useBoundProp)(
|
|
5221
|
+
const { value, setValue } = (0, import_editor_controls53.useBoundProp)(import_editor_props16.numberPropTypeUtil);
|
|
5225
5222
|
const isDefault = value === tabIndex;
|
|
5226
5223
|
return /* @__PURE__ */ React83.createElement(import_ui37.Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 2 }, /* @__PURE__ */ React83.createElement(import_editor_controls53.ControlFormLabel, null, (0, import_i18n58.__)("Set as default tab", "elementor")), /* @__PURE__ */ React83.createElement(ConditionalTooltip, { showTooltip: isDefault, placement: "right" }, /* @__PURE__ */ React83.createElement(
|
|
5227
5224
|
import_ui37.Switch,
|
|
@@ -5301,7 +5298,7 @@ var import_menus2 = require("@elementor/menus");
|
|
|
5301
5298
|
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
5302
5299
|
var React84 = __toESM(require("react"));
|
|
5303
5300
|
var import_editor_controls55 = require("@elementor/editor-controls");
|
|
5304
|
-
var
|
|
5301
|
+
var import_editor_props18 = require("@elementor/editor-props");
|
|
5305
5302
|
var import_icons23 = require("@elementor/icons");
|
|
5306
5303
|
|
|
5307
5304
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
@@ -5357,11 +5354,11 @@ var filterByLicense = (tags) => {
|
|
|
5357
5354
|
};
|
|
5358
5355
|
|
|
5359
5356
|
// src/dynamics/utils.ts
|
|
5360
|
-
var
|
|
5357
|
+
var import_editor_props17 = require("@elementor/editor-props");
|
|
5361
5358
|
var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
|
|
5362
5359
|
var import_schema = require("@elementor/schema");
|
|
5363
5360
|
var DYNAMIC_PROP_TYPE_KEY = "dynamic";
|
|
5364
|
-
var dynamicPropTypeUtil = (0,
|
|
5361
|
+
var dynamicPropTypeUtil = (0, import_editor_props17.createPropUtils)(
|
|
5365
5362
|
DYNAMIC_PROP_TYPE_KEY,
|
|
5366
5363
|
import_schema.z.strictObject({
|
|
5367
5364
|
name: import_schema.z.string(),
|
|
@@ -5378,7 +5375,7 @@ var getDynamicPropType = (propType) => {
|
|
|
5378
5375
|
return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
|
|
5379
5376
|
};
|
|
5380
5377
|
var isDynamicPropValue = (prop) => {
|
|
5381
|
-
return (0,
|
|
5378
|
+
return (0, import_editor_props17.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
|
|
5382
5379
|
};
|
|
5383
5380
|
var supportsDynamic = (propType) => {
|
|
5384
5381
|
return !!getDynamicPropType(propType);
|
|
@@ -5439,7 +5436,7 @@ var useDynamicTag = (tagName) => {
|
|
|
5439
5436
|
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
5440
5437
|
var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React84.createElement(import_icons23.DatabaseIcon, { fontSize: "tiny" });
|
|
5441
5438
|
var BackgroundControlDynamicTagLabel = ({ value }) => {
|
|
5442
|
-
const context = (0, import_editor_controls55.useBoundProp)(
|
|
5439
|
+
const context = (0, import_editor_controls55.useBoundProp)(import_editor_props18.backgroundImageOverlayPropTypeUtil);
|
|
5443
5440
|
return /* @__PURE__ */ React84.createElement(import_editor_controls55.PropProvider, { ...context, value: value.value }, /* @__PURE__ */ React84.createElement(import_editor_controls55.PropKeyProvider, { bind: "image" }, /* @__PURE__ */ React84.createElement(Wrapper2, { rawValue: value.value })));
|
|
5444
5441
|
};
|
|
5445
5442
|
var Wrapper2 = ({ rawValue }) => {
|
|
@@ -5476,7 +5473,7 @@ var import_editor_controls56 = require("@elementor/editor-controls");
|
|
|
5476
5473
|
// src/dynamics/components/dynamic-conditional-control.tsx
|
|
5477
5474
|
var React85 = __toESM(require("react"));
|
|
5478
5475
|
var import_react41 = require("react");
|
|
5479
|
-
var
|
|
5476
|
+
var import_editor_props19 = require("@elementor/editor-props");
|
|
5480
5477
|
var DynamicConditionalControl = ({
|
|
5481
5478
|
children,
|
|
5482
5479
|
propType,
|
|
@@ -5518,7 +5515,7 @@ var DynamicConditionalControl = ({
|
|
|
5518
5515
|
if (!propType?.dependencies?.terms.length) {
|
|
5519
5516
|
return /* @__PURE__ */ React85.createElement(React85.Fragment, null, children);
|
|
5520
5517
|
}
|
|
5521
|
-
const isHidden = !(0,
|
|
5518
|
+
const isHidden = !(0, import_editor_props19.isDependencyMet)(propType?.dependencies, effectiveSettings).isMet;
|
|
5522
5519
|
return isHidden ? null : /* @__PURE__ */ React85.createElement(React85.Fragment, null, children);
|
|
5523
5520
|
};
|
|
5524
5521
|
|
|
@@ -5896,7 +5893,7 @@ function ControlsItemsStack({ items: items3 }) {
|
|
|
5896
5893
|
|
|
5897
5894
|
// src/dynamics/dynamic-transformer.ts
|
|
5898
5895
|
var import_editor_canvas2 = require("@elementor/editor-canvas");
|
|
5899
|
-
var
|
|
5896
|
+
var import_editor_props20 = require("@elementor/editor-props");
|
|
5900
5897
|
|
|
5901
5898
|
// src/dynamics/errors.ts
|
|
5902
5899
|
var import_utils9 = require("@elementor/utils");
|
|
@@ -5914,7 +5911,7 @@ var dynamicTransformer = (0, import_editor_canvas2.createTransformer)((value, {
|
|
|
5914
5911
|
});
|
|
5915
5912
|
function simpleTransform(props) {
|
|
5916
5913
|
const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
|
|
5917
|
-
const value = (0,
|
|
5914
|
+
const value = (0, import_editor_props20.isTransformable)(settingValue) ? settingValue.value : settingValue;
|
|
5918
5915
|
return [settingKey, value];
|
|
5919
5916
|
});
|
|
5920
5917
|
return Object.fromEntries(transformed);
|
|
@@ -6074,7 +6071,7 @@ function useResetStyleValueProps() {
|
|
|
6074
6071
|
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
6075
6072
|
var React95 = __toESM(require("react"));
|
|
6076
6073
|
var import_editor_controls62 = require("@elementor/editor-controls");
|
|
6077
|
-
var
|
|
6074
|
+
var import_editor_props21 = require("@elementor/editor-props");
|
|
6078
6075
|
var import_editor_styles_repository16 = require("@elementor/editor-styles-repository");
|
|
6079
6076
|
var import_i18n66 = require("@wordpress/i18n");
|
|
6080
6077
|
|
|
@@ -6426,7 +6423,7 @@ var StylesInheritanceIndicator = ({
|
|
|
6426
6423
|
var Indicator = ({ inheritanceChain, path, propType, isDisabled }) => {
|
|
6427
6424
|
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
6428
6425
|
const currentItem = currentStyleId ? getValueFromInheritanceChain(inheritanceChain, currentStyleId, currentStyleMeta) : null;
|
|
6429
|
-
const hasValue = !(0,
|
|
6426
|
+
const hasValue = !(0, import_editor_props21.isEmpty)(currentItem?.value);
|
|
6430
6427
|
const [actualStyle] = inheritanceChain;
|
|
6431
6428
|
if (actualStyle.provider === import_editor_styles_repository16.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
6432
6429
|
return null;
|
|
@@ -6721,9 +6718,13 @@ var blockV1Panel = () => {
|
|
|
6721
6718
|
doApplyClasses,
|
|
6722
6719
|
doGetAppliedClasses,
|
|
6723
6720
|
doUnapplyClass,
|
|
6721
|
+
extractDependencyEffect,
|
|
6722
|
+
extractOrderedDependencies,
|
|
6723
|
+
getElementSettingsWithDefaults,
|
|
6724
6724
|
getFieldIndicators,
|
|
6725
6725
|
getSubtitle,
|
|
6726
6726
|
getTitle,
|
|
6727
|
+
getUpdatedValues,
|
|
6727
6728
|
init,
|
|
6728
6729
|
injectIntoClassSelectorActions,
|
|
6729
6730
|
injectIntoCssClassConvert,
|