@elementor/editor-editing-panel 4.3.0-1060 → 4.3.0-1062

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
@@ -5741,7 +5741,7 @@ function PseudoStateMenuItems({ states, activeState, onSelectState, onClose }) {
5741
5741
  // src/init.ts
5742
5742
  var import_editor = require("@elementor/editor");
5743
5743
  var import_editor_panels3 = require("@elementor/editor-panels");
5744
- var import_editor_v1_adapters12 = require("@elementor/editor-v1-adapters");
5744
+ var import_editor_v1_adapters13 = require("@elementor/editor-v1-adapters");
5745
5745
 
5746
5746
  // src/hooks/use-open-editor-panel.ts
5747
5747
  var import_react38 = require("react");
@@ -5916,7 +5916,7 @@ var buildItemModel = (position, showIcon) => {
5916
5916
  };
5917
5917
  };
5918
5918
  var useActions = () => {
5919
- const addItem = ({
5919
+ const addItem2 = ({
5920
5920
  accordionId,
5921
5921
  existingTitles,
5922
5922
  items: items3,
@@ -5949,19 +5949,19 @@ var useActions = () => {
5949
5949
  titles.push(getItemTitle(position));
5950
5950
  });
5951
5951
  };
5952
- const removeItem = ({ items: items3 }) => {
5952
+ const removeItem2 = ({ items: items3 }) => {
5953
5953
  (0, import_editor_elements17.removeElements)({
5954
5954
  title: (0, import_i18n68.__)("Accordion", "elementor"),
5955
5955
  elementIds: items3.map(({ item }) => item.id)
5956
5956
  });
5957
5957
  };
5958
- const duplicateItem = ({ items: items3 }) => {
5958
+ const duplicateItem2 = ({ items: items3 }) => {
5959
5959
  (0, import_editor_elements17.duplicateElements)({
5960
5960
  title: (0, import_i18n68.__)("Duplicate Accordion Item", "elementor"),
5961
5961
  elementIds: items3.map(({ item }) => item.id)
5962
5962
  });
5963
5963
  };
5964
- const moveItem = ({
5964
+ const moveItem2 = ({
5965
5965
  accordionId,
5966
5966
  movedElementId,
5967
5967
  toIndex
@@ -5983,10 +5983,10 @@ var useActions = () => {
5983
5983
  });
5984
5984
  };
5985
5985
  return {
5986
- addItem,
5987
- removeItem,
5988
- duplicateItem,
5989
- moveItem
5986
+ addItem: addItem2,
5987
+ removeItem: removeItem2,
5988
+ duplicateItem: duplicateItem2,
5989
+ moveItem: moveItem2
5990
5990
  };
5991
5991
  };
5992
5992
 
@@ -6072,7 +6072,7 @@ function useShowIconWriteThrough(accordionId, showIcon) {
6072
6072
  // src/controls-registry/element-controls/accordion-items-control/accordion-items-control.tsx
6073
6073
  var AccordionItemsControl = ({ label }) => {
6074
6074
  const { element, settings } = useElement();
6075
- const { addItem, duplicateItem, moveItem, removeItem } = useActions();
6075
+ const { addItem: addItem2, duplicateItem: duplicateItem2, moveItem: moveItem2, removeItem: removeItem2 } = useActions();
6076
6076
  const { [ACCORDION_ITEM_ELEMENT_TYPE]: items3 } = (0, import_editor_elements19.useElementChildren)(
6077
6077
  element.id,
6078
6078
  { [ACCORDION_ELEMENT_TYPE]: ACCORDION_ITEM_ELEMENT_TYPE },
@@ -6089,7 +6089,7 @@ var AccordionItemsControl = ({ label }) => {
6089
6089
  });
6090
6090
  const setValue = (_newValues, _options, meta) => {
6091
6091
  if (meta?.action?.type === "add") {
6092
- return addItem({
6092
+ return addItem2({
6093
6093
  accordionId: element.id,
6094
6094
  // The new item's number comes from the titles already in use, not from the item count -
6095
6095
  // see `getNextItemNumber`.
@@ -6099,14 +6099,14 @@ var AccordionItemsControl = ({ label }) => {
6099
6099
  });
6100
6100
  }
6101
6101
  if (meta?.action?.type === "remove") {
6102
- return removeItem({ items: meta.action.payload });
6102
+ return removeItem2({ items: meta.action.payload });
6103
6103
  }
6104
6104
  if (meta?.action?.type === "duplicate") {
6105
- return duplicateItem({ items: meta.action.payload });
6105
+ return duplicateItem2({ items: meta.action.payload });
6106
6106
  }
6107
6107
  if (meta?.action?.type === "reorder") {
6108
6108
  const { from, to } = meta.action.payload;
6109
- return moveItem({
6109
+ return moveItem2({
6110
6110
  accordionId: element.id,
6111
6111
  movedElementId: items3[from].id,
6112
6112
  toIndex: to
@@ -6159,19 +6159,282 @@ var ItemNameControl = ({ elementId }) => {
6159
6159
  ));
6160
6160
  };
6161
6161
 
6162
- // src/controls-registry/element-controls/tabs-control/tabs-control.tsx
6162
+ // src/controls-registry/element-controls/list-items-control/list-items-control.tsx
6163
6163
  var React96 = __toESM(require("react"));
6164
- var import_editor_controls60 = require("@elementor/editor-controls");
6164
+ var import_editor_controls59 = require("@elementor/editor-controls");
6165
6165
  var import_editor_elements22 = require("@elementor/editor-elements");
6166
- var import_editor_props21 = require("@elementor/editor-props");
6167
- var import_icons28 = require("@elementor/icons");
6166
+ var import_editor_props22 = require("@elementor/editor-props");
6168
6167
  var import_ui48 = require("@elementor/ui");
6168
+ var import_i18n73 = require("@wordpress/i18n");
6169
+
6170
+ // src/controls-registry/element-controls/list-items-control/list-actions.ts
6171
+ var import_editor_elements20 = require("@elementor/editor-elements");
6172
+ var import_editor_props20 = require("@elementor/editor-props");
6173
+ var import_i18n71 = require("@wordpress/i18n");
6174
+ var LIST_ITEM_ELEMENT_TYPE = "e-list-item";
6175
+ var TRAILING_NUMBER2 = /(\d+)\s*$/;
6176
+ var getItemTitle2 = (position) => `Item ${position}`;
6177
+ var getNextItemNumber2 = (existingTitles) => {
6178
+ const taken = new Set(existingTitles.filter((title) => Boolean(title)));
6179
+ const highest = existingTitles.reduce((max, title) => {
6180
+ const [, trailingNumber] = title?.match(TRAILING_NUMBER2) ?? [];
6181
+ const parsed = trailingNumber ? Number(trailingNumber) : 0;
6182
+ return Number.isFinite(parsed) && parsed > max ? parsed : max;
6183
+ }, 0);
6184
+ let next = highest + 1;
6185
+ while (taken.has(getItemTitle2(next))) {
6186
+ next += 1;
6187
+ }
6188
+ return next;
6189
+ };
6190
+ var duplicateItem = ({ items: items3 }) => {
6191
+ (0, import_editor_elements20.duplicateElements)({
6192
+ elementIds: items3.map(({ item }) => item.id),
6193
+ title: (0, import_i18n71.__)("Duplicate List Item", "elementor")
6194
+ });
6195
+ };
6196
+ var moveItem = ({
6197
+ toIndex,
6198
+ listContainerId,
6199
+ movedElementId
6200
+ }) => {
6201
+ const movedElement = (0, import_editor_elements20.getContainer)(movedElementId);
6202
+ const listContainer = (0, import_editor_elements20.getContainer)(listContainerId);
6203
+ if (!movedElement || !listContainer) {
6204
+ throw new Error("List item or list container not found");
6205
+ }
6206
+ (0, import_editor_elements20.moveElements)({
6207
+ title: (0, import_i18n71.__)("Reorder List Items", "elementor"),
6208
+ moves: [
6209
+ {
6210
+ element: movedElement,
6211
+ targetContainer: listContainer,
6212
+ options: { at: toIndex }
6213
+ }
6214
+ ]
6215
+ });
6216
+ };
6217
+ var removeItem = ({ items: items3 }) => {
6218
+ (0, import_editor_elements20.removeElements)({
6219
+ title: (0, import_i18n71.__)("List Items", "elementor"),
6220
+ elementIds: items3.map(({ item }) => item.id)
6221
+ });
6222
+ };
6223
+ var addItem = ({
6224
+ existingTitles,
6225
+ listContainerId,
6226
+ items: items3,
6227
+ showMarkers
6228
+ }) => {
6229
+ const listContainer = (0, import_editor_elements20.getContainer)(listContainerId);
6230
+ if (!listContainer) {
6231
+ throw new Error("List container not found");
6232
+ }
6233
+ const titles = [...existingTitles];
6234
+ items3.forEach(({ index }) => {
6235
+ const position = getNextItemNumber2(titles);
6236
+ (0, import_editor_elements20.createElements)({
6237
+ title: (0, import_i18n71.__)("List Items", "elementor"),
6238
+ elements: [
6239
+ {
6240
+ container: listContainer,
6241
+ model: {
6242
+ elType: LIST_ITEM_ELEMENT_TYPE,
6243
+ settings: {
6244
+ show_markers: import_editor_props20.booleanPropTypeUtil.create(showMarkers)
6245
+ },
6246
+ hydrateDefaultChildren: true,
6247
+ editor_settings: {
6248
+ title: getItemTitle2(position),
6249
+ initial_position: position
6250
+ }
6251
+ },
6252
+ options: { at: index }
6253
+ }
6254
+ ]
6255
+ });
6256
+ titles.push(getItemTitle2(position));
6257
+ });
6258
+ };
6259
+
6260
+ // src/controls-registry/element-controls/list-items-control/use-show-markers-write-through.ts
6261
+ var import_react41 = require("react");
6262
+ var import_editor_elements21 = require("@elementor/editor-elements");
6263
+ var import_editor_props21 = require("@elementor/editor-props");
6264
+ var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
6169
6265
  var import_i18n72 = require("@wordpress/i18n");
6266
+ var cascadeShowMarkersToItems = (0, import_editor_v1_adapters10.undoable)(
6267
+ {
6268
+ do: ({ listId, showMarkers }) => {
6269
+ const itemIds = getListItemIds(listId);
6270
+ const previous = Object.fromEntries(
6271
+ itemIds.map(
6272
+ (itemId) => [
6273
+ itemId,
6274
+ (0, import_editor_elements21.getElementSettings)(itemId, [
6275
+ "show_markers"
6276
+ ]).show_markers
6277
+ ]
6278
+ )
6279
+ );
6280
+ itemIds.forEach((itemId) => {
6281
+ (0, import_editor_elements21.updateElementSettings)({
6282
+ id: itemId,
6283
+ props: { show_markers: import_editor_props21.booleanPropTypeUtil.create(showMarkers) },
6284
+ withHistory: false
6285
+ });
6286
+ });
6287
+ return { previous };
6288
+ },
6289
+ undo: (_payload, { previous }) => {
6290
+ Object.entries(previous).forEach(([itemId, previousValue]) => {
6291
+ (0, import_editor_elements21.updateElementSettings)({
6292
+ id: itemId,
6293
+ props: { show_markers: previousValue ?? null },
6294
+ withHistory: false
6295
+ });
6296
+ });
6297
+ }
6298
+ },
6299
+ {
6300
+ title: (0, import_i18n72.__)("List", "elementor"),
6301
+ subtitle: (0, import_i18n72.__)("Show Markers", "elementor"),
6302
+ debounce: { wait: HISTORY_DEBOUNCE_WAIT }
6303
+ }
6304
+ );
6305
+ function getListItemIds(listId) {
6306
+ const list = (0, import_editor_elements21.getContainer)(listId);
6307
+ const itemContainers = (list?.children ?? []).filter(
6308
+ (child) => child.model.get("elType") === LIST_ITEM_ELEMENT_TYPE
6309
+ );
6310
+ return itemContainers.map((item) => item.id);
6311
+ }
6312
+ function useShowMarkersWriteThrough(listId, showMarkers) {
6313
+ const previousRef = (0, import_react41.useRef)(null);
6314
+ (0, import_react41.useEffect)(() => {
6315
+ const previous = previousRef.current;
6316
+ previousRef.current = { listId, showMarkers };
6317
+ if (!previous || previous.listId !== listId || previous.showMarkers === showMarkers) {
6318
+ return;
6319
+ }
6320
+ cascadeShowMarkersToItems({ listId, showMarkers });
6321
+ }, [listId, showMarkers]);
6322
+ }
6323
+
6324
+ // src/controls-registry/element-controls/list-items-control/list-items-control.tsx
6325
+ var LIST_ELEMENT_TYPE = "e-list";
6326
+ var getEffectiveListItemLabel = (label, fallbackLabel) => {
6327
+ return label?.trim() ? label : fallbackLabel;
6328
+ };
6329
+ var getDefaultListItemLabel = (index) => {
6330
+ return `Item ${index + 1}`;
6331
+ };
6332
+ var ListItemsControl = ({ label }) => {
6333
+ return /* @__PURE__ */ React96.createElement(ListItemsControlContent, { label });
6334
+ };
6335
+ var ListItemsControlContent = ({ label }) => {
6336
+ const { element, settings } = useElement();
6337
+ const { [LIST_ITEM_ELEMENT_TYPE]: listItems } = (0, import_editor_elements22.useElementChildren)(
6338
+ element.id,
6339
+ { [LIST_ELEMENT_TYPE]: LIST_ITEM_ELEMENT_TYPE },
6340
+ { includeSelfAsParent: true }
6341
+ );
6342
+ const showMarkers = import_editor_props22.booleanPropTypeUtil.extract(settings.show_markers) ?? true;
6343
+ useShowMarkersWriteThrough(element.id, showMarkers);
6344
+ const repeaterValues = listItems.map((item, index) => ({
6345
+ id: item.id,
6346
+ title: item.editorSettings?.title ?? getDefaultListItemLabel(index),
6347
+ index
6348
+ }));
6349
+ const setValue = (_newValues, _options, meta) => {
6350
+ if (meta?.action?.type === "add") {
6351
+ return addItem({
6352
+ existingTitles: repeaterValues.map(({ title }) => title),
6353
+ listContainerId: element.id,
6354
+ items: meta.action.payload,
6355
+ showMarkers
6356
+ });
6357
+ }
6358
+ if (meta?.action?.type === "remove") {
6359
+ return removeItem({ items: meta.action.payload });
6360
+ }
6361
+ if (meta?.action?.type === "duplicate") {
6362
+ return duplicateItem({ items: meta.action.payload });
6363
+ }
6364
+ if (meta?.action?.type === "reorder") {
6365
+ const { from, to } = meta.action.payload;
6366
+ return moveItem({
6367
+ toIndex: to,
6368
+ listContainerId: element.id,
6369
+ movedElementId: listItems[from].id
6370
+ });
6371
+ }
6372
+ };
6373
+ return /* @__PURE__ */ React96.createElement(
6374
+ import_editor_controls59.Repeater,
6375
+ {
6376
+ showToggle: false,
6377
+ values: repeaterValues,
6378
+ setValues: setValue,
6379
+ showRemove: repeaterValues.length > 1,
6380
+ label,
6381
+ adornment: () => null,
6382
+ itemSettings: {
6383
+ getId: ({ item }) => item.id,
6384
+ initialValues: { id: "", title: "Item" },
6385
+ Label: ItemLabel2,
6386
+ Content: ItemContent2,
6387
+ Icon: () => null
6388
+ }
6389
+ }
6390
+ );
6391
+ };
6392
+ var ItemLabel2 = ({ value, index }) => {
6393
+ const fallbackLabel = value.title ?? getDefaultListItemLabel(index);
6394
+ return /* @__PURE__ */ React96.createElement(import_ui48.Stack, { sx: { minHeight: 20 }, direction: "row", alignItems: "center", gap: 1.5 }, value.id ? /* @__PURE__ */ React96.createElement(ListItemRepeaterLabel, { elementId: value.id, fallbackLabel }) : /* @__PURE__ */ React96.createElement("span", null, fallbackLabel));
6395
+ };
6396
+ var ItemContent2 = ({ value }) => {
6397
+ if (!value.id) {
6398
+ return null;
6399
+ }
6400
+ return /* @__PURE__ */ React96.createElement(import_ui48.Stack, { p: 2, gap: 1.5 }, /* @__PURE__ */ React96.createElement(ListItemLabelControl, { elementId: value.id, fallbackLabel: value.title ?? "" }));
6401
+ };
6402
+ var ListItemRepeaterLabel = ({ elementId, fallbackLabel }) => {
6403
+ const editorSettings = (0, import_editor_elements22.useElementEditorSettings)(elementId);
6404
+ const label = getEffectiveListItemLabel(editorSettings?.title, fallbackLabel);
6405
+ return /* @__PURE__ */ React96.createElement("span", null, label);
6406
+ };
6407
+ var ListItemLabelControl = ({ elementId, fallbackLabel }) => {
6408
+ const editorSettings = (0, import_editor_elements22.useElementEditorSettings)(elementId);
6409
+ const label = getEffectiveListItemLabel(editorSettings?.title, fallbackLabel);
6410
+ return /* @__PURE__ */ React96.createElement(import_ui48.Stack, { gap: 1 }, /* @__PURE__ */ React96.createElement(import_editor_controls59.ControlFormLabel, null, (0, import_i18n73.__)("Item name", "elementor")), /* @__PURE__ */ React96.createElement(
6411
+ import_ui48.TextField,
6412
+ {
6413
+ size: "tiny",
6414
+ value: label,
6415
+ onChange: ({ target }) => {
6416
+ (0, import_editor_elements22.updateElementEditorSettings)({
6417
+ elementId,
6418
+ settings: { title: target.value }
6419
+ });
6420
+ }
6421
+ }
6422
+ ));
6423
+ };
6424
+
6425
+ // src/controls-registry/element-controls/tabs-control/tabs-control.tsx
6426
+ var React97 = __toESM(require("react"));
6427
+ var import_editor_controls61 = require("@elementor/editor-controls");
6428
+ var import_editor_elements25 = require("@elementor/editor-elements");
6429
+ var import_editor_props24 = require("@elementor/editor-props");
6430
+ var import_icons28 = require("@elementor/icons");
6431
+ var import_ui49 = require("@elementor/ui");
6432
+ var import_i18n75 = require("@wordpress/i18n");
6170
6433
 
6171
6434
  // src/controls-registry/element-controls/get-element-by-type.ts
6172
- var import_editor_elements20 = require("@elementor/editor-elements");
6435
+ var import_editor_elements23 = require("@elementor/editor-elements");
6173
6436
  var getElementByType = (elementId, type) => {
6174
- const currentElement = (0, import_editor_elements20.getContainer)(elementId);
6437
+ const currentElement = (0, import_editor_elements23.getContainer)(elementId);
6175
6438
  if (!currentElement) {
6176
6439
  return null;
6177
6440
  }
@@ -6182,16 +6445,16 @@ var getElementByType = (elementId, type) => {
6182
6445
  };
6183
6446
 
6184
6447
  // src/controls-registry/element-controls/tabs-control/use-actions.ts
6185
- var import_editor_controls59 = require("@elementor/editor-controls");
6186
- var import_editor_elements21 = require("@elementor/editor-elements");
6187
- var import_editor_props20 = require("@elementor/editor-props");
6188
- var import_i18n71 = require("@wordpress/i18n");
6448
+ var import_editor_controls60 = require("@elementor/editor-controls");
6449
+ var import_editor_elements24 = require("@elementor/editor-elements");
6450
+ var import_editor_props23 = require("@elementor/editor-props");
6451
+ var import_i18n74 = require("@wordpress/i18n");
6189
6452
  var TAB_ELEMENT_TYPE = "e-tab";
6190
6453
  var TAB_CONTENT_ELEMENT_TYPE = "e-tab-content";
6191
6454
  var useActions2 = () => {
6192
- const { value, setValue: setDefaultActiveTab } = (0, import_editor_controls59.useBoundProp)(import_editor_props20.numberPropTypeUtil);
6455
+ const { value, setValue: setDefaultActiveTab } = (0, import_editor_controls60.useBoundProp)(import_editor_props23.numberPropTypeUtil);
6193
6456
  const defaultActiveTab = value ?? 0;
6194
- const duplicateItem = ({
6457
+ const duplicateItem2 = ({
6195
6458
  items: items3,
6196
6459
  tabContentAreaId
6197
6460
  }) => {
@@ -6201,14 +6464,14 @@ var useActions2 = () => {
6201
6464
  });
6202
6465
  items3.forEach(({ item, index }) => {
6203
6466
  const tabId = item.id;
6204
- const tabContentAreaContainer = (0, import_editor_elements21.getContainer)(tabContentAreaId);
6467
+ const tabContentAreaContainer = (0, import_editor_elements24.getContainer)(tabContentAreaId);
6205
6468
  const tabContentId = tabContentAreaContainer?.children?.[index]?.id;
6206
6469
  if (!tabContentId) {
6207
6470
  throw new Error("Original content ID is required for duplication");
6208
6471
  }
6209
- (0, import_editor_elements21.duplicateElements)({
6472
+ (0, import_editor_elements24.duplicateElements)({
6210
6473
  elementIds: [tabId, tabContentId],
6211
- title: (0, import_i18n71.__)("Duplicate Tab", "elementor"),
6474
+ title: (0, import_i18n74.__)("Duplicate Tab", "elementor"),
6212
6475
  onDuplicateElements: () => {
6213
6476
  if (newDefault !== defaultActiveTab) {
6214
6477
  setDefaultActiveTab(newDefault, {}, { withHistory: false });
@@ -6222,17 +6485,17 @@ var useActions2 = () => {
6222
6485
  });
6223
6486
  });
6224
6487
  };
6225
- const moveItem = ({
6488
+ const moveItem2 = ({
6226
6489
  toIndex,
6227
6490
  tabsMenuId,
6228
6491
  tabContentAreaId,
6229
6492
  movedElementId,
6230
6493
  movedElementIndex
6231
6494
  }) => {
6232
- const tabContentContainer = (0, import_editor_elements21.getContainer)(tabContentAreaId);
6495
+ const tabContentContainer = (0, import_editor_elements24.getContainer)(tabContentAreaId);
6233
6496
  const tabContent = tabContentContainer?.children?.[movedElementIndex];
6234
- const movedElement = (0, import_editor_elements21.getContainer)(movedElementId);
6235
- const tabsMenu = (0, import_editor_elements21.getContainer)(tabsMenuId);
6497
+ const movedElement = (0, import_editor_elements24.getContainer)(movedElementId);
6498
+ const tabsMenu = (0, import_editor_elements24.getContainer)(tabsMenuId);
6236
6499
  if (!tabContent) {
6237
6500
  throw new Error("Content element is required");
6238
6501
  }
@@ -6244,8 +6507,8 @@ var useActions2 = () => {
6244
6507
  to: toIndex,
6245
6508
  defaultActiveTab
6246
6509
  });
6247
- (0, import_editor_elements21.moveElements)({
6248
- title: (0, import_i18n71.__)("Reorder Tabs", "elementor"),
6510
+ (0, import_editor_elements24.moveElements)({
6511
+ title: (0, import_i18n74.__)("Reorder Tabs", "elementor"),
6249
6512
  moves: [
6250
6513
  {
6251
6514
  element: movedElement,
@@ -6270,7 +6533,7 @@ var useActions2 = () => {
6270
6533
  }
6271
6534
  });
6272
6535
  };
6273
- const removeItem = ({
6536
+ const removeItem2 = ({
6274
6537
  items: items3,
6275
6538
  tabContentAreaId
6276
6539
  }) => {
@@ -6278,11 +6541,11 @@ var useActions2 = () => {
6278
6541
  items: items3,
6279
6542
  defaultActiveTab
6280
6543
  });
6281
- (0, import_editor_elements21.removeElements)({
6282
- title: (0, import_i18n71.__)("Tabs", "elementor"),
6544
+ (0, import_editor_elements24.removeElements)({
6545
+ title: (0, import_i18n74.__)("Tabs", "elementor"),
6283
6546
  elementIds: items3.flatMap(({ item, index }) => {
6284
6547
  const tabId = item.id;
6285
- const tabContentContainer = (0, import_editor_elements21.getContainer)(tabContentAreaId);
6548
+ const tabContentContainer = (0, import_editor_elements24.getContainer)(tabContentAreaId);
6286
6549
  const tabContentId = tabContentContainer?.children?.[index]?.id;
6287
6550
  if (!tabContentId) {
6288
6551
  throw new Error("Content ID is required");
@@ -6301,20 +6564,20 @@ var useActions2 = () => {
6301
6564
  }
6302
6565
  });
6303
6566
  };
6304
- const addItem = ({
6567
+ const addItem2 = ({
6305
6568
  tabContentAreaId,
6306
6569
  tabsMenuId,
6307
6570
  items: items3
6308
6571
  }) => {
6309
- const tabContentArea = (0, import_editor_elements21.getContainer)(tabContentAreaId);
6310
- const tabsMenu = (0, import_editor_elements21.getContainer)(tabsMenuId);
6572
+ const tabContentArea = (0, import_editor_elements24.getContainer)(tabContentAreaId);
6573
+ const tabsMenu = (0, import_editor_elements24.getContainer)(tabsMenuId);
6311
6574
  if (!tabContentArea || !tabsMenu) {
6312
6575
  throw new Error("Tab containers not found");
6313
6576
  }
6314
6577
  items3.forEach(({ index }) => {
6315
6578
  const position = index + 1;
6316
- (0, import_editor_elements21.createElements)({
6317
- title: (0, import_i18n71.__)("Tabs", "elementor"),
6579
+ (0, import_editor_elements24.createElements)({
6580
+ title: (0, import_i18n74.__)("Tabs", "elementor"),
6318
6581
  elements: [
6319
6582
  {
6320
6583
  container: tabContentArea,
@@ -6335,10 +6598,10 @@ var useActions2 = () => {
6335
6598
  });
6336
6599
  };
6337
6600
  return {
6338
- duplicateItem,
6339
- moveItem,
6340
- removeItem,
6341
- addItem
6601
+ duplicateItem: duplicateItem2,
6602
+ moveItem: moveItem2,
6603
+ removeItem: removeItem2,
6604
+ addItem: addItem2
6342
6605
  };
6343
6606
  };
6344
6607
  var calculateDefaultOnMove = ({
@@ -6383,12 +6646,12 @@ var calculateDefaultOnDuplicate = ({
6383
6646
  var TAB_MENU_ELEMENT_TYPE = "e-tabs-menu";
6384
6647
  var TAB_CONTENT_AREA_ELEMENT_TYPE = "e-tabs-content-area";
6385
6648
  var TabsControl = ({ label }) => {
6386
- return /* @__PURE__ */ React96.createElement(SettingsField, { bind: "default-active-tab", propDisplayName: (0, import_i18n72.__)("Tabs", "elementor") }, /* @__PURE__ */ React96.createElement(TabsControlContent, { label }));
6649
+ return /* @__PURE__ */ React97.createElement(SettingsField, { bind: "default-active-tab", propDisplayName: (0, import_i18n75.__)("Tabs", "elementor") }, /* @__PURE__ */ React97.createElement(TabsControlContent, { label }));
6387
6650
  };
6388
6651
  var TabsControlContent = ({ label }) => {
6389
6652
  const { element } = useElement();
6390
- const { addItem, duplicateItem, moveItem, removeItem } = useActions2();
6391
- const { [TAB_ELEMENT_TYPE]: tabLinks } = (0, import_editor_elements22.useElementChildren)(element.id, {
6653
+ const { addItem: addItem2, duplicateItem: duplicateItem2, moveItem: moveItem2, removeItem: removeItem2 } = useActions2();
6654
+ const { [TAB_ELEMENT_TYPE]: tabLinks } = (0, import_editor_elements25.useElementChildren)(element.id, {
6392
6655
  [TAB_MENU_ELEMENT_TYPE]: TAB_ELEMENT_TYPE
6393
6656
  });
6394
6657
  const tabList = getElementByType(element.id, TAB_MENU_ELEMENT_TYPE);
@@ -6403,22 +6666,22 @@ var TabsControlContent = ({ label }) => {
6403
6666
  const setValue = (_newValues, _options, meta) => {
6404
6667
  if (meta?.action?.type === "add") {
6405
6668
  const items3 = meta.action.payload;
6406
- return addItem({ tabContentAreaId: tabContentArea.id, items: items3, tabsMenuId: tabList.id });
6669
+ return addItem2({ tabContentAreaId: tabContentArea.id, items: items3, tabsMenuId: tabList.id });
6407
6670
  }
6408
6671
  if (meta?.action?.type === "remove") {
6409
6672
  const items3 = meta.action.payload;
6410
- return removeItem({
6673
+ return removeItem2({
6411
6674
  items: items3,
6412
6675
  tabContentAreaId: tabContentArea.id
6413
6676
  });
6414
6677
  }
6415
6678
  if (meta?.action?.type === "duplicate") {
6416
6679
  const items3 = meta.action.payload;
6417
- return duplicateItem({ items: items3, tabContentAreaId: tabContentArea.id });
6680
+ return duplicateItem2({ items: items3, tabContentAreaId: tabContentArea.id });
6418
6681
  }
6419
6682
  if (meta?.action?.type === "reorder") {
6420
6683
  const { from, to } = meta.action.payload;
6421
- return moveItem({
6684
+ return moveItem2({
6422
6685
  toIndex: to,
6423
6686
  tabsMenuId: tabList.id,
6424
6687
  tabContentAreaId: tabContentArea.id,
@@ -6427,8 +6690,8 @@ var TabsControlContent = ({ label }) => {
6427
6690
  });
6428
6691
  }
6429
6692
  };
6430
- return /* @__PURE__ */ React96.createElement(
6431
- import_editor_controls60.Repeater,
6693
+ return /* @__PURE__ */ React97.createElement(
6694
+ import_editor_controls61.Repeater,
6432
6695
  {
6433
6696
  showToggle: false,
6434
6697
  values: repeaterValues,
@@ -6438,36 +6701,36 @@ var TabsControlContent = ({ label }) => {
6438
6701
  itemSettings: {
6439
6702
  getId: ({ item }) => item.id,
6440
6703
  initialValues: { id: "", title: "Tab" },
6441
- Label: ItemLabel2,
6442
- Content: ItemContent2,
6704
+ Label: ItemLabel3,
6705
+ Content: ItemContent3,
6443
6706
  Icon: () => null
6444
6707
  }
6445
6708
  }
6446
6709
  );
6447
6710
  };
6448
- var ItemLabel2 = ({ value, index }) => {
6711
+ var ItemLabel3 = ({ value, index }) => {
6449
6712
  const elementTitle = value?.title;
6450
- return /* @__PURE__ */ React96.createElement(import_ui48.Stack, { sx: { minHeight: 20 }, direction: "row", alignItems: "center", gap: 1.5 }, /* @__PURE__ */ React96.createElement("span", null, elementTitle), /* @__PURE__ */ React96.createElement(ItemDefaultTab, { index }));
6713
+ return /* @__PURE__ */ React97.createElement(import_ui49.Stack, { sx: { minHeight: 20 }, direction: "row", alignItems: "center", gap: 1.5 }, /* @__PURE__ */ React97.createElement("span", null, elementTitle), /* @__PURE__ */ React97.createElement(ItemDefaultTab, { index }));
6451
6714
  };
6452
6715
  var ItemDefaultTab = ({ index }) => {
6453
- const { value: defaultItem } = (0, import_editor_controls60.useBoundProp)(import_editor_props21.numberPropTypeUtil);
6716
+ const { value: defaultItem } = (0, import_editor_controls61.useBoundProp)(import_editor_props24.numberPropTypeUtil);
6454
6717
  const isDefault = defaultItem === index;
6455
6718
  if (!isDefault) {
6456
6719
  return null;
6457
6720
  }
6458
- return /* @__PURE__ */ React96.createElement(import_ui48.Chip, { size: "tiny", shape: "rounded", label: (0, import_i18n72.__)("Default", "elementor") });
6721
+ return /* @__PURE__ */ React97.createElement(import_ui49.Chip, { size: "tiny", shape: "rounded", label: (0, import_i18n75.__)("Default", "elementor") });
6459
6722
  };
6460
- var ItemContent2 = ({ value, index }) => {
6723
+ var ItemContent3 = ({ value, index }) => {
6461
6724
  if (!value.id) {
6462
6725
  return null;
6463
6726
  }
6464
- return /* @__PURE__ */ React96.createElement(import_ui48.Stack, { p: 2, gap: 1.5 }, /* @__PURE__ */ React96.createElement(TabLabelControl, { elementId: value.id }), /* @__PURE__ */ React96.createElement(SettingsField, { bind: "default-active-tab", propDisplayName: (0, import_i18n72.__)("Tabs", "elementor") }, /* @__PURE__ */ React96.createElement(DefaultTabControl, { tabIndex: index })));
6727
+ return /* @__PURE__ */ React97.createElement(import_ui49.Stack, { p: 2, gap: 1.5 }, /* @__PURE__ */ React97.createElement(TabLabelControl, { elementId: value.id }), /* @__PURE__ */ React97.createElement(SettingsField, { bind: "default-active-tab", propDisplayName: (0, import_i18n75.__)("Tabs", "elementor") }, /* @__PURE__ */ React97.createElement(DefaultTabControl, { tabIndex: index })));
6465
6728
  };
6466
6729
  var DefaultTabControl = ({ tabIndex }) => {
6467
- const { value, setValue } = (0, import_editor_controls60.useBoundProp)(import_editor_props21.numberPropTypeUtil);
6730
+ const { value, setValue } = (0, import_editor_controls61.useBoundProp)(import_editor_props24.numberPropTypeUtil);
6468
6731
  const isDefault = value === tabIndex;
6469
- return /* @__PURE__ */ React96.createElement(import_ui48.Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 2 }, /* @__PURE__ */ React96.createElement(import_editor_controls60.ControlFormLabel, null, (0, import_i18n72.__)("Set as default tab", "elementor")), /* @__PURE__ */ React96.createElement(ConditionalTooltip, { showTooltip: isDefault, placement: "right" }, /* @__PURE__ */ React96.createElement(
6470
- import_ui48.Switch,
6732
+ return /* @__PURE__ */ React97.createElement(import_ui49.Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 2 }, /* @__PURE__ */ React97.createElement(import_editor_controls61.ControlFormLabel, null, (0, import_i18n75.__)("Set as default tab", "elementor")), /* @__PURE__ */ React97.createElement(ConditionalTooltip, { showTooltip: isDefault, placement: "right" }, /* @__PURE__ */ React97.createElement(
6733
+ import_ui49.Switch,
6471
6734
  {
6472
6735
  size: "small",
6473
6736
  checked: isDefault,
@@ -6482,15 +6745,15 @@ var DefaultTabControl = ({ tabIndex }) => {
6482
6745
  )));
6483
6746
  };
6484
6747
  var TabLabelControl = ({ elementId }) => {
6485
- const editorSettings = (0, import_editor_elements22.useElementEditorSettings)(elementId);
6748
+ const editorSettings = (0, import_editor_elements25.useElementEditorSettings)(elementId);
6486
6749
  const label = editorSettings?.title ?? "";
6487
- return /* @__PURE__ */ React96.createElement(import_ui48.Stack, { gap: 1 }, /* @__PURE__ */ React96.createElement(import_editor_controls60.ControlFormLabel, null, (0, import_i18n72.__)("Tab name", "elementor")), /* @__PURE__ */ React96.createElement(
6488
- import_ui48.TextField,
6750
+ return /* @__PURE__ */ React97.createElement(import_ui49.Stack, { gap: 1 }, /* @__PURE__ */ React97.createElement(import_editor_controls61.ControlFormLabel, null, (0, import_i18n75.__)("Tab name", "elementor")), /* @__PURE__ */ React97.createElement(
6751
+ import_ui49.TextField,
6489
6752
  {
6490
6753
  size: "tiny",
6491
6754
  value: label,
6492
6755
  onChange: ({ target }) => {
6493
- (0, import_editor_elements22.updateElementEditorSettings)({
6756
+ (0, import_editor_elements25.updateElementEditorSettings)({
6494
6757
  elementId,
6495
6758
  settings: { title: target.value }
6496
6759
  });
@@ -6505,27 +6768,28 @@ var ConditionalTooltip = ({
6505
6768
  if (!showTooltip) {
6506
6769
  return children;
6507
6770
  }
6508
- return /* @__PURE__ */ React96.createElement(
6509
- import_ui48.Infotip,
6771
+ return /* @__PURE__ */ React97.createElement(
6772
+ import_ui49.Infotip,
6510
6773
  {
6511
6774
  arrow: false,
6512
- content: /* @__PURE__ */ React96.createElement(
6513
- import_ui48.Alert,
6775
+ content: /* @__PURE__ */ React97.createElement(
6776
+ import_ui49.Alert,
6514
6777
  {
6515
6778
  color: "secondary",
6516
- icon: /* @__PURE__ */ React96.createElement(import_icons28.InfoCircleFilledIcon, { fontSize: "tiny" }),
6779
+ icon: /* @__PURE__ */ React97.createElement(import_icons28.InfoCircleFilledIcon, { fontSize: "tiny" }),
6517
6780
  size: "small",
6518
6781
  sx: { width: 288 }
6519
6782
  },
6520
- /* @__PURE__ */ React96.createElement(import_ui48.Typography, { variant: "body2" }, (0, import_i18n72.__)("To change the default tab, simply set another tab as default.", "elementor"))
6783
+ /* @__PURE__ */ React97.createElement(import_ui49.Typography, { variant: "body2" }, (0, import_i18n75.__)("To change the default tab, simply set another tab as default.", "elementor"))
6521
6784
  )
6522
6785
  },
6523
- /* @__PURE__ */ React96.createElement("span", null, children)
6786
+ /* @__PURE__ */ React97.createElement("span", null, children)
6524
6787
  );
6525
6788
  };
6526
6789
 
6527
6790
  // src/controls-registry/element-controls/registry.ts
6528
6791
  var controlTypes2 = {
6792
+ "list-items": { component: ListItemsControl, layout: "full" },
6529
6793
  tabs: { component: TabsControl, layout: "full" },
6530
6794
  "accordion-items": { component: AccordionItemsControl, layout: "full" }
6531
6795
  };
@@ -6539,27 +6803,27 @@ var registerElementControls = () => {
6539
6803
 
6540
6804
  // src/dynamics/init.ts
6541
6805
  var import_editor_canvas3 = require("@elementor/editor-canvas");
6542
- var import_editor_controls67 = require("@elementor/editor-controls");
6806
+ var import_editor_controls68 = require("@elementor/editor-controls");
6543
6807
  var import_menus2 = require("@elementor/menus");
6544
6808
 
6545
6809
  // src/dynamics/components/background-control-dynamic-tag.tsx
6546
- var React97 = __toESM(require("react"));
6547
- var import_editor_controls62 = require("@elementor/editor-controls");
6548
- var import_editor_props23 = require("@elementor/editor-props");
6810
+ var React98 = __toESM(require("react"));
6811
+ var import_editor_controls63 = require("@elementor/editor-controls");
6812
+ var import_editor_props26 = require("@elementor/editor-props");
6549
6813
  var import_icons29 = require("@elementor/icons");
6550
6814
 
6551
6815
  // src/dynamics/hooks/use-dynamic-tag.ts
6552
- var import_react43 = require("react");
6816
+ var import_react44 = require("react");
6553
6817
 
6554
6818
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
6555
- var import_react42 = require("react");
6556
- var import_editor_controls61 = require("@elementor/editor-controls");
6819
+ var import_react43 = require("react");
6820
+ var import_editor_controls62 = require("@elementor/editor-controls");
6557
6821
 
6558
6822
  // src/dynamics/sync/get-atomic-dynamic-tags.ts
6559
- var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
6823
+ var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
6560
6824
 
6561
6825
  // src/hooks/use-license-config.ts
6562
- var import_react41 = require("react");
6826
+ var import_react42 = require("react");
6563
6827
  var config = { expired: false };
6564
6828
  var listeners = /* @__PURE__ */ new Set();
6565
6829
  function setLicenseConfig(newConfig) {
@@ -6574,12 +6838,12 @@ function subscribe(listener) {
6574
6838
  return () => listeners.delete(listener);
6575
6839
  }
6576
6840
  function useLicenseConfig() {
6577
- return (0, import_react41.useSyncExternalStore)(subscribe, getLicenseConfig, getLicenseConfig);
6841
+ return (0, import_react42.useSyncExternalStore)(subscribe, getLicenseConfig, getLicenseConfig);
6578
6842
  }
6579
6843
 
6580
6844
  // src/dynamics/sync/get-atomic-dynamic-tags.ts
6581
6845
  var getAtomicDynamicTags = (shouldFilterByLicense = true) => {
6582
- const { atomicDynamicTags } = (0, import_editor_v1_adapters10.getElementorConfig)();
6846
+ const { atomicDynamicTags } = (0, import_editor_v1_adapters11.getElementorConfig)();
6583
6847
  if (!atomicDynamicTags) {
6584
6848
  return null;
6585
6849
  }
@@ -6601,11 +6865,11 @@ var filterByLicense = (tags) => {
6601
6865
  };
6602
6866
 
6603
6867
  // src/dynamics/utils.ts
6604
- var import_editor_props22 = require("@elementor/editor-props");
6605
- var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
6868
+ var import_editor_props25 = require("@elementor/editor-props");
6869
+ var import_editor_v1_adapters12 = require("@elementor/editor-v1-adapters");
6606
6870
  var import_schema = require("@elementor/schema");
6607
6871
  var DYNAMIC_PROP_TYPE_KEY = "dynamic";
6608
- var dynamicPropTypeUtil = (0, import_editor_props22.createPropUtils)(
6872
+ var dynamicPropTypeUtil = (0, import_editor_props25.createPropUtils)(
6609
6873
  DYNAMIC_PROP_TYPE_KEY,
6610
6874
  import_schema.z.strictObject({
6611
6875
  name: import_schema.z.string(),
@@ -6614,7 +6878,7 @@ var dynamicPropTypeUtil = (0, import_editor_props22.createPropUtils)(
6614
6878
  })
6615
6879
  );
6616
6880
  var isDynamicTagSupported = (tagName) => {
6617
- return !!(0, import_editor_v1_adapters11.getElementorConfig)()?.atomicDynamicTags?.tags?.[tagName];
6881
+ return !!(0, import_editor_v1_adapters12.getElementorConfig)()?.atomicDynamicTags?.tags?.[tagName];
6618
6882
  };
6619
6883
  var isDynamicPropType = (prop) => prop.key === DYNAMIC_PROP_TYPE_KEY;
6620
6884
  var getDynamicPropType = (propType) => {
@@ -6622,7 +6886,7 @@ var getDynamicPropType = (propType) => {
6622
6886
  return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
6623
6887
  };
6624
6888
  var isDynamicPropValue = (prop) => {
6625
- return (0, import_editor_props22.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
6889
+ return (0, import_editor_props25.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
6626
6890
  };
6627
6891
  var supportsDynamic = (propType) => {
6628
6892
  return !!getDynamicPropType(propType);
@@ -6637,13 +6901,13 @@ var useAllPropDynamicTags = () => {
6637
6901
  };
6638
6902
  var usePropDynamicTagsInternal = (filterByLicense2) => {
6639
6903
  let categories = [];
6640
- const { propType } = (0, import_editor_controls61.useBoundProp)();
6904
+ const { propType } = (0, import_editor_controls62.useBoundProp)();
6641
6905
  if (propType) {
6642
6906
  const propDynamicType = getDynamicPropType(propType);
6643
6907
  categories = propDynamicType?.settings.categories || [];
6644
6908
  }
6645
6909
  const categoriesKey = categories.join();
6646
- return (0, import_react42.useMemo)(
6910
+ return (0, import_react43.useMemo)(
6647
6911
  () => getDynamicTagsByCategories(categories, filterByLicense2),
6648
6912
  // eslint-disable-next-line react-hooks/exhaustive-deps
6649
6913
  [categoriesKey, filterByLicense2]
@@ -6677,33 +6941,33 @@ var getDynamicTagsByCategories = (categories, filterByLicense2) => {
6677
6941
  // src/dynamics/hooks/use-dynamic-tag.ts
6678
6942
  var useDynamicTag = (tagName) => {
6679
6943
  const dynamicTags = useAllPropDynamicTags();
6680
- return (0, import_react43.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
6944
+ return (0, import_react44.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
6681
6945
  };
6682
6946
 
6683
6947
  // src/dynamics/components/background-control-dynamic-tag.tsx
6684
- var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React97.createElement(import_icons29.DatabaseIcon, { fontSize: "tiny" });
6948
+ var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React98.createElement(import_icons29.DatabaseIcon, { fontSize: "tiny" });
6685
6949
  var BackgroundControlDynamicTagLabel = ({ value }) => {
6686
- const context = (0, import_editor_controls62.useBoundProp)(import_editor_props23.backgroundImageOverlayPropTypeUtil);
6687
- return /* @__PURE__ */ React97.createElement(import_editor_controls62.PropProvider, { ...context, value: value.value }, /* @__PURE__ */ React97.createElement(import_editor_controls62.PropKeyProvider, { bind: "image" }, /* @__PURE__ */ React97.createElement(Wrapper2, { rawValue: value.value })));
6950
+ const context = (0, import_editor_controls63.useBoundProp)(import_editor_props26.backgroundImageOverlayPropTypeUtil);
6951
+ return /* @__PURE__ */ React98.createElement(import_editor_controls63.PropProvider, { ...context, value: value.value }, /* @__PURE__ */ React98.createElement(import_editor_controls63.PropKeyProvider, { bind: "image" }, /* @__PURE__ */ React98.createElement(Wrapper2, { rawValue: value.value })));
6688
6952
  };
6689
6953
  var Wrapper2 = ({ rawValue }) => {
6690
- const { propType } = (0, import_editor_controls62.useBoundProp)();
6954
+ const { propType } = (0, import_editor_controls63.useBoundProp)();
6691
6955
  const imageOverlayPropType = propType.prop_types["background-image-overlay"];
6692
- return /* @__PURE__ */ React97.createElement(import_editor_controls62.PropProvider, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React97.createElement(import_editor_controls62.PropKeyProvider, { bind: "src" }, /* @__PURE__ */ React97.createElement(Content, { rawValue: rawValue.image })));
6956
+ return /* @__PURE__ */ React98.createElement(import_editor_controls63.PropProvider, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React98.createElement(import_editor_controls63.PropKeyProvider, { bind: "src" }, /* @__PURE__ */ React98.createElement(Content, { rawValue: rawValue.image })));
6693
6957
  };
6694
6958
  var Content = ({ rawValue }) => {
6695
6959
  const src = rawValue.value.src;
6696
6960
  const dynamicTag = useDynamicTag(src.value.name || "");
6697
- return /* @__PURE__ */ React97.createElement(React97.Fragment, null, dynamicTag?.label);
6961
+ return /* @__PURE__ */ React98.createElement(React98.Fragment, null, dynamicTag?.label);
6698
6962
  };
6699
6963
 
6700
6964
  // src/dynamics/components/dynamic-selection-control.tsx
6701
- var React101 = __toESM(require("react"));
6702
- var import_editor_controls65 = require("@elementor/editor-controls");
6965
+ var React102 = __toESM(require("react"));
6966
+ var import_editor_controls66 = require("@elementor/editor-controls");
6703
6967
  var import_editor_ui11 = require("@elementor/editor-ui");
6704
6968
  var import_icons31 = require("@elementor/icons");
6705
- var import_ui50 = require("@elementor/ui");
6706
- var import_i18n74 = require("@wordpress/i18n");
6969
+ var import_ui51 = require("@elementor/ui");
6970
+ var import_i18n77 = require("@wordpress/i18n");
6707
6971
 
6708
6972
  // src/hooks/use-persist-dynamic-value.ts
6709
6973
  var import_session10 = require("@elementor/session");
@@ -6714,20 +6978,20 @@ var usePersistDynamicValue = (propKey) => {
6714
6978
  };
6715
6979
 
6716
6980
  // src/dynamics/dynamic-control.tsx
6717
- var React99 = __toESM(require("react"));
6718
- var import_editor_controls63 = require("@elementor/editor-controls");
6981
+ var React100 = __toESM(require("react"));
6982
+ var import_editor_controls64 = require("@elementor/editor-controls");
6719
6983
 
6720
6984
  // src/dynamics/components/dynamic-conditional-control.tsx
6721
- var React98 = __toESM(require("react"));
6722
- var import_react44 = require("react");
6723
- var import_editor_props24 = require("@elementor/editor-props");
6985
+ var React99 = __toESM(require("react"));
6986
+ var import_react45 = require("react");
6987
+ var import_editor_props27 = require("@elementor/editor-props");
6724
6988
  var DynamicConditionalControl = ({
6725
6989
  children,
6726
6990
  propType,
6727
6991
  propsSchema,
6728
6992
  dynamicSettings
6729
6993
  }) => {
6730
- const defaults = (0, import_react44.useMemo)(() => {
6994
+ const defaults = (0, import_react45.useMemo)(() => {
6731
6995
  if (!propsSchema) {
6732
6996
  return {};
6733
6997
  }
@@ -6737,7 +7001,7 @@ var DynamicConditionalControl = ({
6737
7001
  return result;
6738
7002
  }, {});
6739
7003
  }, [propsSchema]);
6740
- const convertedSettings = (0, import_react44.useMemo)(() => {
7004
+ const convertedSettings = (0, import_react45.useMemo)(() => {
6741
7005
  if (!dynamicSettings) {
6742
7006
  return {};
6743
7007
  }
@@ -6756,19 +7020,19 @@ var DynamicConditionalControl = ({
6756
7020
  {}
6757
7021
  );
6758
7022
  }, [dynamicSettings]);
6759
- const effectiveSettings = (0, import_react44.useMemo)(() => {
7023
+ const effectiveSettings = (0, import_react45.useMemo)(() => {
6760
7024
  return { ...defaults, ...convertedSettings };
6761
7025
  }, [defaults, convertedSettings]);
6762
7026
  if (!propType?.dependencies?.terms.length) {
6763
- return /* @__PURE__ */ React98.createElement(React98.Fragment, null, children);
7027
+ return /* @__PURE__ */ React99.createElement(React99.Fragment, null, children);
6764
7028
  }
6765
- const isHidden = !(0, import_editor_props24.isDependencyMet)(propType?.dependencies, effectiveSettings).isMet;
6766
- return isHidden ? null : /* @__PURE__ */ React98.createElement(React98.Fragment, null, children);
7029
+ const isHidden = !(0, import_editor_props27.isDependencyMet)(propType?.dependencies, effectiveSettings).isMet;
7030
+ return isHidden ? null : /* @__PURE__ */ React99.createElement(React99.Fragment, null, children);
6767
7031
  };
6768
7032
 
6769
7033
  // src/dynamics/dynamic-control.tsx
6770
7034
  var DynamicControl = ({ bind, children }) => {
6771
- const { value, setValue } = (0, import_editor_controls63.useBoundProp)(dynamicPropTypeUtil);
7035
+ const { value, setValue } = (0, import_editor_controls64.useBoundProp)(dynamicPropTypeUtil);
6772
7036
  const { name = "", group = "", settings } = value ?? {};
6773
7037
  const dynamicTag = useDynamicTag(name);
6774
7038
  if (!dynamicTag) {
@@ -6788,7 +7052,7 @@ var DynamicControl = ({ bind, children }) => {
6788
7052
  });
6789
7053
  };
6790
7054
  const propType = createTopLevelObjectType({ schema: dynamicTag.props_schema });
6791
- return /* @__PURE__ */ React99.createElement(import_editor_controls63.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React99.createElement(import_editor_controls63.PropKeyProvider, { bind }, /* @__PURE__ */ React99.createElement(
7055
+ return /* @__PURE__ */ React100.createElement(import_editor_controls64.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React100.createElement(import_editor_controls64.PropKeyProvider, { bind }, /* @__PURE__ */ React100.createElement(
6792
7056
  DynamicConditionalControl,
6793
7057
  {
6794
7058
  propType: dynamicPropType,
@@ -6800,32 +7064,32 @@ var DynamicControl = ({ bind, children }) => {
6800
7064
  };
6801
7065
 
6802
7066
  // src/dynamics/components/dynamic-selection.tsx
6803
- var React100 = __toESM(require("react"));
6804
- var import_react45 = require("react");
6805
- var import_editor_controls64 = require("@elementor/editor-controls");
7067
+ var React101 = __toESM(require("react"));
7068
+ var import_react46 = require("react");
7069
+ var import_editor_controls65 = require("@elementor/editor-controls");
6806
7070
  var import_editor_ui10 = require("@elementor/editor-ui");
6807
7071
  var import_icons30 = require("@elementor/icons");
6808
- var import_ui49 = require("@elementor/ui");
6809
- var import_i18n73 = require("@wordpress/i18n");
7072
+ var import_ui50 = require("@elementor/ui");
7073
+ var import_i18n76 = require("@wordpress/i18n");
6810
7074
  var SIZE2 = "tiny";
6811
7075
  var PROMO_TEXT_WIDTH = 170;
6812
7076
  var PRO_DYNAMIC_TAGS_URL = "https://go.elementor.com/go-pro-dynamic-tags-modal/";
6813
7077
  var RENEW_DYNAMIC_TAGS_URL = "https://go.elementor.com/go-pro-dynamic-tags-renew-modal/";
6814
7078
  var DynamicSelection = ({ close: closePopover, expired = false }) => {
6815
- const [searchValue, setSearchValue] = (0, import_react45.useState)("");
7079
+ const [searchValue, setSearchValue] = (0, import_react46.useState)("");
6816
7080
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
6817
- const theme = (0, import_ui49.useTheme)();
6818
- const { value: anyValue } = (0, import_editor_controls64.useBoundProp)();
6819
- const { bind, value: dynamicValue, setValue } = (0, import_editor_controls64.useBoundProp)(dynamicPropTypeUtil);
7081
+ const theme = (0, import_ui50.useTheme)();
7082
+ const { value: anyValue } = (0, import_editor_controls65.useBoundProp)();
7083
+ const { bind, value: dynamicValue, setValue } = (0, import_editor_controls65.useBoundProp)(dynamicPropTypeUtil);
6820
7084
  const [, updatePropValueHistory] = usePersistDynamicValue(bind);
6821
7085
  const isCurrentValueDynamic = !!dynamicValue;
6822
7086
  const options13 = useFilteredOptions(searchValue);
6823
7087
  const hasNoDynamicTags = !options13.length && !searchValue.trim();
6824
- (0, import_react45.useEffect)(() => {
7088
+ (0, import_react46.useEffect)(() => {
6825
7089
  if (hasNoDynamicTags) {
6826
- (0, import_editor_controls64.trackViewPromotion)({ target_name: "dynamic_tags" });
7090
+ (0, import_editor_controls65.trackViewPromotion)({ target_name: "dynamic_tags" });
6827
7091
  } else if (expired) {
6828
- (0, import_editor_controls64.trackViewPromotion)({ target_name: "dynamic_tags" });
7092
+ (0, import_editor_controls65.trackViewPromotion)({ target_name: "dynamic_tags" });
6829
7093
  }
6830
7094
  }, [hasNoDynamicTags, expired]);
6831
7095
  const handleSearch = (value) => {
@@ -6853,19 +7117,19 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
6853
7117
  ]);
6854
7118
  const getPopOverContent = () => {
6855
7119
  if (hasNoDynamicTags) {
6856
- return /* @__PURE__ */ React100.createElement(NoDynamicTags, null);
7120
+ return /* @__PURE__ */ React101.createElement(NoDynamicTags, null);
6857
7121
  }
6858
7122
  if (expired) {
6859
- return /* @__PURE__ */ React100.createElement(ExpiredDynamicTags, null);
7123
+ return /* @__PURE__ */ React101.createElement(ExpiredDynamicTags, null);
6860
7124
  }
6861
- return /* @__PURE__ */ React100.createElement(import_react45.Fragment, null, /* @__PURE__ */ React100.createElement(
7125
+ return /* @__PURE__ */ React101.createElement(import_react46.Fragment, null, /* @__PURE__ */ React101.createElement(
6862
7126
  import_editor_ui10.SearchField,
6863
7127
  {
6864
7128
  value: searchValue,
6865
7129
  onSearch: handleSearch,
6866
- placeholder: (0, import_i18n73.__)("Search dynamic tags\u2026", "elementor")
7130
+ placeholder: (0, import_i18n76.__)("Search dynamic tags\u2026", "elementor")
6867
7131
  }
6868
- ), /* @__PURE__ */ React100.createElement(import_ui49.Divider, null), /* @__PURE__ */ React100.createElement(
7132
+ ), /* @__PURE__ */ React101.createElement(import_ui50.Divider, null), /* @__PURE__ */ React101.createElement(
6869
7133
  import_editor_ui10.PopoverMenuList,
6870
7134
  {
6871
7135
  items: virtualizedItems,
@@ -6873,21 +7137,21 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
6873
7137
  onClose: closePopover,
6874
7138
  selectedValue: dynamicValue?.name,
6875
7139
  itemStyle: (item) => item.type === "item" ? { paddingInlineStart: theme.spacing(3.5) } : {},
6876
- noResultsComponent: /* @__PURE__ */ React100.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") })
7140
+ noResultsComponent: /* @__PURE__ */ React101.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") })
6877
7141
  }
6878
7142
  ));
6879
7143
  };
6880
- return /* @__PURE__ */ React100.createElement(import_editor_ui10.SectionPopoverBody, { "aria-label": (0, import_i18n73.__)("Dynamic tags", "elementor") }, /* @__PURE__ */ React100.createElement(
7144
+ return /* @__PURE__ */ React101.createElement(import_editor_ui10.SectionPopoverBody, { "aria-label": (0, import_i18n76.__)("Dynamic tags", "elementor") }, /* @__PURE__ */ React101.createElement(
6881
7145
  import_editor_ui10.PopoverHeader,
6882
7146
  {
6883
- title: (0, import_i18n73.__)("Dynamic tags", "elementor"),
7147
+ title: (0, import_i18n76.__)("Dynamic tags", "elementor"),
6884
7148
  onClose: closePopover,
6885
- icon: /* @__PURE__ */ React100.createElement(import_icons30.DatabaseIcon, { fontSize: SIZE2 })
7149
+ icon: /* @__PURE__ */ React101.createElement(import_icons30.DatabaseIcon, { fontSize: SIZE2 })
6886
7150
  }
6887
7151
  ), getPopOverContent());
6888
7152
  };
6889
- var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React100.createElement(
6890
- import_ui49.Stack,
7153
+ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React101.createElement(
7154
+ import_ui50.Stack,
6891
7155
  {
6892
7156
  gap: 1,
6893
7157
  alignItems: "center",
@@ -6897,12 +7161,12 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React100.createEle
6897
7161
  color: "text.secondary",
6898
7162
  sx: { pb: 3.5 }
6899
7163
  },
6900
- /* @__PURE__ */ React100.createElement(import_icons30.DatabaseIcon, { fontSize: "large" }),
6901
- /* @__PURE__ */ React100.createElement(import_ui49.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n73.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React100.createElement("br", null), "\u201C", searchValue, "\u201D."),
6902
- /* @__PURE__ */ React100.createElement(import_ui49.Typography, { align: "center", variant: "caption", sx: { display: "flex", flexDirection: "column" } }, (0, import_i18n73.__)("Try something else.", "elementor"), /* @__PURE__ */ React100.createElement(import_ui49.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n73.__)("Clear & try again", "elementor")))
7164
+ /* @__PURE__ */ React101.createElement(import_icons30.DatabaseIcon, { fontSize: "large" }),
7165
+ /* @__PURE__ */ React101.createElement(import_ui50.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n76.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React101.createElement("br", null), "\u201C", searchValue, "\u201D."),
7166
+ /* @__PURE__ */ React101.createElement(import_ui50.Typography, { align: "center", variant: "caption", sx: { display: "flex", flexDirection: "column" } }, (0, import_i18n76.__)("Try something else.", "elementor"), /* @__PURE__ */ React101.createElement(import_ui50.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n76.__)("Clear & try again", "elementor")))
6903
7167
  );
6904
- var NoDynamicTags = () => /* @__PURE__ */ React100.createElement(React100.Fragment, null, /* @__PURE__ */ React100.createElement(import_ui49.Divider, null), /* @__PURE__ */ React100.createElement(
6905
- import_ui49.Stack,
7168
+ var NoDynamicTags = () => /* @__PURE__ */ React101.createElement(React101.Fragment, null, /* @__PURE__ */ React101.createElement(import_ui50.Divider, null), /* @__PURE__ */ React101.createElement(
7169
+ import_ui50.Stack,
6906
7170
  {
6907
7171
  gap: 1,
6908
7172
  alignItems: "center",
@@ -6912,20 +7176,20 @@ var NoDynamicTags = () => /* @__PURE__ */ React100.createElement(React100.Fragme
6912
7176
  color: "text.secondary",
6913
7177
  sx: { pb: 3.5 }
6914
7178
  },
6915
- /* @__PURE__ */ React100.createElement(import_icons30.DatabaseIcon, { fontSize: "large" }),
6916
- /* @__PURE__ */ React100.createElement(import_ui49.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n73.__)("Streamline your workflow with dynamic tags", "elementor")),
6917
- /* @__PURE__ */ React100.createElement(import_ui49.Typography, { align: "center", variant: "caption", width: PROMO_TEXT_WIDTH }, (0, import_i18n73.__)("Upgrade now to display your content dynamically.", "elementor")),
6918
- /* @__PURE__ */ React100.createElement(
7179
+ /* @__PURE__ */ React101.createElement(import_icons30.DatabaseIcon, { fontSize: "large" }),
7180
+ /* @__PURE__ */ React101.createElement(import_ui50.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n76.__)("Streamline your workflow with dynamic tags", "elementor")),
7181
+ /* @__PURE__ */ React101.createElement(import_ui50.Typography, { align: "center", variant: "caption", width: PROMO_TEXT_WIDTH }, (0, import_i18n76.__)("Upgrade now to display your content dynamically.", "elementor")),
7182
+ /* @__PURE__ */ React101.createElement(
6919
7183
  import_editor_ui10.CtaButton,
6920
7184
  {
6921
7185
  size: "small",
6922
7186
  href: PRO_DYNAMIC_TAGS_URL,
6923
- onClick: () => (0, import_editor_controls64.trackUpgradePromotionClick)({ target_name: "dynamic_tags" })
7187
+ onClick: () => (0, import_editor_controls65.trackUpgradePromotionClick)({ target_name: "dynamic_tags" })
6924
7188
  }
6925
7189
  )
6926
7190
  ));
6927
- var ExpiredDynamicTags = () => /* @__PURE__ */ React100.createElement(React100.Fragment, null, /* @__PURE__ */ React100.createElement(import_ui49.Divider, null), /* @__PURE__ */ React100.createElement(
6928
- import_ui49.Stack,
7191
+ var ExpiredDynamicTags = () => /* @__PURE__ */ React101.createElement(React101.Fragment, null, /* @__PURE__ */ React101.createElement(import_ui50.Divider, null), /* @__PURE__ */ React101.createElement(
7192
+ import_ui50.Stack,
6929
7193
  {
6930
7194
  gap: 1,
6931
7195
  alignItems: "center",
@@ -6935,16 +7199,16 @@ var ExpiredDynamicTags = () => /* @__PURE__ */ React100.createElement(React100.F
6935
7199
  color: "text.secondary",
6936
7200
  sx: { pb: 3.5 }
6937
7201
  },
6938
- /* @__PURE__ */ React100.createElement(import_icons30.DatabaseIcon, { fontSize: "large" }),
6939
- /* @__PURE__ */ React100.createElement(import_ui49.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n73.__)("Unlock your Dynamic tags again", "elementor")),
6940
- /* @__PURE__ */ React100.createElement(import_ui49.Typography, { align: "center", variant: "caption", width: PROMO_TEXT_WIDTH }, (0, import_i18n73.__)("Dynamic tags need Elementor Pro. Renew now to keep them active.", "elementor")),
6941
- /* @__PURE__ */ React100.createElement(
7202
+ /* @__PURE__ */ React101.createElement(import_icons30.DatabaseIcon, { fontSize: "large" }),
7203
+ /* @__PURE__ */ React101.createElement(import_ui50.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n76.__)("Unlock your Dynamic tags again", "elementor")),
7204
+ /* @__PURE__ */ React101.createElement(import_ui50.Typography, { align: "center", variant: "caption", width: PROMO_TEXT_WIDTH }, (0, import_i18n76.__)("Dynamic tags need Elementor Pro. Renew now to keep them active.", "elementor")),
7205
+ /* @__PURE__ */ React101.createElement(
6942
7206
  import_editor_ui10.CtaButton,
6943
7207
  {
6944
7208
  size: "small",
6945
7209
  href: RENEW_DYNAMIC_TAGS_URL,
6946
- onClick: () => (0, import_editor_controls64.trackUpgradePromotionClick)({ target_name: "dynamic_tags" }),
6947
- children: (0, import_i18n73.__)("Renew Now", "elementor")
7210
+ onClick: () => (0, import_editor_controls65.trackUpgradePromotionClick)({ target_name: "dynamic_tags" }),
7211
+ children: (0, import_i18n76.__)("Renew Now", "elementor")
6948
7212
  }
6949
7213
  )
6950
7214
  ));
@@ -6968,8 +7232,8 @@ var useFilteredOptions = (searchValue) => {
6968
7232
  var SIZE3 = "tiny";
6969
7233
  var tagsWithoutTabs = ["popup"];
6970
7234
  var DynamicSelectionControl = ({ OriginalControl, ...props }) => {
6971
- const { setValue: setAnyValue, propType } = (0, import_editor_controls65.useBoundProp)();
6972
- const { bind, value } = (0, import_editor_controls65.useBoundProp)(dynamicPropTypeUtil);
7235
+ const { setValue: setAnyValue, propType } = (0, import_editor_controls66.useBoundProp)();
7236
+ const { bind, value } = (0, import_editor_controls66.useBoundProp)(dynamicPropTypeUtil);
6973
7237
  const { expired: readonly } = useLicenseConfig();
6974
7238
  const originalPropType = createTopLevelObjectType({
6975
7239
  schema: {
@@ -6977,11 +7241,11 @@ var DynamicSelectionControl = ({ OriginalControl, ...props }) => {
6977
7241
  }
6978
7242
  });
6979
7243
  const [propValueFromHistory] = usePersistDynamicValue(bind);
6980
- const selectionPopoverState = (0, import_ui50.usePopupState)({ variant: "popover" });
7244
+ const selectionPopoverState = (0, import_ui51.usePopupState)({ variant: "popover" });
6981
7245
  const { name: tagName = "" } = value;
6982
7246
  const dynamicTag = useDynamicTag(tagName);
6983
7247
  if (!isDynamicTagSupported(tagName) && OriginalControl) {
6984
- return /* @__PURE__ */ React101.createElement(import_editor_controls65.PropProvider, { propType: originalPropType, value: { [bind]: null }, setValue: setAnyValue }, /* @__PURE__ */ React101.createElement(import_editor_controls65.PropKeyProvider, { bind }, /* @__PURE__ */ React101.createElement(OriginalControl, { ...props })));
7248
+ return /* @__PURE__ */ React102.createElement(import_editor_controls66.PropProvider, { propType: originalPropType, value: { [bind]: null }, setValue: setAnyValue }, /* @__PURE__ */ React102.createElement(import_editor_controls66.PropKeyProvider, { bind }, /* @__PURE__ */ React102.createElement(OriginalControl, { ...props })));
6985
7249
  }
6986
7250
  const removeDynamicTag = () => {
6987
7251
  setAnyValue(propValueFromHistory ?? null);
@@ -6989,26 +7253,26 @@ var DynamicSelectionControl = ({ OriginalControl, ...props }) => {
6989
7253
  if (!dynamicTag) {
6990
7254
  throw new Error(`Dynamic tag ${tagName} not found`);
6991
7255
  }
6992
- return /* @__PURE__ */ React101.createElement(import_ui50.Box, null, /* @__PURE__ */ React101.createElement(
6993
- import_ui50.UnstableTag,
7256
+ return /* @__PURE__ */ React102.createElement(import_ui51.Box, null, /* @__PURE__ */ React102.createElement(
7257
+ import_ui51.UnstableTag,
6994
7258
  {
6995
7259
  fullWidth: true,
6996
7260
  showActionsOnHover: true,
6997
7261
  label: dynamicTag.label,
6998
- startIcon: /* @__PURE__ */ React101.createElement(import_icons31.DatabaseIcon, { fontSize: SIZE3 }),
6999
- ...(0, import_ui50.bindTrigger)(selectionPopoverState),
7000
- actions: /* @__PURE__ */ React101.createElement(React101.Fragment, null, /* @__PURE__ */ React101.createElement(DynamicSettingsPopover, { dynamicTag, disabled: readonly }), /* @__PURE__ */ React101.createElement(
7001
- import_ui50.IconButton,
7262
+ startIcon: /* @__PURE__ */ React102.createElement(import_icons31.DatabaseIcon, { fontSize: SIZE3 }),
7263
+ ...(0, import_ui51.bindTrigger)(selectionPopoverState),
7264
+ actions: /* @__PURE__ */ React102.createElement(React102.Fragment, null, /* @__PURE__ */ React102.createElement(DynamicSettingsPopover, { dynamicTag, disabled: readonly }), /* @__PURE__ */ React102.createElement(
7265
+ import_ui51.IconButton,
7002
7266
  {
7003
7267
  size: SIZE3,
7004
7268
  onClick: removeDynamicTag,
7005
- "aria-label": (0, import_i18n74.__)("Remove dynamic value", "elementor")
7269
+ "aria-label": (0, import_i18n77.__)("Remove dynamic value", "elementor")
7006
7270
  },
7007
- /* @__PURE__ */ React101.createElement(import_icons31.XIcon, { fontSize: SIZE3 })
7271
+ /* @__PURE__ */ React102.createElement(import_icons31.XIcon, { fontSize: SIZE3 })
7008
7272
  ))
7009
7273
  }
7010
- ), /* @__PURE__ */ React101.createElement(
7011
- import_ui50.Popover,
7274
+ ), /* @__PURE__ */ React102.createElement(
7275
+ import_ui51.Popover,
7012
7276
  {
7013
7277
  disablePortal: true,
7014
7278
  disableScrollLock: true,
@@ -7017,31 +7281,31 @@ var DynamicSelectionControl = ({ OriginalControl, ...props }) => {
7017
7281
  PaperProps: {
7018
7282
  sx: { my: 1 }
7019
7283
  },
7020
- ...(0, import_ui50.bindPopover)(selectionPopoverState)
7284
+ ...(0, import_ui51.bindPopover)(selectionPopoverState)
7021
7285
  },
7022
- /* @__PURE__ */ React101.createElement(import_editor_ui11.SectionPopoverBody, { "aria-label": (0, import_i18n74.__)("Dynamic tags", "elementor") }, /* @__PURE__ */ React101.createElement(DynamicSelection, { close: selectionPopoverState.close, expired: readonly }))
7286
+ /* @__PURE__ */ React102.createElement(import_editor_ui11.SectionPopoverBody, { "aria-label": (0, import_i18n77.__)("Dynamic tags", "elementor") }, /* @__PURE__ */ React102.createElement(DynamicSelection, { close: selectionPopoverState.close, expired: readonly }))
7023
7287
  ));
7024
7288
  };
7025
7289
  var DynamicSettingsPopover = ({
7026
7290
  dynamicTag,
7027
7291
  disabled = false
7028
7292
  }) => {
7029
- const popupState = (0, import_ui50.usePopupState)({ variant: "popover" });
7293
+ const popupState = (0, import_ui51.usePopupState)({ variant: "popover" });
7030
7294
  const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
7031
7295
  if (!hasDynamicSettings) {
7032
7296
  return null;
7033
7297
  }
7034
- return /* @__PURE__ */ React101.createElement(React101.Fragment, null, /* @__PURE__ */ React101.createElement(
7035
- import_ui50.IconButton,
7298
+ return /* @__PURE__ */ React102.createElement(React102.Fragment, null, /* @__PURE__ */ React102.createElement(
7299
+ import_ui51.IconButton,
7036
7300
  {
7037
7301
  size: SIZE3,
7038
7302
  disabled,
7039
- ...!disabled && (0, import_ui50.bindTrigger)(popupState),
7040
- "aria-label": (0, import_i18n74.__)("Dynamic settings", "elementor")
7303
+ ...!disabled && (0, import_ui51.bindTrigger)(popupState),
7304
+ "aria-label": (0, import_i18n77.__)("Dynamic settings", "elementor")
7041
7305
  },
7042
- /* @__PURE__ */ React101.createElement(import_icons31.SettingsIcon, { fontSize: SIZE3 })
7043
- ), /* @__PURE__ */ React101.createElement(
7044
- import_ui50.Popover,
7306
+ /* @__PURE__ */ React102.createElement(import_icons31.SettingsIcon, { fontSize: SIZE3 })
7307
+ ), /* @__PURE__ */ React102.createElement(
7308
+ import_ui51.Popover,
7045
7309
  {
7046
7310
  disablePortal: true,
7047
7311
  disableScrollLock: true,
@@ -7050,45 +7314,45 @@ var DynamicSettingsPopover = ({
7050
7314
  PaperProps: {
7051
7315
  sx: { my: 1 }
7052
7316
  },
7053
- ...(0, import_ui50.bindPopover)(popupState)
7317
+ ...(0, import_ui51.bindPopover)(popupState)
7054
7318
  },
7055
- /* @__PURE__ */ React101.createElement(import_editor_ui11.SectionPopoverBody, { "aria-label": (0, import_i18n74.__)("Dynamic settings", "elementor") }, /* @__PURE__ */ React101.createElement(
7319
+ /* @__PURE__ */ React102.createElement(import_editor_ui11.SectionPopoverBody, { "aria-label": (0, import_i18n77.__)("Dynamic settings", "elementor") }, /* @__PURE__ */ React102.createElement(
7056
7320
  import_editor_ui11.PopoverHeader,
7057
7321
  {
7058
7322
  title: dynamicTag.label,
7059
7323
  onClose: popupState.close,
7060
- icon: /* @__PURE__ */ React101.createElement(import_icons31.DatabaseIcon, { fontSize: SIZE3 })
7324
+ icon: /* @__PURE__ */ React102.createElement(import_icons31.DatabaseIcon, { fontSize: SIZE3 })
7061
7325
  }
7062
- ), /* @__PURE__ */ React101.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls, tagName: dynamicTag.name }))
7326
+ ), /* @__PURE__ */ React102.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls, tagName: dynamicTag.name }))
7063
7327
  ));
7064
7328
  };
7065
7329
  var DynamicSettings = ({ controls, tagName }) => {
7066
7330
  const tabs = controls.filter(({ type }) => type === "section");
7067
- const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui50.useTabs)(0);
7331
+ const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui51.useTabs)(0);
7068
7332
  if (!tabs.length) {
7069
7333
  return null;
7070
7334
  }
7071
7335
  if (tagsWithoutTabs.includes(tagName)) {
7072
7336
  const singleTab = tabs[0];
7073
- return /* @__PURE__ */ React101.createElement(React101.Fragment, null, /* @__PURE__ */ React101.createElement(import_ui50.Divider, null), /* @__PURE__ */ React101.createElement(ControlsItemsStack, { items: singleTab.value.items }));
7337
+ return /* @__PURE__ */ React102.createElement(React102.Fragment, null, /* @__PURE__ */ React102.createElement(import_ui51.Divider, null), /* @__PURE__ */ React102.createElement(ControlsItemsStack, { items: singleTab.value.items }));
7074
7338
  }
7075
- return /* @__PURE__ */ React101.createElement(React101.Fragment, null, tabs.length > 1 && /* @__PURE__ */ React101.createElement(import_ui50.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React101.createElement(
7076
- import_ui50.Tab,
7339
+ return /* @__PURE__ */ React102.createElement(React102.Fragment, null, tabs.length > 1 && /* @__PURE__ */ React102.createElement(import_ui51.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React102.createElement(
7340
+ import_ui51.Tab,
7077
7341
  {
7078
7342
  key: index,
7079
7343
  label: value.label,
7080
7344
  sx: { px: 1, py: 0.5 },
7081
7345
  ...getTabProps(index)
7082
7346
  }
7083
- ))), /* @__PURE__ */ React101.createElement(import_ui50.Divider, null), tabs.map(({ value }, index) => {
7084
- return /* @__PURE__ */ React101.createElement(
7085
- import_ui50.TabPanel,
7347
+ ))), /* @__PURE__ */ React102.createElement(import_ui51.Divider, null), tabs.map(({ value }, index) => {
7348
+ return /* @__PURE__ */ React102.createElement(
7349
+ import_ui51.TabPanel,
7086
7350
  {
7087
7351
  key: index,
7088
7352
  sx: { flexGrow: 1, py: 0, overflowY: "auto" },
7089
7353
  ...getTabPanelProps(index)
7090
7354
  },
7091
- /* @__PURE__ */ React101.createElement(ControlsItemsStack, { items: value.items })
7355
+ /* @__PURE__ */ React102.createElement(ControlsItemsStack, { items: value.items })
7092
7356
  );
7093
7357
  }));
7094
7358
  };
@@ -7130,17 +7394,17 @@ var Control2 = ({ control }) => {
7130
7394
  display: "grid",
7131
7395
  gridTemplateColumns: isSwitchControl ? "minmax(0, 1fr) max-content" : "1fr 1fr"
7132
7396
  } : {};
7133
- return /* @__PURE__ */ React101.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React101.createElement(import_ui50.Grid, { container: true, gap: 0.75, sx: layoutStyleProps }, control.label ? /* @__PURE__ */ React101.createElement(import_ui50.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React101.createElement(import_editor_controls65.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React101.createElement(import_ui50.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React101.createElement(Control, { type: control.type, props: controlProps }))));
7397
+ return /* @__PURE__ */ React102.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React102.createElement(import_ui51.Grid, { container: true, gap: 0.75, sx: layoutStyleProps }, control.label ? /* @__PURE__ */ React102.createElement(import_ui51.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React102.createElement(import_editor_controls66.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React102.createElement(import_ui51.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React102.createElement(Control, { type: control.type, props: controlProps }))));
7134
7398
  };
7135
7399
  function ControlsItemsStack({ items: items3 }) {
7136
- return /* @__PURE__ */ React101.createElement(import_ui50.Stack, { p: 2, gap: 2, sx: { overflowY: "auto" } }, items3.map(
7137
- (item) => item.type === "control" ? /* @__PURE__ */ React101.createElement(Control2, { key: item.value.bind, control: item.value }) : null
7400
+ return /* @__PURE__ */ React102.createElement(import_ui51.Stack, { p: 2, gap: 2, sx: { overflowY: "auto" } }, items3.map(
7401
+ (item) => item.type === "control" ? /* @__PURE__ */ React102.createElement(Control2, { key: item.value.bind, control: item.value }) : null
7138
7402
  ));
7139
7403
  }
7140
7404
 
7141
7405
  // src/dynamics/dynamic-transformer.ts
7142
7406
  var import_editor_canvas2 = require("@elementor/editor-canvas");
7143
- var import_editor_props25 = require("@elementor/editor-props");
7407
+ var import_editor_props28 = require("@elementor/editor-props");
7144
7408
 
7145
7409
  // src/dynamics/errors.ts
7146
7410
  var import_utils9 = require("@elementor/utils");
@@ -7159,7 +7423,7 @@ var dynamicTransformer = (0, import_editor_canvas2.createTransformer)((value, {
7159
7423
  });
7160
7424
  function simpleTransform(props) {
7161
7425
  const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
7162
- const value = (0, import_editor_props25.isTransformable)(settingValue) ? settingValue.value : settingValue;
7426
+ const value = (0, import_editor_props28.isTransformable)(settingValue) ? settingValue.value : settingValue;
7163
7427
  return [settingKey, value];
7164
7428
  });
7165
7429
  return Object.fromEntries(transformed);
@@ -7191,34 +7455,34 @@ function getDynamicValue(name, settings, renderPostId) {
7191
7455
  }
7192
7456
 
7193
7457
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
7194
- var React102 = __toESM(require("react"));
7195
- var import_editor_controls66 = require("@elementor/editor-controls");
7458
+ var React103 = __toESM(require("react"));
7459
+ var import_editor_controls67 = require("@elementor/editor-controls");
7196
7460
  var import_icons32 = require("@elementor/icons");
7197
- var import_i18n75 = require("@wordpress/i18n");
7461
+ var import_i18n78 = require("@wordpress/i18n");
7198
7462
  var usePropDynamicAction = () => {
7199
- const { propType } = (0, import_editor_controls66.useBoundProp)();
7463
+ const { propType } = (0, import_editor_controls67.useBoundProp)();
7200
7464
  const visible = !!propType && supportsDynamic(propType);
7201
7465
  return {
7202
7466
  visible,
7203
7467
  icon: import_icons32.DatabaseIcon,
7204
- title: (0, import_i18n75.__)("Dynamic tags", "elementor"),
7205
- content: ({ close }) => /* @__PURE__ */ React102.createElement(DynamicSelection, { close })
7468
+ title: (0, import_i18n78.__)("Dynamic tags", "elementor"),
7469
+ content: ({ close }) => /* @__PURE__ */ React103.createElement(DynamicSelection, { close })
7206
7470
  };
7207
7471
  };
7208
7472
 
7209
7473
  // src/dynamics/init.ts
7210
7474
  var { registerPopoverAction } = import_menus2.controlActionsMenu;
7211
7475
  var init2 = () => {
7212
- (0, import_editor_controls67.registerControlReplacement)({
7476
+ (0, import_editor_controls68.registerControlReplacement)({
7213
7477
  component: DynamicSelectionControl,
7214
7478
  condition: ({ value }) => isDynamicPropValue(value)
7215
7479
  });
7216
- (0, import_editor_controls67.injectIntoRepeaterItemLabel)({
7480
+ (0, import_editor_controls68.injectIntoRepeaterItemLabel)({
7217
7481
  id: "dynamic-background-image",
7218
7482
  condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
7219
7483
  component: BackgroundControlDynamicTagLabel
7220
7484
  });
7221
- (0, import_editor_controls67.injectIntoRepeaterItemIcon)({
7485
+ (0, import_editor_controls68.injectIntoRepeaterItemIcon)({
7222
7486
  id: "dynamic-background-image",
7223
7487
  condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
7224
7488
  component: BackgroundControlDynamicTagIcon
@@ -7233,11 +7497,11 @@ var init2 = () => {
7233
7497
  };
7234
7498
 
7235
7499
  // src/reset-style-props.tsx
7236
- var import_editor_controls68 = require("@elementor/editor-controls");
7500
+ var import_editor_controls69 = require("@elementor/editor-controls");
7237
7501
  var import_editor_variables2 = require("@elementor/editor-variables");
7238
7502
  var import_icons33 = require("@elementor/icons");
7239
7503
  var import_menus3 = require("@elementor/menus");
7240
- var import_i18n76 = require("@wordpress/i18n");
7504
+ var import_i18n79 = require("@wordpress/i18n");
7241
7505
 
7242
7506
  // src/utils/is-equal.ts
7243
7507
  function isEqual(a, b) {
@@ -7293,7 +7557,7 @@ function initResetStyleProps() {
7293
7557
  }
7294
7558
  function useResetStyleValueProps() {
7295
7559
  const isStyle = useIsStyle();
7296
- const { value, resetValue, propType } = (0, import_editor_controls68.useBoundProp)();
7560
+ const { value, resetValue, propType } = (0, import_editor_controls69.useBoundProp)();
7297
7561
  const hasValue = value !== null && value !== void 0;
7298
7562
  const hasInitial = propType.initial_value !== void 0 && propType.initial_value !== null;
7299
7563
  const isRequired = !!propType.settings?.required;
@@ -7313,44 +7577,44 @@ function useResetStyleValueProps() {
7313
7577
  const visible = calculateVisibility();
7314
7578
  return {
7315
7579
  visible,
7316
- title: (0, import_i18n76.__)("Clear", "elementor"),
7580
+ title: (0, import_i18n79.__)("Clear", "elementor"),
7317
7581
  icon: import_icons33.BrushBigIcon,
7318
7582
  onClick: () => resetValue()
7319
7583
  };
7320
7584
  }
7321
7585
 
7322
7586
  // src/styles-inheritance/components/styles-inheritance-indicator.tsx
7323
- var React108 = __toESM(require("react"));
7324
- var import_editor_controls69 = require("@elementor/editor-controls");
7325
- var import_editor_props26 = require("@elementor/editor-props");
7587
+ var React109 = __toESM(require("react"));
7588
+ var import_editor_controls70 = require("@elementor/editor-controls");
7589
+ var import_editor_props29 = require("@elementor/editor-props");
7326
7590
  var import_editor_styles_repository20 = require("@elementor/editor-styles-repository");
7327
- var import_i18n80 = require("@wordpress/i18n");
7591
+ var import_i18n83 = require("@wordpress/i18n");
7328
7592
 
7329
7593
  // src/styles-inheritance/components/styles-inheritance-infotip.tsx
7330
- var React107 = __toESM(require("react"));
7331
- var import_react47 = require("react");
7594
+ var React108 = __toESM(require("react"));
7595
+ var import_react48 = require("react");
7332
7596
  var import_editor_canvas5 = require("@elementor/editor-canvas");
7333
7597
  var import_editor_ui12 = require("@elementor/editor-ui");
7334
- var import_ui55 = require("@elementor/ui");
7335
- var import_i18n79 = require("@wordpress/i18n");
7598
+ var import_ui56 = require("@elementor/ui");
7599
+ var import_i18n82 = require("@wordpress/i18n");
7336
7600
 
7337
7601
  // src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
7338
- var import_react46 = require("react");
7602
+ var import_react47 = require("react");
7339
7603
  var import_editor_canvas4 = require("@elementor/editor-canvas");
7340
7604
  var import_editor_styles8 = require("@elementor/editor-styles");
7341
7605
  var import_editor_styles_repository18 = require("@elementor/editor-styles-repository");
7342
- var import_i18n77 = require("@wordpress/i18n");
7606
+ var import_i18n80 = require("@wordpress/i18n");
7343
7607
  var MAXIMUM_ITEMS = 2;
7344
7608
  var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
7345
- const [items3, setItems] = (0, import_react46.useState)([]);
7346
- (0, import_react46.useEffect)(() => {
7609
+ const [items3, setItems] = (0, import_react47.useState)([]);
7610
+ (0, import_react47.useEffect)(() => {
7347
7611
  (async () => {
7348
7612
  const normalizedItems = await Promise.all(
7349
7613
  inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
7350
7614
  );
7351
7615
  const validItems = normalizedItems.map((item) => ({
7352
7616
  ...item,
7353
- displayLabel: import_editor_styles_repository18.ELEMENTS_BASE_STYLES_PROVIDER_KEY !== item.provider ? item.displayLabel : (0, import_i18n77.__)("Base", "elementor")
7617
+ displayLabel: import_editor_styles_repository18.ELEMENTS_BASE_STYLES_PROVIDER_KEY !== item.provider ? item.displayLabel : (0, import_i18n80.__)("Base", "elementor")
7354
7618
  })).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
7355
7619
  setItems(validItems);
7356
7620
  })();
@@ -7394,7 +7658,7 @@ var getTransformedValue = async (item, bind, resolve) => {
7394
7658
  }
7395
7659
  });
7396
7660
  const value = result?.[bind] ?? result;
7397
- if ((0, import_react46.isValidElement)(value)) {
7661
+ if ((0, import_react47.isValidElement)(value)) {
7398
7662
  return value;
7399
7663
  }
7400
7664
  if (typeof value === "object") {
@@ -7407,10 +7671,10 @@ var getTransformedValue = async (item, bind, resolve) => {
7407
7671
  };
7408
7672
 
7409
7673
  // src/styles-inheritance/components/infotip/breakpoint-icon.tsx
7410
- var React103 = __toESM(require("react"));
7674
+ var React104 = __toESM(require("react"));
7411
7675
  var import_editor_responsive4 = require("@elementor/editor-responsive");
7412
7676
  var import_icons34 = require("@elementor/icons");
7413
- var import_ui51 = require("@elementor/ui");
7677
+ var import_ui52 = require("@elementor/ui");
7414
7678
  var SIZE4 = "tiny";
7415
7679
  var DEFAULT_BREAKPOINT3 = "desktop";
7416
7680
  var breakpointIconMap = {
@@ -7430,21 +7694,21 @@ var BreakpointIcon = ({ breakpoint }) => {
7430
7694
  return null;
7431
7695
  }
7432
7696
  const breakpointLabel = breakpoints.find((breakpointItem) => breakpointItem.id === currentBreakpoint)?.label;
7433
- return /* @__PURE__ */ React103.createElement(import_ui51.Tooltip, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React103.createElement(IconComponent, { fontSize: SIZE4, sx: { mt: "2px" } }));
7697
+ return /* @__PURE__ */ React104.createElement(import_ui52.Tooltip, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React104.createElement(IconComponent, { fontSize: SIZE4, sx: { mt: "2px" } }));
7434
7698
  };
7435
7699
 
7436
7700
  // src/styles-inheritance/components/infotip/label-chip.tsx
7437
- var React104 = __toESM(require("react"));
7701
+ var React105 = __toESM(require("react"));
7438
7702
  var import_editor_styles_repository19 = require("@elementor/editor-styles-repository");
7439
7703
  var import_icons35 = require("@elementor/icons");
7440
- var import_ui52 = require("@elementor/ui");
7441
- var import_i18n78 = require("@wordpress/i18n");
7704
+ var import_ui53 = require("@elementor/ui");
7705
+ var import_i18n81 = require("@wordpress/i18n");
7442
7706
  var SIZE5 = "tiny";
7443
7707
  var LabelChip = ({ displayLabel, provider }) => {
7444
7708
  const isBaseStyle = provider === import_editor_styles_repository19.ELEMENTS_BASE_STYLES_PROVIDER_KEY;
7445
- const chipIcon = isBaseStyle ? /* @__PURE__ */ React104.createElement(import_ui52.Tooltip, { title: (0, import_i18n78.__)("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React104.createElement(import_icons35.InfoCircleIcon, { fontSize: SIZE5 })) : void 0;
7446
- return /* @__PURE__ */ React104.createElement(
7447
- import_ui52.Chip,
7709
+ const chipIcon = isBaseStyle ? /* @__PURE__ */ React105.createElement(import_ui53.Tooltip, { title: (0, import_i18n81.__)("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React105.createElement(import_icons35.InfoCircleIcon, { fontSize: SIZE5 })) : void 0;
7710
+ return /* @__PURE__ */ React105.createElement(
7711
+ import_ui53.Chip,
7448
7712
  {
7449
7713
  label: displayLabel,
7450
7714
  size: SIZE5,
@@ -7469,11 +7733,11 @@ var LabelChip = ({ displayLabel, provider }) => {
7469
7733
  };
7470
7734
 
7471
7735
  // src/styles-inheritance/components/infotip/value-component.tsx
7472
- var React105 = __toESM(require("react"));
7473
- var import_ui53 = require("@elementor/ui");
7736
+ var React106 = __toESM(require("react"));
7737
+ var import_ui54 = require("@elementor/ui");
7474
7738
  var ValueComponent = ({ index, value }) => {
7475
- return /* @__PURE__ */ React105.createElement(import_ui53.Tooltip, { title: value, placement: "top" }, /* @__PURE__ */ React105.createElement(
7476
- import_ui53.Typography,
7739
+ return /* @__PURE__ */ React106.createElement(import_ui54.Tooltip, { title: value, placement: "top" }, /* @__PURE__ */ React106.createElement(
7740
+ import_ui54.Typography,
7477
7741
  {
7478
7742
  variant: "caption",
7479
7743
  color: "text.tertiary",
@@ -7494,9 +7758,9 @@ var ValueComponent = ({ index, value }) => {
7494
7758
  };
7495
7759
 
7496
7760
  // src/styles-inheritance/components/infotip/action-icons.tsx
7497
- var React106 = __toESM(require("react"));
7498
- var import_ui54 = require("@elementor/ui");
7499
- var ActionIcons = () => /* @__PURE__ */ React106.createElement(import_ui54.Box, { display: "flex", gap: 0.5, alignItems: "center" });
7761
+ var React107 = __toESM(require("react"));
7762
+ var import_ui55 = require("@elementor/ui");
7763
+ var ActionIcons = () => /* @__PURE__ */ React107.createElement(import_ui55.Box, { display: "flex", gap: 0.5, alignItems: "center" });
7500
7764
 
7501
7765
  // src/styles-inheritance/components/styles-inheritance-infotip.tsx
7502
7766
  var SECTION_PADDING_INLINE = 32;
@@ -7509,8 +7773,8 @@ var StylesInheritanceInfotip = ({
7509
7773
  children,
7510
7774
  isDisabled
7511
7775
  }) => {
7512
- const [showInfotip, setShowInfotip] = (0, import_react47.useState)(false);
7513
- const triggerRef = (0, import_react47.useRef)(null);
7776
+ const [showInfotip, setShowInfotip] = (0, import_react48.useState)(false);
7777
+ const triggerRef = (0, import_react48.useRef)(null);
7514
7778
  const toggleInfotip = () => {
7515
7779
  if (isDisabled) {
7516
7780
  return;
@@ -7525,15 +7789,15 @@ var StylesInheritanceInfotip = ({
7525
7789
  };
7526
7790
  const key = path.join(".");
7527
7791
  const sectionWidth = (0, import_editor_ui12.useSectionWidth)();
7528
- const resolve = (0, import_react47.useMemo)(() => {
7792
+ const resolve = (0, import_react48.useMemo)(() => {
7529
7793
  return (0, import_editor_canvas5.createPropsResolver)({
7530
7794
  transformers: import_editor_canvas5.stylesInheritanceTransformersRegistry,
7531
7795
  schema: { [key]: propType }
7532
7796
  });
7533
7797
  }, [key, propType]);
7534
7798
  const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
7535
- const infotipContent = /* @__PURE__ */ React107.createElement(import_ui55.ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React107.createElement(
7536
- import_ui55.Card,
7799
+ const infotipContent = /* @__PURE__ */ React108.createElement(import_ui56.ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React108.createElement(
7800
+ import_ui56.Card,
7537
7801
  {
7538
7802
  elevation: 0,
7539
7803
  sx: {
@@ -7545,8 +7809,8 @@ var StylesInheritanceInfotip = ({
7545
7809
  flexDirection: "column"
7546
7810
  }
7547
7811
  },
7548
- /* @__PURE__ */ React107.createElement(
7549
- import_ui55.Box,
7812
+ /* @__PURE__ */ React108.createElement(
7813
+ import_ui56.Box,
7550
7814
  {
7551
7815
  sx: {
7552
7816
  position: "sticky",
@@ -7555,10 +7819,10 @@ var StylesInheritanceInfotip = ({
7555
7819
  backgroundColor: "background.paper"
7556
7820
  }
7557
7821
  },
7558
- /* @__PURE__ */ React107.createElement(import_editor_ui12.PopoverHeader, { title: (0, import_i18n79.__)("Style origin", "elementor"), onClose: closeInfotip })
7822
+ /* @__PURE__ */ React108.createElement(import_editor_ui12.PopoverHeader, { title: (0, import_i18n82.__)("Style origin", "elementor"), onClose: closeInfotip })
7559
7823
  ),
7560
- /* @__PURE__ */ React107.createElement(
7561
- import_ui55.CardContent,
7824
+ /* @__PURE__ */ React108.createElement(
7825
+ import_ui56.CardContent,
7562
7826
  {
7563
7827
  sx: {
7564
7828
  display: "flex",
@@ -7571,39 +7835,39 @@ var StylesInheritanceInfotip = ({
7571
7835
  }
7572
7836
  }
7573
7837
  },
7574
- /* @__PURE__ */ React107.createElement(import_ui55.Stack, { gap: 1.5, sx: { pl: 2, pr: 1, pt: 1.5, pb: 1.5 }, role: "list" }, items3.map((item, index) => {
7575
- return /* @__PURE__ */ React107.createElement(
7576
- import_ui55.Box,
7838
+ /* @__PURE__ */ React108.createElement(import_ui56.Stack, { gap: 1.5, sx: { pl: 2, pr: 1, pt: 1.5, pb: 1.5 }, role: "list" }, items3.map((item, index) => {
7839
+ return /* @__PURE__ */ React108.createElement(
7840
+ import_ui56.Box,
7577
7841
  {
7578
7842
  key: item.id,
7579
7843
  display: "flex",
7580
7844
  gap: 0.5,
7581
7845
  role: "listitem",
7582
- "aria-label": (0, import_i18n79.__)("Inheritance item: %s", "elementor").replace(
7846
+ "aria-label": (0, import_i18n82.__)("Inheritance item: %s", "elementor").replace(
7583
7847
  "%s",
7584
7848
  item.displayLabel
7585
7849
  )
7586
7850
  },
7587
- /* @__PURE__ */ React107.createElement(
7588
- import_ui55.Box,
7851
+ /* @__PURE__ */ React108.createElement(
7852
+ import_ui56.Box,
7589
7853
  {
7590
7854
  display: "flex",
7591
7855
  gap: 0.5,
7592
7856
  sx: { flexWrap: "wrap", width: "100%", alignItems: "flex-start" }
7593
7857
  },
7594
- /* @__PURE__ */ React107.createElement(BreakpointIcon, { breakpoint: item.breakpoint }),
7595
- /* @__PURE__ */ React107.createElement(LabelChip, { displayLabel: item.displayLabel, provider: item.provider }),
7596
- /* @__PURE__ */ React107.createElement(ValueComponent, { index, value: item.value })
7858
+ /* @__PURE__ */ React108.createElement(BreakpointIcon, { breakpoint: item.breakpoint }),
7859
+ /* @__PURE__ */ React108.createElement(LabelChip, { displayLabel: item.displayLabel, provider: item.provider }),
7860
+ /* @__PURE__ */ React108.createElement(ValueComponent, { index, value: item.value })
7597
7861
  ),
7598
- /* @__PURE__ */ React107.createElement(ActionIcons, null)
7862
+ /* @__PURE__ */ React108.createElement(ActionIcons, null)
7599
7863
  );
7600
7864
  }))
7601
7865
  )
7602
7866
  ));
7603
7867
  if (isDisabled) {
7604
- return /* @__PURE__ */ React107.createElement(import_ui55.Box, { sx: { display: "inline-flex" } }, children);
7868
+ return /* @__PURE__ */ React108.createElement(import_ui56.Box, { sx: { display: "inline-flex" } }, children);
7605
7869
  }
7606
- return /* @__PURE__ */ React107.createElement(import_ui55.Box, { ref: triggerRef, sx: { display: "inline-flex" } }, /* @__PURE__ */ React107.createElement(
7870
+ return /* @__PURE__ */ React108.createElement(import_ui56.Box, { ref: triggerRef, sx: { display: "inline-flex" } }, /* @__PURE__ */ React108.createElement(
7607
7871
  TooltipOrInfotip,
7608
7872
  {
7609
7873
  showInfotip,
@@ -7611,8 +7875,8 @@ var StylesInheritanceInfotip = ({
7611
7875
  infotipContent,
7612
7876
  isDisabled
7613
7877
  },
7614
- /* @__PURE__ */ React107.createElement(
7615
- import_ui55.IconButton,
7878
+ /* @__PURE__ */ React108.createElement(
7879
+ import_ui56.IconButton,
7616
7880
  {
7617
7881
  onClick: toggleInfotip,
7618
7882
  "aria-label": label,
@@ -7631,11 +7895,11 @@ function TooltipOrInfotip({
7631
7895
  isDisabled
7632
7896
  }) {
7633
7897
  if (isDisabled) {
7634
- return /* @__PURE__ */ React107.createElement(import_ui55.Box, { sx: { display: "inline-flex" } }, children);
7898
+ return /* @__PURE__ */ React108.createElement(import_ui56.Box, { sx: { display: "inline-flex" } }, children);
7635
7899
  }
7636
7900
  if (showInfotip) {
7637
- return /* @__PURE__ */ React107.createElement(React107.Fragment, null, /* @__PURE__ */ React107.createElement(
7638
- import_ui55.Backdrop,
7901
+ return /* @__PURE__ */ React108.createElement(React108.Fragment, null, /* @__PURE__ */ React108.createElement(
7902
+ import_ui56.Backdrop,
7639
7903
  {
7640
7904
  open: showInfotip,
7641
7905
  onClick: onClose,
@@ -7644,8 +7908,8 @@ function TooltipOrInfotip({
7644
7908
  zIndex: (theme) => theme.zIndex.modal - 1
7645
7909
  }
7646
7910
  }
7647
- ), /* @__PURE__ */ React107.createElement(
7648
- import_ui55.Infotip,
7911
+ ), /* @__PURE__ */ React108.createElement(
7912
+ import_ui56.Infotip,
7649
7913
  {
7650
7914
  placement: "top-end",
7651
7915
  content: infotipContent,
@@ -7656,25 +7920,25 @@ function TooltipOrInfotip({
7656
7920
  children
7657
7921
  ));
7658
7922
  }
7659
- return /* @__PURE__ */ React107.createElement(import_ui55.Tooltip, { title: (0, import_i18n79.__)("Style origin", "elementor"), placement: "top" }, children);
7923
+ return /* @__PURE__ */ React108.createElement(import_ui56.Tooltip, { title: (0, import_i18n82.__)("Style origin", "elementor"), placement: "top" }, children);
7660
7924
  }
7661
7925
 
7662
7926
  // src/styles-inheritance/components/styles-inheritance-indicator.tsx
7663
7927
  var StylesInheritanceIndicator = ({
7664
7928
  customContext
7665
7929
  }) => {
7666
- const context = (0, import_editor_controls69.useBoundProp)();
7930
+ const context = (0, import_editor_controls70.useBoundProp)();
7667
7931
  const { path, propType } = customContext || context;
7668
7932
  const inheritanceChain = useStylesInheritanceChain(path);
7669
7933
  if (!path || !inheritanceChain.length) {
7670
7934
  return null;
7671
7935
  }
7672
- return /* @__PURE__ */ React108.createElement(Indicator, { inheritanceChain, path, propType });
7936
+ return /* @__PURE__ */ React109.createElement(Indicator, { inheritanceChain, path, propType });
7673
7937
  };
7674
7938
  var Indicator = ({ inheritanceChain, path, propType, isDisabled }) => {
7675
7939
  const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
7676
7940
  const currentItem = currentStyleId ? getValueFromInheritanceChain(inheritanceChain, currentStyleId, currentStyleMeta) : null;
7677
- const hasValue = !(0, import_editor_props26.isEmpty)(currentItem?.value);
7941
+ const hasValue = !(0, import_editor_props29.isEmpty)(currentItem?.value);
7678
7942
  const [actualStyle] = inheritanceChain;
7679
7943
  if (actualStyle.provider === import_editor_styles_repository20.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
7680
7944
  return null;
@@ -7685,7 +7949,7 @@ var Indicator = ({ inheritanceChain, path, propType, isDisabled }) => {
7685
7949
  getColor: isFinalValue && currentStyleProvider ? getStylesProviderThemeColor(currentStyleProvider.getKey()) : void 0,
7686
7950
  isOverridden: hasValue && !isFinalValue ? true : void 0
7687
7951
  };
7688
- return /* @__PURE__ */ React108.createElement(
7952
+ return /* @__PURE__ */ React109.createElement(
7689
7953
  StylesInheritanceInfotip,
7690
7954
  {
7691
7955
  inheritanceChain,
@@ -7694,17 +7958,17 @@ var Indicator = ({ inheritanceChain, path, propType, isDisabled }) => {
7694
7958
  label,
7695
7959
  isDisabled
7696
7960
  },
7697
- /* @__PURE__ */ React108.createElement(StyleIndicator, { ...styleIndicatorProps })
7961
+ /* @__PURE__ */ React109.createElement(StyleIndicator, { ...styleIndicatorProps })
7698
7962
  );
7699
7963
  };
7700
7964
  var getLabel = ({ isFinalValue, hasValue }) => {
7701
7965
  if (isFinalValue) {
7702
- return (0, import_i18n80.__)("This is the final value", "elementor");
7966
+ return (0, import_i18n83.__)("This is the final value", "elementor");
7703
7967
  }
7704
7968
  if (hasValue) {
7705
- return (0, import_i18n80.__)("This value is overridden by another style", "elementor");
7969
+ return (0, import_i18n83.__)("This value is overridden by another style", "elementor");
7706
7970
  }
7707
- return (0, import_i18n80.__)("This has value from another style", "elementor");
7971
+ return (0, import_i18n83.__)("This has value from another style", "elementor");
7708
7972
  };
7709
7973
 
7710
7974
  // src/styles-inheritance/init-styles-inheritance-transformers.ts
@@ -7725,7 +7989,7 @@ var excludePropTypeTransformers = /* @__PURE__ */ new Set([
7725
7989
  ]);
7726
7990
 
7727
7991
  // src/styles-inheritance/transformers/array-transformer.tsx
7728
- var React109 = __toESM(require("react"));
7992
+ var React110 = __toESM(require("react"));
7729
7993
  var import_editor_canvas6 = require("@elementor/editor-canvas");
7730
7994
  var arrayTransformer = (0, import_editor_canvas6.createTransformer)((values) => {
7731
7995
  if (!values || values.length === 0) {
@@ -7735,18 +7999,18 @@ var arrayTransformer = (0, import_editor_canvas6.createTransformer)((values) =>
7735
7999
  if (allStrings) {
7736
8000
  return values.join(" ");
7737
8001
  }
7738
- return /* @__PURE__ */ React109.createElement(React109.Fragment, null, values.map((item, index) => /* @__PURE__ */ React109.createElement(React109.Fragment, { key: index }, index > 0 && " ", item)));
8002
+ return /* @__PURE__ */ React110.createElement(React110.Fragment, null, values.map((item, index) => /* @__PURE__ */ React110.createElement(React110.Fragment, { key: index }, index > 0 && " ", item)));
7739
8003
  });
7740
8004
 
7741
8005
  // src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
7742
- var React110 = __toESM(require("react"));
8006
+ var React111 = __toESM(require("react"));
7743
8007
  var import_editor_canvas7 = require("@elementor/editor-canvas");
7744
- var import_ui56 = require("@elementor/ui");
7745
- var backgroundColorOverlayTransformer = (0, import_editor_canvas7.createTransformer)((value) => /* @__PURE__ */ React110.createElement(import_ui56.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React110.createElement(ItemLabelColor, { value })));
8008
+ var import_ui57 = require("@elementor/ui");
8009
+ var backgroundColorOverlayTransformer = (0, import_editor_canvas7.createTransformer)((value) => /* @__PURE__ */ React111.createElement(import_ui57.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React111.createElement(ItemLabelColor, { value })));
7746
8010
  var ItemLabelColor = ({ value: { color } }) => {
7747
- return /* @__PURE__ */ React110.createElement("span", null, color);
8011
+ return /* @__PURE__ */ React111.createElement("span", null, color);
7748
8012
  };
7749
- var StyledUnstableColorIndicator = (0, import_ui56.styled)(import_ui56.UnstableColorIndicator)(({ theme }) => ({
8013
+ var StyledUnstableColorIndicator = (0, import_ui57.styled)(import_ui57.UnstableColorIndicator)(({ theme }) => ({
7750
8014
  width: "1em",
7751
8015
  height: "1em",
7752
8016
  borderRadius: `${theme.shape.borderRadius / 2}px`,
@@ -7755,20 +8019,20 @@ var StyledUnstableColorIndicator = (0, import_ui56.styled)(import_ui56.UnstableC
7755
8019
  }));
7756
8020
 
7757
8021
  // src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
7758
- var React111 = __toESM(require("react"));
8022
+ var React112 = __toESM(require("react"));
7759
8023
  var import_editor_canvas8 = require("@elementor/editor-canvas");
7760
- var import_ui57 = require("@elementor/ui");
7761
- var import_i18n81 = require("@wordpress/i18n");
7762
- var backgroundGradientOverlayTransformer = (0, import_editor_canvas8.createTransformer)((value) => /* @__PURE__ */ React111.createElement(import_ui57.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React111.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React111.createElement(ItemLabelGradient, { value })));
8024
+ var import_ui58 = require("@elementor/ui");
8025
+ var import_i18n84 = require("@wordpress/i18n");
8026
+ var backgroundGradientOverlayTransformer = (0, import_editor_canvas8.createTransformer)((value) => /* @__PURE__ */ React112.createElement(import_ui58.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React112.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React112.createElement(ItemLabelGradient, { value })));
7763
8027
  var ItemIconGradient = ({ value }) => {
7764
8028
  const gradient = getGradientValue(value);
7765
- return /* @__PURE__ */ React111.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
8029
+ return /* @__PURE__ */ React112.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
7766
8030
  };
7767
8031
  var ItemLabelGradient = ({ value }) => {
7768
8032
  if (value.type === "linear") {
7769
- return /* @__PURE__ */ React111.createElement("span", null, (0, import_i18n81.__)("Linear gradient", "elementor"));
8033
+ return /* @__PURE__ */ React112.createElement("span", null, (0, import_i18n84.__)("Linear gradient", "elementor"));
7770
8034
  }
7771
- return /* @__PURE__ */ React111.createElement("span", null, (0, import_i18n81.__)("Radial gradient", "elementor"));
8035
+ return /* @__PURE__ */ React112.createElement("span", null, (0, import_i18n84.__)("Radial gradient", "elementor"));
7772
8036
  };
7773
8037
  var getGradientValue = (gradient) => {
7774
8038
  const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
@@ -7779,16 +8043,16 @@ var getGradientValue = (gradient) => {
7779
8043
  };
7780
8044
 
7781
8045
  // src/styles-inheritance/transformers/background-image-overlay-transformer.tsx
7782
- var React112 = __toESM(require("react"));
8046
+ var React113 = __toESM(require("react"));
7783
8047
  var import_editor_canvas9 = require("@elementor/editor-canvas");
7784
8048
  var import_editor_ui13 = require("@elementor/editor-ui");
7785
- var import_ui58 = require("@elementor/ui");
8049
+ var import_ui59 = require("@elementor/ui");
7786
8050
  var import_wp_media = require("@elementor/wp-media");
7787
- var backgroundImageOverlayTransformer = (0, import_editor_canvas9.createTransformer)((value) => /* @__PURE__ */ React112.createElement(import_ui58.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React112.createElement(ItemIconImage, { value }), /* @__PURE__ */ React112.createElement(ItemLabelImage, { value })));
8051
+ var backgroundImageOverlayTransformer = (0, import_editor_canvas9.createTransformer)((value) => /* @__PURE__ */ React113.createElement(import_ui59.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React113.createElement(ItemIconImage, { value }), /* @__PURE__ */ React113.createElement(ItemLabelImage, { value })));
7788
8052
  var ItemIconImage = ({ value }) => {
7789
8053
  const { imageUrl } = useImage(value);
7790
- return /* @__PURE__ */ React112.createElement(
7791
- import_ui58.CardMedia,
8054
+ return /* @__PURE__ */ React113.createElement(
8055
+ import_ui59.CardMedia,
7792
8056
  {
7793
8057
  image: imageUrl,
7794
8058
  sx: (theme) => ({
@@ -7803,7 +8067,7 @@ var ItemIconImage = ({ value }) => {
7803
8067
  };
7804
8068
  var ItemLabelImage = ({ value }) => {
7805
8069
  const { imageTitle } = useImage(value);
7806
- return /* @__PURE__ */ React112.createElement(import_editor_ui13.EllipsisWithTooltip, { title: imageTitle }, /* @__PURE__ */ React112.createElement("span", null, imageTitle));
8070
+ return /* @__PURE__ */ React113.createElement(import_editor_ui13.EllipsisWithTooltip, { title: imageTitle }, /* @__PURE__ */ React113.createElement("span", null, imageTitle));
7807
8071
  };
7808
8072
  var useImage = (image) => {
7809
8073
  let imageTitle, imageUrl = null;
@@ -7828,7 +8092,7 @@ var getFileExtensionFromFilename = (filename) => {
7828
8092
  };
7829
8093
 
7830
8094
  // src/styles-inheritance/transformers/box-shadow-transformer.tsx
7831
- var React113 = __toESM(require("react"));
8095
+ var React114 = __toESM(require("react"));
7832
8096
  var import_editor_canvas10 = require("@elementor/editor-canvas");
7833
8097
  var boxShadowTransformer = (0, import_editor_canvas10.createTransformer)((value) => {
7834
8098
  if (!value) {
@@ -7838,20 +8102,20 @@ var boxShadowTransformer = (0, import_editor_canvas10.createTransformer)((value)
7838
8102
  const colorValue = color || "#000000";
7839
8103
  const sizes = [hOffset || "0px", vOffset || "0px", blur || "10px", spread || "0px"].join(" ");
7840
8104
  const positionValue = position || "outset";
7841
- return /* @__PURE__ */ React113.createElement(React113.Fragment, null, colorValue, " ", positionValue, ", ", sizes);
8105
+ return /* @__PURE__ */ React114.createElement(React114.Fragment, null, colorValue, " ", positionValue, ", ", sizes);
7842
8106
  });
7843
8107
 
7844
8108
  // src/styles-inheritance/transformers/color-transformer.tsx
7845
- var React114 = __toESM(require("react"));
8109
+ var React115 = __toESM(require("react"));
7846
8110
  var import_editor_canvas11 = require("@elementor/editor-canvas");
7847
- var import_ui59 = require("@elementor/ui");
8111
+ var import_ui60 = require("@elementor/ui");
7848
8112
  function isValidCSSColor(value) {
7849
8113
  if (!value.trim()) {
7850
8114
  return false;
7851
8115
  }
7852
8116
  return CSS.supports("color", value.trim());
7853
8117
  }
7854
- var StyledColorIndicator = (0, import_ui59.styled)(import_ui59.UnstableColorIndicator)(({ theme }) => ({
8118
+ var StyledColorIndicator = (0, import_ui60.styled)(import_ui60.UnstableColorIndicator)(({ theme }) => ({
7855
8119
  width: "1em",
7856
8120
  height: "1em",
7857
8121
  borderRadius: `${theme.shape.borderRadius / 2}px`,
@@ -7862,7 +8126,7 @@ var colorTransformer = (0, import_editor_canvas11.createTransformer)((value) =>
7862
8126
  if (!isValidCSSColor(value)) {
7863
8127
  return value;
7864
8128
  }
7865
- return /* @__PURE__ */ React114.createElement(import_ui59.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React114.createElement(StyledColorIndicator, { size: "inherit", component: "span", value }), /* @__PURE__ */ React114.createElement("span", null, value));
8129
+ return /* @__PURE__ */ React115.createElement(import_ui60.Stack, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React115.createElement(StyledColorIndicator, { size: "inherit", component: "span", value }), /* @__PURE__ */ React115.createElement("span", null, value));
7866
8130
  });
7867
8131
 
7868
8132
  // src/styles-inheritance/transformers/repeater-to-items-transformer.tsx
@@ -7945,7 +8209,7 @@ function init4() {
7945
8209
  init();
7946
8210
  }
7947
8211
  var blockV1Panel = () => {
7948
- (0, import_editor_v1_adapters12.blockCommand)({
8212
+ (0, import_editor_v1_adapters13.blockCommand)({
7949
8213
  command: "panel/editor/open",
7950
8214
  condition: isAtomicWidgetSelected
7951
8215
  });