@elementor/editor-editing-panel 4.0.0-683 → 4.0.0-beta5

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
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
33
  BaseControl: () => Control,
34
+ ControlTypeContainer: () => ControlTypeContainer,
34
35
  CustomCssIndicator: () => CustomCssIndicator,
35
36
  ElementProvider: () => ElementProvider,
36
37
  FIELD_TYPE: () => FIELD_TYPE,
@@ -1772,7 +1773,7 @@ function EditorPanelErrorFallback() {
1772
1773
  }
1773
1774
 
1774
1775
  // src/components/editing-panel-tabs.tsx
1775
- var import_react33 = require("react");
1776
+ var import_react34 = require("react");
1776
1777
  var React80 = __toESM(require("react"));
1777
1778
  var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
1778
1779
  var import_ui35 = require("@elementor/ui");
@@ -1955,7 +1956,7 @@ var import_editor_controls = require("@elementor/editor-controls");
1955
1956
  var import_editor_props4 = require("@elementor/editor-props");
1956
1957
  var controlTypes = {
1957
1958
  image: { component: import_editor_controls.ImageControl, layout: "custom", propTypeUtil: import_editor_props4.imagePropTypeUtil },
1958
- "svg-media": { component: import_editor_controls.SvgMediaControl, layout: "full", propTypeUtil: import_editor_props4.imageSrcPropTypeUtil },
1959
+ "svg-media": { component: import_editor_controls.SvgMediaControl, layout: "full", propTypeUtil: import_editor_props4.svgSrcPropTypeUtil },
1959
1960
  text: { component: import_editor_controls.TextControl, layout: "full", propTypeUtil: import_editor_props4.stringPropTypeUtil },
1960
1961
  textarea: { component: import_editor_controls.TextAreaControl, layout: "full", propTypeUtil: import_editor_props4.stringPropTypeUtil },
1961
1962
  size: { component: import_editor_controls.SizeControl, layout: "two-columns", propTypeUtil: import_editor_props4.sizePropTypeUtil },
@@ -2404,7 +2405,7 @@ function isControl(control) {
2404
2405
 
2405
2406
  // src/components/style-tab.tsx
2406
2407
  var React79 = __toESM(require("react"));
2407
- var import_react32 = require("react");
2408
+ var import_react33 = require("react");
2408
2409
  var import_editor_props14 = require("@elementor/editor-props");
2409
2410
  var import_editor_responsive3 = require("@elementor/editor-responsive");
2410
2411
  var import_locations3 = require("@elementor/locations");
@@ -3810,6 +3811,7 @@ var shouldDisplayFlexFields = (display, local) => {
3810
3811
 
3811
3812
  // src/components/style-sections/position-section/position-section.tsx
3812
3813
  var React54 = __toESM(require("react"));
3814
+ var import_react26 = require("react");
3813
3815
  var import_session6 = require("@elementor/session");
3814
3816
  var import_i18n32 = require("@wordpress/i18n");
3815
3817
 
@@ -3901,42 +3903,65 @@ var ZIndexField = () => {
3901
3903
  };
3902
3904
 
3903
3905
  // src/components/style-sections/position-section/position-section.tsx
3906
+ var POSITION_STATIC = "static";
3904
3907
  var POSITION_LABEL2 = (0, import_i18n32.__)("Position", "elementor");
3905
3908
  var DIMENSIONS_LABEL = (0, import_i18n32.__)("Dimensions", "elementor");
3909
+ var POSITION_DEPENDENT_PROP_NAMES = [
3910
+ "inset-block-start",
3911
+ "inset-block-end",
3912
+ "inset-inline-start",
3913
+ "inset-inline-end",
3914
+ "z-index"
3915
+ ];
3916
+ var CLEARED_POSITION_DEPENDENT_VALUES = {
3917
+ "inset-block-start": void 0,
3918
+ "inset-block-end": void 0,
3919
+ "inset-inline-start": void 0,
3920
+ "inset-inline-end": void 0,
3921
+ "z-index": void 0
3922
+ };
3906
3923
  var PositionSection = () => {
3907
3924
  const { value: positionValue } = useStylesField("position", {
3908
3925
  history: { propDisplayName: POSITION_LABEL2 }
3909
3926
  });
3910
- const { values: dimensions, setValues: setDimensions } = useStylesFields([
3911
- "inset-block-start",
3912
- "inset-block-end",
3913
- "inset-inline-start",
3914
- "inset-inline-end"
3915
- ]);
3927
+ const { values: positionDependentValues, setValues: setPositionDependentValues } = useStylesFields([...POSITION_DEPENDENT_PROP_NAMES]);
3916
3928
  const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
3929
+ const clearPositionDependentProps = (0, import_react26.useCallback)(() => {
3930
+ const dimensions = {
3931
+ "inset-block-start": positionDependentValues?.["inset-block-start"],
3932
+ "inset-block-end": positionDependentValues?.["inset-block-end"],
3933
+ "inset-inline-start": positionDependentValues?.["inset-inline-start"],
3934
+ "inset-inline-end": positionDependentValues?.["inset-inline-end"]
3935
+ };
3936
+ const meta = { history: { propDisplayName: DIMENSIONS_LABEL } };
3937
+ const hasValuesToClear = Object.values(dimensions).some((v) => v !== null) || positionDependentValues?.["z-index"] !== null;
3938
+ if (hasValuesToClear) {
3939
+ updateDimensionsHistory(dimensions);
3940
+ setPositionDependentValues(CLEARED_POSITION_DEPENDENT_VALUES, meta);
3941
+ }
3942
+ }, [positionDependentValues, updateDimensionsHistory, setPositionDependentValues]);
3943
+ const clearPositionDependentPropsRef = (0, import_react26.useRef)(clearPositionDependentProps);
3944
+ clearPositionDependentPropsRef.current = clearPositionDependentProps;
3945
+ (0, import_react26.useEffect)(() => {
3946
+ if (positionValue?.value === POSITION_STATIC || positionValue === null) {
3947
+ clearPositionDependentPropsRef.current();
3948
+ }
3949
+ }, [positionValue]);
3917
3950
  const onPositionChange = (newPosition, previousPosition) => {
3918
3951
  const meta = { history: { propDisplayName: DIMENSIONS_LABEL } };
3919
- if (newPosition === "static") {
3920
- if (dimensions) {
3921
- updateDimensionsHistory(dimensions);
3922
- setDimensions(
3923
- {
3924
- "inset-block-start": void 0,
3925
- "inset-block-end": void 0,
3926
- "inset-inline-start": void 0,
3927
- "inset-inline-end": void 0
3928
- },
3952
+ if (newPosition === POSITION_STATIC) {
3953
+ clearPositionDependentProps();
3954
+ } else if (previousPosition === POSITION_STATIC) {
3955
+ if (dimensionsValuesFromHistory) {
3956
+ setPositionDependentValues(
3957
+ { ...dimensionsValuesFromHistory, "z-index": void 0 },
3929
3958
  meta
3930
3959
  );
3931
- }
3932
- } else if (previousPosition === "static") {
3933
- if (dimensionsValuesFromHistory) {
3934
- setDimensions(dimensionsValuesFromHistory, meta);
3935
3960
  clearDimensionsHistory();
3936
3961
  }
3937
3962
  }
3938
3963
  };
3939
- const isNotStatic = positionValue && positionValue?.value !== "static";
3964
+ const isNotStatic = positionValue && positionValue?.value !== POSITION_STATIC;
3940
3965
  return /* @__PURE__ */ React54.createElement(SectionContent, null, /* @__PURE__ */ React54.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(DimensionsField, null), /* @__PURE__ */ React54.createElement(ZIndexField, null)) : null, /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(OffsetField, null));
3941
3966
  };
3942
3967
  var usePersistDimensions = () => {
@@ -3948,7 +3973,7 @@ var usePersistDimensions = () => {
3948
3973
 
3949
3974
  // src/components/style-sections/size-section/size-section.tsx
3950
3975
  var React59 = __toESM(require("react"));
3951
- var import_react26 = require("react");
3976
+ var import_react27 = require("react");
3952
3977
  var import_editor_controls32 = require("@elementor/editor-controls");
3953
3978
  var import_ui31 = require("@elementor/ui");
3954
3979
  var import_i18n36 = require("@wordpress/i18n");
@@ -4115,7 +4140,7 @@ var CssSizeProps = [
4115
4140
  ];
4116
4141
  var ASPECT_RATIO_LABEL = (0, import_i18n36.__)("Aspect Ratio", "elementor");
4117
4142
  var SizeSection = () => {
4118
- const gridRowRefs = [(0, import_react26.useRef)(null), (0, import_react26.useRef)(null), (0, import_react26.useRef)(null)];
4143
+ const gridRowRefs = [(0, import_react27.useRef)(null), (0, import_react27.useRef)(null), (0, import_react27.useRef)(null)];
4119
4144
  return /* @__PURE__ */ React59.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React59.createElement(import_ui31.Grid, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React59.createElement(import_ui31.Grid, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React59.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React59.createElement(PanelDivider, null), /* @__PURE__ */ React59.createElement(import_ui31.Stack, null, /* @__PURE__ */ React59.createElement(OverflowField, null)), /* @__PURE__ */ React59.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React59.createElement(import_ui31.Stack, { gap: 2, pt: 2 }, /* @__PURE__ */ React59.createElement(StylesField, { bind: "aspect-ratio", propDisplayName: ASPECT_RATIO_LABEL }, /* @__PURE__ */ React59.createElement(import_editor_controls32.AspectRatioControl, { label: ASPECT_RATIO_LABEL })), /* @__PURE__ */ React59.createElement(PanelDivider, null), /* @__PURE__ */ React59.createElement(ObjectFitField, null), /* @__PURE__ */ React59.createElement(StylesField, { bind: "object-position", propDisplayName: (0, import_i18n36.__)("Object position", "elementor") }, /* @__PURE__ */ React59.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(import_editor_controls32.PositionControl, null))))));
4120
4145
  };
4121
4146
  var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
@@ -4155,12 +4180,12 @@ var ColumnCountField = () => {
4155
4180
 
4156
4181
  // src/components/style-sections/typography-section/column-gap-field.tsx
4157
4182
  var React62 = __toESM(require("react"));
4158
- var import_react27 = require("react");
4183
+ var import_react28 = require("react");
4159
4184
  var import_editor_controls35 = require("@elementor/editor-controls");
4160
4185
  var import_i18n39 = require("@wordpress/i18n");
4161
4186
  var COLUMN_GAP_LABEL = (0, import_i18n39.__)("Column gap", "elementor");
4162
4187
  var ColumnGapField = () => {
4163
- const rowRef = (0, import_react27.useRef)(null);
4188
+ const rowRef = (0, import_react28.useRef)(null);
4164
4189
  return /* @__PURE__ */ React62.createElement(StylesField, { bind: "column-gap", propDisplayName: COLUMN_GAP_LABEL }, /* @__PURE__ */ React62.createElement(StylesFieldLayout, { label: COLUMN_GAP_LABEL, ref: rowRef }, /* @__PURE__ */ React62.createElement(import_editor_controls35.SizeControl, { anchorRef: rowRef })));
4165
4190
  };
4166
4191
 
@@ -4188,12 +4213,12 @@ var FontFamilyField = () => {
4188
4213
 
4189
4214
  // src/components/style-sections/typography-section/font-size-field.tsx
4190
4215
  var React64 = __toESM(require("react"));
4191
- var import_react28 = require("react");
4216
+ var import_react29 = require("react");
4192
4217
  var import_editor_controls37 = require("@elementor/editor-controls");
4193
4218
  var import_i18n41 = require("@wordpress/i18n");
4194
4219
  var FONT_SIZE_LABEL = (0, import_i18n41.__)("Font size", "elementor");
4195
4220
  var FontSizeField = () => {
4196
- const rowRef = (0, import_react28.useRef)(null);
4221
+ const rowRef = (0, import_react29.useRef)(null);
4197
4222
  return /* @__PURE__ */ React64.createElement(StylesField, { bind: "font-size", propDisplayName: FONT_SIZE_LABEL }, /* @__PURE__ */ React64.createElement(StylesFieldLayout, { label: FONT_SIZE_LABEL, ref: rowRef }, /* @__PURE__ */ React64.createElement(import_editor_controls37.SizeControl, { anchorRef: rowRef, ariaLabel: FONT_SIZE_LABEL })));
4198
4223
  };
4199
4224
 
@@ -4243,23 +4268,23 @@ var FontWeightField = () => {
4243
4268
 
4244
4269
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
4245
4270
  var React67 = __toESM(require("react"));
4246
- var import_react29 = require("react");
4271
+ var import_react30 = require("react");
4247
4272
  var import_editor_controls40 = require("@elementor/editor-controls");
4248
4273
  var import_i18n44 = require("@wordpress/i18n");
4249
4274
  var LETTER_SPACING_LABEL = (0, import_i18n44.__)("Letter spacing", "elementor");
4250
4275
  var LetterSpacingField = () => {
4251
- const rowRef = (0, import_react29.useRef)(null);
4276
+ const rowRef = (0, import_react30.useRef)(null);
4252
4277
  return /* @__PURE__ */ React67.createElement(StylesField, { bind: "letter-spacing", propDisplayName: LETTER_SPACING_LABEL }, /* @__PURE__ */ React67.createElement(StylesFieldLayout, { label: LETTER_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React67.createElement(import_editor_controls40.SizeControl, { anchorRef: rowRef, min: -Number.MAX_SAFE_INTEGER })));
4253
4278
  };
4254
4279
 
4255
4280
  // src/components/style-sections/typography-section/line-height-field.tsx
4256
4281
  var React68 = __toESM(require("react"));
4257
- var import_react30 = require("react");
4282
+ var import_react31 = require("react");
4258
4283
  var import_editor_controls41 = require("@elementor/editor-controls");
4259
4284
  var import_i18n45 = require("@wordpress/i18n");
4260
4285
  var LINE_HEIGHT_LABEL = (0, import_i18n45.__)("Line height", "elementor");
4261
4286
  var LineHeightField = () => {
4262
- const rowRef = (0, import_react30.useRef)(null);
4287
+ const rowRef = (0, import_react31.useRef)(null);
4263
4288
  return /* @__PURE__ */ React68.createElement(StylesField, { bind: "line-height", propDisplayName: LINE_HEIGHT_LABEL }, /* @__PURE__ */ React68.createElement(StylesFieldLayout, { label: LINE_HEIGHT_LABEL, ref: rowRef }, /* @__PURE__ */ React68.createElement(import_editor_controls41.SizeControl, { anchorRef: rowRef })));
4264
4289
  };
4265
4290
 
@@ -4481,12 +4506,12 @@ var TransformField = () => /* @__PURE__ */ React75.createElement(StylesField, {
4481
4506
 
4482
4507
  // src/components/style-sections/typography-section/word-spacing-field.tsx
4483
4508
  var React76 = __toESM(require("react"));
4484
- var import_react31 = require("react");
4509
+ var import_react32 = require("react");
4485
4510
  var import_editor_controls48 = require("@elementor/editor-controls");
4486
4511
  var import_i18n52 = require("@wordpress/i18n");
4487
4512
  var WORD_SPACING_LABEL = (0, import_i18n52.__)("Word spacing", "elementor");
4488
4513
  var WordSpacingField = () => {
4489
- const rowRef = (0, import_react31.useRef)(null);
4514
+ const rowRef = (0, import_react32.useRef)(null);
4490
4515
  return /* @__PURE__ */ React76.createElement(StylesField, { bind: "word-spacing", propDisplayName: WORD_SPACING_LABEL }, /* @__PURE__ */ React76.createElement(StylesFieldLayout, { label: WORD_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React76.createElement(import_editor_controls48.SizeControl, { anchorRef: rowRef, min: -Number.MAX_SAFE_INTEGER })));
4491
4516
  };
4492
4517
 
@@ -4544,7 +4569,7 @@ var stickyHeaderStyles = {
4544
4569
  var StyleTab = () => {
4545
4570
  const currentClassesProp = useCurrentClassesProp();
4546
4571
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp ?? "");
4547
- const [activeStyleState, setActiveStyleState] = (0, import_react32.useState)(null);
4572
+ const [activeStyleState, setActiveStyleState] = (0, import_react33.useState)(null);
4548
4573
  const breakpoint = (0, import_editor_responsive3.useActiveBreakpoint)();
4549
4574
  if (!currentClassesProp) {
4550
4575
  return null;
@@ -4707,7 +4732,7 @@ var EditingPanelTabs = () => {
4707
4732
  return (
4708
4733
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
4709
4734
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
4710
- /* @__PURE__ */ React80.createElement(import_react33.Fragment, { key: element.id }, /* @__PURE__ */ React80.createElement(PanelTabContent, null))
4735
+ /* @__PURE__ */ React80.createElement(import_react34.Fragment, { key: element.id }, /* @__PURE__ */ React80.createElement(PanelTabContent, null))
4711
4736
  );
4712
4737
  };
4713
4738
  var PanelTabContent = () => {
@@ -4759,7 +4784,7 @@ var import_editor_panels3 = require("@elementor/editor-panels");
4759
4784
  var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
4760
4785
 
4761
4786
  // src/hooks/use-open-editor-panel.ts
4762
- var import_react34 = require("react");
4787
+ var import_react35 = require("react");
4763
4788
  var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
4764
4789
 
4765
4790
  // src/panel.ts
@@ -4783,7 +4808,7 @@ var isAtomicWidgetSelected = () => {
4783
4808
  // src/hooks/use-open-editor-panel.ts
4784
4809
  var useOpenEditorPanel = () => {
4785
4810
  const { open } = usePanelActions();
4786
- (0, import_react34.useEffect)(() => {
4811
+ (0, import_react35.useEffect)(() => {
4787
4812
  return (0, import_editor_v1_adapters8.__privateListenTo)((0, import_editor_v1_adapters8.commandStartEvent)("panel/editor/open"), () => {
4788
4813
  if (isAtomicWidgetSelected()) {
4789
4814
  open();
@@ -4803,12 +4828,12 @@ var import_editor_controls51 = require("@elementor/editor-controls");
4803
4828
 
4804
4829
  // src/components/promotions/custom-css.tsx
4805
4830
  var React82 = __toESM(require("react"));
4806
- var import_react35 = require("react");
4831
+ var import_react36 = require("react");
4807
4832
  var import_editor_controls50 = require("@elementor/editor-controls");
4808
4833
  var import_i18n56 = require("@wordpress/i18n");
4809
4834
  var TRACKING_DATA = { target_name: "custom_css", location_l2: "style" };
4810
4835
  var CustomCssSection = () => {
4811
- const triggerRef = (0, import_react35.useRef)(null);
4836
+ const triggerRef = (0, import_react36.useRef)(null);
4812
4837
  return /* @__PURE__ */ React82.createElement(
4813
4838
  StyleTabSection,
4814
4839
  {
@@ -5226,17 +5251,17 @@ var import_editor_props18 = require("@elementor/editor-props");
5226
5251
  var import_icons23 = require("@elementor/icons");
5227
5252
 
5228
5253
  // src/dynamics/hooks/use-dynamic-tag.ts
5229
- var import_react38 = require("react");
5254
+ var import_react39 = require("react");
5230
5255
 
5231
5256
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
5232
- var import_react37 = require("react");
5257
+ var import_react38 = require("react");
5233
5258
  var import_editor_controls54 = require("@elementor/editor-controls");
5234
5259
 
5235
5260
  // src/dynamics/sync/get-atomic-dynamic-tags.ts
5236
5261
  var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
5237
5262
 
5238
5263
  // src/hooks/use-license-config.ts
5239
- var import_react36 = require("react");
5264
+ var import_react37 = require("react");
5240
5265
  var config = { expired: false };
5241
5266
  var listeners = /* @__PURE__ */ new Set();
5242
5267
  function setLicenseConfig(newConfig) {
@@ -5251,7 +5276,7 @@ function subscribe(listener) {
5251
5276
  return () => listeners.delete(listener);
5252
5277
  }
5253
5278
  function useLicenseConfig() {
5254
- return (0, import_react36.useSyncExternalStore)(subscribe, getLicenseConfig, getLicenseConfig);
5279
+ return (0, import_react37.useSyncExternalStore)(subscribe, getLicenseConfig, getLicenseConfig);
5255
5280
  }
5256
5281
 
5257
5282
  // src/dynamics/sync/get-atomic-dynamic-tags.ts
@@ -5320,7 +5345,7 @@ var usePropDynamicTagsInternal = (filterByLicense2) => {
5320
5345
  categories = propDynamicType?.settings.categories || [];
5321
5346
  }
5322
5347
  const categoriesKey = categories.join();
5323
- return (0, import_react37.useMemo)(
5348
+ return (0, import_react38.useMemo)(
5324
5349
  () => getDynamicTagsByCategories(categories, filterByLicense2),
5325
5350
  // eslint-disable-next-line react-hooks/exhaustive-deps
5326
5351
  [categoriesKey, filterByLicense2]
@@ -5354,7 +5379,7 @@ var getDynamicTagsByCategories = (categories, filterByLicense2) => {
5354
5379
  // src/dynamics/hooks/use-dynamic-tag.ts
5355
5380
  var useDynamicTag = (tagName) => {
5356
5381
  const dynamicTags = useAllPropDynamicTags();
5357
- return (0, import_react38.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
5382
+ return (0, import_react39.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
5358
5383
  };
5359
5384
 
5360
5385
  // src/dynamics/components/background-control-dynamic-tag.tsx
@@ -5477,7 +5502,7 @@ var DynamicControl = ({ bind, children }) => {
5477
5502
 
5478
5503
  // src/dynamics/components/dynamic-selection.tsx
5479
5504
  var React87 = __toESM(require("react"));
5480
- var import_react39 = require("react");
5505
+ var import_react40 = require("react");
5481
5506
  var import_editor_controls57 = require("@elementor/editor-controls");
5482
5507
  var import_editor_ui8 = require("@elementor/editor-ui");
5483
5508
  var import_icons24 = require("@elementor/icons");
@@ -5488,7 +5513,7 @@ var PROMO_TEXT_WIDTH = 170;
5488
5513
  var PRO_DYNAMIC_TAGS_URL = "https://go.elementor.com/go-pro-dynamic-tags-modal/";
5489
5514
  var RENEW_DYNAMIC_TAGS_URL = "https://go.elementor.com/go-pro-dynamic-tags-renew-modal/";
5490
5515
  var DynamicSelection = ({ close: closePopover, expired = false }) => {
5491
- const [searchValue, setSearchValue] = (0, import_react39.useState)("");
5516
+ const [searchValue, setSearchValue] = (0, import_react40.useState)("");
5492
5517
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
5493
5518
  const theme = (0, import_ui38.useTheme)();
5494
5519
  const { value: anyValue } = (0, import_editor_controls57.useBoundProp)();
@@ -5497,7 +5522,7 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
5497
5522
  const isCurrentValueDynamic = !!dynamicValue;
5498
5523
  const options12 = useFilteredOptions(searchValue);
5499
5524
  const hasNoDynamicTags = !options12.length && !searchValue.trim();
5500
- (0, import_react39.useEffect)(() => {
5525
+ (0, import_react40.useEffect)(() => {
5501
5526
  if (hasNoDynamicTags) {
5502
5527
  (0, import_editor_controls57.trackViewPromotion)({ target_name: "dynamic_tags" });
5503
5528
  } else if (expired) {
@@ -5534,7 +5559,7 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
5534
5559
  if (expired) {
5535
5560
  return /* @__PURE__ */ React87.createElement(ExpiredDynamicTags, null);
5536
5561
  }
5537
- return /* @__PURE__ */ React87.createElement(import_react39.Fragment, null, /* @__PURE__ */ React87.createElement(
5562
+ return /* @__PURE__ */ React87.createElement(import_react40.Fragment, null, /* @__PURE__ */ React87.createElement(
5538
5563
  import_editor_ui8.SearchField,
5539
5564
  {
5540
5565
  value: searchValue,
@@ -6000,22 +6025,22 @@ var import_i18n66 = require("@wordpress/i18n");
6000
6025
 
6001
6026
  // src/styles-inheritance/components/styles-inheritance-infotip.tsx
6002
6027
  var React94 = __toESM(require("react"));
6003
- var import_react41 = require("react");
6028
+ var import_react42 = require("react");
6004
6029
  var import_editor_canvas5 = require("@elementor/editor-canvas");
6005
6030
  var import_editor_ui10 = require("@elementor/editor-ui");
6006
6031
  var import_ui44 = require("@elementor/ui");
6007
6032
  var import_i18n65 = require("@wordpress/i18n");
6008
6033
 
6009
6034
  // src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
6010
- var import_react40 = require("react");
6035
+ var import_react41 = require("react");
6011
6036
  var import_editor_canvas4 = require("@elementor/editor-canvas");
6012
6037
  var import_editor_styles8 = require("@elementor/editor-styles");
6013
6038
  var import_editor_styles_repository14 = require("@elementor/editor-styles-repository");
6014
6039
  var import_i18n63 = require("@wordpress/i18n");
6015
6040
  var MAXIMUM_ITEMS = 2;
6016
6041
  var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
6017
- const [items3, setItems] = (0, import_react40.useState)([]);
6018
- (0, import_react40.useEffect)(() => {
6042
+ const [items3, setItems] = (0, import_react41.useState)([]);
6043
+ (0, import_react41.useEffect)(() => {
6019
6044
  (async () => {
6020
6045
  const normalizedItems = await Promise.all(
6021
6046
  inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
@@ -6066,7 +6091,7 @@ var getTransformedValue = async (item, bind, resolve) => {
6066
6091
  }
6067
6092
  });
6068
6093
  const value = result?.[bind] ?? result;
6069
- if ((0, import_react40.isValidElement)(value)) {
6094
+ if ((0, import_react41.isValidElement)(value)) {
6070
6095
  return value;
6071
6096
  }
6072
6097
  if (typeof value === "object") {
@@ -6144,7 +6169,7 @@ var LabelChip = ({ displayLabel, provider }) => {
6144
6169
  var React92 = __toESM(require("react"));
6145
6170
  var import_ui42 = require("@elementor/ui");
6146
6171
  var ValueComponent = ({ index, value }) => {
6147
- return /* @__PURE__ */ React92.createElement(
6172
+ return /* @__PURE__ */ React92.createElement(import_ui42.Tooltip, { title: value, placement: "top" }, /* @__PURE__ */ React92.createElement(
6148
6173
  import_ui42.Typography,
6149
6174
  {
6150
6175
  variant: "caption",
@@ -6153,15 +6178,16 @@ var ValueComponent = ({ index, value }) => {
6153
6178
  mt: "1px",
6154
6179
  textDecoration: index === 0 ? "none" : "line-through",
6155
6180
  overflow: "hidden",
6156
- textOverflow: "ellipsis",
6157
- whiteSpace: "nowrap",
6181
+ display: "-webkit-box",
6182
+ WebkitLineClamp: 1,
6183
+ WebkitBoxOrient: "vertical",
6158
6184
  pl: 2.5,
6159
6185
  minWidth: 0,
6160
6186
  maxWidth: "100%"
6161
6187
  }
6162
6188
  },
6163
6189
  value
6164
- );
6190
+ ));
6165
6191
  };
6166
6192
 
6167
6193
  // src/styles-inheritance/components/infotip/action-icons.tsx
@@ -6187,8 +6213,8 @@ var StylesInheritanceInfotip = ({
6187
6213
  children,
6188
6214
  isDisabled
6189
6215
  }) => {
6190
- const [showInfotip, setShowInfotip] = (0, import_react41.useState)(false);
6191
- const triggerRef = (0, import_react41.useRef)(null);
6216
+ const [showInfotip, setShowInfotip] = (0, import_react42.useState)(false);
6217
+ const triggerRef = (0, import_react42.useRef)(null);
6192
6218
  const toggleInfotip = () => {
6193
6219
  if (isDisabled) {
6194
6220
  return;
@@ -6203,7 +6229,7 @@ var StylesInheritanceInfotip = ({
6203
6229
  };
6204
6230
  const key = path.join(".");
6205
6231
  const sectionWidth = (0, import_editor_ui10.useSectionWidth)();
6206
- const resolve = (0, import_react41.useMemo)(() => {
6232
+ const resolve = (0, import_react42.useMemo)(() => {
6207
6233
  return (0, import_editor_canvas5.createPropsResolver)({
6208
6234
  transformers: import_editor_canvas5.stylesInheritanceTransformersRegistry,
6209
6235
  schema: { [key]: propType }
@@ -6249,7 +6275,7 @@ var StylesInheritanceInfotip = ({
6249
6275
  }
6250
6276
  }
6251
6277
  },
6252
- /* @__PURE__ */ React94.createElement(import_ui44.Stack, { gap: 1.5, sx: { pl: 3, pr: 1, pb: 2 }, role: "list" }, items3.map((item, index) => {
6278
+ /* @__PURE__ */ React94.createElement(import_ui44.Stack, { gap: 1.5, sx: { pl: 2, pr: 1, pt: 1.5, pb: 1.5 }, role: "list" }, items3.map((item, index) => {
6253
6279
  return /* @__PURE__ */ React94.createElement(
6254
6280
  import_ui44.Box,
6255
6281
  {
@@ -6344,15 +6370,13 @@ function TooltipOrInfotip({
6344
6370
  sx: { mx: 2 }
6345
6371
  }
6346
6372
  },
6347
- slotProps: {
6348
- popper: {
6349
- modifiers: [
6350
- {
6351
- name: "offset",
6352
- options: { offset: [offsetX, 0] }
6353
- }
6354
- ]
6355
- }
6373
+ PopperProps: {
6374
+ modifiers: [
6375
+ {
6376
+ name: "offset",
6377
+ options: { offset: [offsetX, 0] }
6378
+ }
6379
+ ]
6356
6380
  }
6357
6381
  },
6358
6382
  children
@@ -6429,23 +6453,26 @@ var excludePropTypeTransformers = /* @__PURE__ */ new Set([
6429
6453
  // src/styles-inheritance/transformers/array-transformer.tsx
6430
6454
  var React96 = __toESM(require("react"));
6431
6455
  var import_editor_canvas6 = require("@elementor/editor-canvas");
6432
- var import_ui45 = require("@elementor/ui");
6433
6456
  var arrayTransformer = (0, import_editor_canvas6.createTransformer)((values) => {
6434
6457
  if (!values || values.length === 0) {
6435
6458
  return null;
6436
6459
  }
6437
- return /* @__PURE__ */ React96.createElement(import_ui45.Stack, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React96.createElement(import_ui45.Stack, { key: index }, item)));
6460
+ const allStrings = values.every((item) => typeof item === "string" || typeof item === "number");
6461
+ if (allStrings) {
6462
+ return values.join(" ");
6463
+ }
6464
+ return /* @__PURE__ */ React96.createElement(React96.Fragment, null, values.map((item, index) => /* @__PURE__ */ React96.createElement(React96.Fragment, { key: index }, index > 0 && " ", item)));
6438
6465
  });
6439
6466
 
6440
6467
  // src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
6441
6468
  var React97 = __toESM(require("react"));
6442
6469
  var import_editor_canvas7 = require("@elementor/editor-canvas");
6443
- var import_ui46 = require("@elementor/ui");
6444
- var backgroundColorOverlayTransformer = (0, import_editor_canvas7.createTransformer)((value) => /* @__PURE__ */ React97.createElement(import_ui46.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React97.createElement(ItemLabelColor, { value })));
6470
+ var import_ui45 = require("@elementor/ui");
6471
+ var backgroundColorOverlayTransformer = (0, import_editor_canvas7.createTransformer)((value) => /* @__PURE__ */ React97.createElement(import_ui45.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React97.createElement(ItemLabelColor, { value })));
6445
6472
  var ItemLabelColor = ({ value: { color } }) => {
6446
6473
  return /* @__PURE__ */ React97.createElement("span", null, color);
6447
6474
  };
6448
- var StyledUnstableColorIndicator = (0, import_ui46.styled)(import_ui46.UnstableColorIndicator)(({ theme }) => ({
6475
+ var StyledUnstableColorIndicator = (0, import_ui45.styled)(import_ui45.UnstableColorIndicator)(({ theme }) => ({
6449
6476
  width: "1em",
6450
6477
  height: "1em",
6451
6478
  borderRadius: `${theme.shape.borderRadius / 2}px`,
@@ -6456,9 +6483,9 @@ var StyledUnstableColorIndicator = (0, import_ui46.styled)(import_ui46.UnstableC
6456
6483
  // src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
6457
6484
  var React98 = __toESM(require("react"));
6458
6485
  var import_editor_canvas8 = require("@elementor/editor-canvas");
6459
- var import_ui47 = require("@elementor/ui");
6486
+ var import_ui46 = require("@elementor/ui");
6460
6487
  var import_i18n67 = require("@wordpress/i18n");
6461
- var backgroundGradientOverlayTransformer = (0, import_editor_canvas8.createTransformer)((value) => /* @__PURE__ */ React98.createElement(import_ui47.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React98.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React98.createElement(ItemLabelGradient, { value })));
6488
+ var backgroundGradientOverlayTransformer = (0, import_editor_canvas8.createTransformer)((value) => /* @__PURE__ */ React98.createElement(import_ui46.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React98.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React98.createElement(ItemLabelGradient, { value })));
6462
6489
  var ItemIconGradient = ({ value }) => {
6463
6490
  const gradient = getGradientValue(value);
6464
6491
  return /* @__PURE__ */ React98.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
@@ -6481,13 +6508,13 @@ var getGradientValue = (gradient) => {
6481
6508
  var React99 = __toESM(require("react"));
6482
6509
  var import_editor_canvas9 = require("@elementor/editor-canvas");
6483
6510
  var import_editor_ui11 = require("@elementor/editor-ui");
6484
- var import_ui48 = require("@elementor/ui");
6511
+ var import_ui47 = require("@elementor/ui");
6485
6512
  var import_wp_media = require("@elementor/wp-media");
6486
- var backgroundImageOverlayTransformer = (0, import_editor_canvas9.createTransformer)((value) => /* @__PURE__ */ React99.createElement(import_ui48.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React99.createElement(ItemIconImage, { value }), /* @__PURE__ */ React99.createElement(ItemLabelImage, { value })));
6513
+ var backgroundImageOverlayTransformer = (0, import_editor_canvas9.createTransformer)((value) => /* @__PURE__ */ React99.createElement(import_ui47.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React99.createElement(ItemIconImage, { value }), /* @__PURE__ */ React99.createElement(ItemLabelImage, { value })));
6487
6514
  var ItemIconImage = ({ value }) => {
6488
6515
  const { imageUrl } = useImage(value);
6489
6516
  return /* @__PURE__ */ React99.createElement(
6490
- import_ui48.CardMedia,
6517
+ import_ui47.CardMedia,
6491
6518
  {
6492
6519
  image: imageUrl,
6493
6520
  sx: (theme) => ({
@@ -6529,7 +6556,6 @@ var getFileExtensionFromFilename = (filename) => {
6529
6556
  // src/styles-inheritance/transformers/box-shadow-transformer.tsx
6530
6557
  var React100 = __toESM(require("react"));
6531
6558
  var import_editor_canvas10 = require("@elementor/editor-canvas");
6532
- var import_ui49 = require("@elementor/ui");
6533
6559
  var boxShadowTransformer = (0, import_editor_canvas10.createTransformer)((value) => {
6534
6560
  if (!value) {
6535
6561
  return null;
@@ -6538,20 +6564,20 @@ var boxShadowTransformer = (0, import_editor_canvas10.createTransformer)((value)
6538
6564
  const colorValue = color || "#000000";
6539
6565
  const sizes = [hOffset || "0px", vOffset || "0px", blur || "10px", spread || "0px"].join(" ");
6540
6566
  const positionValue = position || "outset";
6541
- return /* @__PURE__ */ React100.createElement(import_ui49.Stack, { direction: "column", gap: 0.5, pb: 1 }, /* @__PURE__ */ React100.createElement("span", null, colorValue, " ", positionValue, ", ", sizes));
6567
+ return /* @__PURE__ */ React100.createElement(React100.Fragment, null, colorValue, " ", positionValue, ", ", sizes);
6542
6568
  });
6543
6569
 
6544
6570
  // src/styles-inheritance/transformers/color-transformer.tsx
6545
6571
  var React101 = __toESM(require("react"));
6546
6572
  var import_editor_canvas11 = require("@elementor/editor-canvas");
6547
- var import_ui50 = require("@elementor/ui");
6573
+ var import_ui48 = require("@elementor/ui");
6548
6574
  function isValidCSSColor(value) {
6549
6575
  if (!value.trim()) {
6550
6576
  return false;
6551
6577
  }
6552
6578
  return CSS.supports("color", value.trim());
6553
6579
  }
6554
- var StyledColorIndicator = (0, import_ui50.styled)(import_ui50.UnstableColorIndicator)(({ theme }) => ({
6580
+ var StyledColorIndicator = (0, import_ui48.styled)(import_ui48.UnstableColorIndicator)(({ theme }) => ({
6555
6581
  width: "1em",
6556
6582
  height: "1em",
6557
6583
  borderRadius: `${theme.shape.borderRadius / 2}px`,
@@ -6562,24 +6588,18 @@ var colorTransformer = (0, import_editor_canvas11.createTransformer)((value) =>
6562
6588
  if (!isValidCSSColor(value)) {
6563
6589
  return value;
6564
6590
  }
6565
- return /* @__PURE__ */ React101.createElement(import_ui50.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React101.createElement(StyledColorIndicator, { size: "inherit", component: "span", value }), /* @__PURE__ */ React101.createElement("span", null, value));
6591
+ return /* @__PURE__ */ React101.createElement(import_ui48.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React101.createElement(StyledColorIndicator, { size: "inherit", component: "span", value }), /* @__PURE__ */ React101.createElement("span", null, value));
6566
6592
  });
6567
6593
 
6568
6594
  // src/styles-inheritance/transformers/repeater-to-items-transformer.tsx
6569
- var React102 = __toESM(require("react"));
6570
6595
  var import_editor_canvas12 = require("@elementor/editor-canvas");
6571
- var import_ui51 = require("@elementor/ui");
6572
- var createRepeaterToItemsTransformer = (originalTransformer, separator = " ") => {
6596
+ var createRepeaterToItemsTransformer = (originalTransformer) => {
6573
6597
  return (0, import_editor_canvas12.createTransformer)((value, options12) => {
6574
6598
  const stringResult = originalTransformer(value, options12);
6575
6599
  if (!stringResult || typeof stringResult !== "string") {
6576
6600
  return stringResult;
6577
6601
  }
6578
- const parts = stringResult.split(separator).filter(Boolean);
6579
- if (parts.length <= 1) {
6580
- return stringResult;
6581
- }
6582
- return /* @__PURE__ */ React102.createElement(import_ui51.Stack, { direction: "column", gap: 0.5 }, parts.map((part, index) => /* @__PURE__ */ React102.createElement(import_ui51.Stack, { key: index }, part.trim())));
6602
+ return stringResult;
6583
6603
  });
6584
6604
  };
6585
6605
 
@@ -6618,7 +6638,7 @@ function registerCustomTransformers(originalStyleTransformers) {
6618
6638
  );
6619
6639
  import_editor_canvas13.stylesInheritanceTransformersRegistry.register(
6620
6640
  "transition",
6621
- createRepeaterToItemsTransformer(originalStyleTransformers.transition, ", ")
6641
+ createRepeaterToItemsTransformer(originalStyleTransformers.transition)
6622
6642
  );
6623
6643
  ["background-overlay", "box-shadow", "transform-functions"].forEach(
6624
6644
  (propType) => import_editor_canvas13.stylesInheritanceTransformersRegistry.register(propType, arrayTransformer)
@@ -6659,6 +6679,7 @@ var blockV1Panel = () => {
6659
6679
  // Annotate the CommonJS export names for ESM import in node:
6660
6680
  0 && (module.exports = {
6661
6681
  BaseControl,
6682
+ ControlTypeContainer,
6662
6683
  CustomCssIndicator,
6663
6684
  ElementProvider,
6664
6685
  FIELD_TYPE,