@elementor/editor-editing-panel 1.47.0 → 1.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/index.d.mts +4 -4
  3. package/dist/index.d.ts +4 -4
  4. package/dist/index.js +486 -378
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +503 -398
  7. package/dist/index.mjs.map +1 -1
  8. package/package.json +13 -14
  9. package/src/components/css-classes/css-class-item.tsx +3 -2
  10. package/src/components/css-classes/css-class-menu.tsx +2 -2
  11. package/src/components/css-classes/css-class-selector.tsx +10 -2
  12. package/src/components/popover-body.tsx +12 -0
  13. package/src/components/style-sections/border-section/border-field.tsx +14 -7
  14. package/src/components/style-sections/effects-section/effects-section.tsx +18 -4
  15. package/src/components/style-sections/layout-section/flex-order-field.tsx +30 -19
  16. package/src/components/style-sections/layout-section/flex-size-field.tsx +14 -16
  17. package/src/components/style-sections/layout-section/layout-section.tsx +9 -2
  18. package/src/components/style-sections/layout-section/utils/rotated-icon.tsx +6 -1
  19. package/src/components/style-sections/position-section/position-section.tsx +19 -8
  20. package/src/components/style-sections/size-section/size-section.tsx +4 -1
  21. package/src/components/style-sections/typography-section/text-stroke-field.tsx +3 -1
  22. package/src/components/style-sections/typography-section/typography-section.tsx +6 -1
  23. package/src/components/style-tab.tsx +1 -1
  24. package/src/controls-registry/settings-field.tsx +21 -5
  25. package/src/controls-registry/styles-field.tsx +5 -3
  26. package/src/dynamics/components/dynamic-selection-control.tsx +22 -14
  27. package/src/dynamics/components/dynamic-selection.tsx +32 -36
  28. package/src/hooks/use-styles-field.ts +3 -4
  29. package/src/hooks/use-styles-fields.ts +141 -73
  30. package/src/index.ts +1 -1
  31. package/src/init.ts +0 -6
  32. package/src/reset-style-props.tsx +1 -1
  33. package/src/styles-inheritance/components/styles-inheritance-infotip.tsx +1 -1
  34. package/src/utils/get-styles-provider-color.ts +8 -0
  35. package/src/components/popover-scrollable-content.tsx +0 -12
package/dist/index.mjs CHANGED
@@ -148,6 +148,12 @@ var getStylesProviderThemeColor = (provider) => {
148
148
  }
149
149
  return getStyleProviderColors(provider).getThemeColor;
150
150
  };
151
+ function getTempStylesProviderThemeColor(provider) {
152
+ if (isElementsStylesProvider(provider)) {
153
+ return (theme) => theme.palette.primary.main;
154
+ }
155
+ return getStylesProviderThemeColor(provider);
156
+ }
151
157
 
152
158
  // src/components/creatable-autocomplete/creatable-autocomplete.tsx
153
159
  import * as React4 from "react";
@@ -492,6 +498,7 @@ import {
492
498
  bindTrigger,
493
499
  Chip as Chip2,
494
500
  Stack as Stack2,
501
+ ThemeProvider,
495
502
  Typography as Typography2,
496
503
  UnstableChipGroup,
497
504
  usePopupState
@@ -833,7 +840,7 @@ function StateMenuItem({ state, closeMenu, ...props }) {
833
840
  StyleIndicator,
834
841
  {
835
842
  "aria-label": __2("Has style", "elementor"),
836
- getColor: getStylesProviderThemeColor(provider ?? "")
843
+ getColor: getTempStylesProviderThemeColor(provider ?? "")
837
844
  }
838
845
  ), state ?? "normal")
839
846
  )
@@ -910,7 +917,7 @@ function CssClassItem(props) {
910
917
  const providerActions = provider ? stylesRepository3.getProviderByKey(provider)?.actions : null;
911
918
  const allowRename = Boolean(providerActions?.update) && userCan(provider ?? "")?.update;
912
919
  const isShowingState = isActive && meta.state;
913
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement(
920
+ return /* @__PURE__ */ React7.createElement(ThemeProvider, { palette: "default" }, /* @__PURE__ */ React7.createElement(
914
921
  UnstableChipGroup,
915
922
  {
916
923
  ref: setChipRef,
@@ -988,7 +995,7 @@ var EMPTY_OPTION = {
988
995
  label: __4("local", "elementor"),
989
996
  value: null,
990
997
  fixed: true,
991
- color: "accent",
998
+ color: getTempStylesProviderColorName("accent"),
992
999
  icon: /* @__PURE__ */ React8.createElement(MapPinIcon, null),
993
1000
  provider: null
994
1001
  };
@@ -1099,13 +1106,19 @@ function useOptions() {
1099
1106
  label: styleDef.label,
1100
1107
  value: styleDef.id,
1101
1108
  fixed: isElements,
1102
- color: getStylesProviderColorName(provider.getKey()),
1109
+ color: getTempStylesProviderColorName(getStylesProviderColorName(provider.getKey())),
1103
1110
  icon: isElements ? /* @__PURE__ */ React8.createElement(MapPinIcon, null) : null,
1104
1111
  provider: provider.getKey()
1105
1112
  };
1106
1113
  });
1107
1114
  });
1108
1115
  }
