@elementor/editor-controls 4.0.0-552 → 4.0.0-573

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
@@ -45,6 +45,7 @@ __export(index_exports, {
45
45
  ControlToggleButtonGroup: () => ControlToggleButtonGroup,
46
46
  DateTimeControl: () => DateTimeControl,
47
47
  DisplayConditionsControl: () => DisplayConditionsControl,
48
+ EmailFormActionControl: () => EmailFormActionControl,
48
49
  EqualUnequalSizesControl: () => EqualUnequalSizesControl,
49
50
  FilterRepeaterControl: () => FilterRepeaterControl,
50
51
  FontFamilyControl: () => FontFamilyControl,
@@ -2269,10 +2270,10 @@ var import_ui37 = require("@elementor/ui");
2269
2270
  var SIZE6 = "tiny";
2270
2271
  var ChipsControl = createControl(({ options }) => {
2271
2272
  const { value, setValue, disabled } = useBoundProp(import_editor_props16.stringArrayPropTypeUtil);
2272
- const selectedValues = value || [];
2273
+ const selectedValues = (value || []).map((item) => import_editor_props16.stringPropTypeUtil.extract(item)).filter((val) => val !== null);
2273
2274
  const selectedOptions = selectedValues.map((val) => options.find((opt) => opt.value === val)).filter((opt) => opt !== void 0);
2274
2275
  const handleChange = (_, newValue) => {
2275
- const values = newValue.map((option) => option.value);
2276
+ const values = newValue.map((option) => import_editor_props16.stringPropTypeUtil.create(option.value));
2276
2277
  setValue(values.length > 0 ? values : null);
2277
2278
  };
2278
2279
  return /* @__PURE__ */ React50.createElement(ControlActions, null, /* @__PURE__ */ React50.createElement(
@@ -6244,8 +6245,10 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
6244
6245
 
6245
6246
  // src/controls/inline-editing-control.tsx
6246
6247
  var React100 = __toESM(require("react"));
6248
+ var import_react54 = require("react");
6247
6249
  var import_editor_props52 = require("@elementor/editor-props");
6248
6250
  var import_ui86 = require("@elementor/ui");
6251
+ var import_utils7 = require("@elementor/utils");
6249
6252
 
6250
6253
  // src/components/inline-editor.tsx
6251
6254
  var React99 = __toESM(require("react"));
@@ -6418,14 +6421,37 @@ var useOnUpdate = (callback, dependencies) => {
6418
6421
  };
6419
6422
 
6420
6423
  // src/controls/inline-editing-control.tsx
6424
+ var CHILDREN_PARSE_DEBOUNCE_MS = 300;
6421
6425
  var InlineEditingControl = createControl(
6422
6426
  ({
6423
6427
  sx,
6424
6428
  attributes,
6425
6429
  props
6426
6430
  }) => {
6427
- const { value, setValue } = useBoundProp(import_editor_props52.htmlPropTypeUtil);
6428
- const handleChange = (newValue) => setValue(newValue ?? "");
6431
+ const { value, setValue } = useBoundProp(import_editor_props52.htmlV2PropTypeUtil);
6432
+ const content = value?.content ?? "";
6433
+ const debouncedParse = (0, import_react54.useMemo)(
6434
+ () => (0, import_utils7.debounce)((html) => {
6435
+ const parsed = (0, import_editor_props52.parseHtmlChildren)(html);
6436
+ setValue({
6437
+ content: parsed.content || null,
6438
+ children: parsed.children
6439
+ });
6440
+ }, CHILDREN_PARSE_DEBOUNCE_MS),
6441
+ [setValue]
6442
+ );
6443
+ const handleChange = (0, import_react54.useCallback)(
6444
+ (newValue) => {
6445
+ const html = newValue ?? "";
6446
+ setValue({
6447
+ content: html || null,
6448
+ children: value?.children ?? []
6449
+ });
6450
+ debouncedParse(html);
6451
+ },
6452
+ [setValue, value?.children, debouncedParse]
6453
+ );
6454
+ (0, import_react54.useEffect)(() => () => debouncedParse.cancel(), [debouncedParse]);
6429
6455
  return /* @__PURE__ */ React100.createElement(ControlActions, null, /* @__PURE__ */ React100.createElement(
6430
6456
  import_ui86.Box,
6431
6457
  {
@@ -6464,34 +6490,112 @@ var InlineEditingControl = createControl(
6464
6490
  ...attributes,
6465
6491
  ...props
6466
6492
  },
6467
- /* @__PURE__ */ React100.createElement(InlineEditor, { value: value || "", setValue: handleChange })
6493
+ /* @__PURE__ */ React100.createElement(InlineEditor, { value: content, setValue: handleChange })
6468
6494
  ));
6469
6495
  }
6470
6496
  );
6471
6497
 
6498
+ // src/controls/email-form-action-control.tsx
6499
+ var React101 = __toESM(require("react"));
6500
+ var import_editor_props53 = require("@elementor/editor-props");
6501
+ var import_editor_ui13 = require("@elementor/editor-ui");
6502
+ var import_ui87 = require("@elementor/ui");
6503
+ var import_i18n50 = require("@wordpress/i18n");
6504
+ var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React101.createElement(import_ui87.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React101.createElement(import_ui87.Grid, { item: true }, /* @__PURE__ */ React101.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React101.createElement(import_ui87.Grid, { item: true }, /* @__PURE__ */ React101.createElement(TextControl, { placeholder }))));
6505
+ var SendToField = () => /* @__PURE__ */ React101.createElement(
6506
+ EmailField,
6507
+ {
6508
+ bind: "to",
6509
+ label: (0, import_i18n50.__)("Send To", "elementor"),
6510
+ placeholder: (0, import_i18n50.__)("Where should we send new submissions?", "elementor")
6511
+ }
6512
+ );
6513
+ var SubjectField = () => /* @__PURE__ */ React101.createElement(
6514
+ EmailField,
6515
+ {
6516
+ bind: "subject",
6517
+ label: (0, import_i18n50.__)("Email Subject", "elementor"),
6518
+ placeholder: (0, import_i18n50.__)("New form submission", "elementor")
6519
+ }
6520
+ );
6521
+ var MessageField = () => /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "message" }, /* @__PURE__ */ React101.createElement(import_ui87.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React101.createElement(import_ui87.Grid, { item: true }, /* @__PURE__ */ React101.createElement(ControlFormLabel, null, (0, import_i18n50.__)("Message", "elementor"))), /* @__PURE__ */ React101.createElement(import_ui87.Grid, { item: true }, /* @__PURE__ */ React101.createElement(
6522
+ TextAreaControl,
6523
+ {
6524
+ placeholder: (0, import_i18n50.__)(
6525
+ "By default, all form fields are sent via [all-fields] shortcode.",
6526
+ "elementor"
6527
+ )
6528
+ }
6529
+ ))));
6530
+ var FromEmailField = () => /* @__PURE__ */ React101.createElement(
6531
+ EmailField,
6532
+ {
6533
+ bind: "from",
6534
+ label: (0, import_i18n50.__)("From email", "elementor"),
6535
+ placeholder: (0, import_i18n50.__)("What email address should appear as the sender?", "elementor")
6536
+ }
6537
+ );
6538
+ var FromNameField = () => /* @__PURE__ */ React101.createElement(
6539
+ EmailField,
6540
+ {
6541
+ bind: "from-name",
6542
+ label: (0, import_i18n50.__)("From name", "elementor"),
6543
+ placeholder: (0, import_i18n50.__)("What name should appear as the sender?", "elementor")
6544
+ }
6545
+ );
6546
+ var ReplyToField = () => /* @__PURE__ */ React101.createElement(EmailField, { bind: "reply-to", label: (0, import_i18n50.__)("Reply-to", "elementor") });
6547
+ var CcField = () => /* @__PURE__ */ React101.createElement(EmailField, { bind: "cc", label: (0, import_i18n50.__)("Cc", "elementor") });
6548
+ var BccField = () => /* @__PURE__ */ React101.createElement(EmailField, { bind: "bcc", label: (0, import_i18n50.__)("Bcc", "elementor") });
6549
+ var MetaDataField = () => /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "meta-data" }, /* @__PURE__ */ React101.createElement(import_ui87.Stack, { gap: 0.5 }, /* @__PURE__ */ React101.createElement(ControlLabel, null, (0, import_i18n50.__)("Meta data", "elementor")), /* @__PURE__ */ React101.createElement(
6550
+ ChipsControl,
6551
+ {
6552
+ options: [
6553
+ { label: (0, import_i18n50.__)("Date", "elementor"), value: "date" },
6554
+ { label: (0, import_i18n50.__)("Time", "elementor"), value: "time" },
6555
+ { label: (0, import_i18n50.__)("Page URL", "elementor"), value: "page-url" },
6556
+ { label: (0, import_i18n50.__)("User agent", "elementor"), value: "user-agent" },
6557
+ { label: (0, import_i18n50.__)("Credit", "elementor"), value: "credit" }
6558
+ ]
6559
+ }
6560
+ )));
6561
+ var SendAsField = () => /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "send-as" }, /* @__PURE__ */ React101.createElement(import_ui87.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React101.createElement(import_ui87.Grid, { item: true }, /* @__PURE__ */ React101.createElement(ControlFormLabel, null, (0, import_i18n50.__)("Send as", "elementor"))), /* @__PURE__ */ React101.createElement(import_ui87.Grid, { item: true }, /* @__PURE__ */ React101.createElement(
6562
+ SelectControl,
6563
+ {
6564
+ options: [
6565
+ { label: (0, import_i18n50.__)("HTML", "elementor"), value: "html" },
6566
+ { label: (0, import_i18n50.__)("Plain Text", "elementor"), value: "plain" }
6567
+ ]
6568
+ }
6569
+ ))));
6570
+ var AdvancedSettings = () => /* @__PURE__ */ React101.createElement(import_editor_ui13.CollapsibleContent, { defaultOpen: false }, /* @__PURE__ */ React101.createElement(import_ui87.Box, { sx: { pt: 2 } }, /* @__PURE__ */ React101.createElement(import_ui87.Stack, { gap: 2 }, /* @__PURE__ */ React101.createElement(FromNameField, null), /* @__PURE__ */ React101.createElement(ReplyToField, null), /* @__PURE__ */ React101.createElement(CcField, null), /* @__PURE__ */ React101.createElement(BccField, null), /* @__PURE__ */ React101.createElement(import_ui87.Divider, null), /* @__PURE__ */ React101.createElement(MetaDataField, null), /* @__PURE__ */ React101.createElement(SendAsField, null))));
6571
+ var EmailFormActionControl = createControl(() => {
6572
+ const { value, setValue, ...propContext } = useBoundProp(import_editor_props53.emailPropTypeUtil);
6573
+ return /* @__PURE__ */ React101.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React101.createElement(import_ui87.Stack, { gap: 2 }, /* @__PURE__ */ React101.createElement(ControlFormLabel, null, (0, import_i18n50.__)("Email settings", "elementor")), /* @__PURE__ */ React101.createElement(SendToField, null), /* @__PURE__ */ React101.createElement(SubjectField, null), /* @__PURE__ */ React101.createElement(MessageField, null), /* @__PURE__ */ React101.createElement(FromEmailField, null), /* @__PURE__ */ React101.createElement(AdvancedSettings, null)));
6574
+ });
6575
+
6472
6576
  // src/components/promotions/display-conditions-control.tsx
