@elementor/editor-editing-panel 1.33.1 → 1.35.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.
package/dist/index.js CHANGED
@@ -922,7 +922,7 @@ var import_editor_elements8 = require("@elementor/editor-elements");
922
922
  var import_editor_panels = require("@elementor/editor-panels");
923
923
  var import_editor_ui3 = require("@elementor/editor-ui");
924
924
  var import_icons23 = require("@elementor/icons");
925
- var import_session4 = require("@elementor/session");
925
+ var import_session5 = require("@elementor/session");
926
926
  var import_ui58 = require("@elementor/ui");
927
927
  var import_i18n46 = require("@wordpress/i18n");
928
928
 
@@ -981,7 +981,7 @@ function EditorPanelErrorFallback() {
981
981
 
982
982
  // src/components/editing-panel-tabs.tsx
983
983
  var React69 = __toESM(require("react"));
984
- var import_react24 = require("react");
984
+ var import_react25 = require("react");
985
985
  var import_ui57 = require("@elementor/ui");
986
986
  var import_i18n45 = require("@wordpress/i18n");
987
987
 
@@ -1024,10 +1024,25 @@ function useScrollDirection() {
1024
1024
  return (0, import_react9.useContext)(ScrollContext)?.direction ?? DEFAULT_SCROLL_DIRECTION;
1025
1025
  }
1026
1026
 
1027
+ // src/hooks/use-state-by-element.ts
1028
+ var import_react10 = require("react");
1029
+ var import_session = require("@elementor/session");
1030
+ var useStateByElement = (key, initialValue) => {
1031
+ const { element } = useElement();
1032
+ const lookup = `elementor/editor-state/${element.id}/${key}`;
1033
+ const storedValue = (0, import_session.getSessionStorageItem)(lookup);
1034
+ const [value, setValue] = (0, import_react10.useState)(storedValue ?? initialValue);
1035
+ const doUpdate = (newValue) => {
1036
+ (0, import_session.setSessionStorageItem)(lookup, newValue);
1037
+ setValue(newValue);
1038
+ };
1039
+ return [value, doUpdate];
1040
+ };
1041
+
1027
1042
  // src/components/settings-tab.tsx
1028
1043
  var React16 = __toESM(require("react"));
1029
1044
  var import_editor_controls4 = require("@elementor/editor-controls");
1030
- var import_session = require("@elementor/session");
1045
+ var import_session2 = require("@elementor/session");
1031
1046
  var import_ui14 = require("@elementor/ui");
1032
1047
 
1033
1048
  // src/controls-registry/control.tsx
@@ -1116,7 +1131,7 @@ var SettingsField = ({ bind, children }) => {
1116
1131
 
1117
1132
  // src/components/section.tsx
1118
1133
  var React14 = __toESM(require("react"));
1119
- var import_react10 = require("react");
1134
+ var import_react11 = require("react");
1120
1135
  var import_ui12 = require("@elementor/ui");
1121
1136
 
1122
1137
  // src/components/collapse-icon.tsx
@@ -1133,8 +1148,8 @@ var CollapseIcon = (0, import_ui11.styled)(import_icons4.ChevronDownIcon, {
1133
1148
 
1134
1149
  // src/components/section.tsx
1135
1150
  function Section({ title, children, defaultExpanded = false }) {
1136
- const [isOpen, setIsOpen] = (0, import_react10.useState)(!!defaultExpanded);
1137
- const id = (0, import_react10.useId)();
1151
+ const [isOpen, setIsOpen] = useStateByElement(title, !!defaultExpanded);
1152
+ const id = (0, import_react11.useId)();
1138
1153
  const labelId = `label-${id}`;
1139
1154
  const contentId = `content-${id}`;
1140
1155
  return /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement(
@@ -1142,7 +1157,7 @@ function Section({ title, children, defaultExpanded = false }) {
1142
1157
  {
1143
1158
  id: labelId,
1144
1159
  "aria-controls": contentId,
1145
- onClick: () => setIsOpen((prev) => !prev),
1160
+ onClick: () => setIsOpen(!isOpen),
1146
1161
  sx: { "&:hover": { backgroundColor: "transparent" } }
1147
1162
  },
1148
1163
  /* @__PURE__ */ React14.createElement(
@@ -1166,7 +1181,7 @@ function SectionsList(props) {
1166
1181
  // src/components/settings-tab.tsx
1167
1182
  var SettingsTab = () => {
1168
1183
  const { elementType, element } = useElement();
1169
- return /* @__PURE__ */ React16.createElement(import_session.SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React16.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
1184
+ return /* @__PURE__ */ React16.createElement(import_session2.SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React16.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
1170
1185
  if (type === "control") {
1171
1186
  return /* @__PURE__ */ React16.createElement(Control2, { key: value.bind, control: value });
1172
1187
  }
@@ -1191,27 +1206,27 @@ var Control2 = ({ control }) => {
1191
1206
 
1192
1207
  // src/components/style-tab.tsx
1193
1208
  var React68 = __toESM(require("react"));
1194
- var import_react23 = require("react");
1209
+ var import_react24 = require("react");
1195
1210
  var import_editor_props7 = require("@elementor/editor-props");
1196
1211
  var import_editor_responsive2 = require("@elementor/editor-responsive");
1197
- var import_session3 = require("@elementor/session");
1212
+ var import_session4 = require("@elementor/session");
1198
1213
  var import_ui56 = require("@elementor/ui");
1199
1214
  var import_i18n44 = require("@wordpress/i18n");
1200
1215
 
1201
1216
  // src/contexts/styles-inheritance-context.tsx
1202
1217
  var React17 = __toESM(require("react"));
1203
- var import_react12 = require("react");
1218
+ var import_react13 = require("react");
1204
1219
  var import_editor_elements4 = require("@elementor/editor-elements");
1205
1220
  var import_editor_props3 = require("@elementor/editor-props");
1206
1221
  var import_editor_responsive = require("@elementor/editor-responsive");
1207
1222
  var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
1208
1223
 
1209
1224
  // src/hooks/use-styles-rerender.ts
1210
- var import_react11 = require("react");
1225
+ var import_react12 = require("react");
1211
1226
  var useStylesRerender = () => {
1212
1227
  const { provider } = useStyle();
1213
- const [, reRender] = (0, import_react11.useReducer)((p) => !p, false);
1214
- (0, import_react11.useEffect)(() => provider?.subscribe(reRender), [provider]);
1228
+ const [, reRender] = (0, import_react12.useReducer)((p) => !p, false);
1229
+ (0, import_react12.useEffect)(() => provider?.subscribe(reRender), [provider]);
1215
1230
  };
1216
1231
 
1217
1232
  // src/styles-inheritance/create-snapshots-manager.ts
@@ -1372,7 +1387,7 @@ function buildStyleVariantsByMetaMapping(styleDefs) {
1372
1387
  }
1373
1388
 
1374
1389
  // src/contexts/styles-inheritance-context.tsx
1375
- var Context4 = (0, import_react12.createContext)(null);
1390
+ var Context4 = (0, import_react13.createContext)(null);
1376
1391
  function StyleInheritanceProvider({ children }) {
1377
1392
  const styleDefs = useAppliedStyles();
1378
1393
  const breakpointsTree = (0, import_editor_responsive.getBreakpointsTree)();
@@ -1380,7 +1395,7 @@ function StyleInheritanceProvider({ children }) {
1380
1395
  return /* @__PURE__ */ React17.createElement(Context4.Provider, { value: { getSnapshot } }, children);
1381
1396
  }
1382
1397
  function useStylesInheritanceFields(fields) {
1383
- const context = (0, import_react12.useContext)(Context4);
1398
+ const context = (0, import_react13.useContext)(Context4);
1384
1399
  const { meta } = useStyle();
1385
1400
  if (!context) {
1386
1401
  throw new Error("useStylesInheritanceFields must be used within a StyleInheritanceProvider");
@@ -1414,10 +1429,10 @@ var useBaseStyles = () => {
1414
1429
  };
1415
1430
 
1416
1431
  // src/hooks/use-active-style-def-id.ts
1417
- var import_react13 = require("react");
1432
+ var import_react14 = require("react");
1418
1433
  var import_editor_elements5 = require("@elementor/editor-elements");
1419
1434
  function useActiveStyleDefId(classProp) {
1420
- const [activeStyledDefId, setActiveStyledDefId] = (0, import_react13.useState)(null);
1435
+ const [activeStyledDefId, setActiveStyledDefId] = (0, import_react14.useState)(null);
1421
1436
  const appliedClassesIds = useAppliedClassesIds2(classProp)?.value || [];
1422
1437
  const fallback = useFirstAppliedClass(appliedClassesIds);
1423
1438
  const activeAndAppliedClassId = useActiveAndAppliedClassId(activeStyledDefId, appliedClassesIds);
@@ -1447,7 +1462,7 @@ var import_editor_controls6 = require("@elementor/editor-controls");
1447
1462
  var import_editor_styles3 = require("@elementor/editor-styles");
1448
1463
 
1449
1464
  // src/hooks/use-styles-fields.ts
1450
- var import_react14 = require("react");
1465
+ var import_react15 = require("react");
1451
1466
  var import_editor_elements6 = require("@elementor/editor-elements");
1452
1467
  var import_editor_styles = require("@elementor/editor-styles");
1453
1468
  var import_editor_styles_repository6 = require("@elementor/editor-styles-repository");
@@ -1501,7 +1516,7 @@ function getProps({ styleId, elementId, provider, meta, propNames }) {
1501
1516
  );
1502
1517
  }
1503
1518
  function useUndoableCreateElementStyle() {
1504
- return (0, import_react14.useMemo)(() => {
1519
+ return (0, import_react15.useMemo)(() => {
1505
1520
  return (0, import_editor_v1_adapters.undoable)(
1506
1521
  {
1507
1522
  do: (payload) => {
@@ -1529,7 +1544,7 @@ function useUndoableCreateElementStyle() {
1529
1544
  }, []);
1530
1545
  }
1531
1546
  function useUndoableUpdateStyle() {
1532
- return (0, import_react14.useMemo)(() => {
1547
+ return (0, import_react15.useMemo)(() => {
1533
1548
  return (0, import_editor_v1_adapters.undoable)(
1534
1549
  {
1535
1550
  do: ({ elementId, styleId, provider, meta, props }) => {
@@ -1584,31 +1599,45 @@ function useStylesField(propName) {
1584
1599
 
1585
1600
  // src/styles-inheritance/styles-inheritance-indicator.tsx
1586
1601
  var React19 = __toESM(require("react"));
1587
- var import_react17 = require("react");
1602
+ var import_react18 = require("react");
1588
1603
  var import_editor_controls5 = require("@elementor/editor-controls");
1589
1604
  var import_editor_styles_repository7 = require("@elementor/editor-styles-repository");
1590
1605
  var import_ui16 = require("@elementor/ui");
1591
1606
  var import_i18n5 = require("@wordpress/i18n");
1592
1607
 
1593
- // src/sync/get-experiments-config.ts
1594
- var getExperimentsConfig = () => {
1608
+ // src/sync/get-elementor-globals.ts
1609
+ var getElementorConfig = () => {
1610
+ const extendedWindow = window;
1611
+ return extendedWindow.elementor?.config ?? {};
1612
+ };
1613
+ var getElementorFrontendConfig = () => {
1595
1614
  const extendedWindow = window;
1596
- return extendedWindow.elementorCommon?.config?.experimentalFeatures ?? {};
1615
+ return extendedWindow.elementorFrontend?.config ?? {};
1616
+ };
1617
+ var getElementorCommonConfig = () => {
1618
+ const extendedWindow = window;
1619
+ return extendedWindow.elementorCommon?.config ?? {};
1620
+ };
1621
+
1622
+ // src/sync/is-experiment-active.ts
1623
+ var isExperimentActive = (experiment) => {
1624
+ const allFeatures = getElementorCommonConfig()?.experimentalFeatures ?? {};
1625
+ return !!allFeatures?.[experiment];
1597
1626
  };
1598
1627
 
1599
1628
  // src/styles-inheritance/styles-inheritance-infotip.tsx
1600
1629
  var React18 = __toESM(require("react"));
1601
- var import_react16 = require("react");
1630
+ var import_react17 = require("react");
1602
1631
  var import_editor_canvas = require("@elementor/editor-canvas");
1603
1632
  var import_editor_styles2 = require("@elementor/editor-styles");
1604
1633
  var import_ui15 = require("@elementor/ui");
1605
1634
 
1606
1635
  // src/hooks/use-normalized-inheritance-chain-items.tsx
1607
- var import_react15 = require("react");
1636
+ var import_react16 = require("react");
1608
1637
  var MAXIMUM_ITEMS = 2;
1609
1638
  var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
1610
- const [items3, setItems] = (0, import_react15.useState)([]);
1611
- (0, import_react15.useEffect)(() => {
1639
+ const [items3, setItems] = (0, import_react16.useState)([]);
1640
+ (0, import_react16.useEffect)(() => {
1612
1641
  (async () => {
1613
1642
  const normalizedItems = await Promise.all(
1614
1643
  inheritanceChain.filter((item) => item.style?.label).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
@@ -1645,7 +1674,7 @@ var getTransformedValue = async (item, bind, resolve) => {
1645
1674
 
1646
1675
  // src/styles-inheritance/styles-inheritance-infotip.tsx
1647
1676
  var StyleIndicatorInfotip = ({ inheritanceChain, bind }) => {
1648
- const resolve = (0, import_react16.useMemo)(() => {
1677
+ const resolve = (0, import_react17.useMemo)(() => {
1649
1678
  const stylesSchema = (0, import_editor_styles2.getStylesSchema)();
1650
1679
  return (0, import_editor_canvas.createPropsResolver)({
1651
1680
  transformers: import_editor_canvas.styleTransformersRegistry,
@@ -1663,7 +1692,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, bind }) => {
1663
1692
 
1664
1693
  // src/styles-inheritance/styles-inheritance-indicator.tsx
1665
1694
  var StylesInheritanceIndicator = () => {
1666
- const [open, setOpen] = (0, import_react17.useState)(false);
1695
+ const [open, setOpen] = (0, import_react18.useState)(false);
1667
1696
  const { value, path } = (0, import_editor_controls5.useBoundProp)();
1668
1697
  const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
1669
1698
  const [bind] = path;
@@ -1680,7 +1709,7 @@ var StylesInheritanceIndicator = () => {
1680
1709
  const hasValue = value !== null && value !== void 0;
1681
1710
  const label = getLabel({ isFinalValue, hasValue });
1682
1711
  const variantType = getVariant({ isFinalValue, hasValue, currentStyleProvider });
1683
- const { e_indications_popover: eIndicationsPopover } = getExperimentsConfig();
1712
+ const eIndicationsPopover = isExperimentActive("e_indications_popover");
1684
1713
  if (!eIndicationsPopover) {
1685
1714
  return /* @__PURE__ */ React19.createElement(StyleIndicator, { variant: variantType, "aria-label": label });
1686
1715
  }
@@ -1846,8 +1875,8 @@ var import_i18n8 = require("@wordpress/i18n");
1846
1875
  // src/hooks/use-direction.ts
1847
1876
  var import_ui23 = require("@elementor/ui");
1848
1877
  function useDirection() {
1849
- const theme = (0, import_ui23.useTheme)(), extendedWindow = window;
1850
- const isUiRtl = "rtl" === theme.direction, isSiteRtl = !!extendedWindow.elementorFrontend?.config?.is_rtl;
1878
+ const theme = (0, import_ui23.useTheme)();
1879
+ const isUiRtl = "rtl" === theme.direction, isSiteRtl = !!getElementorFrontendConfig()?.is_rtl;
1851
1880
  return { isSiteRtl, isUiRtl };
1852
1881
  }
1853
1882
 
@@ -2024,7 +2053,7 @@ var import_i18n11 = require("@wordpress/i18n");
2024
2053
 
2025
2054
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
2026
2055
  var React33 = __toESM(require("react"));
2027
- var import_react18 = require("react");
2056
+ var import_react19 = require("react");
2028
2057
  var import_ui26 = require("@elementor/ui");
2029
2058
  var CLOCKWISE_ANGLES = {
2030
2059
  row: 0,
@@ -2045,7 +2074,7 @@ var RotatedIcon = ({
2045
2074
  offset = 0,
2046
2075
  disableRotationForReversed = false
2047
2076
  }) => {
2048
- const rotate = (0, import_react18.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
2077
+ const rotate = (0, import_react19.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
2049
2078
  rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
2050
2079
  return /* @__PURE__ */ React33.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
2051
2080
  };
@@ -2244,7 +2273,7 @@ var React37 = __toESM(require("react"));
2244
2273
  var import_editor_controls17 = require("@elementor/editor-controls");
2245
2274
  var import_ui30 = require("@elementor/ui");
2246
2275
  var import_i18n14 = require("@wordpress/i18n");
2247
- var displayFieldOptions = [
2276
+ var displayFieldItems = [
2248
2277
  {
2249
2278
  value: "block",
2250
2279
  renderContent: () => (0, import_i18n14.__)("Block", "elementor"),
@@ -2262,17 +2291,27 @@ var displayFieldOptions = [
2262
2291
  renderContent: () => (0, import_i18n14.__)("In-blk", "elementor"),
2263
2292
  label: (0, import_i18n14.__)("Inline-block", "elementor"),
2264
2293
  showTooltip: true
2265
- },
2266
- {
2294
+ }
2295
+ ];
2296
+ var DisplayField = () => {
2297
+ const isDisplayNoneFeatureActive = isExperimentActive("e_v_3_30");
2298
+ const items3 = [...displayFieldItems];
2299
+ if (isDisplayNoneFeatureActive) {
2300
+ items3.push({
2301
+ value: "none",
2302
+ renderContent: () => (0, import_i18n14.__)("None", "elementor"),
2303
+ label: (0, import_i18n14.__)("None", "elementor"),
2304
+ showTooltip: true
2305
+ });
2306
+ }
2307
+ items3.push({
2267
2308
  value: "inline-flex",
2268
2309
  renderContent: () => (0, import_i18n14.__)("In-flx", "elementor"),
2269
2310
  label: (0, import_i18n14.__)("Inline-flex", "elementor"),
2270
2311
  showTooltip: true
2271
- }
2272
- ];
2273
- var DisplayField = () => {
2312
+ });
2274
2313
  const placeholder = useDisplayPlaceholderValue();
2275
- return /* @__PURE__ */ React37.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React37.createElement(import_ui30.Stack, { gap: 0.75 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n14.__)("Display", "elementor")), /* @__PURE__ */ React37.createElement(import_editor_controls17.ToggleControl, { options: displayFieldOptions, fullWidth: true })));
2314
+ return /* @__PURE__ */ React37.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React37.createElement(import_ui30.Stack, { gap: 0.75 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n14.__)("Display", "elementor")), /* @__PURE__ */ React37.createElement(import_editor_controls17.ToggleControl, { options: items3, maxItems: 4, fullWidth: true })));
2276
2315
  };
2277
2316
  var useDisplayPlaceholderValue = () => useStylesInheritanceField("display")[0]?.value ?? void 0;
2278
2317
 
@@ -2321,7 +2360,7 @@ var FlexDirectionField = () => {
2321
2360
 
2322
2361
  // src/components/style-sections/layout-section/flex-order-field.tsx
2323
2362
  var React39 = __toESM(require("react"));
2324
- var import_react19 = require("react");
2363
+ var import_react20 = require("react");
2325
2364
  var import_editor_controls19 = require("@elementor/editor-controls");
2326
2365
  var import_icons12 = require("@elementor/icons");
2327
2366
  var import_ui32 = require("@elementor/ui");
@@ -2357,7 +2396,7 @@ var items = [
2357
2396
  ];
2358
2397
  var FlexOrderField = () => {
2359
2398
  const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
2360
- const [groupControlValue, setGroupControlValue] = (0, import_react19.useState)(getGroupControlValue(order?.value || null));
2399
+ const [groupControlValue, setGroupControlValue] = (0, import_react20.useState)(getGroupControlValue(order?.value || null));
2361
2400
  const handleToggleButtonChange = (group) => {
2362
2401
  setGroupControlValue(group);
2363
2402
  if (!group || group === CUSTOM) {
@@ -2395,7 +2434,7 @@ var getGroupControlValue = (order) => {
2395
2434
 
2396
2435
  // src/components/style-sections/layout-section/flex-size-field.tsx
2397
2436
  var React40 = __toESM(require("react"));
2398
- var import_react20 = require("react");
2437
+ var import_react21 = require("react");
2399
2438
  var import_editor_controls20 = require("@elementor/editor-controls");
2400
2439
  var import_editor_props6 = require("@elementor/editor-props");
2401
2440
  var import_icons13 = require("@elementor/icons");
@@ -2428,7 +2467,7 @@ var FlexSizeField = () => {
2428
2467
  const grow = fields?.["flex-grow"]?.value || null;
2429
2468
  const shrink = fields?.["flex-shrink"]?.value || null;
2430
2469
  const basis = fields?.["flex-basis"]?.value || null;
2431
- const currentGroup = (0, import_react20.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react20.useState)(currentGroup);
2470
+ const currentGroup = (0, import_react21.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react21.useState)(currentGroup);
2432
2471
  const onChangeGroup = (group = null) => {
2433
2472
  setActiveGroup(group);
2434
2473
  if (!group || group === "custom") {
@@ -2605,7 +2644,7 @@ var shouldDisplayFlexFields = (display, local) => {
2605
2644
 
2606
2645
  // src/components/style-sections/position-section/position-section.tsx
2607
2646
  var React49 = __toESM(require("react"));
2608
- var import_session2 = require("@elementor/session");
2647
+ var import_session3 = require("@elementor/session");
2609
2648
 
2610
2649
  // src/components/style-sections/position-section/dimensions-field.tsx
2611
2650
  var React45 = __toESM(require("react"));
@@ -2675,7 +2714,7 @@ var PositionSection = () => {
2675
2714
  "inset-inline-end"
2676
2715
  ]);
2677
2716
  const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
2678
- const { e_css_id: eCssId } = getExperimentsConfig();
2717
+ const isCssIdFeatureActive = isExperimentActive("e_v_3_30");
2679
2718
  const onPositionChange = (newPosition, previousPosition) => {
2680
2719
  if (newPosition === "static") {
2681
2720
  if (dimensionsValues) {
@@ -2695,13 +2734,13 @@ var PositionSection = () => {
2695
2734
  }
2696
2735
  };
2697
2736
  const isNotStatic = positionValue && positionValue?.value !== "static";
2698
- return /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React49.createElement(React49.Fragment, null, /* @__PURE__ */ React49.createElement(DimensionsField, null), /* @__PURE__ */ React49.createElement(ZIndexField, null)) : null, eCssId && /* @__PURE__ */ React49.createElement(React49.Fragment, null, /* @__PURE__ */ React49.createElement(PanelDivider, null), /* @__PURE__ */ React49.createElement(OffsetField, null)));
2737
+ return /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React49.createElement(React49.Fragment, null, /* @__PURE__ */ React49.createElement(DimensionsField, null), /* @__PURE__ */ React49.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React49.createElement(React49.Fragment, null, /* @__PURE__ */ React49.createElement(PanelDivider, null), /* @__PURE__ */ React49.createElement(OffsetField, null)));
2699
2738
  };
2700
2739
  var usePersistDimensions = () => {
2701
2740
  const { id: styleDefID, meta } = useStyle();
2702
2741
  const styleVariantPath = `styles/${styleDefID}/${meta.breakpoint || "desktop"}/${meta.state || "null"}`;
2703
2742
  const dimensionsPath = `${styleVariantPath}/dimensions`;
2704
- return (0, import_session2.useSessionStorage)(dimensionsPath);
2743
+ return (0, import_session3.useSessionStorage)(dimensionsPath);
2705
2744
  };
2706
2745
 
2707
2746
  // src/components/style-sections/size-section/size-section.tsx
@@ -2783,11 +2822,11 @@ var React67 = __toESM(require("react"));
2783
2822
 
2784
2823
  // src/components/collapsible-content.tsx
2785
2824
  var React53 = __toESM(require("react"));
2786
- var import_react21 = require("react");
2825
+ var import_react22 = require("react");
2787
2826
  var import_ui43 = require("@elementor/ui");
2788
2827
  var import_i18n29 = require("@wordpress/i18n");
2789
2828
  var CollapsibleContent = ({ children, defaultOpen = false }) => {
2790
- const [open, setOpen] = (0, import_react21.useState)(defaultOpen);
2829
+ const [open, setOpen] = (0, import_react22.useState)(defaultOpen);
2791
2830
  const handleToggle = () => {
2792
2831
  setOpen((prevOpen) => !prevOpen);
2793
2832
  };
@@ -2813,16 +2852,8 @@ var import_ui44 = require("@elementor/ui");
2813
2852
  var import_i18n31 = require("@wordpress/i18n");
2814
2853
 
2815
2854
  // src/components/style-sections/typography-section/hooks/use-font-families.ts
2816
- var import_react22 = require("react");
2855
+ var import_react23 = require("react");
2817
2856
  var import_i18n30 = require("@wordpress/i18n");
2818
-
2819
- // src/sync/get-elementor-config.ts
2820
- var getElementorConfig = () => {
2821
- const extendedWindow = window;
2822
- return extendedWindow.elementor?.config ?? {};
2823
- };
2824
-
2825
- // src/components/style-sections/typography-section/hooks/use-font-families.ts
2826
2857
  var supportedCategories = {
2827
2858
  system: (0, import_i18n30.__)("System", "elementor"),
2828
2859
  custom: (0, import_i18n30.__)("Custom Fonts", "elementor"),
@@ -2838,7 +2869,7 @@ var getFontFamilies = () => {
2838
2869
  };
2839
2870
  var useFontFamilies = () => {
2840
2871
  const fontFamilies = getFontFamilies();
2841
- return (0, import_react22.useMemo)(() => {
2872
+ return (0, import_react23.useMemo)(() => {
2842
2873
  const categoriesOrder = ["system", "custom", "googlefonts"];
2843
2874
  return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
2844
2875
  if (!supportedCategories[category]) {
@@ -2863,7 +2894,7 @@ var FontFamilyField = () => {
2863
2894
  if (fontFamilies.length === 0) {
2864
2895
  return null;
2865
2896
  }
2866
- return /* @__PURE__ */ React54.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, (0, import_i18n31.__)("Font family", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React54.createElement(import_editor_controls32.FontFamilyControl, { fontFamilies }))));
2897
+ return /* @__PURE__ */ React54.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, (0, import_i18n31.__)("Font family", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React54.createElement(import_editor_controls32.FontFamilyControl, { fontFamilies }))));
2867
2898
  };
2868
2899
 
2869
2900
  // src/components/style-sections/typography-section/font-size-field.tsx
@@ -3142,7 +3173,7 @@ var stickyHeaderStyles = {
3142
3173
  var StyleTab = () => {
3143
3174
  const currentClassesProp = useCurrentClassesProp();
3144
3175
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
3145
- const [activeStyleState, setActiveStyleState] = (0, import_react23.useState)(null);
3176
+ const [activeStyleState, setActiveStyleState] = (0, import_react24.useState)(null);
3146
3177
  const breakpoint = (0, import_editor_responsive2.useActiveBreakpoint)();
3147
3178
  return /* @__PURE__ */ React68.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React68.createElement(
3148
3179
  StyleProvider,
@@ -3155,7 +3186,7 @@ var StyleTab = () => {
3155
3186
  },
3156
3187
  setMetaState: setActiveStyleState
3157
3188
  },
3158
- /* @__PURE__ */ React68.createElement(import_session3.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React68.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React68.createElement(ClassesHeader, null, /* @__PURE__ */ React68.createElement(CssClassSelector, null), /* @__PURE__ */ React68.createElement(import_ui56.Divider, null)), /* @__PURE__ */ React68.createElement(SectionsList, null, /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Layout", "elementor") }, /* @__PURE__ */ React68.createElement(LayoutSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Spacing", "elementor") }, /* @__PURE__ */ React68.createElement(SpacingSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Size", "elementor") }, /* @__PURE__ */ React68.createElement(SizeSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Position", "elementor") }, /* @__PURE__ */ React68.createElement(PositionSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Typography", "elementor") }, /* @__PURE__ */ React68.createElement(TypographySection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Background", "elementor") }, /* @__PURE__ */ React68.createElement(BackgroundSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Border", "elementor") }, /* @__PURE__ */ React68.createElement(BorderSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Effects", "elementor") }, /* @__PURE__ */ React68.createElement(EffectsSection, null)))))
3189
+ /* @__PURE__ */ React68.createElement(import_session4.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React68.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React68.createElement(ClassesHeader, null, /* @__PURE__ */ React68.createElement(CssClassSelector, null), /* @__PURE__ */ React68.createElement(import_ui56.Divider, null)), /* @__PURE__ */ React68.createElement(SectionsList, null, /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Layout", "elementor") }, /* @__PURE__ */ React68.createElement(LayoutSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Spacing", "elementor") }, /* @__PURE__ */ React68.createElement(SpacingSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Size", "elementor") }, /* @__PURE__ */ React68.createElement(SizeSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Position", "elementor") }, /* @__PURE__ */ React68.createElement(PositionSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Typography", "elementor") }, /* @__PURE__ */ React68.createElement(TypographySection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Background", "elementor") }, /* @__PURE__ */ React68.createElement(BackgroundSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Border", "elementor") }, /* @__PURE__ */ React68.createElement(BorderSection, null)), /* @__PURE__ */ React68.createElement(Section, { title: (0, import_i18n44.__)("Effects", "elementor") }, /* @__PURE__ */ React68.createElement(EffectsSection, null)))))
3159
3190
  ));
3160
3191
  };
3161
3192
  function ClassesHeader({ children }) {
@@ -3176,13 +3207,32 @@ function useCurrentClassesProp() {
3176
3207
  // src/components/editing-panel-tabs.tsx
3177
3208
  var EditingPanelTabs = () => {
3178
3209
  const { element } = useElement();
3179
- const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui57.useTabs)("settings");
3180
3210
  return (
3181
3211
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
3182
3212
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
3183
- /* @__PURE__ */ React69.createElement(import_react24.Fragment, { key: element.id }, /* @__PURE__ */ React69.createElement(ScrollProvider, null, /* @__PURE__ */ React69.createElement(import_ui57.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React69.createElement(import_ui57.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React69.createElement(import_ui57.Tabs, { variant: "fullWidth", size: "small", sx: { mt: 0.5 }, ...getTabsProps() }, /* @__PURE__ */ React69.createElement(import_ui57.Tab, { label: (0, import_i18n45.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React69.createElement(import_ui57.Tab, { label: (0, import_i18n45.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React69.createElement(import_ui57.Divider, null)), /* @__PURE__ */ React69.createElement(import_ui57.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React69.createElement(SettingsTab, null)), /* @__PURE__ */ React69.createElement(import_ui57.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React69.createElement(StyleTab, null)))))
3213
+ /* @__PURE__ */ React69.createElement(import_react25.Fragment, { key: element.id }, /* @__PURE__ */ React69.createElement(PanelTabContent, null))
3184
3214
  );
3185
3215
  };
3216
+ var PanelTabContent = () => {
3217
+ const defaultComponentTab = "settings";
3218
+ const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
3219
+ const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui57.useTabs)(currentTab);
3220
+ return /* @__PURE__ */ React69.createElement(ScrollProvider, null, /* @__PURE__ */ React69.createElement(import_ui57.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React69.createElement(import_ui57.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React69.createElement(
3221
+ import_ui57.Tabs,
3222
+ {
3223
+ variant: "fullWidth",
3224
+ size: "small",
3225
+ sx: { mt: 0.5 },
3226
+ ...getTabsProps(),
3227
+ onChange: (_, newValue) => {
3228
+ getTabsProps().onChange(_, newValue);
3229
+ setCurrentTab(newValue);
3230
+ }
3231
+ },
3232
+ /* @__PURE__ */ React69.createElement(import_ui57.Tab, { label: (0, import_i18n45.__)("General", "elementor"), ...getTabProps("settings") }),
3233
+ /* @__PURE__ */ React69.createElement(import_ui57.Tab, { label: (0, import_i18n45.__)("Style", "elementor"), ...getTabProps("style") })
3234
+ ), /* @__PURE__ */ React69.createElement(import_ui57.Divider, null)), /* @__PURE__ */ React69.createElement(import_ui57.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React69.createElement(SettingsTab, null)), /* @__PURE__ */ React69.createElement(import_ui57.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React69.createElement(StyleTab, null))));
3235
+ };
3186
3236
 
3187
3237
  // src/components/editing-panel.tsx
3188
3238
  var { useMenuItems } = controlActionsMenu;
@@ -3194,7 +3244,7 @@ var EditingPanel = () => {
3194
3244
  return null;
3195
3245
  }
3196
3246
  const panelTitle = (0, import_i18n46.__)("Edit %s", "elementor").replace("%s", elementType.title);
3197
- return /* @__PURE__ */ React70.createElement(import_ui58.ErrorBoundary, { fallback: /* @__PURE__ */ React70.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React70.createElement(import_session4.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React70.createElement(import_editor_ui3.ThemeProvider, null, /* @__PURE__ */ React70.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React70.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React70.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React70.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React70.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React70.createElement(import_editor_controls45.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React70.createElement(import_editor_controls45.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React70.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React70.createElement(EditingPanelTabs, null)))))))));
3247
+ return /* @__PURE__ */ React70.createElement(import_ui58.ErrorBoundary, { fallback: /* @__PURE__ */ React70.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React70.createElement(import_session5.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React70.createElement(import_editor_ui3.ThemeProvider, null, /* @__PURE__ */ React70.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React70.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React70.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React70.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React70.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React70.createElement(import_editor_controls45.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React70.createElement(import_editor_controls45.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React70.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React70.createElement(EditingPanelTabs, null)))))))));
3198
3248
  };
3199
3249
 
3200
3250
  // src/panel.ts
@@ -3210,7 +3260,7 @@ var import_editor_panels3 = require("@elementor/editor-panels");
3210
3260
  var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
3211
3261
 
3212
3262
  // src/hooks/use-open-editor-panel.ts
3213
- var import_react25 = require("react");
3263
+ var import_react26 = require("react");
3214
3264
  var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
3215
3265
 
3216
3266
  // src/sync/is-atomic-widget-selected.ts
@@ -3227,7 +3277,7 @@ var isAtomicWidgetSelected = () => {
3227
3277
  // src/hooks/use-open-editor-panel.ts
3228
3278
  var useOpenEditorPanel = () => {
3229
3279
  const { open } = usePanelActions();
3230
- (0, import_react25.useEffect)(() => {
3280
+ (0, import_react26.useEffect)(() => {
3231
3281
  return (0, import_editor_v1_adapters3.__privateListenTo)((0, import_editor_v1_adapters3.commandStartEvent)("panel/editor/open"), () => {
3232
3282
  if (isAtomicWidgetSelected()) {
3233
3283
  open();
@@ -3258,11 +3308,11 @@ var import_ui59 = require("@elementor/ui");
3258
3308
  var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React71.createElement(import_ui59.Stack, { alignItems, gap, p }, children);
3259
3309
 
3260
3310
  // src/hooks/use-persist-dynamic-value.ts
3261
- var import_session5 = require("@elementor/session");
3311
+ var import_session6 = require("@elementor/session");
3262
3312
  var usePersistDynamicValue = (propKey) => {
3263
3313
  const { element } = useElement();
3264
3314
  const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
3265
- return (0, import_session5.useSessionStorage)(prefixedKey);
3315
+ return (0, import_session6.useSessionStorage)(prefixedKey);
3266
3316
  };
3267
3317
 
3268
3318
  // src/dynamics/dynamic-control.tsx
@@ -3270,10 +3320,10 @@ var React72 = __toESM(require("react"));
3270
3320
  var import_editor_controls47 = require("@elementor/editor-controls");
3271
3321
 
3272
3322
  // src/dynamics/hooks/use-dynamic-tag.ts
3273
- var import_react27 = require("react");
3323
+ var import_react28 = require("react");
3274
3324
 
3275
3325
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
3276
- var import_react26 = require("react");
3326
+ var import_react27 = require("react");
3277
3327
  var import_editor_controls46 = require("@elementor/editor-controls");
3278
3328
 
3279
3329
  // src/dynamics/sync/get-elementor-config.ts
@@ -3325,7 +3375,7 @@ var usePropDynamicTags = () => {
3325
3375
  const propDynamicType = getDynamicPropType(propType);
3326
3376
  categories = propDynamicType?.settings.categories || [];
3327
3377
  }
3328
- return (0, import_react26.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
3378
+ return (0, import_react27.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
3329
3379
  };
3330
3380
  var getDynamicTagsByCategories = (categories) => {
3331
3381
  const dynamicTags = getAtomicDynamicTags();
@@ -3341,7 +3391,7 @@ var getDynamicTagsByCategories = (categories) => {
3341
3391
  // src/dynamics/hooks/use-dynamic-tag.ts
3342
3392
  var useDynamicTag = (tagName) => {
3343
3393
  const dynamicTags = usePropDynamicTags();
3344
- return (0, import_react27.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
3394
+ return (0, import_react28.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
3345
3395
  };
3346
3396
 
3347
3397
  // src/dynamics/dynamic-control.tsx
@@ -3370,14 +3420,14 @@ var DynamicControl = ({ bind, children }) => {
3370
3420
 
3371
3421
  // src/dynamics/components/dynamic-selection.tsx
3372
3422
  var React73 = __toESM(require("react"));
3373
- var import_react28 = require("react");
3423
+ var import_react29 = require("react");
3374
3424
  var import_editor_controls48 = require("@elementor/editor-controls");
3375
3425
  var import_icons24 = require("@elementor/icons");
3376
3426
  var import_ui60 = require("@elementor/ui");
3377
3427
  var import_i18n47 = require("@wordpress/i18n");
3378
3428
  var SIZE3 = "tiny";
3379
3429
  var DynamicSelection = ({ onSelect }) => {
3380
- const [searchValue, setSearchValue] = (0, import_react28.useState)("");
3430
+ const [searchValue, setSearchValue] = (0, import_react29.useState)("");
3381
3431
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
3382
3432
  const { value: anyValue } = (0, import_editor_controls48.useBoundProp)();
3383
3433
  const { bind, value: dynamicValue, setValue } = (0, import_editor_controls48.useBoundProp)(dynamicPropTypeUtil);
@@ -3395,7 +3445,7 @@ var DynamicSelection = ({ onSelect }) => {
3395
3445
  setValue({ name: value, settings: { label } });
3396
3446
  onSelect?.();
3397
3447
  };
3398
- return /* @__PURE__ */ React73.createElement(import_ui60.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React73.createElement(NoDynamicTags, null) : /* @__PURE__ */ React73.createElement(import_react28.Fragment, null, /* @__PURE__ */ React73.createElement(import_ui60.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React73.createElement(
3448
+ return /* @__PURE__ */ React73.createElement(import_ui60.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React73.createElement(NoDynamicTags, null) : /* @__PURE__ */ React73.createElement(import_react29.Fragment, null, /* @__PURE__ */ React73.createElement(import_ui60.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React73.createElement(
3399
3449
  import_ui60.TextField,
3400
3450
  {
3401
3451
  fullWidth: true,
@@ -3407,7 +3457,7 @@ var DynamicSelection = ({ onSelect }) => {
3407
3457
  startAdornment: /* @__PURE__ */ React73.createElement(import_ui60.InputAdornment, { position: "start" }, /* @__PURE__ */ React73.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
3408
3458
  }
3409
3459
  }
3410
- )), /* @__PURE__ */ React73.createElement(import_ui60.Divider, null), /* @__PURE__ */ React73.createElement(import_ui60.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React73.createElement(import_ui60.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React73.createElement(import_react28.Fragment, { key: index }, /* @__PURE__ */ React73.createElement(
3460
+ )), /* @__PURE__ */ React73.createElement(import_ui60.Divider, null), /* @__PURE__ */ React73.createElement(import_ui60.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React73.createElement(import_ui60.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React73.createElement(import_react29.Fragment, { key: index }, /* @__PURE__ */ React73.createElement(
3411
3461
  import_ui60.MenuSubheader,
3412
3462
  {
3413
3463
  sx: { px: 1.5, typography: "caption", color: "text.tertiary" }