1116
+ function getTempStylesProviderColorName(color) {
1117
+ if (color === "accent") {
1118
+ return "primary";
1119
+ }
1120
+ return color;
1121
+ }
1109
1122
  function useCreateAction() {
1110
1123
  const [provider, createAction] = useCreateAndApplyClass();
1111
1124
  if (!provider || !createAction) {
@@ -1171,11 +1184,11 @@ import * as React86 from "react";
1171
1184
  import { ControlActionsProvider, ControlReplacementsProvider } from "@elementor/editor-controls";
1172
1185
  import { useSelectedElement } from "@elementor/editor-elements";
1173
1186
  import { Panel, PanelBody, PanelHeader, PanelHeaderTitle } from "@elementor/editor-panels";
1174
- import { ThemeProvider as ThemeProvider2 } from "@elementor/editor-ui";
1187
+ import { ThemeProvider as ThemeProvider3 } from "@elementor/editor-ui";
1175
1188
  import { AtomIcon } from "@elementor/icons";
1176
1189
  import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
1177
1190
  import { ErrorBoundary } from "@elementor/ui";
1178
- import { __ as __59 } from "@wordpress/i18n";
1191
+ import { __ as __62 } from "@wordpress/i18n";
1179
1192
 
1180
1193
  // src/controls-actions.ts
1181
1194
  import { createMenu } from "@elementor/menus";
@@ -1249,10 +1262,10 @@ function EditorPanelErrorFallback() {
1249
1262
 
1250
1263
  // src/components/editing-panel-tabs.tsx
1251
1264
  import * as React85 from "react";
1252
- import { Fragment as Fragment10 } from "react";
1253
- import { isExperimentActive as isExperimentActive16 } from "@elementor/editor-v1-adapters";
1265
+ import { Fragment as Fragment9 } from "react";
1266
+ import { isExperimentActive as isExperimentActive17 } from "@elementor/editor-v1-adapters";
1254
1267
  import { Divider as Divider6, Stack as Stack15, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
1255
- import { __ as __58 } from "@wordpress/i18n";
1268
+ import { __ as __61 } from "@wordpress/i18n";
1256
1269
 
1257
1270
  // src/contexts/scroll-context.tsx
1258
1271
  import * as React12 from "react";
@@ -1434,8 +1447,9 @@ import {
1434
1447
  getElementLabel as getElementLabel2,
1435
1448
  getElementSetting as getElementSetting2,
1436
1449
  updateElementSettings as updateElementSettings2,
1437
- useElementSetting as useElementSetting2
1450
+ useElementSettings
1438
1451
  } from "@elementor/editor-elements";
1452
+ import { shouldApplyEffect } from "@elementor/editor-props";
1439
1453
  import { isExperimentActive as isExperimentActive3, undoable as undoable2 } from "@elementor/editor-v1-adapters";
1440
1454
  import { __ as __5 } from "@wordpress/i18n";
1441
1455
 
@@ -1455,8 +1469,8 @@ var createTopLevelOjectType = ({ schema }) => {
1455
1469
  // src/controls-registry/settings-field.tsx
1456
1470
  var SettingsField = ({ bind, children, propDisplayName }) => {
1457
1471
  const { element, elementType } = useElement();
1458
- const settingsValue = useElementSetting2(element.id, bind);
1459
- const value = { [bind]: settingsValue };
1472
+ const elementSettingValues = useElementSettings(element.id, Object.keys(elementType.propsSchema));
1473
+ const value = { [bind]: elementSettingValues?.[bind] };
1460
1474
  const propType = createTopLevelOjectType({ schema: elementType.propsSchema });
1461
1475
  const undoableUpdateElementProp = useUndoableUpdateElementProp({
1462
1476
  propKey: bind,
@@ -1471,8 +1485,19 @@ var SettingsField = ({ bind, children, propDisplayName }) => {
1471
1485
  updateElementSettings2({ id: element.id, props: newValue });
1472
1486
  }
1473
1487
  };
1474
- return /* @__PURE__ */ React15.createElement(PropProvider, { propType, value, setValue }, /* @__PURE__ */ React15.createElement(PropKeyProvider, { bind }, children));
1488
+ const isDisabled = (prop) => getDisableState(prop, elementSettingValues);
1489
+ return /* @__PURE__ */ React15.createElement(PropProvider, { propType, value, setValue, isDisabled }, /* @__PURE__ */ React15.createElement(PropKeyProvider, { bind }, children));
1475
1490
  };
1491
+ function getDisableState(propType, elementValues) {
1492
+ const disablingDependencies = propType.dependencies?.filter(({ effect }) => effect === "disable") || [];
1493
+ if (!disablingDependencies.length) {
1494
+ return false;
1495
+ }
1496
+ if (disablingDependencies.length > 1) {
1497
+ throw new Error("Multiple disabling dependencies are not supported.");
1498
+ }
1499
+ return shouldApplyEffect(disablingDependencies[0], elementValues);
1500
+ }
1476
1501
  function useUndoableUpdateElementProp({
1477
1502
  propKey,
1478
1503
  elementId,
@@ -1669,12 +1694,12 @@ import { CLASSES_PROP_KEY } from "@elementor/editor-props";
1669
1694
  import { useActiveBreakpoint } from "@elementor/editor-responsive";
1670
1695
  import { SessionStorageProvider as SessionStorageProvider2 } from "@elementor/session";
1671
1696
  import { Divider as Divider5, Stack as Stack14 } from "@elementor/ui";
1672
- import { __ as __57 } from "@wordpress/i18n";
1697
+ import { __ as __60 } from "@wordpress/i18n";
1673
1698
 
1674
1699
  // src/contexts/styles-inheritance-context.tsx
1675
1700
  import * as React20 from "react";
1676
1701
  import { createContext as createContext8, useContext as useContext8 } from "react";
1677
- import { getWidgetsCache, useElementSetting as useElementSetting3 } from "@elementor/editor-elements";
1702
+ import { getWidgetsCache, useElementSetting as useElementSetting2 } from "@elementor/editor-elements";
1678
1703
  import { classesPropTypeUtil as classesPropTypeUtil2 } from "@elementor/editor-props";
1679
1704
  import { getBreakpointsTree } from "@elementor/editor-responsive";
1680
1705
  import { getStylesSchema } from "@elementor/editor-styles";
@@ -1950,7 +1975,7 @@ var useAppliedStyles = () => {
1950
1975
  const currentClassesProp = useClassesProp();
1951
1976
  const baseStyles = useBaseStyles();
1952
1977
  useStylesRerender();
1953
- const classesProp = useElementSetting3(element.id, currentClassesProp);
1978
+ const classesProp = useElementSetting2(element.id, currentClassesProp);
1954
1979
  const appliedStyles = classesPropTypeUtil2.extract(classesProp) ?? [];
1955
1980
  return stylesRepository5.all().filter((style) => [...baseStyles, ...appliedStyles].includes(style.id));
1956
1981
  };
@@ -1962,7 +1987,7 @@ var useBaseStyles = () => {
1962
1987
  };
1963
1988
 
1964
1989
  // src/hooks/use-active-style-def-id.ts
1965
- import { getElementStyles, useElementSetting as useElementSetting4 } from "@elementor/editor-elements";
1990
+ import { getElementStyles, useElementSetting as useElementSetting3 } from "@elementor/editor-elements";
1966
1991
  function useActiveStyleDefId(classProp) {
1967
1992
  const [activeStyledDefId, setActiveStyledDefId] = useStateByElement(
1968
1993
  "active-style-id",
@@ -1980,7 +2005,7 @@ function useFirstAppliedClass(appliedClassesIds) {
1980
2005
  }
1981
2006
  function useAppliedClassesIds(classProp) {
1982
2007
  const { element } = useElement();
1983
- return useElementSetting4(element.id, classProp);
2008
+ return useElementSetting3(element.id, classProp);
1984
2009
  }
1985
2010
  function useActiveAndAppliedClassId(id, appliedClassesIds) {
1986
2011
  const isClassApplied = !!id && appliedClassesIds.includes(id);
@@ -1996,50 +2021,31 @@ import { __ as __12 } from "@wordpress/i18n";
1996
2021
  import * as React27 from "react";
1997
2022
  import { ControlAdornmentsProvider, PropKeyProvider as PropKeyProvider2, PropProvider as PropProvider2 } from "@elementor/editor-controls";
1998
2023
  import { getStylesSchema as getStylesSchema2 } from "@elementor/editor-styles";
1999
- import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
2024
+ import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
2000
2025
 
2001
2026
  // src/hooks/use-styles-fields.ts
2002
2027
  import { useMemo as useMemo4 } from "react";
2003
- import {
2004
- createElementStyle,
2005
- deleteElementStyle,
2006
- getElementLabel as getElementLabel3
2007
- } from "@elementor/editor-elements";
2028
+ import { createElementStyle, deleteElementStyle, getElementLabel as getElementLabel3 } from "@elementor/editor-elements";
2008
2029
  import { getVariantByMeta } from "@elementor/editor-styles";
2030
+ import { isElementsStylesProvider as isElementsStylesProvider3 } from "@elementor/editor-styles-repository";
2009
2031
  import { ELEMENTS_STYLES_RESERVED_LABEL } from "@elementor/editor-styles-repository";
2010
- import { undoable as undoable3 } from "@elementor/editor-v1-adapters";
2032
+ import { isExperimentActive as isExperimentActive6, undoable as undoable3 } from "@elementor/editor-v1-adapters";
2011
2033
  import { __ as __7 } from "@wordpress/i18n";
2012
2034
  function useStylesFields(propNames) {
2013
- const { element } = useElement();
2014
- const { id, meta, provider, canEdit } = useStyle();
2015
- const classesProp = useClassesProp();
2016
- const undoableUpdateStyle = useUndoableUpdateStyle();
2017
- const undoableCreateElementStyle = useUndoableCreateElementStyle();
2035
+ const {
2036
+ element: { id: elementId }
2037
+ } = useElement();
2038
+ const { id: styleId, meta, provider, canEdit } = useStyle();
2039
+ const undoableUpdateStyle = useUndoableUpdateStyle({ elementId, meta });
2040
+ const undoableCreateElementStyle = useUndoableCreateElementStyle({ elementId, meta });
2018
2041
  useStylesRerender();
2019
- const values = getProps({
2020
- elementId: element.id,
2021
- styleId: id,
2022
- provider,
2023
- meta,
2024
- propNames
2025
- });
2026
- const setValues = (props) => {
2027
- if (id === null) {
2028
- undoableCreateElementStyle({
2029
- elementId: element.id,
2030
- classesProp,
2031
- meta,
2032
- props
2033
- });
2034
- return;
2042
+ const values = getProps({ elementId, styleId, provider, meta, propNames });
2043
+ const setValues = (props, { history: { propDisplayName } }) => {
2044
+ if (styleId === null) {
2045
+ undoableCreateElementStyle({ props, propDisplayName });
2046
+ } else {
2047
+ undoableUpdateStyle({ provider, styleId, props, propDisplayName });
2035
2048
  }
2036
- undoableUpdateStyle({
2037
- elementId: element.id,
2038
- styleId: id,
2039
- provider,
2040
- meta,
2041
- props
2042
- });
2043
2049
  };
2044
2050
  return { values, setValues, canEdit };
2045
2051
  }
@@ -2056,39 +2062,52 @@ function getProps({ styleId, elementId, provider, meta, propNames }) {
2056
2062
  propNames.map((key) => [key, variant?.props[key] ?? null])
2057
2063
  );
2058
2064
  }
2059
- function useUndoableCreateElementStyle() {
2065
+ function useUndoableCreateElementStyle({
2066
+ elementId,
2067
+ meta
2068
+ }) {
2069
+ const classesProp = useClassesProp();
2060
2070
  return useMemo4(() => {
2071
+ const isVersion331Active = isExperimentActive6(EXPERIMENTAL_FEATURES.V_3_31);
2072
+ const createStyleArgs = { elementId, classesProp, meta, label: ELEMENTS_STYLES_RESERVED_LABEL };
2061
2073
  return undoable3(
2062
2074
  {
2063
- do: (payload) => {
2064
- return createElementStyle({
2065
- ...payload,
2066
- label: ELEMENTS_STYLES_RESERVED_LABEL
2067
- });
2075
+ do: ({ props }) => {
2076
+ return createElementStyle({ ...createStyleArgs, props });
2068
2077
  },
2069
- undo: ({ elementId }, styleId) => {
2078
+ undo: (_, styleId) => {
2070
2079
  deleteElementStyle(elementId, styleId);
2071
2080
  },
2072
- redo: (payload, styleId) => {
2073
- return createElementStyle({
2074
- ...payload,
2075
- styleId,
2076
- label: ELEMENTS_STYLES_RESERVED_LABEL
2077
- });
2081
+ redo: ({ props }, styleId) => {
2082
+ return createElementStyle({ ...createStyleArgs, props, styleId });
2078
2083
  }
2079
2084
  },
2080
2085
  {
2081
- title: ({ elementId }) => getElementLabel3(elementId),
2082
- subtitle: __7("Style edited", "elementor")
2086
+ title: () => {
2087
+ if (isVersion331Active) {
2088
+ return localStyleHistoryTitlesV331.title({ elementId });
2089
+ }
2090
+ return historyTitlesV330.title({ elementId });
2091
+ },
2092
+ subtitle: ({ propDisplayName }) => {
2093
+ if (isVersion331Active) {
2094
+ return localStyleHistoryTitlesV331.subtitle({ propDisplayName });
2095
+ }
2096
+ return historyTitlesV330.subtitle;
2097
+ }
2083
2098
  }
2084
2099
  );
2085
- }, []);
2100
+ }, [classesProp, elementId, meta]);
2086
2101
  }
2087
- function useUndoableUpdateStyle() {
2102
+ function useUndoableUpdateStyle({
2103
+ elementId,
2104
+ meta
2105
+ }) {
2088
2106
  return useMemo4(() => {
2107
+ const isVersion331Active = isExperimentActive6(EXPERIMENTAL_FEATURES.V_3_31);
2089
2108
  return undoable3(
2090
2109
  {
2091
- do: ({ elementId, styleId, provider, meta, props }) => {
2110
+ do: ({ provider, styleId, props }) => {
2092
2111
  if (!provider.actions.updateProps) {
2093
2112
  throw new StylesProviderCannotUpdatePropsError({
2094
2113
  context: { providerKey: provider.getKey() }
@@ -2096,26 +2115,37 @@ function useUndoableUpdateStyle() {
2096
2115
  }
2097
2116
  const style = provider.actions.get(styleId, { elementId });
2098
2117
  const prevProps = getCurrentProps(style, meta);
2099
- provider.actions.updateProps(
2100
- {
2101
- id: styleId,
2102
- meta,
2103
- props
2104
- },
2105
- { elementId }
2106
- );
2118
+ provider.actions.updateProps({ id: styleId, meta, props }, { elementId });
2107
2119
  return prevProps;
2108
2120
  },
2109
- undo: ({ elementId, styleId, meta, provider }, prevProps) => {
2121
+ undo: ({ provider, styleId }, prevProps) => {
2110
2122
  provider.actions.updateProps?.({ id: styleId, meta, props: prevProps }, { elementId });
2111
2123
  }
2112
2124
  },
2113
2125
  {
2114
- title: ({ elementId }) => getElementLabel3(elementId),
2115
- subtitle: __7("Style edited", "elementor")
2126
+ title: ({ provider }) => {
2127
+ if (isVersion331Active) {
2128
+ const isLocal = isElementsStylesProvider3(provider.getKey());
2129
+ if (isLocal) {
2130
+ return localStyleHistoryTitlesV331.title({ elementId });
2131
+ }
2132
+ return defaultHistoryTitlesV331.title({ provider });
2133
+ }
2134
+ return historyTitlesV330.title({ elementId });
2135
+ },
2136
+ subtitle: ({ provider, styleId, propDisplayName }) => {
2137
+ if (isVersion331Active) {
2138
+ const isLocal = isElementsStylesProvider3(provider.getKey());
2139
+ if (isLocal) {
2140
+ return localStyleHistoryTitlesV331.subtitle({ propDisplayName });
2141
+ }
2142
+ return defaultHistoryTitlesV331.subtitle({ provider, styleId, elementId, propDisplayName });
2143
+ }
2144
+ return historyTitlesV330.subtitle;
2145
+ }
2116
2146
  }
2117
2147
  );
2118
- }, []);
2148
+ }, [elementId, meta]);
2119
2149
  }
2120
2150
  function getCurrentProps(style, meta) {
2121
2151
  if (!style) {
@@ -2125,15 +2155,40 @@ function getCurrentProps(style, meta) {
2125
2155
  const props = variant?.props ?? {};
2126
2156
  return structuredClone(props);
2127
2157
  }
2158
+ var historyTitlesV330 = {
2159
+ title: ({ elementId }) => getElementLabel3(elementId),
2160
+ subtitle: __7("Style edited", "elementor")
2161
+ };
2162
+ var defaultHistoryTitlesV331 = {
2163
+ title: ({ provider }) => {
2164
+ const providerLabel = provider.labels?.singular;
2165
+ return providerLabel ? capitalize(providerLabel) : __7("Style", "elementor");
2166
+ },
2167
+ subtitle: ({ provider, styleId, elementId, propDisplayName }) => {
2168
+ const styleLabel = provider.actions.get(styleId, { elementId })?.label;
2169
+ if (!styleLabel) {
2170
+ throw new Error(`Style ${styleId} not found`);
2171
+ }
2172
+ return __7(`%s$1 %s$2 edited`, "elementor").replace("%s$1", styleLabel).replace("%s$2", propDisplayName);
2173
+ }
2174
+ };
2175
+ var localStyleHistoryTitlesV331 = {
2176
+ title: ({ elementId }) => getElementLabel3(elementId),
2177
+ subtitle: ({ propDisplayName }) => (
2178
+ // translators: %s is the name of the style property being edited
2179
+ __7(`%s edited`, "elementor").replace("%s", propDisplayName)
2180
+ )
2181
+ };
2182
+ function capitalize(str) {
2183
+ return str.charAt(0).toUpperCase() + str.slice(1);
2184
+ }
2128
2185
 
2129
2186
  // src/hooks/use-styles-field.ts
2130
- function useStylesField(propName) {
2187
+ function useStylesField(propName, meta) {
2131
2188
  const { values, setValues, canEdit } = useStylesFields([propName]);
2132
2189
  const value = values?.[propName] ?? null;
2133
2190
  const setValue = (newValue) => {
2134
- setValues({
2135
- [propName]: newValue
2136
- });
2191
+ setValues({ [propName]: newValue }, meta);
2137
2192
  };
2138
2193
  return { value, setValue, canEdit };
2139
2194
  }
@@ -2143,12 +2198,12 @@ import * as React26 from "react";
2143
2198
  import { useBoundProp } from "@elementor/editor-controls";
2144
2199
  import { isEmpty as isEmpty2 } from "@elementor/editor-props";
2145
2200
  import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY4 } from "@elementor/editor-styles-repository";
2146
- import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
2201
+ import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
2147
2202
  import { Tooltip as Tooltip6 } from "@elementor/ui";
2148
2203
  import { __ as __11 } from "@wordpress/i18n";
2149
2204
 
2150
2205
  // src/styles-inheritance/consts.ts
2151
- import { isExperimentActive as isExperimentActive6 } from "@elementor/editor-v1-adapters";
2206
+ import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
2152
2207
  var excludePropTypeTransformers = /* @__PURE__ */ new Set([
2153
2208
  "background-color-overlay",
2154
2209
  "background-image-overlay",
@@ -2161,7 +2216,7 @@ var excludePropTypeTransformers = /* @__PURE__ */ new Set([
2161
2216
  "image",
2162
2217
  "background-overlay"
2163
2218
  ]);
2164
- var isUsingIndicatorPopover = () => isExperimentActive6("e_v_3_30");
2219
+ var isUsingIndicatorPopover = () => isExperimentActive7("e_v_3_30");
2165
2220
 
2166
2221
  // src/styles-inheritance/components/styles-inheritance-infotip.tsx
2167
2222
  import * as React25 from "react";
@@ -2366,7 +2421,7 @@ var StylesInheritanceInfotip = ({ inheritanceChain, propType, path, label, child
2366
2421
  const toggleInfotip = () => setShowInfotip((prev) => !prev);
2367
2422
  const closeInfotip = () => setShowInfotip(false);
2368
2423
  const key = path.join(".");
2369
- const sectionWidth = useSectionWidth() + SECTION_PADDING_INLINE;
2424
+ const sectionWidth = useSectionWidth();
2370
2425
  const resolve = useMemo5(() => {
2371
2426
  return createPropsResolver({
2372
2427
  transformers: stylesInheritanceTransformersRegistry,
@@ -2479,7 +2534,7 @@ function TooltipOrInfotip({
2479
2534
  // src/styles-inheritance/components/styles-inheritance-indicator.tsx
2480
2535
  var StylesInheritanceIndicator = () => {
2481
2536
  const { path, propType } = useBoundProp();
2482
- const isUsingNestedProps = isExperimentActive7(EXPERIMENTAL_FEATURES.V_3_30);
2537
+ const isUsingNestedProps = isExperimentActive8(EXPERIMENTAL_FEATURES.V_3_30);
2483
2538
  const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
2484
2539
  const inheritanceChain = useStylesInheritanceChain(finalPath);
2485
2540
  if (!inheritanceChain.length) {
@@ -2492,7 +2547,7 @@ var Indicator = ({ inheritanceChain, path, propType }) => {
2492
2547
  const currentItem = currentStyleId ? getValueFromInheritanceChain(inheritanceChain, currentStyleId, currentStyleMeta) : null;
2493
2548
  const hasValue = !isEmpty2(currentItem?.value);
2494
2549
  const [actualStyle] = inheritanceChain;
2495
- if (!isExperimentActive7(EXPERIMENTAL_FEATURES.V_3_31) && actualStyle.provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY4) {
2550
+ if (!isExperimentActive8(EXPERIMENTAL_FEATURES.V_3_31) && actualStyle.provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY4) {
2496
2551
  return null;
2497
2552
  }
2498
2553
  const isFinalValue = currentItem === actualStyle;
@@ -2526,9 +2581,11 @@ var getLabel = ({ isFinalValue, hasValue }) => {
2526
2581
  };
2527
2582
 
2528
2583
  // src/controls-registry/styles-field.tsx
2529
- var StylesField = ({ bind, placeholder, children }) => {
2530
- const { value, setValue, canEdit } = useStylesField(bind);
2531
- const isVersion331Active = isExperimentActive8("e_v_3_31");
2584
+ var StylesField = ({ bind, placeholder, propDisplayName, children }) => {
2585
+ const { value, setValue, canEdit } = useStylesField(bind, {
2586
+ history: { propDisplayName }
2587
+ });
2588
+ const isVersion331Active = isExperimentActive9("e_v_3_31");
2532
2589
  const stylesInheritanceChain = useStylesInheritanceChain([bind]);
2533
2590
  const stylesSchema = getStylesSchema2();
2534
2591
  const propType = createTopLevelOjectType({ schema: stylesSchema });
@@ -2557,7 +2614,7 @@ var StylesField = ({ bind, placeholder, children }) => {
2557
2614
  value: values,
2558
2615
  setValue: setValues,
2559
2616
  placeholder: placeholderValues,
2560
- disabled: !canEdit
2617
+ isDisabled: () => !canEdit
2561
2618
  },
2562
2619
  /* @__PURE__ */ React27.createElement(PropKeyProvider2, { bind }, children)
2563
2620
  )
@@ -2729,6 +2786,7 @@ var BorderWidthField = () => {
2729
2786
  };
2730
2787
 
2731
2788
  // src/components/style-sections/border-section/border-field.tsx
2789
+ var BORDER_LABEL = __16("Border", "elementor");
2732
2790
  var initialBorder = {
2733
2791
  "border-width": { $$type: "size", value: { size: 1, unit: "px" } },
2734
2792
  "border-color": { $$type: "color", value: "#000000" },
@@ -2736,15 +2794,19 @@ var initialBorder = {
2736
2794
  };
2737
2795
  var BorderField = () => {
2738
2796
  const { values, setValues, canEdit } = useStylesFields(Object.keys(initialBorder));
2797
+ const meta = { history: { propDisplayName: BORDER_LABEL } };
2739
2798
  const addBorder = () => {
2740
- setValues(initialBorder);
2799
+ setValues(initialBorder, meta);
2741
2800
  };
2742
2801
  const removeBorder = () => {
2743
- setValues({
2744
- "border-width": null,
2745
- "border-color": null,
2746
- "border-style": null
2747
- });
2802
+ setValues(
2803
+ {
2804
+ "border-width": null,
2805
+ "border-color": null,
2806
+ "border-style": null
2807
+ },
2808
+ meta
2809
+ );
2748
2810
  };
2749
2811
  const hasBorder = Object.values(values ?? {}).some(Boolean);
2750
2812
  return /* @__PURE__ */ React37.createElement(
@@ -2754,7 +2816,7 @@ var BorderField = () => {
2754
2816
  onAdd: addBorder,
2755
2817
  onRemove: removeBorder,
2756
2818
  disabled: !canEdit,
2757
- renderLabel: () => /* @__PURE__ */ React37.createElement(ControlFormLabel3, null, __16("Border", "elementor"))
2819
+ renderLabel: () => /* @__PURE__ */ React37.createElement(ControlFormLabel3, null, BORDER_LABEL)
2758
2820
  },
2759
2821
  /* @__PURE__ */ React37.createElement(BorderWidthField, null),
2760
2822
  /* @__PURE__ */ React37.createElement(BorderColorField, null),
@@ -2778,10 +2840,10 @@ import { __ as __17 } from "@wordpress/i18n";
2778
2840
 
2779
2841
  // src/styles-inheritance/components/ui-providers.tsx
2780
2842
  import * as React38 from "react";
2781
- import { DirectionProvider, ThemeProvider } from "@elementor/ui";
2843
+ import { DirectionProvider, ThemeProvider as ThemeProvider2 } from "@elementor/ui";
2782
2844
  var UiProviders = ({ children }) => {
2783
2845
  const { isSiteRtl } = useDirection();
2784
- return /* @__PURE__ */ React38.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React38.createElement(ThemeProvider, null, children));
2846
+ return /* @__PURE__ */ React38.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React38.createElement(ThemeProvider2, null, children));
2785
2847
  };
2786
2848
 
2787
2849
  // src/components/style-sections/border-section/border-radius-field.tsx
@@ -2835,8 +2897,8 @@ var BorderSection = () => /* @__PURE__ */ React40.createElement(SectionContent,
2835
2897
 
2836
2898
  // src/components/style-sections/effects-section/effects-section.tsx
2837
2899
  import * as React42 from "react";
2838
- import { BoxShadowRepeaterControl, FilterRepeaterControl } from "@elementor/editor-controls";
2839
- import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
2900
+ import { BoxShadowRepeaterControl, FilterRepeaterControl, TransformRepeaterControl } from "@elementor/editor-controls";
2901
+ import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
2840
2902
  import { __ as __19 } from "@wordpress/i18n";
2841
2903
 
2842
2904
  // src/components/style-sections/layout-section/opacity-control-field.tsx
@@ -2852,17 +2914,19 @@ var OpacityControlField = () => {
2852
2914
 
2853
2915
  // src/components/style-sections/effects-section/effects-section.tsx
2854
2916
  var BOX_SHADOW_LABEL = __19("Box shadow", "elementor");
2855
- var FILTER_LABEL = __19("Filter", "elementor");
2917
+ var FILTER_LABEL = __19("Filters", "elementor");
2918
+ var TRANSFORM_LABEL = __19("Transform", "elementor");
2919
+ var BACKDROP_FILTER_LABEL = __19("Backdrop filters", "elementor");
2856
2920
  var EffectsSection = () => {
2857
- const isVersion331Active = isExperimentActive9(EXPERIMENTAL_FEATURES.V_3_31);
2858
- return /* @__PURE__ */ React42.createElement(SectionContent, null, /* @__PURE__ */ React42.createElement(OpacityControlField, null), /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "box-shadow", propDisplayName: BOX_SHADOW_LABEL }, /* @__PURE__ */ React42.createElement(BoxShadowRepeaterControl, null)), isVersion331Active && /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "filter", propDisplayName: FILTER_LABEL }, /* @__PURE__ */ React42.createElement(FilterRepeaterControl, null))));
2921
+ const isVersion331Active = isExperimentActive10(EXPERIMENTAL_FEATURES.V_3_31);
2922
+ return /* @__PURE__ */ React42.createElement(SectionContent, null, isVersion331Active && /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(OpacityControlField, null), /* @__PURE__ */ React42.createElement(PanelDivider, null)), /* @__PURE__ */ React42.createElement(StylesField, { bind: "box-shadow", propDisplayName: BOX_SHADOW_LABEL }, /* @__PURE__ */ React42.createElement(BoxShadowRepeaterControl, null)), isVersion331Active && /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "transform", propDisplayName: TRANSFORM_LABEL }, /* @__PURE__ */ React42.createElement(TransformRepeaterControl, null)), /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "filter", propDisplayName: FILTER_LABEL }, /* @__PURE__ */ React42.createElement(FilterRepeaterControl, null)), /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "backdrop-filter", propDisplayName: BACKDROP_FILTER_LABEL }, /* @__PURE__ */ React42.createElement(FilterRepeaterControl, { filterPropName: "backdrop-filter" }))));
2859
2923
  };
2860
2924
 
2861
2925
  // src/components/style-sections/layout-section/layout-section.tsx
2862
2926
  import * as React54 from "react";
2863
2927
  import { ControlFormLabel as ControlFormLabel4 } from "@elementor/editor-controls";
2864
2928
  import { useParentElement } from "@elementor/editor-elements";
2865
- import { __ as __30 } from "@wordpress/i18n";
2929
+ import { __ as __31 } from "@wordpress/i18n";
2866
2930
 
2867
2931
  // src/hooks/use-computed-style.ts
2868
2932
  import { __privateUseListenTo as useListenTo, commandEndEvent, windowEvent } from "@elementor/editor-v1-adapters";
@@ -2901,12 +2965,14 @@ import {
2901
2965
  JustifyTopIcon
2902
2966
  } from "@elementor/icons";
2903
2967
  import { withDirection as withDirection3 } from "@elementor/ui";
2904
- import { __ as __20 } from "@wordpress/i18n";
2968
+ import { __ as __21 } from "@wordpress/i18n";
2905
2969
 
2906
2970
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
2907
2971
  import * as React43 from "react";
2908
2972
  import { useRef as useRef5 } from "react";
2909
2973
  import { useTheme as useTheme2 } from "@elementor/ui";
2974
+ import { __ as __20 } from "@wordpress/i18n";
2975
+ var FLEX_DIRECTION_LABEL = __20("Flex direction", "elementor");
2910
2976
  var CLOCKWISE_ANGLES = {
2911
2977
  row: 0,
2912
2978
  column: 90,
@@ -2931,7 +2997,9 @@ var RotatedIcon = ({
2931
2997
  return /* @__PURE__ */ React43.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
2932
2998
  };
2933
2999
  var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
2934
- const { value: direction } = useStylesField("flex-direction");
3000
+ const { value: direction } = useStylesField("flex-direction", {
3001
+ history: { propDisplayName: FLEX_DIRECTION_LABEL }
3002
+ });
2935
3003
  const isRtl = "rtl" === useTheme2().direction;
2936
3004
  const rotationMultiplier = isRtl ? -1 : 1;
2937
3005
  const angleMap = isClockwise ? CLOCKWISE_ANGLES : COUNTER_CLOCKWISE_ANGLES;
@@ -2947,7 +3015,7 @@ var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existi
2947
3015
  };
2948
3016
 
2949
3017
  // src/components/style-sections/layout-section/align-content-field.tsx
2950
- var ALIGN_CONTENT_LABEL = __20("Align content", "elementor");
3018
+ var ALIGN_CONTENT_LABEL = __21("Align content", "elementor");
2951
3019
  var StartIcon = withDirection3(JustifyTopIcon);
2952
3020
  var EndIcon = withDirection3(JustifyBottomIcon);
2953
3021
  var iconProps = {
@@ -2958,37 +3026,37 @@ var iconProps = {
2958
3026
  var options = [
2959
3027
  {
2960
3028
  value: "start",
2961
- label: __20("Start", "elementor"),
3029
+ label: __21("Start", "elementor"),
2962
3030
  renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2963
3031
  showTooltip: true
2964
3032
  },
2965
3033
  {
2966
3034
  value: "center",
2967
- label: __20("Center", "elementor"),
3035
+ label: __21("Center", "elementor"),
2968
3036
  renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
2969
3037
  showTooltip: true
2970
3038
  },
2971
3039
  {
2972
3040
  value: "end",
2973
- label: __20("End", "elementor"),
3041
+ label: __21("End", "elementor"),
2974
3042
  renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2975
3043
  showTooltip: true
2976
3044
  },
2977
3045
  {
2978
3046
  value: "space-between",
2979
- label: __20("Space between", "elementor"),
3047
+ label: __21("Space between", "elementor"),
2980
3048
  renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
2981
3049
  showTooltip: true
2982
3050
  },
2983
3051
  {
2984
3052
  value: "space-around",
2985
- label: __20("Space around", "elementor"),
3053
+ label: __21("Space around", "elementor"),
2986
3054
  renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
2987
3055
  showTooltip: true
2988
3056
  },
2989
3057
  {
2990
3058
  value: "space-evenly",
2991
- label: __20("Space evenly", "elementor"),
3059
+ label: __21("Space evenly", "elementor"),
2992
3060
  renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
2993
3061
  showTooltip: true
2994
3062
  }
@@ -3005,8 +3073,8 @@ import {
3005
3073
  LayoutDistributeVerticalIcon as JustifyIcon
3006
3074
  } from "@elementor/icons";
3007
3075
  import { withDirection as withDirection4 } from "@elementor/ui";
3008
- import { __ as __21 } from "@wordpress/i18n";
3009
- var ALIGN_ITEMS_LABEL = __21("Align items", "elementor");
3076
+ import { __ as __22 } from "@wordpress/i18n";
3077
+ var ALIGN_ITEMS_LABEL = __22("Align items", "elementor");
3010
3078
  var StartIcon2 = withDirection4(LayoutAlignLeftIcon);
3011
3079
  var EndIcon2 = withDirection4(LayoutAlignRightIcon);
3012
3080
  var iconProps2 = {
@@ -3016,25 +3084,25 @@ var iconProps2 = {
3016
3084
  var options2 = [
3017
3085
  {
3018
3086
  value: "start",
3019
- label: __21("Start", "elementor"),
3087
+ label: __22("Start", "elementor"),
3020
3088
  renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
3021
3089
  showTooltip: true
3022
3090
  },
3023
3091
  {
3024
3092
  value: "center",
3025
- label: __21("Center", "elementor"),
3093
+ label: __22("Center", "elementor"),
3026
3094
  renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
3027
3095
  showTooltip: true
3028
3096
  },
3029
3097
  {
3030
3098
  value: "end",
3031
- label: __21("End", "elementor"),
3099
+ label: __22("End", "elementor"),
3032
3100
  renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
3033
3101
  showTooltip: true
3034
3102
  },
3035
3103
  {
3036
3104
  value: "stretch",
3037
- label: __21("Stretch", "elementor"),
3105
+ label: __22("Stretch", "elementor"),
3038
3106
  renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
3039
3107
  showTooltip: true
3040
3108
  }
@@ -3053,8 +3121,8 @@ import {
3053
3121
  LayoutDistributeVerticalIcon as JustifyIcon2
3054
3122
  } from "@elementor/icons";
3055
3123
  import { withDirection as withDirection5 } from "@elementor/ui";
3056
- import { __ as __22 } from "@wordpress/i18n";
3057
- var ALIGN_SELF_LABEL = __22("Align self", "elementor");
3124
+ import { __ as __23 } from "@wordpress/i18n";
3125
+ var ALIGN_SELF_LABEL = __23("Align self", "elementor");
3058
3126
  var ALIGN_SELF_CHILD_OFFSET_MAP = {
3059
3127
  row: 90,
3060
3128
  "row-reverse": 90,
@@ -3069,7 +3137,7 @@ var iconProps3 = {
3069
3137
  var getOptions = (parentStyleDirection) => [
3070
3138
  {
3071
3139
  value: "start",
3072
- label: __22("Start", "elementor"),
3140
+ label: __23("Start", "elementor"),
3073
3141
  renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
3074
3142
  RotatedIcon,
3075
3143
  {
@@ -3083,7 +3151,7 @@ var getOptions = (parentStyleDirection) => [
3083
3151
  },
3084
3152
  {
3085
3153
  value: "center",
3086
- label: __22("Center", "elementor"),
3154
+ label: __23("Center", "elementor"),
3087
3155
  renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
3088
3156
  RotatedIcon,
3089
3157
  {
@@ -3097,7 +3165,7 @@ var getOptions = (parentStyleDirection) => [
3097
3165
  },
3098
3166
  {
3099
3167
  value: "end",
3100
- label: __22("End", "elementor"),
3168
+ label: __23("End", "elementor"),
3101
3169
  renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
3102
3170
  RotatedIcon,
3103
3171
  {
@@ -3111,7 +3179,7 @@ var getOptions = (parentStyleDirection) => [
3111
3179
  },
3112
3180
  {
3113
3181
  value: "stretch",
3114
- label: __22("Stretch", "elementor"),
3182
+ label: __23("Stretch", "elementor"),
3115
3183
  renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
3116
3184
  RotatedIcon,
3117
3185
  {
@@ -3129,44 +3197,44 @@ var AlignSelfChild = ({ parentStyleDirection }) => /* @__PURE__ */ React46.creat
3129
3197
  // src/components/style-sections/layout-section/display-field.tsx
3130
3198
  import * as React47 from "react";
3131
3199
  import { ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
3132
- import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
3133
- import { __ as __23 } from "@wordpress/i18n";
3134
- var DISPLAY_LABEL = __23("Display", "elementor");
3200
+ import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
3201
+ import { __ as __24 } from "@wordpress/i18n";
3202
+ var DISPLAY_LABEL = __24("Display", "elementor");
3135
3203
  var displayFieldItems = [
3136
3204
  {
3137
3205
  value: "block",
3138
- renderContent: () => __23("Block", "elementor"),
3139
- label: __23("Block", "elementor"),
3206
+ renderContent: () => __24("Block", "elementor"),
3207
+ label: __24("Block", "elementor"),
3140
3208
  showTooltip: true
3141
3209
  },
3142
3210
  {
3143
3211
  value: "flex",
3144
- renderContent: () => __23("Flex", "elementor"),
3145
- label: __23("Flex", "elementor"),
3212
+ renderContent: () => __24("Flex", "elementor"),
3213
+ label: __24("Flex", "elementor"),
3146
3214
  showTooltip: true
3147
3215
  },
3148
3216
  {
3149
3217
  value: "inline-block",
3150
- renderContent: () => __23("In-blk", "elementor"),
3151
- label: __23("Inline-block", "elementor"),
3218
+ renderContent: () => __24("In-blk", "elementor"),
3219
+ label: __24("Inline-block", "elementor"),
3152
3220
  showTooltip: true
3153
3221
  }
3154
3222
  ];
3155
3223
  var DisplayField = () => {
3156
- const isDisplayNoneFeatureActive = isExperimentActive10(EXPERIMENTAL_FEATURES.V_3_30);
3224
+ const isDisplayNoneFeatureActive = isExperimentActive11(EXPERIMENTAL_FEATURES.V_3_30);
3157
3225
  const items3 = [...displayFieldItems];
3158
3226
  if (isDisplayNoneFeatureActive) {
3159
3227
  items3.push({
3160
3228
  value: "none",
3161
- renderContent: () => __23("None", "elementor"),
3162
- label: __23("None", "elementor"),
3229
+ renderContent: () => __24("None", "elementor"),
3230
+ label: __24("None", "elementor"),
3163
3231
  showTooltip: true
3164
3232
  });
3165
3233
  }
3166
3234
  items3.push({
3167
3235
  value: "inline-flex",
3168
- renderContent: () => __23("In-flx", "elementor"),
3169
- label: __23("Inline-flex", "elementor"),
3236
+ renderContent: () => __24("In-flx", "elementor"),
3237
+ label: __24("Inline-flex", "elementor"),
3170
3238
  showTooltip: true
3171
3239
  });
3172
3240
  const placeholder = useDisplayPlaceholderValue();
@@ -3179,12 +3247,12 @@ import * as React48 from "react";
3179
3247
  import { ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
3180
3248
  import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
3181
3249
  import { withDirection as withDirection6 } from "@elementor/ui";
3182
- import { __ as __24 } from "@wordpress/i18n";
3183
- var FLEX_DIRECTION_LABEL = __24("Direction", "elementor");
3250
+ import { __ as __25 } from "@wordpress/i18n";
3251
+ var FLEX_DIRECTION_LABEL2 = __25("Direction", "elementor");
3184
3252
  var options3 = [
3185
3253
  {
3186
3254
  value: "row",
3187
- label: __24("Row", "elementor"),
3255
+ label: __25("Row", "elementor"),
3188
3256
  renderContent: ({ size }) => {
3189
3257
  const StartIcon5 = withDirection6(ArrowRightIcon);
3190
3258
  return /* @__PURE__ */ React48.createElement(StartIcon5, { fontSize: size });
@@ -3193,13 +3261,13 @@ var options3 = [
3193
3261
  },
3194
3262
  {
3195
3263
  value: "column",
3196
- label: __24("Column", "elementor"),
3264
+ label: __25("Column", "elementor"),
3197
3265
  renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ArrowDownSmallIcon, { fontSize: size }),
3198
3266
  showTooltip: true
3199
3267
  },
3200
3268
  {
3201
3269
  value: "row-reverse",
3202
- label: __24("Reversed row", "elementor"),
3270
+ label: __25("Reversed row", "elementor"),
3203
3271
  renderContent: ({ size }) => {
3204
3272
  const EndIcon5 = withDirection6(ArrowLeftIcon);
3205
3273
  return /* @__PURE__ */ React48.createElement(EndIcon5, { fontSize: size });
@@ -3208,23 +3276,23 @@ var options3 = [
3208
3276
  },
3209
3277
  {
3210
3278
  value: "column-reverse",
3211
- label: __24("Reversed column", "elementor"),
3279
+ label: __25("Reversed column", "elementor"),
3212
3280
  renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ArrowUpSmallIcon, { fontSize: size }),
3213
3281
  showTooltip: true
3214
3282
  }
3215
3283
  ];
3216
3284
  var FlexDirectionField = () => {
3217
- return /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-direction", propDisplayName: FLEX_DIRECTION_LABEL }, /* @__PURE__ */ React48.createElement(UiProviders, null, /* @__PURE__ */ React48.createElement(StylesFieldLayout, { label: FLEX_DIRECTION_LABEL }, /* @__PURE__ */ React48.createElement(ToggleControl5, { options: options3 }))));
3285
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-direction", propDisplayName: FLEX_DIRECTION_LABEL2 }, /* @__PURE__ */ React48.createElement(UiProviders, null, /* @__PURE__ */ React48.createElement(StylesFieldLayout, { label: FLEX_DIRECTION_LABEL2 }, /* @__PURE__ */ React48.createElement(ToggleControl5, { options: options3 }))));
3218
3286
  };
3219
3287
 
3220
3288
  // src/components/style-sections/layout-section/flex-order-field.tsx
3221
3289
  import * as React49 from "react";
3222
- import { useState as useState10 } from "react";
3290
+ import { useEffect as useEffect4, useState as useState10 } from "react";
3223
3291
  import { ControlToggleButtonGroup, NumberControl } from "@elementor/editor-controls";
3224
3292
  import { ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowUpSmallIcon as ArrowUpSmallIcon2, PencilIcon } from "@elementor/icons";
3225
3293
  import { Grid as Grid2 } from "@elementor/ui";
3226
- import { __ as __25 } from "@wordpress/i18n";
3227
- var ORDER_LABEL = __25("Order", "elementor");
3294
+ import { __ as __26 } from "@wordpress/i18n";
3295
+ var ORDER_LABEL = __26("Order", "elementor");
3228
3296
  var FIRST_DEFAULT_VALUE = -99999;
3229
3297
  var LAST_DEFAULT_VALUE = 99999;
3230
3298
  var FIRST = "first";
@@ -3237,26 +3305,36 @@ var orderValueMap = {
3237
3305
  var items = [
3238
3306
  {
3239
3307
  value: FIRST,
3240
- label: __25("First", "elementor"),
3308
+ label: __26("First", "elementor"),
3241
3309
  renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ArrowUpSmallIcon2, { fontSize: size }),
3242
3310
  showTooltip: true
3243
3311
  },
3244
3312
  {
3245
3313
  value: LAST,
3246
- label: __25("Last", "elementor"),
3314
+ label: __26("Last", "elementor"),
3247
3315
  renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ArrowDownSmallIcon2, { fontSize: size }),
3248
3316
  showTooltip: true
3249
3317
  },
3250
3318
  {
3251
3319
  value: CUSTOM,
3252
- label: __25("Custom", "elementor"),
3320
+ label: __26("Custom", "elementor"),
3253
3321
  renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(PencilIcon, { fontSize: size }),
3254
3322
  showTooltip: true
3255
3323
  }
3256
3324
  ];
3257
3325
  var FlexOrderField = () => {
3258
- const { value: order, setValue: setOrder, canEdit } = useStylesField("order");
3326
+ const {
3327
+ value: order,
3328
+ setValue: setOrder,
3329
+ canEdit
3330
+ } = useStylesField("order", {
3331
+ history: { propDisplayName: ORDER_LABEL }
3332
+ });
3259
3333
  const [groupControlValue, setGroupControlValue] = useState10(getGroupControlValue(order?.value || null));
3334
+ useEffect4(() => {
3335
+ const newGroupControlValue = getGroupControlValue(order?.value || null);
3336
+ setGroupControlValue(newGroupControlValue);
3337
+ }, [order?.value]);
3260
3338
  const handleToggleButtonChange = (group) => {
3261
3339
  setGroupControlValue(group);
3262
3340
  if (!group || group === CUSTOM) {
@@ -3265,7 +3343,7 @@ var FlexOrderField = () => {
3265
3343
  }
3266
3344
  setOrder({ $$type: "number", value: orderValueMap[group] });
3267
3345
  };
3268
- return /* @__PURE__ */ React49.createElement(StylesField, { bind: "order", propDisplayName: ORDER_LABEL }, /* @__PURE__ */ React49.createElement(UiProviders, null, /* @__PURE__ */ React49.createElement(StylesFieldLayout, { label: ORDER_LABEL }, /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(
3346
+ return /* @__PURE__ */ React49.createElement(StylesField, { bind: "order", propDisplayName: ORDER_LABEL }, /* @__PURE__ */ React49.createElement(UiProviders, null, /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(StylesFieldLayout, { label: ORDER_LABEL }, /* @__PURE__ */ React49.createElement(
3269
3347
  ControlToggleButtonGroup,
3270
3348
  {
3271
3349
  items,
@@ -3274,14 +3352,14 @@ var FlexOrderField = () => {
3274
3352
  exclusive: true,
3275
3353
  disabled: !canEdit
3276
3354
  }
3277
- ), CUSTOM === groupControlValue && /* @__PURE__ */ React49.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __25("Custom order", "elementor"))), /* @__PURE__ */ React49.createElement(Grid2, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(
3355
+ )), CUSTOM === groupControlValue && /* @__PURE__ */ React49.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __26("Custom order", "elementor"))), /* @__PURE__ */ React49.createElement(Grid2, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(
3278
3356
  NumberControl,
3279
3357
  {
3280
3358
  min: FIRST_DEFAULT_VALUE + 1,
3281
3359
  max: LAST_DEFAULT_VALUE - 1,
3282
3360
  shouldForceInt: true
3283
3361
  }
3284
- )))))));
3362
+ ))))));
3285
3363
  };
3286
3364
  var getGroupControlValue = (order) => {
3287
3365
  if (LAST_DEFAULT_VALUE === order) {
@@ -3303,25 +3381,25 @@ import {
3303
3381
  } from "@elementor/editor-controls";
3304
3382
  import { numberPropTypeUtil } from "@elementor/editor-props";
3305
3383
  import { ExpandIcon, PencilIcon as PencilIcon2, ShrinkIcon } from "@elementor/icons";
3306
- import { __ as __26 } from "@wordpress/i18n";
3307
- var FLEX_SIZE_LABEL = __26("Flex Size", "elementor");
3384
+ import { __ as __27 } from "@wordpress/i18n";
3385
+ var FLEX_SIZE_LABEL = __27("Flex Size", "elementor");
3308
3386
  var DEFAULT = 1;
3309
3387
  var items2 = [
3310
3388
  {
3311
3389
  value: "flex-grow",
3312
- label: __26("Grow", "elementor"),
3390
+ label: __27("Grow", "elementor"),
3313
3391
  renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(ExpandIcon, { fontSize: size }),
3314
3392
  showTooltip: true
3315
3393
  },
3316
3394
  {
3317
3395
  value: "flex-shrink",
3318
- label: __26("Shrink", "elementor"),
3396
+ label: __27("Shrink", "elementor"),
3319
3397
  renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(ShrinkIcon, { fontSize: size }),
3320
3398
  showTooltip: true
3321
3399
  },
3322
3400
  {
3323
3401
  value: "custom",
3324
- label: __26("Custom", "elementor"),
3402
+ label: __27("Custom", "elementor"),
3325
3403
  renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(PencilIcon2, { fontSize: size }),
3326
3404
  showTooltip: true
3327
3405
  }
@@ -3334,27 +3412,27 @@ var FlexSizeField = () => {
3334
3412
  const currentGroup = useMemo6(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = useState11(currentGroup);
3335
3413
  const onChangeGroup = (group = null) => {
3336
3414
  setActiveGroup(group);
3415
+ let props;
3337
3416
  if (!group || group === "custom") {
3338
- setValues({
3417
+ props = {
3339
3418
  "flex-basis": null,
3340
3419
  "flex-grow": null,
3341
3420
  "flex-shrink": null
3342
- });
3343
- return;
3344
- }
3345
- if (group === "flex-grow") {
3346
- setValues({
3421
+ };
3422
+ } else if (group === "flex-grow") {
3423
+ props = {
3347
3424
  "flex-basis": null,
3348
3425
  "flex-grow": numberPropTypeUtil.create(DEFAULT),
3349
3426
  "flex-shrink": null
3350
- });
3351
- return;
3427
+ };
3428
+ } else {
3429
+ props = {
3430
+ "flex-basis": null,
3431
+ "flex-grow": null,
3432
+ "flex-shrink": numberPropTypeUtil.create(DEFAULT)
3433
+ };
3352
3434
  }
3353
- setValues({
3354
- "flex-basis": null,
3355
- "flex-grow": null,
3356
- "flex-shrink": numberPropTypeUtil.create(DEFAULT)
3357
- });
3435
+ setValues(props, { history: { propDisplayName: FLEX_SIZE_LABEL } });
3358
3436
  };
3359
3437
  return /* @__PURE__ */ React50.createElement(UiProviders, null, /* @__PURE__ */ React50.createElement(SectionContent, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: activeGroup ?? "", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(
3360
3438
  ControlToggleButtonGroup2,
@@ -3369,7 +3447,7 @@ var FlexSizeField = () => {
3369
3447
  };
3370
3448
  var FlexCustomField = () => {
3371
3449
  const flexBasisRowRef = useRef6(null);
3372
- return /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-grow", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __26("Grow", "elementor") }, /* @__PURE__ */ React50.createElement(NumberControl2, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-shrink", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __26("Shrink", "elementor") }, /* @__PURE__ */ React50.createElement(NumberControl2, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-basis", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __26("Basis", "elementor"), ref: flexBasisRowRef }, /* @__PURE__ */ React50.createElement(SizeControl3, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef }))));
3450
+ return /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-grow", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __27("Grow", "elementor") }, /* @__PURE__ */ React50.createElement(NumberControl2, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-shrink", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __27("Shrink", "elementor") }, /* @__PURE__ */ React50.createElement(NumberControl2, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-basis", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __27("Basis", "elementor"), ref: flexBasisRowRef }, /* @__PURE__ */ React50.createElement(SizeControl3, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef }))));
3373
3451
  };
3374
3452
  var getActiveGroup = ({
3375
3453
  grow,
@@ -3394,8 +3472,8 @@ var getActiveGroup = ({
3394
3472
  // src/components/style-sections/layout-section/gap-control-field.tsx
3395
3473
  import * as React51 from "react";
3396
3474
  import { GapControl } from "@elementor/editor-controls";
3397
- import { __ as __27 } from "@wordpress/i18n";
3398
- var GAPS_LABEL = __27("Gaps", "elementor");
3475
+ import { __ as __28 } from "@wordpress/i18n";
3476
+ var GAPS_LABEL = __28("Gaps", "elementor");
3399
3477
  var GapControlField = () => {
3400
3478
  return /* @__PURE__ */ React51.createElement(StylesField, { bind: "gap", propDisplayName: GAPS_LABEL }, /* @__PURE__ */ React51.createElement(GapControl, { label: GAPS_LABEL }));
3401
3479
  };
@@ -3412,8 +3490,8 @@ import {
3412
3490
  JustifyTopIcon as JustifyTopIcon2
3413
3491
  } from "@elementor/icons";
3414
3492
  import { withDirection as withDirection7 } from "@elementor/ui";
3415
- import { __ as __28 } from "@wordpress/i18n";
3416
- var JUSTIFY_CONTENT_LABEL = __28("Justify content", "elementor");
3493
+ import { __ as __29 } from "@wordpress/i18n";
3494
+ var JUSTIFY_CONTENT_LABEL = __29("Justify content", "elementor");
3417
3495
  var StartIcon4 = withDirection7(JustifyTopIcon2);
3418
3496
  var EndIcon4 = withDirection7(JustifyBottomIcon2);
3419
3497
  var iconProps4 = {
@@ -3423,37 +3501,37 @@ var iconProps4 = {
3423
3501
  var options4 = [
3424
3502
  {
3425
3503
  value: "flex-start",
3426
- label: __28("Start", "elementor"),
3504
+ label: __29("Start", "elementor"),
3427
3505
  renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
3428
3506
  showTooltip: true
3429
3507
  },
3430
3508
  {
3431
3509
  value: "center",
3432
- label: __28("Center", "elementor"),
3510
+ label: __29("Center", "elementor"),
3433
3511
  renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
3434
3512
  showTooltip: true
3435
3513
  },
3436
3514
  {
3437
3515
  value: "flex-end",
3438
- label: __28("End", "elementor"),
3516
+ label: __29("End", "elementor"),
3439
3517
  renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
3440
3518
  showTooltip: true
3441
3519
  },
3442
3520
  {
3443
3521
  value: "space-between",
3444
- label: __28("Space between", "elementor"),
3522
+ label: __29("Space between", "elementor"),
3445
3523
  renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
3446
3524
  showTooltip: true
3447
3525
  },
3448
3526
  {
3449
3527
  value: "space-around",
3450
- label: __28("Space around", "elementor"),
3528
+ label: __29("Space around", "elementor"),
3451
3529
  renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
3452
3530
  showTooltip: true
3453
3531
  },
3454
3532
  {
3455
3533
  value: "space-evenly",
3456
- label: __28("Space evenly", "elementor"),
3534
+ label: __29("Space evenly", "elementor"),
3457
3535
  renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
3458
3536
  showTooltip: true
3459
3537
  }
@@ -3464,24 +3542,24 @@ var JustifyContentField = () => /* @__PURE__ */ React52.createElement(StylesFiel
3464
3542
  import * as React53 from "react";
3465
3543
  import { ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
3466
3544
  import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
3467
- import { __ as __29 } from "@wordpress/i18n";
3468
- var FLEX_WRAP_LABEL = __29("Wrap", "elementor");
3545
+ import { __ as __30 } from "@wordpress/i18n";
3546
+ var FLEX_WRAP_LABEL = __30("Wrap", "elementor");
3469
3547
  var options5 = [
3470
3548
  {
3471
3549
  value: "nowrap",
3472
- label: __29("No wrap", "elementor"),
3550
+ label: __30("No wrap", "elementor"),
3473
3551
  renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(ArrowRightIcon2, { fontSize: size }),
3474
3552
  showTooltip: true
3475
3553
  },
3476
3554
  {
3477
3555
  value: "wrap",
3478
- label: __29("Wrap", "elementor"),
3556
+ label: __30("Wrap", "elementor"),
3479
3557
  renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(ArrowBackIcon, { fontSize: size }),
3480
3558
  showTooltip: true
3481
3559
  },
3482
3560
  {
3483
3561
  value: "wrap-reverse",
3484
- label: __29("Reversed wrap", "elementor"),
3562
+ label: __30("Reversed wrap", "elementor"),
3485
3563
  renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(ArrowForwardIcon, { fontSize: size }),
3486
3564
  showTooltip: true
3487
3565
  }
@@ -3491,8 +3569,12 @@ var WrapField = () => {
3491
3569
  };
3492
3570
 
3493
3571
  // src/components/style-sections/layout-section/layout-section.tsx
3572
+ var DISPLAY_LABEL2 = __31("Display", "elementor");
3573
+ var FLEX_WRAP_LABEL2 = __31("Flex wrap", "elementor");
3494
3574
  var LayoutSection = () => {
3495
- const { value: display } = useStylesField("display");
3575
+ const { value: display } = useStylesField("display", {
3576
+ history: { propDisplayName: DISPLAY_LABEL2 }
3577
+ });
3496
3578
  const displayPlaceholder = useDisplayPlaceholderValue();
3497
3579
  const isDisplayFlex = shouldDisplayFlexFields(display, displayPlaceholder);
3498
3580
  const { element } = useElement();
@@ -3502,10 +3584,12 @@ var LayoutSection = () => {
3502
3584
  return /* @__PURE__ */ React54.createElement(SectionContent, null, /* @__PURE__ */ React54.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React54.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React54.createElement(FlexChildFields, { parentStyleDirection }));
3503
3585
  };
3504
3586
  var FlexFields = () => {
3505
- const { value: flexWrap } = useStylesField("flex-wrap");
3587
+ const { value: flexWrap } = useStylesField("flex-wrap", {
3588
+ history: { propDisplayName: FLEX_WRAP_LABEL2 }
3589
+ });
3506
3590
  return /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(FlexDirectionField, null), /* @__PURE__ */ React54.createElement(JustifyContentField, null), /* @__PURE__ */ React54.createElement(AlignItemsField, null), /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(GapControlField, null), /* @__PURE__ */ React54.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React54.createElement(AlignContentField, null));
3507
3591
  };
3508
- var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(ControlFormLabel4, null, __30("Flex child", "elementor")), /* @__PURE__ */ React54.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React54.createElement(FlexOrderField, null), /* @__PURE__ */ React54.createElement(FlexSizeField, null));
3592
+ var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(ControlFormLabel4, null, __31("Flex child", "elementor")), /* @__PURE__ */ React54.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React54.createElement(FlexOrderField, null), /* @__PURE__ */ React54.createElement(FlexSizeField, null));
3509
3593
  var shouldDisplayFlexFields = (display, local) => {
3510
3594
  const value = display?.value ?? local?.value;
3511
3595
  if (!value) {
@@ -3516,8 +3600,9 @@ var shouldDisplayFlexFields = (display, local) => {
3516
3600
 
3517
3601
  // src/components/style-sections/position-section/position-section.tsx
3518
3602
  import * as React59 from "react";
3519
- import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
3603
+ import { isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
3520
3604
  import { useSessionStorage } from "@elementor/session";
3605
+ import { __ as __36 } from "@wordpress/i18n";
3521
3606
 
3522
3607
  // src/components/style-sections/position-section/dimensions-field.tsx
3523
3608
  import * as React55 from "react";
@@ -3525,7 +3610,7 @@ import { useRef as useRef7 } from "react";
3525
3610
  import { SizeControl as SizeControl4 } from "@elementor/editor-controls";
3526
3611
  import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
3527
3612
  import { Grid as Grid3, Stack as Stack11, withDirection as withDirection8 } from "@elementor/ui";
3528
- import { __ as __31 } from "@wordpress/i18n";
3613
+ import { __ as __32 } from "@wordpress/i18n";
3529
3614
  var InlineStartIcon2 = withDirection8(SideLeftIcon2);
3530
3615
  var InlineEndIcon2 = withDirection8(SideRightIcon2);
3531
3616
  var sideIcons = {
@@ -3534,19 +3619,19 @@ var sideIcons = {
3534
3619
  "inset-inline-start": /* @__PURE__ */ React55.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
3535
3620
  "inset-inline-end": /* @__PURE__ */ React55.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
3536
3621
  };
3537
- var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __31("Right", "elementor") : __31("Left", "elementor");
3538
- var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __31("Left", "elementor") : __31("Right", "elementor");
3622
+ var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __32("Right", "elementor") : __32("Left", "elementor");
3623
+ var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __32("Left", "elementor") : __32("Right", "elementor");
3539
3624
  var DimensionsField = () => {
3540
3625
  const { isSiteRtl } = useDirection();
3541
3626
  const rowRefs = [useRef7(null), useRef7(null)];
3542
- return /* @__PURE__ */ React55.createElement(UiProviders, null, /* @__PURE__ */ React55.createElement(Stack11, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React55.createElement(DimensionField, { side: "inset-block-start", label: __31("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React55.createElement(
3627
+ return /* @__PURE__ */ React55.createElement(UiProviders, null, /* @__PURE__ */ React55.createElement(Stack11, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React55.createElement(DimensionField, { side: "inset-block-start", label: __32("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React55.createElement(
3543
3628
  DimensionField,
3544
3629
  {
3545
3630
  side: "inset-inline-end",
3546
3631
  label: getInlineEndLabel(isSiteRtl),
3547
3632
  rowRef: rowRefs[0]
3548
3633
  }
3549
- )), /* @__PURE__ */ React55.createElement(Stack11, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React55.createElement(DimensionField, { side: "inset-block-end", label: __31("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React55.createElement(
3634
+ )), /* @__PURE__ */ React55.createElement(Stack11, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React55.createElement(DimensionField, { side: "inset-block-end", label: __32("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React55.createElement(
3550
3635
  DimensionField,
3551
3636
  {
3552
3637
  side: "inset-inline-start",
@@ -3565,8 +3650,8 @@ var DimensionField = ({
3565
3650
  import * as React56 from "react";
3566
3651
  import { useRef as useRef8 } from "react";
3567
3652
  import { SizeControl as SizeControl5 } from "@elementor/editor-controls";
3568
- import { __ as __32 } from "@wordpress/i18n";
3569
- var OFFSET_LABEL = __32("Anchor offset", "elementor");
3653
+ import { __ as __33 } from "@wordpress/i18n";
3654
+ var OFFSET_LABEL = __33("Anchor offset", "elementor");
3570
3655
  var UNITS = ["px", "em", "rem", "vw", "vh"];
3571
3656
  var OffsetField = () => {
3572
3657
  const rowRef = useRef8(null);
@@ -3576,14 +3661,14 @@ var OffsetField = () => {
3576
3661
  // src/components/style-sections/position-section/position-field.tsx
3577
3662
  import * as React57 from "react";
3578
3663
  import { SelectControl as SelectControl3 } from "@elementor/editor-controls";
3579
- import { __ as __33 } from "@wordpress/i18n";
3580
- var POSITION_LABEL = __33("Position", "elementor");
3664
+ import { __ as __34 } from "@wordpress/i18n";
3665
+ var POSITION_LABEL = __34("Position", "elementor");
3581
3666
  var positionOptions = [
3582
- { label: __33("Static", "elementor"), value: "static" },
3583
- { label: __33("Relative", "elementor"), value: "relative" },
3584
- { label: __33("Absolute", "elementor"), value: "absolute" },
3585
- { label: __33("Fixed", "elementor"), value: "fixed" },
3586
- { label: __33("Sticky", "elementor"), value: "sticky" }
3667
+ { label: __34("Static", "elementor"), value: "static" },
3668
+ { label: __34("Relative", "elementor"), value: "relative" },
3669
+ { label: __34("Absolute", "elementor"), value: "absolute" },
3670
+ { label: __34("Fixed", "elementor"), value: "fixed" },
3671
+ { label: __34("Sticky", "elementor"), value: "sticky" }
3587
3672
  ];
3588
3673
  var PositionField = ({ onChange }) => {
3589
3674
  return /* @__PURE__ */ React57.createElement(StylesField, { bind: "position", propDisplayName: POSITION_LABEL }, /* @__PURE__ */ React57.createElement(StylesFieldLayout, { label: POSITION_LABEL }, /* @__PURE__ */ React57.createElement(SelectControl3, { options: positionOptions, onChange })));
@@ -3592,15 +3677,19 @@ var PositionField = ({ onChange }) => {
3592
3677
  // src/components/style-sections/position-section/z-index-field.tsx
3593
3678
  import * as React58 from "react";
3594
3679
  import { NumberControl as NumberControl3 } from "@elementor/editor-controls";
3595
- import { __ as __34 } from "@wordpress/i18n";
3596
- var Z_INDEX_LABEL = __34("Z-index", "elementor");
3680
+ import { __ as __35 } from "@wordpress/i18n";
3681
+ var Z_INDEX_LABEL = __35("Z-index", "elementor");
3597
3682
  var ZIndexField = () => {
3598
3683
  return /* @__PURE__ */ React58.createElement(StylesField, { bind: "z-index", propDisplayName: Z_INDEX_LABEL }, /* @__PURE__ */ React58.createElement(StylesFieldLayout, { label: Z_INDEX_LABEL }, /* @__PURE__ */ React58.createElement(NumberControl3, null)));
3599
3684
  };
3600
3685
 
3601
3686
  // src/components/style-sections/position-section/position-section.tsx
3687
+ var POSITION_LABEL2 = __36("Position", "elementor");
3688
+ var DIMENSIONS_LABEL = __36("Dimensions", "elementor");
3602
3689
  var PositionSection = () => {
3603
- const { value: positionValue } = useStylesField("position");
3690
+ const { value: positionValue } = useStylesField("position", {
3691
+ history: { propDisplayName: POSITION_LABEL2 }
3692
+ });
3604
3693
  const { values: dimensions, setValues: setDimensions } = useStylesFields([
3605
3694
  "inset-block-start",
3606
3695
  "inset-block-end",
@@ -3608,21 +3697,25 @@ var PositionSection = () => {
3608
3697
  "inset-inline-end"
3609
3698
  ]);
3610
3699
  const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
3611
- const isCssIdFeatureActive = isExperimentActive11("e_v_3_30");
3700
+ const isCssIdFeatureActive = isExperimentActive12("e_v_3_30");
3612
3701
  const onPositionChange = (newPosition, previousPosition) => {
3702
+ const meta = { history: { propDisplayName: DIMENSIONS_LABEL } };
3613
3703
  if (newPosition === "static") {
3614
3704
  if (dimensions) {
3615
3705
  updateDimensionsHistory(dimensions);
3616
- setDimensions({
3617
- "inset-block-start": void 0,
3618
- "inset-block-end": void 0,
3619
- "inset-inline-start": void 0,
3620
- "inset-inline-end": void 0
3621
- });
3706
+ setDimensions(
3707
+ {
3708
+ "inset-block-start": void 0,
3709
+ "inset-block-end": void 0,
3710
+ "inset-inline-start": void 0,
3711
+ "inset-inline-end": void 0
3712
+ },
3713
+ meta
3714
+ );
3622
3715
  }
3623
3716
  } else if (previousPosition === "static") {
3624
3717
  if (dimensionsValuesFromHistory) {
3625
- setDimensions(dimensionsValuesFromHistory);
3718
+ setDimensions(dimensionsValuesFromHistory, meta);
3626
3719
  clearDimensionsHistory();
3627
3720
  }
3628
3721
  }
@@ -3641,19 +3734,19 @@ var usePersistDimensions = () => {
3641
3734
  import * as React65 from "react";
3642
3735
  import { useRef as useRef9 } from "react";
3643
3736
  import { AspectRatioControl, SizeControl as SizeControl6 } from "@elementor/editor-controls";
3644
- import { isExperimentActive as isExperimentActive13 } from "@elementor/editor-v1-adapters";
3737
+ import { isExperimentActive as isExperimentActive14 } from "@elementor/editor-v1-adapters";
3645
3738
  import { Grid as Grid4, Stack as Stack13 } from "@elementor/ui";
3646
- import { __ as __39 } from "@wordpress/i18n";
3739
+ import { __ as __41 } from "@wordpress/i18n";
3647
3740
 
3648
3741
  // src/components/style-tab-collapsible-content.tsx
3649
3742
  import * as React61 from "react";
3650
- import { isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
3743
+ import { isExperimentActive as isExperimentActive13 } from "@elementor/editor-v1-adapters";
3651
3744
 
3652
3745
  // src/styles-inheritance/components/styles-inheritance-section-indicators.tsx
3653
3746
  import * as React60 from "react";
3654
- import { isElementsStylesProvider as isElementsStylesProvider3 } from "@elementor/editor-styles-repository";
3747
+ import { isElementsStylesProvider as isElementsStylesProvider4 } from "@elementor/editor-styles-repository";
3655
3748
  import { Stack as Stack12, Tooltip as Tooltip7 } from "@elementor/ui";
3656
- import { __ as __35 } from "@wordpress/i18n";
3749
+ import { __ as __37 } from "@wordpress/i18n";
3657
3750
  var StylesInheritanceSectionIndicators = ({ fields }) => {
3658
3751
  const { id, meta, provider } = useStyle();
3659
3752
  const snapshot = useStylesInheritanceSnapshot();
@@ -3664,13 +3757,13 @@ var StylesInheritanceSectionIndicators = ({ fields }) => {
3664
3757
  if (!hasValues && !hasOverrides) {
3665
3758
  return null;
3666
3759
  }
3667
- const hasValueLabel = __35("Has effective styles", "elementor");
3668
- const hasOverridesLabel = __35("Has overridden styles", "elementor");
3669
- return /* @__PURE__ */ React60.createElement(Tooltip7, { title: __35("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React60.createElement(Stack12, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, hasValues && provider && /* @__PURE__ */ React60.createElement(
3760
+ const hasValueLabel = __37("Has effective styles", "elementor");
3761
+ const hasOverridesLabel = __37("Has overridden styles", "elementor");
3762
+ return /* @__PURE__ */ React60.createElement(Tooltip7, { title: __37("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React60.createElement(Stack12, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, hasValues && provider && /* @__PURE__ */ React60.createElement(
3670
3763
  StyleIndicator,
3671
3764
  {
3672
3765
  getColor: getStylesProviderThemeColor(provider.getKey()),
3673
- "data-variant": isElementsStylesProvider3(provider.getKey()) ? "local" : "global",
3766
+ "data-variant": isElementsStylesProvider4(provider.getKey()) ? "local" : "global",
3674
3767
  role: "listitem",
3675
3768
  "aria-label": hasValueLabel
3676
3769
  }
@@ -3717,7 +3810,7 @@ var StyleTabCollapsibleContent = ({ fields = [], children }) => {
3717
3810
  return /* @__PURE__ */ React61.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
3718
3811
  };
3719
3812
  function getStylesInheritanceIndicators(fields) {
3720
- const isUsingFieldsIndicators = isExperimentActive12(EXPERIMENTAL_FEATURES.V_3_30);
3813
+ const isUsingFieldsIndicators = isExperimentActive13(EXPERIMENTAL_FEATURES.V_3_30);
3721
3814
  if (fields.length === 0 || !isUsingFieldsIndicators) {
3722
3815
  return null;
3723
3816
  }
@@ -3727,14 +3820,14 @@ function getStylesInheritanceIndicators(fields) {
3727
3820
  // src/components/style-sections/size-section/object-fit-field.tsx
3728
3821
  import * as React62 from "react";
3729
3822
  import { SelectControl as SelectControl4 } from "@elementor/editor-controls";
3730
- import { __ as __36 } from "@wordpress/i18n";
3731
- var OBJECT_FIT_LABEL = __36("Object fit", "elementor");
3823
+ import { __ as __38 } from "@wordpress/i18n";
3824
+ var OBJECT_FIT_LABEL = __38("Object fit", "elementor");
3732
3825
  var positionOptions2 = [
3733
- { label: __36("Fill", "elementor"), value: "fill" },
3734
- { label: __36("Cover", "elementor"), value: "cover" },
3735
- { label: __36("Contain", "elementor"), value: "contain" },
3736
- { label: __36("None", "elementor"), value: "none" },
3737
- { label: __36("Scale down", "elementor"), value: "scale-down" }
3826
+ { label: __38("Fill", "elementor"), value: "fill" },
3827
+ { label: __38("Cover", "elementor"), value: "cover" },
3828
+ { label: __38("Contain", "elementor"), value: "contain" },
3829
+ { label: __38("None", "elementor"), value: "none" },
3830
+ { label: __38("Scale down", "elementor"), value: "scale-down" }
3738
3831
  ];
3739
3832
  var ObjectFitField = () => {
3740
3833
  return /* @__PURE__ */ React62.createElement(StylesField, { bind: "object-fit", propDisplayName: OBJECT_FIT_LABEL }, /* @__PURE__ */ React62.createElement(StylesFieldLayout, { label: OBJECT_FIT_LABEL }, /* @__PURE__ */ React62.createElement(SelectControl4, { options: positionOptions2 })));
@@ -3743,8 +3836,8 @@ var ObjectFitField = () => {
3743
3836
  // src/components/style-sections/size-section/object-position-field.tsx
3744
3837
  import * as React63 from "react";
3745
3838
  import { PositionControl } from "@elementor/editor-controls";
3746
- import { __ as __37 } from "@wordpress/i18n";
3747
- var OBJECT_POSITION_LABEL = __37("Object position", "elementor");
3839
+ import { __ as __39 } from "@wordpress/i18n";
3840
+ var OBJECT_POSITION_LABEL = __39("Object position", "elementor");
3748
3841
  var ObjectPositionField = () => {
3749
3842
  return /* @__PURE__ */ React63.createElement(StylesField, { bind: "object-position", propDisplayName: OBJECT_POSITION_LABEL }, /* @__PURE__ */ React63.createElement(PositionControl, null));
3750
3843
  };
@@ -3753,24 +3846,24 @@ var ObjectPositionField = () => {
3753
3846
  import * as React64 from "react";
3754
3847
  import { ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
3755
3848
  import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
3756
- import { __ as __38 } from "@wordpress/i18n";
3757
- var OVERFLOW_LABEL = __38("Overflow", "elementor");
3849
+ import { __ as __40 } from "@wordpress/i18n";
3850
+ var OVERFLOW_LABEL = __40("Overflow", "elementor");
3758
3851
  var options6 = [
3759
3852
  {
3760
3853
  value: "visible",
3761
- label: __38("Visible", "elementor"),
3854
+ label: __40("Visible", "elementor"),
3762
3855
  renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(EyeIcon, { fontSize: size }),
3763
3856
  showTooltip: true
3764
3857
  },
3765
3858
  {
3766
3859
  value: "hidden",
3767
- label: __38("Hidden", "elementor"),
3860
+ label: __40("Hidden", "elementor"),
3768
3861
  renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(EyeOffIcon, { fontSize: size }),
3769
3862
  showTooltip: true
3770
3863
  },
3771
3864
  {
3772
3865
  value: "auto",
3773
- label: __38("Auto", "elementor"),
3866
+ label: __40("Auto", "elementor"),
3774
3867
  renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(LetterAIcon, { fontSize: size }),
3775
3868
  showTooltip: true
3776
3869
  }
@@ -3785,40 +3878,43 @@ var CssSizeProps = [
3785
3878
  [
3786
3879
  {
3787
3880
  bind: "width",
3788
- label: __39("Width", "elementor")
3881
+ label: __41("Width", "elementor")
3789
3882
  },
3790
3883
  {
3791
3884
  bind: "height",
3792
- label: __39("Height", "elementor")
3885
+ label: __41("Height", "elementor")
3793
3886
  }
3794
3887
  ],
3795
3888
  [
3796
3889
  {
3797
3890
  bind: "min-width",
3798
- label: __39("Min width", "elementor")
3891
+ label: __41("Min width", "elementor")
3799
3892
  },
3800
3893
  {
3801
3894
  bind: "min-height",
3802
- label: __39("Min height", "elementor")
3895
+ label: __41("Min height", "elementor")
3803
3896
  }
3804
3897
  ],
3805
3898
  [
3806
3899
  {
3807
3900
  bind: "max-width",
3808
- label: __39("Max width", "elementor")
3901
+ label: __41("Max width", "elementor")
3809
3902
  },
3810
3903
  {
3811
3904
  bind: "max-height",
3812
- label: __39("Max height", "elementor")
3905
+ label: __41("Max height", "elementor")
3813
3906
  }
3814
3907
  ]
3815
3908
  ];
3816
- var ASPECT_RATIO_LABEL = __39("Aspect Ratio", "elementor");
3909
+ var ASPECT_RATIO_LABEL = __41("Aspect Ratio", "elementor");
3910
+ var OBJECT_FIT_LABEL2 = __41("Object fit", "elementor");
3817
3911
  var SizeSection = () => {
3818
- const { value: fitValue } = useStylesField("object-fit");
3912
+ const { value: fitValue } = useStylesField("object-fit", {
3913
+ history: { propDisplayName: OBJECT_FIT_LABEL2 }
3914
+ });
3819
3915
  const isNotFill = fitValue && fitValue?.value !== "fill";
3820
3916
  const gridRowRefs = [useRef9(null), useRef9(null), useRef9(null)];
3821
- const isVersion330Active = isExperimentActive13(EXPERIMENT_ID);
3917
+ const isVersion330Active = isExperimentActive14(EXPERIMENT_ID);
3822
3918
  return /* @__PURE__ */ React65.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React65.createElement(Grid4, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React65.createElement(Grid4, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React65.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(Stack13, null, /* @__PURE__ */ React65.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React65.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React65.createElement(Stack13, { gap: 2, pt: 2 }, /* @__PURE__ */ React65.createElement(StylesField, { bind: "aspect-ratio", propDisplayName: ASPECT_RATIO_LABEL }, /* @__PURE__ */ React65.createElement(AspectRatioControl, { label: ASPECT_RATIO_LABEL })), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React65.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ObjectPositionField, null)))));
3823
3919
  };
3824
3920
  var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
@@ -3828,9 +3924,9 @@ var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
3828
3924
  // src/components/style-sections/spacing-section/spacing-section.tsx
3829
3925
  import * as React66 from "react";
3830
3926
  import { LinkedDimensionsControl } from "@elementor/editor-controls";
3831
- import { __ as __40 } from "@wordpress/i18n";
3832
- var MARGIN_LABEL = __40("Margin", "elementor");
3833
- var PADDING_LABEL = __40("Padding", "elementor");
3927
+ import { __ as __42 } from "@wordpress/i18n";
3928
+ var MARGIN_LABEL = __42("Margin", "elementor");
3929
+ var PADDING_LABEL = __42("Padding", "elementor");
3834
3930
  var SpacingSection = () => {
3835
3931
  const { isSiteRtl } = useDirection();
3836
3932
  return /* @__PURE__ */ React66.createElement(SectionContent, null, /* @__PURE__ */ React66.createElement(StylesField, { bind: "margin", propDisplayName: MARGIN_LABEL }, /* @__PURE__ */ React66.createElement(
@@ -3845,13 +3941,14 @@ var SpacingSection = () => {
3845
3941
 
3846
3942
  // src/components/style-sections/typography-section/typography-section.tsx
3847
3943
  import * as React82 from "react";
3848
- import { isExperimentActive as isExperimentActive14 } from "@elementor/editor-v1-adapters";
3944
+ import { isExperimentActive as isExperimentActive15 } from "@elementor/editor-v1-adapters";
3945
+ import { __ as __59 } from "@wordpress/i18n";
3849
3946
 
3850
3947
  // src/components/style-sections/typography-section/column-count-field.tsx
3851
3948
  import * as React67 from "react";
3852
3949
  import { NumberControl as NumberControl4 } from "@elementor/editor-controls";
3853
- import { __ as __41 } from "@wordpress/i18n";
3854
- var COLUMN_COUNT_LABEL = __41("Columns", "elementor");
3950
+ import { __ as __43 } from "@wordpress/i18n";
3951
+ var COLUMN_COUNT_LABEL = __43("Columns", "elementor");
3855
3952
  var ColumnCountField = () => {
3856
3953
  return /* @__PURE__ */ React67.createElement(StylesField, { bind: "column-count", propDisplayName: COLUMN_COUNT_LABEL }, /* @__PURE__ */ React67.createElement(StylesFieldLayout, { label: COLUMN_COUNT_LABEL }, /* @__PURE__ */ React67.createElement(NumberControl4, { shouldForceInt: true, min: 0, step: 1 })));
3857
3954
  };
@@ -3860,8 +3957,8 @@ var ColumnCountField = () => {
3860
3957
  import * as React68 from "react";
3861
3958
  import { useRef as useRef10 } from "react";
3862
3959
  import { SizeControl as SizeControl7 } from "@elementor/editor-controls";
3863
- import { __ as __42 } from "@wordpress/i18n";
3864
- var COLUMN_GAP_LABEL = __42("Column gap", "elementor");
3960
+ import { __ as __44 } from "@wordpress/i18n";
3961
+ var COLUMN_GAP_LABEL = __44("Column gap", "elementor");
3865
3962
  var ColumnGapField = () => {
3866
3963
  const rowRef = useRef10(null);
3867
3964
  return /* @__PURE__ */ React68.createElement(StylesField, { bind: "column-gap", propDisplayName: COLUMN_GAP_LABEL }, /* @__PURE__ */ React68.createElement(StylesFieldLayout, { label: COLUMN_GAP_LABEL, ref: rowRef }, /* @__PURE__ */ React68.createElement(SizeControl7, { anchorRef: rowRef })));
@@ -3870,15 +3967,15 @@ var ColumnGapField = () => {
3870
3967
  // src/components/style-sections/typography-section/font-family-field.tsx
3871
3968
  import * as React69 from "react";
3872
3969
  import { FontFamilyControl } from "@elementor/editor-controls";
3873
- import { __ as __44 } from "@wordpress/i18n";
3970
+ import { __ as __46 } from "@wordpress/i18n";
3874
3971
 
3875
3972
  // src/components/style-sections/typography-section/hooks/use-font-families.ts
3876
3973
  import { useMemo as useMemo7 } from "react";
3877
- import { __ as __43 } from "@wordpress/i18n";
3974
+ import { __ as __45 } from "@wordpress/i18n";
3878
3975
  var supportedCategories = {
3879
- system: __43("System", "elementor"),
3880
- custom: __43("Custom Fonts", "elementor"),
3881
- googlefonts: __43("Google Fonts", "elementor")
3976
+ system: __45("System", "elementor"),
3977
+ custom: __45("Custom Fonts", "elementor"),
3978
+ googlefonts: __45("Google Fonts", "elementor")
3882
3979
  };
3883
3980
  var getFontFamilies = () => {
3884
3981
  const { controls } = getElementorConfig();
@@ -3910,7 +4007,7 @@ var useFontFamilies = () => {
3910
4007
  };
3911
4008
 
3912
4009
  // src/components/style-sections/typography-section/font-family-field.tsx
3913
- var FONT_FAMILY_LABEL = __44("Font family", "elementor");
4010
+ var FONT_FAMILY_LABEL = __46("Font family", "elementor");
3914
4011
  var FontFamilyField = () => {
3915
4012
  const fontFamilies = useFontFamilies();
3916
4013
  const sectionWidth = useSectionWidth();
@@ -3924,8 +4021,8 @@ var FontFamilyField = () => {
3924
4021
  import * as React70 from "react";
3925
4022
  import { useRef as useRef11 } from "react";
3926
4023
  import { SizeControl as SizeControl8 } from "@elementor/editor-controls";
3927
- import { __ as __45 } from "@wordpress/i18n";
3928
- var FONT_SIZE_LABEL = __45("Font size", "elementor");
4024
+ import { __ as __47 } from "@wordpress/i18n";
4025
+ var FONT_SIZE_LABEL = __47("Font size", "elementor");
3929
4026
  var FontSizeField = () => {
3930
4027
  const rowRef = useRef11(null);
3931
4028
  return /* @__PURE__ */ React70.createElement(StylesField, { bind: "font-size", propDisplayName: FONT_SIZE_LABEL }, /* @__PURE__ */ React70.createElement(StylesFieldLayout, { label: FONT_SIZE_LABEL, ref: rowRef }, /* @__PURE__ */ React70.createElement(SizeControl8, { anchorRef: rowRef })));
@@ -3935,18 +4032,18 @@ var FontSizeField = () => {
3935
4032
  import * as React71 from "react";
3936
4033
  import { ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
3937
4034
  import { ItalicIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
3938
- import { __ as __46 } from "@wordpress/i18n";
3939
- var FONT_STYLE_LABEL = __46("Font style", "elementor");
4035
+ import { __ as __48 } from "@wordpress/i18n";
4036
+ var FONT_STYLE_LABEL = __48("Font style", "elementor");
3940
4037
  var options7 = [
3941
4038
  {
3942
4039
  value: "normal",
3943
- label: __46("Normal", "elementor"),
4040
+ label: __48("Normal", "elementor"),
3944
4041
  renderContent: ({ size }) => /* @__PURE__ */ React71.createElement(MinusIcon2, { fontSize: size }),
3945
4042
  showTooltip: true
3946
4043
  },
3947
4044
  {
3948
4045
  value: "italic",
3949
- label: __46("Italic", "elementor"),
4046
+ label: __48("Italic", "elementor"),
3950
4047
  renderContent: ({ size }) => /* @__PURE__ */ React71.createElement(ItalicIcon, { fontSize: size }),
3951
4048
  showTooltip: true
3952
4049
  }
@@ -3958,18 +4055,18 @@ var FontStyleField = () => {
3958
4055
  // src/components/style-sections/typography-section/font-weight-field.tsx
3959
4056
  import * as React72 from "react";
3960
4057
  import { SelectControl as SelectControl5 } from "@elementor/editor-controls";
3961
- import { __ as __47 } from "@wordpress/i18n";
3962
- var FONT_WEIGHT_LABEL = __47("Font weight", "elementor");
4058
+ import { __ as __49 } from "@wordpress/i18n";
4059
+ var FONT_WEIGHT_LABEL = __49("Font weight", "elementor");
3963
4060
  var fontWeightOptions = [
3964
- { value: "100", label: __47("100 - Thin", "elementor") },
3965
- { value: "200", label: __47("200 - Extra light", "elementor") },
3966
- { value: "300", label: __47("300 - Light", "elementor") },
3967
- { value: "400", label: __47("400 - Normal", "elementor") },
3968
- { value: "500", label: __47("500 - Medium", "elementor") },
3969
- { value: "600", label: __47("600 - Semi bold", "elementor") },
3970
- { value: "700", label: __47("700 - Bold", "elementor") },
3971
- { value: "800", label: __47("800 - Extra bold", "elementor") },
3972
- { value: "900", label: __47("900 - Black", "elementor") }
4061
+ { value: "100", label: __49("100 - Thin", "elementor") },
4062
+ { value: "200", label: __49("200 - Extra light", "elementor") },
4063
+ { value: "300", label: __49("300 - Light", "elementor") },
4064
+ { value: "400", label: __49("400 - Normal", "elementor") },
4065
+ { value: "500", label: __49("500 - Medium", "elementor") },
4066
+ { value: "600", label: __49("600 - Semi bold", "elementor") },
4067
+ { value: "700", label: __49("700 - Bold", "elementor") },
4068
+ { value: "800", label: __49("800 - Extra bold", "elementor") },
4069
+ { value: "900", label: __49("900 - Black", "elementor") }
3973
4070
  ];
3974
4071
  var FontWeightField = () => {
3975
4072
  return /* @__PURE__ */ React72.createElement(StylesField, { bind: "font-weight", propDisplayName: FONT_WEIGHT_LABEL }, /* @__PURE__ */ React72.createElement(StylesFieldLayout, { label: FONT_WEIGHT_LABEL }, /* @__PURE__ */ React72.createElement(SelectControl5, { options: fontWeightOptions })));
@@ -3979,8 +4076,8 @@ var FontWeightField = () => {
3979
4076
  import * as React73 from "react";
3980
4077
  import { useRef as useRef12 } from "react";
3981
4078
  import { SizeControl as SizeControl9 } from "@elementor/editor-controls";
3982
- import { __ as __48 } from "@wordpress/i18n";
3983
- var LETTER_SPACING_LABEL = __48("Letter spacing", "elementor");
4079
+ import { __ as __50 } from "@wordpress/i18n";
4080
+ var LETTER_SPACING_LABEL = __50("Letter spacing", "elementor");
3984
4081
  var LetterSpacingField = () => {
3985
4082
  const rowRef = useRef12(null);
3986
4083
  return /* @__PURE__ */ React73.createElement(StylesField, { bind: "letter-spacing", propDisplayName: LETTER_SPACING_LABEL }, /* @__PURE__ */ React73.createElement(StylesFieldLayout, { label: LETTER_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React73.createElement(SizeControl9, { anchorRef: rowRef })));
@@ -3990,8 +4087,8 @@ var LetterSpacingField = () => {
3990
4087
  import * as React74 from "react";
3991
4088
  import { useRef as useRef13 } from "react";
3992
4089
  import { SizeControl as SizeControl10 } from "@elementor/editor-controls";
3993
- import { __ as __49 } from "@wordpress/i18n";
3994
- var LINE_HEIGHT_LABEL = __49("Line height", "elementor");
4090
+ import { __ as __51 } from "@wordpress/i18n";
4091
+ var LINE_HEIGHT_LABEL = __51("Line height", "elementor");
3995
4092
  var LineHeightField = () => {
3996
4093
  const rowRef = useRef13(null);
3997
4094
  return /* @__PURE__ */ React74.createElement(StylesField, { bind: "line-height", propDisplayName: LINE_HEIGHT_LABEL }, /* @__PURE__ */ React74.createElement(StylesFieldLayout, { label: LINE_HEIGHT_LABEL, ref: rowRef }, /* @__PURE__ */ React74.createElement(SizeControl10, { anchorRef: rowRef })));
@@ -4002,32 +4099,32 @@ import * as React75 from "react";
4002
4099
  import { ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
4003
4100
  import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
4004
4101
  import { withDirection as withDirection9 } from "@elementor/ui";
4005
- import { __ as __50 } from "@wordpress/i18n";
4006
- var TEXT_ALIGNMENT_LABEL = __50("Text align", "elementor");
4102
+ import { __ as __52 } from "@wordpress/i18n";
4103
+ var TEXT_ALIGNMENT_LABEL = __52("Text align", "elementor");
4007
4104
  var AlignStartIcon = withDirection9(AlignLeftIcon);
4008
4105
  var AlignEndIcon = withDirection9(AlignRightIcon);
4009
4106
  var options8 = [
4010
4107
  {
4011
4108
  value: "start",
4012
- label: __50("Start", "elementor"),
4109
+ label: __52("Start", "elementor"),
4013
4110
  renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignStartIcon, { fontSize: size }),
4014
4111
  showTooltip: true
4015
4112
  },
4016
4113
  {
4017
4114
  value: "center",
4018
- label: __50("Center", "elementor"),
4115
+ label: __52("Center", "elementor"),
4019
4116
  renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignCenterIcon, { fontSize: size }),
4020
4117
  showTooltip: true
4021
4118
  },
4022
4119
  {
4023
4120
  value: "end",
4024
- label: __50("End", "elementor"),
4121
+ label: __52("End", "elementor"),
4025
4122
  renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignEndIcon, { fontSize: size }),
4026
4123
  showTooltip: true
4027
4124
  },
4028
4125
  {
4029
4126
  value: "justify",
4030
- label: __50("Justify", "elementor"),
4127
+ label: __52("Justify", "elementor"),
4031
4128
  renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignJustifiedIcon, { fontSize: size }),
4032
4129
  showTooltip: true
4033
4130
  }
@@ -4039,8 +4136,8 @@ var TextAlignmentField = () => {
4039
4136
  // src/components/style-sections/typography-section/text-color-field.tsx
4040
4137
  import * as React76 from "react";
4041
4138
  import { ColorControl as ColorControl2 } from "@elementor/editor-controls";
4042
- import { __ as __51 } from "@wordpress/i18n";
4043
- var TEXT_COLOR_LABEL = __51("Text color", "elementor");
4139
+ import { __ as __53 } from "@wordpress/i18n";
4140
+ var TEXT_COLOR_LABEL = __53("Text color", "elementor");
4044
4141
  var TextColorField = () => {
4045
4142
  return /* @__PURE__ */ React76.createElement(StylesField, { bind: "color", propDisplayName: TEXT_COLOR_LABEL }, /* @__PURE__ */ React76.createElement(StylesFieldLayout, { label: TEXT_COLOR_LABEL }, /* @__PURE__ */ React76.createElement(ColorControl2, null)));
4046
4143
  };
@@ -4049,31 +4146,31 @@ var TextColorField = () => {
4049
4146
  import * as React77 from "react";
4050
4147
  import { ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
4051
4148
  import { MinusIcon as MinusIcon3, OverlineIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
4052
- import { __ as __52 } from "@wordpress/i18n";
4053
- var TEXT_DECORATION_LABEL = __52("Line decoration", "elementor");
4149
+ import { __ as __54 } from "@wordpress/i18n";
4150
+ var TEXT_DECORATION_LABEL = __54("Line decoration", "elementor");
4054
4151
  var options9 = [
4055
4152
  {
4056
4153
  value: "none",
4057
- label: __52("None", "elementor"),
4154
+ label: __54("None", "elementor"),
4058
4155
  renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(MinusIcon3, { fontSize: size }),
4059
4156
  showTooltip: true,
4060
4157
  exclusive: true
4061
4158
  },
4062
4159
  {
4063
4160
  value: "underline",
4064
- label: __52("Underline", "elementor"),
4161
+ label: __54("Underline", "elementor"),
4065
4162
  renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(UnderlineIcon, { fontSize: size }),
4066
4163
  showTooltip: true
4067
4164
  },
4068
4165
  {
4069
4166
  value: "line-through",
4070
- label: __52("Line-through", "elementor"),
4167
+ label: __54("Line-through", "elementor"),
4071
4168
  renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(StrikethroughIcon, { fontSize: size }),
4072
4169
  showTooltip: true
4073
4170
  },
4074
4171
  {
4075
4172
  value: "overline",
4076
- label: __52("Overline", "elementor"),
4173
+ label: __54("Overline", "elementor"),
4077
4174
  renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(OverlineIcon, { fontSize: size }),
4078
4175
  showTooltip: true
4079
4176
  }
@@ -4084,18 +4181,18 @@ var TextDecorationField = () => /* @__PURE__ */ React77.createElement(StylesFiel
4084
4181
  import * as React78 from "react";
4085
4182
  import { ToggleControl as ToggleControl12 } from "@elementor/editor-controls";
4086
4183
  import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
4087
- import { __ as __53 } from "@wordpress/i18n";
4088
- var TEXT_DIRECTION_LABEL = __53("Direction", "elementor");
4184
+ import { __ as __55 } from "@wordpress/i18n";
4185
+ var TEXT_DIRECTION_LABEL = __55("Direction", "elementor");
4089
4186
  var options10 = [
4090
4187
  {
4091
4188
  value: "ltr",
4092
- label: __53("Left to right", "elementor"),
4189
+ label: __55("Left to right", "elementor"),
4093
4190
  renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(TextDirectionLtrIcon, { fontSize: size }),
4094
4191
  showTooltip: true
4095
4192
  },
4096
4193
  {
4097
4194
  value: "rtl",
4098
- label: __53("Right to left", "elementor"),
4195
+ label: __55("Right to left", "elementor"),
4099
4196
  renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(TextDirectionRtlIcon, { fontSize: size }),
4100
4197
  showTooltip: true
4101
4198
  }
@@ -4107,7 +4204,7 @@ var TextDirectionField = () => {
4107
4204
  // src/components/style-sections/typography-section/text-stroke-field.tsx
4108
4205
  import * as React79 from "react";
4109
4206
  import { StrokeControl } from "@elementor/editor-controls";
4110
- import { __ as __54 } from "@wordpress/i18n";
4207
+ import { __ as __56 } from "@wordpress/i18n";
4111
4208
  var initTextStroke = {
4112
4209
  $$type: "stroke",
4113
4210
  value: {
@@ -4124,9 +4221,11 @@ var initTextStroke = {
4124
4221
  }
4125
4222
  }
4126
4223
  };
4127
- var TEXT_STROKE_LABEL = __54("Text stroke", "elementor");
4224
+ var TEXT_STROKE_LABEL = __56("Text stroke", "elementor");
4128
4225
  var TextStrokeField = () => {
4129
- const { value, setValue, canEdit } = useStylesField("stroke");
4226
+ const { value, setValue, canEdit } = useStylesField("stroke", {
4227
+ history: { propDisplayName: TEXT_STROKE_LABEL }
4228
+ });
4130
4229
  const addTextStroke = () => {
4131
4230
  setValue(initTextStroke);
4132
4231
  };
@@ -4151,30 +4250,30 @@ var TextStrokeField = () => {
4151
4250
  import * as React80 from "react";
4152
4251
  import { ToggleControl as ToggleControl13 } from "@elementor/editor-controls";
4153
4252
  import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon4 } from "@elementor/icons";
4154
- import { __ as __55 } from "@wordpress/i18n";
4155
- var TEXT_TRANSFORM_LABEL = __55("Text transform", "elementor");
4253
+ import { __ as __57 } from "@wordpress/i18n";
4254
+ var TEXT_TRANSFORM_LABEL = __57("Text transform", "elementor");
4156
4255
  var options11 = [
4157
4256
  {
4158
4257
  value: "none",
4159
- label: __55("None", "elementor"),
4258
+ label: __57("None", "elementor"),
4160
4259
  renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(MinusIcon4, { fontSize: size }),
4161
4260
  showTooltip: true
4162
4261
  },
4163
4262
  {
4164
4263
  value: "capitalize",
4165
- label: __55("Capitalize", "elementor"),
4264
+ label: __57("Capitalize", "elementor"),
4166
4265
  renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(LetterCaseIcon, { fontSize: size }),
4167
4266
  showTooltip: true
4168
4267
  },
4169
4268
  {
4170
4269
  value: "uppercase",
4171
- label: __55("Uppercase", "elementor"),
4270
+ label: __57("Uppercase", "elementor"),
4172
4271
  renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(LetterCaseUpperIcon, { fontSize: size }),
4173
4272
  showTooltip: true
4174
4273
  },
4175
4274
  {
4176
4275
  value: "lowercase",
4177
- label: __55("Lowercase", "elementor"),
4276
+ label: __57("Lowercase", "elementor"),
4178
4277
  renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(LetterCaseLowerIcon, { fontSize: size }),
4179
4278
  showTooltip: true
4180
4279
  }
@@ -4185,18 +4284,21 @@ var TransformField = () => /* @__PURE__ */ React80.createElement(StylesField, {
4185
4284
  import * as React81 from "react";
4186
4285
  import { useRef as useRef14 } from "react";
4187
4286
  import { SizeControl as SizeControl11 } from "@elementor/editor-controls";
4188
- import { __ as __56 } from "@wordpress/i18n";
4189
- var WORD_SPACING_LABEL = __56("Word spacing", "elementor");
4287
+ import { __ as __58 } from "@wordpress/i18n";
4288
+ var WORD_SPACING_LABEL = __58("Word spacing", "elementor");
4190
4289
  var WordSpacingField = () => {
4191
4290
  const rowRef = useRef14(null);
4192
4291
  return /* @__PURE__ */ React81.createElement(StylesField, { bind: "word-spacing", propDisplayName: WORD_SPACING_LABEL }, /* @__PURE__ */ React81.createElement(StylesFieldLayout, { label: WORD_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React81.createElement(SizeControl11, { anchorRef: rowRef })));
4193
4292
  };
4194
4293
 
4195
4294
  // src/components/style-sections/typography-section/typography-section.tsx
4295
+ var COLUMN_COUNT_LABEL2 = __59("Column count", "elementor");
4196
4296
  var TypographySection = () => {
4197
- const { value: columnCount } = useStylesField("column-count");
4297
+ const { value: columnCount } = useStylesField("column-count", {
4298
+ history: { propDisplayName: COLUMN_COUNT_LABEL2 }
4299
+ });
4198
4300
  const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
4199
- const isVersion330Active = isExperimentActive14("e_v_3_30");
4301
+ const isVersion330Active = isExperimentActive15("e_v_3_30");
4200
4302
  return /* @__PURE__ */ React82.createElement(SectionContent, null, /* @__PURE__ */ React82.createElement(FontFamilyField, null), /* @__PURE__ */ React82.createElement(FontWeightField, null), /* @__PURE__ */ React82.createElement(FontSizeField, null), /* @__PURE__ */ React82.createElement(PanelDivider, null), /* @__PURE__ */ React82.createElement(TextAlignmentField, null), /* @__PURE__ */ React82.createElement(TextColorField, null), /* @__PURE__ */ React82.createElement(
4201
4303
  StyleTabCollapsibleContent,
4202
4304
  {
@@ -4218,12 +4320,12 @@ var TypographySection = () => {
4218
4320
 
4219
4321
  // src/components/style-tab-section.tsx
4220
4322
  import * as React83 from "react";
4221
- import { isExperimentActive as isExperimentActive15 } from "@elementor/editor-v1-adapters";
4323
+ import { isExperimentActive as isExperimentActive16 } from "@elementor/editor-v1-adapters";
4222
4324
  var StyleTabSection = ({ section, fields = [] }) => {
4223
4325
  const { component, name, title } = section;
4224
4326
  const tabDefaults = useDefaultPanelSettings();
4225
4327
  const SectionComponent = component;
4226
- const isExpanded = isExperimentActive15(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
4328
+ const isExpanded = isExperimentActive16(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
4227
4329
  return /* @__PURE__ */ React83.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React83.createElement(SectionComponent, null));
4228
4330
  };
4229
4331
 
@@ -4231,7 +4333,7 @@ var StyleTabSection = ({ section, fields = [] }) => {
4231
4333
  var TABS_HEADER_HEIGHT = "37px";
4232
4334
  var stickyHeaderStyles = {
4233
4335
  position: "sticky",
4234
- zIndex: 1,
4336
+ zIndex: 1100,
4235
4337
  opacity: 1,
4236
4338
  backgroundColor: "background.default",
4237
4339
  transition: "top 300ms ease"
@@ -4258,7 +4360,7 @@ var StyleTab = () => {
4258
4360
  section: {
4259
4361
  component: LayoutSection,
4260
4362
  name: "Layout",
4261
- title: __57("Layout", "elementor")
4363
+ title: __60("Layout", "elementor")
4262
4364
  },
4263
4365
  fields: [
4264
4366
  "display",
@@ -4277,7 +4379,7 @@ var StyleTab = () => {
4277
4379
  section: {
4278
4380
  component: SpacingSection,
4279
4381
  name: "Spacing",
4280
- title: __57("Spacing", "elementor")
4382
+ title: __60("Spacing", "elementor")
4281
4383
  },
4282
4384
  fields: ["margin", "padding"]
4283
4385
  }
@@ -4287,7 +4389,7 @@ var StyleTab = () => {
4287
4389
  section: {
4288
4390
  component: SizeSection,
4289
4391
  name: "Size",
4290
- title: __57("Size", "elementor")
4392
+ title: __60("Size", "elementor")
4291
4393
  },
4292
4394
  fields: [
4293
4395
  "width",
@@ -4307,7 +4409,7 @@ var StyleTab = () => {
4307
4409
  section: {
4308
4410
  component: PositionSection,
4309
4411
  name: "Position",
4310
- title: __57("Position", "elementor")
4412
+ title: __60("Position", "elementor")
4311
4413
  },
4312
4414
  fields: ["position", "z-index", "scroll-margin-top"]
4313
4415
  }
@@ -4317,7 +4419,7 @@ var StyleTab = () => {
4317
4419
  section: {
4318
4420
  component: TypographySection,
4319
4421
  name: "Typography",
4320
- title: __57("Typography", "elementor")
4422
+ title: __60("Typography", "elementor")
4321
4423
  },
4322
4424
  fields: [
4323
4425
  "font-family",
@@ -4342,7 +4444,7 @@ var StyleTab = () => {
4342
4444
  section: {
4343
4445
  component: BackgroundSection,
4344
4446
  name: "Background",
4345
- title: __57("Background", "elementor")
4447
+ title: __60("Background", "elementor")
4346
4448
  },
4347
4449
  fields: ["background"]
4348
4450
  }
@@ -4352,7 +4454,7 @@ var StyleTab = () => {
4352
4454
  section: {
4353
4455
  component: BorderSection,
4354
4456
  name: "Border",
4355
- title: __57("Border", "elementor")
4457
+ title: __60("Border", "elementor")
4356
4458
  },
4357
4459
  fields: ["border-radius", "border-width", "border-color", "border-style"]
4358
4460
  }
@@ -4362,7 +4464,7 @@ var StyleTab = () => {
4362
4464
  section: {
4363
4465
  component: EffectsSection,
4364
4466
  name: "Effects",
4365
- title: __57("Effects", "elementor")
4467
+ title: __60("Effects", "elementor")
4366
4468
  },
4367
4469
  fields: ["box-shadow"]
4368
4470
  }
@@ -4390,12 +4492,12 @@ var EditingPanelTabs = () => {
4390
4492
  return (
4391
4493
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
4392
4494
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
4393
- /* @__PURE__ */ React85.createElement(Fragment10, { key: element.id }, /* @__PURE__ */ React85.createElement(PanelTabContent, null))
4495
+ /* @__PURE__ */ React85.createElement(Fragment9, { key: element.id }, /* @__PURE__ */ React85.createElement(PanelTabContent, null))
4394
4496
  );
4395
4497
  };
4396
4498
  var PanelTabContent = () => {
4397
4499
  const editorDefaults = useDefaultPanelSettings();
4398
- const defaultComponentTab = isExperimentActive16(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
4500
+ const defaultComponentTab = isExperimentActive17(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
4399
4501
  const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
4400
4502
  const { getTabProps, getTabPanelProps, getTabsProps } = useTabs(currentTab);
4401
4503
  return /* @__PURE__ */ React85.createElement(ScrollProvider, null, /* @__PURE__ */ React85.createElement(Stack15, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React85.createElement(Stack15, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React85.createElement(
@@ -4410,8 +4512,8 @@ var PanelTabContent = () => {
4410
4512
  setCurrentTab(newValue);
4411
4513
  }
4412
4514
  },
4413
- /* @__PURE__ */ React85.createElement(Tab, { label: __58("General", "elementor"), ...getTabProps("settings") }),
4414
- /* @__PURE__ */ React85.createElement(Tab, { label: __58("Style", "elementor"), ...getTabProps("style") })
4515
+ /* @__PURE__ */ React85.createElement(Tab, { label: __61("General", "elementor"), ...getTabProps("settings") }),
4516
+ /* @__PURE__ */ React85.createElement(Tab, { label: __61("Style", "elementor"), ...getTabProps("style") })
4415
4517
  ), /* @__PURE__ */ React85.createElement(Divider6, null)), /* @__PURE__ */ React85.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React85.createElement(SettingsTab, null)), /* @__PURE__ */ React85.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React85.createElement(StyleTab, null))));
4416
4518
  };
4417
4519
 
@@ -4424,8 +4526,8 @@ var EditingPanel = () => {
4424
4526
  if (!element || !elementType) {
4425
4527
  return null;
4426
4528
  }
4427
- const panelTitle = __59("Edit %s", "elementor").replace("%s", elementType.title);
4428
- return /* @__PURE__ */ React86.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React86.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React86.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React86.createElement(ThemeProvider2, null, /* @__PURE__ */ React86.createElement(Panel, null, /* @__PURE__ */ React86.createElement(PanelHeader, null, /* @__PURE__ */ React86.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React86.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React86.createElement(PanelBody, null, /* @__PURE__ */ React86.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React86.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React86.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React86.createElement(EditingPanelTabs, null)))))))));
4529
+ const panelTitle = __62("Edit %s", "elementor").replace("%s", elementType.title);
4530
+ return /* @__PURE__ */ React86.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React86.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React86.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React86.createElement(ThemeProvider3, null, /* @__PURE__ */ React86.createElement(Panel, null, /* @__PURE__ */ React86.createElement(PanelHeader, null, /* @__PURE__ */ React86.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React86.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React86.createElement(PanelBody, null, /* @__PURE__ */ React86.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React86.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React86.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React86.createElement(EditingPanelTabs, null)))))))));
4429
4531
  };
4430
4532
 
4431
4533
  // src/panel.ts
@@ -4434,22 +4536,21 @@ var { panel, usePanelActions, usePanelStatus } = createPanel({
4434
4536
  component: EditingPanel
4435
4537
  });
4436
4538
 
4437
- // src/components/popover-scrollable-content.tsx
4539
+ // src/components/popover-body.tsx
4438
4540
  import * as React87 from "react";
4439
- import { PopoverScrollableContent as BasePopoverScrollableContent } from "@elementor/editor-ui";
4440
- var PopoverScrollableContent = (props) => {
4541
+ import { PopoverBody as BasePopoverBody } from "@elementor/editor-ui";
4542
+ var PopoverBody = (props) => {
4441
4543
  const sectionWidth = useSectionWidth();
4442
- return /* @__PURE__ */ React87.createElement(BasePopoverScrollableContent, { ...props, width: sectionWidth });
4544
+ return /* @__PURE__ */ React87.createElement(BasePopoverBody, { ...props, width: sectionWidth });
4443
4545
  };
4444
4546
 
4445
4547
  // src/init.ts
4446
4548
  import { injectIntoLogic } from "@elementor/editor";
4447
- import { PrefetchUserData } from "@elementor/editor-current-user";
4448
4549
  import { __registerPanel as registerPanel } from "@elementor/editor-panels";
4449
- import { blockCommand, isExperimentActive as isExperimentActive17 } from "@elementor/editor-v1-adapters";
4550
+ import { blockCommand, isExperimentActive as isExperimentActive18 } from "@elementor/editor-v1-adapters";
4450
4551
 
4451
4552
  // src/hooks/use-open-editor-panel.ts
4452
- import { useEffect as useEffect4 } from "react";
4553
+ import { useEffect as useEffect5 } from "react";
4453
4554
  import { __privateListenTo as listenTo, commandStartEvent } from "@elementor/editor-v1-adapters";
4454
4555
 
4455
4556
  // src/sync/is-atomic-widget-selected.ts
@@ -4466,7 +4567,7 @@ var isAtomicWidgetSelected = () => {
4466
4567
  // src/hooks/use-open-editor-panel.ts
4467
4568
  var useOpenEditorPanel = () => {
4468
4569
  const { open } = usePanelActions();
4469
- useEffect4(() => {
4570
+ useEffect5(() => {
4470
4571
  return listenTo(commandStartEvent("panel/editor/open"), () => {
4471
4572
  if (isAtomicWidgetSelected()) {
4472
4573
  open();
@@ -4591,12 +4692,12 @@ var Content = ({ rawValue }) => {
4591
4692
  // src/dynamics/components/dynamic-selection-control.tsx
4592
4693
  import * as React91 from "react";
4593
4694
  import { ControlFormLabel as ControlFormLabel5, useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
4594
- import { PopoverHeader as PopoverHeader3, PopoverScrollableContent as PopoverScrollableContent2 } from "@elementor/editor-ui";
4695
+ import { PopoverHeader as PopoverHeader3 } from "@elementor/editor-ui";
4595
4696
  import { DatabaseIcon as DatabaseIcon3, SettingsIcon, XIcon } from "@elementor/icons";
4596
4697
  import {
4597
4698
  bindPopover as bindPopover2,
4598
4699
  bindTrigger as bindTrigger2,
4599
- Box as Box8,
4700
+ Box as Box7,
4600
4701
  Divider as Divider8,
4601
4702
  Grid as Grid5,
4602
4703
  IconButton as IconButton5,
@@ -4609,7 +4710,7 @@ import {
4609
4710
  usePopupState as usePopupState3,
4610
4711
  useTabs as useTabs2
4611
4712
  } from "@elementor/ui";
4612
- import { __ as __61 } from "@wordpress/i18n";
4713
+ import { __ as __64 } from "@wordpress/i18n";
4613
4714
 
4614
4715
  // src/hooks/use-persist-dynamic-value.ts
4615
4716
  import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
@@ -4646,13 +4747,13 @@ var DynamicControl = ({ bind, children }) => {
4646
4747
  };
4647
4748
 
4648
4749
  // src/dynamics/components/dynamic-selection.tsx
4649
- import { Fragment as Fragment12, useState as useState13 } from "react";
4750
+ import { Fragment as Fragment11, useState as useState13 } from "react";
4650
4751
  import * as React90 from "react";
4651
4752
  import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
4652
4753
  import { PopoverHeader as PopoverHeader2, PopoverMenuList, PopoverSearch } from "@elementor/editor-ui";
4653
4754
  import { DatabaseIcon as DatabaseIcon2 } from "@elementor/icons";
4654
- import { Box as Box7, Divider as Divider7, Link as Link2, Stack as Stack16, Typography as Typography5, useTheme as useTheme3 } from "@elementor/ui";
4655
- import { __ as __60 } from "@wordpress/i18n";
4755
+ import { Divider as Divider7, Link as Link2, Stack as Stack16, Typography as Typography5, useTheme as useTheme3 } from "@elementor/ui";
4756
+ import { __ as __63 } from "@wordpress/i18n";
4656
4757
  var SIZE6 = "tiny";
4657
4758
  var DynamicSelection = ({ close: closePopover }) => {
4658
4759
  const [searchValue, setSearchValue] = useState13("");
@@ -4687,21 +4788,21 @@ var DynamicSelection = ({ close: closePopover }) => {
4687
4788
  label: item.label
4688
4789
  }))
4689
4790
  ]);
4690
- return /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(
4791
+ return /* @__PURE__ */ React90.createElement(PopoverBody, null, /* @__PURE__ */ React90.createElement(
4691
4792
  PopoverHeader2,
4692
4793
  {
4693
- title: __60("Dynamic tags", "elementor"),
4794
+ title: __63("Dynamic tags", "elementor"),
4694
4795
  onClose: closePopover,
4695
4796
  icon: /* @__PURE__ */ React90.createElement(DatabaseIcon2, { fontSize: SIZE6 })
4696
4797
  }
4697
- ), /* @__PURE__ */ React90.createElement(Stack16, null, hasNoDynamicTags ? /* @__PURE__ */ React90.createElement(NoDynamicTags, null) : /* @__PURE__ */ React90.createElement(Fragment12, null, /* @__PURE__ */ React90.createElement(
4798
+ ), hasNoDynamicTags ? /* @__PURE__ */ React90.createElement(NoDynamicTags, null) : /* @__PURE__ */ React90.createElement(Fragment11, null, /* @__PURE__ */ React90.createElement(
4698
4799
  PopoverSearch,
4699
4800
  {
4700
4801
  value: searchValue,
4701
4802
  onSearch: handleSearch,
4702
- placeholder: __60("Search dynamic tags\u2026", "elementor")
4803
+ placeholder: __63("Search dynamic tags\u2026", "elementor")
4703
4804
  }
4704
- ), /* @__PURE__ */ React90.createElement(Divider7, null), /* @__PURE__ */ React90.createElement(PopoverScrollableContent, null, /* @__PURE__ */ React90.createElement(
4805
+ ), /* @__PURE__ */ React90.createElement(Divider7, null), /* @__PURE__ */ React90.createElement(
4705
4806
  PopoverMenuList,
4706
4807
  {
4707
4808
  items: virtualizedItems,
@@ -4711,7 +4812,7 @@ var DynamicSelection = ({ close: closePopover }) => {
4711
4812
  itemStyle: (item) => item.type === "item" ? { paddingInlineStart: theme.spacing(3.5) } : {},
4712
4813
  noResultsComponent: /* @__PURE__ */ React90.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") })
4713
4814
  }
4714
- )))));
4815
+ )));
4715
4816
  };
4716
4817
  var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React90.createElement(
4717
4818
  Stack16,
@@ -4725,10 +4826,10 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React90.createElem
4725
4826
  sx: { pb: 3.5 }
4726
4827
  },
4727
4828
  /* @__PURE__ */ React90.createElement(DatabaseIcon2, { fontSize: "large" }),
4728
- /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "subtitle2" }, __60("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React90.createElement("br", null), "\u201C", searchValue, "\u201D."),
4729
- /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "caption", sx: { display: "flex", flexDirection: "column" } }, __60("Try something else.", "elementor"), /* @__PURE__ */ React90.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __60("Clear & try again", "elementor")))
4829
+ /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "subtitle2" }, __63("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React90.createElement("br", null), "\u201C", searchValue, "\u201D."),
4830
+ /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "caption", sx: { display: "flex", flexDirection: "column" } }, __63("Try something else.", "elementor"), /* @__PURE__ */ React90.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __63("Clear & try again", "elementor")))
4730
4831
  );
4731
- var NoDynamicTags = () => /* @__PURE__ */ React90.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React90.createElement(Divider7, null), /* @__PURE__ */ React90.createElement(
4832
+ var NoDynamicTags = () => /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(Divider7, null), /* @__PURE__ */ React90.createElement(
4732
4833
  Stack16,
4733
4834
  {
4734
4835
  gap: 1,
@@ -4740,8 +4841,8 @@ var NoDynamicTags = () => /* @__PURE__ */ React90.createElement(Box7, { sx: { ov
4740
4841
  sx: { pb: 3.5 }
4741
4842
  },
4742
4843
  /* @__PURE__ */ React90.createElement(DatabaseIcon2, { fontSize: "large" }),
4743
- /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "subtitle2" }, __60("Streamline your workflow with dynamic tags", "elementor")),
4744
- /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "caption" }, __60("You'll need Elementor Pro to use this feature.", "elementor"))
4844
+ /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "subtitle2" }, __63("Streamline your workflow with dynamic tags", "elementor")),
4845
+ /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "caption" }, __63("You'll need Elementor Pro to use this feature.", "elementor"))
4745
4846
  ));
4746
4847
  var useFilteredOptions = (searchValue) => {
4747
4848
  const dynamicTags = usePropDynamicTags();
@@ -4774,7 +4875,7 @@ var DynamicSelectionControl = () => {
4774
4875
  if (!dynamicTag) {
4775
4876
  throw new Error(`Dynamic tag ${tagName} not found`);
4776
4877
  }
4777
- return /* @__PURE__ */ React91.createElement(Box8, null, /* @__PURE__ */ React91.createElement(
4878
+ return /* @__PURE__ */ React91.createElement(Box7, null, /* @__PURE__ */ React91.createElement(
4778
4879
  Tag,
4779
4880
  {
4780
4881
  fullWidth: true,
@@ -4787,7 +4888,7 @@ var DynamicSelectionControl = () => {
4787
4888
  {
4788
4889
  size: SIZE7,
4789
4890
  onClick: removeDynamicTag,
4790
- "aria-label": __61("Remove dynamic value", "elementor")
4891
+ "aria-label": __64("Remove dynamic value", "elementor")
4791
4892
  },
4792
4893
  /* @__PURE__ */ React91.createElement(XIcon, { fontSize: SIZE7 })
4793
4894
  ))
@@ -4804,7 +4905,7 @@ var DynamicSelectionControl = () => {
4804
4905
  },
4805
4906
  ...bindPopover2(selectionPopoverState)
4806
4907
  },
4807
- /* @__PURE__ */ React91.createElement(Stack17, null, /* @__PURE__ */ React91.createElement(DynamicSelection, { close: selectionPopoverState.close }))
4908
+ /* @__PURE__ */ React91.createElement(PopoverBody, null, /* @__PURE__ */ React91.createElement(DynamicSelection, { close: selectionPopoverState.close }))
4808
4909
  ));
4809
4910
  };
4810
4911
  var DynamicSettingsPopover = ({ dynamicTag }) => {
@@ -4813,26 +4914,26 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
4813
4914
  if (!hasDynamicSettings) {
4814
4915
  return null;
4815
4916
  }
4816
- return /* @__PURE__ */ React91.createElement(React91.Fragment, null, /* @__PURE__ */ React91.createElement(IconButton5, { size: SIZE7, ...bindTrigger2(popupState), "aria-label": __61("Settings", "elementor") }, /* @__PURE__ */ React91.createElement(SettingsIcon, { fontSize: SIZE7 })), /* @__PURE__ */ React91.createElement(
4917
+ return /* @__PURE__ */ React91.createElement(React91.Fragment, null, /* @__PURE__ */ React91.createElement(IconButton5, { size: SIZE7, ...bindTrigger2(popupState), "aria-label": __64("Settings", "elementor") }, /* @__PURE__ */ React91.createElement(SettingsIcon, { fontSize: SIZE7 })), /* @__PURE__ */ React91.createElement(
4817
4918
  Popover2,
4818
4919
  {
4819
4920
  disablePortal: true,
4820
4921
  disableScrollLock: true,
4821
- anchorOrigin: { vertical: "bottom", horizontal: "center" },
4922
+ anchorOrigin: { vertical: "bottom", horizontal: "right" },
4923
+ transformOrigin: { vertical: "top", horizontal: "right" },
4822
4924
  PaperProps: {
4823
- sx: { my: 0.5 }
4925
+ sx: { my: 1 }
4824
4926
  },
4825
4927
  ...bindPopover2(popupState)
4826
4928
  },
4827
- /* @__PURE__ */ React91.createElement(
4929
+ /* @__PURE__ */ React91.createElement(PopoverBody, null, /* @__PURE__ */ React91.createElement(
4828
4930
  PopoverHeader3,
4829
4931
  {
4830
4932
  title: dynamicTag.label,
4831
4933
  onClose: popupState.close,
4832
4934
  icon: /* @__PURE__ */ React91.createElement(DatabaseIcon3, { fontSize: SIZE7 })
4833
4935
  }
4834
- ),
4835
- /* @__PURE__ */ React91.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls })
4936
+ ), /* @__PURE__ */ React91.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
4836
4937
  ));
4837
4938
  };
4838
4939
  var DynamicSettings = ({ controls }) => {
@@ -4841,13 +4942,21 @@ var DynamicSettings = ({ controls }) => {
4841
4942
  if (!tabs.length) {
4842
4943
  return null;
4843
4944
  }
4844
- return /* @__PURE__ */ React91.createElement(PopoverScrollableContent2, null, /* @__PURE__ */ React91.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React91.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React91.createElement(Divider8, null), tabs.map(({ value }, index) => {
4845
- return /* @__PURE__ */ React91.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React91.createElement(Stack17, { p: 2, gap: 2 }, value.items.map((item) => {
4846
- if (item.type === "control") {
4847
- return /* @__PURE__ */ React91.createElement(Control3, { key: item.value.bind, control: item.value });
4848
- }
4849
- return null;
4850
- })));
4945
+ return /* @__PURE__ */ React91.createElement(React91.Fragment, null, /* @__PURE__ */ React91.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React91.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React91.createElement(Divider8, null), tabs.map(({ value }, index) => {
4946
+ return /* @__PURE__ */ React91.createElement(
4947
+ TabPanel2,
4948
+ {
4949
+ key: index,
4950
+ sx: { flexGrow: 1, py: 0, overflowY: "auto" },
4951
+ ...getTabPanelProps(index)
4952
+ },
4953
+ /* @__PURE__ */ React91.createElement(Stack17, { p: 2, gap: 2 }, value.items.map((item) => {
4954
+ if (item.type === "control") {
4955
+ return /* @__PURE__ */ React91.createElement(Control3, { key: item.value.bind, control: item.value });
4956
+ }
4957
+ return null;
4958
+ }))
4959
+ );
4851
4960
  }));
4852
4961
  };
4853
4962
  var Control3 = ({ control }) => {
@@ -4910,14 +5019,14 @@ function getDynamicValue(name, settings) {
4910
5019
  import * as React92 from "react";
4911
5020
  import { useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
4912
5021
  import { DatabaseIcon as DatabaseIcon4 } from "@elementor/icons";
4913
- import { __ as __62 } from "@wordpress/i18n";
5022
+ import { __ as __65 } from "@wordpress/i18n";
4914
5023
  var usePropDynamicAction = () => {
4915
5024
  const { propType } = useBoundProp7();
4916
5025
  const visible = !!propType && supportsDynamic(propType);
4917
5026
  return {
4918
5027
  visible,
4919
5028
  icon: DatabaseIcon4,
4920
- title: __62("Dynamic tags", "elementor"),
5029
+ title: __65("Dynamic tags", "elementor"),
4921
5030
  content: ({ close }) => /* @__PURE__ */ React92.createElement(DynamicSelection, { close })
4922
5031
  };
4923
5032
  };
@@ -4950,7 +5059,7 @@ var init = () => {
4950
5059
  // src/reset-style-props.tsx
4951
5060
  import { useBoundProp as useBoundProp8 } from "@elementor/editor-controls";
4952
5061
  import { BrushBigIcon } from "@elementor/icons";
4953
- import { __ as __63 } from "@wordpress/i18n";
5062
+ import { __ as __66 } from "@wordpress/i18n";
4954
5063
  var { registerAction } = controlActionsMenu;
4955
5064
  function initResetStyleProps() {
4956
5065
  registerAction({
@@ -4958,13 +5067,13 @@ function initResetStyleProps() {
4958
5067
  useProps: useResetStyleValueProps
4959
5068
  });
4960
5069
  }
4961
- var EXCLUDED_BINDS = ["order", "flex-grow", "flex-shrink", "flex-basis"];
5070
+ var EXCLUDED_BINDS = ["flex-grow", "flex-shrink", "flex-basis"];
4962
5071
  function useResetStyleValueProps() {
4963
5072
  const isStyle = useIsStyle();
4964
5073
  const { value, setValue, path, bind } = useBoundProp8();
4965
5074
  return {
4966
5075
  visible: isStyle && value !== null && value !== void 0 && path.length <= 2 && !EXCLUDED_BINDS.includes(bind),
4967
- title: __63("Clear", "elementor"),
5076
+ title: __66("Clear", "elementor"),
4968
5077
  icon: BrushBigIcon,
4969
5078
  onClick: () => setValue(null)
4970
5079
  };
@@ -4993,7 +5102,7 @@ var StyledUnstableColorIndicator = styled7(UnstableColorIndicator)(({ theme }) =
4993
5102
  import * as React94 from "react";
4994
5103
  import { createTransformer as createTransformer3 } from "@elementor/editor-canvas";
4995
5104
  import { Stack as Stack19 } from "@elementor/ui";
4996
- import { __ as __64 } from "@wordpress/i18n";
5105
+ import { __ as __67 } from "@wordpress/i18n";
4997
5106
  var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React94.createElement(Stack19, { direction: "row", gap: 10 }, /* @__PURE__ */ React94.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React94.createElement(ItemLabelGradient, { value })));
4998
5107
  var ItemIconGradient = ({ value }) => {
4999
5108
  const gradient = getGradientValue(value);
@@ -5001,9 +5110,9 @@ var ItemIconGradient = ({ value }) => {
5001
5110
  };
5002
5111
  var ItemLabelGradient = ({ value }) => {
5003
5112
  if (value.type === "linear") {
5004
- return /* @__PURE__ */ React94.createElement("span", null, __64("Linear Gradient", "elementor"));
5113
+ return /* @__PURE__ */ React94.createElement("span", null, __67("Linear Gradient", "elementor"));
5005
5114
  }
5006
- return /* @__PURE__ */ React94.createElement("span", null, __64("Radial Gradient", "elementor"));
5115
+ return /* @__PURE__ */ React94.createElement("span", null, __67("Radial Gradient", "elementor"));
5007
5116
  };
5008
5117
  var getGradientValue = (gradient) => {
5009
5118
  const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
@@ -5113,13 +5222,9 @@ function init3() {
5113
5222
  id: "editing-panel-hooks",
5114
5223
  component: EditingPanelHooks
5115
5224
  });
5116
- injectIntoLogic({
5117
- id: "current-user-data",
5118
- component: PrefetchUserData
5119
- });
5120
5225
  init();
5121
5226
  init2();
5122
- if (isExperimentActive17(EXPERIMENTAL_FEATURES.V_3_30)) {
5227
+ if (isExperimentActive18(EXPERIMENTAL_FEATURES.V_3_30)) {
5123
5228
  initResetStyleProps();
5124
5229
  }
5125
5230
  }
@@ -5131,7 +5236,7 @@ var blockV1Panel = () => {
5131
5236
  };
5132
5237
  export {
5133
5238
  EXPERIMENTAL_FEATURES,
5134
- PopoverScrollableContent,
5239
+ PopoverBody,
5135
5240
  controlActionsMenu,
5136
5241
  init3 as init,
5137
5242
  injectIntoClassSelectorActions,