6473
- var React102 = __toESM(require("react"));
6474
- var import_react55 = require("react");
6577
+ var React103 = __toESM(require("react"));
6578
+ var import_react56 = require("react");
6475
6579
  var import_icons33 = require("@elementor/icons");
6476
- var import_ui88 = require("@elementor/ui");
6477
- var import_i18n50 = require("@wordpress/i18n");
6580
+ var import_ui89 = require("@elementor/ui");
6581
+ var import_i18n51 = require("@wordpress/i18n");
6478
6582
 
6479
6583
  // src/components/promotions/promotion-trigger.tsx
6480
- var React101 = __toESM(require("react"));
6481
- var import_react54 = require("react");
6482
- var import_editor_ui13 = require("@elementor/editor-ui");
6483
- var import_ui87 = require("@elementor/ui");
6584
+ var React102 = __toESM(require("react"));
6585
+ var import_react55 = require("react");
6586
+ var import_editor_ui14 = require("@elementor/editor-ui");
6587
+ var import_ui88 = require("@elementor/ui");
6484
6588
  function getV4Promotion(key) {
6485
6589
  return window.elementor?.config?.v4Promotions?.[key];
6486
6590
  }
6487
- var PromotionTrigger = (0, import_react54.forwardRef)(
6591
+ var PromotionTrigger = (0, import_react55.forwardRef)(
6488
6592
  ({ promotionKey, children }, ref) => {
6489
- const [isOpen, setIsOpen] = (0, import_react54.useState)(false);
6593
+ const [isOpen, setIsOpen] = (0, import_react55.useState)(false);
6490
6594
  const promotion = getV4Promotion(promotionKey);
6491
6595
  const toggle = () => setIsOpen((prev) => !prev);
6492
- (0, import_react54.useImperativeHandle)(ref, () => ({ toggle }), []);
6493
- return /* @__PURE__ */ React101.createElement(React101.Fragment, null, promotion && /* @__PURE__ */ React101.createElement(
6494
- import_editor_ui13.PromotionInfotip,
6596
+ (0, import_react55.useImperativeHandle)(ref, () => ({ toggle }), []);
6597
+ return /* @__PURE__ */ React102.createElement(React102.Fragment, null, promotion && /* @__PURE__ */ React102.createElement(
6598
+ import_editor_ui14.PromotionInfotip,
6495
6599
  {
6496
6600
  title: promotion.title,
6497
6601
  content: promotion.content,
@@ -6503,8 +6607,8 @@ var PromotionTrigger = (0, import_react54.forwardRef)(
6503
6607
  setIsOpen(false);
6504
6608
  }
6505
6609
  },
6506
- /* @__PURE__ */ React101.createElement(
6507
- import_ui87.Box,
6610
+ /* @__PURE__ */ React102.createElement(
6611
+ import_ui88.Box,
6508
6612
  {
6509
6613
  onClick: (e) => {
6510
6614
  e.stopPropagation();
@@ -6512,18 +6616,18 @@ var PromotionTrigger = (0, import_react54.forwardRef)(
6512
6616
  },
6513
6617
  sx: { cursor: "pointer", display: "inline-flex" }
6514
6618
  },
6515
- children ?? /* @__PURE__ */ React101.createElement(import_editor_ui13.PromotionChip, null)
6619
+ children ?? /* @__PURE__ */ React102.createElement(import_editor_ui14.PromotionChip, null)
6516
6620
  )
6517
6621
  ));
6518
6622
  }
6519
6623
  );
6520
6624
 
6521
6625
  // src/components/promotions/display-conditions-control.tsx
6522
- var ARIA_LABEL = (0, import_i18n50.__)("Display Conditions", "elementor");
6626
+ var ARIA_LABEL = (0, import_i18n51.__)("Display Conditions", "elementor");
6523
6627
  var DisplayConditionsControl = createControl(() => {
6524
- const triggerRef = (0, import_react55.useRef)(null);
6525
- return /* @__PURE__ */ React102.createElement(
6526
- import_ui88.Stack,
6628
+ const triggerRef = (0, import_react56.useRef)(null);
6629
+ return /* @__PURE__ */ React103.createElement(
6630
+ import_ui89.Stack,
6527
6631
  {
6528
6632
  direction: "row",
6529
6633
  spacing: 2,
@@ -6532,9 +6636,9 @@ var DisplayConditionsControl = createControl(() => {
6532
6636
  alignItems: "center"
6533
6637
  }
6534
6638
  },
6535
- /* @__PURE__ */ React102.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "displayConditions" }),
6536
- /* @__PURE__ */ React102.createElement(import_ui88.Tooltip, { title: ARIA_LABEL, placement: "top" }, /* @__PURE__ */ React102.createElement(
6537
- import_ui88.IconButton,
6639
+ /* @__PURE__ */ React103.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "displayConditions" }),
6640
+ /* @__PURE__ */ React103.createElement(import_ui89.Tooltip, { title: ARIA_LABEL, placement: "top" }, /* @__PURE__ */ React103.createElement(
6641
+ import_ui89.IconButton,
6538
6642
  {
6539
6643
  size: "tiny",
6540
6644
  "aria-label": ARIA_LABEL,
@@ -6546,22 +6650,22 @@ var DisplayConditionsControl = createControl(() => {
6546
6650
  borderRadius: 1
6547
6651
  }
6548
6652
  },
6549
- /* @__PURE__ */ React102.createElement(import_icons33.SitemapIcon, { fontSize: "tiny", color: "disabled" })
6653
+ /* @__PURE__ */ React103.createElement(import_icons33.SitemapIcon, { fontSize: "tiny", color: "disabled" })
6550
6654
  ))
6551
6655
  );
6552
6656
  });
6553
6657
 
6554
6658
  // src/components/promotions/attributes-control.tsx
6555
- var React103 = __toESM(require("react"));
6556
- var import_react56 = require("react");
6659
+ var React104 = __toESM(require("react"));
6660
+ var import_react57 = require("react");
6557
6661
  var import_icons34 = require("@elementor/icons");
6558
- var import_ui89 = require("@elementor/ui");
6559
- var import_i18n51 = require("@wordpress/i18n");
6560
- var ARIA_LABEL2 = (0, import_i18n51.__)("Attributes", "elementor");
6662
+ var import_ui90 = require("@elementor/ui");
6663
+ var import_i18n52 = require("@wordpress/i18n");
6664
+ var ARIA_LABEL2 = (0, import_i18n52.__)("Attributes", "elementor");
6561
6665
  var AttributesControl = createControl(() => {
6562
- const triggerRef = (0, import_react56.useRef)(null);
6563
- return /* @__PURE__ */ React103.createElement(
6564
- import_ui89.Stack,
6666
+ const triggerRef = (0, import_react57.useRef)(null);
6667
+ return /* @__PURE__ */ React104.createElement(
6668
+ import_ui90.Stack,
6565
6669
  {
6566
6670
  direction: "row",
6567
6671
  spacing: 2,
@@ -6570,8 +6674,8 @@ var AttributesControl = createControl(() => {
6570
6674
  alignItems: "center"
6571
6675
  }
6572
6676
  },
6573
- /* @__PURE__ */ React103.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "attributes" }),
6574
- /* @__PURE__ */ React103.createElement(import_ui89.Tooltip, { title: ARIA_LABEL2, placement: "top" }, /* @__PURE__ */ React103.createElement(
6677
+ /* @__PURE__ */ React104.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "attributes" }),
6678
+ /* @__PURE__ */ React104.createElement(import_ui90.Tooltip, { title: ARIA_LABEL2, placement: "top" }, /* @__PURE__ */ React104.createElement(
6575
6679
  import_icons34.PlusIcon,
6576
6680
  {
6577
6681
  "aria-label": ARIA_LABEL2,
@@ -6585,21 +6689,21 @@ var AttributesControl = createControl(() => {
6585
6689
  });
6586
6690
 
6587
6691
  // src/components/icon-buttons/clear-icon-button.tsx
6588
- var React104 = __toESM(require("react"));
6692
+ var React105 = __toESM(require("react"));
6589
6693
  var import_icons35 = require("@elementor/icons");
6590
- var import_ui90 = require("@elementor/ui");
6591
- var CustomIconButton = (0, import_ui90.styled)(import_ui90.IconButton)(({ theme }) => ({
6694
+ var import_ui91 = require("@elementor/ui");
6695
+ var CustomIconButton = (0, import_ui91.styled)(import_ui91.IconButton)(({ theme }) => ({
6592
6696
  width: theme.spacing(2.5),
6593
6697
  height: theme.spacing(2.5)
6594
6698
  }));
6595
- var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */ React104.createElement(import_ui90.Tooltip, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React104.createElement(CustomIconButton, { "aria-label": tooltipText, size, onClick, disabled }, /* @__PURE__ */ React104.createElement(import_icons35.BrushBigIcon, { fontSize: size })));
6699
+ var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */ React105.createElement(import_ui91.Tooltip, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React105.createElement(CustomIconButton, { "aria-label": tooltipText, size, onClick, disabled }, /* @__PURE__ */ React105.createElement(import_icons35.BrushBigIcon, { fontSize: size })));
6596
6700
 
6597
6701
  // src/components/repeater/repeater.tsx
6598
- var React105 = __toESM(require("react"));
6599
- var import_react57 = require("react");
6702
+ var React106 = __toESM(require("react"));
6703
+ var import_react58 = require("react");
6600
6704
  var import_icons36 = require("@elementor/icons");
6601
- var import_ui91 = require("@elementor/ui");
6602
- var import_i18n52 = require("@wordpress/i18n");
6705
+ var import_ui92 = require("@elementor/ui");
6706
+ var import_i18n53 = require("@wordpress/i18n");
6603
6707
  var SIZE10 = "tiny";
6604
6708
  var EMPTY_OPEN_ITEM2 = -1;
6605
6709
  var Repeater3 = ({
@@ -6617,7 +6721,7 @@ var Repeater3 = ({
6617
6721
  openItem: initialOpenItem = EMPTY_OPEN_ITEM2,
6618
6722
  isSortable = true
6619
6723
  }) => {
6620
- const [openItem, setOpenItem] = (0, import_react57.useState)(initialOpenItem);
6724
+ const [openItem, setOpenItem] = (0, import_react58.useState)(initialOpenItem);
6621
6725
  const uniqueKeys = items2.map(
6622
6726
  (item, index) => isSortable && "getId" in itemSettings ? itemSettings.getId({ item, index }) : String(index)
6623
6727
  );
@@ -6680,8 +6784,8 @@ var Repeater3 = ({
6680
6784
  };
6681
6785
  const isButtonDisabled = disabled || disableAddItemButton;
6682
6786
  const shouldShowInfotip = isButtonDisabled && addButtonInfotipContent;
6683
- const addButton = /* @__PURE__ */ React105.createElement(
6684
- import_ui91.IconButton,
6787
+ const addButton = /* @__PURE__ */ React106.createElement(
6788
+ import_ui92.IconButton,
6685
6789
  {
6686
6790
  size: SIZE10,
6687
6791
  sx: {
@@ -6689,32 +6793,32 @@ var Repeater3 = ({
6689
6793
  },
6690
6794
  disabled: isButtonDisabled,
6691
6795
  onClick: addRepeaterItem,
6692
- "aria-label": (0, import_i18n52.__)("Add item", "elementor")
6796
+ "aria-label": (0, import_i18n53.__)("Add item", "elementor")
6693
6797
  },
6694
- /* @__PURE__ */ React105.createElement(import_icons36.PlusIcon, { fontSize: SIZE10 })
6798
+ /* @__PURE__ */ React106.createElement(import_icons36.PlusIcon, { fontSize: SIZE10 })
6695
6799
  );
6696
- return /* @__PURE__ */ React105.createElement(SectionContent, { gap: 2 }, /* @__PURE__ */ React105.createElement(RepeaterHeader, { label, adornment: ControlAdornments }, shouldShowInfotip ? /* @__PURE__ */ React105.createElement(
6697
- import_ui91.Infotip,
6800
+ return /* @__PURE__ */ React106.createElement(SectionContent, { gap: 2 }, /* @__PURE__ */ React106.createElement(RepeaterHeader, { label, adornment: ControlAdornments }, shouldShowInfotip ? /* @__PURE__ */ React106.createElement(
6801
+ import_ui92.Infotip,
6698
6802
  {
6699
6803
  placement: "right",
6700
6804
  content: addButtonInfotipContent,
6701
6805
  color: "secondary",
6702
6806
  slotProps: { popper: { sx: { width: 300 } } }
6703
6807
  },
6704
- /* @__PURE__ */ React105.createElement(import_ui91.Box, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
6705
- ) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React105.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
6808
+ /* @__PURE__ */ React106.createElement(import_ui92.Box, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
6809
+ ) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React106.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
6706
6810
  const index = uniqueKeys.indexOf(key);
6707
6811
  const value = items2[index];
6708
6812
  if (!value) {
6709
6813
  return null;
6710
6814
  }
6711
- return /* @__PURE__ */ React105.createElement(SortableItem, { id: key, key: `sortable-${key}`, disabled: !isSortable }, /* @__PURE__ */ React105.createElement(
6815
+ return /* @__PURE__ */ React106.createElement(SortableItem, { id: key, key: `sortable-${key}`, disabled: !isSortable }, /* @__PURE__ */ React106.createElement(
6712
6816
  RepeaterItem,
6713
6817
  {
6714
6818
  disabled,
6715
6819
  propDisabled: value?.disabled,
6716
- label: /* @__PURE__ */ React105.createElement(RepeaterItemLabelSlot, { value }, /* @__PURE__ */ React105.createElement(itemSettings.Label, { value, index })),
6717
- startIcon: /* @__PURE__ */ React105.createElement(RepeaterItemIconSlot, { value }, /* @__PURE__ */ React105.createElement(itemSettings.Icon, { value })),
6820
+ label: /* @__PURE__ */ React106.createElement(RepeaterItemLabelSlot, { value }, /* @__PURE__ */ React106.createElement(itemSettings.Label, { value, index })),
6821
+ startIcon: /* @__PURE__ */ React106.createElement(RepeaterItemIconSlot, { value }, /* @__PURE__ */ React106.createElement(itemSettings.Icon, { value })),
6718
6822
  removeItem: () => removeRepeaterItem(index),
6719
6823
  duplicateItem: () => duplicateRepeaterItem(index),
6720
6824
  toggleDisableItem: () => toggleDisableRepeaterItem(index),
@@ -6726,7 +6830,7 @@ var Repeater3 = ({
6726
6830
  actions: itemSettings.actions,
6727
6831
  value
6728
6832
  },
6729
- (props) => /* @__PURE__ */ React105.createElement(
6833
+ (props) => /* @__PURE__ */ React106.createElement(
6730
6834
  itemSettings.Content,
6731
6835
  {
6732
6836
  ...props,
@@ -6756,27 +6860,27 @@ var RepeaterItem = ({
6756
6860
  value
6757
6861
  }) => {
6758
6862
  const { popoverState, popoverProps, ref, setRef } = usePopover(openOnMount, onOpen);
6759
- const duplicateLabel = (0, import_i18n52.__)("Duplicate", "elementor");
6760
- const toggleLabel = propDisabled ? (0, import_i18n52.__)("Show", "elementor") : (0, import_i18n52.__)("Hide", "elementor");
6761
- const removeLabel = (0, import_i18n52.__)("Remove", "elementor");
6762
- return /* @__PURE__ */ React105.createElement(React105.Fragment, null, /* @__PURE__ */ React105.createElement(
6863
+ const duplicateLabel = (0, import_i18n53.__)("Duplicate", "elementor");
6864
+ const toggleLabel = propDisabled ? (0, import_i18n53.__)("Show", "elementor") : (0, import_i18n53.__)("Hide", "elementor");
6865
+ const removeLabel = (0, import_i18n53.__)("Remove", "elementor");
6866
+ return /* @__PURE__ */ React106.createElement(React106.Fragment, null, /* @__PURE__ */ React106.createElement(
6763
6867
  RepeaterTag,
6764
6868
  {
6765
6869
  disabled,
6766
6870
  label,
6767
6871
  ref: setRef,
6768
- "aria-label": (0, import_i18n52.__)("Open item", "elementor"),
6769
- ...(0, import_ui91.bindTrigger)(popoverState),
6872
+ "aria-label": (0, import_i18n53.__)("Open item", "elementor"),
6873
+ ...(0, import_ui92.bindTrigger)(popoverState),
6770
6874
  startIcon,
6771
- actions: /* @__PURE__ */ React105.createElement(React105.Fragment, null, showDuplicate && /* @__PURE__ */ React105.createElement(import_ui91.Tooltip, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React105.createElement(import_ui91.IconButton, { size: SIZE10, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React105.createElement(import_icons36.CopyIcon, { fontSize: SIZE10 }))), showToggle && /* @__PURE__ */ React105.createElement(import_ui91.Tooltip, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React105.createElement(import_ui91.IconButton, { size: SIZE10, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React105.createElement(import_icons36.EyeOffIcon, { fontSize: SIZE10 }) : /* @__PURE__ */ React105.createElement(import_icons36.EyeIcon, { fontSize: SIZE10 }))), actions?.(value), showRemove && /* @__PURE__ */ React105.createElement(import_ui91.Tooltip, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React105.createElement(import_ui91.IconButton, { size: SIZE10, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React105.createElement(import_icons36.XIcon, { fontSize: SIZE10 }))))
6875
+ actions: /* @__PURE__ */ React106.createElement(React106.Fragment, null, showDuplicate && /* @__PURE__ */ React106.createElement(import_ui92.Tooltip, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React106.createElement(import_ui92.IconButton, { size: SIZE10, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React106.createElement(import_icons36.CopyIcon, { fontSize: SIZE10 }))), showToggle && /* @__PURE__ */ React106.createElement(import_ui92.Tooltip, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React106.createElement(import_ui92.IconButton, { size: SIZE10, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React106.createElement(import_icons36.EyeOffIcon, { fontSize: SIZE10 }) : /* @__PURE__ */ React106.createElement(import_icons36.EyeIcon, { fontSize: SIZE10 }))), actions?.(value), showRemove && /* @__PURE__ */ React106.createElement(import_ui92.Tooltip, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React106.createElement(import_ui92.IconButton, { size: SIZE10, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React106.createElement(import_icons36.XIcon, { fontSize: SIZE10 }))))
6772
6876
  }
6773
- ), /* @__PURE__ */ React105.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React105.createElement(import_ui91.Box, null, children({ anchorEl: ref }))));
6877
+ ), /* @__PURE__ */ React106.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React106.createElement(import_ui92.Box, null, children({ anchorEl: ref }))));
6774
6878
  };
6775
6879
  var usePopover = (openOnMount, onOpen) => {
6776
- const [ref, setRef] = (0, import_react57.useState)(null);
6777
- const popoverState = (0, import_ui91.usePopupState)({ variant: "popover" });
6778
- const popoverProps = (0, import_ui91.bindPopover)(popoverState);
6779
- (0, import_react57.useEffect)(() => {
6880
+ const [ref, setRef] = (0, import_react58.useState)(null);
6881
+ const popoverState = (0, import_ui92.usePopupState)({ variant: "popover" });
6882
+ const popoverProps = (0, import_ui92.bindPopover)(popoverState);
6883
+ (0, import_react58.useEffect)(() => {
6780
6884
  if (openOnMount && ref) {
6781
6885
  popoverState.open(ref);
6782
6886
  onOpen?.();
@@ -6791,20 +6895,20 @@ var usePopover = (openOnMount, onOpen) => {
6791
6895
  };
6792
6896
 
6793
6897
  // src/components/inline-editor-toolbar.tsx
6794
- var React107 = __toESM(require("react"));
6795
- var import_react59 = require("react");
6898
+ var React108 = __toESM(require("react"));
6899
+ var import_react60 = require("react");
6796
6900
  var import_editor_elements6 = require("@elementor/editor-elements");
6797
6901
  var import_icons38 = require("@elementor/icons");
6798
- var import_ui93 = require("@elementor/ui");
6799
- var import_react60 = require("@tiptap/react");
6800
- var import_i18n54 = require("@wordpress/i18n");
6902
+ var import_ui94 = require("@elementor/ui");
6903
+ var import_react61 = require("@tiptap/react");
6904
+ var import_i18n55 = require("@wordpress/i18n");
6801
6905
 
6802
6906
  // src/components/url-popover.tsx
6803
- var React106 = __toESM(require("react"));
6804
- var import_react58 = require("react");
6907
+ var React107 = __toESM(require("react"));
6908
+ var import_react59 = require("react");
6805
6909
  var import_icons37 = require("@elementor/icons");
6806
- var import_ui92 = require("@elementor/ui");
6807
- var import_i18n53 = require("@wordpress/i18n");
6910
+ var import_ui93 = require("@elementor/ui");
6911
+ var import_i18n54 = require("@wordpress/i18n");
6808
6912
  var UrlPopover = ({
6809
6913
  popupState,
6810
6914
  restoreValue,
@@ -6814,8 +6918,8 @@ var UrlPopover = ({
6814
6918
  openInNewTab,
6815
6919
  onToggleNewTab
6816
6920
  }) => {
6817
- const inputRef = (0, import_react58.useRef)(null);
6818
- (0, import_react58.useEffect)(() => {
6921
+ const inputRef = (0, import_react59.useRef)(null);
6922
+ (0, import_react59.useEffect)(() => {
6819
6923
  if (popupState.isOpen) {
6820
6924
  requestAnimationFrame(() => inputRef.current?.focus());
6821
6925
  }
@@ -6824,57 +6928,57 @@ var UrlPopover = ({
6824
6928
  restoreValue();
6825
6929
  popupState.close();
6826
6930
  };
6827
- return /* @__PURE__ */ React106.createElement(
6828
- import_ui92.Popover,
6931
+ return /* @__PURE__ */ React107.createElement(
6932
+ import_ui93.Popover,
6829
6933
  {
6830
6934
  slotProps: {
6831
6935
  paper: { sx: { borderRadius: "16px", width: anchorRef.current?.offsetWidth + "px", marginTop: -1 } }
6832
6936
  },
6833
- ...(0, import_ui92.bindPopover)(popupState),
6937
+ ...(0, import_ui93.bindPopover)(popupState),
6834
6938
  anchorOrigin: { vertical: "top", horizontal: "left" },
6835
6939
  transformOrigin: { vertical: "top", horizontal: "left" },
6836
6940
  onClose: handleClose
6837
6941
  },
6838
- /* @__PURE__ */ React106.createElement(import_ui92.Stack, { direction: "row", alignItems: "center", gap: 1, sx: { p: 1.5 } }, /* @__PURE__ */ React106.createElement(
6839
- import_ui92.TextField,
6942
+ /* @__PURE__ */ React107.createElement(import_ui93.Stack, { direction: "row", alignItems: "center", gap: 1, sx: { p: 1.5 } }, /* @__PURE__ */ React107.createElement(
6943
+ import_ui93.TextField,
6840
6944
  {
6841
6945
  value,
6842
6946
  onChange,
6843
6947
  size: "tiny",
6844
6948
  fullWidth: true,
6845
- placeholder: (0, import_i18n53.__)("Type a URL", "elementor"),
6949
+ placeholder: (0, import_i18n54.__)("Type a URL", "elementor"),
6846
6950
  inputProps: { ref: inputRef },
6847
6951
  color: "secondary",
6848
6952
  InputProps: { sx: { borderRadius: "8px" } },
6849
6953
  onKeyUp: (event) => event.key === "Enter" && handleClose()
6850
6954
  }
6851
- ), /* @__PURE__ */ React106.createElement(import_ui92.Tooltip, { title: (0, import_i18n53.__)("Open in a new tab", "elementor") }, /* @__PURE__ */ React106.createElement(
6852
- import_ui92.ToggleButton,
6955
+ ), /* @__PURE__ */ React107.createElement(import_ui93.Tooltip, { title: (0, import_i18n54.__)("Open in a new tab", "elementor") }, /* @__PURE__ */ React107.createElement(
6956
+ import_ui93.ToggleButton,
6853
6957
  {
6854
6958
  size: "tiny",
6855
6959
  value: "newTab",
6856
6960
  selected: openInNewTab,
6857
6961
  onClick: onToggleNewTab,
6858
- "aria-label": (0, import_i18n53.__)("Open in a new tab", "elementor"),
6962
+ "aria-label": (0, import_i18n54.__)("Open in a new tab", "elementor"),
6859
6963
  sx: { borderRadius: "8px" }
6860
6964
  },
6861
- /* @__PURE__ */ React106.createElement(import_icons37.ExternalLinkIcon, { fontSize: "tiny" })
6965
+ /* @__PURE__ */ React107.createElement(import_icons37.ExternalLinkIcon, { fontSize: "tiny" })
6862
6966
  )))
6863
6967
  );
6864
6968
  };
6865
6969
 
6866
6970
  // src/components/inline-editor-toolbar.tsx
6867
6971
  var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
6868
- const [urlValue, setUrlValue] = (0, import_react59.useState)("");
6869
- const [openInNewTab, setOpenInNewTab] = (0, import_react59.useState)(false);
6870
- const toolbarRef = (0, import_react59.useRef)(null);
6871
- const linkPopupState = (0, import_ui93.usePopupState)({ variant: "popover" });
6972
+ const [urlValue, setUrlValue] = (0, import_react60.useState)("");
6973
+ const [openInNewTab, setOpenInNewTab] = (0, import_react60.useState)(false);
6974
+ const toolbarRef = (0, import_react60.useRef)(null);
6975
+ const linkPopupState = (0, import_ui94.usePopupState)({ variant: "popover" });
6872
6976
  const isElementClickable = elementId ? checkIfElementIsClickable(elementId) : false;
6873
- const editorState = (0, import_react60.useEditorState)({
6977
+ const editorState = (0, import_react61.useEditorState)({
6874
6978
  editor,
6875
6979
  selector: (ctx) => possibleFormats.filter((format) => ctx.editor.isActive(format))
6876
6980
  });
6877
- const formatButtonsList = (0, import_react59.useMemo)(() => {
6981
+ const formatButtonsList = (0, import_react60.useMemo)(() => {
6878
6982
  const buttons = Object.values(formatButtons);
6879
6983
  if (isElementClickable) {
6880
6984
  return buttons.filter((button) => button.action !== "link");
@@ -6911,11 +7015,11 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
6911
7015
  }
6912
7016
  linkPopupState.close();
6913
7017
  };
6914
- React107.useEffect(() => {
7018
+ React108.useEffect(() => {
6915
7019
  editor?.commands?.focus();
6916
7020
  }, [editor]);
6917
- return /* @__PURE__ */ React107.createElement(
6918
- import_ui93.Box,
7021
+ return /* @__PURE__ */ React108.createElement(
7022
+ import_ui94.Box,
6919
7023
  {
6920
7024
  ref: toolbarRef,
6921
7025
  sx: {
@@ -6931,9 +7035,9 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
6931
7035
  ...sx
6932
7036
  }
6933
7037
  },
6934
- /* @__PURE__ */ React107.createElement(import_ui93.Tooltip, { title: clearButton.label, placement: "top", sx: { borderRadius: "8px" } }, /* @__PURE__ */ React107.createElement(import_ui93.IconButton, { "aria-label": clearButton.label, onClick: () => clearButton.method(editor), size: "tiny" }, clearButton.icon)),
6935
- /* @__PURE__ */ React107.createElement(
6936
- import_ui93.ToggleButtonGroup,
7038
+ /* @__PURE__ */ React108.createElement(import_ui94.Tooltip, { title: clearButton.label, placement: "top", sx: { borderRadius: "8px" } }, /* @__PURE__ */ React108.createElement(import_ui94.IconButton, { "aria-label": clearButton.label, onClick: () => clearButton.method(editor), size: "tiny" }, clearButton.icon)),
7039
+ /* @__PURE__ */ React108.createElement(
7040
+ import_ui94.ToggleButtonGroup,
6937
7041
  {
6938
7042
  value: editorState,
6939
7043
  size: "tiny",
@@ -6941,7 +7045,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
6941
7045
  display: "flex",
6942
7046
  gap: 0.5,
6943
7047
  border: "none",
6944
- [`& .${import_ui93.toggleButtonGroupClasses.firstButton}, & .${import_ui93.toggleButtonGroupClasses.middleButton}, & .${import_ui93.toggleButtonGroupClasses.lastButton}`]: {
7048
+ [`& .${import_ui94.toggleButtonGroupClasses.firstButton}, & .${import_ui94.toggleButtonGroupClasses.middleButton}, & .${import_ui94.toggleButtonGroupClasses.lastButton}`]: {
6945
7049
  borderRadius: "8px",
6946
7050
  border: "none",
6947
7051
  marginLeft: 0,
@@ -6954,8 +7058,8 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
6954
7058
  }
6955
7059
  }
6956
7060
  },
6957
- formatButtonsList.map((button) => /* @__PURE__ */ React107.createElement(import_ui93.Tooltip, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React107.createElement(
6958
- import_ui93.ToggleButton,
7061
+ formatButtonsList.map((button) => /* @__PURE__ */ React108.createElement(import_ui94.Tooltip, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React108.createElement(
7062
+ import_ui94.ToggleButton,
6959
7063
  {
6960
7064
  value: button.action,
6961
7065
  "aria-label": button.label,
@@ -6972,7 +7076,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
6972
7076
  button.icon
6973
7077
  )))
6974
7078
  ),
6975
- /* @__PURE__ */ React107.createElement(
7079
+ /* @__PURE__ */ React108.createElement(
6976
7080
  UrlPopover,
6977
7081
  {
6978
7082
  popupState: linkPopupState,
@@ -6995,64 +7099,64 @@ var checkIfElementIsClickable = (elementId) => {
6995
7099
  };
6996
7100
  var toolbarButtons = {
6997
7101
  clear: {
6998
- label: (0, import_i18n54.__)("Clear", "elementor"),
6999
- icon: /* @__PURE__ */ React107.createElement(import_icons38.MinusIcon, { fontSize: "tiny" }),
7102
+ label: (0, import_i18n55.__)("Clear", "elementor"),
7103
+ icon: /* @__PURE__ */ React108.createElement(import_icons38.MinusIcon, { fontSize: "tiny" }),
7000
7104
  action: "clear",
7001
7105
  method: (editor) => {
7002
7106
  editor.chain().focus().clearNodes().unsetAllMarks().run();
7003
7107
  }
7004
7108
  },
7005
7109
  bold: {
7006
- label: (0, import_i18n54.__)("Bold", "elementor"),
7007
- icon: /* @__PURE__ */ React107.createElement(import_icons38.BoldIcon, { fontSize: "tiny" }),
7110
+ label: (0, import_i18n55.__)("Bold", "elementor"),
7111
+ icon: /* @__PURE__ */ React108.createElement(import_icons38.BoldIcon, { fontSize: "tiny" }),
7008
7112
  action: "bold",
7009
7113
  method: (editor) => {
7010
7114
  editor.chain().focus().toggleBold().run();
7011
7115
  }
7012
7116
  },
7013
7117
  italic: {
7014
- label: (0, import_i18n54.__)("Italic", "elementor"),
7015
- icon: /* @__PURE__ */ React107.createElement(import_icons38.ItalicIcon, { fontSize: "tiny" }),
7118
+ label: (0, import_i18n55.__)("Italic", "elementor"),
7119
+ icon: /* @__PURE__ */ React108.createElement(import_icons38.ItalicIcon, { fontSize: "tiny" }),
7016
7120
  action: "italic",
7017
7121
  method: (editor) => {
7018
7122
  editor.chain().focus().toggleItalic().run();
7019
7123
  }
7020
7124
  },
7021
7125
  underline: {
7022
- label: (0, import_i18n54.__)("Underline", "elementor"),
7023
- icon: /* @__PURE__ */ React107.createElement(import_icons38.UnderlineIcon, { fontSize: "tiny" }),
7126
+ label: (0, import_i18n55.__)("Underline", "elementor"),
7127
+ icon: /* @__PURE__ */ React108.createElement(import_icons38.UnderlineIcon, { fontSize: "tiny" }),
7024
7128
  action: "underline",
7025
7129
  method: (editor) => {
7026
7130
  editor.chain().focus().toggleUnderline().run();
7027
7131
  }
7028
7132
  },
7029
7133
  strike: {
7030
- label: (0, import_i18n54.__)("Strikethrough", "elementor"),
7031
- icon: /* @__PURE__ */ React107.createElement(import_icons38.StrikethroughIcon, { fontSize: "tiny" }),
7134
+ label: (0, import_i18n55.__)("Strikethrough", "elementor"),
7135
+ icon: /* @__PURE__ */ React108.createElement(import_icons38.StrikethroughIcon, { fontSize: "tiny" }),
7032
7136
  action: "strike",
7033
7137
  method: (editor) => {
7034
7138
  editor.chain().focus().toggleStrike().run();
7035
7139
  }
7036
7140
  },
7037
7141
  superscript: {
7038
- label: (0, import_i18n54.__)("Superscript", "elementor"),
7039
- icon: /* @__PURE__ */ React107.createElement(import_icons38.SuperscriptIcon, { fontSize: "tiny" }),
7142
+ label: (0, import_i18n55.__)("Superscript", "elementor"),
7143
+ icon: /* @__PURE__ */ React108.createElement(import_icons38.SuperscriptIcon, { fontSize: "tiny" }),
7040
7144
  action: "superscript",
7041
7145
  method: (editor) => {
7042
7146
  editor.chain().focus().toggleSuperscript().run();
7043
7147
  }
7044
7148
  },
7045
7149
  subscript: {
7046
- label: (0, import_i18n54.__)("Subscript", "elementor"),
7047
- icon: /* @__PURE__ */ React107.createElement(import_icons38.SubscriptIcon, { fontSize: "tiny" }),
7150
+ label: (0, import_i18n55.__)("Subscript", "elementor"),
7151
+ icon: /* @__PURE__ */ React108.createElement(import_icons38.SubscriptIcon, { fontSize: "tiny" }),
7048
7152
  action: "subscript",
7049
7153
  method: (editor) => {
7050
7154
  editor.chain().focus().toggleSubscript().run();
7051
7155
  }
7052
7156
  },
7053
7157
  link: {
7054
- label: (0, import_i18n54.__)("Link", "elementor"),
7055
- icon: /* @__PURE__ */ React107.createElement(import_icons38.LinkIcon, { fontSize: "tiny" }),
7158
+ label: (0, import_i18n55.__)("Link", "elementor"),
7159
+ icon: /* @__PURE__ */ React108.createElement(import_icons38.LinkIcon, { fontSize: "tiny" }),
7056
7160
  action: "link",
7057
7161
  method: null
7058
7162
  }
@@ -7061,8 +7165,8 @@ var { clear: clearButton, ...formatButtons } = toolbarButtons;
7061
7165
  var possibleFormats = Object.keys(formatButtons);
7062
7166
 
7063
7167
  // src/components/size/unstable-size-field.tsx
7064
- var React110 = __toESM(require("react"));
7065
- var import_ui95 = require("@elementor/ui");
7168
+ var React111 = __toESM(require("react"));
7169
+ var import_ui96 = require("@elementor/ui");
7066
7170
 
7067
7171
  // src/hooks/use-size-value.ts
7068
7172
  var useSizeValue = (externalValue, onChange, defaultValue) => {
@@ -7102,26 +7206,26 @@ var differsFromExternal = (newState, externalState) => {
7102
7206
  };
7103
7207
 
7104
7208
  // src/components/size/unit-select.tsx
7105
- var React108 = __toESM(require("react"));
7106
- var import_react61 = require("react");
7107
- var import_editor_ui14 = require("@elementor/editor-ui");
7108
- var import_ui94 = require("@elementor/ui");
7209
+ var React109 = __toESM(require("react"));
7210
+ var import_react62 = require("react");
7211
+ var import_editor_ui15 = require("@elementor/editor-ui");
7212
+ var import_ui95 = require("@elementor/ui");
7109
7213
  var menuItemContentStyles = {
7110
7214
  display: "flex",
7111
7215
  flexDirection: "column",
7112
7216
  justifyContent: "center"
7113
7217
  };
7114
7218
  var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
7115
- const popupState = (0, import_ui94.usePopupState)({
7219
+ const popupState = (0, import_ui95.usePopupState)({
7116
7220
  variant: "popover",
7117
- popupId: (0, import_react61.useId)()
7221
+ popupId: (0, import_react62.useId)()
7118
7222
  });
7119
7223
  const handleMenuItemClick = (index) => {
7120
7224
  onClick(options[index]);
7121
7225
  popupState.close();
7122
7226
  };
7123
- return /* @__PURE__ */ React108.createElement(React108.Fragment, null, /* @__PURE__ */ React108.createElement(StyledButton2, { isPrimaryColor: showPrimaryColor, size: "small", ...(0, import_ui94.bindTrigger)(popupState) }, value), /* @__PURE__ */ React108.createElement(import_ui94.Menu, { MenuListProps: { dense: true }, ...(0, import_ui94.bindMenu)(popupState) }, options.map((option, index) => /* @__PURE__ */ React108.createElement(
7124
- import_editor_ui14.MenuListItem,
7227
+ return /* @__PURE__ */ React109.createElement(React109.Fragment, null, /* @__PURE__ */ React109.createElement(StyledButton2, { isPrimaryColor: showPrimaryColor, size: "small", ...(0, import_ui95.bindTrigger)(popupState) }, value), /* @__PURE__ */ React109.createElement(import_ui95.Menu, { MenuListProps: { dense: true }, ...(0, import_ui95.bindMenu)(popupState) }, options.map((option, index) => /* @__PURE__ */ React109.createElement(
7228
+ import_editor_ui15.MenuListItem,
7125
7229
  {
7126
7230
  key: option,
7127
7231
  onClick: () => handleMenuItemClick(index),
@@ -7139,7 +7243,7 @@ var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
7139
7243
  option.toUpperCase()
7140
7244
  ))));
7141
7245
  };
7142
- var StyledButton2 = (0, import_ui94.styled)(import_ui94.Button, {
7246
+ var StyledButton2 = (0, import_ui95.styled)(import_ui95.Button, {
7143
7247
  shouldForwardProp: (prop) => prop !== "isPrimaryColor"
7144
7248
  })(({ isPrimaryColor, theme }) => ({
7145
7249
  color: isPrimaryColor ? theme.palette.text.primary : theme.palette.text.tertiary,
@@ -7149,11 +7253,11 @@ var StyledButton2 = (0, import_ui94.styled)(import_ui94.Button, {
7149
7253
  }));
7150
7254
 
7151
7255
  // src/components/size/unstable-size-input.tsx
7152
- var React109 = __toESM(require("react"));
7153
- var import_react62 = require("react");
7154
- var UnstableSizeInput = (0, import_react62.forwardRef)(
7256
+ var React110 = __toESM(require("react"));
7257
+ var import_react63 = require("react");
7258
+ var UnstableSizeInput = (0, import_react63.forwardRef)(
7155
7259
  ({ type, value, onChange, onKeyDown, onKeyUp, InputProps, onBlur, focused, disabled }, ref) => {
7156
- return /* @__PURE__ */ React109.createElement(
7260
+ return /* @__PURE__ */ React110.createElement(
7157
7261
  NumberInput,
7158
7262
  {
7159
7263
  ref,
@@ -7197,7 +7301,7 @@ var UnstableSizeField = ({
7197
7301
  const shouldHighlightUnit = () => {
7198
7302
  return hasValue(size);
7199
7303
  };
7200
- return /* @__PURE__ */ React110.createElement(
7304
+ return /* @__PURE__ */ React111.createElement(
7201
7305
  UnstableSizeInput,
7202
7306
  {
7203
7307
  type: "number",
@@ -7206,7 +7310,7 @@ var UnstableSizeField = ({
7206
7310
  onChange: (event) => setSize(event.target.value),
7207
7311
  InputProps: {
7208
7312
  ...InputProps,
7209
- endAdornment: /* @__PURE__ */ React110.createElement(import_ui95.InputAdornment, { position: "end" }, /* @__PURE__ */ React110.createElement(
7313
+ endAdornment: /* @__PURE__ */ React111.createElement(import_ui96.InputAdornment, { position: "end" }, /* @__PURE__ */ React111.createElement(
7210
7314
  UnitSelect,
7211
7315
  {
7212
7316
  options: units2,
@@ -7224,13 +7328,13 @@ var hasValue = (value) => {
7224
7328
  };
7225
7329
 
7226
7330
  // src/hooks/use-font-families.ts
7227
- var import_react63 = require("react");
7331
+ var import_react64 = require("react");
7228
7332
  var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
7229
- var import_i18n55 = require("@wordpress/i18n");
7333
+ var import_i18n56 = require("@wordpress/i18n");
7230
7334
  var supportedCategories = {
7231
- system: (0, import_i18n55.__)("System", "elementor"),
7232
- custom: (0, import_i18n55.__)("Custom Fonts", "elementor"),
7233
- googlefonts: (0, import_i18n55.__)("Google Fonts", "elementor")
7335
+ system: (0, import_i18n56.__)("System", "elementor"),
7336
+ custom: (0, import_i18n56.__)("Custom Fonts", "elementor"),
7337
+ googlefonts: (0, import_i18n56.__)("Google Fonts", "elementor")
7234
7338
  };
7235
7339
  var getFontFamilies = () => {
7236
7340
  const { controls } = (0, import_editor_v1_adapters.getElementorConfig)();
@@ -7242,7 +7346,7 @@ var getFontFamilies = () => {
7242
7346
  };
7243
7347
  var useFontFamilies = () => {
7244
7348
  const fontFamilies = getFontFamilies();
7245
- return (0, import_react63.useMemo)(() => {
7349
+ return (0, import_react64.useMemo)(() => {
7246
7350
  const categoriesOrder = ["system", "custom", "googlefonts"];
7247
7351
  return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
7248
7352
  if (!supportedCategories[category]) {
@@ -7277,6 +7381,7 @@ var useFontFamilies = () => {
7277
7381
  ControlToggleButtonGroup,
7278
7382
  DateTimeControl,
7279
7383
  DisplayConditionsControl,
7384
+ EmailFormActionControl,
7280
7385
  EqualUnequalSizesControl,
7281
7386
  FilterRepeaterControl,
7282
7387
  FontFamilyControl,