@elementor/editor-controls 4.4.0-1077 → 4.4.0-1079

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
@@ -103,11 +103,14 @@ __export(index_exports, {
103
103
  createControlReplacementsRegistry: () => createControlReplacementsRegistry,
104
104
  enqueueFont: () => enqueueFont,
105
105
  getControlReplacements: () => getControlReplacements,
106
+ getFontAwesome7IconName: () => getFontAwesome7IconName,
106
107
  injectIntoRepeaterItemActions: () => injectIntoRepeaterItemActions,
107
108
  injectIntoRepeaterItemIcon: () => injectIntoRepeaterItemIcon,
108
109
  injectIntoRepeaterItemLabel: () => injectIntoRepeaterItemLabel,
109
110
  isUnitExtendedOption: () => isUnitExtendedOption,
110
111
  registerControlReplacement: () => registerControlReplacement,
112
+ resetFontAwesome7IconsCache: () => resetFontAwesome7IconsCache,
113
+ resolveFontAwesome7Icon: () => resolveFontAwesome7Icon,
111
114
  trackUpgradePromotionClick: () => trackUpgradePromotionClick,
112
115
  trackViewPromotion: () => trackViewPromotion,
113
116
  transitionProperties: () => transitionProperties,
@@ -5376,14 +5379,13 @@ var AspectRatioControl = createControl(({ label }) => {
5376
5379
  });
5377
5380
 
5378
5381
  // src/controls/svg-media-control.tsx
5379
- var React81 = __toESM(require("react"));
5380
- var import_react49 = require("react");
5382
+ var React85 = __toESM(require("react"));
5383
+ var import_react50 = require("react");
5381
5384
  var import_editor_current_user = require("@elementor/editor-current-user");
5382
5385
  var import_editor_props35 = require("@elementor/editor-props");
5383
- var import_icons21 = require("@elementor/icons");
5384
- var import_ui64 = require("@elementor/ui");
5386
+ var import_ui67 = require("@elementor/ui");
5385
5387
  var import_wp_media2 = require("@elementor/wp-media");
5386
- var import_i18n32 = require("@wordpress/i18n");
5388
+ var import_i18n35 = require("@wordpress/i18n");
5387
5389
 
5388
5390
  // src/components/enable-unfiltered-modal.tsx
5389
5391
  var React80 = __toESM(require("react"));
@@ -5435,37 +5437,443 @@ var AdminDialog = ({ open, onClose, handleEnable, isPending, isError }) => /* @_
5435
5437
  isPending ? /* @__PURE__ */ React80.createElement(import_ui63.CircularProgress, { size: 24 }) : (0, import_i18n31.__)("Enable", "elementor")
5436
5438
  )));
5437
5439
 
