@elementor/editor-editing-panel 4.1.0-712 → 4.1.0-714

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 CHANGED
@@ -2406,7 +2406,7 @@ function isControl(control) {
2406
2406
  // src/components/style-tab.tsx
2407
2407
  var React79 = __toESM(require("react"));
2408
2408
  var import_react32 = require("react");
2409
- var import_editor_props14 = require("@elementor/editor-props");
2409
+ var import_editor_props15 = require("@elementor/editor-props");
2410
2410
  var import_editor_responsive3 = require("@elementor/editor-responsive");
2411
2411
  var import_locations3 = require("@elementor/locations");
2412
2412
  var import_session7 = require("@elementor/session");
@@ -2723,6 +2723,7 @@ var import_i18n8 = require("@wordpress/i18n");
2723
2723
  // src/controls-registry/styles-field.tsx
2724
2724
  var React24 = __toESM(require("react"));
2725
2725
  var import_editor_controls6 = require("@elementor/editor-controls");
2726
+ var import_editor_props11 = require("@elementor/editor-props");
2726
2727
  var import_editor_styles6 = require("@elementor/editor-styles");
2727
2728
 
2728
2729
  // src/hooks/use-styles-field.ts
@@ -2753,14 +2754,62 @@ function getDependencies(propType) {
2753
2754
  }
2754
2755
 
2755
2756
  // src/controls-registry/styles-field.tsx
2757
+ var DIMENSION_SIDES = ["block-start", "block-end", "inline-start", "inline-end"];
2758
+ function buildResolvedPlaceholder(chain, startIndex) {
2759
+ const firstEntry = chain[startIndex];
2760
+ if (!firstEntry) {
2761
+ return void 0;
2762
+ }
2763
+ const firstValue = firstEntry.value;
2764
+ if (!import_editor_props11.dimensionsPropTypeUtil.isValid(firstValue)) {
2765
+ return firstValue;
2766
+ }
2767
+ const firstDims = import_editor_props11.dimensionsPropTypeUtil.extract(firstValue);
2768
+ if (DIMENSION_SIDES.every((side) => firstDims?.[side] !== null && firstDims?.[side] !== void 0)) {
2769
+ return firstValue;
2770
+ }
2771
+ const merged = {};
2772
+ DIMENSION_SIDES.forEach((side) => {
2773
+ if (firstDims?.[side] !== null && firstDims?.[side] !== void 0) {
2774
+ merged[side] = firstDims[side];
2775
+ }
2776
+ });
2777
+ for (let i = startIndex + 1; i < chain.length; i++) {
2778
+ const val = chain[i].value;
2779
+ if (import_editor_props11.sizePropTypeUtil.isValid(val)) {
2780
+ DIMENSION_SIDES.forEach((side) => {
2781
+ if (merged[side] === null || merged[side] === void 0) {
2782
+ merged[side] = val;
2783
+ }
2784
+ });
2785
+ break;
2786
+ } else if (import_editor_props11.dimensionsPropTypeUtil.isValid(val)) {
2787
+ const dims = import_editor_props11.dimensionsPropTypeUtil.extract(val);
2788
+ DIMENSION_SIDES.forEach((side) => {
2789
+ if ((merged[side] === null || merged[side] === void 0) && dims?.[side] !== null && dims?.[side] !== void 0) {
2790
+ merged[side] = dims[side];
2791
+ }
2792
+ });
2793
+ }
2794
+ if (DIMENSION_SIDES.every((side) => merged[side] !== null && merged[side] !== void 0)) {
2795
+ break;
2796
+ }
2797
+ }
2798
+ return import_editor_props11.dimensionsPropTypeUtil.create({
2799
+ "block-start": merged["block-start"] ?? null,
2800
+ "block-end": merged["block-end"] ?? null,
2801
+ "inline-start": merged["inline-start"] ?? null,
2802
+ "inline-end": merged["inline-end"] ?? null
2803
+ });
2804
+ }
2756
2805
  var StylesField = ({ bind, propDisplayName, children }) => {
2757
2806
  const stylesSchema = (0, import_editor_styles6.getStylesSchema)();
2758
2807
  const stylesInheritanceChain = useStylesInheritanceChain([bind]);
2759
2808
  const { value, canEdit, ...fields } = useStylesField(bind, { history: { propDisplayName } });
2760
2809
  const propType = createTopLevelObjectType({ schema: stylesSchema });
2761
- const [actualValue] = stylesInheritanceChain;
2810
+ const placeholderStartIndex = value ? 1 : 0;
2762
2811
  const placeholderValues = {
2763
- [bind]: actualValue?.value
2812
+ [bind]: buildResolvedPlaceholder(stylesInheritanceChain, placeholderStartIndex)
2764
2813
  };
2765
2814
  const setValue = (newValue) => {
2766
2815
  fields.setValue(newValue[bind]);
@@ -2845,7 +2894,7 @@ var BorderColorField = () => /* @__PURE__ */ React28.createElement(StylesField,
2845
2894
  // src/components/style-sections/border-section/border-radius-field.tsx
2846
2895
  var React30 = __toESM(require("react"));
2847
2896
  var import_editor_controls9 = require("@elementor/editor-controls");
2848
- var import_editor_props11 = require("@elementor/editor-props");
2897
+ var import_editor_props12 = require("@elementor/editor-props");
2849
2898
  var import_icons3 = require("@elementor/icons");
2850
2899
  var import_ui19 = require("@elementor/ui");
2851
2900
  var import_i18n10 = require("@wordpress/i18n");
@@ -2916,7 +2965,7 @@ var BorderRadiusField = () => {
2916
2965
  label: BORDER_RADIUS_LABEL,
2917
2966
  icon: /* @__PURE__ */ React30.createElement(import_icons3.BorderCornersIcon, { fontSize: "tiny" }),
2918
2967
  tooltipLabel: (0, import_i18n10.__)("Adjust corners", "elementor"),
2919
- multiSizePropTypeUtil: import_editor_props11.borderRadiusPropTypeUtil
2968
+ multiSizePropTypeUtil: import_editor_props12.borderRadiusPropTypeUtil
2920
2969
  }
2921
2970
  )));
2922
2971
  };
