@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.d.mts +12 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +1416 -846
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1289 -726
- package/dist/index.mjs.map +1 -1
- package/package.json +16 -16
- package/src/controls/icon-library/font-awesome-7-catalog.ts +104 -0
- package/src/controls/icon-library/font-awesome-7-data.ts +260 -0
- package/src/controls/icon-library/font-awesome-glyph.tsx +30 -0
- package/src/controls/icon-library/get-icon-library-anchor.ts +29 -0
- package/src/controls/icon-library/icon-library-popover.tsx +235 -0
- package/src/controls/icon-library/use-font-awesome-7-catalog.ts +14 -0
- package/src/controls/svg-media-control.tsx +132 -159
- package/src/controls/svg-media-overlay.tsx +137 -0
- package/src/controls/svg-media-preview.tsx +68 -0
- package/src/index.ts +6 -0
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
|
|
5380
|
-
var
|
|
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
|
|
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
|
|
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/
|
|
5439
|
-
|
|
5440
|
-
|
|
5441
|
-
|
|
5442
|
-
|
|
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
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
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
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
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
|
|
5455
|
-
|
|
5665
|
+
function createIconSelectionValue(library, name) {
|
|
5666
|
+
return `${library} fa-${name}`;
|
|
5456
5667
|
}
|
|
5457
|
-
function
|
|
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
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
|
|
5546
|
-
|
|
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
|
-
|
|
5556
|
-
|
|
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
|
-
|
|
5565
|
-
|
|
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
|
-
|
|
5573
|
-
|
|
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
|
-
|
|
5576
|
-
|
|
5577
|
-
|
|
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__ */
|
|
5582
|
-
|
|
6169
|
+
/* @__PURE__ */ React85.createElement(
|
|
6170
|
+
IconLibraryPopover,
|
|
5583
6171
|
{
|
|
5584
|
-
|
|
5585
|
-
|
|
5586
|
-
|
|
5587
|
-
|
|
5588
|
-
|
|
5589
|
-
|
|
5590
|
-
|
|
5591
|
-
)
|
|
5592
|
-
|
|
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
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
|
|
5599
|
-
|
|
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
|
-
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
6223
|
+
var React86 = __toESM(require("react"));
|
|
5657
6224
|
var import_editor_props36 = require("@elementor/editor-props");
|
|
5658
|
-
var
|
|
5659
|
-
var
|
|
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
|
|
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__ */
|
|
5692
|
-
|
|
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__ */
|
|
5707
|
-
), /* @__PURE__ */
|
|
5708
|
-
|
|
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,
|
|
5716
|
-
), /* @__PURE__ */
|
|
5717
|
-
|
|
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__ */
|
|
6289
|
+
startIcon: /* @__PURE__ */ React86.createElement(import_icons23.UploadIcon, null),
|
|
5723
6290
|
onClick: () => open({ mode: "upload" })
|
|
5724
6291
|
},
|
|
5725
|
-
(0,
|
|
5726
|
-
), /* @__PURE__ */
|
|
5727
|
-
|
|
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,
|
|
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__ */
|
|
6306
|
+
return /* @__PURE__ */ React86.createElement(import_ui68.CircularProgress, null);
|
|
5740
6307
|
}
|
|
5741
6308
|
if (videoUrl) {
|
|
5742
|
-
return /* @__PURE__ */
|
|
6309
|
+
return /* @__PURE__ */ React86.createElement(
|
|
5743
6310
|
"video",
|
|
5744
6311
|
{
|
|
5745
|
-
"aria-label": (0,
|
|
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__ */
|
|
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
|
|
6329
|
+
var React93 = __toESM(require("react"));
|
|
5763
6330
|
var import_editor_props42 = require("@elementor/editor-props");
|
|
5764
|
-
var
|
|
5765
|
-
var
|
|
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
|
|
6335
|
+
var React92 = __toESM(require("react"));
|
|
5769
6336
|
var import_editor_props41 = require("@elementor/editor-props");
|
|
5770
|
-
var
|
|
6337
|
+
var import_ui75 = require("@elementor/ui");
|
|
5771
6338
|
var import_wp_media4 = require("@elementor/wp-media");
|
|
5772
|
-
var
|
|
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
|
|
6346
|
+
var React87 = __toESM(require("react"));
|
|
5780
6347
|
var import_editor_props37 = require("@elementor/editor-props");
|
|
5781
|
-
var
|
|
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__ */
|
|
5820
|
-
|
|
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
|
|
5845
|
-
var
|
|
5846
|
-
var
|
|
5847
|
-
var
|
|
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,
|
|
5852
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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,
|
|
5858
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
5868
|
-
var
|
|
6434
|
+
var React89 = __toESM(require("react"));
|
|
6435
|
+
var import_react51 = require("react");
|
|
5869
6436
|
var import_editor_props38 = require("@elementor/editor-props");
|
|
5870
|
-
var
|
|
5871
|
-
var
|
|
5872
|
-
var
|
|
5873
|
-
var
|
|
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,
|
|
5876
|
-
{ label: (0,
|
|
5877
|
-
{ label: (0,
|
|
5878
|
-
{ label: (0,
|
|
5879
|
-
{ label: (0,
|
|
5880
|
-
{ label: (0,
|
|
5881
|
-
{ label: (0,
|
|
5882
|
-
{ label: (0,
|
|
5883
|
-
{ label: (0,
|
|
5884
|
-
{ label: (0,
|
|
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,
|
|
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__ */
|
|
5900
|
-
|
|
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__ */
|
|
5909
|
-
))))), isCustom ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
5928
|
-
var
|
|
5929
|
-
var
|
|
5930
|
-
var
|
|
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,
|
|
5935
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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,
|
|
5941
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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,
|
|
5947
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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,
|
|
5953
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
5963
|
-
var
|
|
6529
|
+
var React91 = __toESM(require("react"));
|
|
6530
|
+
var import_react52 = require("react");
|
|
5964
6531
|
var import_editor_props39 = require("@elementor/editor-props");
|
|
5965
|
-
var
|
|
5966
|
-
var
|
|
5967
|
-
var
|
|
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,
|
|
5972
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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,
|
|
5978
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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,
|
|
5984
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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,
|
|
5990
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
6585
|
+
startIcon: /* @__PURE__ */ React91.createElement(import_icons27.ArrowsMoveHorizontalIcon, { fontSize: "tiny" }),
|
|
6019
6586
|
extendedOptions: ["auto"],
|
|
6020
6587
|
anchorRef: rowRef
|
|
6021
6588
|
}
|
|
6022
|
-
))), /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
6600
|
+
var import_react53 = require("react");
|
|
6034
6601
|
var import_editor_props40 = require("@elementor/editor-props");
|
|
6035
|
-
var
|
|
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,
|
|
6054
|
-
const valuesHistory = (0,
|
|
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,
|
|
6123
|
-
{ label: (0,
|
|
6124
|
-
{ label: (0,
|
|
6125
|
-
{ label: (0,
|
|
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__ */
|
|
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__ */
|
|
6136
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
6155
|
-
|
|
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,
|
|
6727
|
+
"aria-label": (0, import_i18n41.__)("Background Overlay", "elementor")
|
|
6161
6728
|
},
|
|
6162
|
-
/* @__PURE__ */
|
|
6163
|
-
/* @__PURE__ */
|
|
6164
|
-
/* @__PURE__ */
|
|
6165
|
-
)), /* @__PURE__ */
|
|
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__ */
|
|
6737
|
+
return /* @__PURE__ */ React92.createElement(ItemIconImage, { value });
|
|
6171
6738
|
case "background-color-overlay":
|
|
6172
|
-
return /* @__PURE__ */
|
|
6739
|
+
return /* @__PURE__ */ React92.createElement(ItemIconColor, { value });
|
|
6173
6740
|
case "background-gradient-overlay":
|
|
6174
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
6192
|
-
|
|
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__ */
|
|
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__ */
|
|
6778
|
+
return /* @__PURE__ */ React92.createElement(ItemLabelImage, { value });
|
|
6212
6779
|
case "background-color-overlay":
|
|
6213
|
-
return /* @__PURE__ */
|
|
6780
|
+
return /* @__PURE__ */ React92.createElement(ItemLabelColor, { value });
|
|
6214
6781
|
case "background-gradient-overlay":
|
|
6215
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
6789
|
+
return /* @__PURE__ */ React92.createElement("span", null, color);
|
|
6223
6790
|
};
|
|
6224
6791
|
var ItemLabelImage = ({ value }) => {
|
|
6225
6792
|
const { imageTitle } = useImage(value);
|
|
6226
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
6797
|
+
return /* @__PURE__ */ React92.createElement("span", null, (0, import_i18n41.__)("Linear Gradient", "elementor"));
|
|
6231
6798
|
}
|
|
6232
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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,
|
|
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,
|
|
6282
|
-
{ label: (0,
|
|
6283
|
-
{ label: (0,
|
|
6284
|
-
{ label: (0,
|
|
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,
|
|
6287
|
-
var clipLabel = (0,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
6301
|
-
var
|
|
6867
|
+
var React94 = __toESM(require("react"));
|
|
6868
|
+
var import_react54 = require("react");
|
|
6302
6869
|
var import_editor_props43 = require("@elementor/editor-props");
|
|
6303
|
-
var
|
|
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,
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
6926
|
+
/* @__PURE__ */ React94.createElement(EditItemPopover, null, /* @__PURE__ */ React94.createElement(Content2, null))
|
|
6360
6927
|
)));
|
|
6361
6928
|
}
|
|
6362
6929
|
);
|
|
6363
|
-
var ItemIcon3 = () => /* @__PURE__ */
|
|
6930
|
+
var ItemIcon3 = () => /* @__PURE__ */ React94.createElement(React94.Fragment, null);
|
|
6364
6931
|
var Content2 = () => {
|
|
6365
6932
|
const { component: ChildControl, props = {} } = useRepeatableControlContext();
|
|
6366
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
6458
|
-
var
|
|
7024
|
+
var React95 = __toESM(require("react"));
|
|
7025
|
+
var import_react55 = require("react");
|
|
6459
7026
|
var import_editor_props44 = require("@elementor/editor-props");
|
|
6460
|
-
var
|
|
6461
|
-
var
|
|
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,
|
|
6486
|
-
const [valueError, setValueError] = (0,
|
|
6487
|
-
const [sessionState, setSessionState] = (0,
|
|
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,
|
|
6492
|
-
const valueLabel = props.valueName || (0,
|
|
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,
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
7132
|
+
)), !!valueError && /* @__PURE__ */ React95.createElement(import_ui78.FormHelperText, { error: true }, valueError))));
|
|
6566
7133
|
});
|
|
6567
7134
|
|
|
6568
7135
|
// src/controls/position-control.tsx
|
|
6569
|
-
var
|
|
7136
|
+
var React96 = __toESM(require("react"));
|
|
6570
7137
|
var import_editor_props45 = require("@elementor/editor-props");
|
|
6571
|
-
var
|
|
6572
|
-
var
|
|
6573
|
-
var
|
|
6574
|
-
var
|
|
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,
|
|
6577
|
-
{ label: (0,
|
|
6578
|
-
{ label: (0,
|
|
6579
|
-
{ label: (0,
|
|
6580
|
-
{ label: (0,
|
|
6581
|
-
{ label: (0,
|
|
6582
|
-
{ label: (0,
|
|
6583
|
-
{ label: (0,
|
|
6584
|
-
{ label: (0,
|
|
6585
|
-
{ label: (0,
|
|
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__ */
|
|
6601
|
-
|
|
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__ */
|
|
6612
|
-
)))), isCustom && /* @__PURE__ */
|
|
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__ */
|
|
7182
|
+
startIcon: /* @__PURE__ */ React96.createElement(import_icons28.LetterXIcon, { fontSize: "tiny" }),
|
|
6616
7183
|
min: -Number.MAX_SAFE_INTEGER
|
|
6617
7184
|
}
|
|
6618
|
-
))), /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
6629
|
-
var
|
|
7195
|
+
var React109 = __toESM(require("react"));
|
|
7196
|
+
var import_react63 = require("react");
|
|
6630
7197
|
var import_editor_props54 = require("@elementor/editor-props");
|
|
6631
|
-
var
|
|
6632
|
-
var
|
|
6633
|
-
var
|
|
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
|
|
6683
|
-
var
|
|
6684
|
-
var
|
|
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
|
|
6688
|
-
var
|
|
7254
|
+
var React98 = __toESM(require("react"));
|
|
7255
|
+
var import_react56 = require("react");
|
|
6689
7256
|
var import_editor_props47 = require("@elementor/editor-props");
|
|
6690
|
-
var
|
|
6691
|
-
var
|
|
6692
|
-
var
|
|
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
|
|
6696
|
-
var
|
|
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__ */
|
|
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,
|
|
7282
|
+
label: (0, import_i18n45.__)("Move X", "elementor"),
|
|
6716
7283
|
bind: "x",
|
|
6717
|
-
startIcon: /* @__PURE__ */
|
|
7284
|
+
startIcon: /* @__PURE__ */ React98.createElement(import_icons29.ArrowRightIcon, { fontSize: "tiny" }),
|
|
6718
7285
|
units: ["px", "%", "em", "rem", "vw"]
|
|
6719
7286
|
},
|
|
6720
7287
|
{
|
|
6721
|
-
label: (0,
|
|
7288
|
+
label: (0, import_i18n45.__)("Move Y", "elementor"),
|
|
6722
7289
|
bind: "y",
|
|
6723
|
-
startIcon: /* @__PURE__ */
|
|
7290
|
+
startIcon: /* @__PURE__ */ React98.createElement(import_icons29.ArrowDownSmallIcon, { fontSize: "tiny" }),
|
|
6724
7291
|
units: ["px", "%", "em", "rem", "vh"]
|
|
6725
7292
|
},
|
|
6726
7293
|
{
|
|
6727
|
-
label: (0,
|
|
7294
|
+
label: (0, import_i18n45.__)("Move Z", "elementor"),
|
|
6728
7295
|
bind: "z",
|
|
6729
|
-
startIcon: /* @__PURE__ */
|
|
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,
|
|
6736
|
-
return /* @__PURE__ */
|
|
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
|
|
6750
|
-
var
|
|
6751
|
-
var import_editor_props48 = require("@elementor/editor-props");
|
|
6752
|
-
var
|
|
6753
|
-
var
|
|
6754
|
-
var
|
|
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,
|
|
7324
|
+
label: (0, import_i18n46.__)("Rotate X", "elementor"),
|
|
6758
7325
|
bind: "x",
|
|
6759
|
-
startIcon: /* @__PURE__ */
|
|
7326
|
+
startIcon: /* @__PURE__ */ React99.createElement(import_icons30.Arrow360Icon, { fontSize: "tiny" })
|
|
6760
7327
|
},
|
|
6761
7328
|
{
|
|
6762
|
-
label: (0,
|
|
7329
|
+
label: (0, import_i18n46.__)("Rotate Y", "elementor"),
|
|
6763
7330
|
bind: "y",
|
|
6764
|
-
startIcon: /* @__PURE__ */
|
|
7331
|
+
startIcon: /* @__PURE__ */ React99.createElement(import_icons30.Arrow360Icon, { fontSize: "tiny", style: { transform: "scaleX(-1) rotate(-90deg)" } })
|
|
6765
7332
|
},
|
|
6766
7333
|
{
|
|
6767
|
-
label: (0,
|
|
7334
|
+
label: (0, import_i18n46.__)("Rotate Z", "elementor"),
|
|
6768
7335
|
bind: "z",
|
|
6769
|
-
startIcon: /* @__PURE__ */
|
|
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,
|
|
6776
|
-
return /* @__PURE__ */
|
|
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
|
|
6789
|
-
var
|
|
7355
|
+
var React101 = __toESM(require("react"));
|
|
7356
|
+
var import_react58 = require("react");
|
|
6790
7357
|
var import_editor_props49 = require("@elementor/editor-props");
|
|
6791
|
-
var
|
|
6792
|
-
var
|
|
6793
|
-
var
|
|
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
|
|
6797
|
-
var
|
|
7363
|
+
var React100 = __toESM(require("react"));
|
|
7364
|
+
var import_ui83 = require("@elementor/ui");
|
|
6798
7365
|
var ScaleAxisRow = ({ label, bind, startIcon, anchorRef }) => {
|
|
6799
|
-
return /* @__PURE__ */
|
|
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,
|
|
7372
|
+
label: (0, import_i18n47.__)("Scale X", "elementor"),
|
|
6806
7373
|
bind: "x",
|
|
6807
|
-
startIcon: /* @__PURE__ */
|
|
7374
|
+
startIcon: /* @__PURE__ */ React101.createElement(import_icons31.ArrowRightIcon, { fontSize: "tiny" })
|
|
6808
7375
|
},
|
|
6809
7376
|
{
|
|
6810
|
-
label: (0,
|
|
7377
|
+
label: (0, import_i18n47.__)("Scale Y", "elementor"),
|
|
6811
7378
|
bind: "y",
|
|
6812
|
-
startIcon: /* @__PURE__ */
|
|
7379
|
+
startIcon: /* @__PURE__ */ React101.createElement(import_icons31.ArrowDownSmallIcon, { fontSize: "tiny" })
|
|
6813
7380
|
},
|
|
6814
7381
|
{
|
|
6815
|
-
label: (0,
|
|
7382
|
+
label: (0, import_i18n47.__)("Scale Z", "elementor"),
|
|
6816
7383
|
bind: "z",
|
|
6817
|
-
startIcon: /* @__PURE__ */
|
|
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,
|
|
6823
|
-
return /* @__PURE__ */
|
|
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
|
|
6828
|
-
var
|
|
7394
|
+
var React102 = __toESM(require("react"));
|
|
7395
|
+
var import_react59 = require("react");
|
|
6829
7396
|
var import_editor_props50 = require("@elementor/editor-props");
|
|
6830
|
-
var
|
|
6831
|
-
var
|
|
6832
|
-
var
|
|
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,
|
|
7402
|
+
label: (0, import_i18n48.__)("Skew X", "elementor"),
|
|
6836
7403
|
bind: "x",
|
|
6837
|
-
startIcon: /* @__PURE__ */
|
|
7404
|
+
startIcon: /* @__PURE__ */ React102.createElement(import_icons32.ArrowRightIcon, { fontSize: "tiny" })
|
|
6838
7405
|
},
|
|
6839
7406
|
{
|
|
6840
|
-
label: (0,
|
|
7407
|
+
label: (0, import_i18n48.__)("Skew Y", "elementor"),
|
|
6841
7408
|
bind: "y",
|
|
6842
|
-
startIcon: /* @__PURE__ */
|
|
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,
|
|
6849
|
-
return /* @__PURE__ */
|
|
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
|
|
7428
|
+
var import_react60 = require("react");
|
|
6862
7429
|
var import_editor_props51 = require("@elementor/editor-props");
|
|
6863
|
-
var
|
|
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,
|
|
6888
|
-
const valuesHistory = (0,
|
|
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__ */
|
|
6950
|
-
|
|
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,
|
|
7527
|
+
"aria-label": (0, import_i18n49.__)("Transform", "elementor")
|
|
6961
7528
|
},
|
|
6962
|
-
/* @__PURE__ */
|
|
6963
|
-
/* @__PURE__ */
|
|
6964
|
-
/* @__PURE__ */
|
|
6965
|
-
/* @__PURE__ */
|
|
6966
|
-
)), /* @__PURE__ */
|
|
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
|
|
6971
|
-
var
|
|
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__ */
|
|
7542
|
+
return /* @__PURE__ */ React104.createElement(import_icons33.ArrowsMaximizeIcon, { fontSize: "tiny" });
|
|
6976
7543
|
case TransformFunctionKeys.scale:
|
|
6977
|
-
return /* @__PURE__ */
|
|
7544
|
+
return /* @__PURE__ */ React104.createElement(import_icons33.ArrowAutofitHeightIcon, { fontSize: "tiny" });
|
|
6978
7545
|
case TransformFunctionKeys.rotate:
|
|
6979
|
-
return /* @__PURE__ */
|
|
7546
|
+
return /* @__PURE__ */ React104.createElement(import_icons33.RotateClockwise2Icon, { fontSize: "tiny" });
|
|
6980
7547
|
case TransformFunctionKeys.skew:
|
|
6981
|
-
return /* @__PURE__ */
|
|
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
|
|
6989
|
-
var
|
|
6990
|
-
var
|
|
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__ */
|
|
7575
|
+
return /* @__PURE__ */ React105.createElement(Label2, { label: (0, import_i18n50.__)("Move", "elementor"), value: formatLabel(value, "move") });
|
|
7009
7576
|
case TransformFunctionKeys.scale:
|
|
7010
|
-
return /* @__PURE__ */
|
|
7577
|
+
return /* @__PURE__ */ React105.createElement(Label2, { label: (0, import_i18n50.__)("Scale", "elementor"), value: formatLabel(value, "scale") });
|
|
7011
7578
|
case TransformFunctionKeys.rotate:
|
|
7012
|
-
return /* @__PURE__ */
|
|
7579
|
+
return /* @__PURE__ */ React105.createElement(Label2, { label: (0, import_i18n50.__)("Rotate", "elementor"), value: formatLabel(value, "rotate") });
|
|
7013
7580
|
case TransformFunctionKeys.skew:
|
|
7014
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
7025
|
-
var
|
|
7026
|
-
var
|
|
7027
|
-
var
|
|
7028
|
-
var
|
|
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
|
|
7032
|
-
var
|
|
7598
|
+
var React106 = __toESM(require("react"));
|
|
7599
|
+
var import_react61 = require("react");
|
|
7033
7600
|
var import_editor_props52 = require("@elementor/editor-props");
|
|
7034
|
-
var
|
|
7035
|
-
var
|
|
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,
|
|
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,
|
|
7611
|
+
label: (0, import_i18n51.__)("Origin X", "elementor"),
|
|
7045
7612
|
bind: "x",
|
|
7046
7613
|
units: ORIGIN_UNITS
|
|
7047
7614
|
},
|
|
7048
7615
|
{
|
|
7049
|
-
label: (0,
|
|
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__ */
|
|
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__ */
|
|
7058
|
-
var PerspectiveOriginControl = () => /* @__PURE__ */
|
|
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__ */
|
|
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,
|
|
7065
|
-
return /* @__PURE__ */
|
|
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
|
|
7070
|
-
var
|
|
7636
|
+
var React107 = __toESM(require("react"));
|
|
7637
|
+
var import_react62 = require("react");
|
|
7071
7638
|
var import_editor_props53 = require("@elementor/editor-props");
|
|
7072
|
-
var
|
|
7073
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
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__ */
|
|
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,
|
|
7099
|
-
return /* @__PURE__ */
|
|
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,
|
|
7676
|
+
const popupProps = (0, import_ui91.bindPopover)({
|
|
7110
7677
|
...popupState,
|
|
7111
7678
|
anchorEl: anchorRef.current ?? void 0
|
|
7112
7679
|
});
|
|
7113
|
-
return /* @__PURE__ */
|
|
7114
|
-
|
|
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__ */
|
|
7129
|
-
|
|
7695
|
+
/* @__PURE__ */ React108.createElement(
|
|
7696
|
+
import_editor_ui14.PopoverHeader,
|
|
7130
7697
|
{
|
|
7131
|
-
title: (0,
|
|
7698
|
+
title: (0, import_i18n53.__)("Transform settings", "elementor"),
|
|
7132
7699
|
onClose: popupState.close,
|
|
7133
|
-
icon: /* @__PURE__ */
|
|
7700
|
+
icon: /* @__PURE__ */ React108.createElement(import_icons34.AdjustmentsIcon, { fontSize: SIZE10 })
|
|
7134
7701
|
}
|
|
7135
7702
|
),
|
|
7136
|
-
/* @__PURE__ */
|
|
7137
|
-
/* @__PURE__ */
|
|
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,
|
|
7147
|
-
const popupState = (0,
|
|
7148
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
7159
|
-
|
|
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__ */
|
|
7166
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
7753
|
+
/* @__PURE__ */ React109.createElement(
|
|
7187
7754
|
RepeaterHeader,
|
|
7188
7755
|
{
|
|
7189
|
-
label: (0,
|
|
7190
|
-
adornment: () => /* @__PURE__ */
|
|
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__ */
|
|
7194
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
7776
|
+
actions: /* @__PURE__ */ React109.createElement(React109.Fragment, null, /* @__PURE__ */ React109.createElement(DisableItemAction, null), /* @__PURE__ */ React109.createElement(RemoveItemAction, null))
|
|
7210
7777
|
}
|
|
7211
7778
|
)),
|
|
7212
|
-
/* @__PURE__ */
|
|
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,
|
|
7221
|
-
return bind !== repeaterBindKey ? null : /* @__PURE__ */
|
|
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
|
|
7226
|
-
var
|
|
7792
|
+
var React112 = __toESM(require("react"));
|
|
7793
|
+
var import_react66 = require("react");
|
|
7227
7794
|
var import_editor_props57 = require("@elementor/editor-props");
|
|
7228
|
-
var
|
|
7229
|
-
var
|
|
7230
|
-
var
|
|
7231
|
-
var
|
|
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
|
|
7235
|
-
var
|
|
7801
|
+
var React110 = __toESM(require("react"));
|
|
7802
|
+
var import_react64 = require("react");
|
|
7236
7803
|
var import_editor_props55 = require("@elementor/editor-props");
|
|
7237
|
-
var
|
|
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,
|
|
7808
|
+
const rowRef = (0, import_react64.useRef)(null);
|
|
7242
7809
|
const sizeFieldId = sizeLabel.replace(/\s+/g, "-").toLowerCase();
|
|
7243
|
-
const currentSizeConfig = (0,
|
|
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__ */
|
|
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
|
|
7269
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
7865
|
+
label: (0, import_i18n55.__)("Default", "elementor"),
|
|
7299
7866
|
type: "category",
|
|
7300
|
-
properties: [{ label: (0,
|
|
7867
|
+
properties: [{ label: (0, import_i18n55.__)("All properties", "elementor"), value: "all" }]
|
|
7301
7868
|
},
|
|
7302
7869
|
{
|
|
7303
|
-
label: (0,
|
|
7870
|
+
label: (0, import_i18n55.__)("Margin", "elementor"),
|
|
7304
7871
|
type: "category",
|
|
7305
7872
|
properties: [
|
|
7306
|
-
{ label: (0,
|
|
7307
|
-
{ label: (0,
|
|
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,
|
|
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,
|
|
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,
|
|
7885
|
+
{ label: (0, import_i18n55.__)("Margin top", "elementor"), value: "margin-block-start", isDisabled: true }
|
|
7319
7886
|
]
|
|
7320
7887
|
},
|
|
7321
7888
|
{
|
|
7322
|
-
label: (0,
|
|
7889
|
+
label: (0, import_i18n55.__)("Padding", "elementor"),
|
|
7323
7890
|
type: "category",
|
|
7324
7891
|
properties: [
|
|
7325
|
-
{ label: (0,
|
|
7326
|
-
{ label: (0,
|
|
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,
|
|
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,
|
|
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,
|
|
7904
|
+
{ label: (0, import_i18n55.__)("Padding top", "elementor"), value: "padding-block-start", isDisabled: true }
|
|
7338
7905
|
]
|
|
7339
7906
|
},
|
|
7340
7907
|
{
|
|
7341
|
-
label: (0,
|
|
7908
|
+
label: (0, import_i18n55.__)("Flex", "elementor"),
|
|
7342
7909
|
type: "category",
|
|
7343
7910
|
properties: [
|
|
7344
|
-
{ label: (0,
|
|
7345
|
-
{ label: (0,
|
|
7346
|
-
{ label: (0,
|
|
7347
|
-
{ label: (0,
|
|
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,
|
|
7918
|
+
label: (0, import_i18n55.__)("Size", "elementor"),
|
|
7352
7919
|
type: "category",
|
|
7353
7920
|
properties: [
|
|
7354
|
-
{ label: (0,
|
|
7355
|
-
{ label: (0,
|
|
7356
|
-
{ label: (0,
|
|
7357
|
-
{ label: (0,
|
|
7358
|
-
{ label: (0,
|
|
7359
|
-
{ label: (0,
|
|
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,
|
|
7930
|
+
label: (0, import_i18n55.__)("Position", "elementor"),
|
|
7364
7931
|
type: "category",
|
|
7365
7932
|
properties: [
|
|
7366
|
-
{ label: (0,
|
|
7933
|
+
{ label: (0, import_i18n55.__)("Top", "elementor"), value: "inset-block-start", isDisabled: true },
|
|
7367
7934
|
{
|
|
7368
|
-
label: isSiteRtl ? (0,
|
|
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,
|
|
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,
|
|
7378
|
-
{ label: (0,
|
|
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,
|
|
7949
|
+
label: (0, import_i18n55.__)("Typography", "elementor"),
|
|
7383
7950
|
type: "category",
|
|
7384
7951
|
properties: [
|
|
7385
|
-
{ label: (0,
|
|
7386
|
-
{ label: (0,
|
|
7387
|
-
{ label: (0,
|
|
7388
|
-
{ label: (0,
|
|
7389
|
-
{ label: (0,
|
|
7390
|
-
{ label: (0,
|
|
7391
|
-
{ label: (0,
|
|
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,
|
|
7962
|
+
label: (0, import_i18n55.__)("Background", "elementor"),
|
|
7396
7963
|
type: "category",
|
|
7397
7964
|
properties: [
|
|
7398
|
-
{ label: (0,
|
|
7399
|
-
{ label: (0,
|
|
7400
|
-
{ label: (0,
|
|
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,
|
|
7971
|
+
label: (0, import_i18n55.__)("Border", "elementor"),
|
|
7405
7972
|
type: "category",
|
|
7406
7973
|
properties: [
|
|
7407
|
-
{ label: (0,
|
|
7408
|
-
{ label: (0,
|
|
7409
|
-
{ label: (0,
|
|
7410
|
-
{ label: (0,
|
|
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,
|
|
7981
|
+
label: (0, import_i18n55.__)("Effects", "elementor"),
|
|
7415
7982
|
type: "category",
|
|
7416
7983
|
properties: [
|
|
7417
|
-
{ label: (0,
|
|
7418
|
-
{ label: (0,
|
|
7419
|
-
{ label: (0,
|
|
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
|
|
7456
|
-
var
|
|
8022
|
+
var React111 = __toESM(require("react"));
|
|
8023
|
+
var import_react65 = require("react");
|
|
7457
8024
|
var import_editor_props56 = require("@elementor/editor-props");
|
|
7458
|
-
var
|
|
7459
|
-
var
|
|
7460
|
-
var
|
|
7461
|
-
var
|
|
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,
|
|
7543
|
-
const popoverState = (0,
|
|
7544
|
-
const disabledCategories = (0,
|
|
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,
|
|
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__ */
|
|
7589
|
-
|
|
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__ */
|
|
7594
|
-
...(0,
|
|
8160
|
+
endIcon: /* @__PURE__ */ React111.createElement(import_icons36.ChevronDownIcon, { fontSize: "tiny" }),
|
|
8161
|
+
...(0, import_ui94.bindTrigger)(popoverState),
|
|
7595
8162
|
fullWidth: true
|
|
7596
8163
|
}
|
|
7597
|
-
)), /* @__PURE__ */
|
|
7598
|
-
|
|
8164
|
+
)), /* @__PURE__ */ React111.createElement(
|
|
8165
|
+
import_ui94.Popover,
|
|
7599
8166
|
{
|
|
7600
8167
|
disablePortal: true,
|
|
7601
8168
|
disableScrollLock: true,
|
|
7602
|
-
...(0,
|
|
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__ */
|
|
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,
|
|
7617
|
-
icon:
|
|
8183
|
+
title: (0, import_i18n56.__)("Transition Property", "elementor"),
|
|
8184
|
+
icon: import_icons36.VariationsIcon,
|
|
7618
8185
|
disabledItems: includeCurrentValueInOptions(value, disabledItems),
|
|
7619
|
-
categoryItemContentTemplate: (item) => /* @__PURE__ */
|
|
7620
|
-
|
|
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__ */
|
|
7630
|
-
showPromotion && disabledCategories.has(item.value) && /* @__PURE__ */
|
|
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__ */
|
|
7633
|
-
|
|
8199
|
+
footer: showPromotion ? /* @__PURE__ */ React111.createElement(
|
|
8200
|
+
import_editor_ui15.PromotionAlert,
|
|
7634
8201
|
{
|
|
7635
|
-
message: (0,
|
|
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,
|
|
7675
|
-
sizeLabel: (0,
|
|
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__ */
|
|
7752
|
-
|
|
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__ */
|
|
8326
|
+
icon: /* @__PURE__ */ React112.createElement(import_icons37.InfoCircleFilledIcon, null)
|
|
7760
8327
|
},
|
|
7761
|
-
/* @__PURE__ */
|
|
7762
|
-
/* @__PURE__ */
|
|
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,
|
|
7771
|
-
const proInstalled = (0,
|
|
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,
|
|
8340
|
+
const { allDisabled: disabledItems, proDisabled: proDisabledItems } = (0, import_react66.useMemo)(
|
|
7774
8341
|
() => getDisabledItemLabels(value),
|
|
7775
8342
|
[value]
|
|
7776
8343
|
);
|
|
7777
|
-
const allowedTransitionSet = (0,
|
|
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,
|
|
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,
|
|
8367
|
+
(0, import_react66.useEffect)(() => {
|
|
7801
8368
|
recentlyUsedListGetter().then(setRecentlyUsedList);
|
|
7802
8369
|
}, [recentlyUsedListGetter]);
|
|
7803
|
-
const allPropertiesUsed = (0,
|
|
8370
|
+
const allPropertiesUsed = (0, import_react66.useMemo)(() => areAllPropertiesUsed(value), [value]);
|
|
7804
8371
|
const isAddItemDisabled = !currentStyleIsNormal || allPropertiesUsed;
|
|
7805
|
-
return /* @__PURE__ */
|
|
8372
|
+
return /* @__PURE__ */ React112.createElement(
|
|
7806
8373
|
RepeatableControl,
|
|
7807
8374
|
{
|
|
7808
|
-
label: (0,
|
|
7809
|
-
repeaterLabel: (0,
|
|
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,
|
|
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
|
|
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
|
|
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__ */
|
|
7881
|
-
|
|
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__ */
|
|
7893
|
-
|
|
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
|
|
8475
|
+
var React115 = __toESM(require("react"));
|
|
7909
8476
|
var import_editor_props61 = require("@elementor/editor-props");
|
|
7910
|
-
var
|
|
7911
|
-
var
|
|
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
|
|
8481
|
+
var React114 = __toESM(require("react"));
|
|
7915
8482
|
var import_editor_props60 = require("@elementor/editor-props");
|
|
7916
|
-
var
|
|
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__ */
|
|
7974
|
-
|
|
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,
|
|
7988
|
-
max: (0,
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
8594
|
+
var React116 = __toESM(require("react"));
|
|
8028
8595
|
var import_editor_props62 = require("@elementor/editor-props");
|
|
8029
|
-
var
|
|
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__ */
|
|
8056
|
-
|
|
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
|
|
8635
|
+
var React117 = __toESM(require("react"));
|
|
8069
8636
|
var import_editor_props63 = require("@elementor/editor-props");
|
|
8070
|
-
var
|
|
8071
|
-
var
|
|
8637
|
+
var import_ui100 = require("@elementor/ui");
|
|
8638
|
+
var import_i18n59 = require("@wordpress/i18n");
|
|
8072
8639
|
var RANGE_LABELS2 = {
|
|
8073
|
-
min: (0,
|
|
8074
|
-
max: (0,
|
|
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__ */
|
|
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__ */
|
|
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
|
|
8086
|
-
var
|
|
8652
|
+
var React121 = __toESM(require("react"));
|
|
8653
|
+
var import_react72 = require("react");
|
|
8087
8654
|
var import_editor_props65 = require("@elementor/editor-props");
|
|
8088
|
-
var
|
|
8655
|
+
var import_ui104 = require("@elementor/ui");
|
|
8089
8656
|
|
|
8090
8657
|
// src/components/inline-editor.tsx
|
|
8091
|
-
var
|
|
8092
|
-
var
|
|
8093
|
-
var
|
|
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
|
|
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 =
|
|
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,
|
|
8156
|
-
const onBlurRef = (0,
|
|
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,
|
|
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__ */
|
|
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,
|
|
8255
|
-
(0,
|
|
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
|
|
8266
|
-
var
|
|
8832
|
+
var React120 = __toESM(require("react"));
|
|
8833
|
+
var import_react70 = require("react");
|
|
8267
8834
|
var import_editor_elements7 = require("@elementor/editor-elements");
|
|
8268
|
-
var
|
|
8269
|
-
var
|
|
8270
|
-
var
|
|
8271
|
-
var
|
|
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
|
|
8275
|
-
var
|
|
8276
|
-
var
|
|
8277
|
-
var
|
|
8278
|
-
var
|
|
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,
|
|
8289
|
-
(0,
|
|
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__ */
|
|
8299
|
-
|
|
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,
|
|
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__ */
|
|
8310
|
-
|
|
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,
|
|
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__ */
|
|
8323
|
-
|
|
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,
|
|
8896
|
+
"aria-label": (0, import_i18n60.__)("Open in a new tab", "elementor"),
|
|
8330
8897
|
sx: { borderRadius: "8px" }
|
|
8331
8898
|
},
|
|
8332
|
-
/* @__PURE__ */
|
|
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,
|
|
8345
|
-
const [openInNewTab, setOpenInNewTab] = (0,
|
|
8346
|
-
const toolbarRef = (0,
|
|
8347
|
-
const linkPopupState = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
8957
|
+
(0, import_react70.useEffect)(() => {
|
|
8391
8958
|
if (!inControlPanel) {
|
|
8392
8959
|
editor?.commands?.focus();
|
|
8393
8960
|
}
|
|
8394
8961
|
}, [editor, inControlPanel]);
|
|
8395
|
-
return /* @__PURE__ */
|
|
8396
|
-
|
|
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__ */
|
|
8430
|
-
/* @__PURE__ */
|
|
8431
|
-
|
|
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
|
-
[`& .${
|
|
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__ */
|
|
8461
|
-
|
|
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__ */
|
|
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,
|
|
8502
|
-
icon: /* @__PURE__ */
|
|
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,
|
|
8510
|
-
icon: /* @__PURE__ */
|
|
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,
|
|
8518
|
-
icon: /* @__PURE__ */
|
|
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,
|
|
8526
|
-
icon: /* @__PURE__ */
|
|
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,
|
|
8534
|
-
icon: /* @__PURE__ */
|
|
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,
|
|
8542
|
-
icon: /* @__PURE__ */
|
|
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,
|
|
8550
|
-
icon: /* @__PURE__ */
|
|
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,
|
|
8558
|
-
icon: /* @__PURE__ */
|
|
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,
|
|
8572
|
-
const handleChange = (0,
|
|
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__ */
|
|
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__ */
|
|
8593
|
-
|
|
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__ */
|
|
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
|
|
9221
|
+
var React125 = __toESM(require("react"));
|
|
8655
9222
|
var import_editor_props68 = require("@elementor/editor-props");
|
|
8656
|
-
var
|
|
8657
|
-
var
|
|
8658
|
-
var
|
|
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
|
|
8662
|
-
var
|
|
8663
|
-
var
|
|
8664
|
-
var
|
|
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
|
|
8754
|
-
var
|
|
9320
|
+
var React122 = __toESM(require("react"));
|
|
9321
|
+
var import_react73 = require("react");
|
|
8755
9322
|
var import_editor_props67 = require("@elementor/editor-props");
|
|
8756
|
-
var
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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__ */
|
|
8831
|
-
|
|
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__ */
|
|
8856
|
-
renderTags: (tagValues, getTagProps) => /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
8864
|
-
var
|
|
8865
|
-
var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */
|
|
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__ */
|
|
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,
|
|
9440
|
+
fieldLabel: (0, import_i18n62.__)("Send to", "elementor"),
|
|
8874
9441
|
placeholder,
|
|
8875
9442
|
suggestions
|
|
8876
9443
|
}
|
|
8877
|
-
), shouldShowMentionsInfo() && /* @__PURE__ */
|
|
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__ */
|
|
9446
|
+
var SubjectField = () => /* @__PURE__ */ React124.createElement(
|
|
8880
9447
|
EmailField,
|
|
8881
9448
|
{
|
|
8882
9449
|
bind: "subject",
|
|
8883
|
-
label: (0,
|
|
8884
|
-
placeholder: (0,
|
|
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__ */
|
|
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,
|
|
9459
|
+
) : (0, import_i18n62.__)("[all-fields] shortcode sends all fields.", "elementor")))));
|
|
8893
9460
|
};
|
|
8894
|
-
var FromEmailField = () => /* @__PURE__ */
|
|
9461
|
+
var FromEmailField = () => /* @__PURE__ */ React124.createElement(
|
|
8895
9462
|
EmailField,
|
|
8896
9463
|
{
|
|
8897
9464
|
bind: "from",
|
|
8898
|
-
label: (0,
|
|
8899
|
-
placeholder: (0,
|
|
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__ */
|
|
9469
|
+
var FromNameField = () => /* @__PURE__ */ React124.createElement(
|
|
8903
9470
|
EmailField,
|
|
8904
9471
|
{
|
|
8905
9472
|
bind: "from-name",
|
|
8906
|
-
label: (0,
|
|
8907
|
-
placeholder: (0,
|
|
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__ */
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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,
|
|
8935
|
-
{ label: (0,
|
|
8936
|
-
{ label: (0,
|
|
8937
|
-
{ label: (0,
|
|
8938
|
-
{ label: (0,
|
|
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__ */
|
|
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,
|
|
8947
|
-
{ label: (0,
|
|
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__ */
|
|
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__ */
|
|
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
|
|
8963
|
-
var
|
|
8964
|
-
var
|
|
8965
|
-
var
|
|
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__ */
|
|
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
|
|
9541
|
+
var React127 = __toESM(require("react"));
|
|
8975
9542
|
var import_editor_props69 = require("@elementor/editor-props");
|
|
8976
|
-
var
|
|
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__ */
|
|
8994
|
-
|
|
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
|
|
9015
|
-
var
|
|
9016
|
-
var
|
|
9017
|
-
var
|
|
9018
|
-
var
|
|
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
|
|
9022
|
-
var
|
|
9023
|
-
var
|
|
9024
|
-
var
|
|
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,
|
|
9595
|
+
var PromotionTrigger = (0, import_react74.forwardRef)(
|
|
9029
9596
|
({ promotionKey, children, trackingData }, ref) => {
|
|
9030
|
-
const [isOpen, setIsOpen] = (0,
|
|
9597
|
+
const [isOpen, setIsOpen] = (0, import_react74.useState)(false);
|
|
9031
9598
|
const promotion = getV4Promotion(promotionKey);
|
|
9032
|
-
const toggle = (0,
|
|
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,
|
|
9041
|
-
return /* @__PURE__ */
|
|
9042
|
-
|
|
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__ */
|
|
9056
|
-
|
|
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__ */
|
|
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,
|
|
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,
|
|
9075
|
-
return /* @__PURE__ */
|
|
9076
|
-
|
|
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__ */
|
|
9086
|
-
/* @__PURE__ */
|
|
9087
|
-
|
|
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__ */
|
|
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
|
|
9106
|
-
var
|
|
9107
|
-
var
|
|
9108
|
-
var
|
|
9109
|
-
var
|
|
9110
|
-
var ARIA_LABEL2 = (0,
|
|
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,
|
|
9114
|
-
return /* @__PURE__ */
|
|
9115
|
-
|
|
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__ */
|
|
9125
|
-
/* @__PURE__ */
|
|
9126
|
-
|
|
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
|
|
9140
|
-
var
|
|
9141
|
-
var
|
|
9142
|
-
var CustomIconButton = (0,
|
|
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__ */
|
|
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
|
|
9150
|
-
var
|
|
9151
|
-
var
|
|
9152
|
-
var
|
|
9153
|
-
var
|
|
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,
|
|
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__ */
|
|
9236
|
-
|
|
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,
|
|
9811
|
+
"aria-label": (0, import_i18n67.__)("Add item", "elementor")
|
|
9245
9812
|
},
|
|
9246
|
-
/* @__PURE__ */
|
|
9813
|
+
/* @__PURE__ */ React132.createElement(import_icons43.PlusIcon, { fontSize: SIZE12 })
|
|
9247
9814
|
);
|
|
9248
|
-
return /* @__PURE__ */
|
|
9249
|
-
|
|
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__ */
|
|
9257
|
-
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
9269
|
-
startIcon: /* @__PURE__ */
|
|
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__ */
|
|
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,
|
|
9890
|
+
const triggerProps = (0, import_ui115.bindTrigger)(popoverState);
|
|
9324
9891
|
usePopoverDismiss({ isOpen: popoverState.isOpen, onClose: popoverProps.onClose });
|
|
9325
|
-
const duplicateLabel = (0,
|
|
9326
|
-
const toggleLabel = propDisabled ? (0,
|
|
9327
|
-
const removeLabel = (0,
|
|
9328
|
-
return /* @__PURE__ */
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
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,
|
|
9349
|
-
const popoverState = (0,
|
|
9350
|
-
const popoverProps = (0,
|
|
9351
|
-
(0,
|
|
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
|
|
9371
|
-
var
|
|
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
|
|
9414
|
-
var
|
|
9415
|
-
var
|
|
9416
|
-
var
|
|
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,
|
|
9990
|
+
const popupState = (0, import_ui116.usePopupState)({
|
|
9424
9991
|
variant: "popover",
|
|
9425
|
-
popupId: (0,
|
|
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__ */
|
|
9432
|
-
|
|
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,
|
|
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
|
|
9461
|
-
var
|
|
9462
|
-
var UnstableSizeInput = (0,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
9512
|
-
endAdornment: /* @__PURE__ */
|
|
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
|
|
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,
|
|
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,
|