5438
- // src/controls/open-icon-library.ts
5439
- var import_editor_props34 = require("@elementor/editor-props");
5440
- var SVG_ICON_LIBRARY = "svg";
5441
- function isSvgLibrarySelection(icon) {
5442
- return icon.library === SVG_ICON_LIBRARY && typeof icon.value === "object" && icon.value !== null;
5440
+ // src/controls/icon-library/get-icon-library-anchor.ts
5441
+ function getIconLibraryAnchor(containerRect, buttonGroupRect) {
5442
+ if (!containerRect || containerRect.width <= 0) {
5443
+ return null;
5444
+ }
5445
+ return {
5446
+ top: buttonGroupRect?.top ?? containerRect.top,
5447
+ left: containerRect.left,
5448
+ width: containerRect.width
5449
+ };
5443
5450
  }
5444
- function openIconLibrary({ selected, onSelect } = {}) {
5445
- const iconManager = window.elementor?.iconManager;
5446
- if (!iconManager) {
5447
- return;
5451
+ function measureIconLibraryAnchor(container, buttonGroup) {
5452
+ return getIconLibraryAnchor(container?.getBoundingClientRect(), buttonGroup?.getBoundingClientRect());
5453
+ }
5454
+
5455
+ // src/controls/icon-library/icon-library-popover.tsx
5456
+ var React82 = __toESM(require("react"));
5457
+ var import_react49 = require("react");
5458
+ var import_editor_ui11 = require("@elementor/editor-ui");
5459
+ var import_icons21 = require("@elementor/icons");
5460
+ var import_ui64 = require("@elementor/ui");
5461
+ var import_utils6 = require("@elementor/utils");
5462
+ var import_i18n32 = require("@wordpress/i18n");
5463
+
5464
+ // src/controls/icon-library/font-awesome-7-data.ts
5465
+ var FONT_AWESOME_7_LIBRARIES = [
5466
+ { file: "solid", library: "fa-solid" },
5467
+ { file: "regular", library: "fa-regular" },
5468
+ { file: "brands", library: "fa-brands" }
5469
+ ];
5470
+ var FONT_AWESOME_JSON = {
5471
+ width: 0,
5472
+ height: 1,
5473
+ aliases: 2,
5474
+ unicode: 3,
5475
+ path: 4
5476
+ };
5477
+ var libraryCache = /* @__PURE__ */ new Map();
5478
+ function getFontAwesome7EditorConfig() {
5479
+ const config = window.elementorCommon?.config?.fontAwesome?.v7;
5480
+ if (!config || !Array.isArray(config.jsonFiles)) {
5481
+ return null;
5482
+ }
5483
+ const jsonBaseUrl = getAllowedJsonBaseUrl(config.jsonBaseUrl);
5484
+ if (!jsonBaseUrl) {
5485
+ return null;
5486
+ }
5487
+ return {
5488
+ jsonFiles: config.jsonFiles,
5489
+ jsonBaseUrl
5490
+ };
5491
+ }
5492
+ var FONT_AWESOME_ICON_NAME_PATTERN = /^fa\S*\s+fa-([^\s]+)/;
5493
+ function getFontAwesome7IconName(iconValue) {
5494
+ return iconValue.match(FONT_AWESOME_ICON_NAME_PATTERN)?.[1] ?? null;
5495
+ }
5496
+ function resetFontAwesome7IconsCache() {
5497
+ libraryCache.clear();
5498
+ }
5499
+ async function loadFontAwesome7Library(file, signal) {
5500
+ const cached = await getCachedLibrary(file, signal);
5501
+ return cached?.icons ?? [];
5502
+ }
5503
+ async function resolveFontAwesome7Icon(library, iconName, signal) {
5504
+ const file = getLibraryFileName(library);
5505
+ if (!file) {
5506
+ return null;
5507
+ }
5508
+ const cached = await getCachedLibrary(file, signal);
5509
+ return cached?.lookup[iconName] ?? null;
5510
+ }
5511
+ async function getCachedLibrary(file, signal) {
5512
+ const cached = libraryCache.get(file);
5513
+ if (cached) {
5514
+ return cached;
5515
+ }
5516
+ const loaded = await fetchLibrary(file, signal);
5517
+ if (loaded) {
5518
+ libraryCache.set(file, loaded);
5519
+ }
5520
+ return loaded;
5521
+ }
5522
+ function getLibraryFileName(library) {
5523
+ const config = getFontAwesome7EditorConfig();
5524
+ const match = FONT_AWESOME_7_LIBRARIES.find((item) => item.library === library);
5525
+ if (!config || !match || !config.jsonFiles.includes(match.file)) {
5526
+ return null;
5527
+ }
5528
+ return match.file;
5529
+ }
5530
+ async function fetchLibrary(file, signal) {
5531
+ const config = getFontAwesome7EditorConfig();
5532
+ if (!config?.jsonFiles.includes(file)) {
5533
+ return null;
5534
+ }
5535
+ const catalogUrl = getCatalogFileUrl(config.jsonBaseUrl, file);
5536
+ if (!catalogUrl) {
5537
+ return null;
5538
+ }
5539
+ try {
5540
+ const response = await fetch(catalogUrl, { signal });
5541
+ if (!response.ok) {
5542
+ return null;
5543
+ }
5544
+ const data = await response.json();
5545
+ const icons = data.icons;
5546
+ if (!icons || typeof icons !== "object") {
5547
+ return null;
5548
+ }
5549
+ return indexLibrary(icons);
5550
+ } catch {
5551
+ return null;
5552
+ }
5553
+ }
5554
+ function indexLibrary(icons) {
5555
+ const definitions = [];
5556
+ const lookup = /* @__PURE__ */ Object.create(null);
5557
+ for (const [name, iconData] of Object.entries(icons)) {
5558
+ const definition = toIconDefinition(name, iconData);
5559
+ if (!definition) {
5560
+ continue;
5561
+ }
5562
+ definitions.push(definition);
5563
+ lookup[name] = definition;
5564
+ for (const alias of definition.aliases) {
5565
+ if (!lookup[alias]) {
5566
+ lookup[alias] = definition;
5567
+ }
5568
+ }
5569
+ }
5570
+ return { icons: definitions, lookup };
5571
+ }
5572
+ function toIconDefinition(name, iconData) {
5573
+ if (!isValidIconTuple(iconData)) {
5574
+ return null;
5448
5575
  }
5449
- iconManager.loadIconLibraries();
5450
- iconManager.show({
5451
- view: createIconManagerControlView(selected, onSelect)
5576
+ const paths = normalizePaths(iconData[FONT_AWESOME_JSON.path]);
5577
+ if (paths.length === 0) {
5578
+ return null;
5579
+ }
5580
+ const aliases = iconData[FONT_AWESOME_JSON.aliases].filter(
5581
+ (alias) => typeof alias === "string" && alias !== ""
5582
+ );
5583
+ return {
5584
+ name,
5585
+ aliases,
5586
+ width: iconData[FONT_AWESOME_JSON.width],
5587
+ height: iconData[FONT_AWESOME_JSON.height],
5588
+ paths
5589
+ };
5590
+ }
5591
+ function isValidIconTuple(iconData) {
5592
+ return Array.isArray(iconData) && iconData.length > FONT_AWESOME_JSON.path && typeof iconData[FONT_AWESOME_JSON.width] === "number" && typeof iconData[FONT_AWESOME_JSON.height] === "number" && Array.isArray(iconData[FONT_AWESOME_JSON.aliases]);
5593
+ }
5594
+ function normalizePaths(pathData) {
5595
+ if (typeof pathData === "string" && isSafeSvgPath(pathData)) {
5596
+ return [pathData];
5597
+ }
5598
+ if (!Array.isArray(pathData)) {
5599
+ return [];
5600
+ }
5601
+ return pathData.filter((path) => typeof path === "string" && isSafeSvgPath(path));
5602
+ }
5603
+ function isSafeSvgPath(path) {
5604
+ return path !== "" && !/[<>"'`]/.test(path);
5605
+ }
5606
+ function getAllowedJsonBaseUrl(jsonBaseUrl) {
5607
+ if (typeof jsonBaseUrl !== "string" || jsonBaseUrl === "") {
5608
+ return null;
5609
+ }
5610
+ try {
5611
+ const url = new URL(jsonBaseUrl);
5612
+ if (url.protocol !== "http:" && url.protocol !== "https:") {
5613
+ return null;
5614
+ }
5615
+ return url.href;
5616
+ } catch {
5617
+ return null;
5618
+ }
5619
+ }
5620
+ function getCatalogFileUrl(jsonBaseUrl, file) {
5621
+ try {
5622
+ const baseUrl = new URL(jsonBaseUrl);
5623
+ const fileUrl = new URL(`${file}.json`, jsonBaseUrl);
5624
+ if (fileUrl.origin !== baseUrl.origin || !fileUrl.pathname.startsWith(baseUrl.pathname)) {
5625
+ return null;
5626
+ }
5627
+ if (fileUrl.protocol !== "http:" && fileUrl.protocol !== "https:") {
5628
+ return null;
5629
+ }
5630
+ return fileUrl.href;
5631
+ } catch {
5632
+ return null;
5633
+ }
5634
+ }
5635
+
5636
+ // src/controls/icon-library/font-awesome-7-catalog.ts
5637
+ async function loadFontAwesome7Catalog(signal) {
5638
+ const config = getFontAwesome7EditorConfig();
5639
+ if (!config) {
5640
+ return [];
5641
+ }
5642
+ const catalogs = await Promise.all(
5643
+ FONT_AWESOME_7_LIBRARIES.map(async ({ file, library }) => {
5644
+ if (!config.jsonFiles.includes(file)) {
5645
+ return [];
5646
+ }
5647
+ const icons = await loadFontAwesome7Library(file, signal);
5648
+ return icons.map((icon) => toCatalogIcon(icon, library));
5649
+ })
5650
+ );
5651
+ return catalogs.flat();
5652
+ }
5653
+ function filterFontAwesome7Icons(icons, searchValue) {
5654
+ const query = searchValue?.trim().toLowerCase() ?? "";
5655
+ if (query === "") {
5656
+ return icons;
5657
+ }
5658
+ return icons.filter((icon) => {
5659
+ if (icon.name.includes(query) || icon.label.toLowerCase().includes(query)) {
5660
+ return true;
5661
+ }
5662
+ return icon.aliases.some((alias) => alias.toLowerCase().includes(query));
5452
5663
  });
5453
5664
  }
5454
- function enqueueIconFonts(library) {
5455
- window.elementor?.helpers?.enqueueIconFonts?.(library);
5665
+ function createIconSelectionValue(library, name) {
5666
+ return `${library} fa-${name}`;
5456
5667
  }
5457
- function createIconManagerControlView(selected, onSelect) {
5668
+ function getSelectedIconId(iconClass, library) {
5669
+ if (!iconClass || !library) {
5670
+ return void 0;
5671
+ }
5672
+ const name = getFontAwesome7IconName(iconClass);
5673
+ if (!name) {
5674
+ return void 0;
5675
+ }
5676
+ return `${library}:${name}`;
5677
+ }
5678
+ function findFontAwesome7Icon(icons, iconClass, library) {
5679
+ const selectedId = getSelectedIconId(iconClass, library);
5680
+ if (!selectedId || !library) {
5681
+ return void 0;
5682
+ }
5683
+ const selectedName = selectedId.slice(`${library}:`.length);
5684
+ return icons.find((icon) => {
5685
+ if (icon.library !== library) {
5686
+ return false;
5687
+ }
5688
+ return icon.id === selectedId || icon.name === selectedName || icon.aliases.includes(selectedName);
5689
+ });
5690
+ }
5691
+ function toCatalogIcon(icon, library) {
5458
5692
  return {
5459
- model: {
5460
- get: () => false
5461
- },
5462
- getControlValue: () => selected ?? { value: "", library: "" },
5463
- setValue: (icon) => {
5464
- onSelect?.(icon);
5465
- },
5466
- applySavedValue: () => void 0
5693
+ ...icon,
5694
+ id: `${library}:${icon.name}`,
5695
+ label: icon.name.replace(/-/g, " "),
5696
+ library,
5697
+ value: createIconSelectionValue(library, icon.name)
5467
5698
  };
5468
5699
  }
5700
+
5701
+ // src/controls/icon-library/font-awesome-glyph.tsx
5702
+ var React81 = __toESM(require("react"));
5703
+ var FontAwesomeGlyph = ({ icon, size, color, label }) => {
5704
+ return /* @__PURE__ */ React81.createElement(
5705
+ "svg",
5706
+ {
5707
+ xmlns: "http://www.w3.org/2000/svg",
5708
+ viewBox: `0 0 ${icon.width} ${icon.height}`,
5709
+ width: size,
5710
+ height: size,
5711
+ fill: color,
5712
+ overflow: "visible",
5713
+ "aria-hidden": label ? void 0 : true,
5714
+ "aria-label": label,
5715
+ role: label ? "img" : void 0
5716
+ },
5717
+ icon.paths.map((path, index) => /* @__PURE__ */ React81.createElement("path", { key: `${index}-${path}`, d: path }))
5718
+ );
5719
+ };
5720
+
5721
+ // src/controls/icon-library/use-font-awesome-7-catalog.ts
5722
+ var import_query2 = require("@elementor/query");
5723
+ var FONT_AWESOME_7_CATALOG_QUERY_KEY = ["font-awesome-7-catalog"];
5724
+ function useFontAwesome7Catalog(enabled) {
5725
+ return (0, import_query2.useQuery)({
5726
+ queryKey: FONT_AWESOME_7_CATALOG_QUERY_KEY,
5727
+ queryFn: ({ signal }) => loadFontAwesome7Catalog(signal),
5728
+ enabled,
5729
+ staleTime: Infinity
5730
+ });
5731
+ }
5732
+
5733
+ // src/controls/icon-library/icon-library-popover.tsx
5734
+ var ICON_LIBRARY_POPOVER_WIDTH = 300;
5735
+ var ICON_LIBRARY_ROW_HEIGHT = 48;
5736
+ var ICON_LIBRARY_SEARCH_DEBOUNCE_DELAY = 300;
5737
+ var ICON_TILE_SIZE = 40;
5738
+ var ICON_GLYPH_SIZE = 20;
5739
+ var ICON_LIBRARY_INLINE_SPACING = 1;
5740
+ var CompactIconLibraryMenuList = (0, import_ui64.styled)(import_editor_ui11.StyledMenuList)(({ theme }) => ({
5741
+ '& > [role="option"]': {
5742
+ padding: theme.spacing(0.75, ICON_LIBRARY_INLINE_SPACING)
5743
+ }
5744
+ }));
5745
+ var IconLibraryPopover = ({
5746
+ open,
5747
+ selectedIconClass,
5748
+ selectedIconLibrary,
5749
+ onSelect,
5750
+ onClose,
5751
+ width = ICON_LIBRARY_POPOVER_WIDTH
5752
+ }) => {
5753
+ const {
5754
+ debouncedValue: searchValue,
5755
+ inputValue: searchInputValue,
5756
+ handleChange: handleSearchChange,
5757
+ setImmediateValue: setSearchValue
5758
+ } = (0, import_utils6.useDebounceState)({ delay: ICON_LIBRARY_SEARCH_DEBOUNCE_DELAY });
5759
+ const { data: icons = [], isLoading } = useFontAwesome7Catalog(open);
5760
+ const items2 = (0, import_react49.useMemo)(() => createIconLibraryItems(icons, searchValue), [icons, searchValue]);
5761
+ const selectedValue = (0, import_react49.useMemo)(
5762
+ () => findFontAwesome7Icon(icons, selectedIconClass, selectedIconLibrary)?.id,
5763
+ [icons, selectedIconClass, selectedIconLibrary]
5764
+ );
5765
+ const handleClose = () => {
5766
+ setSearchValue("");
5767
+ onClose();
5768
+ };
5769
+ const handleSelect = (id) => {
5770
+ const icon = items2.find((item) => item.id === id);
5771
+ if (!icon) {
5772
+ return;
5773
+ }
5774
+ onSelect({
5775
+ value: createIconSelectionValue(icon.library, icon.name),
5776
+ library: icon.library
5777
+ });
5778
+ };
5779
+ const handleClearSearch = () => {
5780
+ setSearchValue("");
5781
+ };
5782
+ return /* @__PURE__ */ React82.createElement(import_editor_ui11.PopoverBody, { width, fillWidth: true, id: "icon-library" }, /* @__PURE__ */ React82.createElement(
5783
+ import_editor_ui11.PopoverHeader,
5784
+ {
5785
+ title: (0, import_i18n32.__)("Icon library", "elementor"),
5786
+ onClose: handleClose,
5787
+ icon: /* @__PURE__ */ React82.createElement(import_icons21.ComponentsIcon, { fontSize: "tiny" }),
5788
+ sx: { pl: ICON_LIBRARY_INLINE_SPACING, pr: 0.5 }
5789
+ }
5790
+ ), /* @__PURE__ */ React82.createElement(
5791
+ import_editor_ui11.SearchField,
5792
+ {
5793
+ value: searchInputValue,
5794
+ onSearch: handleSearchChange,
5795
+ placeholder: (0, import_i18n32.__)("Search", "elementor"),
5796
+ id: "icon-library-search",
5797
+ sx: { px: ICON_LIBRARY_INLINE_SPACING, pb: 1 }
5798
+ }
5799
+ ), /* @__PURE__ */ React82.createElement(import_ui64.Divider, null), /* @__PURE__ */ React82.createElement(import_ui64.Box, { sx: { flex: 1, overflow: "auto", minHeight: 0 } }, /* @__PURE__ */ React82.createElement(
5800
+ IconLibraryContent,
5801
+ {
5802
+ isLoading,
5803
+ items: items2,
5804
+ selectedValue,
5805
+ searchValue,
5806
+ onSelect: handleSelect,
5807
+ onClose: handleClose,
5808
+ onClearSearch: handleClearSearch
5809
+ }
5810
+ )));
5811
+ };
5812
+ var IconLibraryContent = ({
5813
+ isLoading,
5814
+ items: items2,
5815
+ selectedValue,
5816
+ searchValue,
5817
+ onSelect,
5818
+ onClose,
5819
+ onClearSearch
5820
+ }) => {
5821
+ if (isLoading) {
5822
+ return /* @__PURE__ */ React82.createElement(IconLibraryLoadingState, null);
5823
+ }
5824
+ return /* @__PURE__ */ React82.createElement(
5825
+ import_editor_ui11.PopoverMenuList,
5826
+ {
5827
+ items: items2,
5828
+ selectedValue,
5829
+ menuListTemplate: CompactIconLibraryMenuList,
5830
+ onSelect,
5831
+ onClose,
5832
+ itemHeight: ICON_LIBRARY_ROW_HEIGHT,
5833
+ menuItemContentTemplate: IconLibraryRow,
5834
+ noResultsComponent: /* @__PURE__ */ React82.createElement(IconLibraryEmptyState, { searchValue, onClear: onClearSearch }),
5835
+ "data-testid": "icon-library-list"
5836
+ }
5837
+ );
5838
+ };
5839
+ var IconLibraryLoadingState = () => /* @__PURE__ */ React82.createElement(import_ui64.Stack, { alignItems: "center", justifyContent: "center", height: "100%" }, /* @__PURE__ */ React82.createElement(import_ui64.CircularProgress, { role: "progressbar", size: 24 }));
5840
+ var IconLibraryEmptyState = ({ searchValue, onClear }) => {
5841
+ if (searchValue.trim() === "") {
5842
+ return /* @__PURE__ */ React82.createElement(CatalogUnavailable, null);
5843
+ }
5844
+ return /* @__PURE__ */ React82.createElement(NoResults, { searchValue, onClear });
5845
+ };
5846
+ var IconLibraryRow = (item) => {
5847
+ const icon = item;
5848
+ return /* @__PURE__ */ React82.createElement(import_ui64.Stack, { direction: "row", alignItems: "center", gap: 1, sx: { width: "100%" } }, /* @__PURE__ */ React82.createElement(
5849
+ import_ui64.Box,
5850
+ {
5851
+ sx: {
5852
+ width: ICON_TILE_SIZE,
5853
+ height: ICON_TILE_SIZE,
5854
+ display: "flex",
5855
+ alignItems: "center",
5856
+ justifyContent: "center",
5857
+ border: 1,
5858
+ borderColor: "divider",
5859
+ borderRadius: 1,
5860
+ color: "text.tertiary",
5861
+ flexShrink: 0
5862
+ }
5863
+ },
5864
+ icon.paths.length > 0 ? /* @__PURE__ */ React82.createElement(FontAwesomeGlyph, { icon, size: ICON_GLYPH_SIZE, color: "currentColor" }) : null
5865
+ ), /* @__PURE__ */ React82.createElement(import_ui64.Typography, { variant: "caption", color: "text.primary", noWrap: true }, icon.label));
5866
+ };
5867
+ var CatalogUnavailable = () => /* @__PURE__ */ React82.createElement(import_ui64.Stack, { alignItems: "center", justifyContent: "center", height: "100%", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React82.createElement(import_icons21.ComponentsIcon, { fontSize: "large" }), /* @__PURE__ */ React82.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2", color: "text.secondary" }, (0, import_i18n32.__)("Icons couldn't be loaded.", "elementor")));
5868
+ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React82.createElement(import_ui64.Stack, { alignItems: "center", justifyContent: "center", height: "100%", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React82.createElement(import_icons21.ComponentsIcon, { fontSize: "large" }), /* @__PURE__ */ React82.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2", color: "text.secondary" }, (0, import_i18n32.__)("Sorry, nothing matched", "elementor")), /* @__PURE__ */ React82.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2", color: "text.secondary", noWrap: true, sx: { maxWidth: "80%" } }, "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React82.createElement(import_ui64.Link, { color: "secondary", variant: "caption", component: "button", type: "button", onClick: onClear }, (0, import_i18n32.__)("Clear & try again", "elementor")));
5869
+ var createIconLibraryItems = (icons, searchValue) => filterFontAwesome7Icons(icons, searchValue).map((icon) => ({
5870
+ ...icon,
5871
+ type: "item",
5872
+ value: icon.id
5873
+ }));
5874
+
5875
+ // src/controls/open-icon-library.ts
5876
+ var import_editor_props34 = require("@elementor/editor-props");
5469
5877
  function createIconPropValue(icon, library) {
5470
5878
  return {
5471
5879
  value: import_editor_props34.stringPropTypeUtil.create(icon),
@@ -5473,13 +5881,170 @@ function createIconPropValue(icon, library) {
5473
5881
  };
5474
5882
  }
5475
5883
 
5884
+ // src/controls/svg-media-overlay.tsx
5885
+ var React83 = __toESM(require("react"));
5886
+ var import_icons22 = require("@elementor/icons");
5887
+ var import_ui65 = require("@elementor/ui");
5888
+ var import_i18n33 = require("@wordpress/i18n");
5889
+ var SVG_MEDIA_CONTROL_CONTAINER_TEST_ID = "svg-media-control-container";
5890
+ var SVG_MEDIA_ACTION_GROUP_TEST_ID = "svg-media-action-group";
5891
+ var MEDIA_ACTION_PADDING_Y = 0.75;
5892
+ var MEDIA_ACTION_PADDING_X = 2;
5893
+ var ICON_LIBRARY_PADDING = 0.625;
5894
+ var svgButtonSx = {
5895
+ px: MEDIA_ACTION_PADDING_X,
5896
+ py: MEDIA_ACTION_PADDING_Y
5897
+ };
5898
+ var MediaActionGroup = (0, import_ui65.styled)(import_ui65.Stack)(({ theme }) => ({
5899
+ display: "inline-flex",
5900
+ flexDirection: "row",
5901
+ alignItems: "stretch",
5902
+ border: "1px solid currentColor",
5903
+ borderRadius: theme.shape.borderRadius,
5904
+ overflow: "hidden",
5905
+ "& .MuiButton-root": {
5906
+ border: "none",
5907
+ borderRadius: 0,
5908
+ lineHeight: 1
5909
+ }
5910
+ }));
5911
+ var SvgMediaOverlay = ({
5912
+ isAdmin,
5913
+ showIconLibrary,
5914
+ buttonGroupRef,
5915
+ onSelectSvg,
5916
+ onUpload,
5917
+ onOpenIconLibrary,
5918
+ infotipTitle,
5919
+ infotipDescription
5920
+ }) => /* @__PURE__ */ React83.createElement(import_ui65.Stack, { alignItems: "center", gap: 1 }, /* @__PURE__ */ React83.createElement(MediaActionGroup, { ref: buttonGroupRef, direction: "row", "data-testid": SVG_MEDIA_ACTION_GROUP_TEST_ID }, /* @__PURE__ */ React83.createElement(
5921
+ import_ui65.Button,
5922
+ {
5923
+ size: "tiny",
5924
+ color: "inherit",
5925
+ variant: "text",
5926
+ onClick: onSelectSvg,
5927
+ "aria-label": (0, import_i18n33.__)("Select", "elementor"),
5928
+ sx: svgButtonSx
5929
+ },
5930
+ (0, import_i18n33.__)("Select", "elementor")
5931
+ ), /* @__PURE__ */ React83.createElement(
5932
+ import_ui65.Box,
5933
+ {
5934
+ sx: {
5935
+ width: "1px",
5936
+ alignSelf: "stretch",
5937
+ bgcolor: "currentColor",
5938
+ flexShrink: 0
5939
+ }
5940
+ }
5941
+ ), /* @__PURE__ */ React83.createElement(
5942
+ ConditionalControlInfotip,
5943
+ {
5944
+ title: infotipTitle,
5945
+ description: infotipDescription,
5946
+ isEnabled: !isAdmin
5947
+ },
5948
+ /* @__PURE__ */ React83.createElement(import_ui65.Box, { component: "span", sx: { display: "inline-flex" } }, /* @__PURE__ */ React83.createElement(UploadControl, { isAdmin, onUpload }))
5949
+ )), showIconLibrary ? /* @__PURE__ */ React83.createElement(
5950
+ import_ui65.Button,
5951
+ {
5952
+ size: "tiny",
5953
+ color: "inherit",
5954
+ variant: "text",
5955
+ startIcon: /* @__PURE__ */ React83.createElement(import_icons22.LibraryIcon, { sx: { height: "18px", width: "16px" } }),
5956
+ "aria-label": (0, import_i18n33.__)("Icon library", "elementor"),
5957
+ onClick: onOpenIconLibrary,
5958
+ sx: {
5959
+ height: "28px",
5960
+ p: ICON_LIBRARY_PADDING,
5961
+ ".MuiButton-icon": { ml: 0 }
5962
+ }
5963
+ },
5964
+ /* @__PURE__ */ React83.createElement(import_ui65.Typography, null, (0, import_i18n33.__)("Icon library", "elementor"))
5965
+ ) : null);
5966
+ var UploadControl = ({ isAdmin, onUpload }) => {
5967
+ if (isAdmin) {
5968
+ return /* @__PURE__ */ React83.createElement(UploadButton, { sx: svgButtonSx, onClick: onUpload });
5969
+ }
5970
+ return /* @__PURE__ */ React83.createElement(import_ui65.ThemeProvider, { colorScheme: "dark" }, /* @__PURE__ */ React83.createElement(UploadButton, { disabled: true, sx: svgButtonSx }));
5971
+ };
5972
+ var UploadButton = ({
5973
+ disabled = false,
5974
+ sx,
5975
+ onClick
5976
+ }) => /* @__PURE__ */ React83.createElement(
5977
+ import_ui65.Button,
5978
+ {
5979
+ sx,
5980
+ size: "tiny",
5981
+ color: "inherit",
5982
+ variant: "text",
5983
+ disabled,
5984
+ onClick,
5985
+ "aria-label": (0, import_i18n33.__)("Upload", "elementor")
5986
+ },
5987
+ /* @__PURE__ */ React83.createElement(import_icons22.UploadIcon, null)
5988
+ );
5989
+
5990
+ // src/controls/svg-media-preview.tsx
5991
+ var React84 = __toESM(require("react"));
5992
+ var import_ui66 = require("@elementor/ui");
5993
+ var import_i18n34 = require("@wordpress/i18n");
5994
+ var ICON_PREVIEW_SIZE = 50;
5995
+ var ICON_PREVIEW_COLOR = "#000000";
5996
+ var SvgMediaPreview = ({ isFetching, src, iconClassName, iconLibrary }) => {
5997
+ const shouldLoadIconCatalog = Boolean(iconClassName && iconLibrary);
5998
+ const { data: icons = [], isLoading } = useFontAwesome7Catalog(shouldLoadIconCatalog);
5999
+ const selectedIcon = findFontAwesome7Icon(icons, iconClassName, iconLibrary);
6000
+ if (isFetching || shouldLoadIconCatalog && isLoading) {
6001
+ return /* @__PURE__ */ React84.createElement(import_ui66.CircularProgress, { role: "progressbar" });
6002
+ }
6003
+ if (selectedIcon) {
6004
+ return /* @__PURE__ */ React84.createElement(IconPreview, { icon: selectedIcon });
6005
+ }
6006
+ if (shouldLoadIconCatalog) {
6007
+ return /* @__PURE__ */ React84.createElement(IconPreviewPlaceholder, null);
6008
+ }
6009
+ return /* @__PURE__ */ React84.createElement(SvgPreview, { src });
6010
+ };
6011
+ var IconPreview = ({ icon }) => /* @__PURE__ */ React84.createElement(import_ui66.Box, { sx: { color: ICON_PREVIEW_COLOR } }, /* @__PURE__ */ React84.createElement(
6012
+ FontAwesomeGlyph,
6013
+ {
6014
+ icon,
6015
+ size: ICON_PREVIEW_SIZE,
6016
+ color: ICON_PREVIEW_COLOR,
6017
+ label: (0, import_i18n34.__)("Preview icon", "elementor")
6018
+ }
6019
+ ));
6020
+ var IconPreviewPlaceholder = () => /* @__PURE__ */ React84.createElement(
6021
+ import_ui66.Box,
6022
+ {
6023
+ "aria-hidden": true,
6024
+ sx: {
6025
+ width: ICON_PREVIEW_SIZE,
6026
+ height: ICON_PREVIEW_SIZE,
6027
+ color: ICON_PREVIEW_COLOR
6028
+ }
6029
+ }
6030
+ );
6031
+ var SvgPreview = ({ src }) => /* @__PURE__ */ React84.createElement(
6032
+ import_ui66.CardMedia,
6033
+ {
6034
+ component: "img",
6035
+ image: src,
6036
+ alt: (0, import_i18n34.__)("Preview SVG", "elementor"),
6037
+ sx: { maxHeight: "140px", width: `${ICON_PREVIEW_SIZE}px`, color: ICON_PREVIEW_COLOR }
6038
+ }
6039
+ );
6040
+
5476
6041
  // src/controls/svg-media-control.tsx
5477
6042
  var TILE_SIZE = 8;
5478
6043
  var TILE_WHITE = "transparent";
5479
6044
  var TILE_BLACK = "#c1c1c1";
5480
- var ICON_PREVIEW_FONT_SIZE = 50;
5481
6045
  var TILES_GRADIENT_FORMULA = `linear-gradient(45deg, ${TILE_BLACK} 25%, ${TILE_WHITE} 0, ${TILE_WHITE} 75%, ${TILE_BLACK} 0, ${TILE_BLACK})`;
5482
- var StyledCard = (0, import_ui64.styled)(import_ui64.Card)`
6046
+ var StyledCard = (0, import_ui67.styled)(import_ui67.Card)`
6047
+ position: relative;
5483
6048
  background-color: white;
5484
6049
  background-image: ${TILES_GRADIENT_FORMULA}, ${TILES_GRADIENT_FORMULA};
5485
6050
  background-size: ${TILE_SIZE}px ${TILE_SIZE}px;
@@ -5488,7 +6053,8 @@ var StyledCard = (0, import_ui64.styled)(import_ui64.Card)`
5488
6053
  ${TILE_SIZE / 2}px ${TILE_SIZE / 2}px;
5489
6054
  border: none;
5490
6055
  `;
5491
- var StyledCardMediaContainer = (0, import_ui64.styled)(import_ui64.Stack)`
6056
+ var PREVIEW_ICON_COLOR = "#000000";
6057
+ var StyledCardMediaContainer = (0, import_ui67.styled)(import_ui67.Stack)`
5492
6058
  position: relative;
5493
6059
  height: 140px;
5494
6060
  object-fit: contain;
@@ -5496,6 +6062,7 @@ var StyledCardMediaContainer = (0, import_ui64.styled)(import_ui64.Stack)`
5496
6062
  justify-content: center;
5497
6063
  align-items: center;
5498
6064
  background-color: rgba( 255, 255, 255, 0.37 );
6065
+ color: ${PREVIEW_ICON_COLOR};
5499
6066
  `;
5500
6067
  var MODE_BROWSE = { mode: "browse" };
5501
6068
  var MODE_UPLOAD = { mode: "upload" };
@@ -5507,7 +6074,11 @@ var SvgMediaControl = createControl(({ showIconLibrary = false }) => {
5507
6074
  const { data: attachment, isFetching } = (0, import_wp_media2.useWpMediaAttachment)(id?.value || null);
5508
6075
  const src = attachment?.url ?? url?.value ?? null;
5509
6076
  const { data: allowSvgUpload } = useUnfilteredFilesUpload();
5510
- const [unfilteredModalOpenState, setUnfilteredModalOpenState] = (0, import_react49.useState)(false);
6077
+ const [unfilteredModalOpenState, setUnfilteredModalOpenState] = (0, import_react50.useState)(false);
6078
+ const iconLibraryPopoverState = (0, import_ui67.usePopupState)({ variant: "popover" });
6079
+ const controlContainerRef = (0, import_react50.useRef)(null);
6080
+ const buttonGroupRef = (0, import_react50.useRef)(null);
6081
+ const [iconLibraryAnchor, setIconLibraryAnchor] = (0, import_react50.useState)(null);
5511
6082
  const { isAdmin } = (0, import_editor_current_user.useCurrentUserCapabilities)();
5512
6083
  const selectedIconClass = showIconLibrary && typeof iconValue?.value?.value === "string" ? iconValue.value.value : null;
5513
6084
  const selectedIconLibrary = showIconLibrary && typeof iconValue?.library?.value === "string" ? iconValue.library.value : null;
@@ -5525,7 +6096,7 @@ var SvgMediaControl = createControl(({ showIconLibrary = false }) => {
5525
6096
  });
5526
6097
  }
5527
6098
  });
5528
- const onCloseUnfilteredModal = (enabled) => {
6099
+ const handleCloseUnfilteredModal = (enabled) => {
5529
6100
  setUnfilteredModalOpenState(false);
5530
6101
  if (enabled) {
5531
6102
  open(MODE_UPLOAD);
@@ -5538,127 +6109,123 @@ var SvgMediaControl = createControl(({ showIconLibrary = false }) => {
5538
6109
  open(openOptions);
5539
6110
  }
5540
6111
  };
6112
+ const handleSelectSvg = () => {
6113
+ handleClick(MODE_BROWSE);
6114
+ };
6115
+ const handleUpload = () => {
6116
+ handleClick(MODE_UPLOAD);
6117
+ };
6118
+ const handleCloseIconLibrary = () => {
6119
+ iconLibraryPopoverState.close();
6120
+ setIconLibraryAnchor(null);
6121
+ };
5541
6122
  const handleIconLibrarySelect = (icon) => {
5542
- if (!showIconLibrary) {
5543
- return;
5544
- }
5545
- if (isSvgLibrarySelection(icon)) {
5546
- setSvgValue({
5547
- id: icon.value.id ? {
5548
- $$type: "image-attachment-id",
5549
- value: icon.value.id
5550
- } : null,
5551
- url: icon.value.url ? import_editor_props35.urlPropTypeUtil.create(icon.value.url) : null
5552
- });
6123
+ setIconValue(createIconPropValue(icon.value, icon.library));
6124
+ };
6125
+ const handleOpenIconLibrary = (event) => {
6126
+ const anchor = measureIconLibraryAnchor(controlContainerRef.current, buttonGroupRef.current);
6127
+ if (!anchor) {
5553
6128
  return;
5554
6129
  }
5555
- if (typeof icon.value === "string") {
5556
- setIconValue(createIconPropValue(icon.value, icon.library));
5557
- }
5558
- };
5559
- const infotipProps = {
5560
- title: (0, import_i18n32.__)("Sorry, you can't upload that file yet.", "elementor"),
5561
- description: /* @__PURE__ */ React81.createElement(React81.Fragment, null, (0, import_i18n32.__)("To upload them anyway, ask the site administrator to enable unfiltered", "elementor"), /* @__PURE__ */ React81.createElement("br", null), (0, import_i18n32.__)("file uploads.", "elementor")),
5562
- isEnabled: !isAdmin
6130
+ setIconLibraryAnchor(anchor);
6131
+ iconLibraryPopoverState.open(event);
5563
6132
  };
5564
- return /* @__PURE__ */ React81.createElement(import_ui64.Stack, { gap: 1, "aria-label": "SVG Control" }, /* @__PURE__ */ React81.createElement(EnableUnfilteredModal, { open: unfilteredModalOpenState, onClose: onCloseUnfilteredModal }), /* @__PURE__ */ React81.createElement(ControlActions, null, /* @__PURE__ */ React81.createElement(StyledCard, { variant: "outlined" }, /* @__PURE__ */ React81.createElement(StyledCardMediaContainer, null, /* @__PURE__ */ React81.createElement(
5565
- SvgMediaPreview,
5566
- {
5567
- isFetching,
5568
- src,
5569
- iconClassName: selectedIconClass,
5570
- iconLibrary: selectedIconLibrary
6133
+ (0, import_react50.useEffect)(() => {
6134
+ if (!iconLibraryPopoverState.isOpen) {
6135
+ return;
5571
6136
  }
5572
- )), /* @__PURE__ */ React81.createElement(
5573
- import_ui64.CardOverlay,
6137
+ const handleResize = () => {
6138
+ const nextAnchor = measureIconLibraryAnchor(controlContainerRef.current, buttonGroupRef.current);
6139
+ if (nextAnchor) {
6140
+ setIconLibraryAnchor(nextAnchor);
6141
+ }
6142
+ };
6143
+ window.addEventListener("resize", handleResize);
6144
+ return () => {
6145
+ window.removeEventListener("resize", handleResize);
6146
+ };
6147
+ }, [iconLibraryPopoverState.isOpen]);
6148
+ const iconLibraryWidth = iconLibraryAnchor?.width ?? ICON_LIBRARY_POPOVER_WIDTH;
6149
+ return /* @__PURE__ */ React85.createElement(import_ui67.Stack, { gap: 1, "aria-label": (0, import_i18n35.__)("SVG control", "elementor") }, /* @__PURE__ */ React85.createElement(EnableUnfilteredModal, { open: unfilteredModalOpenState, onClose: handleCloseUnfilteredModal }), showIconLibrary && iconLibraryAnchor ? /* @__PURE__ */ React85.createElement(
6150
+ import_ui67.Popover,
5574
6151
  {
5575
- sx: {
5576
- "&:hover": {
5577
- backgroundColor: "rgba( 0, 0, 0, 0.75 )"
6152
+ disableScrollLock: true,
6153
+ open: iconLibraryPopoverState.isOpen,
6154
+ onClose: handleCloseIconLibrary,
6155
+ anchorReference: "anchorPosition",
6156
+ anchorPosition: { top: iconLibraryAnchor.top, left: iconLibraryAnchor.left },
6157
+ anchorOrigin: { vertical: "top", horizontal: "left" },
6158
+ transformOrigin: { vertical: "top", horizontal: "left" },
6159
+ marginThreshold: 0,
6160
+ PaperProps: {
6161
+ sx: {
6162
+ width: iconLibraryWidth,
6163
+ minWidth: iconLibraryWidth,
6164
+ maxWidth: iconLibraryWidth,
6165
+ m: 0
5578
6166
  }
5579
6167
  }
5580
6168
  },
5581
- /* @__PURE__ */ React81.createElement(import_ui64.Stack, { gap: 1 }, /* @__PURE__ */ React81.createElement(
5582
- import_ui64.Button,
6169
+ /* @__PURE__ */ React85.createElement(
6170
+ IconLibraryPopover,
5583
6171
  {
5584
- size: "tiny",
5585
- color: "inherit",
5586
- variant: "outlined",
5587
- onClick: () => handleClick(MODE_BROWSE),
5588
- "aria-label": "Select SVG"
5589
- },
5590
- (0, import_i18n32.__)("Select SVG", "elementor")
5591
- ), showIconLibrary ? /* @__PURE__ */ React81.createElement(
5592
- import_ui64.Button,
6172
+ open: iconLibraryPopoverState.isOpen,
6173
+ selectedIconClass,
6174
+ selectedIconLibrary,
6175
+ onSelect: handleIconLibrarySelect,
6176
+ onClose: handleCloseIconLibrary,
6177
+ width: iconLibraryWidth
6178
+ }
6179
+ )
6180
+ ) : null, /* @__PURE__ */ React85.createElement(
6181
+ import_ui67.Box,
6182
+ {
6183
+ ref: controlContainerRef,
6184
+ "data-testid": SVG_MEDIA_CONTROL_CONTAINER_TEST_ID,
6185
+ sx: { width: "100%" }
6186
+ },
6187
+ /* @__PURE__ */ React85.createElement(ControlActions, null, /* @__PURE__ */ React85.createElement(StyledCard, { variant: "outlined" }, /* @__PURE__ */ React85.createElement(StyledCardMediaContainer, null, /* @__PURE__ */ React85.createElement(
6188
+ SvgMediaPreview,
5593
6189
  {
5594
- size: "tiny",
5595
- variant: "text",
5596
- color: "inherit",
5597
- onClick: () => openIconLibrary({
5598
- selected: selectedIconClass && selectedIconLibrary ? { value: selectedIconClass, library: selectedIconLibrary } : void 0,
5599
- onSelect: handleIconLibrarySelect
5600
- }),
5601
- "aria-label": (0, import_i18n32.__)("Icon library", "elementor")
5602
- },
5603
- (0, import_i18n32.__)("Icon library", "elementor")
5604
- ) : null, /* @__PURE__ */ React81.createElement(ConditionalControlInfotip, { ...infotipProps }, /* @__PURE__ */ React81.createElement("span", null, /* @__PURE__ */ React81.createElement(import_ui64.ThemeProvider, { colorScheme: isAdmin ? "light" : "dark" }, /* @__PURE__ */ React81.createElement(
5605
- import_ui64.Button,
6190
+ isFetching,
6191
+ src,
6192
+ iconClassName: selectedIconClass,
6193
+ iconLibrary: selectedIconLibrary
6194
+ }
6195
+ )), /* @__PURE__ */ React85.createElement(
6196
+ import_ui67.CardOverlay,
5606
6197
  {
5607
- size: "tiny",
5608
- variant: "text",
5609
- color: "inherit",
5610
- startIcon: /* @__PURE__ */ React81.createElement(import_icons21.UploadIcon, null),
5611
- disabled: !isAdmin,
5612
- onClick: () => isAdmin && handleClick(MODE_UPLOAD),
5613
- "aria-label": "Upload SVG"
6198
+ sx: {
6199
+ "&:hover": {
6200
+ backgroundColor: "rgba( 0, 0, 0, 0.75 )"
6201
+ }
6202
+ }
5614
6203
  },
5615
- (0, import_i18n32.__)("Upload", "elementor")
5616
- )))))
5617
- ))));
6204
+ /* @__PURE__ */ React85.createElement(
6205
+ SvgMediaOverlay,
6206
+ {
6207
+ isAdmin,
6208
+ showIconLibrary,
6209
+ buttonGroupRef,
6210
+ onSelectSvg: handleSelectSvg,
6211
+ onUpload: handleUpload,
6212
+ onOpenIconLibrary: handleOpenIconLibrary,
6213
+ infotipTitle: (0, import_i18n35.__)("Sorry, you can't upload that file yet.", "elementor"),
6214
+ infotipDescription: /* @__PURE__ */ React85.createElement(UnfilteredUploadInfotipDescription, null)
6215
+ }
6216
+ )
6217
+ )))
6218
+ ));
5618
6219
  });
5619
- function SvgMediaPreview({
5620
- isFetching,
5621
- src,
5622
- iconClassName,
5623
- iconLibrary
5624
- }) {
5625
- (0, import_react49.useEffect)(() => {
5626
- if (iconLibrary) {
5627
- enqueueIconFonts(iconLibrary);
5628
- }
5629
- }, [iconLibrary]);
5630
- if (isFetching) {
5631
- return /* @__PURE__ */ React81.createElement(import_ui64.CircularProgress, { role: "progressbar" });
5632
- }
5633
- if (iconClassName) {
5634
- return /* @__PURE__ */ React81.createElement(
5635
- import_ui64.Box,
5636
- {
5637
- component: "i",
5638
- className: iconClassName,
5639
- "aria-label": (0, import_i18n32.__)("Preview icon", "elementor"),
5640
- sx: { fontSize: ICON_PREVIEW_FONT_SIZE }
5641
- }
5642
- );
5643
- }
5644
- return /* @__PURE__ */ React81.createElement(
5645
- import_ui64.CardMedia,
5646
- {
5647
- component: "img",
5648
- image: src,
5649
- alt: (0, import_i18n32.__)("Preview SVG", "elementor"),
5650
- sx: { maxHeight: "140px", width: `${ICON_PREVIEW_FONT_SIZE}px` }
5651
- }
5652
- );
5653
- }
6220
+ var UnfilteredUploadInfotipDescription = () => /* @__PURE__ */ React85.createElement(React85.Fragment, null, (0, import_i18n35.__)("To upload them anyway, ask the site administrator to enable unfiltered", "elementor"), /* @__PURE__ */ React85.createElement("br", null), (0, import_i18n35.__)("file uploads.", "elementor"));
5654
6221
 
5655
6222
  // src/controls/video-media-control.tsx
5656
- var React82 = __toESM(require("react"));
6223
+ var React86 = __toESM(require("react"));
5657
6224
  var import_editor_props36 = require("@elementor/editor-props");
5658
- var import_icons22 = require("@elementor/icons");
5659
- var import_ui65 = require("@elementor/ui");
6225
+ var import_icons23 = require("@elementor/icons");
6226
+ var import_ui68 = require("@elementor/ui");
5660
6227
  var import_wp_media3 = require("@elementor/wp-media");
5661
- var import_i18n33 = require("@wordpress/i18n");
6228
+ var import_i18n36 = require("@wordpress/i18n");
5662
6229
  var PLACEHOLDER_IMAGE = window.elementorCommon?.config?.urls?.assets + "/shapes/play-triangle.svg";
5663
6230
  var VideoMediaControl = createControl(() => {
5664
6231
  const { value, setValue, propType } = useBoundProp(import_editor_props36.videoSrcPropTypeUtil);
@@ -5688,8 +6255,8 @@ var VideoMediaControl = createControl(() => {
5688
6255
  });
5689
6256
  }
5690
6257
  });
5691
- return /* @__PURE__ */ React82.createElement(ControlActions, null, /* @__PURE__ */ React82.createElement(import_ui65.Card, { variant: "outlined" }, /* @__PURE__ */ React82.createElement(
5692
- import_ui65.CardMedia,
6258
+ return /* @__PURE__ */ React86.createElement(ControlActions, null, /* @__PURE__ */ React86.createElement(import_ui68.Card, { variant: "outlined" }, /* @__PURE__ */ React86.createElement(
6259
+ import_ui68.CardMedia,
5693
6260
  {
5694
6261
  sx: {
5695
6262
  height: 140,
@@ -5703,46 +6270,46 @@ var VideoMediaControl = createControl(() => {
5703
6270
  alignItems: "center"
5704
6271
  }
5705
6272
  },
5706
- /* @__PURE__ */ React82.createElement(VideoPreview, { isFetching, videoUrl })
5707
- ), /* @__PURE__ */ React82.createElement(import_ui65.CardOverlay, null, /* @__PURE__ */ React82.createElement(import_ui65.Stack, { gap: 1 }, /* @__PURE__ */ React82.createElement(
5708
- import_ui65.Button,
6273
+ /* @__PURE__ */ React86.createElement(VideoPreview, { isFetching, videoUrl })
6274
+ ), /* @__PURE__ */ React86.createElement(import_ui68.CardOverlay, null, /* @__PURE__ */ React86.createElement(import_ui68.Stack, { gap: 1 }, /* @__PURE__ */ React86.createElement(
6275
+ import_ui68.Button,
5709
6276
  {
5710
6277
  size: "tiny",
5711
6278
  color: "inherit",
5712
6279
  variant: "outlined",
5713
6280
  onClick: () => open({ mode: "browse" })
5714
6281
  },
5715
- (0, import_i18n33.__)("Select video", "elementor")
5716
- ), /* @__PURE__ */ React82.createElement(
5717
- import_ui65.Button,
6282
+ (0, import_i18n36.__)("Select video", "elementor")
6283
+ ), /* @__PURE__ */ React86.createElement(
6284
+ import_ui68.Button,
5718
6285
  {
5719
6286
  size: "tiny",
5720
6287
  variant: "text",
5721
6288
  color: "inherit",
5722
- startIcon: /* @__PURE__ */ React82.createElement(import_icons22.UploadIcon, null),
6289
+ startIcon: /* @__PURE__ */ React86.createElement(import_icons23.UploadIcon, null),
5723
6290
  onClick: () => open({ mode: "upload" })
5724
6291
  },
5725
- (0, import_i18n33.__)("Upload", "elementor")
5726
- ), /* @__PURE__ */ React82.createElement(
5727
- import_ui65.Button,
6292
+ (0, import_i18n36.__)("Upload", "elementor")
6293
+ ), /* @__PURE__ */ React86.createElement(
6294
+ import_ui68.Button,
5728
6295
  {
5729
6296
  size: "tiny",
5730
6297
  variant: "text",
5731
6298
  color: "inherit",
5732
6299
  onClick: () => open({ mode: "url", currentUrl: currentUrlForModal })
5733
6300
  },
5734
- (0, import_i18n33.__)("Insert from URL", "elementor")
6301
+ (0, import_i18n36.__)("Insert from URL", "elementor")
5735
6302
  )))));
5736
6303
  });
5737
6304
  var VideoPreview = ({ isFetching = false, videoUrl }) => {
5738
6305
  if (isFetching) {
5739
- return /* @__PURE__ */ React82.createElement(import_ui65.CircularProgress, null);
6306
+ return /* @__PURE__ */ React86.createElement(import_ui68.CircularProgress, null);
5740
6307
  }
5741
6308
  if (videoUrl) {
5742
- return /* @__PURE__ */ React82.createElement(
6309
+ return /* @__PURE__ */ React86.createElement(
5743
6310
  "video",
5744
6311
  {
5745
- "aria-label": (0, import_i18n33.__)("Video preview", "elementor"),
6312
+ "aria-label": (0, import_i18n36.__)("Video preview", "elementor"),
5746
6313
  src: videoUrl,
5747
6314
  muted: true,
5748
6315
  preload: "metadata",
@@ -5755,30 +6322,30 @@ var VideoPreview = ({ isFetching = false, videoUrl }) => {
5755
6322
  }
5756
6323
  );
5757
6324
  }
5758
- return /* @__PURE__ */ React82.createElement("img", { src: PLACEHOLDER_IMAGE, alt: "No video selected" });
6325
+ return /* @__PURE__ */ React86.createElement("img", { src: PLACEHOLDER_IMAGE, alt: "No video selected" });
5759
6326
  };
5760
6327
 
5761
6328
  // src/controls/background-control/background-control.tsx
5762
- var React89 = __toESM(require("react"));
6329
+ var React93 = __toESM(require("react"));
5763
6330
  var import_editor_props42 = require("@elementor/editor-props");
5764
- var import_ui73 = require("@elementor/ui");
5765
- var import_i18n39 = require("@wordpress/i18n");
6331
+ var import_ui76 = require("@elementor/ui");
6332
+ var import_i18n42 = require("@wordpress/i18n");
5766
6333
 
5767
6334
  // src/controls/background-control/background-overlay/background-overlay-repeater-control.tsx
5768
- var React88 = __toESM(require("react"));
6335
+ var React92 = __toESM(require("react"));
5769
6336
  var import_editor_props41 = require("@elementor/editor-props");
5770
- var import_ui72 = require("@elementor/ui");
6337
+ var import_ui75 = require("@elementor/ui");
5771
6338
  var import_wp_media4 = require("@elementor/wp-media");
5772
- var import_i18n38 = require("@wordpress/i18n");
6339
+ var import_i18n41 = require("@wordpress/i18n");
5773
6340
 
5774
6341
  // src/env.ts
5775
6342
  var import_env = require("@elementor/env");
5776
6343
  var { env } = (0, import_env.parseEnv)("@elementor/editor-controls");
5777
6344
 
5778
6345
  // src/controls/background-control/background-gradient-color-control.tsx
5779
- var React83 = __toESM(require("react"));
6346
+ var React87 = __toESM(require("react"));
5780
6347
  var import_editor_props37 = require("@elementor/editor-props");
5781
- var import_ui66 = require("@elementor/ui");
6348
+ var import_ui69 = require("@elementor/ui");
5782
6349
  var BackgroundGradientColorControl = createControl(() => {
5783
6350
  const { value, setValue } = useBoundProp(import_editor_props37.backgroundGradientOverlayPropTypeUtil);
5784
6351
  const handleChange = (newValue) => {
@@ -5816,8 +6383,8 @@ var BackgroundGradientColorControl = createControl(() => {
5816
6383
  positions: positions?.value.split(" ")
5817
6384
  };
5818
6385
  };
5819
- return /* @__PURE__ */ React83.createElement(
5820
- import_ui66.UnstableGradientBox,
6386
+ return /* @__PURE__ */ React87.createElement(
6387
+ import_ui69.UnstableGradientBox,
5821
6388
  {
5822
6389
  sx: { width: "auto", padding: 1.5 },
5823
6390
  value: normalizeValue(),
@@ -5841,53 +6408,53 @@ var initialBackgroundGradientOverlay = import_editor_props37.backgroundGradientO
5841
6408
  });
5842
6409
 
5843
6410
  // src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-attachment.tsx
5844
- var React84 = __toESM(require("react"));
5845
- var import_icons23 = require("@elementor/icons");
5846
- var import_ui67 = require("@elementor/ui");
5847
- var import_i18n34 = require("@wordpress/i18n");
6411
+ var React88 = __toESM(require("react"));
6412
+ var import_icons24 = require("@elementor/icons");
6413
+ var import_ui70 = require("@elementor/ui");
6414
+ var import_i18n37 = require("@wordpress/i18n");
5848
6415
  var attachmentControlOptions = [
5849
6416
  {
5850
6417
  value: "fixed",
5851
- label: (0, import_i18n34.__)("Fixed", "elementor"),
5852
- renderContent: ({ size }) => /* @__PURE__ */ React84.createElement(import_icons23.PinIcon, { fontSize: size }),
6418
+ label: (0, import_i18n37.__)("Fixed", "elementor"),
6419
+ renderContent: ({ size }) => /* @__PURE__ */ React88.createElement(import_icons24.PinIcon, { fontSize: size }),
5853
6420
  showTooltip: true
5854
6421
  },
5855
6422
  {
5856
6423
  value: "scroll",
5857
- label: (0, import_i18n34.__)("Scroll", "elementor"),
5858
- renderContent: ({ size }) => /* @__PURE__ */ React84.createElement(import_icons23.PinnedOffIcon, { fontSize: size }),
6424
+ label: (0, import_i18n37.__)("Scroll", "elementor"),
6425
+ renderContent: ({ size }) => /* @__PURE__ */ React88.createElement(import_icons24.PinnedOffIcon, { fontSize: size }),
5859
6426
  showTooltip: true
5860
6427
  }
5861
6428
  ];
5862
6429
  var BackgroundImageOverlayAttachment = () => {
5863
- return /* @__PURE__ */ React84.createElement(PopoverGridContainer, null, /* @__PURE__ */ React84.createElement(import_ui67.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React84.createElement(ControlFormLabel, null, (0, import_i18n34.__)("Attachment", "elementor"))), /* @__PURE__ */ React84.createElement(import_ui67.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end", overflow: "hidden" } }, /* @__PURE__ */ React84.createElement(ToggleControl, { options: attachmentControlOptions })));
6430
+ return /* @__PURE__ */ React88.createElement(PopoverGridContainer, null, /* @__PURE__ */ React88.createElement(import_ui70.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React88.createElement(ControlFormLabel, null, (0, import_i18n37.__)("Attachment", "elementor"))), /* @__PURE__ */ React88.createElement(import_ui70.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end", overflow: "hidden" } }, /* @__PURE__ */ React88.createElement(ToggleControl, { options: attachmentControlOptions })));
5864
6431
  };
5865
6432
 
5866
6433
  // src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx
5867
- var React85 = __toESM(require("react"));
5868
- var import_react50 = require("react");
6434
+ var React89 = __toESM(require("react"));
6435
+ var import_react51 = require("react");
5869
6436
  var import_editor_props38 = require("@elementor/editor-props");
5870
- var import_editor_ui11 = require("@elementor/editor-ui");
5871
- var import_icons24 = require("@elementor/icons");
5872
- var import_ui68 = require("@elementor/ui");
5873
- var import_i18n35 = require("@wordpress/i18n");
6437
+ var import_editor_ui12 = require("@elementor/editor-ui");
6438
+ var import_icons25 = require("@elementor/icons");
6439
+ var import_ui71 = require("@elementor/ui");
6440
+ var import_i18n38 = require("@wordpress/i18n");
5874
6441
  var backgroundPositionOptions = [
5875
- { label: (0, import_i18n35.__)("Center center", "elementor"), value: "center center" },
5876
- { label: (0, import_i18n35.__)("Center left", "elementor"), value: "center left" },
5877
- { label: (0, import_i18n35.__)("Center right", "elementor"), value: "center right" },
5878
- { label: (0, import_i18n35.__)("Top center", "elementor"), value: "top center" },
5879
- { label: (0, import_i18n35.__)("Top left", "elementor"), value: "top left" },
5880
- { label: (0, import_i18n35.__)("Top right", "elementor"), value: "top right" },
5881
- { label: (0, import_i18n35.__)("Bottom center", "elementor"), value: "bottom center" },
5882
- { label: (0, import_i18n35.__)("Bottom left", "elementor"), value: "bottom left" },
5883
- { label: (0, import_i18n35.__)("Bottom right", "elementor"), value: "bottom right" },
5884
- { label: (0, import_i18n35.__)("Custom", "elementor"), value: "custom" }
6442
+ { label: (0, import_i18n38.__)("Center center", "elementor"), value: "center center" },
6443
+ { label: (0, import_i18n38.__)("Center left", "elementor"), value: "center left" },
6444
+ { label: (0, import_i18n38.__)("Center right", "elementor"), value: "center right" },
6445
+ { label: (0, import_i18n38.__)("Top center", "elementor"), value: "top center" },
6446
+ { label: (0, import_i18n38.__)("Top left", "elementor"), value: "top left" },
6447
+ { label: (0, import_i18n38.__)("Top right", "elementor"), value: "top right" },
6448
+ { label: (0, import_i18n38.__)("Bottom center", "elementor"), value: "bottom center" },
6449
+ { label: (0, import_i18n38.__)("Bottom left", "elementor"), value: "bottom left" },
6450
+ { label: (0, import_i18n38.__)("Bottom right", "elementor"), value: "bottom right" },
6451
+ { label: (0, import_i18n38.__)("Custom", "elementor"), value: "custom" }
5885
6452
  ];
5886
6453
  var BackgroundImageOverlayPosition = () => {
5887
6454
  const backgroundImageOffsetContext = useBoundProp(import_editor_props38.backgroundImagePositionOffsetPropTypeUtil);
5888
6455
  const stringPropContext = useBoundProp(import_editor_props38.stringPropTypeUtil);
5889
6456
  const isCustom = !!backgroundImageOffsetContext.value;
5890
- const rowRef = (0, import_react50.useRef)(null);
6457
+ const rowRef = (0, import_react51.useRef)(null);
5891
6458
  const handlePositionChange = (event) => {
5892
6459
  const value = event.target.value || null;
5893
6460
  if (value === "custom") {
@@ -5896,8 +6463,8 @@ var BackgroundImageOverlayPosition = () => {
5896
6463
  stringPropContext.setValue(value);
5897
6464
  }
5898
6465
  };
5899
- return /* @__PURE__ */ React85.createElement(import_ui68.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React85.createElement(import_ui68.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React85.createElement(PopoverGridContainer, null, /* @__PURE__ */ React85.createElement(import_ui68.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React85.createElement(ControlFormLabel, null, (0, import_i18n35.__)("Position", "elementor"))), /* @__PURE__ */ React85.createElement(import_ui68.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end", overflow: "hidden" } }, /* @__PURE__ */ React85.createElement(ControlActions, null, /* @__PURE__ */ React85.createElement(
5900
- import_ui68.Select,
6466
+ return /* @__PURE__ */ React89.createElement(import_ui71.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React89.createElement(import_ui71.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React89.createElement(PopoverGridContainer, null, /* @__PURE__ */ React89.createElement(import_ui71.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React89.createElement(ControlFormLabel, null, (0, import_i18n38.__)("Position", "elementor"))), /* @__PURE__ */ React89.createElement(import_ui71.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end", overflow: "hidden" } }, /* @__PURE__ */ React89.createElement(ControlActions, null, /* @__PURE__ */ React89.createElement(
6467
+ import_ui71.Select,
5901
6468
  {
5902
6469
  fullWidth: true,
5903
6470
  size: "tiny",
@@ -5905,18 +6472,18 @@ var BackgroundImageOverlayPosition = () => {
5905
6472
  disabled: stringPropContext.disabled,
5906
6473
  value: (backgroundImageOffsetContext.value ? "custom" : stringPropContext.value) ?? ""
5907
6474
  },
5908
- backgroundPositionOptions.map(({ label, value }) => /* @__PURE__ */ React85.createElement(import_editor_ui11.MenuListItem, { key: value, value: value ?? "" }, label))
5909
- ))))), isCustom ? /* @__PURE__ */ React85.createElement(PropProvider, { ...backgroundImageOffsetContext }, /* @__PURE__ */ React85.createElement(import_ui68.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React85.createElement(import_ui68.Grid, { container: true, spacing: 1.5, ref: rowRef }, /* @__PURE__ */ React85.createElement(import_ui68.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React85.createElement(PropKeyProvider, { bind: "x" }, /* @__PURE__ */ React85.createElement(
6475
+ backgroundPositionOptions.map(({ label, value }) => /* @__PURE__ */ React89.createElement(import_editor_ui12.MenuListItem, { key: value, value: value ?? "" }, label))
6476
+ ))))), isCustom ? /* @__PURE__ */ React89.createElement(PropProvider, { ...backgroundImageOffsetContext }, /* @__PURE__ */ React89.createElement(import_ui71.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React89.createElement(import_ui71.Grid, { container: true, spacing: 1.5, ref: rowRef }, /* @__PURE__ */ React89.createElement(import_ui71.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React89.createElement(PropKeyProvider, { bind: "x" }, /* @__PURE__ */ React89.createElement(
5910
6477
  SizeControl,
5911
6478
  {
5912
- startIcon: /* @__PURE__ */ React85.createElement(import_icons24.LetterXIcon, { fontSize: "tiny" }),
6479
+ startIcon: /* @__PURE__ */ React89.createElement(import_icons25.LetterXIcon, { fontSize: "tiny" }),
5913
6480
  anchorRef: rowRef,
5914
6481
  min: -Number.MAX_SAFE_INTEGER
5915
6482
  }
5916
- ))), /* @__PURE__ */ React85.createElement(import_ui68.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React85.createElement(PropKeyProvider, { bind: "y" }, /* @__PURE__ */ React85.createElement(
6483
+ ))), /* @__PURE__ */ React89.createElement(import_ui71.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React89.createElement(PropKeyProvider, { bind: "y" }, /* @__PURE__ */ React89.createElement(
5917
6484
  SizeControl,
5918
6485
  {
5919
- startIcon: /* @__PURE__ */ React85.createElement(import_icons24.LetterYIcon, { fontSize: "tiny" }),
6486
+ startIcon: /* @__PURE__ */ React89.createElement(import_icons25.LetterYIcon, { fontSize: "tiny" }),
5920
6487
  anchorRef: rowRef,
5921
6488
  min: -Number.MAX_SAFE_INTEGER
5922
6489
  }
@@ -5924,70 +6491,70 @@ var BackgroundImageOverlayPosition = () => {
5924
6491
  };
5925
6492
 
5926
6493
  // src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-repeat.tsx
5927
- var React86 = __toESM(require("react"));
5928
- var import_icons25 = require("@elementor/icons");
5929
- var import_ui69 = require("@elementor/ui");
5930
- var import_i18n36 = require("@wordpress/i18n");
6494
+ var React90 = __toESM(require("react"));
6495
+ var import_icons26 = require("@elementor/icons");
6496
+ var import_ui72 = require("@elementor/ui");
6497
+ var import_i18n39 = require("@wordpress/i18n");
5931
6498
  var repeatControlOptions = [
5932
6499
  {
5933
6500
  value: "repeat",
5934
- label: (0, import_i18n36.__)("Repeat", "elementor"),
5935
- renderContent: ({ size }) => /* @__PURE__ */ React86.createElement(import_icons25.GridDotsIcon, { fontSize: size }),
6501
+ label: (0, import_i18n39.__)("Repeat", "elementor"),
6502
+ renderContent: ({ size }) => /* @__PURE__ */ React90.createElement(import_icons26.GridDotsIcon, { fontSize: size }),
5936
6503
  showTooltip: true
5937
6504
  },
5938
6505
  {
5939
6506
  value: "repeat-x",
5940
- label: (0, import_i18n36.__)("Repeat-x", "elementor"),
5941
- renderContent: ({ size }) => /* @__PURE__ */ React86.createElement(import_icons25.DotsHorizontalIcon, { fontSize: size }),
6507
+ label: (0, import_i18n39.__)("Repeat-x", "elementor"),
6508
+ renderContent: ({ size }) => /* @__PURE__ */ React90.createElement(import_icons26.DotsHorizontalIcon, { fontSize: size }),
5942
6509
  showTooltip: true
5943
6510
  },
5944
6511
  {
5945
6512
  value: "repeat-y",
5946
- label: (0, import_i18n36.__)("Repeat-y", "elementor"),
5947
- renderContent: ({ size }) => /* @__PURE__ */ React86.createElement(import_icons25.DotsVerticalIcon, { fontSize: size }),
6513
+ label: (0, import_i18n39.__)("Repeat-y", "elementor"),
6514
+ renderContent: ({ size }) => /* @__PURE__ */ React90.createElement(import_icons26.DotsVerticalIcon, { fontSize: size }),
5948
6515
  showTooltip: true
5949
6516
  },
5950
6517
  {
5951
6518
  value: "no-repeat",
5952
- label: (0, import_i18n36.__)("No-repeat", "elementor"),
5953
- renderContent: ({ size }) => /* @__PURE__ */ React86.createElement(import_icons25.XIcon, { fontSize: size }),
6519
+ label: (0, import_i18n39.__)("No-repeat", "elementor"),
6520
+ renderContent: ({ size }) => /* @__PURE__ */ React90.createElement(import_icons26.XIcon, { fontSize: size }),
5954
6521
  showTooltip: true
5955
6522
  }
5956
6523
  ];
5957
6524
  var BackgroundImageOverlayRepeat = () => {
5958
- return /* @__PURE__ */ React86.createElement(PopoverGridContainer, null, /* @__PURE__ */ React86.createElement(import_ui69.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React86.createElement(ControlFormLabel, null, (0, import_i18n36.__)("Repeat", "elementor"))), /* @__PURE__ */ React86.createElement(import_ui69.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React86.createElement(ToggleControl, { options: repeatControlOptions })));
6525
+ return /* @__PURE__ */ React90.createElement(PopoverGridContainer, null, /* @__PURE__ */ React90.createElement(import_ui72.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React90.createElement(ControlFormLabel, null, (0, import_i18n39.__)("Repeat", "elementor"))), /* @__PURE__ */ React90.createElement(import_ui72.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React90.createElement(ToggleControl, { options: repeatControlOptions })));
5959
6526
  };
5960
6527
 
5961
6528
  // src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx
5962
- var React87 = __toESM(require("react"));
5963
- var import_react51 = require("react");
6529
+ var React91 = __toESM(require("react"));
6530
+ var import_react52 = require("react");
5964
6531
  var import_editor_props39 = require("@elementor/editor-props");
5965
- var import_icons26 = require("@elementor/icons");
5966
- var import_ui70 = require("@elementor/ui");
5967
- var import_i18n37 = require("@wordpress/i18n");
6532
+ var import_icons27 = require("@elementor/icons");
6533
+ var import_ui73 = require("@elementor/ui");
6534
+ var import_i18n40 = require("@wordpress/i18n");
5968
6535
  var sizeControlOptions = [
5969
6536
  {
5970
6537
  value: "auto",
5971
- label: (0, import_i18n37.__)("Auto", "elementor"),
5972
- renderContent: ({ size }) => /* @__PURE__ */ React87.createElement(import_icons26.LetterAIcon, { fontSize: size }),
6538
+ label: (0, import_i18n40.__)("Auto", "elementor"),
6539
+ renderContent: ({ size }) => /* @__PURE__ */ React91.createElement(import_icons27.LetterAIcon, { fontSize: size }),
5973
6540
  showTooltip: true
5974
6541
  },
5975
6542
  {
5976
6543
  value: "cover",
5977
- label: (0, import_i18n37.__)("Cover", "elementor"),
5978
- renderContent: ({ size }) => /* @__PURE__ */ React87.createElement(import_icons26.ArrowsMaximizeIcon, { fontSize: size }),
6544
+ label: (0, import_i18n40.__)("Cover", "elementor"),
6545
+ renderContent: ({ size }) => /* @__PURE__ */ React91.createElement(import_icons27.ArrowsMaximizeIcon, { fontSize: size }),
5979
6546
  showTooltip: true
5980
6547
  },
5981
6548
  {
5982
6549
  value: "contain",
5983
- label: (0, import_i18n37.__)("Contain", "elementor"),
5984
- renderContent: ({ size }) => /* @__PURE__ */ React87.createElement(import_icons26.ArrowBarBothIcon, { fontSize: size }),
6550
+ label: (0, import_i18n40.__)("Contain", "elementor"),
6551
+ renderContent: ({ size }) => /* @__PURE__ */ React91.createElement(import_icons27.ArrowBarBothIcon, { fontSize: size }),
5985
6552
  showTooltip: true
5986
6553
  },
5987
6554
  {
5988
6555
  value: "custom",
5989
- label: (0, import_i18n37.__)("Custom", "elementor"),
5990
- renderContent: ({ size }) => /* @__PURE__ */ React87.createElement(import_icons26.PencilIcon, { fontSize: size }),
6556
+ label: (0, import_i18n40.__)("Custom", "elementor"),
6557
+ renderContent: ({ size }) => /* @__PURE__ */ React91.createElement(import_icons27.PencilIcon, { fontSize: size }),
5991
6558
  showTooltip: true
5992
6559
  }
5993
6560
  ];
@@ -5995,7 +6562,7 @@ var BackgroundImageOverlaySize = () => {
5995
6562
  const backgroundImageScaleContext = useBoundProp(import_editor_props39.backgroundImageSizeScalePropTypeUtil);
5996
6563
  const stringPropContext = useBoundProp(import_editor_props39.stringPropTypeUtil);
5997
6564
  const isCustom = !!backgroundImageScaleContext.value;
5998
- const rowRef = (0, import_react51.useRef)(null);
6565
+ const rowRef = (0, import_react52.useRef)(null);
5999
6566
  const handleSizeChange = (size) => {
6000
6567
  if (size === "custom") {
6001
6568
  backgroundImageScaleContext.setValue({ width: null, height: null });
@@ -6003,7 +6570,7 @@ var BackgroundImageOverlaySize = () => {
6003
6570
  stringPropContext.setValue(size);
6004
6571
  }
6005
6572
  };
6006
- return /* @__PURE__ */ React87.createElement(import_ui70.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React87.createElement(import_ui70.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React87.createElement(PopoverGridContainer, null, /* @__PURE__ */ React87.createElement(import_ui70.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React87.createElement(ControlFormLabel, null, (0, import_i18n37.__)("Size", "elementor"))), /* @__PURE__ */ React87.createElement(import_ui70.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React87.createElement(
6573
+ return /* @__PURE__ */ React91.createElement(import_ui73.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React91.createElement(import_ui73.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React91.createElement(PopoverGridContainer, null, /* @__PURE__ */ React91.createElement(import_ui73.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React91.createElement(ControlFormLabel, null, (0, import_i18n40.__)("Size", "elementor"))), /* @__PURE__ */ React91.createElement(import_ui73.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React91.createElement(
6007
6574
  ControlToggleButtonGroup,
6008
6575
  {
6009
6576
  exclusive: true,
@@ -6012,17 +6579,17 @@ var BackgroundImageOverlaySize = () => {
6012
6579
  disabled: stringPropContext.disabled,
6013
6580
  value: backgroundImageScaleContext.value ? "custom" : stringPropContext.value
6014
6581
  }
6015
- )))), isCustom ? /* @__PURE__ */ React87.createElement(PropProvider, { ...backgroundImageScaleContext }, /* @__PURE__ */ React87.createElement(import_ui70.Grid, { item: true, xs: 12, ref: rowRef }, /* @__PURE__ */ React87.createElement(PopoverGridContainer, null, /* @__PURE__ */ React87.createElement(import_ui70.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React87.createElement(PropKeyProvider, { bind: "width" }, /* @__PURE__ */ React87.createElement(
6582
+ )))), isCustom ? /* @__PURE__ */ React91.createElement(PropProvider, { ...backgroundImageScaleContext }, /* @__PURE__ */ React91.createElement(import_ui73.Grid, { item: true, xs: 12, ref: rowRef }, /* @__PURE__ */ React91.createElement(PopoverGridContainer, null, /* @__PURE__ */ React91.createElement(import_ui73.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React91.createElement(PropKeyProvider, { bind: "width" }, /* @__PURE__ */ React91.createElement(
6016
6583
  SizeControl,
6017
6584
  {
6018
- startIcon: /* @__PURE__ */ React87.createElement(import_icons26.ArrowsMoveHorizontalIcon, { fontSize: "tiny" }),
6585
+ startIcon: /* @__PURE__ */ React91.createElement(import_icons27.ArrowsMoveHorizontalIcon, { fontSize: "tiny" }),
6019
6586
  extendedOptions: ["auto"],
6020
6587
  anchorRef: rowRef
6021
6588
  }
6022
- ))), /* @__PURE__ */ React87.createElement(import_ui70.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React87.createElement(PropKeyProvider, { bind: "height" }, /* @__PURE__ */ React87.createElement(
6589
+ ))), /* @__PURE__ */ React91.createElement(import_ui73.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React91.createElement(PropKeyProvider, { bind: "height" }, /* @__PURE__ */ React91.createElement(
6023
6590
  SizeControl,
6024
6591
  {
6025
- startIcon: /* @__PURE__ */ React87.createElement(import_icons26.ArrowsMoveVerticalIcon, { fontSize: "tiny" }),
6592
+ startIcon: /* @__PURE__ */ React91.createElement(import_icons27.ArrowsMoveVerticalIcon, { fontSize: "tiny" }),
6026
6593
  extendedOptions: ["auto"],
6027
6594
  anchorRef: rowRef
6028
6595
  }
@@ -6030,9 +6597,9 @@ var BackgroundImageOverlaySize = () => {
6030
6597
  };
6031
6598
 
6032
6599
  // src/controls/background-control/background-overlay/use-background-tabs-history.ts
6033
- var import_react52 = require("react");
6600
+ var import_react53 = require("react");
6034
6601
  var import_editor_props40 = require("@elementor/editor-props");
6035
- var import_ui71 = require("@elementor/ui");
6602
+ var import_ui74 = require("@elementor/ui");
6036
6603
  var useBackgroundTabsHistory = ({
6037
6604
  color: initialBackgroundColorOverlay2,
6038
6605
  image: initialBackgroundImageOverlay,
@@ -6050,8 +6617,8 @@ var useBackgroundTabsHistory = ({
6050
6617
  }
6051
6618
  return "image";
6052
6619
  };
6053
- const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui71.useTabs)(getCurrentOverlayType());
6054
- const valuesHistory = (0, import_react52.useRef)({
6620
+ const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui74.useTabs)(getCurrentOverlayType());
6621
+ const valuesHistory = (0, import_react53.useRef)({
6055
6622
  image: initialBackgroundImageOverlay,
6056
6623
  color: initialBackgroundColorOverlay2,
6057
6624
  gradient: initialBackgroundGradientOverlay2
@@ -6119,29 +6686,29 @@ var getInitialBackgroundOverlay = () => ({
6119
6686
  }
6120
6687
  });
6121
6688
  var backgroundResolutionOptions = [
6122
- { label: (0, import_i18n38.__)("Thumbnail - 150 x 150", "elementor"), value: "thumbnail" },
6123
- { label: (0, import_i18n38.__)("Medium - 300 x 300", "elementor"), value: "medium" },
6124
- { label: (0, import_i18n38.__)("Large 1024 x 1024", "elementor"), value: "large" },
6125
- { label: (0, import_i18n38.__)("Full", "elementor"), value: "full" }
6689
+ { label: (0, import_i18n41.__)("Thumbnail - 150 x 150", "elementor"), value: "thumbnail" },
6690
+ { label: (0, import_i18n41.__)("Medium - 300 x 300", "elementor"), value: "medium" },
6691
+ { label: (0, import_i18n41.__)("Large 1024 x 1024", "elementor"), value: "large" },
6692
+ { label: (0, import_i18n41.__)("Full", "elementor"), value: "full" }
6126
6693
  ];
6127
6694
  var BackgroundOverlayRepeaterControl = createControl(() => {
6128
6695
  const { propType, value: overlayValues, setValue } = useBoundProp(import_editor_props41.backgroundOverlayPropTypeUtil);
6129
- return /* @__PURE__ */ React88.createElement(PropProvider, { propType, value: overlayValues, setValue }, /* @__PURE__ */ React88.createElement(
6696
+ return /* @__PURE__ */ React92.createElement(PropProvider, { propType, value: overlayValues, setValue }, /* @__PURE__ */ React92.createElement(
6130
6697
  ControlRepeater,
6131
6698
  {
6132
6699
  initial: getInitialBackgroundOverlay(),
6133
6700
  propTypeUtil: import_editor_props41.backgroundOverlayPropTypeUtil
6134
6701
  },
6135
- /* @__PURE__ */ React88.createElement(RepeaterHeader, { label: (0, import_i18n38.__)("Overlay", "elementor") }, /* @__PURE__ */ React88.createElement(TooltipAddItemAction, { newItemIndex: 0 })),
6136
- /* @__PURE__ */ React88.createElement(ItemsContainer, null, /* @__PURE__ */ React88.createElement(
6702
+ /* @__PURE__ */ React92.createElement(RepeaterHeader, { label: (0, import_i18n41.__)("Overlay", "elementor") }, /* @__PURE__ */ React92.createElement(TooltipAddItemAction, { newItemIndex: 0 })),
6703
+ /* @__PURE__ */ React92.createElement(ItemsContainer, null, /* @__PURE__ */ React92.createElement(
6137
6704
  Item,
6138
6705
  {
6139
6706
  Icon: ItemIcon2,
6140
6707
  Label: ItemLabel3,
6141
- actions: /* @__PURE__ */ React88.createElement(React88.Fragment, null, /* @__PURE__ */ React88.createElement(DuplicateItemAction, null), /* @__PURE__ */ React88.createElement(DisableItemAction, null), /* @__PURE__ */ React88.createElement(RemoveItemAction, null))
6708
+ actions: /* @__PURE__ */ React92.createElement(React92.Fragment, null, /* @__PURE__ */ React92.createElement(DuplicateItemAction, null), /* @__PURE__ */ React92.createElement(DisableItemAction, null), /* @__PURE__ */ React92.createElement(RemoveItemAction, null))
6142
6709
  }
6143
6710
  )),
6144
- /* @__PURE__ */ React88.createElement(EditItemPopover, null, /* @__PURE__ */ React88.createElement(ItemContent2, null))
6711
+ /* @__PURE__ */ React92.createElement(EditItemPopover, null, /* @__PURE__ */ React92.createElement(ItemContent2, null))
6145
6712
  ));
6146
6713
  });
6147
6714
  var ItemContent2 = () => {
@@ -6151,27 +6718,27 @@ var ItemContent2 = () => {
6151
6718
  gradient: initialBackgroundGradientOverlay.value
6152
6719
  });
6153
6720
  const { rowRef } = useRepeaterContext();
6154
- return /* @__PURE__ */ React88.createElement(import_ui72.Box, { sx: { width: "100%" } }, /* @__PURE__ */ React88.createElement(import_ui72.Box, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React88.createElement(
6155
- import_ui72.Tabs,
6721
+ return /* @__PURE__ */ React92.createElement(import_ui75.Box, { sx: { width: "100%" } }, /* @__PURE__ */ React92.createElement(import_ui75.Box, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React92.createElement(
6722
+ import_ui75.Tabs,
6156
6723
  {
6157
6724
  size: "small",
6158
6725
  variant: "fullWidth",
6159
6726
  ...getTabsProps(),
6160
- "aria-label": (0, import_i18n38.__)("Background Overlay", "elementor")
6727
+ "aria-label": (0, import_i18n41.__)("Background Overlay", "elementor")
6161
6728
  },
6162
- /* @__PURE__ */ React88.createElement(import_ui72.Tab, { label: (0, import_i18n38.__)("Image", "elementor"), ...getTabProps("image") }),
6163
- /* @__PURE__ */ React88.createElement(import_ui72.Tab, { label: (0, import_i18n38.__)("Gradient", "elementor"), ...getTabProps("gradient") }),
6164
- /* @__PURE__ */ React88.createElement(import_ui72.Tab, { label: (0, import_i18n38.__)("Color", "elementor"), ...getTabProps("color") })
6165
- )), /* @__PURE__ */ React88.createElement(import_ui72.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("image") }, /* @__PURE__ */ React88.createElement(PopoverContent, null, /* @__PURE__ */ React88.createElement(ImageOverlayContent, null))), /* @__PURE__ */ React88.createElement(import_ui72.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("gradient") }, /* @__PURE__ */ React88.createElement(BackgroundGradientColorControl, null)), /* @__PURE__ */ React88.createElement(import_ui72.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("color") }, /* @__PURE__ */ React88.createElement(PopoverContent, null, /* @__PURE__ */ React88.createElement(ColorOverlayContent, { anchorEl: rowRef }))));
6729
+ /* @__PURE__ */ React92.createElement(import_ui75.Tab, { label: (0, import_i18n41.__)("Image", "elementor"), ...getTabProps("image") }),
6730
+ /* @__PURE__ */ React92.createElement(import_ui75.Tab, { label: (0, import_i18n41.__)("Gradient", "elementor"), ...getTabProps("gradient") }),
6731
+ /* @__PURE__ */ React92.createElement(import_ui75.Tab, { label: (0, import_i18n41.__)("Color", "elementor"), ...getTabProps("color") })
6732
+ )), /* @__PURE__ */ React92.createElement(import_ui75.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("image") }, /* @__PURE__ */ React92.createElement(PopoverContent, null, /* @__PURE__ */ React92.createElement(ImageOverlayContent, null))), /* @__PURE__ */ React92.createElement(import_ui75.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("gradient") }, /* @__PURE__ */ React92.createElement(BackgroundGradientColorControl, null)), /* @__PURE__ */ React92.createElement(import_ui75.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("color") }, /* @__PURE__ */ React92.createElement(PopoverContent, null, /* @__PURE__ */ React92.createElement(ColorOverlayContent, { anchorEl: rowRef }))));
6166
6733
  };
6167
6734
  var ItemIcon2 = ({ value }) => {
6168
6735
  switch (value.$$type) {
6169
6736
  case "background-image-overlay":
6170
- return /* @__PURE__ */ React88.createElement(ItemIconImage, { value });
6737
+ return /* @__PURE__ */ React92.createElement(ItemIconImage, { value });
6171
6738
  case "background-color-overlay":
6172
- return /* @__PURE__ */ React88.createElement(ItemIconColor, { value });
6739
+ return /* @__PURE__ */ React92.createElement(ItemIconColor, { value });
6173
6740
  case "background-gradient-overlay":
6174
- return /* @__PURE__ */ React88.createElement(ItemIconGradient, { value });
6741
+ return /* @__PURE__ */ React92.createElement(ItemIconGradient, { value });
6175
6742
  default:
6176
6743
  return null;
6177
6744
  }
@@ -6184,12 +6751,12 @@ var extractColorFrom = (prop) => {
6184
6751
  };
6185
6752
  var ItemIconColor = ({ value: prop }) => {
6186
6753
  const color = extractColorFrom(prop);
6187
- return /* @__PURE__ */ React88.createElement(StyledUnstableColorIndicator3, { size: "inherit", component: "span", value: color });
6754
+ return /* @__PURE__ */ React92.createElement(StyledUnstableColorIndicator3, { size: "inherit", component: "span", value: color });
6188
6755
  };
6189
6756
  var ItemIconImage = ({ value }) => {
6190
6757
  const { imageUrl } = useImage(value);
6191
- return /* @__PURE__ */ React88.createElement(
6192
- import_ui72.CardMedia,
6758
+ return /* @__PURE__ */ React92.createElement(
6759
+ import_ui75.CardMedia,
6193
6760
  {
6194
6761
  image: imageUrl,
6195
6762
  sx: (theme) => ({
@@ -6203,43 +6770,43 @@ var ItemIconImage = ({ value }) => {
6203
6770
  };
6204
6771
  var ItemIconGradient = ({ value }) => {
6205
6772
  const gradient = getGradientValue(value);
6206
- return /* @__PURE__ */ React88.createElement(StyledUnstableColorIndicator3, { size: "inherit", component: "span", value: gradient });
6773
+ return /* @__PURE__ */ React92.createElement(StyledUnstableColorIndicator3, { size: "inherit", component: "span", value: gradient });
6207
6774
  };
6208
6775
  var ItemLabel3 = ({ value }) => {
6209
6776
  switch (value.$$type) {
6210
6777
  case "background-image-overlay":
6211
- return /* @__PURE__ */ React88.createElement(ItemLabelImage, { value });
6778
+ return /* @__PURE__ */ React92.createElement(ItemLabelImage, { value });
6212
6779
  case "background-color-overlay":
6213
- return /* @__PURE__ */ React88.createElement(ItemLabelColor, { value });
6780
+ return /* @__PURE__ */ React92.createElement(ItemLabelColor, { value });
6214
6781
  case "background-gradient-overlay":
6215
- return /* @__PURE__ */ React88.createElement(ItemLabelGradient, { value });
6782
+ return /* @__PURE__ */ React92.createElement(ItemLabelGradient, { value });
6216
6783
  default:
6217
6784
  return null;
6218
6785
  }
6219
6786
  };
6220
6787
  var ItemLabelColor = ({ value: prop }) => {
6221
6788
  const color = extractColorFrom(prop);
6222
- return /* @__PURE__ */ React88.createElement("span", null, color);
6789
+ return /* @__PURE__ */ React92.createElement("span", null, color);
6223
6790
  };
6224
6791
  var ItemLabelImage = ({ value }) => {
6225
6792
  const { imageTitle } = useImage(value);
6226
- return /* @__PURE__ */ React88.createElement("span", null, imageTitle);
6793
+ return /* @__PURE__ */ React92.createElement("span", null, imageTitle);
6227
6794
  };
6228
6795
  var ItemLabelGradient = ({ value }) => {
6229
6796
  if (value.value.type.value === "linear") {
6230
- return /* @__PURE__ */ React88.createElement("span", null, (0, import_i18n38.__)("Linear Gradient", "elementor"));
6797
+ return /* @__PURE__ */ React92.createElement("span", null, (0, import_i18n41.__)("Linear Gradient", "elementor"));
6231
6798
  }
6232
- return /* @__PURE__ */ React88.createElement("span", null, (0, import_i18n38.__)("Radial Gradient", "elementor"));
6799
+ return /* @__PURE__ */ React92.createElement("span", null, (0, import_i18n41.__)("Radial Gradient", "elementor"));
6233
6800
  };
6234
6801
  var ColorOverlayContent = ({ anchorEl }) => {
6235
6802
  const propContext = useBoundProp(import_editor_props41.backgroundColorOverlayPropTypeUtil);
6236
- return /* @__PURE__ */ React88.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React88.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React88.createElement(ColorControl, { anchorEl })));
6803
+ return /* @__PURE__ */ React92.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React92.createElement(ColorControl, { anchorEl })));
6237
6804
  };
6238
6805
  var ImageOverlayContent = () => {
6239
6806
  const propContext = useBoundProp(import_editor_props41.backgroundImageOverlayPropTypeUtil);
6240
- return /* @__PURE__ */ React88.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React88.createElement(PropKeyProvider, { bind: "image" }, /* @__PURE__ */ React88.createElement(ImageControl, { sizes: backgroundResolutionOptions })), /* @__PURE__ */ React88.createElement(PropKeyProvider, { bind: "position" }, /* @__PURE__ */ React88.createElement(BackgroundImageOverlayPosition, null)), /* @__PURE__ */ React88.createElement(PropKeyProvider, { bind: "repeat" }, /* @__PURE__ */ React88.createElement(BackgroundImageOverlayRepeat, null)), /* @__PURE__ */ React88.createElement(PropKeyProvider, { bind: "size" }, /* @__PURE__ */ React88.createElement(BackgroundImageOverlaySize, null)), /* @__PURE__ */ React88.createElement(PropKeyProvider, { bind: "attachment" }, /* @__PURE__ */ React88.createElement(BackgroundImageOverlayAttachment, null)));
6807
+ return /* @__PURE__ */ React92.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: "image" }, /* @__PURE__ */ React92.createElement(ImageControl, { sizes: backgroundResolutionOptions })), /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: "position" }, /* @__PURE__ */ React92.createElement(BackgroundImageOverlayPosition, null)), /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: "repeat" }, /* @__PURE__ */ React92.createElement(BackgroundImageOverlayRepeat, null)), /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: "size" }, /* @__PURE__ */ React92.createElement(BackgroundImageOverlaySize, null)), /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: "attachment" }, /* @__PURE__ */ React92.createElement(BackgroundImageOverlayAttachment, null)));
6241
6808
  };
6242
- var StyledUnstableColorIndicator3 = (0, import_ui72.styled)(import_ui72.UnstableColorIndicator)(({ theme }) => ({
6809
+ var StyledUnstableColorIndicator3 = (0, import_ui75.styled)(import_ui75.UnstableColorIndicator)(({ theme }) => ({
6243
6810
  height: "1rem",
6244
6811
  width: "1rem",
6245
6812
  borderRadius: `${theme.shape.borderRadius / 2}px`
@@ -6278,29 +6845,29 @@ var getGradientValue = (value) => {
6278
6845
 
6279
6846
  // src/controls/background-control/background-control.tsx
6280
6847
  var clipOptions = [
6281
- { label: (0, import_i18n39.__)("Full element", "elementor"), value: "border-box" },
6282
- { label: (0, import_i18n39.__)("Padding edges", "elementor"), value: "padding-box" },
6283
- { label: (0, import_i18n39.__)("Content edges", "elementor"), value: "content-box" },
6284
- { label: (0, import_i18n39.__)("Text", "elementor"), value: "text" }
6848
+ { label: (0, import_i18n42.__)("Full element", "elementor"), value: "border-box" },
6849
+ { label: (0, import_i18n42.__)("Padding edges", "elementor"), value: "padding-box" },
6850
+ { label: (0, import_i18n42.__)("Content edges", "elementor"), value: "content-box" },
6851
+ { label: (0, import_i18n42.__)("Text", "elementor"), value: "text" }
6285
6852
  ];
6286
- var colorLabel = (0, import_i18n39.__)("Color", "elementor");
6287
- var clipLabel = (0, import_i18n39.__)("Clipping", "elementor");
6853
+ var colorLabel = (0, import_i18n42.__)("Color", "elementor");
6854
+ var clipLabel = (0, import_i18n42.__)("Clipping", "elementor");
6288
6855
  var BackgroundControl = createControl(() => {
6289
6856
  const propContext = useBoundProp(import_editor_props42.backgroundPropTypeUtil);
6290
- return /* @__PURE__ */ React89.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React89.createElement(PropKeyProvider, { bind: "background-overlay" }, /* @__PURE__ */ React89.createElement(BackgroundOverlayRepeaterControl, null)), /* @__PURE__ */ React89.createElement(BackgroundColorField, null), /* @__PURE__ */ React89.createElement(BackgroundClipField, null));
6857
+ return /* @__PURE__ */ React93.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React93.createElement(PropKeyProvider, { bind: "background-overlay" }, /* @__PURE__ */ React93.createElement(BackgroundOverlayRepeaterControl, null)), /* @__PURE__ */ React93.createElement(BackgroundColorField, null), /* @__PURE__ */ React93.createElement(BackgroundClipField, null));
6291
6858
  });
6292
6859
  var BackgroundColorField = () => {
6293
- return /* @__PURE__ */ React89.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React89.createElement(import_ui73.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React89.createElement(import_ui73.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React89.createElement(ControlLabel, null, colorLabel)), /* @__PURE__ */ React89.createElement(import_ui73.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React89.createElement(ColorControl, null))));
6860
+ return /* @__PURE__ */ React93.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React93.createElement(import_ui76.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React93.createElement(import_ui76.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React93.createElement(ControlLabel, null, colorLabel)), /* @__PURE__ */ React93.createElement(import_ui76.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React93.createElement(ColorControl, null))));
6294
6861
  };
6295
6862
  var BackgroundClipField = () => {
6296
- return /* @__PURE__ */ React89.createElement(PropKeyProvider, { bind: "clip" }, /* @__PURE__ */ React89.createElement(import_ui73.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React89.createElement(import_ui73.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React89.createElement(ControlLabel, null, clipLabel)), /* @__PURE__ */ React89.createElement(import_ui73.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React89.createElement(SelectControl, { options: clipOptions }))));
6863
+ return /* @__PURE__ */ React93.createElement(PropKeyProvider, { bind: "clip" }, /* @__PURE__ */ React93.createElement(import_ui76.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React93.createElement(import_ui76.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React93.createElement(ControlLabel, null, clipLabel)), /* @__PURE__ */ React93.createElement(import_ui76.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React93.createElement(SelectControl, { options: clipOptions }))));
6297
6864
  };
6298
6865
 
6299
6866
  // src/controls/repeatable-control.tsx
6300
- var React90 = __toESM(require("react"));
6301
- var import_react53 = require("react");
6867
+ var React94 = __toESM(require("react"));
6868
+ var import_react54 = require("react");
6302
6869
  var import_editor_props43 = require("@elementor/editor-props");
6303
- var import_ui74 = require("@elementor/ui");
6870
+ var import_ui77 = require("@elementor/ui");
6304
6871
  var PLACEHOLDER_REGEX = /\$\{([^}]+)\}/g;
6305
6872
  var RepeatableControl = createControl(
6306
6873
  ({
@@ -6319,11 +6886,11 @@ var RepeatableControl = createControl(
6319
6886
  if (!childPropTypeUtil) {
6320
6887
  return null;
6321
6888
  }
6322
- const childArrayPropTypeUtil2 = (0, import_react53.useMemo)(
6889
+ const childArrayPropTypeUtil2 = (0, import_react54.useMemo)(
6323
6890
  () => (0, import_editor_props43.createArrayPropUtils)(childPropTypeUtil.key, childPropTypeUtil.schema, propKey),
6324
6891
  [childPropTypeUtil.key, childPropTypeUtil.schema, propKey]
6325
6892
  );
6326
- const contextValue = (0, import_react53.useMemo)(
6893
+ const contextValue = (0, import_react54.useMemo)(
6327
6894
  () => ({
6328
6895
  ...childControlConfig,
6329
6896
  placeholder: placeholder || "",
@@ -6333,14 +6900,14 @@ var RepeatableControl = createControl(
6333
6900
  );
6334
6901
  const { propType, value, setValue } = useBoundProp(childArrayPropTypeUtil2);
6335
6902
  const newItemIndex = addItemTooltipProps?.newItemIndex === null ? void 0 : 0;
6336
- return /* @__PURE__ */ React90.createElement(PropProvider, { propType, value, setValue }, /* @__PURE__ */ React90.createElement(RepeatableControlContext.Provider, { value: contextValue }, /* @__PURE__ */ React90.createElement(
6903
+ return /* @__PURE__ */ React94.createElement(PropProvider, { propType, value, setValue }, /* @__PURE__ */ React94.createElement(RepeatableControlContext.Provider, { value: contextValue }, /* @__PURE__ */ React94.createElement(
6337
6904
  ControlRepeater,
6338
6905
  {
6339
6906
  initial: childPropTypeUtil.create(initialValues || null),
6340
6907
  propTypeUtil: childArrayPropTypeUtil2,
6341
6908
  isItemDisabled: isItemDisabled2
6342
6909
  },
6343
- /* @__PURE__ */ React90.createElement(RepeaterHeader, { label: repeaterLabel }, /* @__PURE__ */ React90.createElement(
6910
+ /* @__PURE__ */ React94.createElement(RepeaterHeader, { label: repeaterLabel }, /* @__PURE__ */ React94.createElement(
6344
6911
  TooltipAddItemAction,
6345
6912
  {
6346
6913
  ...addItemTooltipProps,
@@ -6348,22 +6915,22 @@ var RepeatableControl = createControl(
6348
6915
  ariaLabel: repeaterLabel
6349
6916
  }
6350
6917
  )),
6351
- /* @__PURE__ */ React90.createElement(ItemsContainer, { isSortable }, /* @__PURE__ */ React90.createElement(
6918
+ /* @__PURE__ */ React94.createElement(ItemsContainer, { isSortable }, /* @__PURE__ */ React94.createElement(
6352
6919
  Item,
6353
6920
  {
6354
6921
  Icon: ItemIcon3,
6355
6922
  Label: ItemLabel4,
6356
- actions: /* @__PURE__ */ React90.createElement(React90.Fragment, null, showDuplicate && /* @__PURE__ */ React90.createElement(DuplicateItemAction, null), showToggle && /* @__PURE__ */ React90.createElement(DisableItemAction, null), /* @__PURE__ */ React90.createElement(RemoveItemAction, null))
6923
+ actions: /* @__PURE__ */ React94.createElement(React94.Fragment, null, showDuplicate && /* @__PURE__ */ React94.createElement(DuplicateItemAction, null), showToggle && /* @__PURE__ */ React94.createElement(DisableItemAction, null), /* @__PURE__ */ React94.createElement(RemoveItemAction, null))
6357
6924
  }
6358
6925
  )),
6359
- /* @__PURE__ */ React90.createElement(EditItemPopover, null, /* @__PURE__ */ React90.createElement(Content2, null))
6926
+ /* @__PURE__ */ React94.createElement(EditItemPopover, null, /* @__PURE__ */ React94.createElement(Content2, null))
6360
6927
  )));
6361
6928
  }
6362
6929
  );
6363
- var ItemIcon3 = () => /* @__PURE__ */ React90.createElement(React90.Fragment, null);
6930
+ var ItemIcon3 = () => /* @__PURE__ */ React94.createElement(React94.Fragment, null);
6364
6931
  var Content2 = () => {
6365
6932
  const { component: ChildControl, props = {} } = useRepeatableControlContext();
6366
- return /* @__PURE__ */ React90.createElement(PopoverContent, { p: 1.5 }, /* @__PURE__ */ React90.createElement(PopoverGridContainer, null, /* @__PURE__ */ React90.createElement(ChildControl, { ...props })));
6933
+ return /* @__PURE__ */ React94.createElement(PopoverContent, { p: 1.5 }, /* @__PURE__ */ React94.createElement(PopoverGridContainer, null, /* @__PURE__ */ React94.createElement(ChildControl, { ...props })));
6367
6934
  };
6368
6935
  var interpolate = (template, data) => {
6369
6936
  if (!data) {
@@ -6446,7 +7013,7 @@ var ItemLabel4 = ({ value }) => {
6446
7013
  const label = showPlaceholder ? placeholder : interpolate(patternLabel, value);
6447
7014
  const isReadOnly = !!childProps?.readOnly;
6448
7015
  const color = getTextColor(isReadOnly, showPlaceholder);
6449
- return /* @__PURE__ */ React90.createElement(import_ui74.Box, { component: "span", color }, label);
7016
+ return /* @__PURE__ */ React94.createElement(import_ui77.Box, { component: "span", color }, label);
6450
7017
  };
6451
7018
  var getAllProperties = (pattern) => {
6452
7019
  const properties = pattern.match(PLACEHOLDER_REGEX)?.map((match) => match.slice(2, -1)) || [];
@@ -6454,11 +7021,11 @@ var getAllProperties = (pattern) => {
6454
7021
  };
6455
7022
 
6456
7023
  // src/controls/key-value-control.tsx
6457
- var React91 = __toESM(require("react"));
6458
- var import_react54 = require("react");
7024
+ var React95 = __toESM(require("react"));
7025
+ var import_react55 = require("react");
6459
7026
  var import_editor_props44 = require("@elementor/editor-props");
6460
- var import_ui75 = require("@elementor/ui");
6461
- var import_i18n40 = require("@wordpress/i18n");
7027
+ var import_ui78 = require("@elementor/ui");
7028
+ var import_i18n43 = require("@wordpress/i18n");
6462
7029
 
6463
7030
  // src/utils/escape-html-attr.ts
6464
7031
  var escapeHtmlAttr = (value) => {
@@ -6482,23 +7049,23 @@ var getInitialFieldValue = (fieldValue) => {
6482
7049
  };
6483
7050
  var KeyValueControl = createControl((props = {}) => {
6484
7051
  const { value, setValue, ...propContext } = useBoundProp(import_editor_props44.keyValuePropTypeUtil);
6485
- const [keyError, setKeyError] = (0, import_react54.useState)("");
6486
- const [valueError, setValueError] = (0, import_react54.useState)("");
6487
- const [sessionState, setSessionState] = (0, import_react54.useState)({
7052
+ const [keyError, setKeyError] = (0, import_react55.useState)("");
7053
+ const [valueError, setValueError] = (0, import_react55.useState)("");
7054
+ const [sessionState, setSessionState] = (0, import_react55.useState)({
6488
7055
  key: getInitialFieldValue(value?.key),
6489
7056
  value: getInitialFieldValue(value?.value)
6490
7057
  });
6491
- const keyLabel = props.keyName || (0, import_i18n40.__)("Key", "elementor");
6492
- const valueLabel = props.valueName || (0, import_i18n40.__)("Value", "elementor");
7058
+ const keyLabel = props.keyName || (0, import_i18n43.__)("Key", "elementor");
7059
+ const valueLabel = props.valueName || (0, import_i18n43.__)("Value", "elementor");
6493
7060
  const { keyHelper, valueHelper } = props.getHelperText?.(sessionState.key, sessionState.value) || {
6494
7061
  keyHelper: void 0,
6495
7062
  valueHelper: void 0
6496
7063
  };
6497
- const [keyRegex, valueRegex, errMsg] = (0, import_react54.useMemo)(
7064
+ const [keyRegex, valueRegex, errMsg] = (0, import_react55.useMemo)(
6498
7065
  () => [
6499
7066
  props.regexKey ? new RegExp(props.regexKey) : void 0,
6500
7067
  props.regexValue ? new RegExp(props.regexValue) : void 0,
6501
- props.validationErrorMessage || (0, import_i18n40.__)("Invalid Format", "elementor")
7068
+ props.validationErrorMessage || (0, import_i18n43.__)("Invalid Format", "elementor")
6502
7069
  ],
6503
7070
  [props.regexKey, props.regexValue, props.validationErrorMessage]
6504
7071
  );
@@ -6547,14 +7114,14 @@ var KeyValueControl = createControl((props = {}) => {
6547
7114
  });
6548
7115
  }
6549
7116
  };
6550
- return /* @__PURE__ */ React91.createElement(PropProvider, { ...propContext, value, setValue: handleChange }, /* @__PURE__ */ React91.createElement(import_ui75.Grid, { container: true, gap: 1.5 }, /* @__PURE__ */ React91.createElement(import_ui75.Grid, { item: true, xs: 12, display: "flex", flexDirection: "column" }, /* @__PURE__ */ React91.createElement(import_ui75.FormLabel, { size: "tiny", sx: { pb: 1 } }, keyLabel), /* @__PURE__ */ React91.createElement(PropKeyProvider, { bind: "key" }, /* @__PURE__ */ React91.createElement(
7117
+ return /* @__PURE__ */ React95.createElement(PropProvider, { ...propContext, value, setValue: handleChange }, /* @__PURE__ */ React95.createElement(import_ui78.Grid, { container: true, gap: 1.5 }, /* @__PURE__ */ React95.createElement(import_ui78.Grid, { item: true, xs: 12, display: "flex", flexDirection: "column" }, /* @__PURE__ */ React95.createElement(import_ui78.FormLabel, { size: "tiny", sx: { pb: 1 } }, keyLabel), /* @__PURE__ */ React95.createElement(PropKeyProvider, { bind: "key" }, /* @__PURE__ */ React95.createElement(
6551
7118
  TextControl,
6552
7119
  {
6553
7120
  inputValue: props.escapeHtml ? escapeHtmlAttr(sessionState.key) : sessionState.key,
6554
7121
  error: !!keyError,
6555
7122
  helperText: keyHelper
6556
7123
  }
6557
- )), !!keyError && /* @__PURE__ */ React91.createElement(import_ui75.FormHelperText, { error: true }, keyError)), /* @__PURE__ */ React91.createElement(import_ui75.Grid, { item: true, xs: 12, display: "flex", flexDirection: "column" }, /* @__PURE__ */ React91.createElement(import_ui75.FormLabel, { size: "tiny", sx: { pb: 1 } }, valueLabel), /* @__PURE__ */ React91.createElement(PropKeyProvider, { bind: "value" }, /* @__PURE__ */ React91.createElement(
7124
+ )), !!keyError && /* @__PURE__ */ React95.createElement(import_ui78.FormHelperText, { error: true }, keyError)), /* @__PURE__ */ React95.createElement(import_ui78.Grid, { item: true, xs: 12, display: "flex", flexDirection: "column" }, /* @__PURE__ */ React95.createElement(import_ui78.FormLabel, { size: "tiny", sx: { pb: 1 } }, valueLabel), /* @__PURE__ */ React95.createElement(PropKeyProvider, { bind: "value" }, /* @__PURE__ */ React95.createElement(
6558
7125
  TextControl,
6559
7126
  {
6560
7127
  inputValue: props.escapeHtml ? escapeHtmlAttr(sessionState.value) : sessionState.value,
@@ -6562,27 +7129,27 @@ var KeyValueControl = createControl((props = {}) => {
6562
7129
  inputDisabled: !!keyError,
6563
7130
  helperText: valueHelper
6564
7131
  }
6565
- )), !!valueError && /* @__PURE__ */ React91.createElement(import_ui75.FormHelperText, { error: true }, valueError))));
7132
+ )), !!valueError && /* @__PURE__ */ React95.createElement(import_ui78.FormHelperText, { error: true }, valueError))));
6566
7133
  });
6567
7134
 
6568
7135
  // src/controls/position-control.tsx
6569
- var React92 = __toESM(require("react"));
7136
+ var React96 = __toESM(require("react"));
6570
7137
  var import_editor_props45 = require("@elementor/editor-props");
6571
- var import_editor_ui12 = require("@elementor/editor-ui");
6572
- var import_icons27 = require("@elementor/icons");
6573
- var import_ui76 = require("@elementor/ui");
6574
- var import_i18n41 = require("@wordpress/i18n");
7138
+ var import_editor_ui13 = require("@elementor/editor-ui");
7139
+ var import_icons28 = require("@elementor/icons");
7140
+ var import_ui79 = require("@elementor/ui");
7141
+ var import_i18n44 = require("@wordpress/i18n");
6575
7142
  var positionOptions = [
6576
- { label: (0, import_i18n41.__)("Center center", "elementor"), value: "center center" },
6577
- { label: (0, import_i18n41.__)("Center left", "elementor"), value: "center left" },
6578
- { label: (0, import_i18n41.__)("Center right", "elementor"), value: "center right" },
6579
- { label: (0, import_i18n41.__)("Top center", "elementor"), value: "top center" },
6580
- { label: (0, import_i18n41.__)("Top left", "elementor"), value: "top left" },
6581
- { label: (0, import_i18n41.__)("Top right", "elementor"), value: "top right" },
6582
- { label: (0, import_i18n41.__)("Bottom center", "elementor"), value: "bottom center" },
6583
- { label: (0, import_i18n41.__)("Bottom left", "elementor"), value: "bottom left" },
6584
- { label: (0, import_i18n41.__)("Bottom right", "elementor"), value: "bottom right" },
6585
- { label: (0, import_i18n41.__)("Custom", "elementor"), value: "custom" }
7143
+ { label: (0, import_i18n44.__)("Center center", "elementor"), value: "center center" },
7144
+ { label: (0, import_i18n44.__)("Center left", "elementor"), value: "center left" },
7145
+ { label: (0, import_i18n44.__)("Center right", "elementor"), value: "center right" },
7146
+ { label: (0, import_i18n44.__)("Top center", "elementor"), value: "top center" },
7147
+ { label: (0, import_i18n44.__)("Top left", "elementor"), value: "top left" },
7148
+ { label: (0, import_i18n44.__)("Top right", "elementor"), value: "top right" },
7149
+ { label: (0, import_i18n44.__)("Bottom center", "elementor"), value: "bottom center" },
7150
+ { label: (0, import_i18n44.__)("Bottom left", "elementor"), value: "bottom left" },
7151
+ { label: (0, import_i18n44.__)("Bottom right", "elementor"), value: "bottom right" },
7152
+ { label: (0, import_i18n44.__)("Custom", "elementor"), value: "custom" }
6586
7153
  ];
6587
7154
  var PositionControl = () => {
6588
7155
  const positionContext = useBoundProp(import_editor_props45.positionPropTypeUtil);
@@ -6597,8 +7164,8 @@ var PositionControl = () => {
6597
7164
  stringPropContext.setValue(value);
6598
7165
  }
6599
7166
  };
6600
- return /* @__PURE__ */ React92.createElement(import_ui76.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React92.createElement(import_ui76.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React92.createElement(import_ui76.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React92.createElement(import_ui76.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React92.createElement(ControlFormLabel, null, (0, import_i18n41.__)("Object position", "elementor"))), /* @__PURE__ */ React92.createElement(import_ui76.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React92.createElement(
6601
- import_ui76.Select,
7167
+ return /* @__PURE__ */ React96.createElement(import_ui79.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React96.createElement(import_ui79.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React96.createElement(import_ui79.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React96.createElement(import_ui79.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React96.createElement(ControlFormLabel, null, (0, import_i18n44.__)("Object position", "elementor"))), /* @__PURE__ */ React96.createElement(import_ui79.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React96.createElement(
7168
+ import_ui79.Select,
6602
7169
  {
6603
7170
  size: "tiny",
6604
7171
  displayEmpty: true,
@@ -6608,29 +7175,29 @@ var PositionControl = () => {
6608
7175
  renderValue: (selectedValue) => getSelectRenderValue(positionOptions, placeholder, selectedValue),
6609
7176
  fullWidth: true
6610
7177
  },
6611
- positionOptions.map(({ label, value }) => /* @__PURE__ */ React92.createElement(import_editor_ui12.MenuListItem, { key: value, value: value ?? "" }, label))
6612
- )))), isCustom && /* @__PURE__ */ React92.createElement(PropProvider, { ...positionContext }, /* @__PURE__ */ React92.createElement(import_ui76.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React92.createElement(import_ui76.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React92.createElement(import_ui76.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: "x" }, /* @__PURE__ */ React92.createElement(
7178
+ positionOptions.map(({ label, value }) => /* @__PURE__ */ React96.createElement(import_editor_ui13.MenuListItem, { key: value, value: value ?? "" }, label))
7179
+ )))), isCustom && /* @__PURE__ */ React96.createElement(PropProvider, { ...positionContext }, /* @__PURE__ */ React96.createElement(import_ui79.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React96.createElement(import_ui79.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React96.createElement(import_ui79.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React96.createElement(PropKeyProvider, { bind: "x" }, /* @__PURE__ */ React96.createElement(
6613
7180
  SizeControl,
6614
7181
  {
6615
- startIcon: /* @__PURE__ */ React92.createElement(import_icons27.LetterXIcon, { fontSize: "tiny" }),
7182
+ startIcon: /* @__PURE__ */ React96.createElement(import_icons28.LetterXIcon, { fontSize: "tiny" }),
6616
7183
  min: -Number.MAX_SAFE_INTEGER
6617
7184
  }
6618
- ))), /* @__PURE__ */ React92.createElement(import_ui76.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: "y" }, /* @__PURE__ */ React92.createElement(
7185
+ ))), /* @__PURE__ */ React96.createElement(import_ui79.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React96.createElement(PropKeyProvider, { bind: "y" }, /* @__PURE__ */ React96.createElement(
6619
7186
  SizeControl,
6620
7187
  {
6621
- startIcon: /* @__PURE__ */ React92.createElement(import_icons27.LetterYIcon, { fontSize: "tiny" }),
7188
+ startIcon: /* @__PURE__ */ React96.createElement(import_icons28.LetterYIcon, { fontSize: "tiny" }),
6622
7189
  min: -Number.MAX_SAFE_INTEGER
6623
7190
  }
6624
7191
  )))))));
6625
7192
  };
6626
7193
 
6627
7194
  // src/controls/transform-control/transform-repeater-control.tsx
6628
- var React105 = __toESM(require("react"));
6629
- var import_react62 = require("react");
7195
+ var React109 = __toESM(require("react"));
7196
+ var import_react63 = require("react");
6630
7197
  var import_editor_props54 = require("@elementor/editor-props");
6631
- var import_icons34 = require("@elementor/icons");
6632
- var import_ui89 = require("@elementor/ui");
6633
- var import_i18n51 = require("@wordpress/i18n");
7198
+ var import_icons35 = require("@elementor/icons");
7199
+ var import_ui92 = require("@elementor/ui");
7200
+ var import_i18n54 = require("@wordpress/i18n");
6634
7201
 
6635
7202
  // src/controls/transform-control/initial-values.ts
6636
7203
  var import_editor_props46 = require("@elementor/editor-props");
@@ -6679,24 +7246,24 @@ var initialSkewValue = import_editor_props46.skewTransformPropTypeUtil.create({
6679
7246
  });
6680
7247
 
6681
7248
  // src/controls/transform-control/transform-content.tsx
6682
- var React99 = __toESM(require("react"));
6683
- var import_ui84 = require("@elementor/ui");
6684
- var import_i18n46 = require("@wordpress/i18n");
7249
+ var React103 = __toESM(require("react"));
7250
+ var import_ui87 = require("@elementor/ui");
7251
+ var import_i18n49 = require("@wordpress/i18n");
6685
7252
 
6686
7253
  // src/controls/transform-control/functions/move.tsx
6687
- var React94 = __toESM(require("react"));
6688
- var import_react55 = require("react");
7254
+ var React98 = __toESM(require("react"));
7255
+ var import_react56 = require("react");
6689
7256
  var import_editor_props47 = require("@elementor/editor-props");
6690
- var import_icons28 = require("@elementor/icons");
6691
- var import_ui78 = require("@elementor/ui");
6692
- var import_i18n42 = require("@wordpress/i18n");
7257
+ var import_icons29 = require("@elementor/icons");
7258
+ var import_ui81 = require("@elementor/ui");
7259
+ var import_i18n45 = require("@wordpress/i18n");
6693
7260
 
6694
7261
  // src/controls/transform-control/functions/axis-row.tsx
6695
- var React93 = __toESM(require("react"));
6696
- var import_ui77 = require("@elementor/ui");
7262
+ var React97 = __toESM(require("react"));
7263
+ var import_ui80 = require("@elementor/ui");
6697
7264
  var AxisRow = ({ label, bind, startIcon, anchorRef, units: units2, variant = "angle" }) => {
6698
7265
  const safeId = label.replace(/\s+/g, "-").toLowerCase();
6699
- return /* @__PURE__ */ React93.createElement(import_ui77.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React93.createElement(PopoverGridContainer, { ref: anchorRef }, /* @__PURE__ */ React93.createElement(import_ui77.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React93.createElement(ControlLabel, { htmlFor: safeId }, label)), /* @__PURE__ */ React93.createElement(import_ui77.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React93.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React93.createElement(
7266
+ return /* @__PURE__ */ React97.createElement(import_ui80.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React97.createElement(PopoverGridContainer, { ref: anchorRef }, /* @__PURE__ */ React97.createElement(import_ui80.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React97.createElement(ControlLabel, { htmlFor: safeId }, label)), /* @__PURE__ */ React97.createElement(import_ui80.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React97.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React97.createElement(
6700
7267
  SizeControl,
6701
7268
  {
6702
7269
  anchorRef,
@@ -6712,28 +7279,28 @@ var AxisRow = ({ label, bind, startIcon, anchorRef, units: units2, variant = "an
6712
7279
  // src/controls/transform-control/functions/move.tsx
6713
7280
  var moveAxisControls = [
6714
7281
  {
6715
- label: (0, import_i18n42.__)("Move X", "elementor"),
7282
+ label: (0, import_i18n45.__)("Move X", "elementor"),
6716
7283
  bind: "x",
6717
- startIcon: /* @__PURE__ */ React94.createElement(import_icons28.ArrowRightIcon, { fontSize: "tiny" }),
7284
+ startIcon: /* @__PURE__ */ React98.createElement(import_icons29.ArrowRightIcon, { fontSize: "tiny" }),
6718
7285
  units: ["px", "%", "em", "rem", "vw"]
6719
7286
  },
6720
7287
  {
6721
- label: (0, import_i18n42.__)("Move Y", "elementor"),
7288
+ label: (0, import_i18n45.__)("Move Y", "elementor"),
6722
7289
  bind: "y",
6723
- startIcon: /* @__PURE__ */ React94.createElement(import_icons28.ArrowDownSmallIcon, { fontSize: "tiny" }),
7290
+ startIcon: /* @__PURE__ */ React98.createElement(import_icons29.ArrowDownSmallIcon, { fontSize: "tiny" }),
6724
7291
  units: ["px", "%", "em", "rem", "vh"]
6725
7292
  },
6726
7293
  {
6727
- label: (0, import_i18n42.__)("Move Z", "elementor"),
7294
+ label: (0, import_i18n45.__)("Move Z", "elementor"),
6728
7295
  bind: "z",
6729
- startIcon: /* @__PURE__ */ React94.createElement(import_icons28.ArrowDownLeftIcon, { fontSize: "tiny" }),
7296
+ startIcon: /* @__PURE__ */ React98.createElement(import_icons29.ArrowDownLeftIcon, { fontSize: "tiny" }),
6730
7297
  units: ["px", "%", "em", "rem", "vw", "vh"]
6731
7298
  }
6732
7299
  ];
6733
7300
  var Move = () => {
6734
7301
  const context = useBoundProp(import_editor_props47.moveTransformPropTypeUtil);
6735
- const rowRefs = [(0, import_react55.useRef)(null), (0, import_react55.useRef)(null), (0, import_react55.useRef)(null)];
6736
- return /* @__PURE__ */ React94.createElement(import_ui78.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React94.createElement(PropProvider, { ...context }, /* @__PURE__ */ React94.createElement(PropKeyProvider, { bind: TransformFunctionKeys.move }, moveAxisControls.map((control, index) => /* @__PURE__ */ React94.createElement(
7302
+ const rowRefs = [(0, import_react56.useRef)(null), (0, import_react56.useRef)(null), (0, import_react56.useRef)(null)];
7303
+ return /* @__PURE__ */ React98.createElement(import_ui81.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React98.createElement(PropProvider, { ...context }, /* @__PURE__ */ React98.createElement(PropKeyProvider, { bind: TransformFunctionKeys.move }, moveAxisControls.map((control, index) => /* @__PURE__ */ React98.createElement(
6737
7304
  AxisRow,
6738
7305
  {
6739
7306
  key: control.bind,
@@ -6746,34 +7313,34 @@ var Move = () => {
6746
7313
  };
6747
7314
 
6748
7315
  // src/controls/transform-control/functions/rotate.tsx
6749
- var React95 = __toESM(require("react"));
6750
- var import_react56 = require("react");
6751
- var import_editor_props48 = require("@elementor/editor-props");
6752
- var import_icons29 = require("@elementor/icons");
6753
- var import_ui79 = require("@elementor/ui");
6754
- var import_i18n43 = require("@wordpress/i18n");
7316
+ var React99 = __toESM(require("react"));
7317
+ var import_react57 = require("react");
7318
+ var import_editor_props48 = require("@elementor/editor-props");
7319
+ var import_icons30 = require("@elementor/icons");
7320
+ var import_ui82 = require("@elementor/ui");
7321
+ var import_i18n46 = require("@wordpress/i18n");
6755
7322
  var rotateAxisControls = [
6756
7323
  {
6757
- label: (0, import_i18n43.__)("Rotate X", "elementor"),
7324
+ label: (0, import_i18n46.__)("Rotate X", "elementor"),
6758
7325
  bind: "x",
6759
- startIcon: /* @__PURE__ */ React95.createElement(import_icons29.Arrow360Icon, { fontSize: "tiny" })
7326
+ startIcon: /* @__PURE__ */ React99.createElement(import_icons30.Arrow360Icon, { fontSize: "tiny" })
6760
7327
  },
6761
7328
  {
6762
- label: (0, import_i18n43.__)("Rotate Y", "elementor"),
7329
+ label: (0, import_i18n46.__)("Rotate Y", "elementor"),
6763
7330
  bind: "y",
6764
- startIcon: /* @__PURE__ */ React95.createElement(import_icons29.Arrow360Icon, { fontSize: "tiny", style: { transform: "scaleX(-1) rotate(-90deg)" } })
7331
+ startIcon: /* @__PURE__ */ React99.createElement(import_icons30.Arrow360Icon, { fontSize: "tiny", style: { transform: "scaleX(-1) rotate(-90deg)" } })
6765
7332
  },
6766
7333
  {
6767
- label: (0, import_i18n43.__)("Rotate Z", "elementor"),
7334
+ label: (0, import_i18n46.__)("Rotate Z", "elementor"),
6768
7335
  bind: "z",
6769
- startIcon: /* @__PURE__ */ React95.createElement(import_icons29.RotateClockwiseIcon, { fontSize: "tiny" })
7336
+ startIcon: /* @__PURE__ */ React99.createElement(import_icons30.RotateClockwiseIcon, { fontSize: "tiny" })
6770
7337
  }
6771
7338
  ];
6772
7339
  var rotateUnits = ["deg", "rad", "grad", "turn"];
6773
7340
  var Rotate = () => {
6774
7341
  const context = useBoundProp(import_editor_props48.rotateTransformPropTypeUtil);
6775
- const rowRefs = [(0, import_react56.useRef)(null), (0, import_react56.useRef)(null), (0, import_react56.useRef)(null)];
6776
- return /* @__PURE__ */ React95.createElement(import_ui79.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React95.createElement(PropProvider, { ...context }, /* @__PURE__ */ React95.createElement(PropKeyProvider, { bind: TransformFunctionKeys.rotate }, rotateAxisControls.map((control, index) => /* @__PURE__ */ React95.createElement(
7342
+ const rowRefs = [(0, import_react57.useRef)(null), (0, import_react57.useRef)(null), (0, import_react57.useRef)(null)];
7343
+ return /* @__PURE__ */ React99.createElement(import_ui82.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React99.createElement(PropProvider, { ...context }, /* @__PURE__ */ React99.createElement(PropKeyProvider, { bind: TransformFunctionKeys.rotate }, rotateAxisControls.map((control, index) => /* @__PURE__ */ React99.createElement(
6777
7344
  AxisRow,
6778
7345
  {
6779
7346
  key: control.bind,
@@ -6785,68 +7352,68 @@ var Rotate = () => {
6785
7352
  };
6786
7353
 
6787
7354
  // src/controls/transform-control/functions/scale.tsx
6788
- var React97 = __toESM(require("react"));
6789
- var import_react57 = require("react");
7355
+ var React101 = __toESM(require("react"));
7356
+ var import_react58 = require("react");
6790
7357
  var import_editor_props49 = require("@elementor/editor-props");
6791
- var import_icons30 = require("@elementor/icons");
6792
- var import_ui81 = require("@elementor/ui");
6793
- var import_i18n44 = require("@wordpress/i18n");
7358
+ var import_icons31 = require("@elementor/icons");
7359
+ var import_ui84 = require("@elementor/ui");
7360
+ var import_i18n47 = require("@wordpress/i18n");
6794
7361
 
6795
7362
  // src/controls/transform-control/functions/scale-axis-row.tsx
6796
- var React96 = __toESM(require("react"));
6797
- var import_ui80 = require("@elementor/ui");
7363
+ var React100 = __toESM(require("react"));
7364
+ var import_ui83 = require("@elementor/ui");
6798
7365
  var ScaleAxisRow = ({ label, bind, startIcon, anchorRef }) => {
6799
- return /* @__PURE__ */ React96.createElement(import_ui80.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React96.createElement(PopoverGridContainer, { ref: anchorRef }, /* @__PURE__ */ React96.createElement(import_ui80.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React96.createElement(ControlLabel, null, label)), /* @__PURE__ */ React96.createElement(import_ui80.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React96.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React96.createElement(NumberControl, { step: 0.1, placeholder: "1", startIcon })))));
7366
+ return /* @__PURE__ */ React100.createElement(import_ui83.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React100.createElement(PopoverGridContainer, { ref: anchorRef }, /* @__PURE__ */ React100.createElement(import_ui83.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React100.createElement(ControlLabel, null, label)), /* @__PURE__ */ React100.createElement(import_ui83.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React100.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React100.createElement(NumberControl, { step: 0.1, placeholder: "1", startIcon })))));
6800
7367
  };
6801
7368
 
6802
7369
  // src/controls/transform-control/functions/scale.tsx
6803
7370
  var scaleAxisControls = [
6804
7371
  {
6805
- label: (0, import_i18n44.__)("Scale X", "elementor"),
7372
+ label: (0, import_i18n47.__)("Scale X", "elementor"),
6806
7373
  bind: "x",
6807
- startIcon: /* @__PURE__ */ React97.createElement(import_icons30.ArrowRightIcon, { fontSize: "tiny" })
7374
+ startIcon: /* @__PURE__ */ React101.createElement(import_icons31.ArrowRightIcon, { fontSize: "tiny" })
6808
7375
  },
6809
7376
  {
6810
- label: (0, import_i18n44.__)("Scale Y", "elementor"),
7377
+ label: (0, import_i18n47.__)("Scale Y", "elementor"),
6811
7378
  bind: "y",
6812
- startIcon: /* @__PURE__ */ React97.createElement(import_icons30.ArrowDownSmallIcon, { fontSize: "tiny" })
7379
+ startIcon: /* @__PURE__ */ React101.createElement(import_icons31.ArrowDownSmallIcon, { fontSize: "tiny" })
6813
7380
  },
6814
7381
  {
6815
- label: (0, import_i18n44.__)("Scale Z", "elementor"),
7382
+ label: (0, import_i18n47.__)("Scale Z", "elementor"),
6816
7383
  bind: "z",
6817
- startIcon: /* @__PURE__ */ React97.createElement(import_icons30.ArrowDownLeftIcon, { fontSize: "tiny" })
7384
+ startIcon: /* @__PURE__ */ React101.createElement(import_icons31.ArrowDownLeftIcon, { fontSize: "tiny" })
6818
7385
  }
6819
7386
  ];
6820
7387
  var Scale = () => {
6821
7388
  const context = useBoundProp(import_editor_props49.scaleTransformPropTypeUtil);
6822
- const rowRefs = [(0, import_react57.useRef)(null), (0, import_react57.useRef)(null), (0, import_react57.useRef)(null)];
6823
- return /* @__PURE__ */ React97.createElement(import_ui81.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React97.createElement(PropProvider, { ...context }, /* @__PURE__ */ React97.createElement(PropKeyProvider, { bind: TransformFunctionKeys.scale }, scaleAxisControls.map((control, index) => /* @__PURE__ */ React97.createElement(ScaleAxisRow, { key: control.bind, ...control, anchorRef: rowRefs[index] })))));
7389
+ const rowRefs = [(0, import_react58.useRef)(null), (0, import_react58.useRef)(null), (0, import_react58.useRef)(null)];
7390
+ return /* @__PURE__ */ React101.createElement(import_ui84.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React101.createElement(PropProvider, { ...context }, /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: TransformFunctionKeys.scale }, scaleAxisControls.map((control, index) => /* @__PURE__ */ React101.createElement(ScaleAxisRow, { key: control.bind, ...control, anchorRef: rowRefs[index] })))));
6824
7391
  };
6825
7392
 
6826
7393
  // src/controls/transform-control/functions/skew.tsx
6827
- var React98 = __toESM(require("react"));
6828
- var import_react58 = require("react");
7394
+ var React102 = __toESM(require("react"));
7395
+ var import_react59 = require("react");
6829
7396
  var import_editor_props50 = require("@elementor/editor-props");
6830
- var import_icons31 = require("@elementor/icons");
6831
- var import_ui82 = require("@elementor/ui");
6832
- var import_i18n45 = require("@wordpress/i18n");
7397
+ var import_icons32 = require("@elementor/icons");
7398
+ var import_ui85 = require("@elementor/ui");
7399
+ var import_i18n48 = require("@wordpress/i18n");
6833
7400
  var skewAxisControls = [
6834
7401
  {
6835
- label: (0, import_i18n45.__)("Skew X", "elementor"),
7402
+ label: (0, import_i18n48.__)("Skew X", "elementor"),
6836
7403
  bind: "x",
6837
- startIcon: /* @__PURE__ */ React98.createElement(import_icons31.ArrowRightIcon, { fontSize: "tiny" })
7404
+ startIcon: /* @__PURE__ */ React102.createElement(import_icons32.ArrowRightIcon, { fontSize: "tiny" })
6838
7405
  },
6839
7406
  {
6840
- label: (0, import_i18n45.__)("Skew Y", "elementor"),
7407
+ label: (0, import_i18n48.__)("Skew Y", "elementor"),
6841
7408
  bind: "y",
6842
- startIcon: /* @__PURE__ */ React98.createElement(import_icons31.ArrowLeftIcon, { fontSize: "tiny", style: { transform: "scaleX(-1) rotate(-90deg)" } })
7409
+ startIcon: /* @__PURE__ */ React102.createElement(import_icons32.ArrowLeftIcon, { fontSize: "tiny", style: { transform: "scaleX(-1) rotate(-90deg)" } })
6843
7410
  }
6844
7411
  ];
6845
7412
  var skewUnits = ["deg", "rad", "grad", "turn"];
6846
7413
  var Skew = () => {
6847
7414
  const context = useBoundProp(import_editor_props50.skewTransformPropTypeUtil);
6848
- const rowRefs = [(0, import_react58.useRef)(null), (0, import_react58.useRef)(null), (0, import_react58.useRef)(null)];
6849
- return /* @__PURE__ */ React98.createElement(import_ui82.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React98.createElement(PropProvider, { ...context }, /* @__PURE__ */ React98.createElement(PropKeyProvider, { bind: TransformFunctionKeys.skew }, skewAxisControls.map((control, index) => /* @__PURE__ */ React98.createElement(
7415
+ const rowRefs = [(0, import_react59.useRef)(null), (0, import_react59.useRef)(null), (0, import_react59.useRef)(null)];
7416
+ return /* @__PURE__ */ React102.createElement(import_ui85.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React102.createElement(PropProvider, { ...context }, /* @__PURE__ */ React102.createElement(PropKeyProvider, { bind: TransformFunctionKeys.skew }, skewAxisControls.map((control, index) => /* @__PURE__ */ React102.createElement(
6850
7417
  AxisRow,
6851
7418
  {
6852
7419
  key: control.bind,
@@ -6858,9 +7425,9 @@ var Skew = () => {
6858
7425
  };
6859
7426
 
6860
7427
  // src/controls/transform-control/use-transform-tabs-history.tsx
6861
- var import_react59 = require("react");
7428
+ var import_react60 = require("react");
6862
7429
  var import_editor_props51 = require("@elementor/editor-props");
6863
- var import_ui83 = require("@elementor/ui");
7430
+ var import_ui86 = require("@elementor/ui");
6864
7431
  var useTransformTabsHistory = ({
6865
7432
  move: initialMove,
6866
7433
  scale: initialScale,
@@ -6884,8 +7451,8 @@ var useTransformTabsHistory = ({
6884
7451
  return TransformFunctionKeys.move;
6885
7452
  }
6886
7453
  };
6887
- const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui83.useTabs)(getCurrentTransformType());
6888
- const valuesHistory = (0, import_react59.useRef)({
7454
+ const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui86.useTabs)(getCurrentTransformType());
7455
+ const valuesHistory = (0, import_react60.useRef)({
6889
7456
  move: initialMove,
6890
7457
  scale: initialScale,
6891
7458
  rotate: initialRotate,
@@ -6946,8 +7513,8 @@ var TransformContent = () => {
6946
7513
  rotate: initialRotateValue.value,
6947
7514
  skew: initialSkewValue.value
6948
7515
  });
6949
- return /* @__PURE__ */ React99.createElement(PopoverContent, null, /* @__PURE__ */ React99.createElement(import_ui84.Box, { sx: { width: "100%" } }, /* @__PURE__ */ React99.createElement(import_ui84.Box, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React99.createElement(
6950
- import_ui84.Tabs,
7516
+ return /* @__PURE__ */ React103.createElement(PopoverContent, null, /* @__PURE__ */ React103.createElement(import_ui87.Box, { sx: { width: "100%" } }, /* @__PURE__ */ React103.createElement(import_ui87.Box, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React103.createElement(
7517
+ import_ui87.Tabs,
6951
7518
  {
6952
7519
  size: "small",
6953
7520
  variant: "fullWidth",
@@ -6957,37 +7524,37 @@ var TransformContent = () => {
6957
7524
  }
6958
7525
  },
6959
7526
  ...getTabsProps(),
6960
- "aria-label": (0, import_i18n46.__)("Transform", "elementor")
7527
+ "aria-label": (0, import_i18n49.__)("Transform", "elementor")
6961
7528
  },
6962
- /* @__PURE__ */ React99.createElement(import_ui84.Tab, { label: (0, import_i18n46.__)("Move", "elementor"), ...getTabProps(TransformFunctionKeys.move) }),
6963
- /* @__PURE__ */ React99.createElement(import_ui84.Tab, { label: (0, import_i18n46.__)("Scale", "elementor"), ...getTabProps(TransformFunctionKeys.scale) }),
6964
- /* @__PURE__ */ React99.createElement(import_ui84.Tab, { label: (0, import_i18n46.__)("Rotate", "elementor"), ...getTabProps(TransformFunctionKeys.rotate) }),
6965
- /* @__PURE__ */ React99.createElement(import_ui84.Tab, { label: (0, import_i18n46.__)("Skew", "elementor"), ...getTabProps(TransformFunctionKeys.skew) })
6966
- )), /* @__PURE__ */ React99.createElement(import_ui84.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.move) }, /* @__PURE__ */ React99.createElement(Move, null)), /* @__PURE__ */ React99.createElement(import_ui84.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.scale) }, /* @__PURE__ */ React99.createElement(Scale, null)), /* @__PURE__ */ React99.createElement(import_ui84.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.rotate) }, /* @__PURE__ */ React99.createElement(Rotate, null)), /* @__PURE__ */ React99.createElement(import_ui84.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.skew) }, /* @__PURE__ */ React99.createElement(Skew, null))));
7529
+ /* @__PURE__ */ React103.createElement(import_ui87.Tab, { label: (0, import_i18n49.__)("Move", "elementor"), ...getTabProps(TransformFunctionKeys.move) }),
7530
+ /* @__PURE__ */ React103.createElement(import_ui87.Tab, { label: (0, import_i18n49.__)("Scale", "elementor"), ...getTabProps(TransformFunctionKeys.scale) }),
7531
+ /* @__PURE__ */ React103.createElement(import_ui87.Tab, { label: (0, import_i18n49.__)("Rotate", "elementor"), ...getTabProps(TransformFunctionKeys.rotate) }),
7532
+ /* @__PURE__ */ React103.createElement(import_ui87.Tab, { label: (0, import_i18n49.__)("Skew", "elementor"), ...getTabProps(TransformFunctionKeys.skew) })
7533
+ )), /* @__PURE__ */ React103.createElement(import_ui87.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.move) }, /* @__PURE__ */ React103.createElement(Move, null)), /* @__PURE__ */ React103.createElement(import_ui87.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.scale) }, /* @__PURE__ */ React103.createElement(Scale, null)), /* @__PURE__ */ React103.createElement(import_ui87.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.rotate) }, /* @__PURE__ */ React103.createElement(Rotate, null)), /* @__PURE__ */ React103.createElement(import_ui87.TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.skew) }, /* @__PURE__ */ React103.createElement(Skew, null))));
6967
7534
  };
6968
7535
 
6969
7536
  // src/controls/transform-control/transform-icon.tsx
6970
- var React100 = __toESM(require("react"));
6971
- var import_icons32 = require("@elementor/icons");
7537
+ var React104 = __toESM(require("react"));
7538
+ var import_icons33 = require("@elementor/icons");
6972
7539
  var TransformIcon = ({ value }) => {
6973
7540
  switch (value.$$type) {
6974
7541
  case TransformFunctionKeys.move:
6975
- return /* @__PURE__ */ React100.createElement(import_icons32.ArrowsMaximizeIcon, { fontSize: "tiny" });
7542
+ return /* @__PURE__ */ React104.createElement(import_icons33.ArrowsMaximizeIcon, { fontSize: "tiny" });
6976
7543
  case TransformFunctionKeys.scale:
6977
- return /* @__PURE__ */ React100.createElement(import_icons32.ArrowAutofitHeightIcon, { fontSize: "tiny" });
7544
+ return /* @__PURE__ */ React104.createElement(import_icons33.ArrowAutofitHeightIcon, { fontSize: "tiny" });
6978
7545
  case TransformFunctionKeys.rotate:
6979
- return /* @__PURE__ */ React100.createElement(import_icons32.RotateClockwise2Icon, { fontSize: "tiny" });
7546
+ return /* @__PURE__ */ React104.createElement(import_icons33.RotateClockwise2Icon, { fontSize: "tiny" });
6980
7547
  case TransformFunctionKeys.skew:
6981
- return /* @__PURE__ */ React100.createElement(import_icons32.SkewXIcon, { fontSize: "tiny" });
7548
+ return /* @__PURE__ */ React104.createElement(import_icons33.SkewXIcon, { fontSize: "tiny" });
6982
7549
  default:
6983
7550
  return null;
6984
7551
  }
6985
7552
  };
6986
7553
 
6987
7554
  // src/controls/transform-control/transform-label.tsx
6988
- var React101 = __toESM(require("react"));
6989
- var import_ui85 = require("@elementor/ui");
6990
- var import_i18n47 = require("@wordpress/i18n");
7555
+ var React105 = __toESM(require("react"));
7556
+ var import_ui88 = require("@elementor/ui");
7557
+ var import_i18n50 = require("@wordpress/i18n");
6991
7558
  var orderedAxis = ["x", "y", "z"];
6992
7559
  var formatLabel = (value, functionType) => {
6993
7560
  return orderedAxis.map((axisKey) => {
@@ -7005,98 +7572,98 @@ var TransformLabel = (props) => {
7005
7572
  const { $$type, value } = props.value;
7006
7573
  switch ($$type) {
7007
7574
  case TransformFunctionKeys.move:
7008
- return /* @__PURE__ */ React101.createElement(Label2, { label: (0, import_i18n47.__)("Move", "elementor"), value: formatLabel(value, "move") });
7575
+ return /* @__PURE__ */ React105.createElement(Label2, { label: (0, import_i18n50.__)("Move", "elementor"), value: formatLabel(value, "move") });
7009
7576
  case TransformFunctionKeys.scale:
7010
- return /* @__PURE__ */ React101.createElement(Label2, { label: (0, import_i18n47.__)("Scale", "elementor"), value: formatLabel(value, "scale") });
7577
+ return /* @__PURE__ */ React105.createElement(Label2, { label: (0, import_i18n50.__)("Scale", "elementor"), value: formatLabel(value, "scale") });
7011
7578
  case TransformFunctionKeys.rotate:
7012
- return /* @__PURE__ */ React101.createElement(Label2, { label: (0, import_i18n47.__)("Rotate", "elementor"), value: formatLabel(value, "rotate") });
7579
+ return /* @__PURE__ */ React105.createElement(Label2, { label: (0, import_i18n50.__)("Rotate", "elementor"), value: formatLabel(value, "rotate") });
7013
7580
  case TransformFunctionKeys.skew:
7014
- return /* @__PURE__ */ React101.createElement(Label2, { label: (0, import_i18n47.__)("Skew", "elementor"), value: formatLabel(value, "skew") });
7581
+ return /* @__PURE__ */ React105.createElement(Label2, { label: (0, import_i18n50.__)("Skew", "elementor"), value: formatLabel(value, "skew") });
7015
7582
  default:
7016
7583
  return "";
7017
7584
  }
7018
7585
  };
7019
7586
  var Label2 = ({ label, value }) => {
7020
- return /* @__PURE__ */ React101.createElement(import_ui85.Box, { component: "span" }, label, ": ", value);
7587
+ return /* @__PURE__ */ React105.createElement(import_ui88.Box, { component: "span" }, label, ": ", value);
7021
7588
  };
7022
7589
 
7023
7590
  // src/controls/transform-control/transform-settings-control.tsx
7024
- var React104 = __toESM(require("react"));
7025
- var import_editor_ui13 = require("@elementor/editor-ui");
7026
- var import_icons33 = require("@elementor/icons");
7027
- var import_ui88 = require("@elementor/ui");
7028
- var import_i18n50 = require("@wordpress/i18n");
7591
+ var React108 = __toESM(require("react"));
7592
+ var import_editor_ui14 = require("@elementor/editor-ui");
7593
+ var import_icons34 = require("@elementor/icons");
7594
+ var import_ui91 = require("@elementor/ui");
7595
+ var import_i18n53 = require("@wordpress/i18n");
7029
7596
 
7030
7597
  // src/controls/transform-control/transform-base-controls/children-perspective-control.tsx
7031
- var React102 = __toESM(require("react"));
7032
- var import_react60 = require("react");
7598
+ var React106 = __toESM(require("react"));
7599
+ var import_react61 = require("react");
7033
7600
  var import_editor_props52 = require("@elementor/editor-props");
7034
- var import_ui86 = require("@elementor/ui");
7035
- var import_i18n48 = require("@wordpress/i18n");
7601
+ var import_ui89 = require("@elementor/ui");
7602
+ var import_i18n51 = require("@wordpress/i18n");
7036
7603
  var ORIGIN_UNITS = ["px", "%", "em", "rem"];
7037
7604
  var PERSPECTIVE_CONTROL_FIELD = {
7038
- label: (0, import_i18n48.__)("Perspective", "elementor"),
7605
+ label: (0, import_i18n51.__)("Perspective", "elementor"),
7039
7606
  bind: "perspective",
7040
7607
  units: ["px", "em", "rem", "vw", "vh"]
7041
7608
  };
7042
7609
  var CHILDREN_PERSPECTIVE_FIELDS = [
7043
7610
  {
7044
- label: (0, import_i18n48.__)("Origin X", "elementor"),
7611
+ label: (0, import_i18n51.__)("Origin X", "elementor"),
7045
7612
  bind: "x",
7046
7613
  units: ORIGIN_UNITS
7047
7614
  },
7048
7615
  {
7049
- label: (0, import_i18n48.__)("Origin Y", "elementor"),
7616
+ label: (0, import_i18n51.__)("Origin Y", "elementor"),
7050
7617
  bind: "y",
7051
7618
  units: ORIGIN_UNITS
7052
7619
  }
7053
7620
  ];
7054
7621
  var ChildrenPerspectiveControl = () => {
7055
- return /* @__PURE__ */ React102.createElement(import_ui86.Stack, { direction: "column", spacing: 1.5 }, /* @__PURE__ */ React102.createElement(ControlFormLabel, null, (0, import_i18n48.__)("Children perspective", "elementor")), /* @__PURE__ */ React102.createElement(PerspectiveControl, null), /* @__PURE__ */ React102.createElement(PerspectiveOriginControl, null));
7622
+ return /* @__PURE__ */ React106.createElement(import_ui89.Stack, { direction: "column", spacing: 1.5 }, /* @__PURE__ */ React106.createElement(ControlFormLabel, null, (0, import_i18n51.__)("Children perspective", "elementor")), /* @__PURE__ */ React106.createElement(PerspectiveControl, null), /* @__PURE__ */ React106.createElement(PerspectiveOriginControl, null));
7056
7623
  };
7057
- var PerspectiveControl = () => /* @__PURE__ */ React102.createElement(PropKeyProvider, { bind: "perspective" }, /* @__PURE__ */ React102.createElement(ControlFields, { control: PERSPECTIVE_CONTROL_FIELD, key: PERSPECTIVE_CONTROL_FIELD.bind }));
7058
- var PerspectiveOriginControl = () => /* @__PURE__ */ React102.createElement(PropKeyProvider, { bind: "perspective-origin" }, /* @__PURE__ */ React102.createElement(PerspectiveOriginControlProvider, null));
7624
+ var PerspectiveControl = () => /* @__PURE__ */ React106.createElement(PropKeyProvider, { bind: "perspective" }, /* @__PURE__ */ React106.createElement(ControlFields, { control: PERSPECTIVE_CONTROL_FIELD, key: PERSPECTIVE_CONTROL_FIELD.bind }));
7625
+ var PerspectiveOriginControl = () => /* @__PURE__ */ React106.createElement(PropKeyProvider, { bind: "perspective-origin" }, /* @__PURE__ */ React106.createElement(PerspectiveOriginControlProvider, null));
7059
7626
  var PerspectiveOriginControlProvider = () => {
7060
7627
  const context = useBoundProp(import_editor_props52.perspectiveOriginPropTypeUtil);
7061
- return /* @__PURE__ */ React102.createElement(PropProvider, { ...context }, CHILDREN_PERSPECTIVE_FIELDS.map((control) => /* @__PURE__ */ React102.createElement(PropKeyProvider, { bind: control.bind, key: control.bind }, /* @__PURE__ */ React102.createElement(ControlFields, { control }))));
7628
+ return /* @__PURE__ */ React106.createElement(PropProvider, { ...context }, CHILDREN_PERSPECTIVE_FIELDS.map((control) => /* @__PURE__ */ React106.createElement(PropKeyProvider, { bind: control.bind, key: control.bind }, /* @__PURE__ */ React106.createElement(ControlFields, { control }))));
7062
7629
  };
7063
7630
  var ControlFields = ({ control }) => {
7064
- const rowRef = (0, import_react60.useRef)(null);
7065
- return /* @__PURE__ */ React102.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React102.createElement(import_ui86.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React102.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React102.createElement(import_ui86.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React102.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef, disableCustom: true })));
7631
+ const rowRef = (0, import_react61.useRef)(null);
7632
+ return /* @__PURE__ */ React106.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React106.createElement(import_ui89.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React106.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React106.createElement(import_ui89.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React106.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef, disableCustom: true })));
7066
7633
  };
7067
7634
 
7068
7635
  // src/controls/transform-control/transform-base-controls/transform-origin-control.tsx
7069
- var React103 = __toESM(require("react"));
7070
- var import_react61 = require("react");
7636
+ var React107 = __toESM(require("react"));
7637
+ var import_react62 = require("react");
7071
7638
  var import_editor_props53 = require("@elementor/editor-props");
7072
- var import_ui87 = require("@elementor/ui");
7073
- var import_i18n49 = require("@wordpress/i18n");
7639
+ var import_ui90 = require("@elementor/ui");
7640
+ var import_i18n52 = require("@wordpress/i18n");
7074
7641
  var TRANSFORM_ORIGIN_UNITS = ["px", "%", "em", "rem"];
7075
7642
  var TRANSFORM_ORIGIN_UNITS_Z_AXIS = TRANSFORM_ORIGIN_UNITS.filter((unit) => unit !== "%");
7076
7643
  var TRANSFORM_ORIGIN_FIELDS = [
7077
7644
  {
7078
- label: (0, import_i18n49.__)("Origin X", "elementor"),
7645
+ label: (0, import_i18n52.__)("Origin X", "elementor"),
7079
7646
  bind: "x",
7080
7647
  units: TRANSFORM_ORIGIN_UNITS
7081
7648
  },
7082
7649
  {
7083
- label: (0, import_i18n49.__)("Origin Y", "elementor"),
7650
+ label: (0, import_i18n52.__)("Origin Y", "elementor"),
7084
7651
  bind: "y",
7085
7652
  units: TRANSFORM_ORIGIN_UNITS
7086
7653
  },
7087
7654
  {
7088
- label: (0, import_i18n49.__)("Origin Z", "elementor"),
7655
+ label: (0, import_i18n52.__)("Origin Z", "elementor"),
7089
7656
  bind: "z",
7090
7657
  units: TRANSFORM_ORIGIN_UNITS_Z_AXIS
7091
7658
  }
7092
7659
  ];
7093
7660
  var TransformOriginControl = () => {
7094
- return /* @__PURE__ */ React103.createElement(import_ui87.Stack, { direction: "column", spacing: 1.5 }, /* @__PURE__ */ React103.createElement(ControlFormLabel, null, (0, import_i18n49.__)("Transform", "elementor")), TRANSFORM_ORIGIN_FIELDS.map((control) => /* @__PURE__ */ React103.createElement(ControlFields2, { control, key: control.bind })));
7661
+ return /* @__PURE__ */ React107.createElement(import_ui90.Stack, { direction: "column", spacing: 1.5 }, /* @__PURE__ */ React107.createElement(ControlFormLabel, null, (0, import_i18n52.__)("Transform", "elementor")), TRANSFORM_ORIGIN_FIELDS.map((control) => /* @__PURE__ */ React107.createElement(ControlFields2, { control, key: control.bind })));
7095
7662
  };
7096
7663
  var ControlFields2 = ({ control }) => {
7097
7664
  const context = useBoundProp(import_editor_props53.transformOriginPropTypeUtil);
7098
- const rowRef = (0, import_react61.useRef)(null);
7099
- return /* @__PURE__ */ React103.createElement(PropProvider, { ...context }, /* @__PURE__ */ React103.createElement(PropKeyProvider, { bind: control.bind }, /* @__PURE__ */ React103.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React103.createElement(import_ui87.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React103.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React103.createElement(import_ui87.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React103.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef })))));
7665
+ const rowRef = (0, import_react62.useRef)(null);
7666
+ return /* @__PURE__ */ React107.createElement(PropProvider, { ...context }, /* @__PURE__ */ React107.createElement(PropKeyProvider, { bind: control.bind }, /* @__PURE__ */ React107.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React107.createElement(import_ui90.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React107.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React107.createElement(import_ui90.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React107.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef })))));
7100
7667
  };
7101
7668
 
7102
7669
  // src/controls/transform-control/transform-settings-control.tsx
@@ -7106,12 +7673,12 @@ var TransformSettingsControl = ({
7106
7673
  anchorRef,
7107
7674
  showChildrenPerspective
7108
7675
  }) => {
7109
- const popupProps = (0, import_ui88.bindPopover)({
7676
+ const popupProps = (0, import_ui91.bindPopover)({
7110
7677
  ...popupState,
7111
7678
  anchorEl: anchorRef.current ?? void 0
7112
7679
  });
7113
- return /* @__PURE__ */ React104.createElement(
7114
- import_ui88.Popover,
7680
+ return /* @__PURE__ */ React108.createElement(
7681
+ import_ui91.Popover,
7115
7682
  {
7116
7683
  disablePortal: true,
7117
7684
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
@@ -7125,16 +7692,16 @@ var TransformSettingsControl = ({
7125
7692
  },
7126
7693
  ...popupProps
7127
7694
  },
7128
- /* @__PURE__ */ React104.createElement(
7129
- import_editor_ui13.PopoverHeader,
7695
+ /* @__PURE__ */ React108.createElement(
7696
+ import_editor_ui14.PopoverHeader,
7130
7697
  {
7131
- title: (0, import_i18n50.__)("Transform settings", "elementor"),
7698
+ title: (0, import_i18n53.__)("Transform settings", "elementor"),
7132
7699
  onClose: popupState.close,
7133
- icon: /* @__PURE__ */ React104.createElement(import_icons33.AdjustmentsIcon, { fontSize: SIZE10 })
7700
+ icon: /* @__PURE__ */ React108.createElement(import_icons34.AdjustmentsIcon, { fontSize: SIZE10 })
7134
7701
  }
7135
7702
  ),
7136
- /* @__PURE__ */ React104.createElement(import_ui88.Divider, null),
7137
- /* @__PURE__ */ React104.createElement(PopoverContent, { sx: { px: 2, py: 1.5 } }, /* @__PURE__ */ React104.createElement(PropKeyProvider, { bind: "transform-origin" }, /* @__PURE__ */ React104.createElement(TransformOriginControl, null)), showChildrenPerspective && /* @__PURE__ */ React104.createElement(React104.Fragment, null, /* @__PURE__ */ React104.createElement(import_ui88.Box, { sx: { my: 0.5 } }, /* @__PURE__ */ React104.createElement(import_ui88.Divider, null)), /* @__PURE__ */ React104.createElement(ChildrenPerspectiveControl, null)))
7703
+ /* @__PURE__ */ React108.createElement(import_ui91.Divider, null),
7704
+ /* @__PURE__ */ React108.createElement(PopoverContent, { sx: { px: 2, py: 1.5 } }, /* @__PURE__ */ React108.createElement(PropKeyProvider, { bind: "transform-origin" }, /* @__PURE__ */ React108.createElement(TransformOriginControl, null)), showChildrenPerspective && /* @__PURE__ */ React108.createElement(React108.Fragment, null, /* @__PURE__ */ React108.createElement(import_ui91.Box, { sx: { my: 0.5 } }, /* @__PURE__ */ React108.createElement(import_ui91.Divider, null)), /* @__PURE__ */ React108.createElement(ChildrenPerspectiveControl, null)))
7138
7705
  );
7139
7706
  };
7140
7707
 
@@ -7143,27 +7710,27 @@ var SIZE11 = "tiny";
7143
7710
  var TransformRepeaterControl = createControl(
7144
7711
  ({ showChildrenPerspective }) => {
7145
7712
  const context = useBoundProp(import_editor_props54.transformPropTypeUtil);
7146
- const headerRef = (0, import_react62.useRef)(null);
7147
- const popupState = (0, import_ui89.usePopupState)({ variant: "popover" });
7148
- return /* @__PURE__ */ React105.createElement(PropProvider, { ...context }, /* @__PURE__ */ React105.createElement(
7713
+ const headerRef = (0, import_react63.useRef)(null);
7714
+ const popupState = (0, import_ui92.usePopupState)({ variant: "popover" });
7715
+ return /* @__PURE__ */ React109.createElement(PropProvider, { ...context }, /* @__PURE__ */ React109.createElement(
7149
7716
  TransformSettingsControl,
7150
7717
  {
7151
7718
  popupState,
7152
7719
  anchorRef: headerRef,
7153
7720
  showChildrenPerspective
7154
7721
  }
7155
- ), /* @__PURE__ */ React105.createElement(PropKeyProvider, { bind: "transform-functions" }, /* @__PURE__ */ React105.createElement(Repeater2, { headerRef, propType: context.propType, popupState })));
7722
+ ), /* @__PURE__ */ React109.createElement(PropKeyProvider, { bind: "transform-functions" }, /* @__PURE__ */ React109.createElement(Repeater2, { headerRef, propType: context.propType, popupState })));
7156
7723
  }
7157
7724
  );
7158
- var ToolTip = /* @__PURE__ */ React105.createElement(
7159
- import_ui89.Box,
7725
+ var ToolTip = /* @__PURE__ */ React109.createElement(
7726
+ import_ui92.Box,
7160
7727
  {
7161
7728
  component: "span",
7162
7729
  "aria-label": void 0,
7163
7730
  sx: { display: "flex", gap: 0.5, p: 2, width: 320, borderRadius: 1 }
7164
7731
  },
7165
- /* @__PURE__ */ React105.createElement(import_icons34.InfoCircleFilledIcon, { sx: { color: "secondary.main" } }),
7166
- /* @__PURE__ */ React105.createElement(import_ui89.Typography, { variant: "body2", color: "text.secondary", fontSize: "14px" }, (0, import_i18n51.__)("You can use each kind of transform only once per element.", "elementor"))
7732
+ /* @__PURE__ */ React109.createElement(import_icons35.InfoCircleFilledIcon, { sx: { color: "secondary.main" } }),
7733
+ /* @__PURE__ */ React109.createElement(import_ui92.Typography, { variant: "body2", color: "text.secondary", fontSize: "14px" }, (0, import_i18n54.__)("You can use each kind of transform only once per element.", "elementor"))
7167
7734
  );
7168
7735
  var Repeater2 = ({
7169
7736
  headerRef,
@@ -7177,21 +7744,21 @@ var Repeater2 = ({
7177
7744
  return availableValues.find((value) => !transformValues?.some((item) => item.$$type === value.$$type));
7178
7745
  };
7179
7746
  const shouldDisableAddItem = !getInitialValue2();
7180
- return /* @__PURE__ */ React105.createElement(PropProvider, { ...transformFunctionsContext }, /* @__PURE__ */ React105.createElement(
7747
+ return /* @__PURE__ */ React109.createElement(PropProvider, { ...transformFunctionsContext }, /* @__PURE__ */ React109.createElement(
7181
7748
  ControlRepeater,
7182
7749
  {
7183
7750
  initial: getInitialValue2() ?? initialTransformValue,
7184
7751
  propTypeUtil: import_editor_props54.transformFunctionsPropTypeUtil
7185
7752
  },
7186
- /* @__PURE__ */ React105.createElement(
7753
+ /* @__PURE__ */ React109.createElement(
7187
7754
  RepeaterHeader,
7188
7755
  {
7189
- label: (0, import_i18n51.__)("Transform", "elementor"),
7190
- adornment: () => /* @__PURE__ */ React105.createElement(ControlAdornments, { customContext: { path: ["transform"], propType } }),
7756
+ label: (0, import_i18n54.__)("Transform", "elementor"),
7757
+ adornment: () => /* @__PURE__ */ React109.createElement(ControlAdornments, { customContext: { path: ["transform"], propType } }),
7191
7758
  ref: headerRef
7192
7759
  },
7193
- /* @__PURE__ */ React105.createElement(TransformBasePopoverTrigger, { popupState, repeaterBindKey: bind }),
7194
- /* @__PURE__ */ React105.createElement(
7760
+ /* @__PURE__ */ React109.createElement(TransformBasePopoverTrigger, { popupState, repeaterBindKey: bind }),
7761
+ /* @__PURE__ */ React109.createElement(
7195
7762
  TooltipAddItemAction,
7196
7763
  {
7197
7764
  disabled: shouldDisableAddItem,
@@ -7201,15 +7768,15 @@ var Repeater2 = ({
7201
7768
  }
7202
7769
  )
7203
7770
  ),
7204
- /* @__PURE__ */ React105.createElement(ItemsContainer, null, /* @__PURE__ */ React105.createElement(
7771
+ /* @__PURE__ */ React109.createElement(ItemsContainer, null, /* @__PURE__ */ React109.createElement(
7205
7772
  Item,
7206
7773
  {
7207
7774
  Icon: TransformIcon,
7208
7775
  Label: TransformLabel,
7209
- actions: /* @__PURE__ */ React105.createElement(React105.Fragment, null, /* @__PURE__ */ React105.createElement(DisableItemAction, null), /* @__PURE__ */ React105.createElement(RemoveItemAction, null))
7776
+ actions: /* @__PURE__ */ React109.createElement(React109.Fragment, null, /* @__PURE__ */ React109.createElement(DisableItemAction, null), /* @__PURE__ */ React109.createElement(RemoveItemAction, null))
7210
7777
  }
7211
7778
  )),
7212
- /* @__PURE__ */ React105.createElement(EditItemPopover, null, /* @__PURE__ */ React105.createElement(TransformContent, null))
7779
+ /* @__PURE__ */ React109.createElement(EditItemPopover, null, /* @__PURE__ */ React109.createElement(TransformContent, null))
7213
7780
  ));
7214
7781
  };
7215
7782
  var TransformBasePopoverTrigger = ({
@@ -7217,30 +7784,30 @@ var TransformBasePopoverTrigger = ({
7217
7784
  repeaterBindKey
7218
7785
  }) => {
7219
7786
  const { bind } = useBoundProp();
7220
- const titleLabel = (0, import_i18n51.__)("Transform settings", "elementor");
7221
- return bind !== repeaterBindKey ? null : /* @__PURE__ */ React105.createElement(import_ui89.Tooltip, { title: titleLabel, placement: "top" }, /* @__PURE__ */ React105.createElement(import_ui89.IconButton, { size: SIZE11, "aria-label": titleLabel, ...(0, import_ui89.bindTrigger)(popupState) }, /* @__PURE__ */ React105.createElement(import_icons34.AdjustmentsIcon, { fontSize: SIZE11 })));
7787
+ const titleLabel = (0, import_i18n54.__)("Transform settings", "elementor");
7788
+ return bind !== repeaterBindKey ? null : /* @__PURE__ */ React109.createElement(import_ui92.Tooltip, { title: titleLabel, placement: "top" }, /* @__PURE__ */ React109.createElement(import_ui92.IconButton, { size: SIZE11, "aria-label": titleLabel, ...(0, import_ui92.bindTrigger)(popupState) }, /* @__PURE__ */ React109.createElement(import_icons35.AdjustmentsIcon, { fontSize: SIZE11 })));
7222
7789
  };
7223
7790
 
7224
7791
  // src/controls/transition-control/transition-repeater-control.tsx
7225
- var React108 = __toESM(require("react"));
7226
- var import_react65 = require("react");
7792
+ var React112 = __toESM(require("react"));
7793
+ var import_react66 = require("react");
7227
7794
  var import_editor_props57 = require("@elementor/editor-props");
7228
- var import_icons36 = require("@elementor/icons");
7229
- var import_ui92 = require("@elementor/ui");
7230
- var import_utils7 = require("@elementor/utils");
7231
- var import_i18n54 = require("@wordpress/i18n");
7795
+ var import_icons37 = require("@elementor/icons");
7796
+ var import_ui95 = require("@elementor/ui");
7797
+ var import_utils8 = require("@elementor/utils");
7798
+ var import_i18n57 = require("@wordpress/i18n");
7232
7799
 
7233
7800
  // src/controls/selection-size-control.tsx
7234
- var React106 = __toESM(require("react"));
7235
- var import_react63 = require("react");
7801
+ var React110 = __toESM(require("react"));
7802
+ var import_react64 = require("react");
7236
7803
  var import_editor_props55 = require("@elementor/editor-props");
7237
- var import_ui90 = require("@elementor/ui");
7804
+ var import_ui93 = require("@elementor/ui");
7238
7805
  var SelectionSizeControl = createControl(
7239
7806
  ({ selectionLabel, sizeLabel, selectionConfig, sizeConfigMap }) => {
7240
7807
  const { value, setValue, propType } = useBoundProp(import_editor_props55.selectionSizePropTypeUtil);
7241
- const rowRef = (0, import_react63.useRef)(null);
7808
+ const rowRef = (0, import_react64.useRef)(null);
7242
7809
  const sizeFieldId = sizeLabel.replace(/\s+/g, "-").toLowerCase();
7243
- const currentSizeConfig = (0, import_react63.useMemo)(() => {
7810
+ const currentSizeConfig = (0, import_react64.useMemo)(() => {
7244
7811
  switch (value.selection.$$type) {
7245
7812
  case "key-value":
7246
7813
  return sizeConfigMap[value?.selection?.value.value.value || ""];
@@ -7251,7 +7818,7 @@ var SelectionSizeControl = createControl(
7251
7818
  }
7252
7819
  }, [value, sizeConfigMap]);
7253
7820
  const SelectionComponent = selectionConfig.component;
7254
- return /* @__PURE__ */ React106.createElement(PropProvider, { value, setValue, propType }, /* @__PURE__ */ React106.createElement(import_ui90.Grid, { container: true, spacing: 1.5, ref: rowRef }, /* @__PURE__ */ React106.createElement(import_ui90.Grid, { item: true, xs: 6, sx: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React106.createElement(ControlFormLabel, null, selectionLabel)), /* @__PURE__ */ React106.createElement(import_ui90.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React106.createElement(PropKeyProvider, { bind: "selection" }, /* @__PURE__ */ React106.createElement(SelectionComponent, { ...selectionConfig.props }))), currentSizeConfig && /* @__PURE__ */ React106.createElement(React106.Fragment, null, /* @__PURE__ */ React106.createElement(import_ui90.Grid, { item: true, xs: 6, sx: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React106.createElement(ControlFormLabel, { htmlFor: sizeFieldId }, sizeLabel)), /* @__PURE__ */ React106.createElement(import_ui90.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React106.createElement(PropKeyProvider, { bind: "size" }, /* @__PURE__ */ React106.createElement(
7821
+ return /* @__PURE__ */ React110.createElement(PropProvider, { value, setValue, propType }, /* @__PURE__ */ React110.createElement(import_ui93.Grid, { container: true, spacing: 1.5, ref: rowRef }, /* @__PURE__ */ React110.createElement(import_ui93.Grid, { item: true, xs: 6, sx: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React110.createElement(ControlFormLabel, null, selectionLabel)), /* @__PURE__ */ React110.createElement(import_ui93.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React110.createElement(PropKeyProvider, { bind: "selection" }, /* @__PURE__ */ React110.createElement(SelectionComponent, { ...selectionConfig.props }))), currentSizeConfig && /* @__PURE__ */ React110.createElement(React110.Fragment, null, /* @__PURE__ */ React110.createElement(import_ui93.Grid, { item: true, xs: 6, sx: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React110.createElement(ControlFormLabel, { htmlFor: sizeFieldId }, sizeLabel)), /* @__PURE__ */ React110.createElement(import_ui93.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React110.createElement(PropKeyProvider, { bind: "size" }, /* @__PURE__ */ React110.createElement(
7255
7822
  SizeControl,
7256
7823
  {
7257
7824
  anchorRef: rowRef,
@@ -7265,13 +7832,13 @@ var SelectionSizeControl = createControl(
7265
7832
  );
7266
7833
 
7267
7834
  // src/controls/transition-control/data.ts
7268
- var import_utils6 = require("@elementor/utils");
7269
- var import_i18n52 = require("@wordpress/i18n");
7835
+ var import_utils7 = require("@elementor/utils");
7836
+ var import_i18n55 = require("@wordpress/i18n");
7270
7837
  var initialTransitionValue = {
7271
7838
  selection: {
7272
7839
  $$type: "key-value",
7273
7840
  value: {
7274
- key: { value: (0, import_i18n52.__)("All properties", "elementor"), $$type: "string" },
7841
+ key: { value: (0, import_i18n55.__)("All properties", "elementor"), $$type: "string" },
7275
7842
  value: { value: "all", $$type: "string" }
7276
7843
  }
7277
7844
  },
@@ -7282,141 +7849,141 @@ var getIsSiteRtl = () => {
7282
7849
  return !!window.elementorFrontend?.config?.is_rtl;
7283
7850
  };
7284
7851
  var shouldShowAllTransitionProperties = () => {
7285
- if (!(0, import_utils6.hasProInstalled)()) {
7852
+ if (!(0, import_utils7.hasProInstalled)()) {
7286
7853
  return true;
7287
7854
  }
7288
7855
  const proVersion = window.elementorPro?.config?.version;
7289
7856
  if (!proVersion) {
7290
7857
  return false;
7291
7858
  }
7292
- return (0, import_utils6.isVersionGreaterOrEqual)(proVersion, MIN_PRO_VERSION);
7859
+ return (0, import_utils7.isVersionGreaterOrEqual)(proVersion, MIN_PRO_VERSION);
7293
7860
  };
7294
7861
  var createTransitionPropertiesList = () => {
7295
7862
  const isSiteRtl = getIsSiteRtl();
7296
7863
  const baseProperties = [
7297
7864
  {
7298
- label: (0, import_i18n52.__)("Default", "elementor"),
7865
+ label: (0, import_i18n55.__)("Default", "elementor"),
7299
7866
  type: "category",
7300
- properties: [{ label: (0, import_i18n52.__)("All properties", "elementor"), value: "all" }]
7867
+ properties: [{ label: (0, import_i18n55.__)("All properties", "elementor"), value: "all" }]
7301
7868
  },
7302
7869
  {
7303
- label: (0, import_i18n52.__)("Margin", "elementor"),
7870
+ label: (0, import_i18n55.__)("Margin", "elementor"),
7304
7871
  type: "category",
7305
7872
  properties: [
7306
- { label: (0, import_i18n52.__)("Margin (all)", "elementor"), value: "margin", isDisabled: true },
7307
- { label: (0, import_i18n52.__)("Margin bottom", "elementor"), value: "margin-block-end", isDisabled: true },
7873
+ { label: (0, import_i18n55.__)("Margin (all)", "elementor"), value: "margin", isDisabled: true },
7874
+ { label: (0, import_i18n55.__)("Margin bottom", "elementor"), value: "margin-block-end", isDisabled: true },
7308
7875
  {
7309
- label: isSiteRtl ? (0, import_i18n52.__)("Margin right", "elementor") : (0, import_i18n52.__)("Margin left", "elementor"),
7876
+ label: isSiteRtl ? (0, import_i18n55.__)("Margin right", "elementor") : (0, import_i18n55.__)("Margin left", "elementor"),
7310
7877
  value: "margin-inline-start",
7311
7878
  isDisabled: true
7312
7879
  },
7313
7880
  {
7314
- label: isSiteRtl ? (0, import_i18n52.__)("Margin left", "elementor") : (0, import_i18n52.__)("Margin right", "elementor"),
7881
+ label: isSiteRtl ? (0, import_i18n55.__)("Margin left", "elementor") : (0, import_i18n55.__)("Margin right", "elementor"),
7315
7882
  value: "margin-inline-end",
7316
7883
  isDisabled: true
7317
7884
  },
7318
- { label: (0, import_i18n52.__)("Margin top", "elementor"), value: "margin-block-start", isDisabled: true }
7885
+ { label: (0, import_i18n55.__)("Margin top", "elementor"), value: "margin-block-start", isDisabled: true }
7319
7886
  ]
7320
7887
  },
7321
7888
  {
7322
- label: (0, import_i18n52.__)("Padding", "elementor"),
7889
+ label: (0, import_i18n55.__)("Padding", "elementor"),
7323
7890
  type: "category",
7324
7891
  properties: [
7325
- { label: (0, import_i18n52.__)("Padding (all)", "elementor"), value: "padding", isDisabled: true },
7326
- { label: (0, import_i18n52.__)("Padding bottom", "elementor"), value: "padding-block-end", isDisabled: true },
7892
+ { label: (0, import_i18n55.__)("Padding (all)", "elementor"), value: "padding", isDisabled: true },
7893
+ { label: (0, import_i18n55.__)("Padding bottom", "elementor"), value: "padding-block-end", isDisabled: true },
7327
7894
  {
7328
- label: isSiteRtl ? (0, import_i18n52.__)("Padding right", "elementor") : (0, import_i18n52.__)("Padding left", "elementor"),
7895
+ label: isSiteRtl ? (0, import_i18n55.__)("Padding right", "elementor") : (0, import_i18n55.__)("Padding left", "elementor"),
7329
7896
  value: "padding-inline-start",
7330
7897
  isDisabled: true
7331
7898
  },
7332
7899
  {
7333
- label: isSiteRtl ? (0, import_i18n52.__)("Padding left", "elementor") : (0, import_i18n52.__)("Padding right", "elementor"),
7900
+ label: isSiteRtl ? (0, import_i18n55.__)("Padding left", "elementor") : (0, import_i18n55.__)("Padding right", "elementor"),
7334
7901
  value: "padding-inline-end",
7335
7902
  isDisabled: true
7336
7903
  },
7337
- { label: (0, import_i18n52.__)("Padding top", "elementor"), value: "padding-block-start", isDisabled: true }
7904
+ { label: (0, import_i18n55.__)("Padding top", "elementor"), value: "padding-block-start", isDisabled: true }
7338
7905
  ]
7339
7906
  },
7340
7907
  {
7341
- label: (0, import_i18n52.__)("Flex", "elementor"),
7908
+ label: (0, import_i18n55.__)("Flex", "elementor"),
7342
7909
  type: "category",
7343
7910
  properties: [
7344
- { label: (0, import_i18n52.__)("Flex (all)", "elementor"), value: "flex", isDisabled: true },
7345
- { label: (0, import_i18n52.__)("Flex grow", "elementor"), value: "flex-grow", isDisabled: true },
7346
- { label: (0, import_i18n52.__)("Flex shrink", "elementor"), value: "flex-shrink", isDisabled: true },
7347
- { label: (0, import_i18n52.__)("Flex basis", "elementor"), value: "flex-basis", isDisabled: true }
7911
+ { label: (0, import_i18n55.__)("Flex (all)", "elementor"), value: "flex", isDisabled: true },
7912
+ { label: (0, import_i18n55.__)("Flex grow", "elementor"), value: "flex-grow", isDisabled: true },
7913
+ { label: (0, import_i18n55.__)("Flex shrink", "elementor"), value: "flex-shrink", isDisabled: true },
7914
+ { label: (0, import_i18n55.__)("Flex basis", "elementor"), value: "flex-basis", isDisabled: true }
7348
7915
  ]
7349
7916
  },
7350
7917
  {
7351
- label: (0, import_i18n52.__)("Size", "elementor"),
7918
+ label: (0, import_i18n55.__)("Size", "elementor"),
7352
7919
  type: "category",
7353
7920
  properties: [
7354
- { label: (0, import_i18n52.__)("Width", "elementor"), value: "width", isDisabled: true },
7355
- { label: (0, import_i18n52.__)("Height", "elementor"), value: "height", isDisabled: true },
7356
- { label: (0, import_i18n52.__)("Max height", "elementor"), value: "max-height", isDisabled: true },
7357
- { label: (0, import_i18n52.__)("Max width", "elementor"), value: "max-width", isDisabled: true },
7358
- { label: (0, import_i18n52.__)("Min height", "elementor"), value: "min-height", isDisabled: true },
7359
- { label: (0, import_i18n52.__)("Min width", "elementor"), value: "min-width", isDisabled: true }
7921
+ { label: (0, import_i18n55.__)("Width", "elementor"), value: "width", isDisabled: true },
7922
+ { label: (0, import_i18n55.__)("Height", "elementor"), value: "height", isDisabled: true },
7923
+ { label: (0, import_i18n55.__)("Max height", "elementor"), value: "max-height", isDisabled: true },
7924
+ { label: (0, import_i18n55.__)("Max width", "elementor"), value: "max-width", isDisabled: true },
7925
+ { label: (0, import_i18n55.__)("Min height", "elementor"), value: "min-height", isDisabled: true },
7926
+ { label: (0, import_i18n55.__)("Min width", "elementor"), value: "min-width", isDisabled: true }
7360
7927
  ]
7361
7928
  },
7362
7929
  {
7363
- label: (0, import_i18n52.__)("Position", "elementor"),
7930
+ label: (0, import_i18n55.__)("Position", "elementor"),
7364
7931
  type: "category",
7365
7932
  properties: [
7366
- { label: (0, import_i18n52.__)("Top", "elementor"), value: "inset-block-start", isDisabled: true },
7933
+ { label: (0, import_i18n55.__)("Top", "elementor"), value: "inset-block-start", isDisabled: true },
7367
7934
  {
7368
- label: isSiteRtl ? (0, import_i18n52.__)("Right", "elementor") : (0, import_i18n52.__)("Left", "elementor"),
7935
+ label: isSiteRtl ? (0, import_i18n55.__)("Right", "elementor") : (0, import_i18n55.__)("Left", "elementor"),
7369
7936
  value: "inset-inline-start",
7370
7937
  isDisabled: true
7371
7938
  },
7372
7939
  {
7373
- label: isSiteRtl ? (0, import_i18n52.__)("Left", "elementor") : (0, import_i18n52.__)("Right", "elementor"),
7940
+ label: isSiteRtl ? (0, import_i18n55.__)("Left", "elementor") : (0, import_i18n55.__)("Right", "elementor"),
7374
7941
  value: "inset-inline-end",
7375
7942
  isDisabled: true
7376
7943
  },
7377
- { label: (0, import_i18n52.__)("Bottom", "elementor"), value: "inset-block-end", isDisabled: true },
7378
- { label: (0, import_i18n52.__)("Z-index", "elementor"), value: "z-index", isDisabled: true }
7944
+ { label: (0, import_i18n55.__)("Bottom", "elementor"), value: "inset-block-end", isDisabled: true },
7945
+ { label: (0, import_i18n55.__)("Z-index", "elementor"), value: "z-index", isDisabled: true }
7379
7946
  ]
7380
7947
  },
7381
7948
  {
7382
- label: (0, import_i18n52.__)("Typography", "elementor"),
7949
+ label: (0, import_i18n55.__)("Typography", "elementor"),
7383
7950
  type: "category",
7384
7951
  properties: [
7385
- { label: (0, import_i18n52.__)("Font color", "elementor"), value: "color", isDisabled: true },
7386
- { label: (0, import_i18n52.__)("Font size", "elementor"), value: "font-size", isDisabled: true },
7387
- { label: (0, import_i18n52.__)("Line height", "elementor"), value: "line-height", isDisabled: true },
7388
- { label: (0, import_i18n52.__)("Letter spacing", "elementor"), value: "letter-spacing", isDisabled: true },
7389
- { label: (0, import_i18n52.__)("Word spacing", "elementor"), value: "word-spacing", isDisabled: true },
7390
- { label: (0, import_i18n52.__)("Font variations", "elementor"), value: "font-variation-settings", isDisabled: true },
7391
- { label: (0, import_i18n52.__)("Text stroke color", "elementor"), value: "-webkit-text-stroke-color", isDisabled: true }
7952
+ { label: (0, import_i18n55.__)("Font color", "elementor"), value: "color", isDisabled: true },
7953
+ { label: (0, import_i18n55.__)("Font size", "elementor"), value: "font-size", isDisabled: true },
7954
+ { label: (0, import_i18n55.__)("Line height", "elementor"), value: "line-height", isDisabled: true },
7955
+ { label: (0, import_i18n55.__)("Letter spacing", "elementor"), value: "letter-spacing", isDisabled: true },
7956
+ { label: (0, import_i18n55.__)("Word spacing", "elementor"), value: "word-spacing", isDisabled: true },
7957
+ { label: (0, import_i18n55.__)("Font variations", "elementor"), value: "font-variation-settings", isDisabled: true },
7958
+ { label: (0, import_i18n55.__)("Text stroke color", "elementor"), value: "-webkit-text-stroke-color", isDisabled: true }
7392
7959
  ]
7393
7960
  },
7394
7961
  {
7395
- label: (0, import_i18n52.__)("Background", "elementor"),
7962
+ label: (0, import_i18n55.__)("Background", "elementor"),
7396
7963
  type: "category",
7397
7964
  properties: [
7398
- { label: (0, import_i18n52.__)("Background color", "elementor"), value: "background-color", isDisabled: true },
7399
- { label: (0, import_i18n52.__)("Background position", "elementor"), value: "background-position", isDisabled: true },
7400
- { label: (0, import_i18n52.__)("Box shadow", "elementor"), value: "box-shadow", isDisabled: true }
7965
+ { label: (0, import_i18n55.__)("Background color", "elementor"), value: "background-color", isDisabled: true },
7966
+ { label: (0, import_i18n55.__)("Background position", "elementor"), value: "background-position", isDisabled: true },
7967
+ { label: (0, import_i18n55.__)("Box shadow", "elementor"), value: "box-shadow", isDisabled: true }
7401
7968
  ]
7402
7969
  },
7403
7970
  {
7404
- label: (0, import_i18n52.__)("Border", "elementor"),
7971
+ label: (0, import_i18n55.__)("Border", "elementor"),
7405
7972
  type: "category",
7406
7973
  properties: [
7407
- { label: (0, import_i18n52.__)("Border (all)", "elementor"), value: "border", isDisabled: true },
7408
- { label: (0, import_i18n52.__)("Border radius", "elementor"), value: "border-radius", isDisabled: true },
7409
- { label: (0, import_i18n52.__)("Border color", "elementor"), value: "border-color", isDisabled: true },
7410
- { label: (0, import_i18n52.__)("Border width", "elementor"), value: "border-width", isDisabled: true }
7974
+ { label: (0, import_i18n55.__)("Border (all)", "elementor"), value: "border", isDisabled: true },
7975
+ { label: (0, import_i18n55.__)("Border radius", "elementor"), value: "border-radius", isDisabled: true },
7976
+ { label: (0, import_i18n55.__)("Border color", "elementor"), value: "border-color", isDisabled: true },
7977
+ { label: (0, import_i18n55.__)("Border width", "elementor"), value: "border-width", isDisabled: true }
7411
7978
  ]
7412
7979
  },
7413
7980
  {
7414
- label: (0, import_i18n52.__)("Effects", "elementor"),
7981
+ label: (0, import_i18n55.__)("Effects", "elementor"),
7415
7982
  type: "category",
7416
7983
  properties: [
7417
- { label: (0, import_i18n52.__)("Opacity", "elementor"), value: "opacity", isDisabled: true },
7418
- { label: (0, import_i18n52.__)("Transform (all)", "elementor"), value: "transform", isDisabled: true },
7419
- { label: (0, import_i18n52.__)("Filter (all)", "elementor"), value: "filter", isDisabled: true }
7984
+ { label: (0, import_i18n55.__)("Opacity", "elementor"), value: "opacity", isDisabled: true },
7985
+ { label: (0, import_i18n55.__)("Transform (all)", "elementor"), value: "transform", isDisabled: true },
7986
+ { label: (0, import_i18n55.__)("Filter (all)", "elementor"), value: "filter", isDisabled: true }
7420
7987
  ]
7421
7988
  }
7422
7989
  ];
@@ -7452,13 +8019,13 @@ function subscribeToTransitionEvent() {
7452
8019
  }
7453
8020
 
7454
8021
  // src/controls/transition-control/transition-selector.tsx
7455
- var React107 = __toESM(require("react"));
7456
- var import_react64 = require("react");
8022
+ var React111 = __toESM(require("react"));
8023
+ var import_react65 = require("react");
7457
8024
  var import_editor_props56 = require("@elementor/editor-props");
7458
- var import_editor_ui14 = require("@elementor/editor-ui");
7459
- var import_icons35 = require("@elementor/icons");
7460
- var import_ui91 = require("@elementor/ui");
7461
- var import_i18n53 = require("@wordpress/i18n");
8025
+ var import_editor_ui15 = require("@elementor/editor-ui");
8026
+ var import_icons36 = require("@elementor/icons");
8027
+ var import_ui94 = require("@elementor/ui");
8028
+ var import_i18n56 = require("@wordpress/i18n");
7462
8029
 
7463
8030
  // src/utils/tracking.ts
7464
8031
  var import_editor_elements6 = require("@elementor/editor-elements");
@@ -7539,9 +8106,9 @@ var TransitionSelector = ({
7539
8106
  const {
7540
8107
  key: { value: transitionLabel }
7541
8108
  } = value;
7542
- const defaultRef = (0, import_react64.useRef)(null);
7543
- const popoverState = (0, import_ui91.usePopupState)({ variant: "popover" });
7544
- const disabledCategories = (0, import_react64.useMemo)(() => {
8109
+ const defaultRef = (0, import_react65.useRef)(null);
8110
+ const popoverState = (0, import_ui94.usePopupState)({ variant: "popover" });
8111
+ const disabledCategories = (0, import_react65.useMemo)(() => {
7545
8112
  return new Set(
7546
8113
  transitionProperties.filter((cat) => cat.properties.some((prop) => prop.isDisabled)).map((cat) => cat.label)
7547
8114
  );
@@ -7561,7 +8128,7 @@ var TransitionSelector = ({
7561
8128
  return [
7562
8129
  first,
7563
8130
  {
7564
- label: (0, import_i18n53.__)("Recently Used", "elementor"),
8131
+ label: (0, import_i18n56.__)("Recently Used", "elementor"),
7565
8132
  items: recentItems
7566
8133
  },
7567
8134
  ...rest
@@ -7585,27 +8152,27 @@ var TransitionSelector = ({
7585
8152
  left: rect.right + 36
7586
8153
  };
7587
8154
  };
7588
- return /* @__PURE__ */ React107.createElement(import_ui91.Box, { ref: defaultRef }, /* @__PURE__ */ React107.createElement(ControlActions, null, /* @__PURE__ */ React107.createElement(
7589
- import_ui91.UnstableTag,
8155
+ return /* @__PURE__ */ React111.createElement(import_ui94.Box, { ref: defaultRef }, /* @__PURE__ */ React111.createElement(ControlActions, null, /* @__PURE__ */ React111.createElement(
8156
+ import_ui94.UnstableTag,
7590
8157
  {
7591
8158
  variant: "outlined",
7592
8159
  label: transitionLabel,
7593
- endIcon: /* @__PURE__ */ React107.createElement(import_icons35.ChevronDownIcon, { fontSize: "tiny" }),
7594
- ...(0, import_ui91.bindTrigger)(popoverState),
8160
+ endIcon: /* @__PURE__ */ React111.createElement(import_icons36.ChevronDownIcon, { fontSize: "tiny" }),
8161
+ ...(0, import_ui94.bindTrigger)(popoverState),
7595
8162
  fullWidth: true
7596
8163
  }
7597
- )), /* @__PURE__ */ React107.createElement(
7598
- import_ui91.Popover,
8164
+ )), /* @__PURE__ */ React111.createElement(
8165
+ import_ui94.Popover,
7599
8166
  {
7600
8167
  disablePortal: true,
7601
8168
  disableScrollLock: true,
7602
- ...(0, import_ui91.bindPopover)(popoverState),
8169
+ ...(0, import_ui94.bindPopover)(popoverState),
7603
8170
  anchorReference: "anchorPosition",
7604
8171
  anchorPosition: getAnchorPosition(),
7605
8172
  anchorOrigin: { vertical: "top", horizontal: "right" },
7606
8173
  transformOrigin: { vertical: "top", horizontal: "left" }
7607
8174
  },
7608
- /* @__PURE__ */ React107.createElement(
8175
+ /* @__PURE__ */ React111.createElement(
7609
8176
  ItemSelector,
7610
8177
  {
7611
8178
  itemsList: getItemList(),
@@ -7613,11 +8180,11 @@ var TransitionSelector = ({
7613
8180
  onItemChange: handleTransitionPropertyChange,
7614
8181
  onClose: popoverState.close,
7615
8182
  sectionWidth: 268,
7616
- title: (0, import_i18n53.__)("Transition Property", "elementor"),
7617
- icon: import_icons35.VariationsIcon,
8183
+ title: (0, import_i18n56.__)("Transition Property", "elementor"),
8184
+ icon: import_icons36.VariationsIcon,
7618
8185
  disabledItems: includeCurrentValueInOptions(value, disabledItems),
7619
- categoryItemContentTemplate: (item) => /* @__PURE__ */ React107.createElement(
7620
- import_ui91.Box,
8186
+ categoryItemContentTemplate: (item) => /* @__PURE__ */ React111.createElement(
8187
+ import_ui94.Box,
7621
8188
  {
7622
8189
  sx: {
7623
8190
  display: "flex",
@@ -7626,13 +8193,13 @@ var TransitionSelector = ({
7626
8193
  width: "100%"
7627
8194
  }
7628
8195
  },
7629
- /* @__PURE__ */ React107.createElement("span", null, item.value),
7630
- showPromotion && disabledCategories.has(item.value) && /* @__PURE__ */ React107.createElement(import_editor_ui14.PromotionChip, null)
8196
+ /* @__PURE__ */ React111.createElement("span", null, item.value),
8197
+ showPromotion && disabledCategories.has(item.value) && /* @__PURE__ */ React111.createElement(import_editor_ui15.PromotionChip, null)
7631
8198
  ),
7632
- footer: showPromotion ? /* @__PURE__ */ React107.createElement(
7633
- import_editor_ui14.PromotionAlert,
8199
+ footer: showPromotion ? /* @__PURE__ */ React111.createElement(
8200
+ import_editor_ui15.PromotionAlert,
7634
8201
  {
7635
- message: (0, import_i18n53.__)(
8202
+ message: (0, import_i18n56.__)(
7636
8203
  "Upgrade to customize transition properties and control effects.",
7637
8204
  "elementor"
7638
8205
  ),
@@ -7671,8 +8238,8 @@ var areAllPropertiesUsed = (value = []) => {
7671
8238
  };
7672
8239
  var getSelectionSizeProps = (recentlyUsedList, disabledItems, showPromotion) => {
7673
8240
  return {
7674
- selectionLabel: (0, import_i18n54.__)("Type", "elementor"),
7675
- sizeLabel: (0, import_i18n54.__)("Duration", "elementor"),
8241
+ selectionLabel: (0, import_i18n57.__)("Type", "elementor"),
8242
+ sizeLabel: (0, import_i18n57.__)("Duration", "elementor"),
7676
8243
  selectionConfig: {
7677
8244
  component: TransitionSelector,
7678
8245
  props: {
@@ -7748,18 +8315,18 @@ var getInitialValue = (values = []) => {
7748
8315
  }
7749
8316
  return initialTransitionValue;
7750
8317
  };
7751
- var disableAddItemTooltipContent = /* @__PURE__ */ React108.createElement(
7752
- import_ui92.Alert,
8318
+ var disableAddItemTooltipContent = /* @__PURE__ */ React112.createElement(
8319
+ import_ui95.Alert,
7753
8320
  {
7754
8321
  sx: {
7755
8322
  width: 280,
7756
8323
  gap: 0.5
7757
8324
  },
7758
8325
  color: "secondary",
7759
- icon: /* @__PURE__ */ React108.createElement(import_icons36.InfoCircleFilledIcon, null)
8326
+ icon: /* @__PURE__ */ React112.createElement(import_icons37.InfoCircleFilledIcon, null)
7760
8327
  },
7761
- /* @__PURE__ */ React108.createElement(import_ui92.AlertTitle, null, (0, import_i18n54.__)("Transitions", "elementor")),
7762
- /* @__PURE__ */ React108.createElement(import_ui92.Box, { component: "span" }, /* @__PURE__ */ React108.createElement(import_ui92.Typography, { variant: "body2" }, (0, import_i18n54.__)("Switch to 'Normal' state to add a transition.", "elementor")))
8328
+ /* @__PURE__ */ React112.createElement(import_ui95.AlertTitle, null, (0, import_i18n57.__)("Transitions", "elementor")),
8329
+ /* @__PURE__ */ React112.createElement(import_ui95.Box, { component: "span" }, /* @__PURE__ */ React112.createElement(import_ui95.Typography, { variant: "body2" }, (0, import_i18n57.__)("Switch to 'Normal' state to add a transition.", "elementor")))
7763
8330
  );
7764
8331
  var TransitionRepeaterControl = createControl(
7765
8332
  ({
@@ -7767,14 +8334,14 @@ var TransitionRepeaterControl = createControl(
7767
8334
  currentStyleState
7768
8335
  }) => {
7769
8336
  const currentStyleIsNormal = currentStyleState === null;
7770
- const [recentlyUsedList, setRecentlyUsedList] = (0, import_react65.useState)([]);
7771
- const proInstalled = (0, import_utils7.hasProInstalled)();
8337
+ const [recentlyUsedList, setRecentlyUsedList] = (0, import_react66.useState)([]);
8338
+ const proInstalled = (0, import_utils8.hasProInstalled)();
7772
8339
  const { value, setValue } = useBoundProp(childArrayPropTypeUtil);
7773
- const { allDisabled: disabledItems, proDisabled: proDisabledItems } = (0, import_react65.useMemo)(
8340
+ const { allDisabled: disabledItems, proDisabled: proDisabledItems } = (0, import_react66.useMemo)(
7774
8341
  () => getDisabledItemLabels(value),
7775
8342
  [value]
7776
8343
  );
7777
- const allowedTransitionSet = (0, import_react65.useMemo)(() => {
8344
+ const allowedTransitionSet = (0, import_react66.useMemo)(() => {
7778
8345
  const set = /* @__PURE__ */ new Set();
7779
8346
  transitionProperties.forEach((category) => {
7780
8347
  category.properties.forEach((prop) => {
@@ -7785,7 +8352,7 @@ var TransitionRepeaterControl = createControl(
7785
8352
  });
7786
8353
  return set;
7787
8354
  }, [proInstalled]);
7788
- (0, import_react65.useEffect)(() => {
8355
+ (0, import_react66.useEffect)(() => {
7789
8356
  if (!value || value.length === 0) {
7790
8357
  return;
7791
8358
  }
@@ -7797,18 +8364,18 @@ var TransitionRepeaterControl = createControl(
7797
8364
  setValue(sanitized);
7798
8365
  }
7799
8366
  }, [allowedTransitionSet]);
7800
- (0, import_react65.useEffect)(() => {
8367
+ (0, import_react66.useEffect)(() => {
7801
8368
  recentlyUsedListGetter().then(setRecentlyUsedList);
7802
8369
  }, [recentlyUsedListGetter]);
7803
- const allPropertiesUsed = (0, import_react65.useMemo)(() => areAllPropertiesUsed(value), [value]);
8370
+ const allPropertiesUsed = (0, import_react66.useMemo)(() => areAllPropertiesUsed(value), [value]);
7804
8371
  const isAddItemDisabled = !currentStyleIsNormal || allPropertiesUsed;
7805
- return /* @__PURE__ */ React108.createElement(
8372
+ return /* @__PURE__ */ React112.createElement(
7806
8373
  RepeatableControl,
7807
8374
  {
7808
- label: (0, import_i18n54.__)("Transitions", "elementor"),
7809
- repeaterLabel: (0, import_i18n54.__)("Transitions", "elementor"),
8375
+ label: (0, import_i18n57.__)("Transitions", "elementor"),
8376
+ repeaterLabel: (0, import_i18n57.__)("Transitions", "elementor"),
7810
8377
  patternLabel: "${value.selection.value.key.value}: ${value.size.value.size}${value.size.value.unit}",
7811
- placeholder: (0, import_i18n54.__)("Empty Transition", "elementor"),
8378
+ placeholder: (0, import_i18n57.__)("Empty Transition", "elementor"),
7812
8379
  showDuplicate: false,
7813
8380
  showToggle: true,
7814
8381
  initialValues: getInitialValue(value),
@@ -7829,11 +8396,11 @@ var TransitionRepeaterControl = createControl(
7829
8396
  );
7830
8397
 
7831
8398
  // src/controls/date-time-control.tsx
7832
- var React109 = __toESM(require("react"));
8399
+ var React113 = __toESM(require("react"));
7833
8400
  var dayjs = __toESM(require("dayjs"));
7834
8401
  var import_editor_props58 = require("@elementor/editor-props");
7835
8402
  var import_editor_props59 = require("@elementor/editor-props");
7836
- var import_ui93 = require("@elementor/ui");
8403
+ var import_ui96 = require("@elementor/ui");
7837
8404
  var DATE_FORMAT = "YYYY-MM-DD";
7838
8405
  var TIME_FORMAT = "HH:mm";
7839
8406
  var DateTimeControl = createControl(({ inputDisabled }) => {
@@ -7877,8 +8444,8 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
7877
8444
  const base = dayjs.default();
7878
8445
  return base.hour(h).minute(m).second(0).millisecond(0);
7879
8446
  };
7880
- return /* @__PURE__ */ React109.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React109.createElement(ControlActions, null, /* @__PURE__ */ React109.createElement(import_ui93.LocalizationProvider, null, /* @__PURE__ */ React109.createElement(import_ui93.Box, { display: "flex", gap: 1, alignItems: "center" }, /* @__PURE__ */ React109.createElement(PropKeyProvider, { bind: "date" }, /* @__PURE__ */ React109.createElement(
7881
- import_ui93.DatePicker,
8447
+ return /* @__PURE__ */ React113.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React113.createElement(ControlActions, null, /* @__PURE__ */ React113.createElement(import_ui96.LocalizationProvider, null, /* @__PURE__ */ React113.createElement(import_ui96.Box, { display: "flex", gap: 1, alignItems: "center" }, /* @__PURE__ */ React113.createElement(PropKeyProvider, { bind: "date" }, /* @__PURE__ */ React113.createElement(
8448
+ import_ui96.DatePicker,
7882
8449
  {
7883
8450
  value: parseDateValue(import_editor_props58.stringPropTypeUtil.extract(value?.date)),
7884
8451
  onChange: (v) => handleChange({ date: v }, { bind: "date" }),
@@ -7889,8 +8456,8 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
7889
8456
  openPickerIcon: { fontSize: "tiny" }
7890
8457
  }
7891
8458
  }
7892
- )), /* @__PURE__ */ React109.createElement(PropKeyProvider, { bind: "time" }, /* @__PURE__ */ React109.createElement(
7893
- import_ui93.TimePicker,
8459
+ )), /* @__PURE__ */ React113.createElement(PropKeyProvider, { bind: "time" }, /* @__PURE__ */ React113.createElement(
8460
+ import_ui96.TimePicker,
7894
8461
  {
7895
8462
  value: parseTimeValue(import_editor_props58.stringPropTypeUtil.extract(value?.time)),
7896
8463
  onChange: (v) => handleChange({ time: v }, { bind: "time" }),
@@ -7905,15 +8472,15 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
7905
8472
  });
7906
8473
 
7907
8474
  // src/controls/date-range-control.tsx
7908
- var React111 = __toESM(require("react"));
8475
+ var React115 = __toESM(require("react"));
7909
8476
  var import_editor_props61 = require("@elementor/editor-props");
7910
- var import_ui95 = require("@elementor/ui");
7911
- var import_i18n55 = require("@wordpress/i18n");
8477
+ var import_ui98 = require("@elementor/ui");
8478
+ var import_i18n58 = require("@wordpress/i18n");
7912
8479
 
7913
8480
  // src/controls/date-string-control.tsx
7914
- var React110 = __toESM(require("react"));
8481
+ var React114 = __toESM(require("react"));
7915
8482
  var import_editor_props60 = require("@elementor/editor-props");
7916
- var import_ui94 = require("@elementor/ui");
8483
+ var import_ui97 = require("@elementor/ui");
7917
8484
 
7918
8485
  // src/utils/date-time.ts
7919
8486
  var dayjs2 = __toESM(require("dayjs"));
@@ -7970,8 +8537,8 @@ var DateStringControl = createControl(
7970
8537
  }
7971
8538
  setValue(newValue.format(format));
7972
8539
  };
7973
- return /* @__PURE__ */ React110.createElement(import_ui94.LocalizationProvider, null, /* @__PURE__ */ React110.createElement(ControlActions, null, /* @__PURE__ */ React110.createElement(
7974
- import_ui94.DatePicker,
8540
+ return /* @__PURE__ */ React114.createElement(import_ui97.LocalizationProvider, null, /* @__PURE__ */ React114.createElement(ControlActions, null, /* @__PURE__ */ React114.createElement(
8541
+ import_ui97.DatePicker,
7975
8542
  {
7976
8543
  value: parseDateString(value ?? ""),
7977
8544
  onChange: (newValue) => handleChange(newValue, DATE_FORMAT2),
@@ -7984,8 +8551,8 @@ var DateStringControl = createControl(
7984
8551
 
7985
8552
  // src/controls/date-range-control.tsx
7986
8553
  var RANGE_LABELS = {
7987
- min: (0, import_i18n55.__)("Min date", "elementor"),
7988
- max: (0, import_i18n55.__)("Max date", "elementor")
8554
+ min: (0, import_i18n58.__)("Min date", "elementor"),
8555
+ max: (0, import_i18n58.__)("Max date", "elementor")
7989
8556
  };
7990
8557
  var isMaxBeforeMin = (minIso, maxIso) => {
7991
8558
  if (!minIso || !maxIso) {
@@ -7993,40 +8560,40 @@ var isMaxBeforeMin = (minIso, maxIso) => {
7993
8560
  }
7994
8561
  return maxIso < minIso;
7995
8562
  };
7996
- var RANGE_ERROR_MESSAGE = (0, import_i18n55.__)("Max date must be on or after Min date", "elementor");
8563
+ var RANGE_ERROR_MESSAGE = (0, import_i18n58.__)("Max date must be on or after Min date", "elementor");
7997
8564
  var DateRangeControl = createControl(() => {
7998
8565
  const { value, setValue, ...propContext } = useBoundProp(import_editor_props61.dateRangePropTypeUtil);
7999
8566
  const minString = import_editor_props61.dateStringPropTypeUtil.extract(value?.min);
8000
8567
  const maxString = import_editor_props61.dateStringPropTypeUtil.extract(value?.max);
8001
8568
  const hasInvalidRange = isMaxBeforeMin(minString, maxString);
8002
- return /* @__PURE__ */ React111.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React111.createElement(import_ui95.Stack, { gap: 0.75 }, /* @__PURE__ */ React111.createElement(import_ui95.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React111.createElement(import_ui95.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React111.createElement(import_ui95.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React111.createElement(ControlFormLabel, null, RANGE_LABELS.min)), /* @__PURE__ */ React111.createElement(import_ui95.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React111.createElement(
8569
+ return /* @__PURE__ */ React115.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React115.createElement(import_ui98.Stack, { gap: 0.75 }, /* @__PURE__ */ React115.createElement(import_ui98.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React115.createElement(import_ui98.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React115.createElement(import_ui98.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React115.createElement(ControlFormLabel, null, RANGE_LABELS.min)), /* @__PURE__ */ React115.createElement(import_ui98.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React115.createElement(
8003
8570
  BoundDateStringControl,
8004
8571
  {
8005
8572
  bind: "min",
8006
8573
  ariaLabel: RANGE_LABELS.min,
8007
8574
  error: hasInvalidRange
8008
8575
  }
8009
- ))), /* @__PURE__ */ React111.createElement(import_ui95.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React111.createElement(import_ui95.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React111.createElement(ControlFormLabel, null, RANGE_LABELS.max)), /* @__PURE__ */ React111.createElement(import_ui95.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React111.createElement(
8576
+ ))), /* @__PURE__ */ React115.createElement(import_ui98.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React115.createElement(import_ui98.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React115.createElement(ControlFormLabel, null, RANGE_LABELS.max)), /* @__PURE__ */ React115.createElement(import_ui98.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React115.createElement(
8010
8577
  BoundDateStringControl,
8011
8578
  {
8012
8579
  bind: "max",
8013
8580
  ariaLabel: RANGE_LABELS.max,
8014
8581
  error: hasInvalidRange
8015
8582
  }
8016
- )))), hasInvalidRange && /* @__PURE__ */ React111.createElement(import_ui95.FormHelperText, { error: true }, RANGE_ERROR_MESSAGE)));
8583
+ )))), hasInvalidRange && /* @__PURE__ */ React115.createElement(import_ui98.FormHelperText, { error: true }, RANGE_ERROR_MESSAGE)));
8017
8584
  });
8018
8585
  var BoundDateStringControl = ({
8019
8586
  bind,
8020
8587
  ariaLabel,
8021
8588
  error
8022
8589
  }) => {
8023
- return /* @__PURE__ */ React111.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React111.createElement(DateStringControl, { ariaLabel, error, coerceInvalidToNull: true }));
8590
+ return /* @__PURE__ */ React115.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React115.createElement(DateStringControl, { ariaLabel, error, coerceInvalidToNull: true }));
8024
8591
  };
8025
8592
 
8026
8593
  // src/controls/time-string-control.tsx
8027
- var React112 = __toESM(require("react"));
8594
+ var React116 = __toESM(require("react"));
8028
8595
  var import_editor_props62 = require("@elementor/editor-props");
8029
- var import_ui96 = require("@elementor/ui");
8596
+ var import_ui99 = require("@elementor/ui");
8030
8597
  var TimeStringControl = createControl(
8031
8598
  ({ inputDisabled, ariaLabel, error, coerceInvalidToNull = false }) => {
8032
8599
  const { value, setValue, disabled } = useBoundProp(import_editor_props62.timeStringPropTypeUtil);
@@ -8052,8 +8619,8 @@ var TimeStringControl = createControl(
8052
8619
  }
8053
8620
  setValue(newValue.format(format));
8054
8621
  };
8055
- return /* @__PURE__ */ React112.createElement(import_ui96.LocalizationProvider, null, /* @__PURE__ */ React112.createElement(ControlActions, null, /* @__PURE__ */ React112.createElement(
8056
- import_ui96.TimePicker,
8622
+ return /* @__PURE__ */ React116.createElement(import_ui99.LocalizationProvider, null, /* @__PURE__ */ React116.createElement(ControlActions, null, /* @__PURE__ */ React116.createElement(
8623
+ import_ui99.TimePicker,
8057
8624
  {
8058
8625
  value: parseTimeString(value ?? ""),
8059
8626
  onChange: (newValue) => handleChange(newValue, TIME_FORMAT2),
@@ -8065,32 +8632,32 @@ var TimeStringControl = createControl(
8065
8632
  );
8066
8633
 
8067
8634
  // src/controls/time-range-control.tsx
8068
- var React113 = __toESM(require("react"));
8635
+ var React117 = __toESM(require("react"));
8069
8636
  var import_editor_props63 = require("@elementor/editor-props");
8070
- var import_ui97 = require("@elementor/ui");
8071
- var import_i18n56 = require("@wordpress/i18n");
8637
+ var import_ui100 = require("@elementor/ui");
8638
+ var import_i18n59 = require("@wordpress/i18n");
8072
8639
  var RANGE_LABELS2 = {
8073
- min: (0, import_i18n56.__)("Start time", "elementor"),
8074
- max: (0, import_i18n56.__)("End time", "elementor")
8640
+ min: (0, import_i18n59.__)("Start time", "elementor"),
8641
+ max: (0, import_i18n59.__)("End time", "elementor")
8075
8642
  };
8076
8643
  var TimeRangeControl = createControl(() => {
8077
8644
  const { value, setValue, ...propContext } = useBoundProp(import_editor_props63.timeRangePropTypeUtil);
8078
- return /* @__PURE__ */ React113.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React113.createElement(import_ui97.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React113.createElement(import_ui97.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React113.createElement(import_ui97.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React113.createElement(ControlFormLabel, null, RANGE_LABELS2.min)), /* @__PURE__ */ React113.createElement(import_ui97.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React113.createElement(BoundTimeStringControl, { bind: "min", ariaLabel: RANGE_LABELS2.min }))), /* @__PURE__ */ React113.createElement(import_ui97.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React113.createElement(import_ui97.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React113.createElement(ControlFormLabel, null, RANGE_LABELS2.max)), /* @__PURE__ */ React113.createElement(import_ui97.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React113.createElement(BoundTimeStringControl, { bind: "max", ariaLabel: RANGE_LABELS2.max })))));
8645
+ return /* @__PURE__ */ React117.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React117.createElement(import_ui100.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React117.createElement(import_ui100.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React117.createElement(import_ui100.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React117.createElement(ControlFormLabel, null, RANGE_LABELS2.min)), /* @__PURE__ */ React117.createElement(import_ui100.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React117.createElement(BoundTimeStringControl, { bind: "min", ariaLabel: RANGE_LABELS2.min }))), /* @__PURE__ */ React117.createElement(import_ui100.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React117.createElement(import_ui100.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React117.createElement(ControlFormLabel, null, RANGE_LABELS2.max)), /* @__PURE__ */ React117.createElement(import_ui100.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React117.createElement(BoundTimeStringControl, { bind: "max", ariaLabel: RANGE_LABELS2.max })))));
8079
8646
  });
8080
8647
  var BoundTimeStringControl = ({ bind, ariaLabel }) => {
8081
- return /* @__PURE__ */ React113.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React113.createElement(TimeStringControl, { ariaLabel, coerceInvalidToNull: true }));
8648
+ return /* @__PURE__ */ React117.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React117.createElement(TimeStringControl, { ariaLabel, coerceInvalidToNull: true }));
8082
8649
  };
8083
8650
 
8084
8651
  // src/controls/inline-editing-control.tsx
8085
- var React117 = __toESM(require("react"));
8086
- var import_react71 = require("react");
8652
+ var React121 = __toESM(require("react"));
8653
+ var import_react72 = require("react");
8087
8654
  var import_editor_props65 = require("@elementor/editor-props");
8088
- var import_ui101 = require("@elementor/ui");
8655
+ var import_ui104 = require("@elementor/ui");
8089
8656
 
8090
8657
  // src/components/inline-editor.tsx
8091
- var React114 = __toESM(require("react"));
8092
- var import_react66 = require("react");
8093
- var import_ui98 = require("@elementor/ui");
8658
+ var React118 = __toESM(require("react"));
8659
+ var import_react67 = require("react");
8660
+ var import_ui101 = require("@elementor/ui");
8094
8661
  var import_extension_bold = __toESM(require("@tiptap/extension-bold"));
8095
8662
  var import_extension_document = __toESM(require("@tiptap/extension-document"));
8096
8663
  var import_extension_hard_break = __toESM(require("@tiptap/extension-hard-break"));
@@ -8103,7 +8670,7 @@ var import_extension_subscript = __toESM(require("@tiptap/extension-subscript"))
8103
8670
  var import_extension_superscript = __toESM(require("@tiptap/extension-superscript"));
8104
8671
  var import_extension_text = __toESM(require("@tiptap/extension-text"));
8105
8672
  var import_extension_underline = __toESM(require("@tiptap/extension-underline"));
8106
- var import_react67 = require("@tiptap/react");
8673
+ var import_react68 = require("@tiptap/react");
8107
8674
 
8108
8675
  // src/utils/inline-editing.ts
8109
8676
  var import_editor_props64 = require("@elementor/editor-props");
@@ -8135,7 +8702,7 @@ function extractInlineHtmlContent(propValue) {
8135
8702
  var ITALIC_KEYBOARD_SHORTCUT = "i";
8136
8703
  var BOLD_KEYBOARD_SHORTCUT = "b";
8137
8704
  var UNDERLINE_KEYBOARD_SHORTCUT = "u";
8138
- var InlineEditor = React114.forwardRef((props, ref) => {
8705
+ var InlineEditor = React118.forwardRef((props, ref) => {
8139
8706
  const {
8140
8707
  value,
8141
8708
  setValue,
@@ -8152,8 +8719,8 @@ var InlineEditor = React114.forwardRef((props, ref) => {
8152
8719
  onSelectionEnd,
8153
8720
  mountElement = null
8154
8721
  } = props;
8155
- const containerRef = (0, import_react66.useRef)(null);
8156
- const onBlurRef = (0, import_react66.useRef)(onBlur);
8722
+ const containerRef = (0, import_react67.useRef)(null);
8723
+ const onBlurRef = (0, import_react67.useRef)(onBlur);
8157
8724
  onBlurRef.current = onBlur;
8158
8725
  const documentContentSettings = !!expectedTag ? "block+" : "inline*";
8159
8726
  const onUpdate = ({ editor: updatedEditor }) => {
@@ -8175,7 +8742,7 @@ var InlineEditor = React114.forwardRef((props, ref) => {
8175
8742
  ...HTMLAttributes,
8176
8743
  class: elementClasses
8177
8744
  });
8178
- const editor = (0, import_react67.useEditor)({
8745
+ const editor = (0, import_react68.useEditor)({
8179
8746
  ...mountElement ? { element: mountElement } : {},
8180
8747
  extensions: [
8181
8748
  import_extension_document.default.extend({
@@ -8248,11 +8815,11 @@ var InlineEditor = React114.forwardRef((props, ref) => {
8248
8815
  if (mountElement) {
8249
8816
  return null;
8250
8817
  }
8251
- return /* @__PURE__ */ React114.createElement(import_ui98.Box, { ref: containerRef, sx, className: wrapperClassName }, /* @__PURE__ */ React114.createElement(import_react67.EditorContent, { ref, editor }));
8818
+ return /* @__PURE__ */ React118.createElement(import_ui101.Box, { ref: containerRef, sx, className: wrapperClassName }, /* @__PURE__ */ React118.createElement(import_react68.EditorContent, { ref, editor }));
8252
8819
  });
8253
8820
  var useOnUpdate = (callback, dependencies) => {
8254
- const hasMounted = (0, import_react66.useRef)(false);
8255
- (0, import_react66.useEffect)(() => {
8821
+ const hasMounted = (0, import_react67.useRef)(false);
8822
+ (0, import_react67.useEffect)(() => {
8256
8823
  if (hasMounted.current) {
8257
8824
  callback();
8258
8825
  } else {
@@ -8262,20 +8829,20 @@ var useOnUpdate = (callback, dependencies) => {
8262
8829
  };
8263
8830
 
8264
8831
  // src/components/inline-editor-toolbar.tsx
8265
- var React116 = __toESM(require("react"));
8266
- var import_react69 = require("react");
8832
+ var React120 = __toESM(require("react"));
8833
+ var import_react70 = require("react");
8267
8834
  var import_editor_elements7 = require("@elementor/editor-elements");
8268
- var import_icons38 = require("@elementor/icons");
8269
- var import_ui100 = require("@elementor/ui");
8270
- var import_react70 = require("@tiptap/react");
8271
- var import_i18n58 = require("@wordpress/i18n");
8835
+ var import_icons39 = require("@elementor/icons");
8836
+ var import_ui103 = require("@elementor/ui");
8837
+ var import_react71 = require("@tiptap/react");
8838
+ var import_i18n61 = require("@wordpress/i18n");
8272
8839
 
8273
8840
  // src/components/url-popover.tsx
8274
- var React115 = __toESM(require("react"));
8275
- var import_react68 = require("react");
8276
- var import_icons37 = require("@elementor/icons");
8277
- var import_ui99 = require("@elementor/ui");
8278
- var import_i18n57 = require("@wordpress/i18n");
8841
+ var React119 = __toESM(require("react"));
8842
+ var import_react69 = require("react");
8843
+ var import_icons38 = require("@elementor/icons");
8844
+ var import_ui102 = require("@elementor/ui");
8845
+ var import_i18n60 = require("@wordpress/i18n");
8279
8846
  var UrlPopover = ({
8280
8847
  popupState,
8281
8848
  restoreValue,
@@ -8285,8 +8852,8 @@ var UrlPopover = ({
8285
8852
  openInNewTab,
8286
8853
  onToggleNewTab
8287
8854
  }) => {
8288
- const inputRef = (0, import_react68.useRef)(null);
8289
- (0, import_react68.useEffect)(() => {
8855
+ const inputRef = (0, import_react69.useRef)(null);
8856
+ (0, import_react69.useEffect)(() => {
8290
8857
  if (popupState.isOpen) {
8291
8858
  requestAnimationFrame(() => inputRef.current?.focus());
8292
8859
  }
@@ -8295,41 +8862,41 @@ var UrlPopover = ({
8295
8862
  restoreValue();
8296
8863
  popupState.close();
8297
8864
  };
8298
- return /* @__PURE__ */ React115.createElement(
8299
- import_ui99.Popover,
8865
+ return /* @__PURE__ */ React119.createElement(
8866
+ import_ui102.Popover,
8300
8867
  {
8301
8868
  slotProps: {
8302
8869
  paper: { sx: { borderRadius: "16px", width: anchorRef.current?.offsetWidth + "px", marginTop: -1 } }
8303
8870
  },
8304
- ...(0, import_ui99.bindPopover)(popupState),
8871
+ ...(0, import_ui102.bindPopover)(popupState),
8305
8872
  anchorOrigin: { vertical: "top", horizontal: "left" },
8306
8873
  transformOrigin: { vertical: "top", horizontal: "left" },
8307
8874
  onClose: handleClose
8308
8875
  },
8309
- /* @__PURE__ */ React115.createElement(import_ui99.Stack, { direction: "row", alignItems: "center", gap: 1, sx: { p: 1.5 } }, /* @__PURE__ */ React115.createElement(
8310
- import_ui99.TextField,
8876
+ /* @__PURE__ */ React119.createElement(import_ui102.Stack, { direction: "row", alignItems: "center", gap: 1, sx: { p: 1.5 } }, /* @__PURE__ */ React119.createElement(
8877
+ import_ui102.TextField,
8311
8878
  {
8312
8879
  value,
8313
8880
  onChange,
8314
8881
  size: "tiny",
8315
8882
  fullWidth: true,
8316
- placeholder: (0, import_i18n57.__)("Type a URL", "elementor"),
8883
+ placeholder: (0, import_i18n60.__)("Type a URL", "elementor"),
8317
8884
  inputProps: { ref: inputRef },
8318
8885
  color: "secondary",
8319
8886
  InputProps: { sx: { borderRadius: "8px" } },
8320
8887
  onKeyUp: (event) => event.key === "Enter" && handleClose()
8321
8888
  }
8322
- ), /* @__PURE__ */ React115.createElement(import_ui99.Tooltip, { title: (0, import_i18n57.__)("Open in a new tab", "elementor") }, /* @__PURE__ */ React115.createElement(
8323
- import_ui99.ToggleButton,
8889
+ ), /* @__PURE__ */ React119.createElement(import_ui102.Tooltip, { title: (0, import_i18n60.__)("Open in a new tab", "elementor") }, /* @__PURE__ */ React119.createElement(
8890
+ import_ui102.ToggleButton,
8324
8891
  {
8325
8892
  size: "tiny",
8326
8893
  value: "newTab",
8327
8894
  selected: openInNewTab,
8328
8895
  onClick: onToggleNewTab,
8329
- "aria-label": (0, import_i18n57.__)("Open in a new tab", "elementor"),
8896
+ "aria-label": (0, import_i18n60.__)("Open in a new tab", "elementor"),
8330
8897
  sx: { borderRadius: "8px" }
8331
8898
  },
8332
- /* @__PURE__ */ React115.createElement(import_icons37.ExternalLinkIcon, { fontSize: "tiny" })
8899
+ /* @__PURE__ */ React119.createElement(import_icons38.ExternalLinkIcon, { fontSize: "tiny" })
8333
8900
  )))
8334
8901
  );
8335
8902
  };
@@ -8341,16 +8908,16 @@ var InlineEditorToolbar = ({
8341
8908
  sx = {},
8342
8909
  inControlPanel = false
8343
8910
  }) => {
8344
- const [urlValue, setUrlValue] = (0, import_react69.useState)("");
8345
- const [openInNewTab, setOpenInNewTab] = (0, import_react69.useState)(false);
8346
- const toolbarRef = (0, import_react69.useRef)(null);
8347
- const linkPopupState = (0, import_ui100.usePopupState)({ variant: "popover" });
8911
+ const [urlValue, setUrlValue] = (0, import_react70.useState)("");
8912
+ const [openInNewTab, setOpenInNewTab] = (0, import_react70.useState)(false);
8913
+ const toolbarRef = (0, import_react70.useRef)(null);
8914
+ const linkPopupState = (0, import_ui103.usePopupState)({ variant: "popover" });
8348
8915
  const isElementClickable = elementId ? checkIfElementIsClickable(elementId) : false;
8349
- const editorState = (0, import_react70.useEditorState)({
8916
+ const editorState = (0, import_react71.useEditorState)({
8350
8917
  editor,
8351
8918
  selector: (ctx) => possibleFormats.filter((format) => ctx.editor.isActive(format))
8352
8919
  });
8353
- const formatButtonsList = (0, import_react69.useMemo)(() => {
8920
+ const formatButtonsList = (0, import_react70.useMemo)(() => {
8354
8921
  const buttons = Object.values(formatButtons);
8355
8922
  if (isElementClickable) {
8356
8923
  return buttons.filter((button) => button.action !== "link");
@@ -8387,13 +8954,13 @@ var InlineEditorToolbar = ({
8387
8954
  }
8388
8955
  linkPopupState.close();
8389
8956
  };
8390
- (0, import_react69.useEffect)(() => {
8957
+ (0, import_react70.useEffect)(() => {
8391
8958
  if (!inControlPanel) {
8392
8959
  editor?.commands?.focus();
8393
8960
  }
8394
8961
  }, [editor, inControlPanel]);
8395
- return /* @__PURE__ */ React116.createElement(
8396
- import_ui100.Box,
8962
+ return /* @__PURE__ */ React120.createElement(
8963
+ import_ui103.Box,
8397
8964
  {
8398
8965
  ref: toolbarRef,
8399
8966
  sx: {
@@ -8426,9 +8993,9 @@ var InlineEditorToolbar = ({
8426
8993
  }
8427
8994
  }
8428
8995
  },
8429
- /* @__PURE__ */ React116.createElement(import_ui100.Tooltip, { title: clearButton.label, placement: "top", sx: { borderRadius: "8px" } }, /* @__PURE__ */ React116.createElement(import_ui100.IconButton, { "aria-label": clearButton.label, onClick: () => clearButton.method(editor), size: "tiny" }, clearButton.icon)),
8430
- /* @__PURE__ */ React116.createElement(
8431
- import_ui100.ToggleButtonGroup,
8996
+ /* @__PURE__ */ React120.createElement(import_ui103.Tooltip, { title: clearButton.label, placement: "top", sx: { borderRadius: "8px" } }, /* @__PURE__ */ React120.createElement(import_ui103.IconButton, { "aria-label": clearButton.label, onClick: () => clearButton.method(editor), size: "tiny" }, clearButton.icon)),
8997
+ /* @__PURE__ */ React120.createElement(
8998
+ import_ui103.ToggleButtonGroup,
8432
8999
  {
8433
9000
  value: editorState,
8434
9001
  size: "tiny",
@@ -8436,7 +9003,7 @@ var InlineEditorToolbar = ({
8436
9003
  display: "flex",
8437
9004
  gap: 0.5,
8438
9005
  border: "none",
8439
- [`& .${import_ui100.toggleButtonGroupClasses.firstButton}, & .${import_ui100.toggleButtonGroupClasses.middleButton}, & .${import_ui100.toggleButtonGroupClasses.lastButton}`]: {
9006
+ [`& .${import_ui103.toggleButtonGroupClasses.firstButton}, & .${import_ui103.toggleButtonGroupClasses.middleButton}, & .${import_ui103.toggleButtonGroupClasses.lastButton}`]: {
8440
9007
  borderRadius: "8px",
8441
9008
  border: "none",
8442
9009
  marginLeft: 0,
@@ -8457,8 +9024,8 @@ var InlineEditorToolbar = ({
8457
9024
  }
8458
9025
  }
8459
9026
  },
8460
- formatButtonsList.map((button) => /* @__PURE__ */ React116.createElement(import_ui100.Tooltip, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React116.createElement(
8461
- import_ui100.ToggleButton,
9027
+ formatButtonsList.map((button) => /* @__PURE__ */ React120.createElement(import_ui103.Tooltip, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React120.createElement(
9028
+ import_ui103.ToggleButton,
8462
9029
  {
8463
9030
  value: button.action,
8464
9031
  "aria-label": button.label,
@@ -8475,7 +9042,7 @@ var InlineEditorToolbar = ({
8475
9042
  button.icon
8476
9043
  )))
8477
9044
  ),
8478
- /* @__PURE__ */ React116.createElement(
9045
+ /* @__PURE__ */ React120.createElement(
8479
9046
  UrlPopover,
8480
9047
  {
8481
9048
  popupState: linkPopupState,
@@ -8498,64 +9065,64 @@ var checkIfElementIsClickable = (elementId) => {
8498
9065
  };
8499
9066
  var toolbarButtons = {
8500
9067
  clear: {
8501
- label: (0, import_i18n58.__)("Clear", "elementor"),
8502
- icon: /* @__PURE__ */ React116.createElement(import_icons38.MinusIcon, { fontSize: "tiny" }),
9068
+ label: (0, import_i18n61.__)("Clear", "elementor"),
9069
+ icon: /* @__PURE__ */ React120.createElement(import_icons39.MinusIcon, { fontSize: "tiny" }),
8503
9070
  action: "clear",
8504
9071
  method: (editor) => {
8505
9072
  editor.chain().focus().clearNodes().unsetAllMarks().run();
8506
9073
  }
8507
9074
  },
8508
9075
  bold: {
8509
- label: (0, import_i18n58.__)("Bold", "elementor"),
8510
- icon: /* @__PURE__ */ React116.createElement(import_icons38.BoldIcon, { fontSize: "tiny" }),
9076
+ label: (0, import_i18n61.__)("Bold", "elementor"),
9077
+ icon: /* @__PURE__ */ React120.createElement(import_icons39.BoldIcon, { fontSize: "tiny" }),
8511
9078
  action: "bold",
8512
9079
  method: (editor) => {
8513
9080
  editor.chain().focus().toggleBold().run();
8514
9081
  }
8515
9082
  },
8516
9083
  italic: {
8517
- label: (0, import_i18n58.__)("Italic", "elementor"),
8518
- icon: /* @__PURE__ */ React116.createElement(import_icons38.ItalicIcon, { fontSize: "tiny" }),
9084
+ label: (0, import_i18n61.__)("Italic", "elementor"),
9085
+ icon: /* @__PURE__ */ React120.createElement(import_icons39.ItalicIcon, { fontSize: "tiny" }),
8519
9086
  action: "italic",
8520
9087
  method: (editor) => {
8521
9088
  editor.chain().focus().toggleItalic().run();
8522
9089
  }
8523
9090
  },
8524
9091
  underline: {
8525
- label: (0, import_i18n58.__)("Underline", "elementor"),
8526
- icon: /* @__PURE__ */ React116.createElement(import_icons38.UnderlineIcon, { fontSize: "tiny" }),
9092
+ label: (0, import_i18n61.__)("Underline", "elementor"),
9093
+ icon: /* @__PURE__ */ React120.createElement(import_icons39.UnderlineIcon, { fontSize: "tiny" }),
8527
9094
  action: "underline",
8528
9095
  method: (editor) => {
8529
9096
  editor.chain().focus().toggleUnderline().run();
8530
9097
  }
8531
9098
  },
8532
9099
  strike: {
8533
- label: (0, import_i18n58.__)("Strikethrough", "elementor"),
8534
- icon: /* @__PURE__ */ React116.createElement(import_icons38.StrikethroughIcon, { fontSize: "tiny" }),
9100
+ label: (0, import_i18n61.__)("Strikethrough", "elementor"),
9101
+ icon: /* @__PURE__ */ React120.createElement(import_icons39.StrikethroughIcon, { fontSize: "tiny" }),
8535
9102
  action: "strike",
8536
9103
  method: (editor) => {
8537
9104
  editor.chain().focus().toggleStrike().run();
8538
9105
  }
8539
9106
  },
8540
9107
  superscript: {
8541
- label: (0, import_i18n58.__)("Superscript", "elementor"),
8542
- icon: /* @__PURE__ */ React116.createElement(import_icons38.SuperscriptIcon, { fontSize: "tiny" }),
9108
+ label: (0, import_i18n61.__)("Superscript", "elementor"),
9109
+ icon: /* @__PURE__ */ React120.createElement(import_icons39.SuperscriptIcon, { fontSize: "tiny" }),
8543
9110
  action: "superscript",
8544
9111
  method: (editor) => {
8545
9112
  editor.chain().focus().toggleSuperscript().run();
8546
9113
  }
8547
9114
  },
8548
9115
  subscript: {
8549
- label: (0, import_i18n58.__)("Subscript", "elementor"),
8550
- icon: /* @__PURE__ */ React116.createElement(import_icons38.SubscriptIcon, { fontSize: "tiny" }),
9116
+ label: (0, import_i18n61.__)("Subscript", "elementor"),
9117
+ icon: /* @__PURE__ */ React120.createElement(import_icons39.SubscriptIcon, { fontSize: "tiny" }),
8551
9118
  action: "subscript",
8552
9119
  method: (editor) => {
8553
9120
  editor.chain().focus().toggleSubscript().run();
8554
9121
  }
8555
9122
  },
8556
9123
  link: {
8557
- label: (0, import_i18n58.__)("Link", "elementor"),
8558
- icon: /* @__PURE__ */ React116.createElement(import_icons38.LinkIcon, { fontSize: "tiny" }),
9124
+ label: (0, import_i18n61.__)("Link", "elementor"),
9125
+ icon: /* @__PURE__ */ React120.createElement(import_icons39.LinkIcon, { fontSize: "tiny" }),
8559
9126
  action: "link",
8560
9127
  method: null
8561
9128
  }
@@ -8568,15 +9135,15 @@ var InlineEditingControl = createControl(({ sx, attributes, props, context: { el
8568
9135
  const { setValue, placeholder, value } = useBoundProp(import_editor_props65.escapedHtmlPropTypeUtil);
8569
9136
  const { value: rawValue } = usePropKeyContext();
8570
9137
  const content = value ?? extractInlineHtmlContent(rawValue);
8571
- const [editor, setEditor] = (0, import_react71.useState)(null);
8572
- const handleChange = (0, import_react71.useCallback)(
9138
+ const [editor, setEditor] = (0, import_react72.useState)(null);
9139
+ const handleChange = (0, import_react72.useCallback)(
8573
9140
  (newValue) => {
8574
9141
  const html = newValue ?? "";
8575
9142
  setValue(html);
8576
9143
  },
8577
9144
  [setValue]
8578
9145
  );
8579
- return /* @__PURE__ */ React117.createElement(ControlActions, null, /* @__PURE__ */ React117.createElement(import_ui101.Box, { sx: { position: "relative" } }, editor && editor.isEditable && /* @__PURE__ */ React117.createElement(
9146
+ return /* @__PURE__ */ React121.createElement(ControlActions, null, /* @__PURE__ */ React121.createElement(import_ui104.Box, { sx: { position: "relative" } }, editor && editor.isEditable && /* @__PURE__ */ React121.createElement(
8580
9147
  InlineEditorToolbar,
8581
9148
  {
8582
9149
  editor,
@@ -8589,8 +9156,8 @@ var InlineEditingControl = createControl(({ sx, attributes, props, context: { el
8589
9156
  }),
8590
9157
  inControlPanel: true
8591
9158
  }
8592
- ), /* @__PURE__ */ React117.createElement(
8593
- import_ui101.Box,
9159
+ ), /* @__PURE__ */ React121.createElement(
9160
+ import_ui104.Box,
8594
9161
  {
8595
9162
  sx: (theme) => ({
8596
9163
  p: 0.8,
@@ -8634,7 +9201,7 @@ var InlineEditingControl = createControl(({ sx, attributes, props, context: { el
8634
9201
  ...attributes,
8635
9202
  ...props
8636
9203
  },
8637
- /* @__PURE__ */ React117.createElement(
9204
+ /* @__PURE__ */ React121.createElement(
8638
9205
  InlineEditor,
8639
9206
  {
8640
9207
  value: content,
@@ -8651,17 +9218,17 @@ var InlineEditingControl = createControl(({ sx, attributes, props, context: { el
8651
9218
  });
8652
9219
 
8653
9220
  // src/controls/email-form-action-control/index.tsx
8654
- var React121 = __toESM(require("react"));
9221
+ var React125 = __toESM(require("react"));
8655
9222
  var import_editor_props68 = require("@elementor/editor-props");
8656
- var import_editor_ui16 = require("@elementor/editor-ui");
8657
- var import_ui105 = require("@elementor/ui");
8658
- var import_i18n60 = require("@wordpress/i18n");
9223
+ var import_editor_ui17 = require("@elementor/editor-ui");
9224
+ var import_ui108 = require("@elementor/ui");
9225
+ var import_i18n63 = require("@wordpress/i18n");
8659
9226
 
8660
9227
  // src/controls/email-form-action-control/fields.tsx
8661
- var React120 = __toESM(require("react"));
8662
- var import_editor_ui15 = require("@elementor/editor-ui");
8663
- var import_ui104 = require("@elementor/ui");
8664
- var import_i18n59 = require("@wordpress/i18n");
9228
+ var React124 = __toESM(require("react"));
9229
+ var import_editor_ui16 = require("@elementor/editor-ui");
9230
+ var import_ui107 = require("@elementor/ui");
9231
+ var import_i18n62 = require("@wordpress/i18n");
8665
9232
 
8666
9233
  // src/hooks/use-form-field-suggestions.ts
8667
9234
  var import_editor_elements8 = require("@elementor/editor-elements");
@@ -8750,14 +9317,14 @@ function useFormFieldSuggestions(options) {
8750
9317
  }
8751
9318
 
8752
9319
  // src/controls/email-form-action-control/email-chips-field.tsx
8753
- var React118 = __toESM(require("react"));
8754
- var import_react72 = require("react");
9320
+ var React122 = __toESM(require("react"));
9321
+ var import_react73 = require("react");
8755
9322
  var import_editor_props67 = require("@elementor/editor-props");
8756
- var import_ui102 = require("@elementor/ui");
9323
+ var import_ui105 = require("@elementor/ui");
8757
9324
 
8758
9325
  // src/controls/email-form-action-control/utils.ts
8759
9326
  var import_schema = require("@elementor/schema");
8760
- var import_utils8 = require("@elementor/utils");
9327
+ var import_utils9 = require("@elementor/utils");
8761
9328
  var MIN_PRO_VERSION_FOR_MENTIONS = "4.1.0";
8762
9329
  var CHIP_TRIGGER_KEYS = /* @__PURE__ */ new Set([" ", ","]);
8763
9330
  function isValidEmail(email) {
@@ -8768,14 +9335,14 @@ function isFormFieldShortcode(value) {
8768
9335
  return FORM_FIELD_SHORTCODE_PATTERN.test(value);
8769
9336
  }
8770
9337
  var shouldShowMentionsInfo = () => {
8771
- if (!(0, import_utils8.hasProInstalled)()) {
9338
+ if (!(0, import_utils9.hasProInstalled)()) {
8772
9339
  return true;
8773
9340
  }
8774
9341
  const proVersion = window.elementorPro?.config?.version;
8775
9342
  if (!proVersion) {
8776
9343
  return false;
8777
9344
  }
8778
- return (0, import_utils8.isVersionGreaterOrEqual)(proVersion, MIN_PRO_VERSION_FOR_MENTIONS);
9345
+ return (0, import_utils9.isVersionGreaterOrEqual)(proVersion, MIN_PRO_VERSION_FOR_MENTIONS);
8779
9346
  };
8780
9347
 
8781
9348
  // src/controls/email-form-action-control/email-chips-field.tsx
@@ -8789,10 +9356,10 @@ function resolveMention(raw, suggestions) {
8789
9356
  }
8790
9357
  var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
8791
9358
  const { value, setValue, disabled } = useBoundProp(import_editor_props67.stringArrayPropTypeUtil);
8792
- const [inputValue, setInputValue] = (0, import_react72.useState)("");
9359
+ const [inputValue, setInputValue] = (0, import_react73.useState)("");
8793
9360
  const items2 = value || [];
8794
9361
  const selectedValues = items2.map((item) => import_editor_props67.stringPropTypeUtil.extract(item)).filter((val) => val !== null);
8795
- const suggestionOptions = (0, import_react72.useMemo)(
9362
+ const suggestionOptions = (0, import_react73.useMemo)(
8796
9363
  () => suggestions.map((suggestion) => `[${suggestion.value}]`),
8797
9364
  [suggestions]
8798
9365
  );
@@ -8827,8 +9394,8 @@ var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
8827
9394
  tryAddChip(inputValue);
8828
9395
  }
8829
9396
  };
8830
- return /* @__PURE__ */ React118.createElement(ControlActions, null, /* @__PURE__ */ React118.createElement(
8831
- import_ui102.Autocomplete,
9397
+ return /* @__PURE__ */ React122.createElement(ControlActions, null, /* @__PURE__ */ React122.createElement(
9398
+ import_ui105.Autocomplete,
8832
9399
  {
8833
9400
  fullWidth: true,
8834
9401
  multiple: true,
@@ -8852,99 +9419,99 @@ var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
8852
9419
  onBlur: handleBlur,
8853
9420
  getOptionLabel: (option) => option,
8854
9421
  isOptionEqualToValue: (option, val) => option === val,
8855
- renderInput: (params) => /* @__PURE__ */ React118.createElement(import_ui102.TextField, { ...params, placeholder, onKeyDown: handleKeyDown }),
8856
- renderTags: (tagValues, getTagProps) => /* @__PURE__ */ React118.createElement(ChipsList, { getLabel: (option) => option, getTagProps, values: tagValues })
9422
+ renderInput: (params) => /* @__PURE__ */ React122.createElement(import_ui105.TextField, { ...params, placeholder, onKeyDown: handleKeyDown }),
9423
+ renderTags: (tagValues, getTagProps) => /* @__PURE__ */ React122.createElement(ChipsList, { getLabel: (option) => option, getTagProps, values: tagValues })
8857
9424
  }
8858
9425
  ));
8859
9426
  });
8860
- var EmailChipsField = ({ fieldLabel, placeholder, suggestions }) => /* @__PURE__ */ React118.createElement(import_ui102.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React118.createElement(import_ui102.Grid, { item: true }, /* @__PURE__ */ React118.createElement(ControlFormLabel, null, fieldLabel)), /* @__PURE__ */ React118.createElement(import_ui102.Grid, { item: true }, /* @__PURE__ */ React118.createElement(EmailChipsControl, { placeholder, suggestions })));
9427
+ var EmailChipsField = ({ fieldLabel, placeholder, suggestions }) => /* @__PURE__ */ React122.createElement(import_ui105.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React122.createElement(import_ui105.Grid, { item: true }, /* @__PURE__ */ React122.createElement(ControlFormLabel, null, fieldLabel)), /* @__PURE__ */ React122.createElement(import_ui105.Grid, { item: true }, /* @__PURE__ */ React122.createElement(EmailChipsControl, { placeholder, suggestions })));
8861
9428
 
8862
9429
  // src/controls/email-form-action-control/email-field.tsx
8863
- var React119 = __toESM(require("react"));
8864
- var import_ui103 = require("@elementor/ui");
8865
- var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */ React119.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React119.createElement(import_ui103.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React119.createElement(import_ui103.Grid, { item: true }, /* @__PURE__ */ React119.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React119.createElement(import_ui103.Grid, { item: true }, /* @__PURE__ */ React119.createElement(TextControl, { placeholder }))));
9430
+ var React123 = __toESM(require("react"));
9431
+ var import_ui106 = require("@elementor/ui");
9432
+ var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */ React123.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React123.createElement(import_ui106.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React123.createElement(import_ui106.Grid, { item: true }, /* @__PURE__ */ React123.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React123.createElement(import_ui106.Grid, { item: true }, /* @__PURE__ */ React123.createElement(TextControl, { placeholder }))));
8866
9433
 
8867
9434
  // src/controls/email-form-action-control/fields.tsx
8868
9435
  var SendToField = ({ placeholder }) => {
8869
9436
  const suggestions = useFormFieldSuggestions({ inputType: "email" });
8870
- return /* @__PURE__ */ React120.createElement(PropKeyProvider, { bind: "to" }, /* @__PURE__ */ React120.createElement(import_ui104.Stack, { gap: 0.5 }, /* @__PURE__ */ React120.createElement(
9437
+ return /* @__PURE__ */ React124.createElement(PropKeyProvider, { bind: "to" }, /* @__PURE__ */ React124.createElement(import_ui107.Stack, { gap: 0.5 }, /* @__PURE__ */ React124.createElement(
8871
9438
  EmailChipsField,
8872
9439
  {
8873
- fieldLabel: (0, import_i18n59.__)("Send to", "elementor"),
9440
+ fieldLabel: (0, import_i18n62.__)("Send to", "elementor"),
8874
9441
  placeholder,
8875
9442
  suggestions
8876
9443
  }
8877
- ), shouldShowMentionsInfo() && /* @__PURE__ */ React120.createElement(import_editor_ui15.InfoAlert, null, (0, import_i18n59.__)("Type @ or an email field name to insert its submitted value.", "elementor"))));
9444
+ ), shouldShowMentionsInfo() && /* @__PURE__ */ React124.createElement(import_editor_ui16.InfoAlert, null, (0, import_i18n62.__)("Type @ or an email field name to insert its submitted value.", "elementor"))));
8878
9445
  };
8879
- var SubjectField = () => /* @__PURE__ */ React120.createElement(
9446
+ var SubjectField = () => /* @__PURE__ */ React124.createElement(
8880
9447
  EmailField,
8881
9448
  {
8882
9449
  bind: "subject",
8883
- label: (0, import_i18n59.__)("Email subject", "elementor"),
8884
- placeholder: (0, import_i18n59.__)("New form submission", "elementor")
9450
+ label: (0, import_i18n62.__)("Email subject", "elementor"),
9451
+ placeholder: (0, import_i18n62.__)("New form submission", "elementor")
8885
9452
  }
8886
9453
  );
8887
9454
  var MessageField = () => {
8888
9455
  const suggestions = useFormFieldSuggestions();
8889
- return /* @__PURE__ */ React120.createElement(PropKeyProvider, { bind: "message" }, /* @__PURE__ */ React120.createElement(import_ui104.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React120.createElement(import_ui104.Grid, { item: true }, /* @__PURE__ */ React120.createElement(ControlFormLabel, null, (0, import_i18n59.__)("Message", "elementor"))), /* @__PURE__ */ React120.createElement(import_ui104.Grid, { item: true }, /* @__PURE__ */ React120.createElement(MentionTextAreaControl, { suggestions })), /* @__PURE__ */ React120.createElement(import_ui104.Grid, { item: true }, /* @__PURE__ */ React120.createElement(import_editor_ui15.InfoAlert, null, shouldShowMentionsInfo() ? (0, import_i18n59.__)(
9456
+ return /* @__PURE__ */ React124.createElement(PropKeyProvider, { bind: "message" }, /* @__PURE__ */ React124.createElement(import_ui107.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React124.createElement(import_ui107.Grid, { item: true }, /* @__PURE__ */ React124.createElement(ControlFormLabel, null, (0, import_i18n62.__)("Message", "elementor"))), /* @__PURE__ */ React124.createElement(import_ui107.Grid, { item: true }, /* @__PURE__ */ React124.createElement(MentionTextAreaControl, { suggestions })), /* @__PURE__ */ React124.createElement(import_ui107.Grid, { item: true }, /* @__PURE__ */ React124.createElement(import_editor_ui16.InfoAlert, null, shouldShowMentionsInfo() ? (0, import_i18n62.__)(
8890
9457
  "[all-fields] shortcode sends all fields. Type @ to insert specific fields and customize your message.",
8891
9458
  "elementor"
8892
- ) : (0, import_i18n59.__)("[all-fields] shortcode sends all fields.", "elementor")))));
9459
+ ) : (0, import_i18n62.__)("[all-fields] shortcode sends all fields.", "elementor")))));
8893
9460
  };
8894
- var FromEmailField = () => /* @__PURE__ */ React120.createElement(
9461
+ var FromEmailField = () => /* @__PURE__ */ React124.createElement(
8895
9462
  EmailField,
8896
9463
  {
8897
9464
  bind: "from",
8898
- label: (0, import_i18n59.__)("From email", "elementor"),
8899
- placeholder: (0, import_i18n59.__)("What email should appear as the sender?", "elementor")
9465
+ label: (0, import_i18n62.__)("From email", "elementor"),
9466
+ placeholder: (0, import_i18n62.__)("What email should appear as the sender?", "elementor")
8900
9467
  }
8901
9468
  );
8902
- var FromNameField = () => /* @__PURE__ */ React120.createElement(
9469
+ var FromNameField = () => /* @__PURE__ */ React124.createElement(
8903
9470
  EmailField,
8904
9471
  {
8905
9472
  bind: "from-name",
8906
- label: (0, import_i18n59.__)("From name", "elementor"),
8907
- placeholder: (0, import_i18n59.__)("What name should appear as the sender?", "elementor")
9473
+ label: (0, import_i18n62.__)("From name", "elementor"),
9474
+ placeholder: (0, import_i18n62.__)("What name should appear as the sender?", "elementor")
8908
9475
  }
8909
9476
  );
8910
9477
  var ReplyToField = () => {
8911
9478
  const emailSuggestions = useFormFieldSuggestions({ inputType: "email" });
8912
- return /* @__PURE__ */ React120.createElement(PropKeyProvider, { bind: "reply-to" }, /* @__PURE__ */ React120.createElement(import_ui104.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React120.createElement(import_ui104.Grid, { item: true }, /* @__PURE__ */ React120.createElement(ControlFormLabel, null, (0, import_i18n59.__)("Reply-to", "elementor"))), /* @__PURE__ */ React120.createElement(import_ui104.Grid, { item: true }, /* @__PURE__ */ React120.createElement(
9479
+ return /* @__PURE__ */ React124.createElement(PropKeyProvider, { bind: "reply-to" }, /* @__PURE__ */ React124.createElement(import_ui107.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React124.createElement(import_ui107.Grid, { item: true }, /* @__PURE__ */ React124.createElement(ControlFormLabel, null, (0, import_i18n62.__)("Reply-to", "elementor"))), /* @__PURE__ */ React124.createElement(import_ui107.Grid, { item: true }, /* @__PURE__ */ React124.createElement(
8913
9480
  MentionTextAreaControl,
8914
9481
  {
8915
9482
  suggestions: emailSuggestions,
8916
9483
  rows: 1,
8917
9484
  triggerPosition: "start",
8918
- placeholder: (0, import_i18n59.__)("You can type @ to insert an email field", "elementor")
9485
+ placeholder: (0, import_i18n62.__)("You can type @ to insert an email field", "elementor")
8919
9486
  }
8920
9487
  ))));
8921
9488
  };
8922
9489
  var CcField = () => {
8923
9490
  const suggestions = useFormFieldSuggestions({ inputType: "email" });
8924
- return /* @__PURE__ */ React120.createElement(PropKeyProvider, { bind: "cc" }, /* @__PURE__ */ React120.createElement(EmailChipsField, { fieldLabel: (0, import_i18n59.__)("Cc", "elementor"), suggestions }));
9491
+ return /* @__PURE__ */ React124.createElement(PropKeyProvider, { bind: "cc" }, /* @__PURE__ */ React124.createElement(EmailChipsField, { fieldLabel: (0, import_i18n62.__)("Cc", "elementor"), suggestions }));
8925
9492
  };
8926
9493
  var BccField = () => {
8927
9494
  const suggestions = useFormFieldSuggestions({ inputType: "email" });
8928
- return /* @__PURE__ */ React120.createElement(PropKeyProvider, { bind: "bcc" }, /* @__PURE__ */ React120.createElement(EmailChipsField, { fieldLabel: (0, import_i18n59.__)("Bcc", "elementor"), suggestions }));
9495
+ return /* @__PURE__ */ React124.createElement(PropKeyProvider, { bind: "bcc" }, /* @__PURE__ */ React124.createElement(EmailChipsField, { fieldLabel: (0, import_i18n62.__)("Bcc", "elementor"), suggestions }));
8929
9496
  };
8930
- var MetaDataField = () => /* @__PURE__ */ React120.createElement(PropKeyProvider, { bind: "meta-data" }, /* @__PURE__ */ React120.createElement(import_ui104.Stack, { gap: 0.5 }, /* @__PURE__ */ React120.createElement(ControlFormLabel, null, (0, import_i18n59.__)("Metadata", "elementor")), /* @__PURE__ */ React120.createElement(
9497
+ var MetaDataField = () => /* @__PURE__ */ React124.createElement(PropKeyProvider, { bind: "meta-data" }, /* @__PURE__ */ React124.createElement(import_ui107.Stack, { gap: 0.5 }, /* @__PURE__ */ React124.createElement(ControlFormLabel, null, (0, import_i18n62.__)("Metadata", "elementor")), /* @__PURE__ */ React124.createElement(
8931
9498
  ChipsControl,
8932
9499
  {
8933
9500
  options: [
8934
- { label: (0, import_i18n59.__)("Date", "elementor"), value: "date" },
8935
- { label: (0, import_i18n59.__)("Time", "elementor"), value: "time" },
8936
- { label: (0, import_i18n59.__)("Page URL", "elementor"), value: "page-url" },
8937
- { label: (0, import_i18n59.__)("User agent", "elementor"), value: "user-agent" },
8938
- { label: (0, import_i18n59.__)("Credit", "elementor"), value: "credit" }
9501
+ { label: (0, import_i18n62.__)("Date", "elementor"), value: "date" },
9502
+ { label: (0, import_i18n62.__)("Time", "elementor"), value: "time" },
9503
+ { label: (0, import_i18n62.__)("Page URL", "elementor"), value: "page-url" },
9504
+ { label: (0, import_i18n62.__)("User agent", "elementor"), value: "user-agent" },
9505
+ { label: (0, import_i18n62.__)("Credit", "elementor"), value: "credit" }
8939
9506
  ]
8940
9507
  }
8941
9508
  )));
8942
- var SendAsField = () => /* @__PURE__ */ React120.createElement(PropKeyProvider, { bind: "send-as" }, /* @__PURE__ */ React120.createElement(import_ui104.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React120.createElement(import_ui104.Grid, { item: true }, /* @__PURE__ */ React120.createElement(ControlFormLabel, null, (0, import_i18n59.__)("Send as", "elementor"))), /* @__PURE__ */ React120.createElement(import_ui104.Grid, { item: true }, /* @__PURE__ */ React120.createElement(
9509
+ var SendAsField = () => /* @__PURE__ */ React124.createElement(PropKeyProvider, { bind: "send-as" }, /* @__PURE__ */ React124.createElement(import_ui107.Grid, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React124.createElement(import_ui107.Grid, { item: true }, /* @__PURE__ */ React124.createElement(ControlFormLabel, null, (0, import_i18n62.__)("Send as", "elementor"))), /* @__PURE__ */ React124.createElement(import_ui107.Grid, { item: true }, /* @__PURE__ */ React124.createElement(
8943
9510
  SelectControl,
8944
9511
  {
8945
9512
  options: [
8946
- { label: (0, import_i18n59.__)("HTML", "elementor"), value: "html" },
8947
- { label: (0, import_i18n59.__)("Plain Text", "elementor"), value: "plain" }
9513
+ { label: (0, import_i18n62.__)("HTML", "elementor"), value: "html" },
9514
+ { label: (0, import_i18n62.__)("Plain Text", "elementor"), value: "plain" }
8948
9515
  ]
8949
9516
  }
8950
9517
  ))));
@@ -8953,27 +9520,27 @@ var SendAsField = () => /* @__PURE__ */ React120.createElement(PropKeyProvider,
8953
9520
  var EmailFormActionControl = createControl(
8954
9521
  ({ toPlaceholder, label }) => {
8955
9522
  const { value, setValue, ...propContext } = useBoundProp(import_editor_props68.emailsPropTypeUtil);
8956
- return /* @__PURE__ */ React121.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React121.createElement(import_ui105.Stack, { gap: 2 }, /* @__PURE__ */ React121.createElement(ControlLabel, null, label ? label + " " + (0, import_i18n60.__)("settings", "elementor") : (0, import_i18n60.__)("Email settings", "elementor")), /* @__PURE__ */ React121.createElement(SendToField, { placeholder: toPlaceholder }), /* @__PURE__ */ React121.createElement(SubjectField, null), /* @__PURE__ */ React121.createElement(MessageField, null), /* @__PURE__ */ React121.createElement(FromEmailField, null), /* @__PURE__ */ React121.createElement(AdvancedSettings, null)));
9523
+ return /* @__PURE__ */ React125.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React125.createElement(import_ui108.Stack, { gap: 2 }, /* @__PURE__ */ React125.createElement(ControlLabel, null, label ? label + " " + (0, import_i18n63.__)("settings", "elementor") : (0, import_i18n63.__)("Email settings", "elementor")), /* @__PURE__ */ React125.createElement(SendToField, { placeholder: toPlaceholder }), /* @__PURE__ */ React125.createElement(SubjectField, null), /* @__PURE__ */ React125.createElement(MessageField, null), /* @__PURE__ */ React125.createElement(FromEmailField, null), /* @__PURE__ */ React125.createElement(AdvancedSettings, null)));
8957
9524
  }
8958
9525
  );
8959
- var AdvancedSettings = () => /* @__PURE__ */ React121.createElement(import_editor_ui16.CollapsibleContent, { defaultOpen: false }, /* @__PURE__ */ React121.createElement(import_ui105.Box, { sx: { pt: 2 } }, /* @__PURE__ */ React121.createElement(import_ui105.Stack, { gap: 2 }, /* @__PURE__ */ React121.createElement(FromNameField, null), /* @__PURE__ */ React121.createElement(ReplyToField, null), /* @__PURE__ */ React121.createElement(CcField, null), /* @__PURE__ */ React121.createElement(BccField, null), /* @__PURE__ */ React121.createElement(import_ui105.Divider, null), /* @__PURE__ */ React121.createElement(MetaDataField, null), /* @__PURE__ */ React121.createElement(SendAsField, null))));
9526
+ var AdvancedSettings = () => /* @__PURE__ */ React125.createElement(import_editor_ui17.CollapsibleContent, { defaultOpen: false }, /* @__PURE__ */ React125.createElement(import_ui108.Box, { sx: { pt: 2 } }, /* @__PURE__ */ React125.createElement(import_ui108.Stack, { gap: 2 }, /* @__PURE__ */ React125.createElement(FromNameField, null), /* @__PURE__ */ React125.createElement(ReplyToField, null), /* @__PURE__ */ React125.createElement(CcField, null), /* @__PURE__ */ React125.createElement(BccField, null), /* @__PURE__ */ React125.createElement(import_ui108.Divider, null), /* @__PURE__ */ React125.createElement(MetaDataField, null), /* @__PURE__ */ React125.createElement(SendAsField, null))));
8960
9527
 
8961
9528
  // src/controls/attachment-type-control.tsx
8962
- var React122 = __toESM(require("react"));
8963
- var import_editor_ui17 = require("@elementor/editor-ui");
8964
- var import_ui106 = require("@elementor/ui");
8965
- var import_i18n61 = require("@wordpress/i18n");
9529
+ var React126 = __toESM(require("react"));
9530
+ var import_editor_ui18 = require("@elementor/editor-ui");
9531
+ var import_ui109 = require("@elementor/ui");
9532
+ var import_i18n64 = require("@wordpress/i18n");
8966
9533
  var AttachmentTypeControl = createControl(({ label, options }) => {
8967
- return /* @__PURE__ */ React122.createElement(import_ui106.Grid, { container: true, direction: "column", gap: 1 }, label && /* @__PURE__ */ React122.createElement(import_ui106.Grid, { item: true }, /* @__PURE__ */ React122.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React122.createElement(import_ui106.Grid, { item: true }, /* @__PURE__ */ React122.createElement(SelectControl, { options })), /* @__PURE__ */ React122.createElement(import_ui106.Grid, { item: true }, /* @__PURE__ */ React122.createElement(import_editor_ui17.InfoAlert, null, (0, import_i18n61.__)(
9534
+ return /* @__PURE__ */ React126.createElement(import_ui109.Grid, { container: true, direction: "column", gap: 1 }, label && /* @__PURE__ */ React126.createElement(import_ui109.Grid, { item: true }, /* @__PURE__ */ React126.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React126.createElement(import_ui109.Grid, { item: true }, /* @__PURE__ */ React126.createElement(SelectControl, { options })), /* @__PURE__ */ React126.createElement(import_ui109.Grid, { item: true }, /* @__PURE__ */ React126.createElement(import_editor_ui18.InfoAlert, null, (0, import_i18n64.__)(
8968
9535
  "Linked uploads are saved to the server. Direct attachments will not appear under Submissions.",
8969
9536
  "elementor"
8970
9537
  ))));
8971
9538
  });
8972
9539
 
8973
9540
  // src/controls/grid-span-control.tsx
8974
- var React123 = __toESM(require("react"));
9541
+ var React127 = __toESM(require("react"));
8975
9542
  var import_editor_props69 = require("@elementor/editor-props");
8976
- var import_ui107 = require("@elementor/ui");
9543
+ var import_ui110 = require("@elementor/ui");
8977
9544
  var GridSpanControl = createControl(
8978
9545
  ({
8979
9546
  placeholder: propPlaceholder,
@@ -8990,8 +9557,8 @@ var GridSpanControl = createControl(
8990
9557
  setValue(next === "" ? null : next);
8991
9558
  };
8992
9559
  const placeholder = propPlaceholder ?? boundPlaceholder ?? `e.g: 'span 2' or '1 / 3'`;
8993
- return /* @__PURE__ */ React123.createElement(ControlActions, null, /* @__PURE__ */ React123.createElement(
8994
- import_ui107.TextField,
9560
+ return /* @__PURE__ */ React127.createElement(ControlActions, null, /* @__PURE__ */ React127.createElement(
9561
+ import_ui110.TextField,
8995
9562
  {
8996
9563
  size: "tiny",
8997
9564
  fullWidth: true,
@@ -9011,25 +9578,25 @@ var GridSpanControl = createControl(
9011
9578
  );
9012
9579
 
9013
9580
  // src/components/promotions/display-conditions-control.tsx
9014
- var React125 = __toESM(require("react"));
9015
- var import_react74 = require("react");
9016
- var import_icons39 = require("@elementor/icons");
9017
- var import_ui109 = require("@elementor/ui");
9018
- var import_i18n62 = require("@wordpress/i18n");
9581
+ var React129 = __toESM(require("react"));
9582
+ var import_react75 = require("react");
9583
+ var import_icons40 = require("@elementor/icons");
9584
+ var import_ui112 = require("@elementor/ui");
9585
+ var import_i18n65 = require("@wordpress/i18n");
9019
9586
 
9020
9587
  // src/components/promotions/promotion-trigger.tsx
9021
- var React124 = __toESM(require("react"));
9022
- var import_react73 = require("react");
9023
- var import_editor_ui18 = require("@elementor/editor-ui");
9024
- var import_ui108 = require("@elementor/ui");
9588
+ var React128 = __toESM(require("react"));
9589
+ var import_react74 = require("react");
9590
+ var import_editor_ui19 = require("@elementor/editor-ui");
9591
+ var import_ui111 = require("@elementor/ui");
9025
9592
  function getV4Promotion(key) {
9026
9593
  return window.elementor?.config?.v4Promotions?.[key];
9027
9594
  }
9028
- var PromotionTrigger = (0, import_react73.forwardRef)(
9595
+ var PromotionTrigger = (0, import_react74.forwardRef)(
9029
9596
  ({ promotionKey, children, trackingData }, ref) => {
9030
- const [isOpen, setIsOpen] = (0, import_react73.useState)(false);
9597
+ const [isOpen, setIsOpen] = (0, import_react74.useState)(false);
9031
9598
  const promotion = getV4Promotion(promotionKey);
9032
- const toggle = (0, import_react73.useCallback)(() => {
9599
+ const toggle = (0, import_react74.useCallback)(() => {
9033
9600
  setIsOpen((prev) => {
9034
9601
  if (!prev) {
9035
9602
  trackViewPromotion(trackingData);
@@ -9037,9 +9604,9 @@ var PromotionTrigger = (0, import_react73.forwardRef)(
9037
9604
  return !prev;
9038
9605
  });
9039
9606
  }, [trackingData]);
9040
- (0, import_react73.useImperativeHandle)(ref, () => ({ toggle }), [toggle]);
9041
- return /* @__PURE__ */ React124.createElement(React124.Fragment, null, promotion && /* @__PURE__ */ React124.createElement(
9042
- import_editor_ui18.PromotionInfotip,
9607
+ (0, import_react74.useImperativeHandle)(ref, () => ({ toggle }), [toggle]);
9608
+ return /* @__PURE__ */ React128.createElement(React128.Fragment, null, promotion && /* @__PURE__ */ React128.createElement(
9609
+ import_editor_ui19.PromotionInfotip,
9043
9610
  {
9044
9611
  title: promotion.title,
9045
9612
  content: promotion.content,
@@ -9052,8 +9619,8 @@ var PromotionTrigger = (0, import_react73.forwardRef)(
9052
9619
  },
9053
9620
  onCtaClick: () => trackUpgradePromotionClick(trackingData)
9054
9621
  },
9055
- /* @__PURE__ */ React124.createElement(
9056
- import_ui108.Box,
9622
+ /* @__PURE__ */ React128.createElement(
9623
+ import_ui111.Box,
9057
9624
  {
9058
9625
  onClick: (e) => {
9059
9626
  e.stopPropagation();
@@ -9061,19 +9628,19 @@ var PromotionTrigger = (0, import_react73.forwardRef)(
9061
9628
  },
9062
9629
  sx: { cursor: "pointer", display: "inline-flex" }
9063
9630
  },
9064
- children ?? /* @__PURE__ */ React124.createElement(import_editor_ui18.PromotionChip, null)
9631
+ children ?? /* @__PURE__ */ React128.createElement(import_editor_ui19.PromotionChip, null)
9065
9632
  )
9066
9633
  ));
9067
9634
  }
9068
9635
  );
9069
9636
 
9070
9637
  // src/components/promotions/display-conditions-control.tsx
9071
- var ARIA_LABEL = (0, import_i18n62.__)("Display Conditions", "elementor");
9638
+ var ARIA_LABEL = (0, import_i18n65.__)("Display Conditions", "elementor");
9072
9639
  var TRACKING_DATA = { target_name: "display_conditions", location_l2: "general" };
9073
9640
  var DisplayConditionsControl = createControl(() => {
9074
- const triggerRef = (0, import_react74.useRef)(null);
9075
- return /* @__PURE__ */ React125.createElement(
9076
- import_ui109.Stack,
9641
+ const triggerRef = (0, import_react75.useRef)(null);
9642
+ return /* @__PURE__ */ React129.createElement(
9643
+ import_ui112.Stack,
9077
9644
  {
9078
9645
  direction: "row",
9079
9646
  spacing: 2,
@@ -9082,9 +9649,9 @@ var DisplayConditionsControl = createControl(() => {
9082
9649
  alignItems: "center"
9083
9650
  }
9084
9651
  },
9085
- /* @__PURE__ */ React125.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "displayConditions", trackingData: TRACKING_DATA }),
9086
- /* @__PURE__ */ React125.createElement(import_ui109.Tooltip, { title: ARIA_LABEL, placement: "top" }, /* @__PURE__ */ React125.createElement(
9087
- import_ui109.IconButton,
9652
+ /* @__PURE__ */ React129.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "displayConditions", trackingData: TRACKING_DATA }),
9653
+ /* @__PURE__ */ React129.createElement(import_ui112.Tooltip, { title: ARIA_LABEL, placement: "top" }, /* @__PURE__ */ React129.createElement(
9654
+ import_ui112.IconButton,
9088
9655
  {
9089
9656
  size: "tiny",
9090
9657
  "aria-label": ARIA_LABEL,
@@ -9096,23 +9663,23 @@ var DisplayConditionsControl = createControl(() => {
9096
9663
  borderRadius: 1
9097
9664
  }
9098
9665
  },
9099
- /* @__PURE__ */ React125.createElement(import_icons39.SitemapIcon, { fontSize: "tiny", color: "disabled" })
9666
+ /* @__PURE__ */ React129.createElement(import_icons40.SitemapIcon, { fontSize: "tiny", color: "disabled" })
9100
9667
  ))
9101
9668
  );
9102
9669
  });
9103
9670
 
9104
9671
  // src/components/promotions/attributes-control.tsx
9105
- var React126 = __toESM(require("react"));
9106
- var import_react75 = require("react");
9107
- var import_icons40 = require("@elementor/icons");
9108
- var import_ui110 = require("@elementor/ui");
9109
- var import_i18n63 = require("@wordpress/i18n");
9110
- var ARIA_LABEL2 = (0, import_i18n63.__)("Attributes", "elementor");
9672
+ var React130 = __toESM(require("react"));
9673
+ var import_react76 = require("react");
9674
+ var import_icons41 = require("@elementor/icons");
9675
+ var import_ui113 = require("@elementor/ui");
9676
+ var import_i18n66 = require("@wordpress/i18n");
9677
+ var ARIA_LABEL2 = (0, import_i18n66.__)("Attributes", "elementor");
9111
9678
  var TRACKING_DATA2 = { target_name: "attributes", location_l2: "general" };
9112
9679
  var AttributesControl = createControl(() => {
9113
- const triggerRef = (0, import_react75.useRef)(null);
9114
- return /* @__PURE__ */ React126.createElement(
9115
- import_ui110.Stack,
9680
+ const triggerRef = (0, import_react76.useRef)(null);
9681
+ return /* @__PURE__ */ React130.createElement(
9682
+ import_ui113.Stack,
9116
9683
  {
9117
9684
  direction: "row",
9118
9685
  spacing: 2,
@@ -9121,9 +9688,9 @@ var AttributesControl = createControl(() => {
9121
9688
  alignItems: "center"
9122
9689
  }
9123
9690
  },
9124
- /* @__PURE__ */ React126.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "attributes", trackingData: TRACKING_DATA2 }),
9125
- /* @__PURE__ */ React126.createElement(import_ui110.Tooltip, { title: ARIA_LABEL2, placement: "top" }, /* @__PURE__ */ React126.createElement(
9126
- import_icons40.PlusIcon,
9691
+ /* @__PURE__ */ React130.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "attributes", trackingData: TRACKING_DATA2 }),
9692
+ /* @__PURE__ */ React130.createElement(import_ui113.Tooltip, { title: ARIA_LABEL2, placement: "top" }, /* @__PURE__ */ React130.createElement(
9693
+ import_icons41.PlusIcon,
9127
9694
  {
9128
9695
  "aria-label": ARIA_LABEL2,
9129
9696
  fontSize: "tiny",
@@ -9136,21 +9703,21 @@ var AttributesControl = createControl(() => {
9136
9703
  });
9137
9704
 
9138
9705
  // src/components/icon-buttons/clear-icon-button.tsx
9139
- var React127 = __toESM(require("react"));
9140
- var import_icons41 = require("@elementor/icons");
9141
- var import_ui111 = require("@elementor/ui");
9142
- var CustomIconButton = (0, import_ui111.styled)(import_ui111.IconButton)(({ theme }) => ({
9706
+ var React131 = __toESM(require("react"));
9707
+ var import_icons42 = require("@elementor/icons");
9708
+ var import_ui114 = require("@elementor/ui");
9709
+ var CustomIconButton = (0, import_ui114.styled)(import_ui114.IconButton)(({ theme }) => ({
9143
9710
  width: theme.spacing(2.5),
9144
9711
  height: theme.spacing(2.5)
9145
9712
  }));
9146
- var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */ React127.createElement(import_ui111.Tooltip, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React127.createElement(CustomIconButton, { "aria-label": tooltipText, size, onClick, disabled }, /* @__PURE__ */ React127.createElement(import_icons41.BrushBigIcon, { fontSize: size })));
9713
+ var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */ React131.createElement(import_ui114.Tooltip, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React131.createElement(CustomIconButton, { "aria-label": tooltipText, size, onClick, disabled }, /* @__PURE__ */ React131.createElement(import_icons42.BrushBigIcon, { fontSize: size })));
9147
9714
 
9148
9715
  // src/components/repeater/repeater.tsx
9149
- var React128 = __toESM(require("react"));
9150
- var import_react76 = require("react");
9151
- var import_icons42 = require("@elementor/icons");
9152
- var import_ui112 = require("@elementor/ui");
9153
- var import_i18n64 = require("@wordpress/i18n");
9716
+ var React132 = __toESM(require("react"));
9717
+ var import_react77 = require("react");
9718
+ var import_icons43 = require("@elementor/icons");
9719
+ var import_ui115 = require("@elementor/ui");
9720
+ var import_i18n67 = require("@wordpress/i18n");
9154
9721
  var SIZE12 = "tiny";
9155
9722
  var EMPTY_OPEN_ITEM2 = -1;
9156
9723
  var Repeater3 = ({
@@ -9169,7 +9736,7 @@ var Repeater3 = ({
9169
9736
  isSortable = true,
9170
9737
  adornment = ControlAdornments
9171
9738
  }) => {
9172
- const [openItem, setOpenItem] = (0, import_react76.useState)(initialOpenItem);
9739
+ const [openItem, setOpenItem] = (0, import_react77.useState)(initialOpenItem);
9173
9740
  const uniqueKeys = items2.map(
9174
9741
  (item, index) => isSortable && "getId" in itemSettings ? itemSettings.getId({ item, index }) : String(index)
9175
9742
  );
@@ -9232,8 +9799,8 @@ var Repeater3 = ({
9232
9799
  };
9233
9800
  const isButtonDisabled = disabled || disableAddItemButton;
9234
9801
  const shouldShowInfotip = isButtonDisabled && addButtonInfotipContent;
9235
- const addButton = /* @__PURE__ */ React128.createElement(
9236
- import_ui112.IconButton,
9802
+ const addButton = /* @__PURE__ */ React132.createElement(
9803
+ import_ui115.IconButton,
9237
9804
  {
9238
9805
  size: SIZE12,
9239
9806
  sx: {
@@ -9241,32 +9808,32 @@ var Repeater3 = ({
9241
9808
  },
9242
9809
  disabled: isButtonDisabled,
9243
9810
  onClick: addRepeaterItem,
9244
- "aria-label": (0, import_i18n64.__)("Add item", "elementor")
9811
+ "aria-label": (0, import_i18n67.__)("Add item", "elementor")
9245
9812
  },
9246
- /* @__PURE__ */ React128.createElement(import_icons42.PlusIcon, { fontSize: SIZE12 })
9813
+ /* @__PURE__ */ React132.createElement(import_icons43.PlusIcon, { fontSize: SIZE12 })
9247
9814
  );
9248
- return /* @__PURE__ */ React128.createElement(SectionContent, { gap: 2 }, /* @__PURE__ */ React128.createElement(RepeaterHeader, { label, adornment }, shouldShowInfotip ? /* @__PURE__ */ React128.createElement(
9249
- import_ui112.Infotip,
9815
+ return /* @__PURE__ */ React132.createElement(SectionContent, { gap: 2 }, /* @__PURE__ */ React132.createElement(RepeaterHeader, { label, adornment }, shouldShowInfotip ? /* @__PURE__ */ React132.createElement(
9816
+ import_ui115.Infotip,
9250
9817
  {
9251
9818
  placement: "right",
9252
9819
  content: addButtonInfotipContent,
9253
9820
  color: "secondary",
9254
9821
  slotProps: { popper: { sx: { width: 300 } } }
9255
9822
  },
9256
- /* @__PURE__ */ React128.createElement(import_ui112.Box, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
9257
- ) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React128.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
9823
+ /* @__PURE__ */ React132.createElement(import_ui115.Box, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
9824
+ ) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React132.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
9258
9825
  const index = uniqueKeys.indexOf(key);
9259
9826
  const value = items2[index];
9260
9827
  if (!value) {
9261
9828
  return null;
9262
9829
  }
9263
- return /* @__PURE__ */ React128.createElement(SortableItem, { id: key, key: `sortable-${key}`, disabled: !isSortable }, /* @__PURE__ */ React128.createElement(
9830
+ return /* @__PURE__ */ React132.createElement(SortableItem, { id: key, key: `sortable-${key}`, disabled: !isSortable }, /* @__PURE__ */ React132.createElement(
9264
9831
  RepeaterItem,
9265
9832
  {
9266
9833
  disabled,
9267
9834
  propDisabled: value?.disabled,
9268
- label: /* @__PURE__ */ React128.createElement(RepeaterItemLabelSlot, { value }, /* @__PURE__ */ React128.createElement(itemSettings.Label, { value, index })),
9269
- startIcon: /* @__PURE__ */ React128.createElement(RepeaterItemIconSlot, { value }, /* @__PURE__ */ React128.createElement(itemSettings.Icon, { value })),
9835
+ label: /* @__PURE__ */ React132.createElement(RepeaterItemLabelSlot, { value }, /* @__PURE__ */ React132.createElement(itemSettings.Label, { value, index })),
9836
+ startIcon: /* @__PURE__ */ React132.createElement(RepeaterItemIconSlot, { value }, /* @__PURE__ */ React132.createElement(itemSettings.Icon, { value })),
9270
9837
  removeItem: () => removeRepeaterItem(index),
9271
9838
  duplicateItem: () => duplicateRepeaterItem(index),
9272
9839
  toggleDisableItem: () => toggleDisableRepeaterItem(index),
@@ -9280,7 +9847,7 @@ var Repeater3 = ({
9280
9847
  actions: itemSettings.actions,
9281
9848
  value
9282
9849
  },
9283
- (props) => /* @__PURE__ */ React128.createElement(
9850
+ (props) => /* @__PURE__ */ React132.createElement(
9284
9851
  itemSettings.Content,
9285
9852
  {
9286
9853
  ...props,
@@ -9320,18 +9887,18 @@ var RepeaterItem = ({
9320
9887
  },
9321
9888
  wrappedOnPopoverClose
9322
9889
  );
9323
- const triggerProps = (0, import_ui112.bindTrigger)(popoverState);
9890
+ const triggerProps = (0, import_ui115.bindTrigger)(popoverState);
9324
9891
  usePopoverDismiss({ isOpen: popoverState.isOpen, onClose: popoverProps.onClose });
9325
- const duplicateLabel = (0, import_i18n64.__)("Duplicate", "elementor");
9326
- const toggleLabel = propDisabled ? (0, import_i18n64.__)("Show", "elementor") : (0, import_i18n64.__)("Hide", "elementor");
9327
- const removeLabel = (0, import_i18n64.__)("Remove", "elementor");
9328
- return /* @__PURE__ */ React128.createElement(import_ui112.Box, { sx: { display: "contents" } }, /* @__PURE__ */ React128.createElement(
9892
+ const duplicateLabel = (0, import_i18n67.__)("Duplicate", "elementor");
9893
+ const toggleLabel = propDisabled ? (0, import_i18n67.__)("Show", "elementor") : (0, import_i18n67.__)("Hide", "elementor");
9894
+ const removeLabel = (0, import_i18n67.__)("Remove", "elementor");
9895
+ return /* @__PURE__ */ React132.createElement(import_ui115.Box, { sx: { display: "contents" } }, /* @__PURE__ */ React132.createElement(
9329
9896
  RepeaterTag,
9330
9897
  {
9331
9898
  disabled,
9332
9899
  label,
9333
9900
  ref: setRef,
9334
- "aria-label": (0, import_i18n64.__)("Open item", "elementor"),
9901
+ "aria-label": (0, import_i18n67.__)("Open item", "elementor"),
9335
9902
  ...triggerProps,
9336
9903
  onClick: (e) => {
9337
9904
  triggerProps.onClick(e);
@@ -9340,15 +9907,15 @@ var RepeaterItem = ({
9340
9907
  }
9341
9908
  },
9342
9909
  startIcon,
9343
- actions: /* @__PURE__ */ React128.createElement(React128.Fragment, null, showDuplicate && /* @__PURE__ */ React128.createElement(import_ui112.Tooltip, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React128.createElement(import_ui112.IconButton, { size: SIZE12, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React128.createElement(import_icons42.CopyIcon, { fontSize: SIZE12 }))), showToggle && /* @__PURE__ */ React128.createElement(import_ui112.Tooltip, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React128.createElement(import_ui112.IconButton, { size: SIZE12, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React128.createElement(import_icons42.EyeOffIcon, { fontSize: SIZE12 }) : /* @__PURE__ */ React128.createElement(import_icons42.EyeIcon, { fontSize: SIZE12 }))), actions?.(value), showRemove && /* @__PURE__ */ React128.createElement(import_ui112.Tooltip, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React128.createElement(import_ui112.IconButton, { size: SIZE12, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React128.createElement(import_icons42.XIcon, { fontSize: SIZE12 }))))
9910
+ actions: /* @__PURE__ */ React132.createElement(React132.Fragment, null, showDuplicate && /* @__PURE__ */ React132.createElement(import_ui115.Tooltip, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React132.createElement(import_ui115.IconButton, { size: SIZE12, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React132.createElement(import_icons43.CopyIcon, { fontSize: SIZE12 }))), showToggle && /* @__PURE__ */ React132.createElement(import_ui115.Tooltip, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React132.createElement(import_ui115.IconButton, { size: SIZE12, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React132.createElement(import_icons43.EyeOffIcon, { fontSize: SIZE12 }) : /* @__PURE__ */ React132.createElement(import_icons43.EyeIcon, { fontSize: SIZE12 }))), actions?.(value), showRemove && /* @__PURE__ */ React132.createElement(import_ui115.Tooltip, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React132.createElement(import_ui115.IconButton, { size: SIZE12, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React132.createElement(import_icons43.XIcon, { fontSize: SIZE12 }))))
9344
9911
  }
9345
- ), /* @__PURE__ */ React128.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React128.createElement(import_ui112.Box, null, children({ anchorEl: ref }))));
9912
+ ), /* @__PURE__ */ React132.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React132.createElement(import_ui115.Box, null, children({ anchorEl: ref }))));
9346
9913
  };
9347
9914
  var usePopover = (openOnMount, onOpen, onPopoverClose) => {
9348
- const [ref, setRef] = (0, import_react76.useState)(null);
9349
- const popoverState = (0, import_ui112.usePopupState)({ variant: "popover" });
9350
- const popoverProps = (0, import_ui112.bindPopover)(popoverState);
9351
- (0, import_react76.useEffect)(() => {
9915
+ const [ref, setRef] = (0, import_react77.useState)(null);
9916
+ const popoverState = (0, import_ui115.usePopupState)({ variant: "popover" });
9917
+ const popoverProps = (0, import_ui115.bindPopover)(popoverState);
9918
+ (0, import_react77.useEffect)(() => {
9352
9919
  if (openOnMount && ref) {
9353
9920
  popoverState.open(ref);
9354
9921
  onOpen?.();
@@ -9367,8 +9934,8 @@ var usePopover = (openOnMount, onOpen, onPopoverClose) => {
9367
9934
  };
9368
9935
 
9369
9936
  // src/components/size/unstable-size-field.tsx
9370
- var React131 = __toESM(require("react"));
9371
- var import_ui114 = require("@elementor/ui");
9937
+ var React135 = __toESM(require("react"));
9938
+ var import_ui117 = require("@elementor/ui");
9372
9939
 
9373
9940
  // src/hooks/use-size-value.ts
9374
9941
  var DEFAULT_UNIT2 = "px";
@@ -9410,26 +9977,26 @@ var differsFromExternal = (newState, externalState) => {
9410
9977
  };
9411
9978
 
9412
9979
  // src/components/size/unit-select.tsx
9413
- var React129 = __toESM(require("react"));
9414
- var import_react77 = require("react");
9415
- var import_editor_ui19 = require("@elementor/editor-ui");
9416
- var import_ui113 = require("@elementor/ui");
9980
+ var React133 = __toESM(require("react"));
9981
+ var import_react78 = require("react");
9982
+ var import_editor_ui20 = require("@elementor/editor-ui");
9983
+ var import_ui116 = require("@elementor/ui");
9417
9984
  var menuItemContentStyles2 = {
9418
9985
  display: "flex",
9419
9986
  flexDirection: "column",
9420
9987
  justifyContent: "center"
9421
9988
  };
9422
9989
  var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
9423
- const popupState = (0, import_ui113.usePopupState)({
9990
+ const popupState = (0, import_ui116.usePopupState)({
9424
9991
  variant: "popover",
9425
- popupId: (0, import_react77.useId)()
9992
+ popupId: (0, import_react78.useId)()
9426
9993
  });
9427
9994
  const handleMenuItemClick = (index) => {
9428
9995
  onClick(options[index]);
9429
9996
  popupState.close();
9430
9997
  };
9431
- return /* @__PURE__ */ React129.createElement(React129.Fragment, null, /* @__PURE__ */ React129.createElement(StyledButton3, { isPrimaryColor: showPrimaryColor, size: "small", ...(0, import_ui113.bindTrigger)(popupState) }, value), /* @__PURE__ */ React129.createElement(import_ui113.Menu, { MenuListProps: { dense: true }, ...(0, import_ui113.bindMenu)(popupState) }, options.map((option, index) => /* @__PURE__ */ React129.createElement(
9432
- import_editor_ui19.MenuListItem,
9998
+ return /* @__PURE__ */ React133.createElement(React133.Fragment, null, /* @__PURE__ */ React133.createElement(StyledButton3, { isPrimaryColor: showPrimaryColor, size: "small", ...(0, import_ui116.bindTrigger)(popupState) }, value), /* @__PURE__ */ React133.createElement(import_ui116.Menu, { MenuListProps: { dense: true }, ...(0, import_ui116.bindMenu)(popupState) }, options.map((option, index) => /* @__PURE__ */ React133.createElement(
9999
+ import_editor_ui20.MenuListItem,
9433
10000
  {
9434
10001
  key: option,
9435
10002
  onClick: () => handleMenuItemClick(index),
@@ -9447,7 +10014,7 @@ var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
9447
10014
  option.toUpperCase()
9448
10015
  ))));
9449
10016
  };
9450
- var StyledButton3 = (0, import_ui113.styled)(import_ui113.Button, {
10017
+ var StyledButton3 = (0, import_ui116.styled)(import_ui116.Button, {
9451
10018
  shouldForwardProp: (prop) => prop !== "isPrimaryColor"
9452
10019
  })(({ isPrimaryColor, theme }) => ({
9453
10020
  color: isPrimaryColor ? theme.palette.text.primary : theme.palette.text.tertiary,
@@ -9457,11 +10024,11 @@ var StyledButton3 = (0, import_ui113.styled)(import_ui113.Button, {
9457
10024
  }));
9458
10025
 
9459
10026
  // src/components/size/unstable-size-input.tsx
9460
- var React130 = __toESM(require("react"));
9461
- var import_react78 = require("react");
9462
- var UnstableSizeInput = (0, import_react78.forwardRef)(
10027
+ var React134 = __toESM(require("react"));
10028
+ var import_react79 = require("react");
10029
+ var UnstableSizeInput = (0, import_react79.forwardRef)(
9463
10030
  ({ type, value, onChange, onKeyDown, onKeyUp, InputProps, onBlur, focused, disabled }, ref) => {
9464
- return /* @__PURE__ */ React130.createElement(
10031
+ return /* @__PURE__ */ React134.createElement(
9465
10032
  NumberInput,
9466
10033
  {
9467
10034
  ref,
@@ -9499,7 +10066,7 @@ var UnstableSizeField = ({
9499
10066
  const shouldHighlightUnit2 = () => {
9500
10067
  return hasValue(size);
9501
10068
  };
9502
- return /* @__PURE__ */ React131.createElement(
10069
+ return /* @__PURE__ */ React135.createElement(
9503
10070
  UnstableSizeInput,
9504
10071
  {
9505
10072
  type: "number",
@@ -9508,8 +10075,8 @@ var UnstableSizeField = ({
9508
10075
  onChange: (event) => setSize(event.target.value),
9509
10076
  InputProps: {
9510
10077
  ...InputProps,
9511
- startAdornment: startIcon && /* @__PURE__ */ React131.createElement(import_ui114.InputAdornment, { position: "start" }, startIcon),
9512
- endAdornment: /* @__PURE__ */ React131.createElement(import_ui114.InputAdornment, { position: "end" }, /* @__PURE__ */ React131.createElement(
10078
+ startAdornment: startIcon && /* @__PURE__ */ React135.createElement(import_ui117.InputAdornment, { position: "start" }, startIcon),
10079
+ endAdornment: /* @__PURE__ */ React135.createElement(import_ui117.InputAdornment, { position: "end" }, /* @__PURE__ */ React135.createElement(
9513
10080
  UnitSelect,
9514
10081
  {
9515
10082
  options: units2,
@@ -9527,7 +10094,7 @@ var hasValue = (value) => {
9527
10094
  };
9528
10095
 
9529
10096
  // src/hooks/use-font-families.ts
9530
- var import_react79 = require("react");
10097
+ var import_react80 = require("react");
9531
10098
  var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
9532
10099
  var getFontControlConfig = () => {
9533
10100
  const { controls } = (0, import_editor_v1_adapters3.getElementorConfig)();
@@ -9535,7 +10102,7 @@ var getFontControlConfig = () => {
9535
10102
  };
9536
10103
  var useFontFamilies = () => {
9537
10104
  const { groups, options } = getFontControlConfig();
9538
- return (0, import_react79.useMemo)(() => {
10105
+ return (0, import_react80.useMemo)(() => {
9539
10106
  if (!groups || !options) {
9540
10107
  return [];
9541
10108
  }
@@ -9632,11 +10199,14 @@ var useFontFamilies = () => {
9632
10199
  createControlReplacementsRegistry,
9633
10200
  enqueueFont,
9634
10201
  getControlReplacements,
10202
+ getFontAwesome7IconName,
9635
10203
  injectIntoRepeaterItemActions,
9636
10204
  injectIntoRepeaterItemIcon,
9637
10205
  injectIntoRepeaterItemLabel,
9638
10206
  isUnitExtendedOption,
9639
10207
  registerControlReplacement,
10208
+ resetFontAwesome7IconsCache,
10209
+ resolveFontAwesome7Icon,
9640
10210
  trackUpgradePromotionClick,
9641
10211
  trackViewPromotion,
9642
10212
  transitionProperties,