@@ -2942,7 +2991,7 @@ var BorderStyleField = () => /* @__PURE__ */ React31.createElement(StylesField,
2942
2991
  // src/components/style-sections/border-section/border-width-field.tsx
2943
2992
  var React32 = __toESM(require("react"));
2944
2993
  var import_editor_controls11 = require("@elementor/editor-controls");
2945
- var import_editor_props12 = require("@elementor/editor-props");
2994
+ var import_editor_props13 = require("@elementor/editor-props");
2946
2995
  var import_icons4 = require("@elementor/icons");
2947
2996
  var import_ui20 = require("@elementor/ui");
2948
2997
  var import_i18n12 = require("@wordpress/i18n");
@@ -2984,7 +3033,7 @@ var BorderWidthField = () => {
2984
3033
  label: BORDER_WIDTH_LABEL,
2985
3034
  icon: /* @__PURE__ */ React32.createElement(import_icons4.SideAllIcon, { fontSize: "tiny" }),
2986
3035
  tooltipLabel: (0, import_i18n12.__)("Adjust borders", "elementor"),
2987
- multiSizePropTypeUtil: import_editor_props12.borderWidthPropTypeUtil
3036
+ multiSizePropTypeUtil: import_editor_props13.borderWidthPropTypeUtil
2988
3037
  }
2989
3038
  ));
2990
3039
  };
@@ -3557,7 +3606,7 @@ var getGroupControlValue = (order) => {
3557
3606
  var React45 = __toESM(require("react"));
3558
3607
  var import_react23 = require("react");
3559
3608
  var import_editor_controls21 = require("@elementor/editor-controls");
3560
- var import_editor_props13 = require("@elementor/editor-props");
3609
+ var import_editor_props14 = require("@elementor/editor-props");
3561
3610
  var import_icons10 = require("@elementor/icons");
3562
3611
  var import_i18n23 = require("@wordpress/i18n");
3563
3612
  var FLEX_SIZE_LABEL = (0, import_i18n23.__)("Flex Size", "elementor");
@@ -3636,24 +3685,24 @@ var createFlexValueForGroup = (group, flexValue) => {
3636
3685
  return null;
3637
3686
  }
3638
3687
  if (group === "flex-grow") {
3639
- return import_editor_props13.flexPropTypeUtil.create({
3640
- flexGrow: import_editor_props13.numberPropTypeUtil.create(DEFAULT),
3641
- flexShrink: import_editor_props13.numberPropTypeUtil.create(0),
3642
- flexBasis: import_editor_props13.sizePropTypeUtil.create({ unit: "auto", size: "" })
3688
+ return import_editor_props14.flexPropTypeUtil.create({
3689
+ flexGrow: import_editor_props14.numberPropTypeUtil.create(DEFAULT),
3690
+ flexShrink: import_editor_props14.numberPropTypeUtil.create(0),
3691
+ flexBasis: import_editor_props14.sizePropTypeUtil.create({ unit: "auto", size: "" })
3643
3692
  });
3644
3693
  }
3645
3694
  if (group === "flex-shrink") {
3646
- return import_editor_props13.flexPropTypeUtil.create({
3647
- flexGrow: import_editor_props13.numberPropTypeUtil.create(0),
3648
- flexShrink: import_editor_props13.numberPropTypeUtil.create(DEFAULT),
3649
- flexBasis: import_editor_props13.sizePropTypeUtil.create({ unit: "auto", size: "" })
3695
+ return import_editor_props14.flexPropTypeUtil.create({
3696
+ flexGrow: import_editor_props14.numberPropTypeUtil.create(0),
3697
+ flexShrink: import_editor_props14.numberPropTypeUtil.create(DEFAULT),
3698
+ flexBasis: import_editor_props14.sizePropTypeUtil.create({ unit: "auto", size: "" })
3650
3699
  });
3651
3700
  }
3652
3701
  if (group === "custom") {
3653
3702
  if (flexValue) {
3654
3703
  return flexValue;
3655
3704
  }
3656
- return import_editor_props13.flexPropTypeUtil.create({
3705
+ return import_editor_props14.flexPropTypeUtil.create({
3657
3706
  flexGrow: null,
3658
3707
  flexShrink: null,
3659
3708
  flexBasis: null
@@ -3663,7 +3712,7 @@ var createFlexValueForGroup = (group, flexValue) => {
3663
3712
  };
3664
3713
  var FlexCustomField = () => {
3665
3714
  const flexBasisRowRef = (0, import_react23.useRef)(null);
3666
- const context = (0, import_editor_controls21.useBoundProp)(import_editor_props13.flexPropTypeUtil);
3715
+ const context = (0, import_editor_controls21.useBoundProp)(import_editor_props14.flexPropTypeUtil);
3667
3716
  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 })))));
3668
3717
  };
3669
3718
  var getActiveGroup = ({
@@ -4694,7 +4743,7 @@ function ClassesHeader({ children }) {
4694
4743
  function useCurrentClassesProp() {
4695
4744
  const { elementType } = useElement();
4696
4745
  const prop = Object.entries(elementType.propsSchema).find(
4697
- ([, propType]) => propType.kind === "plain" && propType.key === import_editor_props14.CLASSES_PROP_KEY
4746
+ ([, propType]) => propType.kind === "plain" && propType.key === import_editor_props15.CLASSES_PROP_KEY
4698
4747
  );
4699
4748
  if (!prop) {
4700
4749
  return null;
@@ -4842,7 +4891,7 @@ var init = () => {
4842
4891
  var React83 = __toESM(require("react"));
4843
4892
  var import_editor_controls53 = require("@elementor/editor-controls");
4844
4893
  var import_editor_elements16 = require("@elementor/editor-elements");
4845
- var import_editor_props16 = require("@elementor/editor-props");
4894
+ var import_editor_props17 = require("@elementor/editor-props");
4846
4895
  var import_icons22 = require("@elementor/icons");
4847
4896
  var import_ui37 = require("@elementor/ui");
4848
4897
  var import_i18n58 = require("@wordpress/i18n");
@@ -4863,12 +4912,12 @@ var getElementByType = (elementId, type) => {
4863
4912
  // src/controls-registry/element-controls/tabs-control/use-actions.ts
4864
4913
  var import_editor_controls52 = require("@elementor/editor-controls");
4865
4914
  var import_editor_elements15 = require("@elementor/editor-elements");
4866
- var import_editor_props15 = require("@elementor/editor-props");
4915
+ var import_editor_props16 = require("@elementor/editor-props");
4867
4916
  var import_i18n57 = require("@wordpress/i18n");
4868
4917
  var TAB_ELEMENT_TYPE = "e-tab";
4869
4918
  var TAB_CONTENT_ELEMENT_TYPE = "e-tab-content";
4870
4919
  var useActions = () => {
4871
- const { value, setValue: setDefaultActiveTab } = (0, import_editor_controls52.useBoundProp)(import_editor_props15.numberPropTypeUtil);
4920
+ const { value, setValue: setDefaultActiveTab } = (0, import_editor_controls52.useBoundProp)(import_editor_props16.numberPropTypeUtil);
4872
4921
  const defaultActiveTab = value ?? 0;
4873
4922
  const duplicateItem = ({
4874
4923
  items: items3,
@@ -5129,7 +5178,7 @@ var ItemLabel = ({ value, index }) => {
5129
5178
  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 }));
5130
5179
  };
5131
5180
  var ItemDefaultTab = ({ index }) => {
5132
- const { value: defaultItem } = (0, import_editor_controls53.useBoundProp)(import_editor_props16.numberPropTypeUtil);
5181
+ const { value: defaultItem } = (0, import_editor_controls53.useBoundProp)(import_editor_props17.numberPropTypeUtil);
5133
5182
  const isDefault = defaultItem === index;
5134
5183
  if (!isDefault) {
5135
5184
  return null;
@@ -5143,7 +5192,7 @@ var ItemContent = ({ value, index }) => {
5143
5192
  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 })));
5144
5193
  };
5145
5194
  var DefaultTabControl = ({ tabIndex }) => {
5146
- const { value, setValue } = (0, import_editor_controls53.useBoundProp)(import_editor_props16.numberPropTypeUtil);
5195
+ const { value, setValue } = (0, import_editor_controls53.useBoundProp)(import_editor_props17.numberPropTypeUtil);
5147
5196
  const isDefault = value === tabIndex;
5148
5197
  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(
5149
5198
  import_ui37.Switch,
@@ -5223,7 +5272,7 @@ var import_menus2 = require("@elementor/menus");
5223
5272
  // src/dynamics/components/background-control-dynamic-tag.tsx
5224
5273
  var React84 = __toESM(require("react"));
5225
5274
  var import_editor_controls55 = require("@elementor/editor-controls");
5226
- var import_editor_props18 = require("@elementor/editor-props");
5275
+ var import_editor_props19 = require("@elementor/editor-props");
5227
5276
  var import_icons23 = require("@elementor/icons");
5228
5277
 
5229
5278
  // src/dynamics/hooks/use-dynamic-tag.ts
@@ -5279,11 +5328,11 @@ var filterByLicense = (tags) => {
5279
5328
  };
5280
5329
 
5281
5330
  // src/dynamics/utils.ts
5282
- var import_editor_props17 = require("@elementor/editor-props");
5331
+ var import_editor_props18 = require("@elementor/editor-props");
5283
5332
  var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
5284
5333
  var import_schema = require("@elementor/schema");
5285
5334
  var DYNAMIC_PROP_TYPE_KEY = "dynamic";
5286
- var dynamicPropTypeUtil = (0, import_editor_props17.createPropUtils)(
5335
+ var dynamicPropTypeUtil = (0, import_editor_props18.createPropUtils)(
5287
5336
  DYNAMIC_PROP_TYPE_KEY,
5288
5337
  import_schema.z.strictObject({
5289
5338
  name: import_schema.z.string(),
@@ -5300,7 +5349,7 @@ var getDynamicPropType = (propType) => {
5300
5349
  return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
5301
5350
  };
5302
5351
  var isDynamicPropValue = (prop) => {
5303
- return (0, import_editor_props17.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
5352
+ return (0, import_editor_props18.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
5304
5353
  };
5305
5354
  var supportsDynamic = (propType) => {
5306
5355
  return !!getDynamicPropType(propType);
@@ -5361,7 +5410,7 @@ var useDynamicTag = (tagName) => {
5361
5410
  // src/dynamics/components/background-control-dynamic-tag.tsx
5362
5411
  var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React84.createElement(import_icons23.DatabaseIcon, { fontSize: "tiny" });
5363
5412
  var BackgroundControlDynamicTagLabel = ({ value }) => {
5364
- const context = (0, import_editor_controls55.useBoundProp)(import_editor_props18.backgroundImageOverlayPropTypeUtil);
5413
+ const context = (0, import_editor_controls55.useBoundProp)(import_editor_props19.backgroundImageOverlayPropTypeUtil);
5365
5414
  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 })));
5366
5415
  };
5367
5416
  var Wrapper2 = ({ rawValue }) => {
@@ -5397,7 +5446,7 @@ var import_editor_controls56 = require("@elementor/editor-controls");
5397
5446
 
5398
5447
  // src/dynamics/components/dynamic-conditional-control.tsx
5399
5448
  var React85 = __toESM(require("react"));
5400
- var import_editor_props19 = require("@elementor/editor-props");
5449
+ var import_editor_props20 = require("@elementor/editor-props");
5401
5450
  var DynamicConditionalControl = ({
5402
5451
  children,
5403
5452
  propType,
@@ -5439,7 +5488,7 @@ var DynamicConditionalControl = ({
5439
5488
  if (!propType?.dependencies?.terms.length) {
5440
5489
  return /* @__PURE__ */ React85.createElement(React85.Fragment, null, children);
5441
5490
  }
5442
- const isHidden = !(0, import_editor_props19.isDependencyMet)(propType?.dependencies, effectiveSettings).isMet;
5491
+ const isHidden = !(0, import_editor_props20.isDependencyMet)(propType?.dependencies, effectiveSettings).isMet;
5443
5492
  return isHidden ? null : /* @__PURE__ */ React85.createElement(React85.Fragment, null, children);
5444
5493
  };
5445
5494
 
@@ -5817,7 +5866,7 @@ function ControlsItemsStack({ items: items3 }) {
5817
5866
 
5818
5867
  // src/dynamics/dynamic-transformer.ts
5819
5868
  var import_editor_canvas2 = require("@elementor/editor-canvas");
5820
- var import_editor_props20 = require("@elementor/editor-props");
5869
+ var import_editor_props21 = require("@elementor/editor-props");
5821
5870
 
5822
5871
  // src/dynamics/errors.ts
5823
5872
  var import_utils9 = require("@elementor/utils");
@@ -5835,7 +5884,7 @@ var dynamicTransformer = (0, import_editor_canvas2.createTransformer)((value, {
5835
5884
  });
5836
5885
  function simpleTransform(props) {
5837
5886
  const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
5838
- const value = (0, import_editor_props20.isTransformable)(settingValue) ? settingValue.value : settingValue;
5887
+ const value = (0, import_editor_props21.isTransformable)(settingValue) ? settingValue.value : settingValue;
5839
5888
  return [settingKey, value];
5840
5889
  });
5841
5890
  return Object.fromEntries(transformed);
@@ -5995,7 +6044,7 @@ function useResetStyleValueProps() {
5995
6044
  // src/styles-inheritance/components/styles-inheritance-indicator.tsx
5996
6045
  var React95 = __toESM(require("react"));
5997
6046
  var import_editor_controls62 = require("@elementor/editor-controls");
5998
- var import_editor_props21 = require("@elementor/editor-props");
6047
+ var import_editor_props22 = require("@elementor/editor-props");
5999
6048
  var import_editor_styles_repository16 = require("@elementor/editor-styles-repository");
6000
6049
  var import_i18n66 = require("@wordpress/i18n");
6001
6050
 
@@ -6377,7 +6426,7 @@ var StylesInheritanceIndicator = ({
6377
6426
  var Indicator = ({ inheritanceChain, path, propType, isDisabled }) => {
6378
6427
  const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
6379
6428
  const currentItem = currentStyleId ? getValueFromInheritanceChain(inheritanceChain, currentStyleId, currentStyleMeta) : null;
6380
- const hasValue = !(0, import_editor_props21.isEmpty)(currentItem?.value);
6429
+ const hasValue = !(0, import_editor_props22.isEmpty)(currentItem?.value);
6381
6430
  const [actualStyle] = inheritanceChain;
6382
6431
  if (actualStyle.provider === import_editor_styles_repository16.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
6383
6432
  return null;