@elementor/editor-controls 4.5.0-1156 → 4.5.0-1158
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 +1131 -1050
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +834 -754
- package/dist/index.mjs.map +1 -1
- package/package.json +16 -16
- package/src/controls/query-select-control.tsx +104 -0
- package/src/hooks/use-query-autocomplete.ts +7 -3
- package/src/index.ts +1 -0
package/dist/index.mjs
CHANGED
|
@@ -4814,7 +4814,7 @@ function factoryFilter(newValue, options, minInputLength) {
|
|
|
4814
4814
|
}
|
|
4815
4815
|
|
|
4816
4816
|
// src/hooks/use-query-autocomplete.ts
|
|
4817
|
-
import { useEffect as useEffect14, useMemo as useMemo9, useState as useState14 } from "react";
|
|
4817
|
+
import { useEffect as useEffect14, useMemo as useMemo9, useRef as useRef15, useState as useState14 } from "react";
|
|
4818
4818
|
import { numberPropTypeUtil as numberPropTypeUtil2, stringPropTypeUtil as stringPropTypeUtil8 } from "@elementor/editor-props";
|
|
4819
4819
|
import { httpService as httpService2 } from "@elementor/http-client";
|
|
4820
4820
|
import { debounce as debounce2 } from "@elementor/utils";
|
|
@@ -4838,13 +4838,16 @@ function useQueryAutocomplete({
|
|
|
4838
4838
|
),
|
|
4839
4839
|
[url, excludeIdSet]
|
|
4840
4840
|
);
|
|
4841
|
+
const paramsKey = useMemo9(() => JSON.stringify(params), [params]);
|
|
4842
|
+
const paramsRef = useRef15(params);
|
|
4843
|
+
paramsRef.current = params;
|
|
4841
4844
|
useEffect14(() => {
|
|
4842
4845
|
if (minInputLength === 0 && url) {
|
|
4843
|
-
fetchOptions(url, { ...
|
|
4846
|
+
fetchOptions(url, { ...paramsRef.current, term: "" }).then((newOptions) => {
|
|
4844
4847
|
setOptions(formatOptions(filterExcludedOptions(newOptions, excludeIdSet)));
|
|
4845
4848
|
});
|
|
4846
4849
|
}
|
|
4847
|
-
}, [url, minInputLength, excludeIdSet,
|
|
4850
|
+
}, [url, minInputLength, excludeIdSet, paramsKey]);
|
|
4848
4851
|
const updateOptions = (term) => {
|
|
4849
4852
|
const termStr = term ?? "";
|
|
4850
4853
|
if (!url || termStr.length < minInputLength) {
|
|
@@ -5275,7 +5278,7 @@ function extractChips(value) {
|
|
|
5275
5278
|
|
|
5276
5279
|
// src/controls/query-filter-repeater-control.tsx
|
|
5277
5280
|
import * as React80 from "react";
|
|
5278
|
-
import { useMemo as useMemo11, useRef as
|
|
5281
|
+
import { useMemo as useMemo11, useRef as useRef16 } from "react";
|
|
5279
5282
|
import { useSelectedElementSettings } from "@elementor/editor-elements";
|
|
5280
5283
|
import {
|
|
5281
5284
|
extractValue,
|
|
@@ -5377,7 +5380,7 @@ var ItemContent = ({
|
|
|
5377
5380
|
chipsPlaceholder
|
|
5378
5381
|
}) => {
|
|
5379
5382
|
const propContext = useBoundProp(queryFilterPropTypeUtil);
|
|
5380
|
-
const snapshotsByKeyRef =
|
|
5383
|
+
const snapshotsByKeyRef = useRef16({});
|
|
5381
5384
|
const handleValueChange = (nextValue, options, meta) => {
|
|
5382
5385
|
if (meta?.bind !== "key") {
|
|
5383
5386
|
propContext.setValue(nextValue, options, meta);
|
|
@@ -5447,9 +5450,85 @@ function getUsedKeys(items2) {
|
|
|
5447
5450
|
return new Set(keys);
|
|
5448
5451
|
}
|
|
5449
5452
|
|
|
5450
|
-
// src/controls/
|
|
5453
|
+
// src/controls/query-select-control.tsx
|
|
5451
5454
|
import * as React81 from "react";
|
|
5452
|
-
import {
|
|
5455
|
+
import { useMemo as useMemo12 } from "react";
|
|
5456
|
+
import { numberPropTypeUtil as numberPropTypeUtil5, queryPropTypeUtil as queryPropTypeUtil3, stringPropTypeUtil as stringPropTypeUtil13 } from "@elementor/editor-props";
|
|
5457
|
+
import { Autocomplete as Autocomplete4, TextField as TextField10 } from "@elementor/ui";
|
|
5458
|
+
import { __ as __31 } from "@wordpress/i18n";
|
|
5459
|
+
var SIZE10 = "tiny";
|
|
5460
|
+
var QuerySelectControl = createControl((props) => {
|
|
5461
|
+
const { queryOptions, placeholder, minInputLength = 0, ariaLabel } = props;
|
|
5462
|
+
const { value, setValue, disabled } = useBoundProp(queryPropTypeUtil3);
|
|
5463
|
+
const selectedOption = useMemo12(() => extractFlatOptionFromQueryValue(value), [value]);
|
|
5464
|
+
const { options, updateOptions } = useQueryAutocomplete({
|
|
5465
|
+
url: queryOptions.url,
|
|
5466
|
+
params: queryOptions.params,
|
|
5467
|
+
minInputLength,
|
|
5468
|
+
initialQueryValue: value
|
|
5469
|
+
});
|
|
5470
|
+
const optionsWithSelected = useMemo12(
|
|
5471
|
+
() => withSelectedOption(options, selectedOption),
|
|
5472
|
+
[options, selectedOption]
|
|
5473
|
+
);
|
|
5474
|
+
const handleChange = (_, newValue) => {
|
|
5475
|
+
if (!newValue) {
|
|
5476
|
+
setValue(null);
|
|
5477
|
+
return;
|
|
5478
|
+
}
|
|
5479
|
+
setValue({
|
|
5480
|
+
id: numberPropTypeUtil5.create(Number(newValue.id)),
|
|
5481
|
+
label: stringPropTypeUtil13.create(newValue.label)
|
|
5482
|
+
});
|
|
5483
|
+
};
|
|
5484
|
+
const handleInputChange = (_, term, reason) => {
|
|
5485
|
+
if ("reset" === reason || "clear" === reason) {
|
|
5486
|
+
updateOptions(null);
|
|
5487
|
+
return;
|
|
5488
|
+
}
|
|
5489
|
+
if ("input" !== reason) {
|
|
5490
|
+
return;
|
|
5491
|
+
}
|
|
5492
|
+
updateOptions(term || null);
|
|
5493
|
+
};
|
|
5494
|
+
return /* @__PURE__ */ React81.createElement(ControlActions, null, /* @__PURE__ */ React81.createElement(
|
|
5495
|
+
Autocomplete4,
|
|
5496
|
+
{
|
|
5497
|
+
fullWidth: true,
|
|
5498
|
+
openOnFocus: true,
|
|
5499
|
+
disabled,
|
|
5500
|
+
size: SIZE10,
|
|
5501
|
+
value: selectedOption,
|
|
5502
|
+
options: optionsWithSelected,
|
|
5503
|
+
onChange: handleChange,
|
|
5504
|
+
onInputChange: handleInputChange,
|
|
5505
|
+
getOptionLabel: (option) => option.label,
|
|
5506
|
+
isOptionEqualToValue: (option, val) => option.id === val.id,
|
|
5507
|
+
filterOptions: (opts) => opts,
|
|
5508
|
+
renderInput: (params) => /* @__PURE__ */ React81.createElement(
|
|
5509
|
+
TextField10,
|
|
5510
|
+
{
|
|
5511
|
+
...params,
|
|
5512
|
+
placeholder: placeholder ?? __31("Search", "elementor"),
|
|
5513
|
+
inputProps: {
|
|
5514
|
+
...params.inputProps,
|
|
5515
|
+
...ariaLabel ? { "aria-label": ariaLabel } : {}
|
|
5516
|
+
}
|
|
5517
|
+
}
|
|
5518
|
+
)
|
|
5519
|
+
}
|
|
5520
|
+
));
|
|
5521
|
+
});
|
|
5522
|
+
function withSelectedOption(options, selectedOption) {
|
|
5523
|
+
if (!selectedOption || options.some((option) => option.id === selectedOption.id)) {
|
|
5524
|
+
return options;
|
|
5525
|
+
}
|
|
5526
|
+
return [selectedOption, ...options];
|
|
5527
|
+
}
|
|
5528
|
+
|
|
5529
|
+
// src/controls/gap-control.tsx
|
|
5530
|
+
import * as React82 from "react";
|
|
5531
|
+
import { useLayoutEffect as useLayoutEffect2, useRef as useRef17, useState as useState16 } from "react";
|
|
5453
5532
|
import {
|
|
5454
5533
|
layoutDirectionPropTypeUtil,
|
|
5455
5534
|
sizePropTypeUtil as sizePropTypeUtil6
|
|
@@ -5457,9 +5536,9 @@ import {
|
|
|
5457
5536
|
import { useActiveBreakpoint as useActiveBreakpoint5 } from "@elementor/editor-responsive";
|
|
5458
5537
|
import { DetachIcon as DetachIcon2, LinkIcon as LinkIcon2 } from "@elementor/icons";
|
|
5459
5538
|
import { Grid as Grid12, Stack as Stack13, Tooltip as Tooltip7 } from "@elementor/ui";
|
|
5460
|
-
import { __ as
|
|
5539
|
+
import { __ as __32 } from "@wordpress/i18n";
|
|
5461
5540
|
var GapControl = ({ label }) => {
|
|
5462
|
-
const stackRef =
|
|
5541
|
+
const stackRef = useRef17(null);
|
|
5463
5542
|
const { disabled: sizeDisabled } = useBoundProp(sizePropTypeUtil6);
|
|
5464
5543
|
const {
|
|
5465
5544
|
value: directionValue,
|
|
@@ -5505,8 +5584,8 @@ var GapControl = ({ label }) => {
|
|
|
5505
5584
|
};
|
|
5506
5585
|
const tooltipLabel = label.toLowerCase();
|
|
5507
5586
|
const LinkedIcon = isLinked ? LinkIcon2 : DetachIcon2;
|
|
5508
|
-
const linkedLabel =
|
|
5509
|
-
const unlinkedLabel =
|
|
5587
|
+
const linkedLabel = __32("Link %s", "elementor").replace("%s", tooltipLabel);
|
|
5588
|
+
const unlinkedLabel = __32("Unlink %s", "elementor").replace("%s", tooltipLabel);
|
|
5510
5589
|
const disabled = sizeDisabled || directionDisabled;
|
|
5511
5590
|
const propProviderProps = {
|
|
5512
5591
|
propType,
|
|
@@ -5526,7 +5605,7 @@ var GapControl = ({ label }) => {
|
|
|
5526
5605
|
}
|
|
5527
5606
|
return sizePropTypeUtil6.extract(directionPlaceholder?.[bind]);
|
|
5528
5607
|
};
|
|
5529
|
-
return /* @__PURE__ */
|
|
5608
|
+
return /* @__PURE__ */ React82.createElement(PropProvider, { ...propProviderProps }, /* @__PURE__ */ React82.createElement(Stack13, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React82.createElement(ControlLabel, null, label), /* @__PURE__ */ React82.createElement(Tooltip7, { title: isLinked ? unlinkedLabel : linkedLabel, placement: "top" }, /* @__PURE__ */ React82.createElement(
|
|
5530
5609
|
StyledToggleButton,
|
|
5531
5610
|
{
|
|
5532
5611
|
"aria-label": isLinked ? unlinkedLabel : linkedLabel,
|
|
@@ -5538,21 +5617,21 @@ var GapControl = ({ label }) => {
|
|
|
5538
5617
|
disabled,
|
|
5539
5618
|
isPlaceholder: hasPlaceholders
|
|
5540
5619
|
},
|
|
5541
|
-
/* @__PURE__ */
|
|
5542
|
-
))), /* @__PURE__ */
|
|
5620
|
+
/* @__PURE__ */ React82.createElement(LinkedIcon, { fontSize: "tiny" })
|
|
5621
|
+
))), /* @__PURE__ */ React82.createElement(Stack13, { direction: "row", gap: 2, flexWrap: "nowrap", ref: stackRef }, /* @__PURE__ */ React82.createElement(Grid12, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React82.createElement(Grid12, { item: true, xs: 12 }, /* @__PURE__ */ React82.createElement(ControlFormLabel, null, __32("Column", "elementor"))), /* @__PURE__ */ React82.createElement(Grid12, { item: true, xs: 12 }, /* @__PURE__ */ React82.createElement(
|
|
5543
5622
|
Control4,
|
|
5544
5623
|
{
|
|
5545
5624
|
bind: "column",
|
|
5546
|
-
ariaLabel:
|
|
5625
|
+
ariaLabel: __32("Column gap", "elementor"),
|
|
5547
5626
|
isLinked,
|
|
5548
5627
|
anchorRef: stackRef,
|
|
5549
5628
|
placeholder: getEffectivePlaceholder("column") ?? void 0
|
|
5550
5629
|
}
|
|
5551
|
-
))), /* @__PURE__ */
|
|
5630
|
+
))), /* @__PURE__ */ React82.createElement(Grid12, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React82.createElement(Grid12, { item: true, xs: 12 }, /* @__PURE__ */ React82.createElement(ControlFormLabel, null, __32("Row", "elementor"))), /* @__PURE__ */ React82.createElement(Grid12, { item: true, xs: 12 }, /* @__PURE__ */ React82.createElement(
|
|
5552
5631
|
Control4,
|
|
5553
5632
|
{
|
|
5554
5633
|
bind: "row",
|
|
5555
|
-
ariaLabel:
|
|
5634
|
+
ariaLabel: __32("Row gap", "elementor"),
|
|
5556
5635
|
isLinked,
|
|
5557
5636
|
anchorRef: stackRef,
|
|
5558
5637
|
placeholder: getEffectivePlaceholder("row") ?? void 0
|
|
@@ -5567,21 +5646,21 @@ var Control4 = ({
|
|
|
5567
5646
|
placeholder
|
|
5568
5647
|
}) => {
|
|
5569
5648
|
if (isLinked) {
|
|
5570
|
-
return /* @__PURE__ */
|
|
5649
|
+
return /* @__PURE__ */ React82.createElement(UnstableSizeControl, { anchorRef, placeholder, ariaLabel });
|
|
5571
5650
|
}
|
|
5572
|
-
return /* @__PURE__ */
|
|
5651
|
+
return /* @__PURE__ */ React82.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React82.createElement(UnstableSizeControl, { anchorRef, placeholder, ariaLabel }));
|
|
5573
5652
|
};
|
|
5574
5653
|
|
|
5575
5654
|
// src/controls/aspect-ratio-control.tsx
|
|
5576
|
-
import * as
|
|
5655
|
+
import * as React83 from "react";
|
|
5577
5656
|
import { useEffect as useEffect16, useState as useState17 } from "react";
|
|
5578
|
-
import { stringPropTypeUtil as
|
|
5657
|
+
import { stringPropTypeUtil as stringPropTypeUtil14 } from "@elementor/editor-props";
|
|
5579
5658
|
import { MenuListItem as MenuListItem5 } from "@elementor/editor-ui";
|
|
5580
5659
|
import { ArrowsMoveHorizontalIcon, ArrowsMoveVerticalIcon } from "@elementor/icons";
|
|
5581
|
-
import { Grid as Grid13, Select as Select3, Stack as Stack14, TextField as
|
|
5582
|
-
import { __ as
|
|
5660
|
+
import { Grid as Grid13, Select as Select3, Stack as Stack14, TextField as TextField11 } from "@elementor/ui";
|
|
5661
|
+
import { __ as __33 } from "@wordpress/i18n";
|
|
5583
5662
|
var RATIO_OPTIONS = [
|
|
5584
|
-
{ label:
|
|
5663
|
+
{ label: __33("Auto", "elementor"), value: "auto" },
|
|
5585
5664
|
{ label: "1/1", value: "1/1" },
|
|
5586
5665
|
{ label: "4/3", value: "4/3" },
|
|
5587
5666
|
{ label: "3/4", value: "3/4" },
|
|
@@ -5597,7 +5676,7 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
5597
5676
|
setValue: setAspectRatioValue,
|
|
5598
5677
|
disabled,
|
|
5599
5678
|
placeholder: externalPlaceholder
|
|
5600
|
-
} = useBoundProp(
|
|
5679
|
+
} = useBoundProp(stringPropTypeUtil14);
|
|
5601
5680
|
const aspectRatioValue = currentPropValue ?? externalPlaceholder;
|
|
5602
5681
|
const isCustomSelected = aspectRatioValue && !RATIO_OPTIONS.some((option) => option.value === aspectRatioValue);
|
|
5603
5682
|
const [initialWidth, initialHeight] = isCustomSelected ? aspectRatioValue.split("/") : ["", ""];
|
|
@@ -5648,7 +5727,7 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
5648
5727
|
};
|
|
5649
5728
|
const lookup = currentPropValue ?? externalPlaceholder;
|
|
5650
5729
|
const selectedOption = RATIO_OPTIONS.find((option) => option.value === lookup);
|
|
5651
|
-
return /* @__PURE__ */
|
|
5730
|
+
return /* @__PURE__ */ React83.createElement(ControlActions, null, /* @__PURE__ */ React83.createElement(Stack14, { direction: "column", gap: 2 }, /* @__PURE__ */ React83.createElement(Grid13, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React83.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React83.createElement(ControlLabel, null, label)), /* @__PURE__ */ React83.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React83.createElement(
|
|
5652
5731
|
Select3,
|
|
5653
5732
|
{
|
|
5654
5733
|
size: "tiny",
|
|
@@ -5660,11 +5739,11 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
5660
5739
|
renderValue: isCustomSelected ? void 0 : () => selectedOption?.label,
|
|
5661
5740
|
fullWidth: true
|
|
5662
5741
|
},
|
|
5663
|
-
[...RATIO_OPTIONS, { label:
|
|
5664
|
-
({ label: optionLabel, ...props }) => /* @__PURE__ */
|
|
5742
|
+
[...RATIO_OPTIONS, { label: __33("Custom", "elementor"), value: CUSTOM_RATIO }].map(
|
|
5743
|
+
({ label: optionLabel, ...props }) => /* @__PURE__ */ React83.createElement(MenuListItem5, { key: props.value, ...props, value: props.value ?? "" }, optionLabel)
|
|
5665
5744
|
)
|
|
5666
|
-
))), isCustom && /* @__PURE__ */
|
|
5667
|
-
|
|
5745
|
+
))), isCustom && /* @__PURE__ */ React83.createElement(Grid13, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React83.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React83.createElement(
|
|
5746
|
+
TextField11,
|
|
5668
5747
|
{
|
|
5669
5748
|
size: "tiny",
|
|
5670
5749
|
type: "number",
|
|
@@ -5673,11 +5752,11 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
5673
5752
|
value: customWidth,
|
|
5674
5753
|
onChange: handleCustomWidthChange,
|
|
5675
5754
|
InputProps: {
|
|
5676
|
-
startAdornment: /* @__PURE__ */
|
|
5755
|
+
startAdornment: /* @__PURE__ */ React83.createElement(ArrowsMoveHorizontalIcon, { fontSize: "tiny" })
|
|
5677
5756
|
}
|
|
5678
5757
|
}
|
|
5679
|
-
)), /* @__PURE__ */
|
|
5680
|
-
|
|
5758
|
+
)), /* @__PURE__ */ React83.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React83.createElement(
|
|
5759
|
+
TextField11,
|
|
5681
5760
|
{
|
|
5682
5761
|
size: "tiny",
|
|
5683
5762
|
type: "number",
|
|
@@ -5686,23 +5765,23 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
5686
5765
|
value: customHeight,
|
|
5687
5766
|
onChange: handleCustomHeightChange,
|
|
5688
5767
|
InputProps: {
|
|
5689
|
-
startAdornment: /* @__PURE__ */
|
|
5768
|
+
startAdornment: /* @__PURE__ */ React83.createElement(ArrowsMoveVerticalIcon, { fontSize: "tiny" })
|
|
5690
5769
|
}
|
|
5691
5770
|
}
|
|
5692
5771
|
)))));
|
|
5693
5772
|
});
|
|
5694
5773
|
|
|
5695
5774
|
// src/controls/svg-media-control.tsx
|
|
5696
|
-
import * as
|
|
5697
|
-
import { useEffect as useEffect18, useRef as
|
|
5775
|
+
import * as React94 from "react";
|
|
5776
|
+
import { useEffect as useEffect18, useRef as useRef22, useState as useState24 } from "react";
|
|
5698
5777
|
import { useCurrentUserCapabilities } from "@elementor/editor-current-user";
|
|
5699
5778
|
import { iconPropTypeUtil, svgSrcPropTypeUtil, urlPropTypeUtil as urlPropTypeUtil4 } from "@elementor/editor-props";
|
|
5700
5779
|
import { Box as Box24, Card as Card2, CardOverlay as CardOverlay2, Popover as Popover6, Stack as Stack18, styled as styled12, usePopupState as usePopupState9 } from "@elementor/ui";
|
|
5701
5780
|
import { useWpMediaAttachment as useWpMediaAttachment2, useWpMediaFrame as useWpMediaFrame2 } from "@elementor/wp-media";
|
|
5702
|
-
import { __ as
|
|
5781
|
+
import { __ as __42 } from "@wordpress/i18n";
|
|
5703
5782
|
|
|
5704
5783
|
// src/components/enable-unfiltered-modal.tsx
|
|
5705
|
-
import * as
|
|
5784
|
+
import * as React84 from "react";
|
|
5706
5785
|
import { useState as useState18 } from "react";
|
|
5707
5786
|
import {
|
|
5708
5787
|
Button as Button5,
|
|
@@ -5715,14 +5794,14 @@ import {
|
|
|
5715
5794
|
DialogTitle,
|
|
5716
5795
|
Divider as Divider3
|
|
5717
5796
|
} from "@elementor/ui";
|
|
5718
|
-
import { __ as
|
|
5719
|
-
var ADMIN_TITLE_TEXT =
|
|
5720
|
-
var ADMIN_CONTENT_TEXT =
|
|
5797
|
+
import { __ as __34 } from "@wordpress/i18n";
|
|
5798
|
+
var ADMIN_TITLE_TEXT = __34("Enable Unfiltered Uploads", "elementor");
|
|
5799
|
+
var ADMIN_CONTENT_TEXT = __34(
|
|
5721
5800
|
"Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.",
|
|
5722
5801
|
"elementor"
|
|
5723
5802
|
);
|
|
5724
|
-
var ADMIN_FAILED_CONTENT_TEXT_PT1 =
|
|
5725
|
-
var ADMIN_FAILED_CONTENT_TEXT_PT2 =
|
|
5803
|
+
var ADMIN_FAILED_CONTENT_TEXT_PT1 = __34("Failed to enable unfiltered files upload.", "elementor");
|
|
5804
|
+
var ADMIN_FAILED_CONTENT_TEXT_PT2 = __34(
|
|
5726
5805
|
"You can try again, if the problem persists, please contact support.",
|
|
5727
5806
|
"elementor"
|
|
5728
5807
|
);
|
|
@@ -5747,9 +5826,9 @@ var EnableUnfilteredModal = (props) => {
|
|
|
5747
5826
|
}
|
|
5748
5827
|
};
|
|
5749
5828
|
const dialogProps = { ...props, isPending, handleEnable, isError, onClose };
|
|
5750
|
-
return /* @__PURE__ */
|
|
5829
|
+
return /* @__PURE__ */ React84.createElement(AdminDialog, { ...dialogProps });
|
|
5751
5830
|
};
|
|
5752
|
-
var AdminDialog = ({ open, onClose, handleEnable, isPending, isError }) => /* @__PURE__ */
|
|
5831
|
+
var AdminDialog = ({ open, onClose, handleEnable, isPending, isError }) => /* @__PURE__ */ React84.createElement(Dialog, { open, maxWidth: "sm", onClose: () => onClose(false) }, /* @__PURE__ */ React84.createElement(DialogHeader, { logo: false }, /* @__PURE__ */ React84.createElement(DialogTitle, null, ADMIN_TITLE_TEXT)), /* @__PURE__ */ React84.createElement(Divider3, null), /* @__PURE__ */ React84.createElement(DialogContent, null, /* @__PURE__ */ React84.createElement(DialogContentText, null, isError ? /* @__PURE__ */ React84.createElement(React84.Fragment, null, ADMIN_FAILED_CONTENT_TEXT_PT1, " ", /* @__PURE__ */ React84.createElement("br", null), " ", ADMIN_FAILED_CONTENT_TEXT_PT2) : ADMIN_CONTENT_TEXT)), /* @__PURE__ */ React84.createElement(DialogActions, null, /* @__PURE__ */ React84.createElement(Button5, { size: "medium", color: "secondary", onClick: () => onClose(false) }, __34("Cancel", "elementor")), /* @__PURE__ */ React84.createElement(
|
|
5753
5832
|
Button5,
|
|
5754
5833
|
{
|
|
5755
5834
|
size: "medium",
|
|
@@ -5758,7 +5837,7 @@ var AdminDialog = ({ open, onClose, handleEnable, isPending, isError }) => /* @_
|
|
|
5758
5837
|
color: "primary",
|
|
5759
5838
|
disabled: isPending
|
|
5760
5839
|
},
|
|
5761
|
-
isPending ? /* @__PURE__ */
|
|
5840
|
+
isPending ? /* @__PURE__ */ React84.createElement(CircularProgress2, { size: 24 }) : __34("Enable", "elementor")
|
|
5762
5841
|
)));
|
|
5763
5842
|
|
|
5764
5843
|
// src/controls/icon-library/get-icon-library-anchor.ts
|
|
@@ -5777,8 +5856,8 @@ function measureIconLibraryAnchor(container, buttonGroup) {
|
|
|
5777
5856
|
}
|
|
5778
5857
|
|
|
5779
5858
|
// src/controls/icon-library/icon-library-popover.tsx
|
|
5780
|
-
import * as
|
|
5781
|
-
import { useMemo as
|
|
5859
|
+
import * as React91 from "react";
|
|
5860
|
+
import { useMemo as useMemo13, useState as useState23 } from "react";
|
|
5782
5861
|
import {
|
|
5783
5862
|
PopoverBody as PopoverBody2,
|
|
5784
5863
|
PopoverHeader as PopoverHeader4,
|
|
@@ -5790,7 +5869,7 @@ import { LibraryIcon as LibraryIcon2 } from "@elementor/icons";
|
|
|
5790
5869
|
import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
|
|
5791
5870
|
import { Box as Box21, CircularProgress as CircularProgress3, Divider as Divider5, Link as Link3, Stack as Stack16, styled as styled11, Typography as Typography10 } from "@elementor/ui";
|
|
5792
5871
|
import { useDebounceState } from "@elementor/utils";
|
|
5793
|
-
import { __ as
|
|
5872
|
+
import { __ as __39 } from "@wordpress/i18n";
|
|
5794
5873
|
|
|
5795
5874
|
// src/controls/icon-library/font-awesome-7-data.ts
|
|
5796
5875
|
var FONT_AWESOME_7_LIBRARIES = [
|
|
@@ -6038,12 +6117,12 @@ function toCatalogIcon(icon, library) {
|
|
|
6038
6117
|
}
|
|
6039
6118
|
|
|
6040
6119
|
// src/controls/icon-library/font-awesome-glyph.tsx
|
|
6041
|
-
import * as
|
|
6042
|
-
import { useEffect as useEffect17, useRef as
|
|
6120
|
+
import * as React85 from "react";
|
|
6121
|
+
import { useEffect as useEffect17, useRef as useRef19, useState as useState20 } from "react";
|
|
6043
6122
|
import { Box as Box17 } from "@elementor/ui";
|
|
6044
6123
|
|
|
6045
6124
|
// src/controls/icon-library/icon-library-providers.ts
|
|
6046
|
-
import { useRef as
|
|
6125
|
+
import { useRef as useRef18, useState as useState19 } from "react";
|
|
6047
6126
|
import { useQuery as useQuery2 } from "@elementor/query";
|
|
6048
6127
|
var PROVIDER_ICON_SVG_QUERY_KEY = "icon-library-provider-svg";
|
|
6049
6128
|
var providers = /* @__PURE__ */ new Map();
|
|
@@ -6089,7 +6168,7 @@ async function resolveFromProviders(pickResolver, library, iconValue, signal) {
|
|
|
6089
6168
|
return null;
|
|
6090
6169
|
}
|
|
6091
6170
|
function useStableConcat(lists) {
|
|
6092
|
-
const previous =
|
|
6171
|
+
const previous = useRef18(null);
|
|
6093
6172
|
if (!previous.current || !areSameLists(previous.current.lists, lists)) {
|
|
6094
6173
|
previous.current = { lists, merged: lists.flatMap((list) => list ?? []) };
|
|
6095
6174
|
}
|
|
@@ -6156,15 +6235,15 @@ function pruneNode(node) {
|
|
|
6156
6235
|
var FontAwesomeGlyph = (props) => {
|
|
6157
6236
|
const { icon } = props;
|
|
6158
6237
|
if (icon.lazySvg && !icon.svgMarkup) {
|
|
6159
|
-
return /* @__PURE__ */
|
|
6238
|
+
return /* @__PURE__ */ React85.createElement(LazyProviderGlyph, { ...props });
|
|
6160
6239
|
}
|
|
6161
|
-
return /* @__PURE__ */
|
|
6240
|
+
return /* @__PURE__ */ React85.createElement(ResolvedGlyph, { ...props });
|
|
6162
6241
|
};
|
|
6163
6242
|
var LazyProviderGlyph = (props) => {
|
|
6164
6243
|
const { icon, size } = props;
|
|
6165
6244
|
const [resolved, setResolved] = useState20(null);
|
|
6166
6245
|
const [isVisible, setIsVisible] = useState20(typeof IntersectionObserver === "undefined");
|
|
6167
|
-
const placeholderRef =
|
|
6246
|
+
const placeholderRef = useRef19(null);
|
|
6168
6247
|
const svgMarkup = resolved?.id === icon.id ? resolved.markup : null;
|
|
6169
6248
|
useEffect17(() => {
|
|
6170
6249
|
const element = placeholderRef.current;
|
|
@@ -6190,7 +6269,7 @@ var LazyProviderGlyph = (props) => {
|
|
|
6190
6269
|
return () => controller.abort();
|
|
6191
6270
|
}, [isVisible, icon.id, icon.library, icon.value]);
|
|
6192
6271
|
if (!svgMarkup) {
|
|
6193
|
-
return /* @__PURE__ */
|
|
6272
|
+
return /* @__PURE__ */ React85.createElement(
|
|
6194
6273
|
Box17,
|
|
6195
6274
|
{
|
|
6196
6275
|
component: "span",
|
|
@@ -6200,12 +6279,12 @@ var LazyProviderGlyph = (props) => {
|
|
|
6200
6279
|
}
|
|
6201
6280
|
);
|
|
6202
6281
|
}
|
|
6203
|
-
return /* @__PURE__ */
|
|
6282
|
+
return /* @__PURE__ */ React85.createElement(ResolvedGlyph, { ...props, icon: { ...icon, svgMarkup } });
|
|
6204
6283
|
};
|
|
6205
6284
|
var ResolvedGlyph = ({ icon, size, color, label }) => {
|
|
6206
6285
|
const svgMarkup = sanitizeIconSvgMarkup(icon.svgMarkup);
|
|
6207
6286
|
if (svgMarkup) {
|
|
6208
|
-
return /* @__PURE__ */
|
|
6287
|
+
return /* @__PURE__ */ React85.createElement(
|
|
6209
6288
|
Box17,
|
|
6210
6289
|
{
|
|
6211
6290
|
component: "span",
|
|
@@ -6231,7 +6310,7 @@ var ResolvedGlyph = ({ icon, size, color, label }) => {
|
|
|
6231
6310
|
);
|
|
6232
6311
|
}
|
|
6233
6312
|
if (icon.paths.length > 0) {
|
|
6234
|
-
return /* @__PURE__ */
|
|
6313
|
+
return /* @__PURE__ */ React85.createElement(
|
|
6235
6314
|
"svg",
|
|
6236
6315
|
{
|
|
6237
6316
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -6244,11 +6323,11 @@ var ResolvedGlyph = ({ icon, size, color, label }) => {
|
|
|
6244
6323
|
"aria-label": label,
|
|
6245
6324
|
role: label ? "img" : void 0
|
|
6246
6325
|
},
|
|
6247
|
-
icon.paths.map((path, index) => /* @__PURE__ */
|
|
6326
|
+
icon.paths.map((path, index) => /* @__PURE__ */ React85.createElement("path", { key: `${index}-${path}`, d: path }))
|
|
6248
6327
|
);
|
|
6249
6328
|
}
|
|
6250
6329
|
if (icon.glyphClass) {
|
|
6251
|
-
return /* @__PURE__ */
|
|
6330
|
+
return /* @__PURE__ */ React85.createElement(
|
|
6252
6331
|
"i",
|
|
6253
6332
|
{
|
|
6254
6333
|
className: icon.glyphClass,
|
|
@@ -6262,7 +6341,7 @@ var ResolvedGlyph = ({ icon, size, color, label }) => {
|
|
|
6262
6341
|
};
|
|
6263
6342
|
|
|
6264
6343
|
// src/controls/icon-library/icon-library-filter.tsx
|
|
6265
|
-
import * as
|
|
6344
|
+
import * as React86 from "react";
|
|
6266
6345
|
import { useId as useId4 } from "react";
|
|
6267
6346
|
import {
|
|
6268
6347
|
CheckIcon,
|
|
@@ -6287,7 +6366,7 @@ import {
|
|
|
6287
6366
|
Typography as Typography9,
|
|
6288
6367
|
usePopupState as usePopupState8
|
|
6289
6368
|
} from "@elementor/ui";
|
|
6290
|
-
import { __ as
|
|
6369
|
+
import { __ as __35 } from "@wordpress/i18n";
|
|
6291
6370
|
|
|
6292
6371
|
// src/controls/icon-library/icon-library-tooltip.ts
|
|
6293
6372
|
var ICON_LIBRARY_ACTION_TOOLTIP_ENTER_DELAY = 0;
|
|
@@ -6321,21 +6400,21 @@ var IconLibraryFilter = ({ value, onChange }) => {
|
|
|
6321
6400
|
const entries = getFilterEntries();
|
|
6322
6401
|
const selectableValues = entries.flatMap((entry) => entry.type === FILTER_TYPE_ITEM ? [entry.value] : []);
|
|
6323
6402
|
const isFiltered = value.length > 0;
|
|
6324
|
-
const filterButtonLabel = isFiltered ?
|
|
6403
|
+
const filterButtonLabel = isFiltered ? __35("Filter by library, active", "elementor") : __35("Filter by library", "elementor");
|
|
6325
6404
|
const handleLibraryClick = (library) => {
|
|
6326
6405
|
const nextValue = value.includes(library) ? value.filter((selectedLibrary) => selectedLibrary !== library) : [...value, library];
|
|
6327
6406
|
onChange(nextValue.length === selectableValues.length ? [] : nextValue);
|
|
6328
6407
|
};
|
|
6329
|
-
return /* @__PURE__ */
|
|
6408
|
+
return /* @__PURE__ */ React86.createElement(React86.Fragment, null, /* @__PURE__ */ React86.createElement(
|
|
6330
6409
|
Tooltip8,
|
|
6331
6410
|
{
|
|
6332
|
-
title:
|
|
6411
|
+
title: __35("Filter by library", "elementor"),
|
|
6333
6412
|
placement: "top",
|
|
6334
6413
|
enterDelay: ICON_LIBRARY_ACTION_TOOLTIP_ENTER_DELAY,
|
|
6335
6414
|
enterNextDelay: ICON_LIBRARY_ACTION_TOOLTIP_ENTER_DELAY,
|
|
6336
6415
|
disableInteractive: true
|
|
6337
6416
|
},
|
|
6338
|
-
/* @__PURE__ */
|
|
6417
|
+
/* @__PURE__ */ React86.createElement(
|
|
6339
6418
|
ToggleButton2,
|
|
6340
6419
|
{
|
|
6341
6420
|
"aria-label": filterButtonLabel,
|
|
@@ -6346,8 +6425,8 @@ var IconLibraryFilter = ({ value, onChange }) => {
|
|
|
6346
6425
|
...bindToggle2(popupState),
|
|
6347
6426
|
"aria-expanded": popupState.isOpen
|
|
6348
6427
|
},
|
|
6349
|
-
/* @__PURE__ */
|
|
6350
|
-
isFiltered ? /* @__PURE__ */
|
|
6428
|
+
/* @__PURE__ */ React86.createElement(FilterIcon2, { fontSize: "tiny" }),
|
|
6429
|
+
isFiltered ? /* @__PURE__ */ React86.createElement(
|
|
6351
6430
|
Box18,
|
|
6352
6431
|
{
|
|
6353
6432
|
component: "span",
|
|
@@ -6364,14 +6443,14 @@ var IconLibraryFilter = ({ value, onChange }) => {
|
|
|
6364
6443
|
}
|
|
6365
6444
|
) : null
|
|
6366
6445
|
)
|
|
6367
|
-
), /* @__PURE__ */
|
|
6446
|
+
), /* @__PURE__ */ React86.createElement(
|
|
6368
6447
|
Menu4,
|
|
6369
6448
|
{
|
|
6370
6449
|
...bindMenu3(popupState),
|
|
6371
6450
|
MenuListProps: {
|
|
6372
6451
|
dense: true,
|
|
6373
6452
|
autoFocusItem: true,
|
|
6374
|
-
"aria-label":
|
|
6453
|
+
"aria-label": __35("Filter by library", "elementor")
|
|
6375
6454
|
},
|
|
6376
6455
|
sx: { "& .MuiPaper-root": { minWidth: FILTER_MENU_WIDTH } }
|
|
6377
6456
|
},
|
|
@@ -6383,13 +6462,13 @@ var IconLibraryFilter = ({ value, onChange }) => {
|
|
|
6383
6462
|
var renderFilterEntry = (entry, index, selectedLibraries, isFiltered, onAllIconsClick, onLibraryClick) => {
|
|
6384
6463
|
if (entry.type === FILTER_TYPE_GROUP) {
|
|
6385
6464
|
return [
|
|
6386
|
-
/* @__PURE__ */
|
|
6387
|
-
/* @__PURE__ */
|
|
6465
|
+
/* @__PURE__ */ React86.createElement(Divider4, { key: `divider-${index}` }),
|
|
6466
|
+
/* @__PURE__ */ React86.createElement(ListSubheader, { key: `group-${index}`, disableSticky: true }, entry.label)
|
|
6388
6467
|
];
|
|
6389
6468
|
}
|
|
6390
6469
|
if (entry.type === FILTER_TYPE_ALL) {
|
|
6391
6470
|
return [
|
|
6392
|
-
/* @__PURE__ */
|
|
6471
|
+
/* @__PURE__ */ React86.createElement(
|
|
6393
6472
|
MenuItem2,
|
|
6394
6473
|
{
|
|
6395
6474
|
key: `all-${index}`,
|
|
@@ -6404,7 +6483,7 @@ var renderFilterEntry = (entry, index, selectedLibraries, isFiltered, onAllIcons
|
|
|
6404
6483
|
}
|
|
6405
6484
|
const isSelected = selectedLibraries.includes(entry.value);
|
|
6406
6485
|
return [
|
|
6407
|
-
/* @__PURE__ */
|
|
6486
|
+
/* @__PURE__ */ React86.createElement(
|
|
6408
6487
|
MenuItem2,
|
|
6409
6488
|
{
|
|
6410
6489
|
key: entry.value,
|
|
@@ -6418,7 +6497,7 @@ var renderFilterEntry = (entry, index, selectedLibraries, isFiltered, onAllIcons
|
|
|
6418
6497
|
];
|
|
6419
6498
|
};
|
|
6420
6499
|
var getFilterIcon = (icon) => FILTER_ICONS[icon ?? ""] ?? LibraryIcon;
|
|
6421
|
-
var renderFilterMenuItemContent = (label, Icon, selected) => /* @__PURE__ */
|
|
6500
|
+
var renderFilterMenuItemContent = (label, Icon, selected) => /* @__PURE__ */ React86.createElement(Stack15, { direction: "row", alignItems: "center", gap: 1, width: "100%" }, /* @__PURE__ */ React86.createElement(Icon, { fontSize: "tiny" }), /* @__PURE__ */ React86.createElement(Typography9, { variant: "caption", sx: { flex: 1 } }, label), selected ? /* @__PURE__ */ React86.createElement(CheckIcon, { fontSize: "tiny", "aria-hidden": "true" }) : null);
|
|
6422
6501
|
function getFilterEntries() {
|
|
6423
6502
|
const filter = window.elementorCommon?.config?.fontAwesome?.v7?.filter;
|
|
6424
6503
|
if (!Array.isArray(filter)) {
|
|
@@ -6457,11 +6536,11 @@ function parseFilterEntry(value) {
|
|
|
6457
6536
|
}
|
|
6458
6537
|
|
|
6459
6538
|
// src/controls/icon-library/icon-library-grid.tsx
|
|
6460
|
-
import * as
|
|
6461
|
-
import { useLayoutEffect as useLayoutEffect3, useRef as
|
|
6539
|
+
import * as React87 from "react";
|
|
6540
|
+
import { useLayoutEffect as useLayoutEffect3, useRef as useRef20, useState as useState21 } from "react";
|
|
6462
6541
|
import { Box as Box19, Tooltip as Tooltip9, useTheme as useTheme4 } from "@elementor/ui";
|
|
6463
6542
|
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
6464
|
-
import { __ as
|
|
6543
|
+
import { __ as __36 } from "@wordpress/i18n";
|
|
6465
6544
|
var ICON_LIBRARY_GRID_FALLBACK_COLUMN_COUNT = 4;
|
|
6466
6545
|
var ICON_LIBRARY_GRID_MIN_CELL_SIZE = 52;
|
|
6467
6546
|
var ICON_LIBRARY_GRID_TOOLTIP_ENTER_DELAY = 1e3;
|
|
@@ -6497,9 +6576,9 @@ var IconLibraryGrid = ({
|
|
|
6497
6576
|
noResultsComponent
|
|
6498
6577
|
}) => {
|
|
6499
6578
|
const theme = useTheme4();
|
|
6500
|
-
const containerRef =
|
|
6501
|
-
const cellRefs =
|
|
6502
|
-
const shouldRestoreFocusRef =
|
|
6579
|
+
const containerRef = useRef20(null);
|
|
6580
|
+
const cellRefs = useRef20(/* @__PURE__ */ new Map());
|
|
6581
|
+
const shouldRestoreFocusRef = useRef20(false);
|
|
6503
6582
|
const selectedIndex = items2.findIndex((item) => item.id === selectedValue);
|
|
6504
6583
|
const [focusedIndex, setFocusedIndex] = useState21(selectedIndex >= 0 ? selectedIndex : 0);
|
|
6505
6584
|
const [{ columnCount, cellSize }, setGridMetrics] = useState21(() => getGridMetrics(0, 0, 0));
|
|
@@ -6610,7 +6689,7 @@ var IconLibraryGrid = ({
|
|
|
6610
6689
|
moveFocus(event.key === "Home" ? rowStart : rowEnd);
|
|
6611
6690
|
}
|
|
6612
6691
|
};
|
|
6613
|
-
return /* @__PURE__ */
|
|
6692
|
+
return /* @__PURE__ */ React87.createElement(
|
|
6614
6693
|
Box19,
|
|
6615
6694
|
{
|
|
6616
6695
|
ref: containerRef,
|
|
@@ -6622,11 +6701,11 @@ var IconLibraryGrid = ({
|
|
|
6622
6701
|
overflowY: "auto"
|
|
6623
6702
|
}
|
|
6624
6703
|
},
|
|
6625
|
-
items2.length === 0 && noResultsComponent ? noResultsComponent : /* @__PURE__ */
|
|
6704
|
+
items2.length === 0 && noResultsComponent ? noResultsComponent : /* @__PURE__ */ React87.createElement(
|
|
6626
6705
|
Box19,
|
|
6627
6706
|
{
|
|
6628
6707
|
role: "grid",
|
|
6629
|
-
"aria-label":
|
|
6708
|
+
"aria-label": __36("Icons", "elementor"),
|
|
6630
6709
|
"aria-rowcount": rowCount,
|
|
6631
6710
|
"aria-colcount": columnCount,
|
|
6632
6711
|
"data-testid": "icon-library-grid",
|
|
@@ -6640,7 +6719,7 @@ var IconLibraryGrid = ({
|
|
|
6640
6719
|
virtualizer.getVirtualItems().map((virtualRow) => {
|
|
6641
6720
|
const startIndex = virtualRow.index * columnCount;
|
|
6642
6721
|
const rowItems = items2.slice(startIndex, startIndex + columnCount);
|
|
6643
|
-
return /* @__PURE__ */
|
|
6722
|
+
return /* @__PURE__ */ React87.createElement(
|
|
6644
6723
|
Box19,
|
|
6645
6724
|
{
|
|
6646
6725
|
key: virtualRow.key,
|
|
@@ -6664,14 +6743,14 @@ var IconLibraryGrid = ({
|
|
|
6664
6743
|
const index = startIndex + columnIndex;
|
|
6665
6744
|
const isSelected = selectedValue === item.id;
|
|
6666
6745
|
const tabIndex = focusedIndex === index ? 0 : -1;
|
|
6667
|
-
return /* @__PURE__ */
|
|
6746
|
+
return /* @__PURE__ */ React87.createElement(
|
|
6668
6747
|
Box19,
|
|
6669
6748
|
{
|
|
6670
6749
|
key: item.id,
|
|
6671
6750
|
role: "presentation",
|
|
6672
6751
|
sx: { minWidth: 0, minHeight: 0, width: "100%", height: "100%" }
|
|
6673
6752
|
},
|
|
6674
|
-
/* @__PURE__ */
|
|
6753
|
+
/* @__PURE__ */ React87.createElement(
|
|
6675
6754
|
Tooltip9,
|
|
6676
6755
|
{
|
|
6677
6756
|
title: item.label,
|
|
@@ -6681,7 +6760,7 @@ var IconLibraryGrid = ({
|
|
|
6681
6760
|
disableInteractive: true,
|
|
6682
6761
|
disableFocusListener: true
|
|
6683
6762
|
},
|
|
6684
|
-
/* @__PURE__ */
|
|
6763
|
+
/* @__PURE__ */ React87.createElement(
|
|
6685
6764
|
Box19,
|
|
6686
6765
|
{
|
|
6687
6766
|
component: "button",
|
|
@@ -6736,7 +6815,7 @@ var IconLibraryGrid = ({
|
|
|
6736
6815
|
}
|
|
6737
6816
|
}
|
|
6738
6817
|
},
|
|
6739
|
-
/* @__PURE__ */
|
|
6818
|
+
/* @__PURE__ */ React87.createElement(
|
|
6740
6819
|
FontAwesomeGlyph,
|
|
6741
6820
|
{
|
|
6742
6821
|
icon: { ...item, value: item.iconValue ?? item.value },
|
|
@@ -6755,13 +6834,13 @@ var IconLibraryGrid = ({
|
|
|
6755
6834
|
};
|
|
6756
6835
|
|
|
6757
6836
|
// src/controls/icon-library/icon-library-upload-action.tsx
|
|
6758
|
-
import * as
|
|
6759
|
-
import { forwardRef as forwardRef11, useRef as
|
|
6837
|
+
import * as React88 from "react";
|
|
6838
|
+
import { forwardRef as forwardRef11, useRef as useRef21, useState as useState22 } from "react";
|
|
6760
6839
|
import { PromotionPopover, useCanvasClickHandler } from "@elementor/editor-ui";
|
|
6761
6840
|
import { UploadIcon as UploadIcon2 } from "@elementor/icons";
|
|
6762
6841
|
import { createReplaceableLocation as createReplaceableLocation2 } from "@elementor/locations";
|
|
6763
6842
|
import { Box as Box20, IconButton as IconButton8, Tooltip as Tooltip10 } from "@elementor/ui";
|
|
6764
|
-
import { __ as
|
|
6843
|
+
import { __ as __37 } from "@wordpress/i18n";
|
|
6765
6844
|
|
|
6766
6845
|
// src/utils/tracking.ts
|
|
6767
6846
|
import { getSelectedElements } from "@elementor/editor-elements";
|
|
@@ -6807,18 +6886,18 @@ var TRACKING_DATA = { target_name: "icon_library_upload", location_l2: "general"
|
|
|
6807
6886
|
var { Slot: IconLibraryUploadActionSlot, inject: injectIntoIconLibraryUploadAction } = createReplaceableLocation2();
|
|
6808
6887
|
var IconLibraryUploadButton = forwardRef11(
|
|
6809
6888
|
(props, ref) => {
|
|
6810
|
-
const label =
|
|
6811
|
-
return /* @__PURE__ */
|
|
6889
|
+
const label = __37("Upload library", "elementor");
|
|
6890
|
+
return /* @__PURE__ */ React88.createElement(Tooltip10, { title: label, placement: "top" }, /* @__PURE__ */ React88.createElement(IconButton8, { ref, size: "tiny", "aria-label": label, ...props }, /* @__PURE__ */ React88.createElement(UploadIcon2, { fontSize: "tiny" })));
|
|
6812
6891
|
}
|
|
6813
6892
|
);
|
|
6814
6893
|
var IconLibraryUploadPromotion = ({
|
|
6815
6894
|
ctaUrl = ICON_LIBRARY_UPLOAD_UPGRADE_URL,
|
|
6816
|
-
ctaText =
|
|
6817
|
-
title =
|
|
6818
|
-
content =
|
|
6895
|
+
ctaText = __37("Upgrade now", "elementor"),
|
|
6896
|
+
title = __37("Upload custom icons", "elementor"),
|
|
6897
|
+
content = __37("Add your own icon font library to use across your site.", "elementor")
|
|
6819
6898
|
}) => {
|
|
6820
6899
|
const [isOpen, setIsOpen] = useState22(false);
|
|
6821
|
-
const triggerRef =
|
|
6900
|
+
const triggerRef = useRef21(null);
|
|
6822
6901
|
const canSeePromotions = !!window.elementor?.config?.v4Promotions;
|
|
6823
6902
|
const close = () => {
|
|
6824
6903
|
setIsOpen(false);
|
|
@@ -6834,7 +6913,7 @@ var IconLibraryUploadPromotion = ({
|
|
|
6834
6913
|
if (!canSeePromotions) {
|
|
6835
6914
|
return null;
|
|
6836
6915
|
}
|
|
6837
|
-
return /* @__PURE__ */
|
|
6916
|
+
return /* @__PURE__ */ React88.createElement(
|
|
6838
6917
|
PromotionPopover,
|
|
6839
6918
|
{
|
|
6840
6919
|
open: isOpen,
|
|
@@ -6850,7 +6929,7 @@ var IconLibraryUploadPromotion = ({
|
|
|
6850
6929
|
},
|
|
6851
6930
|
onCtaClick: () => trackUpgradePromotionClick(TRACKING_DATA)
|
|
6852
6931
|
},
|
|
6853
|
-
/* @__PURE__ */
|
|
6932
|
+
/* @__PURE__ */ React88.createElement(Box20, { component: "span", sx: { display: "inline-flex" } }, /* @__PURE__ */ React88.createElement(
|
|
6854
6933
|
IconLibraryUploadButton,
|
|
6855
6934
|
{
|
|
6856
6935
|
ref: triggerRef,
|
|
@@ -6865,22 +6944,22 @@ var IconLibraryUploadAction = () => {
|
|
|
6865
6944
|
if (window.elementorPro) {
|
|
6866
6945
|
return null;
|
|
6867
6946
|
}
|
|
6868
|
-
return /* @__PURE__ */
|
|
6947
|
+
return /* @__PURE__ */ React88.createElement(IconLibraryUploadPromotion, null);
|
|
6869
6948
|
};
|
|
6870
6949
|
|
|
6871
6950
|
// src/controls/icon-library/icon-library-view-toggle.tsx
|
|
6872
|
-
import * as
|
|
6951
|
+
import * as React89 from "react";
|
|
6873
6952
|
import { ListIcon, WidgetsIcon } from "@elementor/icons";
|
|
6874
6953
|
import { IconButton as IconButton9, Tooltip as Tooltip11 } from "@elementor/ui";
|
|
6875
|
-
import { __ as
|
|
6954
|
+
import { __ as __38 } from "@wordpress/i18n";
|
|
6876
6955
|
var HEADER_ACTION_GAP = 0.5;
|
|
6877
6956
|
var IconLibraryViewToggle = ({ value, onChange }) => {
|
|
6878
6957
|
const isGrid = value === "grid";
|
|
6879
6958
|
const nextView = isGrid ? "list" : "grid";
|
|
6880
6959
|
const ViewIcon = isGrid ? WidgetsIcon : ListIcon;
|
|
6881
|
-
const viewButtonLabel = isGrid ?
|
|
6882
|
-
const viewButtonAction = isGrid ?
|
|
6883
|
-
return /* @__PURE__ */
|
|
6960
|
+
const viewButtonLabel = isGrid ? __38("Grid view", "elementor") : __38("List view", "elementor");
|
|
6961
|
+
const viewButtonAction = isGrid ? __38("Switch to list view", "elementor") : __38("Switch to grid view", "elementor");
|
|
6962
|
+
return /* @__PURE__ */ React89.createElement(
|
|
6884
6963
|
Tooltip11,
|
|
6885
6964
|
{
|
|
6886
6965
|
title: viewButtonLabel,
|
|
@@ -6889,7 +6968,7 @@ var IconLibraryViewToggle = ({ value, onChange }) => {
|
|
|
6889
6968
|
enterNextDelay: ICON_LIBRARY_ACTION_TOOLTIP_ENTER_DELAY,
|
|
6890
6969
|
disableInteractive: true
|
|
6891
6970
|
},
|
|
6892
|
-
/* @__PURE__ */
|
|
6971
|
+
/* @__PURE__ */ React89.createElement(
|
|
6893
6972
|
IconButton9,
|
|
6894
6973
|
{
|
|
6895
6974
|
"aria-label": viewButtonAction,
|
|
@@ -6897,7 +6976,7 @@ var IconLibraryViewToggle = ({ value, onChange }) => {
|
|
|
6897
6976
|
onClick: () => onChange(nextView),
|
|
6898
6977
|
sx: { flexShrink: 0, mr: HEADER_ACTION_GAP }
|
|
6899
6978
|
},
|
|
6900
|
-
/* @__PURE__ */
|
|
6979
|
+
/* @__PURE__ */ React89.createElement(ViewIcon, { fontSize: "tiny" })
|
|
6901
6980
|
)
|
|
6902
6981
|
);
|
|
6903
6982
|
};
|
|
@@ -6918,11 +6997,11 @@ function mergeIconsById(primary, secondary) {
|
|
|
6918
6997
|
}
|
|
6919
6998
|
|
|
6920
6999
|
// src/controls/icon-library/svg-element-icon.tsx
|
|
6921
|
-
import * as
|
|
7000
|
+
import * as React90 from "react";
|
|
6922
7001
|
import { SvgIcon } from "@elementor/ui";
|
|
6923
7002
|
var SVG_ELEMENT_ICON_PATH = "M502 772c10 0 19-6 24-14l201-351c4-9 4-19 0-27-5-9-14-14-24-14h-401c-10 0-19 5-24 14-4 8-5 18 0 27l201 351c5 8 14 14 23 14z m0-82l-154-270h309l-154 270z m-323-471c-6 0-12-2-16-7-4-4-7-10-7-16v-201c0-6 3-12 7-16 4-5 10-7 16-7h201c6 0 12 2 16 7 5 4 7 10 7 16v201c0 6-2 12-7 16-4 5-10 7-16 7h-201z m-54 32c14 14 34 22 54 22h201c20 0 40-8 55-22 14-15 22-35 22-55v-201c0-20-8-40-22-54-15-15-35-23-55-23h-201c-20 0-40 8-54 23-15 14-23 34-23 54v201c0 20 8 40 23 55z m480-30c34 33 79 52 126 52s92-19 125-52c34-33 52-78 52-125s-18-93-52-126c-33-33-78-52-125-52s-92 19-126 52c-33 33-52 78-52 126s19 92 52 125z m126-2c-33 0-64-13-87-36-24-23-37-55-37-87s13-65 37-88c23-23 54-36 87-36s64 13 87 36c23 23 36 55 36 88s-13 64-36 87c-23 23-54 36-87 36z";
|
|
6924
|
-
var SvgElementIcon =
|
|
6925
|
-
(props, ref) => /* @__PURE__ */
|
|
7003
|
+
var SvgElementIcon = React90.forwardRef(
|
|
7004
|
+
(props, ref) => /* @__PURE__ */ React90.createElement(SvgIcon, { viewBox: "0 0 1000 1000", ...props, ref }, /* @__PURE__ */ React90.createElement("g", { transform: "translate(0, 850) scale(1, -1)" }, /* @__PURE__ */ React90.createElement("path", { d: SVG_ELEMENT_ICON_PATH })))
|
|
6926
7005
|
);
|
|
6927
7006
|
|
|
6928
7007
|
// src/controls/icon-library/use-font-awesome-7-catalog.ts
|
|
@@ -6981,16 +7060,16 @@ var IconLibraryPopover = ({
|
|
|
6981
7060
|
const view = isIconLibraryView(storedView) ? storedView : DEFAULT_ICON_LIBRARY_VIEW;
|
|
6982
7061
|
const { data: fontAwesomeIcons = [], isLoading: isFontAwesomeLoading } = useFontAwesome7Catalog(open);
|
|
6983
7062
|
const { data: providerIcons = [], isLoading: isProviderLoading } = useIconLibraryProviderIcons(open);
|
|
6984
|
-
const icons =
|
|
7063
|
+
const icons = useMemo13(
|
|
6985
7064
|
() => mergeIconsById(fontAwesomeIcons, providerIcons),
|
|
6986
7065
|
[providerIcons, fontAwesomeIcons]
|
|
6987
7066
|
);
|
|
6988
|
-
const items2 =
|
|
7067
|
+
const items2 = useMemo13(
|
|
6989
7068
|
() => createIconLibraryItems(icons, searchValue, activeLibraries),
|
|
6990
7069
|
[activeLibraries, icons, searchValue]
|
|
6991
7070
|
);
|
|
6992
7071
|
const isLoading = isFontAwesomeLoading || isProviderLoading && items2.length === 0;
|
|
6993
|
-
const selectedValue =
|
|
7072
|
+
const selectedValue = useMemo13(
|
|
6994
7073
|
() => findFontAwesome7Icon(icons, selectedIconClass, selectedIconLibrary)?.id,
|
|
6995
7074
|
[icons, selectedIconClass, selectedIconLibrary]
|
|
6996
7075
|
);
|
|
@@ -7012,15 +7091,15 @@ var IconLibraryPopover = ({
|
|
|
7012
7091
|
const handleClearSearch = () => {
|
|
7013
7092
|
setSearchValue("");
|
|
7014
7093
|
};
|
|
7015
|
-
return /* @__PURE__ */
|
|
7094
|
+
return /* @__PURE__ */ React91.createElement(PopoverBody2, { width, fillWidth: true, id: "icon-library" }, /* @__PURE__ */ React91.createElement(
|
|
7016
7095
|
PopoverHeader4,
|
|
7017
7096
|
{
|
|
7018
|
-
title:
|
|
7097
|
+
title: __39("Icon library", "elementor"),
|
|
7019
7098
|
onClose: handleClose,
|
|
7020
|
-
icon: /* @__PURE__ */
|
|
7099
|
+
icon: /* @__PURE__ */ React91.createElement(LibraryIcon2, { fontSize: "tiny" }),
|
|
7021
7100
|
actions: [
|
|
7022
|
-
/* @__PURE__ */
|
|
7023
|
-
/* @__PURE__ */
|
|
7101
|
+
/* @__PURE__ */ React91.createElement(IconLibraryViewToggle, { key: "view", value: view, onChange: setStoredView }),
|
|
7102
|
+
/* @__PURE__ */ React91.createElement(IconLibraryUploadActionSlot, { key: "upload" }, /* @__PURE__ */ React91.createElement(IconLibraryUploadAction, null))
|
|
7024
7103
|
],
|
|
7025
7104
|
sx: {
|
|
7026
7105
|
pl: ICON_LIBRARY_INLINE_SPACING,
|
|
@@ -7028,7 +7107,7 @@ var IconLibraryPopover = ({
|
|
|
7028
7107
|
"& .MuiTypography-subtitle2": { fontSize: ICON_LIBRARY_TITLE_SIZE }
|
|
7029
7108
|
}
|
|
7030
7109
|
}
|
|
7031
|
-
), /* @__PURE__ */
|
|
7110
|
+
), /* @__PURE__ */ React91.createElement(
|
|
7032
7111
|
Stack16,
|
|
7033
7112
|
{
|
|
7034
7113
|
direction: "row",
|
|
@@ -7036,18 +7115,18 @@ var IconLibraryPopover = ({
|
|
|
7036
7115
|
gap: 1,
|
|
7037
7116
|
sx: { px: ICON_LIBRARY_INLINE_SPACING, pb: ICON_LIBRARY_SEARCH_PADDING_BOTTOM }
|
|
7038
7117
|
},
|
|
7039
|
-
/* @__PURE__ */
|
|
7118
|
+
/* @__PURE__ */ React91.createElement(
|
|
7040
7119
|
SearchField2,
|
|
7041
7120
|
{
|
|
7042
7121
|
value: searchInputValue,
|
|
7043
7122
|
onSearch: handleSearchChange,
|
|
7044
|
-
placeholder:
|
|
7123
|
+
placeholder: __39("Search", "elementor"),
|
|
7045
7124
|
id: "icon-library-search",
|
|
7046
7125
|
sx: { flex: 1, px: 0, pb: 0 }
|
|
7047
7126
|
}
|
|
7048
7127
|
),
|
|
7049
|
-
/* @__PURE__ */
|
|
7050
|
-
), /* @__PURE__ */
|
|
7128
|
+
/* @__PURE__ */ React91.createElement(IconLibraryFilter, { value: activeLibraries, onChange: setActiveLibraries })
|
|
7129
|
+
), /* @__PURE__ */ React91.createElement(Divider5, null), /* @__PURE__ */ React91.createElement(Box21, { sx: { flex: 1, overflow: "hidden", minHeight: 0, minWidth: 0 } }, /* @__PURE__ */ React91.createElement(
|
|
7051
7130
|
IconLibraryContent,
|
|
7052
7131
|
{
|
|
7053
7132
|
isLoading,
|
|
@@ -7074,9 +7153,9 @@ var IconLibraryContent = ({
|
|
|
7074
7153
|
onClearSearch
|
|
7075
7154
|
}) => {
|
|
7076
7155
|
if (isLoading) {
|
|
7077
|
-
return /* @__PURE__ */
|
|
7156
|
+
return /* @__PURE__ */ React91.createElement(IconLibraryLoadingState, null);
|
|
7078
7157
|
}
|
|
7079
|
-
const emptyState = /* @__PURE__ */
|
|
7158
|
+
const emptyState = /* @__PURE__ */ React91.createElement(
|
|
7080
7159
|
IconLibraryEmptyState,
|
|
7081
7160
|
{
|
|
7082
7161
|
searchValue,
|
|
@@ -7085,7 +7164,7 @@ var IconLibraryContent = ({
|
|
|
7085
7164
|
}
|
|
7086
7165
|
);
|
|
7087
7166
|
if (view === "grid") {
|
|
7088
|
-
return /* @__PURE__ */
|
|
7167
|
+
return /* @__PURE__ */ React91.createElement(Box21, { sx: { width: "100%", height: "100%", minWidth: 0, minHeight: 0 } }, /* @__PURE__ */ React91.createElement(
|
|
7089
7168
|
IconLibraryGrid,
|
|
7090
7169
|
{
|
|
7091
7170
|
items: items2,
|
|
@@ -7096,7 +7175,7 @@ var IconLibraryContent = ({
|
|
|
7096
7175
|
}
|
|
7097
7176
|
));
|
|
7098
7177
|
}
|
|
7099
|
-
return /* @__PURE__ */
|
|
7178
|
+
return /* @__PURE__ */ React91.createElement(
|
|
7100
7179
|
PopoverMenuList2,
|
|
7101
7180
|
{
|
|
7102
7181
|
items: items2,
|
|
@@ -7111,20 +7190,20 @@ var IconLibraryContent = ({
|
|
|
7111
7190
|
}
|
|
7112
7191
|
);
|
|
7113
7192
|
};
|
|
7114
|
-
var IconLibraryLoadingState = () => /* @__PURE__ */
|
|
7193
|
+
var IconLibraryLoadingState = () => /* @__PURE__ */ React91.createElement(Stack16, { alignItems: "center", justifyContent: "center", height: "100%" }, /* @__PURE__ */ React91.createElement(CircularProgress3, { role: "progressbar", size: 24, "aria-label": __39("Loading icons", "elementor") }));
|
|
7115
7194
|
var IconLibraryEmptyState = ({
|
|
7116
7195
|
searchValue,
|
|
7117
7196
|
isCatalogAvailable,
|
|
7118
7197
|
onClear
|
|
7119
7198
|
}) => {
|
|
7120
7199
|
if (!isCatalogAvailable) {
|
|
7121
|
-
return /* @__PURE__ */
|
|
7200
|
+
return /* @__PURE__ */ React91.createElement(CatalogUnavailable, null);
|
|
7122
7201
|
}
|
|
7123
|
-
return /* @__PURE__ */
|
|
7202
|
+
return /* @__PURE__ */ React91.createElement(NoResults, { searchValue, onClear });
|
|
7124
7203
|
};
|
|
7125
7204
|
var IconLibraryRow = (item) => {
|
|
7126
7205
|
const icon = item;
|
|
7127
|
-
return /* @__PURE__ */
|
|
7206
|
+
return /* @__PURE__ */ React91.createElement(Stack16, { direction: "row", alignItems: "center", gap: 1, sx: { width: "100%" } }, /* @__PURE__ */ React91.createElement(
|
|
7128
7207
|
Box21,
|
|
7129
7208
|
{
|
|
7130
7209
|
sx: {
|
|
@@ -7140,7 +7219,7 @@ var IconLibraryRow = (item) => {
|
|
|
7140
7219
|
flexShrink: 0
|
|
7141
7220
|
}
|
|
7142
7221
|
},
|
|
7143
|
-
/* @__PURE__ */
|
|
7222
|
+
/* @__PURE__ */ React91.createElement(
|
|
7144
7223
|
FontAwesomeGlyph,
|
|
7145
7224
|
{
|
|
7146
7225
|
icon: { ...icon, value: icon.iconValue },
|
|
@@ -7148,10 +7227,10 @@ var IconLibraryRow = (item) => {
|
|
|
7148
7227
|
color: "currentColor"
|
|
7149
7228
|
}
|
|
7150
7229
|
)
|
|
7151
|
-
), /* @__PURE__ */
|
|
7230
|
+
), /* @__PURE__ */ React91.createElement(Typography10, { variant: "caption", color: "text.primary", noWrap: true }, icon.label));
|
|
7152
7231
|
};
|
|
7153
|
-
var CatalogUnavailable = () => /* @__PURE__ */
|
|
7154
|
-
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */
|
|
7232
|
+
var CatalogUnavailable = () => /* @__PURE__ */ React91.createElement(Stack16, { alignItems: "center", justifyContent: "center", height: "100%", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React91.createElement(SvgElementIcon, { fontSize: "large" }), /* @__PURE__ */ React91.createElement(Typography10, { align: "center", variant: "subtitle2", color: "text.secondary" }, __39("Icons couldn't be loaded.", "elementor")));
|
|
7233
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React91.createElement(Stack16, { alignItems: "center", justifyContent: "center", height: "100%", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React91.createElement(SvgElementIcon, { fontSize: "large" }), /* @__PURE__ */ React91.createElement(Typography10, { align: "center", variant: "subtitle2", color: "text.secondary" }, __39("Sorry, nothing matched", "elementor")), searchValue ? /* @__PURE__ */ React91.createElement(React91.Fragment, null, /* @__PURE__ */ React91.createElement(Typography10, { align: "center", variant: "subtitle2", color: "text.secondary", noWrap: true, sx: { maxWidth: "80%" } }, "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React91.createElement(Link3, { color: "secondary", variant: "caption", component: "button", type: "button", onClick: onClear }, __39("Clear & try again", "elementor"))) : null);
|
|
7155
7234
|
var createIconLibraryItems = (icons, searchValue, libraries) => filterFontAwesome7Icons(icons, searchValue, libraries).map((icon) => ({
|
|
7156
7235
|
...icon,
|
|
7157
7236
|
type: "item",
|
|
@@ -7160,23 +7239,23 @@ var createIconLibraryItems = (icons, searchValue, libraries) => filterFontAwesom
|
|
|
7160
7239
|
}));
|
|
7161
7240
|
|
|
7162
7241
|
// src/controls/open-icon-library.ts
|
|
7163
|
-
import { stringPropTypeUtil as
|
|
7242
|
+
import { stringPropTypeUtil as stringPropTypeUtil15 } from "@elementor/editor-props";
|
|
7164
7243
|
function enqueueIconFonts(library) {
|
|
7165
7244
|
window.elementor?.helpers?.enqueueIconFonts?.(library);
|
|
7166
7245
|
}
|
|
7167
7246
|
function createIconPropValue(icon, library) {
|
|
7168
7247
|
return {
|
|
7169
|
-
value:
|
|
7170
|
-
library:
|
|
7248
|
+
value: stringPropTypeUtil15.create(icon),
|
|
7249
|
+
library: stringPropTypeUtil15.create(library)
|
|
7171
7250
|
};
|
|
7172
7251
|
}
|
|
7173
7252
|
|
|
7174
7253
|
// src/controls/svg-media-overlay.tsx
|
|
7175
|
-
import * as
|
|
7254
|
+
import * as React92 from "react";
|
|
7176
7255
|
import { ThemeProvider } from "@elementor/editor-ui";
|
|
7177
7256
|
import { LibraryIcon as LibraryIcon3 } from "@elementor/icons";
|
|
7178
7257
|
import { Box as Box22, Button as Button6, Stack as Stack17, Typography as Typography11 } from "@elementor/ui";
|
|
7179
|
-
import { __ as
|
|
7258
|
+
import { __ as __40 } from "@wordpress/i18n";
|
|
7180
7259
|
var SVG_MEDIA_CONTROL_CONTAINER_TEST_ID = "svg-media-control-container";
|
|
7181
7260
|
var SVG_MEDIA_ACTION_GROUP_TEST_ID = "svg-media-action-group";
|
|
7182
7261
|
var ICON_LIBRARY_PADDING = 0.625;
|
|
@@ -7189,31 +7268,31 @@ var SvgMediaOverlay = ({
|
|
|
7189
7268
|
onOpenIconLibrary,
|
|
7190
7269
|
infotipTitle,
|
|
7191
7270
|
infotipDescription
|
|
7192
|
-
}) => /* @__PURE__ */
|
|
7271
|
+
}) => /* @__PURE__ */ React92.createElement(Stack17, { alignItems: "center", gap: 1 }, /* @__PURE__ */ React92.createElement(
|
|
7193
7272
|
MediaActionGroup,
|
|
7194
7273
|
{
|
|
7195
7274
|
label,
|
|
7196
7275
|
onSelect: onSelectSvg,
|
|
7197
7276
|
groupRef: buttonGroupRef,
|
|
7198
7277
|
testId: SVG_MEDIA_ACTION_GROUP_TEST_ID,
|
|
7199
|
-
uploadSlot: /* @__PURE__ */
|
|
7278
|
+
uploadSlot: /* @__PURE__ */ React92.createElement(
|
|
7200
7279
|
ConditionalControlInfotip,
|
|
7201
7280
|
{
|
|
7202
7281
|
title: infotipTitle,
|
|
7203
7282
|
description: infotipDescription,
|
|
7204
7283
|
isEnabled: !isAdmin
|
|
7205
7284
|
},
|
|
7206
|
-
/* @__PURE__ */
|
|
7285
|
+
/* @__PURE__ */ React92.createElement(Box22, { component: "span", sx: { display: "flex", width: "100%" } }, /* @__PURE__ */ React92.createElement(UploadControl, { isAdmin, onUpload }))
|
|
7207
7286
|
)
|
|
7208
7287
|
}
|
|
7209
|
-
), /* @__PURE__ */
|
|
7288
|
+
), /* @__PURE__ */ React92.createElement(
|
|
7210
7289
|
Button6,
|
|
7211
7290
|
{
|
|
7212
7291
|
size: "tiny",
|
|
7213
7292
|
color: "inherit",
|
|
7214
7293
|
variant: "text",
|
|
7215
|
-
startIcon: /* @__PURE__ */
|
|
7216
|
-
"aria-label":
|
|
7294
|
+
startIcon: /* @__PURE__ */ React92.createElement(LibraryIcon3, { sx: { height: "18px", width: "16px" } }),
|
|
7295
|
+
"aria-label": __40("Icon library", "elementor"),
|
|
7217
7296
|
onClick: onOpenIconLibrary,
|
|
7218
7297
|
sx: {
|
|
7219
7298
|
height: "28px",
|
|
@@ -7221,20 +7300,20 @@ var SvgMediaOverlay = ({
|
|
|
7221
7300
|
".MuiButton-icon": { ml: 0 }
|
|
7222
7301
|
}
|
|
7223
7302
|
},
|
|
7224
|
-
/* @__PURE__ */
|
|
7303
|
+
/* @__PURE__ */ React92.createElement(Typography11, null, __40("Icon library", "elementor"))
|
|
7225
7304
|
));
|
|
7226
7305
|
var UploadControl = ({ isAdmin, onUpload }) => {
|
|
7227
7306
|
if (isAdmin) {
|
|
7228
|
-
return /* @__PURE__ */
|
|
7307
|
+
return /* @__PURE__ */ React92.createElement(MediaUploadButton, { onClick: onUpload });
|
|
7229
7308
|
}
|
|
7230
|
-
return /* @__PURE__ */
|
|
7309
|
+
return /* @__PURE__ */ React92.createElement(ThemeProvider, { colorScheme: "dark" }, /* @__PURE__ */ React92.createElement(MediaUploadButton, { disabled: true }));
|
|
7231
7310
|
};
|
|
7232
7311
|
|
|
7233
7312
|
// src/controls/svg-media-preview.tsx
|
|
7234
|
-
import * as
|
|
7235
|
-
import { useMemo as
|
|
7313
|
+
import * as React93 from "react";
|
|
7314
|
+
import { useMemo as useMemo14 } from "react";
|
|
7236
7315
|
import { Box as Box23, CardMedia as CardMedia2, CircularProgress as CircularProgress4 } from "@elementor/ui";
|
|
7237
|
-
import { __ as
|
|
7316
|
+
import { __ as __41 } from "@wordpress/i18n";
|
|
7238
7317
|
var ICON_PREVIEW_SIZE = 50;
|
|
7239
7318
|
var ICON_PREVIEW_COLOR = "#000000";
|
|
7240
7319
|
var SvgMediaPreview = ({ isFetching, src, iconClassName, iconLibrary }) => {
|
|
@@ -7244,7 +7323,7 @@ var SvgMediaPreview = ({ isFetching, src, iconClassName, iconLibrary }) => {
|
|
|
7244
7323
|
const { data: providerIcons = [], isLoading: isProviderLoading } = useIconLibraryProviderIcons(
|
|
7245
7324
|
shouldLoadIconCatalog && !isFontAwesomeLibrary
|
|
7246
7325
|
);
|
|
7247
|
-
const icons =
|
|
7326
|
+
const icons = useMemo14(
|
|
7248
7327
|
() => mergeIconsById(fontAwesomeIcons, providerIcons),
|
|
7249
7328
|
[fontAwesomeIcons, providerIcons]
|
|
7250
7329
|
);
|
|
@@ -7256,21 +7335,21 @@ var SvgMediaPreview = ({ isFetching, src, iconClassName, iconLibrary }) => {
|
|
|
7256
7335
|
shouldLoadIconCatalog && !isLoadingCatalog && !selectedIcon && !isFontAwesomeLibrary
|
|
7257
7336
|
);
|
|
7258
7337
|
if (isFetching || isLoadingCatalog || isSavedIconLoading) {
|
|
7259
|
-
return /* @__PURE__ */
|
|
7338
|
+
return /* @__PURE__ */ React93.createElement(CircularProgress4, { role: "progressbar", "aria-label": __41("Loading icon", "elementor") });
|
|
7260
7339
|
}
|
|
7261
7340
|
if (selectedIcon) {
|
|
7262
|
-
return /* @__PURE__ */
|
|
7341
|
+
return /* @__PURE__ */ React93.createElement(IconPreview, { icon: selectedIcon });
|
|
7263
7342
|
}
|
|
7264
7343
|
if (shouldLoadIconCatalog && iconClassName && iconLibrary && isFontAwesomeLibrary) {
|
|
7265
|
-
return /* @__PURE__ */
|
|
7344
|
+
return /* @__PURE__ */ React93.createElement(IconPreview, { icon: createLazyIcon(iconLibrary, iconClassName) });
|
|
7266
7345
|
}
|
|
7267
7346
|
if (savedIconSvg) {
|
|
7268
|
-
return /* @__PURE__ */
|
|
7347
|
+
return /* @__PURE__ */ React93.createElement(IconPreview, { icon: toSvgMarkupIcon(savedIconSvg, iconLibrary, iconClassName) });
|
|
7269
7348
|
}
|
|
7270
7349
|
if (shouldLoadIconCatalog) {
|
|
7271
|
-
return /* @__PURE__ */
|
|
7350
|
+
return /* @__PURE__ */ React93.createElement(IconPreviewPlaceholder, null);
|
|
7272
7351
|
}
|
|
7273
|
-
return /* @__PURE__ */
|
|
7352
|
+
return /* @__PURE__ */ React93.createElement(SvgPreview, { src });
|
|
7274
7353
|
};
|
|
7275
7354
|
var createLazyIcon = (library, value) => ({
|
|
7276
7355
|
id: `${library}:${value}`,
|
|
@@ -7296,16 +7375,16 @@ var toSvgMarkupIcon = (svgMarkup, library, value) => ({
|
|
|
7296
7375
|
paths: [],
|
|
7297
7376
|
svgMarkup
|
|
7298
7377
|
});
|
|
7299
|
-
var IconPreview = ({ icon }) => /* @__PURE__ */
|
|
7378
|
+
var IconPreview = ({ icon }) => /* @__PURE__ */ React93.createElement(Box23, { sx: { color: ICON_PREVIEW_COLOR, minWidth: ICON_PREVIEW_SIZE, minHeight: ICON_PREVIEW_SIZE } }, /* @__PURE__ */ React93.createElement(
|
|
7300
7379
|
FontAwesomeGlyph,
|
|
7301
7380
|
{
|
|
7302
7381
|
icon,
|
|
7303
7382
|
size: ICON_PREVIEW_SIZE,
|
|
7304
7383
|
color: ICON_PREVIEW_COLOR,
|
|
7305
|
-
label:
|
|
7384
|
+
label: __41("Preview icon", "elementor")
|
|
7306
7385
|
}
|
|
7307
7386
|
));
|
|
7308
|
-
var IconPreviewPlaceholder = () => /* @__PURE__ */
|
|
7387
|
+
var IconPreviewPlaceholder = () => /* @__PURE__ */ React93.createElement(
|
|
7309
7388
|
Box23,
|
|
7310
7389
|
{
|
|
7311
7390
|
"aria-hidden": true,
|
|
@@ -7316,12 +7395,12 @@ var IconPreviewPlaceholder = () => /* @__PURE__ */ React92.createElement(
|
|
|
7316
7395
|
}
|
|
7317
7396
|
}
|
|
7318
7397
|
);
|
|
7319
|
-
var SvgPreview = ({ src }) => /* @__PURE__ */
|
|
7398
|
+
var SvgPreview = ({ src }) => /* @__PURE__ */ React93.createElement(
|
|
7320
7399
|
CardMedia2,
|
|
7321
7400
|
{
|
|
7322
7401
|
component: "img",
|
|
7323
7402
|
image: src,
|
|
7324
|
-
alt:
|
|
7403
|
+
alt: __41("Preview SVG", "elementor"),
|
|
7325
7404
|
sx: { maxHeight: "140px", width: `${ICON_PREVIEW_SIZE}px`, color: ICON_PREVIEW_COLOR }
|
|
7326
7405
|
}
|
|
7327
7406
|
);
|
|
@@ -7355,7 +7434,7 @@ var StyledCardMediaContainer = styled12(Stack18)`
|
|
|
7355
7434
|
var MODE_BROWSE = { mode: "browse" };
|
|
7356
7435
|
var MODE_UPLOAD = { mode: "upload" };
|
|
7357
7436
|
var SvgMediaControl = createControl(({ label }) => {
|
|
7358
|
-
const groupLabel = label ??
|
|
7437
|
+
const groupLabel = label ?? __42("SVG", "elementor");
|
|
7359
7438
|
const { value: svgValue, setValue: setSvgValue, placeholder: svgPlaceholder } = useBoundProp(svgSrcPropTypeUtil);
|
|
7360
7439
|
const { value: iconValue, setValue: setIconValue, placeholder: iconPlaceholder } = useBoundProp(iconPropTypeUtil);
|
|
7361
7440
|
const id = svgValue?.id;
|
|
@@ -7367,8 +7446,8 @@ var SvgMediaControl = createControl(({ label }) => {
|
|
|
7367
7446
|
const { data: allowSvgUpload } = useUnfilteredFilesUpload();
|
|
7368
7447
|
const [unfilteredModalOpenState, setUnfilteredModalOpenState] = useState24(false);
|
|
7369
7448
|
const iconLibraryPopoverState = usePopupState9({ variant: "popover" });
|
|
7370
|
-
const controlContainerRef =
|
|
7371
|
-
const buttonGroupRef =
|
|
7449
|
+
const controlContainerRef = useRef22(null);
|
|
7450
|
+
const buttonGroupRef = useRef22(null);
|
|
7372
7451
|
const [iconLibraryAnchor, setIconLibraryAnchor] = useState24(null);
|
|
7373
7452
|
const { isAdmin } = useCurrentUserCapabilities();
|
|
7374
7453
|
const selectedIconClass = typeof previewIconValue?.value?.value === "string" ? previewIconValue.value.value : null;
|
|
@@ -7437,7 +7516,7 @@ var SvgMediaControl = createControl(({ label }) => {
|
|
|
7437
7516
|
};
|
|
7438
7517
|
}, [iconLibraryPopoverState.isOpen]);
|
|
7439
7518
|
const iconLibraryWidth = iconLibraryAnchor?.width ?? ICON_LIBRARY_POPOVER_WIDTH;
|
|
7440
|
-
return /* @__PURE__ */
|
|
7519
|
+
return /* @__PURE__ */ React94.createElement(Stack18, { gap: 1, "aria-label": __42("SVG control", "elementor") }, /* @__PURE__ */ React94.createElement(EnableUnfilteredModal, { open: unfilteredModalOpenState, onClose: handleCloseUnfilteredModal }), iconLibraryAnchor ? /* @__PURE__ */ React94.createElement(
|
|
7441
7520
|
Popover6,
|
|
7442
7521
|
{
|
|
7443
7522
|
disableScrollLock: true,
|
|
@@ -7457,7 +7536,7 @@ var SvgMediaControl = createControl(({ label }) => {
|
|
|
7457
7536
|
}
|
|
7458
7537
|
}
|
|
7459
7538
|
},
|
|
7460
|
-
/* @__PURE__ */
|
|
7539
|
+
/* @__PURE__ */ React94.createElement(
|
|
7461
7540
|
IconLibraryPopover,
|
|
7462
7541
|
{
|
|
7463
7542
|
open: iconLibraryPopoverState.isOpen,
|
|
@@ -7468,14 +7547,14 @@ var SvgMediaControl = createControl(({ label }) => {
|
|
|
7468
7547
|
width: iconLibraryWidth
|
|
7469
7548
|
}
|
|
7470
7549
|
)
|
|
7471
|
-
) : null, /* @__PURE__ */
|
|
7550
|
+
) : null, /* @__PURE__ */ React94.createElement(
|
|
7472
7551
|
Box24,
|
|
7473
7552
|
{
|
|
7474
7553
|
ref: controlContainerRef,
|
|
7475
7554
|
"data-testid": SVG_MEDIA_CONTROL_CONTAINER_TEST_ID,
|
|
7476
7555
|
sx: { width: "100%" }
|
|
7477
7556
|
},
|
|
7478
|
-
/* @__PURE__ */
|
|
7557
|
+
/* @__PURE__ */ React94.createElement(ControlActions, null, /* @__PURE__ */ React94.createElement(StyledCard, { variant: "outlined" }, /* @__PURE__ */ React94.createElement(StyledCardMediaContainer, null, /* @__PURE__ */ React94.createElement(
|
|
7479
7558
|
SvgMediaPreview,
|
|
7480
7559
|
{
|
|
7481
7560
|
isFetching,
|
|
@@ -7483,7 +7562,7 @@ var SvgMediaControl = createControl(({ label }) => {
|
|
|
7483
7562
|
iconClassName: selectedIconClass,
|
|
7484
7563
|
iconLibrary: selectedIconLibrary
|
|
7485
7564
|
}
|
|
7486
|
-
)), /* @__PURE__ */
|
|
7565
|
+
)), /* @__PURE__ */ React94.createElement(
|
|
7487
7566
|
CardOverlay2,
|
|
7488
7567
|
{
|
|
7489
7568
|
sx: {
|
|
@@ -7492,7 +7571,7 @@ var SvgMediaControl = createControl(({ label }) => {
|
|
|
7492
7571
|
}
|
|
7493
7572
|
}
|
|
7494
7573
|
},
|
|
7495
|
-
/* @__PURE__ */
|
|
7574
|
+
/* @__PURE__ */ React94.createElement(
|
|
7496
7575
|
SvgMediaOverlay,
|
|
7497
7576
|
{
|
|
7498
7577
|
label: groupLabel,
|
|
@@ -7501,23 +7580,23 @@ var SvgMediaControl = createControl(({ label }) => {
|
|
|
7501
7580
|
onSelectSvg: handleSelectSvg,
|
|
7502
7581
|
onUpload: handleUpload,
|
|
7503
7582
|
onOpenIconLibrary: handleOpenIconLibrary,
|
|
7504
|
-
infotipTitle:
|
|
7505
|
-
infotipDescription: /* @__PURE__ */
|
|
7583
|
+
infotipTitle: __42("Sorry, you can't upload that file yet.", "elementor"),
|
|
7584
|
+
infotipDescription: /* @__PURE__ */ React94.createElement(UnfilteredUploadInfotipDescription, null)
|
|
7506
7585
|
}
|
|
7507
7586
|
)
|
|
7508
7587
|
)))
|
|
7509
7588
|
));
|
|
7510
7589
|
});
|
|
7511
|
-
var UnfilteredUploadInfotipDescription = () => /* @__PURE__ */
|
|
7590
|
+
var UnfilteredUploadInfotipDescription = () => /* @__PURE__ */ React94.createElement(React94.Fragment, null, __42("To upload them anyway, ask the site administrator to enable unfiltered", "elementor"), /* @__PURE__ */ React94.createElement("br", null), __42("file uploads.", "elementor"));
|
|
7512
7591
|
|
|
7513
7592
|
// src/controls/video-media-control.tsx
|
|
7514
|
-
import * as
|
|
7593
|
+
import * as React95 from "react";
|
|
7515
7594
|
import { urlPropTypeUtil as urlPropTypeUtil5, videoSrcPropTypeUtil } from "@elementor/editor-props";
|
|
7516
7595
|
import { Card as Card3, CardMedia as CardMedia3, CardOverlay as CardOverlay3, CircularProgress as CircularProgress5 } from "@elementor/ui";
|
|
7517
7596
|
import { useWpMediaAttachment as useWpMediaAttachment3, useWpMediaFrame as useWpMediaFrame3 } from "@elementor/wp-media";
|
|
7518
|
-
import { __ as
|
|
7597
|
+
import { __ as __43 } from "@wordpress/i18n";
|
|
7519
7598
|
var PLACEHOLDER_IMAGE = window.elementorCommon?.config?.urls?.assets + "/shapes/play-triangle.svg";
|
|
7520
|
-
var VideoMediaControl = createControl(({ label =
|
|
7599
|
+
var VideoMediaControl = createControl(({ label = __43("Video", "elementor") }) => {
|
|
7521
7600
|
const { value, setValue, propType } = useBoundProp(videoSrcPropTypeUtil);
|
|
7522
7601
|
const { id, url } = value ?? {};
|
|
7523
7602
|
const { data: attachment, isFetching } = useWpMediaAttachment3(id?.value || null);
|
|
@@ -7545,7 +7624,7 @@ var VideoMediaControl = createControl(({ label = __42("Video", "elementor") }) =
|
|
|
7545
7624
|
});
|
|
7546
7625
|
}
|
|
7547
7626
|
});
|
|
7548
|
-
return /* @__PURE__ */
|
|
7627
|
+
return /* @__PURE__ */ React95.createElement(ControlActions, null, /* @__PURE__ */ React95.createElement(Card3, { variant: "outlined" }, /* @__PURE__ */ React95.createElement(
|
|
7549
7628
|
CardMedia3,
|
|
7550
7629
|
{
|
|
7551
7630
|
sx: {
|
|
@@ -7560,8 +7639,8 @@ var VideoMediaControl = createControl(({ label = __42("Video", "elementor") }) =
|
|
|
7560
7639
|
alignItems: "center"
|
|
7561
7640
|
}
|
|
7562
7641
|
},
|
|
7563
|
-
/* @__PURE__ */
|
|
7564
|
-
), /* @__PURE__ */
|
|
7642
|
+
/* @__PURE__ */ React95.createElement(VideoPreview, { isFetching, videoUrl })
|
|
7643
|
+
), /* @__PURE__ */ React95.createElement(CardOverlay3, null, /* @__PURE__ */ React95.createElement(
|
|
7565
7644
|
MediaSelectActions,
|
|
7566
7645
|
{
|
|
7567
7646
|
label,
|
|
@@ -7573,13 +7652,13 @@ var VideoMediaControl = createControl(({ label = __42("Video", "elementor") }) =
|
|
|
7573
7652
|
});
|
|
7574
7653
|
var VideoPreview = ({ isFetching = false, videoUrl }) => {
|
|
7575
7654
|
if (isFetching) {
|
|
7576
|
-
return /* @__PURE__ */
|
|
7655
|
+
return /* @__PURE__ */ React95.createElement(CircularProgress5, null);
|
|
7577
7656
|
}
|
|
7578
7657
|
if (videoUrl) {
|
|
7579
|
-
return /* @__PURE__ */
|
|
7658
|
+
return /* @__PURE__ */ React95.createElement(
|
|
7580
7659
|
"video",
|
|
7581
7660
|
{
|
|
7582
|
-
"aria-label":
|
|
7661
|
+
"aria-label": __43("Video preview", "elementor"),
|
|
7583
7662
|
src: videoUrl,
|
|
7584
7663
|
muted: true,
|
|
7585
7664
|
preload: "metadata",
|
|
@@ -7592,17 +7671,17 @@ var VideoPreview = ({ isFetching = false, videoUrl }) => {
|
|
|
7592
7671
|
}
|
|
7593
7672
|
);
|
|
7594
7673
|
}
|
|
7595
|
-
return /* @__PURE__ */
|
|
7674
|
+
return /* @__PURE__ */ React95.createElement("img", { src: PLACEHOLDER_IMAGE, alt: "No video selected" });
|
|
7596
7675
|
};
|
|
7597
7676
|
|
|
7598
7677
|
// src/controls/background-control/background-control.tsx
|
|
7599
|
-
import * as
|
|
7678
|
+
import * as React102 from "react";
|
|
7600
7679
|
import { backgroundPropTypeUtil } from "@elementor/editor-props";
|
|
7601
7680
|
import { Grid as Grid18 } from "@elementor/ui";
|
|
7602
|
-
import { __ as
|
|
7681
|
+
import { __ as __49 } from "@wordpress/i18n";
|
|
7603
7682
|
|
|
7604
7683
|
// src/controls/background-control/background-overlay/background-overlay-repeater-control.tsx
|
|
7605
|
-
import * as
|
|
7684
|
+
import * as React101 from "react";
|
|
7606
7685
|
import {
|
|
7607
7686
|
backgroundColorOverlayPropTypeUtil as backgroundColorOverlayPropTypeUtil2,
|
|
7608
7687
|
backgroundImageOverlayPropTypeUtil as backgroundImageOverlayPropTypeUtil2,
|
|
@@ -7611,21 +7690,21 @@ import {
|
|
|
7611
7690
|
} from "@elementor/editor-props";
|
|
7612
7691
|
import { Box as Box25, CardMedia as CardMedia4, styled as styled13, Tab, TabPanel, Tabs, UnstableColorIndicator as UnstableColorIndicator3 } from "@elementor/ui";
|
|
7613
7692
|
import { useWpMediaAttachment as useWpMediaAttachment4 } from "@elementor/wp-media";
|
|
7614
|
-
import { __ as
|
|
7693
|
+
import { __ as __48 } from "@wordpress/i18n";
|
|
7615
7694
|
|
|
7616
7695
|
// src/env.ts
|
|
7617
7696
|
import { parseEnv } from "@elementor/env";
|
|
7618
7697
|
var { env } = parseEnv("@elementor/editor-controls");
|
|
7619
7698
|
|
|
7620
7699
|
// src/controls/background-control/background-gradient-color-control.tsx
|
|
7621
|
-
import * as
|
|
7700
|
+
import * as React96 from "react";
|
|
7622
7701
|
import {
|
|
7623
7702
|
backgroundGradientOverlayPropTypeUtil,
|
|
7624
7703
|
colorPropTypeUtil as colorPropTypeUtil2,
|
|
7625
7704
|
colorStopPropTypeUtil,
|
|
7626
7705
|
gradientColorStopPropTypeUtil,
|
|
7627
|
-
numberPropTypeUtil as
|
|
7628
|
-
stringPropTypeUtil as
|
|
7706
|
+
numberPropTypeUtil as numberPropTypeUtil6,
|
|
7707
|
+
stringPropTypeUtil as stringPropTypeUtil16
|
|
7629
7708
|
} from "@elementor/editor-props";
|
|
7630
7709
|
import { UnstableGradientBox } from "@elementor/ui";
|
|
7631
7710
|
var BackgroundGradientColorControl = createControl(() => {
|
|
@@ -7633,19 +7712,19 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
7633
7712
|
const handleChange = (newValue) => {
|
|
7634
7713
|
const transformedValue = createTransformableValue(newValue);
|
|
7635
7714
|
if (transformedValue.positions) {
|
|
7636
|
-
transformedValue.positions =
|
|
7715
|
+
transformedValue.positions = stringPropTypeUtil16.create(newValue.positions.join(" "));
|
|
7637
7716
|
}
|
|
7638
7717
|
setValue(transformedValue);
|
|
7639
7718
|
};
|
|
7640
7719
|
const createTransformableValue = (newValue) => ({
|
|
7641
7720
|
...newValue,
|
|
7642
|
-
type:
|
|
7643
|
-
angle:
|
|
7721
|
+
type: stringPropTypeUtil16.create(newValue.type),
|
|
7722
|
+
angle: numberPropTypeUtil6.create(newValue.angle),
|
|
7644
7723
|
stops: gradientColorStopPropTypeUtil.create(
|
|
7645
7724
|
newValue.stops.map(
|
|
7646
7725
|
({ color, offset }) => colorStopPropTypeUtil.create({
|
|
7647
7726
|
color: colorPropTypeUtil2.create(color),
|
|
7648
|
-
offset:
|
|
7727
|
+
offset: numberPropTypeUtil6.create(offset)
|
|
7649
7728
|
})
|
|
7650
7729
|
)
|
|
7651
7730
|
)
|
|
@@ -7665,7 +7744,7 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
7665
7744
|
positions: positions?.value.split(" ")
|
|
7666
7745
|
};
|
|
7667
7746
|
};
|
|
7668
|
-
return /* @__PURE__ */
|
|
7747
|
+
return /* @__PURE__ */ React96.createElement(
|
|
7669
7748
|
UnstableGradientBox,
|
|
7670
7749
|
{
|
|
7671
7750
|
sx: { width: "auto", padding: 1.5 },
|
|
@@ -7675,68 +7754,68 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
7675
7754
|
);
|
|
7676
7755
|
});
|
|
7677
7756
|
var initialBackgroundGradientOverlay = backgroundGradientOverlayPropTypeUtil.create({
|
|
7678
|
-
type:
|
|
7679
|
-
angle:
|
|
7757
|
+
type: stringPropTypeUtil16.create("linear"),
|
|
7758
|
+
angle: numberPropTypeUtil6.create(180),
|
|
7680
7759
|
stops: gradientColorStopPropTypeUtil.create([
|
|
7681
7760
|
colorStopPropTypeUtil.create({
|
|
7682
7761
|
color: colorPropTypeUtil2.create("rgb(0,0,0)"),
|
|
7683
|
-
offset:
|
|
7762
|
+
offset: numberPropTypeUtil6.create(0)
|
|
7684
7763
|
}),
|
|
7685
7764
|
colorStopPropTypeUtil.create({
|
|
7686
7765
|
color: colorPropTypeUtil2.create("rgb(255,255,255)"),
|
|
7687
|
-
offset:
|
|
7766
|
+
offset: numberPropTypeUtil6.create(100)
|
|
7688
7767
|
})
|
|
7689
7768
|
])
|
|
7690
7769
|
});
|
|
7691
7770
|
|
|
7692
7771
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-attachment.tsx
|
|
7693
|
-
import * as
|
|
7772
|
+
import * as React97 from "react";
|
|
7694
7773
|
import { PinIcon, PinnedOffIcon } from "@elementor/icons";
|
|
7695
7774
|
import { Grid as Grid14 } from "@elementor/ui";
|
|
7696
|
-
import { __ as
|
|
7775
|
+
import { __ as __44 } from "@wordpress/i18n";
|
|
7697
7776
|
var attachmentControlOptions = [
|
|
7698
7777
|
{
|
|
7699
7778
|
value: "fixed",
|
|
7700
|
-
label:
|
|
7701
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7779
|
+
label: __44("Fixed", "elementor"),
|
|
7780
|
+
renderContent: ({ size }) => /* @__PURE__ */ React97.createElement(PinIcon, { fontSize: size }),
|
|
7702
7781
|
showTooltip: true
|
|
7703
7782
|
},
|
|
7704
7783
|
{
|
|
7705
7784
|
value: "scroll",
|
|
7706
|
-
label:
|
|
7707
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7785
|
+
label: __44("Scroll", "elementor"),
|
|
7786
|
+
renderContent: ({ size }) => /* @__PURE__ */ React97.createElement(PinnedOffIcon, { fontSize: size }),
|
|
7708
7787
|
showTooltip: true
|
|
7709
7788
|
}
|
|
7710
7789
|
];
|
|
7711
7790
|
var BackgroundImageOverlayAttachment = () => {
|
|
7712
|
-
return /* @__PURE__ */
|
|
7791
|
+
return /* @__PURE__ */ React97.createElement(PopoverGridContainer, null, /* @__PURE__ */ React97.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React97.createElement(ControlFormLabel, null, __44("Attachment", "elementor"))), /* @__PURE__ */ React97.createElement(Grid14, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end", overflow: "hidden" } }, /* @__PURE__ */ React97.createElement(ToggleControl, { options: attachmentControlOptions })));
|
|
7713
7792
|
};
|
|
7714
7793
|
|
|
7715
7794
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx
|
|
7716
|
-
import * as
|
|
7717
|
-
import { useRef as
|
|
7718
|
-
import { backgroundImagePositionOffsetPropTypeUtil, stringPropTypeUtil as
|
|
7795
|
+
import * as React98 from "react";
|
|
7796
|
+
import { useRef as useRef23 } from "react";
|
|
7797
|
+
import { backgroundImagePositionOffsetPropTypeUtil, stringPropTypeUtil as stringPropTypeUtil17 } from "@elementor/editor-props";
|
|
7719
7798
|
import { MenuListItem as MenuListItem6 } from "@elementor/editor-ui";
|
|
7720
7799
|
import { LetterXIcon, LetterYIcon } from "@elementor/icons";
|
|
7721
7800
|
import { Grid as Grid15, Select as Select4 } from "@elementor/ui";
|
|
7722
|
-
import { __ as
|
|
7801
|
+
import { __ as __45 } from "@wordpress/i18n";
|
|
7723
7802
|
var backgroundPositionOptions = [
|
|
7724
|
-
{ label:
|
|
7725
|
-
{ label:
|
|
7726
|
-
{ label:
|
|
7727
|
-
{ label:
|
|
7728
|
-
{ label:
|
|
7729
|
-
{ label:
|
|
7730
|
-
{ label:
|
|
7731
|
-
{ label:
|
|
7732
|
-
{ label:
|
|
7733
|
-
{ label:
|
|
7803
|
+
{ label: __45("Center center", "elementor"), value: "center center" },
|
|
7804
|
+
{ label: __45("Center left", "elementor"), value: "center left" },
|
|
7805
|
+
{ label: __45("Center right", "elementor"), value: "center right" },
|
|
7806
|
+
{ label: __45("Top center", "elementor"), value: "top center" },
|
|
7807
|
+
{ label: __45("Top left", "elementor"), value: "top left" },
|
|
7808
|
+
{ label: __45("Top right", "elementor"), value: "top right" },
|
|
7809
|
+
{ label: __45("Bottom center", "elementor"), value: "bottom center" },
|
|
7810
|
+
{ label: __45("Bottom left", "elementor"), value: "bottom left" },
|
|
7811
|
+
{ label: __45("Bottom right", "elementor"), value: "bottom right" },
|
|
7812
|
+
{ label: __45("Custom", "elementor"), value: "custom" }
|
|
7734
7813
|
];
|
|
7735
7814
|
var BackgroundImageOverlayPosition = () => {
|
|
7736
7815
|
const backgroundImageOffsetContext = useBoundProp(backgroundImagePositionOffsetPropTypeUtil);
|
|
7737
|
-
const stringPropContext = useBoundProp(
|
|
7816
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil17);
|
|
7738
7817
|
const isCustom = !!backgroundImageOffsetContext.value;
|
|
7739
|
-
const rowRef =
|
|
7818
|
+
const rowRef = useRef23(null);
|
|
7740
7819
|
const handlePositionChange = (event) => {
|
|
7741
7820
|
const value = event.target.value || null;
|
|
7742
7821
|
if (value === "custom") {
|
|
@@ -7745,7 +7824,7 @@ var BackgroundImageOverlayPosition = () => {
|
|
|
7745
7824
|
stringPropContext.setValue(value);
|
|
7746
7825
|
}
|
|
7747
7826
|
};
|
|
7748
|
-
return /* @__PURE__ */
|
|
7827
|
+
return /* @__PURE__ */ React98.createElement(Grid15, { container: true, spacing: 1.5 }, /* @__PURE__ */ React98.createElement(Grid15, { item: true, xs: 12 }, /* @__PURE__ */ React98.createElement(PopoverGridContainer, null, /* @__PURE__ */ React98.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React98.createElement(ControlFormLabel, null, __45("Position", "elementor"))), /* @__PURE__ */ React98.createElement(Grid15, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end", overflow: "hidden" } }, /* @__PURE__ */ React98.createElement(ControlActions, null, /* @__PURE__ */ React98.createElement(
|
|
7749
7828
|
Select4,
|
|
7750
7829
|
{
|
|
7751
7830
|
fullWidth: true,
|
|
@@ -7754,18 +7833,18 @@ var BackgroundImageOverlayPosition = () => {
|
|
|
7754
7833
|
disabled: stringPropContext.disabled,
|
|
7755
7834
|
value: (backgroundImageOffsetContext.value ? "custom" : stringPropContext.value) ?? ""
|
|
7756
7835
|
},
|
|
7757
|
-
backgroundPositionOptions.map(({ label, value }) => /* @__PURE__ */
|
|
7758
|
-
))))), isCustom ? /* @__PURE__ */
|
|
7836
|
+
backgroundPositionOptions.map(({ label, value }) => /* @__PURE__ */ React98.createElement(MenuListItem6, { key: value, value: value ?? "" }, label))
|
|
7837
|
+
))))), isCustom ? /* @__PURE__ */ React98.createElement(PropProvider, { ...backgroundImageOffsetContext }, /* @__PURE__ */ React98.createElement(Grid15, { item: true, xs: 12 }, /* @__PURE__ */ React98.createElement(Grid15, { container: true, spacing: 1.5, ref: rowRef }, /* @__PURE__ */ React98.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React98.createElement(PropKeyProvider, { bind: "x" }, /* @__PURE__ */ React98.createElement(
|
|
7759
7838
|
SizeControl,
|
|
7760
7839
|
{
|
|
7761
|
-
startIcon: /* @__PURE__ */
|
|
7840
|
+
startIcon: /* @__PURE__ */ React98.createElement(LetterXIcon, { fontSize: "tiny" }),
|
|
7762
7841
|
anchorRef: rowRef,
|
|
7763
7842
|
min: -Number.MAX_SAFE_INTEGER
|
|
7764
7843
|
}
|
|
7765
|
-
))), /* @__PURE__ */
|
|
7844
|
+
))), /* @__PURE__ */ React98.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React98.createElement(PropKeyProvider, { bind: "y" }, /* @__PURE__ */ React98.createElement(
|
|
7766
7845
|
SizeControl,
|
|
7767
7846
|
{
|
|
7768
|
-
startIcon: /* @__PURE__ */
|
|
7847
|
+
startIcon: /* @__PURE__ */ React98.createElement(LetterYIcon, { fontSize: "tiny" }),
|
|
7769
7848
|
anchorRef: rowRef,
|
|
7770
7849
|
min: -Number.MAX_SAFE_INTEGER
|
|
7771
7850
|
}
|
|
@@ -7773,44 +7852,44 @@ var BackgroundImageOverlayPosition = () => {
|
|
|
7773
7852
|
};
|
|
7774
7853
|
|
|
7775
7854
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-repeat.tsx
|
|
7776
|
-
import * as
|
|
7855
|
+
import * as React99 from "react";
|
|
7777
7856
|
import { DotsHorizontalIcon, DotsVerticalIcon, GridDotsIcon, XIcon as XIcon3 } from "@elementor/icons";
|
|
7778
7857
|
import { Grid as Grid16 } from "@elementor/ui";
|
|
7779
|
-
import { __ as
|
|
7858
|
+
import { __ as __46 } from "@wordpress/i18n";
|
|
7780
7859
|
var repeatControlOptions = [
|
|
7781
7860
|
{
|
|
7782
7861
|
value: "repeat",
|
|
7783
|
-
label:
|
|
7784
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7862
|
+
label: __46("Repeat", "elementor"),
|
|
7863
|
+
renderContent: ({ size }) => /* @__PURE__ */ React99.createElement(GridDotsIcon, { fontSize: size }),
|
|
7785
7864
|
showTooltip: true
|
|
7786
7865
|
},
|
|
7787
7866
|
{
|
|
7788
7867
|
value: "repeat-x",
|
|
7789
|
-
label:
|
|
7790
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7868
|
+
label: __46("Repeat-x", "elementor"),
|
|
7869
|
+
renderContent: ({ size }) => /* @__PURE__ */ React99.createElement(DotsHorizontalIcon, { fontSize: size }),
|
|
7791
7870
|
showTooltip: true
|
|
7792
7871
|
},
|
|
7793
7872
|
{
|
|
7794
7873
|
value: "repeat-y",
|
|
7795
|
-
label:
|
|
7796
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7874
|
+
label: __46("Repeat-y", "elementor"),
|
|
7875
|
+
renderContent: ({ size }) => /* @__PURE__ */ React99.createElement(DotsVerticalIcon, { fontSize: size }),
|
|
7797
7876
|
showTooltip: true
|
|
7798
7877
|
},
|
|
7799
7878
|
{
|
|
7800
7879
|
value: "no-repeat",
|
|
7801
|
-
label:
|
|
7802
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7880
|
+
label: __46("No-repeat", "elementor"),
|
|
7881
|
+
renderContent: ({ size }) => /* @__PURE__ */ React99.createElement(XIcon3, { fontSize: size }),
|
|
7803
7882
|
showTooltip: true
|
|
7804
7883
|
}
|
|
7805
7884
|
];
|
|
7806
7885
|
var BackgroundImageOverlayRepeat = () => {
|
|
7807
|
-
return /* @__PURE__ */
|
|
7886
|
+
return /* @__PURE__ */ React99.createElement(PopoverGridContainer, null, /* @__PURE__ */ React99.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React99.createElement(ControlFormLabel, null, __46("Repeat", "elementor"))), /* @__PURE__ */ React99.createElement(Grid16, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React99.createElement(ToggleControl, { options: repeatControlOptions })));
|
|
7808
7887
|
};
|
|
7809
7888
|
|
|
7810
7889
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx
|
|
7811
|
-
import * as
|
|
7812
|
-
import { useRef as
|
|
7813
|
-
import { backgroundImageSizeScalePropTypeUtil, stringPropTypeUtil as
|
|
7890
|
+
import * as React100 from "react";
|
|
7891
|
+
import { useRef as useRef24 } from "react";
|
|
7892
|
+
import { backgroundImageSizeScalePropTypeUtil, stringPropTypeUtil as stringPropTypeUtil18 } from "@elementor/editor-props";
|
|
7814
7893
|
import {
|
|
7815
7894
|
ArrowBarBothIcon,
|
|
7816
7895
|
ArrowsMaximizeIcon,
|
|
@@ -7820,38 +7899,38 @@ import {
|
|
|
7820
7899
|
PencilIcon
|
|
7821
7900
|
} from "@elementor/icons";
|
|
7822
7901
|
import { Grid as Grid17 } from "@elementor/ui";
|
|
7823
|
-
import { __ as
|
|
7902
|
+
import { __ as __47 } from "@wordpress/i18n";
|
|
7824
7903
|
var sizeControlOptions = [
|
|
7825
7904
|
{
|
|
7826
7905
|
value: "auto",
|
|
7827
|
-
label:
|
|
7828
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7906
|
+
label: __47("Auto", "elementor"),
|
|
7907
|
+
renderContent: ({ size }) => /* @__PURE__ */ React100.createElement(LetterAIcon, { fontSize: size }),
|
|
7829
7908
|
showTooltip: true
|
|
7830
7909
|
},
|
|
7831
7910
|
{
|
|
7832
7911
|
value: "cover",
|
|
7833
|
-
label:
|
|
7834
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7912
|
+
label: __47("Cover", "elementor"),
|
|
7913
|
+
renderContent: ({ size }) => /* @__PURE__ */ React100.createElement(ArrowsMaximizeIcon, { fontSize: size }),
|
|
7835
7914
|
showTooltip: true
|
|
7836
7915
|
},
|
|
7837
7916
|
{
|
|
7838
7917
|
value: "contain",
|
|
7839
|
-
label:
|
|
7840
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7918
|
+
label: __47("Contain", "elementor"),
|
|
7919
|
+
renderContent: ({ size }) => /* @__PURE__ */ React100.createElement(ArrowBarBothIcon, { fontSize: size }),
|
|
7841
7920
|
showTooltip: true
|
|
7842
7921
|
},
|
|
7843
7922
|
{
|
|
7844
7923
|
value: "custom",
|
|
7845
|
-
label:
|
|
7846
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
7924
|
+
label: __47("Custom", "elementor"),
|
|
7925
|
+
renderContent: ({ size }) => /* @__PURE__ */ React100.createElement(PencilIcon, { fontSize: size }),
|
|
7847
7926
|
showTooltip: true
|
|
7848
7927
|
}
|
|
7849
7928
|
];
|
|
7850
7929
|
var BackgroundImageOverlaySize = () => {
|
|
7851
7930
|
const backgroundImageScaleContext = useBoundProp(backgroundImageSizeScalePropTypeUtil);
|
|
7852
|
-
const stringPropContext = useBoundProp(
|
|
7931
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil18);
|
|
7853
7932
|
const isCustom = !!backgroundImageScaleContext.value;
|
|
7854
|
-
const rowRef =
|
|
7933
|
+
const rowRef = useRef24(null);
|
|
7855
7934
|
const handleSizeChange = (size) => {
|
|
7856
7935
|
if (size === "custom") {
|
|
7857
7936
|
backgroundImageScaleContext.setValue({ width: null, height: null });
|
|
@@ -7859,7 +7938,7 @@ var BackgroundImageOverlaySize = () => {
|
|
|
7859
7938
|
stringPropContext.setValue(size);
|
|
7860
7939
|
}
|
|
7861
7940
|
};
|
|
7862
|
-
return /* @__PURE__ */
|
|
7941
|
+
return /* @__PURE__ */ React100.createElement(Grid17, { container: true, spacing: 1.5 }, /* @__PURE__ */ React100.createElement(Grid17, { item: true, xs: 12 }, /* @__PURE__ */ React100.createElement(PopoverGridContainer, null, /* @__PURE__ */ React100.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React100.createElement(ControlFormLabel, null, __47("Size", "elementor"))), /* @__PURE__ */ React100.createElement(Grid17, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React100.createElement(
|
|
7863
7942
|
ControlToggleButtonGroup,
|
|
7864
7943
|
{
|
|
7865
7944
|
exclusive: true,
|
|
@@ -7868,17 +7947,17 @@ var BackgroundImageOverlaySize = () => {
|
|
|
7868
7947
|
disabled: stringPropContext.disabled,
|
|
7869
7948
|
value: backgroundImageScaleContext.value ? "custom" : stringPropContext.value
|
|
7870
7949
|
}
|
|
7871
|
-
)))), isCustom ? /* @__PURE__ */
|
|
7950
|
+
)))), isCustom ? /* @__PURE__ */ React100.createElement(PropProvider, { ...backgroundImageScaleContext }, /* @__PURE__ */ React100.createElement(Grid17, { item: true, xs: 12, ref: rowRef }, /* @__PURE__ */ React100.createElement(PopoverGridContainer, null, /* @__PURE__ */ React100.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React100.createElement(PropKeyProvider, { bind: "width" }, /* @__PURE__ */ React100.createElement(
|
|
7872
7951
|
SizeControl,
|
|
7873
7952
|
{
|
|
7874
|
-
startIcon: /* @__PURE__ */
|
|
7953
|
+
startIcon: /* @__PURE__ */ React100.createElement(ArrowsMoveHorizontalIcon2, { fontSize: "tiny" }),
|
|
7875
7954
|
extendedOptions: ["auto"],
|
|
7876
7955
|
anchorRef: rowRef
|
|
7877
7956
|
}
|
|
7878
|
-
))), /* @__PURE__ */
|
|
7957
|
+
))), /* @__PURE__ */ React100.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React100.createElement(PropKeyProvider, { bind: "height" }, /* @__PURE__ */ React100.createElement(
|
|
7879
7958
|
SizeControl,
|
|
7880
7959
|
{
|
|
7881
|
-
startIcon: /* @__PURE__ */
|
|
7960
|
+
startIcon: /* @__PURE__ */ React100.createElement(ArrowsMoveVerticalIcon2, { fontSize: "tiny" }),
|
|
7882
7961
|
extendedOptions: ["auto"],
|
|
7883
7962
|
anchorRef: rowRef
|
|
7884
7963
|
}
|
|
@@ -7886,7 +7965,7 @@ var BackgroundImageOverlaySize = () => {
|
|
|
7886
7965
|
};
|
|
7887
7966
|
|
|
7888
7967
|
// src/controls/background-control/background-overlay/use-background-tabs-history.ts
|
|
7889
|
-
import { useRef as
|
|
7968
|
+
import { useRef as useRef25 } from "react";
|
|
7890
7969
|
import {
|
|
7891
7970
|
backgroundColorOverlayPropTypeUtil,
|
|
7892
7971
|
backgroundGradientOverlayPropTypeUtil as backgroundGradientOverlayPropTypeUtil2,
|
|
@@ -7911,7 +7990,7 @@ var useBackgroundTabsHistory = ({
|
|
|
7911
7990
|
return "image";
|
|
7912
7991
|
};
|
|
7913
7992
|
const { getTabsProps, getTabProps, getTabPanelProps } = useTabs(getCurrentOverlayType());
|
|
7914
|
-
const valuesHistory =
|
|
7993
|
+
const valuesHistory = useRef25({
|
|
7915
7994
|
image: initialBackgroundImageOverlay,
|
|
7916
7995
|
color: initialBackgroundColorOverlay2,
|
|
7917
7996
|
gradient: initialBackgroundGradientOverlay2
|
|
@@ -7979,29 +8058,29 @@ var getInitialBackgroundOverlay = () => ({
|
|
|
7979
8058
|
}
|
|
7980
8059
|
});
|
|
7981
8060
|
var backgroundResolutionOptions = [
|
|
7982
|
-
{ label:
|
|
7983
|
-
{ label:
|
|
7984
|
-
{ label:
|
|
7985
|
-
{ label:
|
|
8061
|
+
{ label: __48("Thumbnail - 150 x 150", "elementor"), value: "thumbnail" },
|
|
8062
|
+
{ label: __48("Medium - 300 x 300", "elementor"), value: "medium" },
|
|
8063
|
+
{ label: __48("Large 1024 x 1024", "elementor"), value: "large" },
|
|
8064
|
+
{ label: __48("Full", "elementor"), value: "full" }
|
|
7986
8065
|
];
|
|
7987
8066
|
var BackgroundOverlayRepeaterControl = createControl(() => {
|
|
7988
8067
|
const { propType, value: overlayValues, setValue } = useBoundProp(backgroundOverlayPropTypeUtil);
|
|
7989
|
-
return /* @__PURE__ */
|
|
8068
|
+
return /* @__PURE__ */ React101.createElement(PropProvider, { propType, value: overlayValues, setValue }, /* @__PURE__ */ React101.createElement(
|
|
7990
8069
|
ControlRepeater,
|
|
7991
8070
|
{
|
|
7992
8071
|
initial: getInitialBackgroundOverlay(),
|
|
7993
8072
|
propTypeUtil: backgroundOverlayPropTypeUtil
|
|
7994
8073
|
},
|
|
7995
|
-
/* @__PURE__ */
|
|
7996
|
-
/* @__PURE__ */
|
|
8074
|
+
/* @__PURE__ */ React101.createElement(RepeaterHeader, { label: __48("Overlay", "elementor") }, /* @__PURE__ */ React101.createElement(TooltipAddItemAction, { newItemIndex: 0 })),
|
|
8075
|
+
/* @__PURE__ */ React101.createElement(ItemsContainer, null, /* @__PURE__ */ React101.createElement(
|
|
7997
8076
|
Item,
|
|
7998
8077
|
{
|
|
7999
8078
|
Icon: ItemIcon2,
|
|
8000
8079
|
Label: ItemLabel3,
|
|
8001
|
-
actions: /* @__PURE__ */
|
|
8080
|
+
actions: /* @__PURE__ */ React101.createElement(React101.Fragment, null, /* @__PURE__ */ React101.createElement(DuplicateItemAction, null), /* @__PURE__ */ React101.createElement(DisableItemAction, null), /* @__PURE__ */ React101.createElement(RemoveItemAction, null))
|
|
8002
8081
|
}
|
|
8003
8082
|
)),
|
|
8004
|
-
/* @__PURE__ */
|
|
8083
|
+
/* @__PURE__ */ React101.createElement(EditItemPopover, null, /* @__PURE__ */ React101.createElement(ItemContent2, null))
|
|
8005
8084
|
));
|
|
8006
8085
|
});
|
|
8007
8086
|
var ItemContent2 = () => {
|
|
@@ -8011,27 +8090,27 @@ var ItemContent2 = () => {
|
|
|
8011
8090
|
gradient: initialBackgroundGradientOverlay.value
|
|
8012
8091
|
});
|
|
8013
8092
|
const { rowRef } = useRepeaterContext();
|
|
8014
|
-
return /* @__PURE__ */
|
|
8093
|
+
return /* @__PURE__ */ React101.createElement(Box25, { sx: { width: "100%" } }, /* @__PURE__ */ React101.createElement(Box25, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React101.createElement(
|
|
8015
8094
|
Tabs,
|
|
8016
8095
|
{
|
|
8017
8096
|
size: "small",
|
|
8018
8097
|
variant: "fullWidth",
|
|
8019
8098
|
...getTabsProps(),
|
|
8020
|
-
"aria-label":
|
|
8099
|
+
"aria-label": __48("Background Overlay", "elementor")
|
|
8021
8100
|
},
|
|
8022
|
-
/* @__PURE__ */
|
|
8023
|
-
/* @__PURE__ */
|
|
8024
|
-
/* @__PURE__ */
|
|
8025
|
-
)), /* @__PURE__ */
|
|
8101
|
+
/* @__PURE__ */ React101.createElement(Tab, { label: __48("Image", "elementor"), ...getTabProps("image") }),
|
|
8102
|
+
/* @__PURE__ */ React101.createElement(Tab, { label: __48("Gradient", "elementor"), ...getTabProps("gradient") }),
|
|
8103
|
+
/* @__PURE__ */ React101.createElement(Tab, { label: __48("Color", "elementor"), ...getTabProps("color") })
|
|
8104
|
+
)), /* @__PURE__ */ React101.createElement(TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("image") }, /* @__PURE__ */ React101.createElement(PopoverContent, null, /* @__PURE__ */ React101.createElement(ImageOverlayContent, null))), /* @__PURE__ */ React101.createElement(TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("gradient") }, /* @__PURE__ */ React101.createElement(BackgroundGradientColorControl, null)), /* @__PURE__ */ React101.createElement(TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("color") }, /* @__PURE__ */ React101.createElement(PopoverContent, null, /* @__PURE__ */ React101.createElement(ColorOverlayContent, { anchorEl: rowRef }))));
|
|
8026
8105
|
};
|
|
8027
8106
|
var ItemIcon2 = ({ value }) => {
|
|
8028
8107
|
switch (value.$$type) {
|
|
8029
8108
|
case "background-image-overlay":
|
|
8030
|
-
return /* @__PURE__ */
|
|
8109
|
+
return /* @__PURE__ */ React101.createElement(ItemIconImage, { value });
|
|
8031
8110
|
case "background-color-overlay":
|
|
8032
|
-
return /* @__PURE__ */
|
|
8111
|
+
return /* @__PURE__ */ React101.createElement(ItemIconColor, { value });
|
|
8033
8112
|
case "background-gradient-overlay":
|
|
8034
|
-
return /* @__PURE__ */
|
|
8113
|
+
return /* @__PURE__ */ React101.createElement(ItemIconGradient, { value });
|
|
8035
8114
|
default:
|
|
8036
8115
|
return null;
|
|
8037
8116
|
}
|
|
@@ -8044,11 +8123,11 @@ var extractColorFrom = (prop) => {
|
|
|
8044
8123
|
};
|
|
8045
8124
|
var ItemIconColor = ({ value: prop }) => {
|
|
8046
8125
|
const color = extractColorFrom(prop);
|
|
8047
|
-
return /* @__PURE__ */
|
|
8126
|
+
return /* @__PURE__ */ React101.createElement(StyledUnstableColorIndicator3, { size: "inherit", component: "span", value: color });
|
|
8048
8127
|
};
|
|
8049
8128
|
var ItemIconImage = ({ value }) => {
|
|
8050
8129
|
const { imageUrl } = useImage(value);
|
|
8051
|
-
return /* @__PURE__ */
|
|
8130
|
+
return /* @__PURE__ */ React101.createElement(
|
|
8052
8131
|
CardMedia4,
|
|
8053
8132
|
{
|
|
8054
8133
|
image: imageUrl,
|
|
@@ -8063,41 +8142,41 @@ var ItemIconImage = ({ value }) => {
|
|
|
8063
8142
|
};
|
|
8064
8143
|
var ItemIconGradient = ({ value }) => {
|
|
8065
8144
|
const gradient = getGradientValue(value);
|
|
8066
|
-
return /* @__PURE__ */
|
|
8145
|
+
return /* @__PURE__ */ React101.createElement(StyledUnstableColorIndicator3, { size: "inherit", component: "span", value: gradient });
|
|
8067
8146
|
};
|
|
8068
8147
|
var ItemLabel3 = ({ value }) => {
|
|
8069
8148
|
switch (value.$$type) {
|
|
8070
8149
|
case "background-image-overlay":
|
|
8071
|
-
return /* @__PURE__ */
|
|
8150
|
+
return /* @__PURE__ */ React101.createElement(ItemLabelImage, { value });
|
|
8072
8151
|
case "background-color-overlay":
|
|
8073
|
-
return /* @__PURE__ */
|
|
8152
|
+
return /* @__PURE__ */ React101.createElement(ItemLabelColor, { value });
|
|
8074
8153
|
case "background-gradient-overlay":
|
|
8075
|
-
return /* @__PURE__ */
|
|
8154
|
+
return /* @__PURE__ */ React101.createElement(ItemLabelGradient, { value });
|
|
8076
8155
|
default:
|
|
8077
8156
|
return null;
|
|
8078
8157
|
}
|
|
8079
8158
|
};
|
|
8080
8159
|
var ItemLabelColor = ({ value: prop }) => {
|
|
8081
8160
|
const color = extractColorFrom(prop);
|
|
8082
|
-
return /* @__PURE__ */
|
|
8161
|
+
return /* @__PURE__ */ React101.createElement("span", null, color);
|
|
8083
8162
|
};
|
|
8084
8163
|
var ItemLabelImage = ({ value }) => {
|
|
8085
8164
|
const { imageTitle } = useImage(value);
|
|
8086
|
-
return /* @__PURE__ */
|
|
8165
|
+
return /* @__PURE__ */ React101.createElement("span", null, imageTitle);
|
|
8087
8166
|
};
|
|
8088
8167
|
var ItemLabelGradient = ({ value }) => {
|
|
8089
8168
|
if (value.value.type.value === "linear") {
|
|
8090
|
-
return /* @__PURE__ */
|
|
8169
|
+
return /* @__PURE__ */ React101.createElement("span", null, __48("Linear Gradient", "elementor"));
|
|
8091
8170
|
}
|
|
8092
|
-
return /* @__PURE__ */
|
|
8171
|
+
return /* @__PURE__ */ React101.createElement("span", null, __48("Radial Gradient", "elementor"));
|
|
8093
8172
|
};
|
|
8094
8173
|
var ColorOverlayContent = ({ anchorEl }) => {
|
|
8095
8174
|
const propContext = useBoundProp(backgroundColorOverlayPropTypeUtil2);
|
|
8096
|
-
return /* @__PURE__ */
|
|
8175
|
+
return /* @__PURE__ */ React101.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React101.createElement(ColorControl, { anchorEl })));
|
|
8097
8176
|
};
|
|
8098
8177
|
var ImageOverlayContent = () => {
|
|
8099
8178
|
const propContext = useBoundProp(backgroundImageOverlayPropTypeUtil2);
|
|
8100
|
-
return /* @__PURE__ */
|
|
8179
|
+
return /* @__PURE__ */ React101.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "image" }, /* @__PURE__ */ React101.createElement(ImageControl, { sizes: backgroundResolutionOptions })), /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "position" }, /* @__PURE__ */ React101.createElement(BackgroundImageOverlayPosition, null)), /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "repeat" }, /* @__PURE__ */ React101.createElement(BackgroundImageOverlayRepeat, null)), /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "size" }, /* @__PURE__ */ React101.createElement(BackgroundImageOverlaySize, null)), /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "attachment" }, /* @__PURE__ */ React101.createElement(BackgroundImageOverlayAttachment, null)));
|
|
8101
8180
|
};
|
|
8102
8181
|
var StyledUnstableColorIndicator3 = styled13(UnstableColorIndicator3)(({ theme }) => ({
|
|
8103
8182
|
height: "1rem",
|
|
@@ -8142,27 +8221,27 @@ var getGradientValue = (value) => {
|
|
|
8142
8221
|
|
|
8143
8222
|
// src/controls/background-control/background-control.tsx
|
|
8144
8223
|
var clipOptions = [
|
|
8145
|
-
{ label:
|
|
8146
|
-
{ label:
|
|
8147
|
-
{ label:
|
|
8148
|
-
{ label:
|
|
8224
|
+
{ label: __49("Full element", "elementor"), value: "border-box" },
|
|
8225
|
+
{ label: __49("Padding edges", "elementor"), value: "padding-box" },
|
|
8226
|
+
{ label: __49("Content edges", "elementor"), value: "content-box" },
|
|
8227
|
+
{ label: __49("Text", "elementor"), value: "text" }
|
|
8149
8228
|
];
|
|
8150
|
-
var colorLabel =
|
|
8151
|
-
var clipLabel =
|
|
8229
|
+
var colorLabel = __49("Color", "elementor");
|
|
8230
|
+
var clipLabel = __49("Clipping", "elementor");
|
|
8152
8231
|
var BackgroundControl = createControl(() => {
|
|
8153
8232
|
const propContext = useBoundProp(backgroundPropTypeUtil);
|
|
8154
|
-
return /* @__PURE__ */
|
|
8233
|
+
return /* @__PURE__ */ React102.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React102.createElement(PropKeyProvider, { bind: "background-overlay" }, /* @__PURE__ */ React102.createElement(BackgroundOverlayRepeaterControl, null)), /* @__PURE__ */ React102.createElement(BackgroundColorField, null), /* @__PURE__ */ React102.createElement(BackgroundClipField, null));
|
|
8155
8234
|
});
|
|
8156
8235
|
var BackgroundColorField = () => {
|
|
8157
|
-
return /* @__PURE__ */
|
|
8236
|
+
return /* @__PURE__ */ React102.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React102.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React102.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React102.createElement(ControlLabel, null, colorLabel)), /* @__PURE__ */ React102.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React102.createElement(ColorControl, null))));
|
|
8158
8237
|
};
|
|
8159
8238
|
var BackgroundClipField = () => {
|
|
8160
|
-
return /* @__PURE__ */
|
|
8239
|
+
return /* @__PURE__ */ React102.createElement(PropKeyProvider, { bind: "clip" }, /* @__PURE__ */ React102.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React102.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React102.createElement(ControlLabel, null, clipLabel)), /* @__PURE__ */ React102.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React102.createElement(SelectControl, { options: clipOptions }))));
|
|
8161
8240
|
};
|
|
8162
8241
|
|
|
8163
8242
|
// src/controls/repeatable-control.tsx
|
|
8164
|
-
import * as
|
|
8165
|
-
import { useMemo as
|
|
8243
|
+
import * as React103 from "react";
|
|
8244
|
+
import { useMemo as useMemo15 } from "react";
|
|
8166
8245
|
import { createArrayPropUtils as createArrayPropUtils2 } from "@elementor/editor-props";
|
|
8167
8246
|
import { Box as Box26 } from "@elementor/ui";
|
|
8168
8247
|
var PLACEHOLDER_REGEX = /\$\{([^}]+)\}/g;
|
|
@@ -8183,11 +8262,11 @@ var RepeatableControl = createControl(
|
|
|
8183
8262
|
if (!childPropTypeUtil) {
|
|
8184
8263
|
return null;
|
|
8185
8264
|
}
|
|
8186
|
-
const childArrayPropTypeUtil2 =
|
|
8265
|
+
const childArrayPropTypeUtil2 = useMemo15(
|
|
8187
8266
|
() => createArrayPropUtils2(childPropTypeUtil.key, childPropTypeUtil.schema, propKey),
|
|
8188
8267
|
[childPropTypeUtil.key, childPropTypeUtil.schema, propKey]
|
|
8189
8268
|
);
|
|
8190
|
-
const contextValue =
|
|
8269
|
+
const contextValue = useMemo15(
|
|
8191
8270
|
() => ({
|
|
8192
8271
|
...childControlConfig,
|
|
8193
8272
|
placeholder: placeholder || "",
|
|
@@ -8197,14 +8276,14 @@ var RepeatableControl = createControl(
|
|
|
8197
8276
|
);
|
|
8198
8277
|
const { propType, value, setValue } = useBoundProp(childArrayPropTypeUtil2);
|
|
8199
8278
|
const newItemIndex = addItemTooltipProps?.newItemIndex === null ? void 0 : 0;
|
|
8200
|
-
return /* @__PURE__ */
|
|
8279
|
+
return /* @__PURE__ */ React103.createElement(PropProvider, { propType, value, setValue }, /* @__PURE__ */ React103.createElement(RepeatableControlContext.Provider, { value: contextValue }, /* @__PURE__ */ React103.createElement(
|
|
8201
8280
|
ControlRepeater,
|
|
8202
8281
|
{
|
|
8203
8282
|
initial: childPropTypeUtil.create(initialValues || null),
|
|
8204
8283
|
propTypeUtil: childArrayPropTypeUtil2,
|
|
8205
8284
|
isItemDisabled: isItemDisabled2
|
|
8206
8285
|
},
|
|
8207
|
-
/* @__PURE__ */
|
|
8286
|
+
/* @__PURE__ */ React103.createElement(RepeaterHeader, { label: repeaterLabel }, /* @__PURE__ */ React103.createElement(
|
|
8208
8287
|
TooltipAddItemAction,
|
|
8209
8288
|
{
|
|
8210
8289
|
...addItemTooltipProps,
|
|
@@ -8212,22 +8291,22 @@ var RepeatableControl = createControl(
|
|
|
8212
8291
|
ariaLabel: repeaterLabel
|
|
8213
8292
|
}
|
|
8214
8293
|
)),
|
|
8215
|
-
/* @__PURE__ */
|
|
8294
|
+
/* @__PURE__ */ React103.createElement(ItemsContainer, { isSortable }, /* @__PURE__ */ React103.createElement(
|
|
8216
8295
|
Item,
|
|
8217
8296
|
{
|
|
8218
8297
|
Icon: ItemIcon3,
|
|
8219
8298
|
Label: ItemLabel4,
|
|
8220
|
-
actions: /* @__PURE__ */
|
|
8299
|
+
actions: /* @__PURE__ */ React103.createElement(React103.Fragment, null, showDuplicate && /* @__PURE__ */ React103.createElement(DuplicateItemAction, null), showToggle && /* @__PURE__ */ React103.createElement(DisableItemAction, null), /* @__PURE__ */ React103.createElement(RemoveItemAction, null))
|
|
8221
8300
|
}
|
|
8222
8301
|
)),
|
|
8223
|
-
/* @__PURE__ */
|
|
8302
|
+
/* @__PURE__ */ React103.createElement(EditItemPopover, null, /* @__PURE__ */ React103.createElement(Content2, null))
|
|
8224
8303
|
)));
|
|
8225
8304
|
}
|
|
8226
8305
|
);
|
|
8227
|
-
var ItemIcon3 = () => /* @__PURE__ */
|
|
8306
|
+
var ItemIcon3 = () => /* @__PURE__ */ React103.createElement(React103.Fragment, null);
|
|
8228
8307
|
var Content2 = () => {
|
|
8229
8308
|
const { component: ChildControl, props = {} } = useRepeatableControlContext();
|
|
8230
|
-
return /* @__PURE__ */
|
|
8309
|
+
return /* @__PURE__ */ React103.createElement(PopoverContent, { p: 1.5 }, /* @__PURE__ */ React103.createElement(PopoverGridContainer, null, /* @__PURE__ */ React103.createElement(ChildControl, { ...props })));
|
|
8231
8310
|
};
|
|
8232
8311
|
var interpolate = (template, data) => {
|
|
8233
8312
|
if (!data) {
|
|
@@ -8310,7 +8389,7 @@ var ItemLabel4 = ({ value }) => {
|
|
|
8310
8389
|
const label = showPlaceholder ? placeholder : interpolate(patternLabel, value);
|
|
8311
8390
|
const isReadOnly = !!childProps?.readOnly;
|
|
8312
8391
|
const color = getTextColor(isReadOnly, showPlaceholder);
|
|
8313
|
-
return /* @__PURE__ */
|
|
8392
|
+
return /* @__PURE__ */ React103.createElement(Box26, { component: "span", color }, label);
|
|
8314
8393
|
};
|
|
8315
8394
|
var getAllProperties = (pattern) => {
|
|
8316
8395
|
const properties = pattern.match(PLACEHOLDER_REGEX)?.map((match) => match.slice(2, -1)) || [];
|
|
@@ -8318,15 +8397,15 @@ var getAllProperties = (pattern) => {
|
|
|
8318
8397
|
};
|
|
8319
8398
|
|
|
8320
8399
|
// src/controls/key-value-control.tsx
|
|
8321
|
-
import * as
|
|
8322
|
-
import { useMemo as
|
|
8400
|
+
import * as React104 from "react";
|
|
8401
|
+
import { useMemo as useMemo16, useState as useState25 } from "react";
|
|
8323
8402
|
import {
|
|
8324
8403
|
isTransformable,
|
|
8325
8404
|
keyValuePropTypeUtil,
|
|
8326
|
-
stringPropTypeUtil as
|
|
8405
|
+
stringPropTypeUtil as stringPropTypeUtil19
|
|
8327
8406
|
} from "@elementor/editor-props";
|
|
8328
8407
|
import { FormHelperText, FormLabel as FormLabel3, Grid as Grid19 } from "@elementor/ui";
|
|
8329
|
-
import { __ as
|
|
8408
|
+
import { __ as __50 } from "@wordpress/i18n";
|
|
8330
8409
|
|
|
8331
8410
|
// src/utils/escape-html-attr.ts
|
|
8332
8411
|
var escapeHtmlAttr = (value) => {
|
|
@@ -8356,17 +8435,17 @@ var KeyValueControl = createControl((props = {}) => {
|
|
|
8356
8435
|
key: getInitialFieldValue(value?.key),
|
|
8357
8436
|
value: getInitialFieldValue(value?.value)
|
|
8358
8437
|
});
|
|
8359
|
-
const keyLabel = props.keyName ||
|
|
8360
|
-
const valueLabel = props.valueName ||
|
|
8438
|
+
const keyLabel = props.keyName || __50("Key", "elementor");
|
|
8439
|
+
const valueLabel = props.valueName || __50("Value", "elementor");
|
|
8361
8440
|
const { keyHelper, valueHelper } = props.getHelperText?.(sessionState.key, sessionState.value) || {
|
|
8362
8441
|
keyHelper: void 0,
|
|
8363
8442
|
valueHelper: void 0
|
|
8364
8443
|
};
|
|
8365
|
-
const [keyRegex, valueRegex, errMsg] =
|
|
8444
|
+
const [keyRegex, valueRegex, errMsg] = useMemo16(
|
|
8366
8445
|
() => [
|
|
8367
8446
|
props.regexKey ? new RegExp(props.regexKey) : void 0,
|
|
8368
8447
|
props.regexValue ? new RegExp(props.regexValue) : void 0,
|
|
8369
|
-
props.validationErrorMessage ||
|
|
8448
|
+
props.validationErrorMessage || __50("Invalid Format", "elementor")
|
|
8370
8449
|
],
|
|
8371
8450
|
[props.regexKey, props.regexValue, props.validationErrorMessage]
|
|
8372
8451
|
);
|
|
@@ -8395,7 +8474,7 @@ var KeyValueControl = createControl((props = {}) => {
|
|
|
8395
8474
|
});
|
|
8396
8475
|
return;
|
|
8397
8476
|
}
|
|
8398
|
-
const extractedValue =
|
|
8477
|
+
const extractedValue = stringPropTypeUtil19.extract(newChangedValue);
|
|
8399
8478
|
setSessionState((prev) => ({
|
|
8400
8479
|
...prev,
|
|
8401
8480
|
[fieldType]: extractedValue
|
|
@@ -8415,14 +8494,14 @@ var KeyValueControl = createControl((props = {}) => {
|
|
|
8415
8494
|
});
|
|
8416
8495
|
}
|
|
8417
8496
|
};
|
|
8418
|
-
return /* @__PURE__ */
|
|
8497
|
+
return /* @__PURE__ */ React104.createElement(PropProvider, { ...propContext, value, setValue: handleChange }, /* @__PURE__ */ React104.createElement(Grid19, { container: true, gap: 1.5 }, /* @__PURE__ */ React104.createElement(Grid19, { item: true, xs: 12, display: "flex", flexDirection: "column" }, /* @__PURE__ */ React104.createElement(FormLabel3, { size: "tiny", sx: { pb: 1 } }, keyLabel), /* @__PURE__ */ React104.createElement(PropKeyProvider, { bind: "key" }, /* @__PURE__ */ React104.createElement(
|
|
8419
8498
|
TextControl,
|
|
8420
8499
|
{
|
|
8421
8500
|
inputValue: props.escapeHtml ? escapeHtmlAttr(sessionState.key) : sessionState.key,
|
|
8422
8501
|
error: !!keyError,
|
|
8423
8502
|
helperText: keyHelper
|
|
8424
8503
|
}
|
|
8425
|
-
)), !!keyError && /* @__PURE__ */
|
|
8504
|
+
)), !!keyError && /* @__PURE__ */ React104.createElement(FormHelperText, { error: true }, keyError)), /* @__PURE__ */ React104.createElement(Grid19, { item: true, xs: 12, display: "flex", flexDirection: "column" }, /* @__PURE__ */ React104.createElement(FormLabel3, { size: "tiny", sx: { pb: 1 } }, valueLabel), /* @__PURE__ */ React104.createElement(PropKeyProvider, { bind: "value" }, /* @__PURE__ */ React104.createElement(
|
|
8426
8505
|
TextControl,
|
|
8427
8506
|
{
|
|
8428
8507
|
inputValue: props.escapeHtml ? escapeHtmlAttr(sessionState.value) : sessionState.value,
|
|
@@ -8430,31 +8509,31 @@ var KeyValueControl = createControl((props = {}) => {
|
|
|
8430
8509
|
inputDisabled: !!keyError,
|
|
8431
8510
|
helperText: valueHelper
|
|
8432
8511
|
}
|
|
8433
|
-
)), !!valueError && /* @__PURE__ */
|
|
8512
|
+
)), !!valueError && /* @__PURE__ */ React104.createElement(FormHelperText, { error: true }, valueError))));
|
|
8434
8513
|
});
|
|
8435
8514
|
|
|
8436
8515
|
// src/controls/position-control.tsx
|
|
8437
|
-
import * as
|
|
8438
|
-
import { positionPropTypeUtil, stringPropTypeUtil as
|
|
8516
|
+
import * as React105 from "react";
|
|
8517
|
+
import { positionPropTypeUtil, stringPropTypeUtil as stringPropTypeUtil20 } from "@elementor/editor-props";
|
|
8439
8518
|
import { MenuListItem as MenuListItem7 } from "@elementor/editor-ui";
|
|
8440
8519
|
import { LetterXIcon as LetterXIcon2, LetterYIcon as LetterYIcon2 } from "@elementor/icons";
|
|
8441
8520
|
import { Grid as Grid20, Select as Select5 } from "@elementor/ui";
|
|
8442
|
-
import { __ as
|
|
8521
|
+
import { __ as __51 } from "@wordpress/i18n";
|
|
8443
8522
|
var positionOptions = [
|
|
8444
|
-
{ label:
|
|
8445
|
-
{ label:
|
|
8446
|
-
{ label:
|
|
8447
|
-
{ label:
|
|
8448
|
-
{ label:
|
|
8449
|
-
{ label:
|
|
8450
|
-
{ label:
|
|
8451
|
-
{ label:
|
|
8452
|
-
{ label:
|
|
8453
|
-
{ label:
|
|
8523
|
+
{ label: __51("Center center", "elementor"), value: "center center" },
|
|
8524
|
+
{ label: __51("Center left", "elementor"), value: "center left" },
|
|
8525
|
+
{ label: __51("Center right", "elementor"), value: "center right" },
|
|
8526
|
+
{ label: __51("Top center", "elementor"), value: "top center" },
|
|
8527
|
+
{ label: __51("Top left", "elementor"), value: "top left" },
|
|
8528
|
+
{ label: __51("Top right", "elementor"), value: "top right" },
|
|
8529
|
+
{ label: __51("Bottom center", "elementor"), value: "bottom center" },
|
|
8530
|
+
{ label: __51("Bottom left", "elementor"), value: "bottom left" },
|
|
8531
|
+
{ label: __51("Bottom right", "elementor"), value: "bottom right" },
|
|
8532
|
+
{ label: __51("Custom", "elementor"), value: "custom" }
|
|
8454
8533
|
];
|
|
8455
8534
|
var PositionControl = () => {
|
|
8456
8535
|
const positionContext = useBoundProp(positionPropTypeUtil);
|
|
8457
|
-
const stringPropContext = useBoundProp(
|
|
8536
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil20);
|
|
8458
8537
|
const isCustom = !!positionContext.value;
|
|
8459
8538
|
const placeholder = positionContext.placeholder ? "custom" : stringPropContext.placeholder ?? null;
|
|
8460
8539
|
const handlePositionChange = (event) => {
|
|
@@ -8465,7 +8544,7 @@ var PositionControl = () => {
|
|
|
8465
8544
|
stringPropContext.setValue(value);
|
|
8466
8545
|
}
|
|
8467
8546
|
};
|
|
8468
|
-
return /* @__PURE__ */
|
|
8547
|
+
return /* @__PURE__ */ React105.createElement(Grid20, { container: true, spacing: 1.5 }, /* @__PURE__ */ React105.createElement(Grid20, { item: true, xs: 12 }, /* @__PURE__ */ React105.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React105.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React105.createElement(ControlFormLabel, null, __51("Object position", "elementor"))), /* @__PURE__ */ React105.createElement(Grid20, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React105.createElement(
|
|
8469
8548
|
Select5,
|
|
8470
8549
|
{
|
|
8471
8550
|
size: "tiny",
|
|
@@ -8476,33 +8555,33 @@ var PositionControl = () => {
|
|
|
8476
8555
|
renderValue: (selectedValue) => getSelectRenderValue(positionOptions, placeholder, selectedValue),
|
|
8477
8556
|
fullWidth: true
|
|
8478
8557
|
},
|
|
8479
|
-
positionOptions.map(({ label, value }) => /* @__PURE__ */
|
|
8480
|
-
)))), isCustom && /* @__PURE__ */
|
|
8558
|
+
positionOptions.map(({ label, value }) => /* @__PURE__ */ React105.createElement(MenuListItem7, { key: value, value: value ?? "" }, label))
|
|
8559
|
+
)))), isCustom && /* @__PURE__ */ React105.createElement(PropProvider, { ...positionContext }, /* @__PURE__ */ React105.createElement(Grid20, { item: true, xs: 12 }, /* @__PURE__ */ React105.createElement(Grid20, { container: true, spacing: 1.5 }, /* @__PURE__ */ React105.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React105.createElement(PropKeyProvider, { bind: "x" }, /* @__PURE__ */ React105.createElement(
|
|
8481
8560
|
SizeControl,
|
|
8482
8561
|
{
|
|
8483
|
-
startIcon: /* @__PURE__ */
|
|
8562
|
+
startIcon: /* @__PURE__ */ React105.createElement(LetterXIcon2, { fontSize: "tiny" }),
|
|
8484
8563
|
min: -Number.MAX_SAFE_INTEGER
|
|
8485
8564
|
}
|
|
8486
|
-
))), /* @__PURE__ */
|
|
8565
|
+
))), /* @__PURE__ */ React105.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React105.createElement(PropKeyProvider, { bind: "y" }, /* @__PURE__ */ React105.createElement(
|
|
8487
8566
|
SizeControl,
|
|
8488
8567
|
{
|
|
8489
|
-
startIcon: /* @__PURE__ */
|
|
8568
|
+
startIcon: /* @__PURE__ */ React105.createElement(LetterYIcon2, { fontSize: "tiny" }),
|
|
8490
8569
|
min: -Number.MAX_SAFE_INTEGER
|
|
8491
8570
|
}
|
|
8492
8571
|
)))))));
|
|
8493
8572
|
};
|
|
8494
8573
|
|
|
8495
8574
|
// src/controls/transform-control/transform-repeater-control.tsx
|
|
8496
|
-
import * as
|
|
8497
|
-
import { useRef as
|
|
8575
|
+
import * as React118 from "react";
|
|
8576
|
+
import { useRef as useRef33 } from "react";
|
|
8498
8577
|
import { transformFunctionsPropTypeUtil, transformPropTypeUtil } from "@elementor/editor-props";
|
|
8499
8578
|
import { AdjustmentsIcon as AdjustmentsIcon2, InfoCircleFilledIcon as InfoCircleFilledIcon2 } from "@elementor/icons";
|
|
8500
8579
|
import { bindTrigger as bindTrigger5, Box as Box30, IconButton as IconButton10, Tooltip as Tooltip12, Typography as Typography12, usePopupState as usePopupState10 } from "@elementor/ui";
|
|
8501
|
-
import { __ as
|
|
8580
|
+
import { __ as __61 } from "@wordpress/i18n";
|
|
8502
8581
|
|
|
8503
8582
|
// src/controls/transform-control/initial-values.ts
|
|
8504
8583
|
import {
|
|
8505
|
-
numberPropTypeUtil as
|
|
8584
|
+
numberPropTypeUtil as numberPropTypeUtil7,
|
|
8506
8585
|
rotateTransformPropTypeUtil,
|
|
8507
8586
|
scaleTransformPropTypeUtil,
|
|
8508
8587
|
skewTransformPropTypeUtil
|
|
@@ -8537,9 +8616,9 @@ var initialTransformValue = {
|
|
|
8537
8616
|
}
|
|
8538
8617
|
};
|
|
8539
8618
|
var initialScaleValue = scaleTransformPropTypeUtil.create({
|
|
8540
|
-
x:
|
|
8541
|
-
y:
|
|
8542
|
-
z:
|
|
8619
|
+
x: numberPropTypeUtil7.create(defaultValues.scale),
|
|
8620
|
+
y: numberPropTypeUtil7.create(defaultValues.scale),
|
|
8621
|
+
z: numberPropTypeUtil7.create(defaultValues.scale)
|
|
8543
8622
|
});
|
|
8544
8623
|
var initialRotateValue = rotateTransformPropTypeUtil.create({
|
|
8545
8624
|
x: { $$type: "size", value: { size: defaultValues.rotate.size, unit: defaultValues.rotate.unit } },
|
|
@@ -8552,24 +8631,24 @@ var initialSkewValue = skewTransformPropTypeUtil.create({
|
|
|
8552
8631
|
});
|
|
8553
8632
|
|
|
8554
8633
|
// src/controls/transform-control/transform-content.tsx
|
|
8555
|
-
import * as
|
|
8634
|
+
import * as React112 from "react";
|
|
8556
8635
|
import { Box as Box27, Tab as Tab2, TabPanel as TabPanel2, Tabs as Tabs2 } from "@elementor/ui";
|
|
8557
|
-
import { __ as
|
|
8636
|
+
import { __ as __56 } from "@wordpress/i18n";
|
|
8558
8637
|
|
|
8559
8638
|
// src/controls/transform-control/functions/move.tsx
|
|
8560
|
-
import * as
|
|
8561
|
-
import { useRef as
|
|
8639
|
+
import * as React107 from "react";
|
|
8640
|
+
import { useRef as useRef26 } from "react";
|
|
8562
8641
|
import { moveTransformPropTypeUtil } from "@elementor/editor-props";
|
|
8563
8642
|
import { ArrowDownLeftIcon, ArrowDownSmallIcon, ArrowRightIcon } from "@elementor/icons";
|
|
8564
8643
|
import { Grid as Grid22 } from "@elementor/ui";
|
|
8565
|
-
import { __ as
|
|
8644
|
+
import { __ as __52 } from "@wordpress/i18n";
|
|
8566
8645
|
|
|
8567
8646
|
// src/controls/transform-control/functions/axis-row.tsx
|
|
8568
|
-
import * as
|
|
8647
|
+
import * as React106 from "react";
|
|
8569
8648
|
import { Grid as Grid21 } from "@elementor/ui";
|
|
8570
8649
|
var AxisRow = ({ label, bind, startIcon, anchorRef, units: units2, variant = "angle" }) => {
|
|
8571
8650
|
const safeId = label.replace(/\s+/g, "-").toLowerCase();
|
|
8572
|
-
return /* @__PURE__ */
|
|
8651
|
+
return /* @__PURE__ */ React106.createElement(Grid21, { item: true, xs: 12 }, /* @__PURE__ */ React106.createElement(PopoverGridContainer, { ref: anchorRef }, /* @__PURE__ */ React106.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React106.createElement(ControlLabel, { htmlFor: safeId }, label)), /* @__PURE__ */ React106.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React106.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React106.createElement(
|
|
8573
8652
|
SizeControl,
|
|
8574
8653
|
{
|
|
8575
8654
|
anchorRef,
|
|
@@ -8585,28 +8664,28 @@ var AxisRow = ({ label, bind, startIcon, anchorRef, units: units2, variant = "an
|
|
|
8585
8664
|
// src/controls/transform-control/functions/move.tsx
|
|
8586
8665
|
var moveAxisControls = [
|
|
8587
8666
|
{
|
|
8588
|
-
label:
|
|
8667
|
+
label: __52("Move X", "elementor"),
|
|
8589
8668
|
bind: "x",
|
|
8590
|
-
startIcon: /* @__PURE__ */
|
|
8669
|
+
startIcon: /* @__PURE__ */ React107.createElement(ArrowRightIcon, { fontSize: "tiny" }),
|
|
8591
8670
|
units: ["px", "%", "em", "rem", "vw"]
|
|
8592
8671
|
},
|
|
8593
8672
|
{
|
|
8594
|
-
label:
|
|
8673
|
+
label: __52("Move Y", "elementor"),
|
|
8595
8674
|
bind: "y",
|
|
8596
|
-
startIcon: /* @__PURE__ */
|
|
8675
|
+
startIcon: /* @__PURE__ */ React107.createElement(ArrowDownSmallIcon, { fontSize: "tiny" }),
|
|
8597
8676
|
units: ["px", "%", "em", "rem", "vh"]
|
|
8598
8677
|
},
|
|
8599
8678
|
{
|
|
8600
|
-
label:
|
|
8679
|
+
label: __52("Move Z", "elementor"),
|
|
8601
8680
|
bind: "z",
|
|
8602
|
-
startIcon: /* @__PURE__ */
|
|
8681
|
+
startIcon: /* @__PURE__ */ React107.createElement(ArrowDownLeftIcon, { fontSize: "tiny" }),
|
|
8603
8682
|
units: ["px", "%", "em", "rem", "vw", "vh"]
|
|
8604
8683
|
}
|
|
8605
8684
|
];
|
|
8606
8685
|
var Move = () => {
|
|
8607
8686
|
const context = useBoundProp(moveTransformPropTypeUtil);
|
|
8608
|
-
const rowRefs = [
|
|
8609
|
-
return /* @__PURE__ */
|
|
8687
|
+
const rowRefs = [useRef26(null), useRef26(null), useRef26(null)];
|
|
8688
|
+
return /* @__PURE__ */ React107.createElement(Grid22, { container: true, spacing: 1.5 }, /* @__PURE__ */ React107.createElement(PropProvider, { ...context }, /* @__PURE__ */ React107.createElement(PropKeyProvider, { bind: TransformFunctionKeys.move }, moveAxisControls.map((control, index) => /* @__PURE__ */ React107.createElement(
|
|
8610
8689
|
AxisRow,
|
|
8611
8690
|
{
|
|
8612
8691
|
key: control.bind,
|
|
@@ -8619,34 +8698,34 @@ var Move = () => {
|
|
|
8619
8698
|
};
|
|
8620
8699
|
|
|
8621
8700
|
// src/controls/transform-control/functions/rotate.tsx
|
|
8622
|
-
import * as
|
|
8623
|
-
import { useRef as
|
|
8701
|
+
import * as React108 from "react";
|
|
8702
|
+
import { useRef as useRef27 } from "react";
|
|
8624
8703
|
import { rotateTransformPropTypeUtil as rotateTransformPropTypeUtil2 } from "@elementor/editor-props";
|
|
8625
8704
|
import { Arrow360Icon, RotateClockwiseIcon } from "@elementor/icons";
|
|
8626
8705
|
import { Grid as Grid23 } from "@elementor/ui";
|
|
8627
|
-
import { __ as
|
|
8706
|
+
import { __ as __53 } from "@wordpress/i18n";
|
|
8628
8707
|
var rotateAxisControls = [
|
|
8629
8708
|
{
|
|
8630
|
-
label:
|
|
8709
|
+
label: __53("Rotate X", "elementor"),
|
|
8631
8710
|
bind: "x",
|
|
8632
|
-
startIcon: /* @__PURE__ */
|
|
8711
|
+
startIcon: /* @__PURE__ */ React108.createElement(Arrow360Icon, { fontSize: "tiny" })
|
|
8633
8712
|
},
|
|
8634
8713
|
{
|
|
8635
|
-
label:
|
|
8714
|
+
label: __53("Rotate Y", "elementor"),
|
|
8636
8715
|
bind: "y",
|
|
8637
|
-
startIcon: /* @__PURE__ */
|
|
8716
|
+
startIcon: /* @__PURE__ */ React108.createElement(Arrow360Icon, { fontSize: "tiny", style: { transform: "scaleX(-1) rotate(-90deg)" } })
|
|
8638
8717
|
},
|
|
8639
8718
|
{
|
|
8640
|
-
label:
|
|
8719
|
+
label: __53("Rotate Z", "elementor"),
|
|
8641
8720
|
bind: "z",
|
|
8642
|
-
startIcon: /* @__PURE__ */
|
|
8721
|
+
startIcon: /* @__PURE__ */ React108.createElement(RotateClockwiseIcon, { fontSize: "tiny" })
|
|
8643
8722
|
}
|
|
8644
8723
|
];
|
|
8645
8724
|
var rotateUnits = ["deg", "rad", "grad", "turn"];
|
|
8646
8725
|
var Rotate = () => {
|
|
8647
8726
|
const context = useBoundProp(rotateTransformPropTypeUtil2);
|
|
8648
|
-
const rowRefs = [
|
|
8649
|
-
return /* @__PURE__ */
|
|
8727
|
+
const rowRefs = [useRef27(null), useRef27(null), useRef27(null)];
|
|
8728
|
+
return /* @__PURE__ */ React108.createElement(Grid23, { container: true, spacing: 1.5 }, /* @__PURE__ */ React108.createElement(PropProvider, { ...context }, /* @__PURE__ */ React108.createElement(PropKeyProvider, { bind: TransformFunctionKeys.rotate }, rotateAxisControls.map((control, index) => /* @__PURE__ */ React108.createElement(
|
|
8650
8729
|
AxisRow,
|
|
8651
8730
|
{
|
|
8652
8731
|
key: control.bind,
|
|
@@ -8658,68 +8737,68 @@ var Rotate = () => {
|
|
|
8658
8737
|
};
|
|
8659
8738
|
|
|
8660
8739
|
// src/controls/transform-control/functions/scale.tsx
|
|
8661
|
-
import * as
|
|
8662
|
-
import { useRef as
|
|
8740
|
+
import * as React110 from "react";
|
|
8741
|
+
import { useRef as useRef28 } from "react";
|
|
8663
8742
|
import { scaleTransformPropTypeUtil as scaleTransformPropTypeUtil2 } from "@elementor/editor-props";
|
|
8664
8743
|
import { ArrowDownLeftIcon as ArrowDownLeftIcon2, ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
|
|
8665
8744
|
import { Grid as Grid25 } from "@elementor/ui";
|
|
8666
|
-
import { __ as
|
|
8745
|
+
import { __ as __54 } from "@wordpress/i18n";
|
|
8667
8746
|
|
|
8668
8747
|
// src/controls/transform-control/functions/scale-axis-row.tsx
|
|
8669
|
-
import * as
|
|
8748
|
+
import * as React109 from "react";
|
|
8670
8749
|
import { Grid as Grid24 } from "@elementor/ui";
|
|
8671
8750
|
var ScaleAxisRow = ({ label, bind, startIcon, anchorRef }) => {
|
|
8672
|
-
return /* @__PURE__ */
|
|
8751
|
+
return /* @__PURE__ */ React109.createElement(Grid24, { item: true, xs: 12 }, /* @__PURE__ */ React109.createElement(PopoverGridContainer, { ref: anchorRef }, /* @__PURE__ */ React109.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React109.createElement(ControlLabel, null, label)), /* @__PURE__ */ React109.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React109.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React109.createElement(NumberControl, { step: 0.1, placeholder: "1", startIcon })))));
|
|
8673
8752
|
};
|
|
8674
8753
|
|
|
8675
8754
|
// src/controls/transform-control/functions/scale.tsx
|
|
8676
8755
|
var scaleAxisControls = [
|
|
8677
8756
|
{
|
|
8678
|
-
label:
|
|
8757
|
+
label: __54("Scale X", "elementor"),
|
|
8679
8758
|
bind: "x",
|
|
8680
|
-
startIcon: /* @__PURE__ */
|
|
8759
|
+
startIcon: /* @__PURE__ */ React110.createElement(ArrowRightIcon2, { fontSize: "tiny" })
|
|
8681
8760
|
},
|
|
8682
8761
|
{
|
|
8683
|
-
label:
|
|
8762
|
+
label: __54("Scale Y", "elementor"),
|
|
8684
8763
|
bind: "y",
|
|
8685
|
-
startIcon: /* @__PURE__ */
|
|
8764
|
+
startIcon: /* @__PURE__ */ React110.createElement(ArrowDownSmallIcon2, { fontSize: "tiny" })
|
|
8686
8765
|
},
|
|
8687
8766
|
{
|
|
8688
|
-
label:
|
|
8767
|
+
label: __54("Scale Z", "elementor"),
|
|
8689
8768
|
bind: "z",
|
|
8690
|
-
startIcon: /* @__PURE__ */
|
|
8769
|
+
startIcon: /* @__PURE__ */ React110.createElement(ArrowDownLeftIcon2, { fontSize: "tiny" })
|
|
8691
8770
|
}
|
|
8692
8771
|
];
|
|
8693
8772
|
var Scale = () => {
|
|
8694
8773
|
const context = useBoundProp(scaleTransformPropTypeUtil2);
|
|
8695
|
-
const rowRefs = [
|
|
8696
|
-
return /* @__PURE__ */
|
|
8774
|
+
const rowRefs = [useRef28(null), useRef28(null), useRef28(null)];
|
|
8775
|
+
return /* @__PURE__ */ React110.createElement(Grid25, { container: true, spacing: 1.5 }, /* @__PURE__ */ React110.createElement(PropProvider, { ...context }, /* @__PURE__ */ React110.createElement(PropKeyProvider, { bind: TransformFunctionKeys.scale }, scaleAxisControls.map((control, index) => /* @__PURE__ */ React110.createElement(ScaleAxisRow, { key: control.bind, ...control, anchorRef: rowRefs[index] })))));
|
|
8697
8776
|
};
|
|
8698
8777
|
|
|
8699
8778
|
// src/controls/transform-control/functions/skew.tsx
|
|
8700
|
-
import * as
|
|
8701
|
-
import { useRef as
|
|
8779
|
+
import * as React111 from "react";
|
|
8780
|
+
import { useRef as useRef29 } from "react";
|
|
8702
8781
|
import { skewTransformPropTypeUtil as skewTransformPropTypeUtil2 } from "@elementor/editor-props";
|
|
8703
8782
|
import { ArrowLeftIcon, ArrowRightIcon as ArrowRightIcon3 } from "@elementor/icons";
|
|
8704
8783
|
import { Grid as Grid26 } from "@elementor/ui";
|
|
8705
|
-
import { __ as
|
|
8784
|
+
import { __ as __55 } from "@wordpress/i18n";
|
|
8706
8785
|
var skewAxisControls = [
|
|
8707
8786
|
{
|
|
8708
|
-
label:
|
|
8787
|
+
label: __55("Skew X", "elementor"),
|
|
8709
8788
|
bind: "x",
|
|
8710
|
-
startIcon: /* @__PURE__ */
|
|
8789
|
+
startIcon: /* @__PURE__ */ React111.createElement(ArrowRightIcon3, { fontSize: "tiny" })
|
|
8711
8790
|
},
|
|
8712
8791
|
{
|
|
8713
|
-
label:
|
|
8792
|
+
label: __55("Skew Y", "elementor"),
|
|
8714
8793
|
bind: "y",
|
|
8715
|
-
startIcon: /* @__PURE__ */
|
|
8794
|
+
startIcon: /* @__PURE__ */ React111.createElement(ArrowLeftIcon, { fontSize: "tiny", style: { transform: "scaleX(-1) rotate(-90deg)" } })
|
|
8716
8795
|
}
|
|
8717
8796
|
];
|
|
8718
8797
|
var skewUnits = ["deg", "rad", "grad", "turn"];
|
|
8719
8798
|
var Skew = () => {
|
|
8720
8799
|
const context = useBoundProp(skewTransformPropTypeUtil2);
|
|
8721
|
-
const rowRefs = [
|
|
8722
|
-
return /* @__PURE__ */
|
|
8800
|
+
const rowRefs = [useRef29(null), useRef29(null), useRef29(null)];
|
|
8801
|
+
return /* @__PURE__ */ React111.createElement(Grid26, { container: true, spacing: 1.5 }, /* @__PURE__ */ React111.createElement(PropProvider, { ...context }, /* @__PURE__ */ React111.createElement(PropKeyProvider, { bind: TransformFunctionKeys.skew }, skewAxisControls.map((control, index) => /* @__PURE__ */ React111.createElement(
|
|
8723
8802
|
AxisRow,
|
|
8724
8803
|
{
|
|
8725
8804
|
key: control.bind,
|
|
@@ -8731,7 +8810,7 @@ var Skew = () => {
|
|
|
8731
8810
|
};
|
|
8732
8811
|
|
|
8733
8812
|
// src/controls/transform-control/use-transform-tabs-history.tsx
|
|
8734
|
-
import { useRef as
|
|
8813
|
+
import { useRef as useRef30 } from "react";
|
|
8735
8814
|
import {
|
|
8736
8815
|
moveTransformPropTypeUtil as moveTransformPropTypeUtil2,
|
|
8737
8816
|
rotateTransformPropTypeUtil as rotateTransformPropTypeUtil3,
|
|
@@ -8763,7 +8842,7 @@ var useTransformTabsHistory = ({
|
|
|
8763
8842
|
}
|
|
8764
8843
|
};
|
|
8765
8844
|
const { getTabsProps, getTabProps, getTabPanelProps } = useTabs2(getCurrentTransformType());
|
|
8766
|
-
const valuesHistory =
|
|
8845
|
+
const valuesHistory = useRef30({
|
|
8767
8846
|
move: initialMove,
|
|
8768
8847
|
scale: initialScale,
|
|
8769
8848
|
rotate: initialRotate,
|
|
@@ -8824,7 +8903,7 @@ var TransformContent = () => {
|
|
|
8824
8903
|
rotate: initialRotateValue.value,
|
|
8825
8904
|
skew: initialSkewValue.value
|
|
8826
8905
|
});
|
|
8827
|
-
return /* @__PURE__ */
|
|
8906
|
+
return /* @__PURE__ */ React112.createElement(PopoverContent, null, /* @__PURE__ */ React112.createElement(Box27, { sx: { width: "100%" } }, /* @__PURE__ */ React112.createElement(Box27, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React112.createElement(
|
|
8828
8907
|
Tabs2,
|
|
8829
8908
|
{
|
|
8830
8909
|
size: "small",
|
|
@@ -8835,37 +8914,37 @@ var TransformContent = () => {
|
|
|
8835
8914
|
}
|
|
8836
8915
|
},
|
|
8837
8916
|
...getTabsProps(),
|
|
8838
|
-
"aria-label":
|
|
8917
|
+
"aria-label": __56("Transform", "elementor")
|
|
8839
8918
|
},
|
|
8840
|
-
/* @__PURE__ */
|
|
8841
|
-
/* @__PURE__ */
|
|
8842
|
-
/* @__PURE__ */
|
|
8843
|
-
/* @__PURE__ */
|
|
8844
|
-
)), /* @__PURE__ */
|
|
8919
|
+
/* @__PURE__ */ React112.createElement(Tab2, { label: __56("Move", "elementor"), ...getTabProps(TransformFunctionKeys.move) }),
|
|
8920
|
+
/* @__PURE__ */ React112.createElement(Tab2, { label: __56("Scale", "elementor"), ...getTabProps(TransformFunctionKeys.scale) }),
|
|
8921
|
+
/* @__PURE__ */ React112.createElement(Tab2, { label: __56("Rotate", "elementor"), ...getTabProps(TransformFunctionKeys.rotate) }),
|
|
8922
|
+
/* @__PURE__ */ React112.createElement(Tab2, { label: __56("Skew", "elementor"), ...getTabProps(TransformFunctionKeys.skew) })
|
|
8923
|
+
)), /* @__PURE__ */ React112.createElement(TabPanel2, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.move) }, /* @__PURE__ */ React112.createElement(Move, null)), /* @__PURE__ */ React112.createElement(TabPanel2, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.scale) }, /* @__PURE__ */ React112.createElement(Scale, null)), /* @__PURE__ */ React112.createElement(TabPanel2, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.rotate) }, /* @__PURE__ */ React112.createElement(Rotate, null)), /* @__PURE__ */ React112.createElement(TabPanel2, { sx: { p: 1.5 }, ...getTabPanelProps(TransformFunctionKeys.skew) }, /* @__PURE__ */ React112.createElement(Skew, null))));
|
|
8845
8924
|
};
|
|
8846
8925
|
|
|
8847
8926
|
// src/controls/transform-control/transform-icon.tsx
|
|
8848
|
-
import * as
|
|
8927
|
+
import * as React113 from "react";
|
|
8849
8928
|
import { ArrowAutofitHeightIcon, ArrowsMaximizeIcon as ArrowsMaximizeIcon2, RotateClockwise2Icon, SkewXIcon } from "@elementor/icons";
|
|
8850
8929
|
var TransformIcon = ({ value }) => {
|
|
8851
8930
|
switch (value.$$type) {
|
|
8852
8931
|
case TransformFunctionKeys.move:
|
|
8853
|
-
return /* @__PURE__ */
|
|
8932
|
+
return /* @__PURE__ */ React113.createElement(ArrowsMaximizeIcon2, { fontSize: "tiny" });
|
|
8854
8933
|
case TransformFunctionKeys.scale:
|
|
8855
|
-
return /* @__PURE__ */
|
|
8934
|
+
return /* @__PURE__ */ React113.createElement(ArrowAutofitHeightIcon, { fontSize: "tiny" });
|
|
8856
8935
|
case TransformFunctionKeys.rotate:
|
|
8857
|
-
return /* @__PURE__ */
|
|
8936
|
+
return /* @__PURE__ */ React113.createElement(RotateClockwise2Icon, { fontSize: "tiny" });
|
|
8858
8937
|
case TransformFunctionKeys.skew:
|
|
8859
|
-
return /* @__PURE__ */
|
|
8938
|
+
return /* @__PURE__ */ React113.createElement(SkewXIcon, { fontSize: "tiny" });
|
|
8860
8939
|
default:
|
|
8861
8940
|
return null;
|
|
8862
8941
|
}
|
|
8863
8942
|
};
|
|
8864
8943
|
|
|
8865
8944
|
// src/controls/transform-control/transform-label.tsx
|
|
8866
|
-
import * as
|
|
8945
|
+
import * as React114 from "react";
|
|
8867
8946
|
import { Box as Box28 } from "@elementor/ui";
|
|
8868
|
-
import { __ as
|
|
8947
|
+
import { __ as __57 } from "@wordpress/i18n";
|
|
8869
8948
|
var orderedAxis = ["x", "y", "z"];
|
|
8870
8949
|
var formatLabel = (value, functionType) => {
|
|
8871
8950
|
return orderedAxis.map((axisKey) => {
|
|
@@ -8883,102 +8962,102 @@ var TransformLabel = (props) => {
|
|
|
8883
8962
|
const { $$type, value } = props.value;
|
|
8884
8963
|
switch ($$type) {
|
|
8885
8964
|
case TransformFunctionKeys.move:
|
|
8886
|
-
return /* @__PURE__ */
|
|
8965
|
+
return /* @__PURE__ */ React114.createElement(Label2, { label: __57("Move", "elementor"), value: formatLabel(value, "move") });
|
|
8887
8966
|
case TransformFunctionKeys.scale:
|
|
8888
|
-
return /* @__PURE__ */
|
|
8967
|
+
return /* @__PURE__ */ React114.createElement(Label2, { label: __57("Scale", "elementor"), value: formatLabel(value, "scale") });
|
|
8889
8968
|
case TransformFunctionKeys.rotate:
|
|
8890
|
-
return /* @__PURE__ */
|
|
8969
|
+
return /* @__PURE__ */ React114.createElement(Label2, { label: __57("Rotate", "elementor"), value: formatLabel(value, "rotate") });
|
|
8891
8970
|
case TransformFunctionKeys.skew:
|
|
8892
|
-
return /* @__PURE__ */
|
|
8971
|
+
return /* @__PURE__ */ React114.createElement(Label2, { label: __57("Skew", "elementor"), value: formatLabel(value, "skew") });
|
|
8893
8972
|
default:
|
|
8894
8973
|
return "";
|
|
8895
8974
|
}
|
|
8896
8975
|
};
|
|
8897
8976
|
var Label2 = ({ label, value }) => {
|
|
8898
|
-
return /* @__PURE__ */
|
|
8977
|
+
return /* @__PURE__ */ React114.createElement(Box28, { component: "span" }, label, ": ", value);
|
|
8899
8978
|
};
|
|
8900
8979
|
|
|
8901
8980
|
// src/controls/transform-control/transform-settings-control.tsx
|
|
8902
|
-
import * as
|
|
8981
|
+
import * as React117 from "react";
|
|
8903
8982
|
import { PopoverHeader as PopoverHeader5 } from "@elementor/editor-ui";
|
|
8904
8983
|
import { AdjustmentsIcon } from "@elementor/icons";
|
|
8905
8984
|
import { bindPopover as bindPopover6, Box as Box29, Divider as Divider6, Popover as Popover7 } from "@elementor/ui";
|
|
8906
|
-
import { __ as
|
|
8985
|
+
import { __ as __60 } from "@wordpress/i18n";
|
|
8907
8986
|
|
|
8908
8987
|
// src/controls/transform-control/transform-base-controls/children-perspective-control.tsx
|
|
8909
|
-
import * as
|
|
8910
|
-
import { useRef as
|
|
8988
|
+
import * as React115 from "react";
|
|
8989
|
+
import { useRef as useRef31 } from "react";
|
|
8911
8990
|
import { perspectiveOriginPropTypeUtil } from "@elementor/editor-props";
|
|
8912
8991
|
import { Grid as Grid27, Stack as Stack19 } from "@elementor/ui";
|
|
8913
|
-
import { __ as
|
|
8992
|
+
import { __ as __58 } from "@wordpress/i18n";
|
|
8914
8993
|
var ORIGIN_UNITS = ["px", "%", "em", "rem"];
|
|
8915
8994
|
var PERSPECTIVE_CONTROL_FIELD = {
|
|
8916
|
-
label:
|
|
8995
|
+
label: __58("Perspective", "elementor"),
|
|
8917
8996
|
bind: "perspective",
|
|
8918
8997
|
units: ["px", "em", "rem", "vw", "vh"]
|
|
8919
8998
|
};
|
|
8920
8999
|
var CHILDREN_PERSPECTIVE_FIELDS = [
|
|
8921
9000
|
{
|
|
8922
|
-
label:
|
|
9001
|
+
label: __58("Origin X", "elementor"),
|
|
8923
9002
|
bind: "x",
|
|
8924
9003
|
units: ORIGIN_UNITS
|
|
8925
9004
|
},
|
|
8926
9005
|
{
|
|
8927
|
-
label:
|
|
9006
|
+
label: __58("Origin Y", "elementor"),
|
|
8928
9007
|
bind: "y",
|
|
8929
9008
|
units: ORIGIN_UNITS
|
|
8930
9009
|
}
|
|
8931
9010
|
];
|
|
8932
9011
|
var ChildrenPerspectiveControl = () => {
|
|
8933
|
-
return /* @__PURE__ */
|
|
9012
|
+
return /* @__PURE__ */ React115.createElement(Stack19, { direction: "column", spacing: 1.5 }, /* @__PURE__ */ React115.createElement(ControlFormLabel, null, __58("Children perspective", "elementor")), /* @__PURE__ */ React115.createElement(PerspectiveControl, null), /* @__PURE__ */ React115.createElement(PerspectiveOriginControl, null));
|
|
8934
9013
|
};
|
|
8935
|
-
var PerspectiveControl = () => /* @__PURE__ */
|
|
8936
|
-
var PerspectiveOriginControl = () => /* @__PURE__ */
|
|
9014
|
+
var PerspectiveControl = () => /* @__PURE__ */ React115.createElement(PropKeyProvider, { bind: "perspective" }, /* @__PURE__ */ React115.createElement(ControlFields, { control: PERSPECTIVE_CONTROL_FIELD, key: PERSPECTIVE_CONTROL_FIELD.bind }));
|
|
9015
|
+
var PerspectiveOriginControl = () => /* @__PURE__ */ React115.createElement(PropKeyProvider, { bind: "perspective-origin" }, /* @__PURE__ */ React115.createElement(PerspectiveOriginControlProvider, null));
|
|
8937
9016
|
var PerspectiveOriginControlProvider = () => {
|
|
8938
9017
|
const context = useBoundProp(perspectiveOriginPropTypeUtil);
|
|
8939
|
-
return /* @__PURE__ */
|
|
9018
|
+
return /* @__PURE__ */ React115.createElement(PropProvider, { ...context }, CHILDREN_PERSPECTIVE_FIELDS.map((control) => /* @__PURE__ */ React115.createElement(PropKeyProvider, { bind: control.bind, key: control.bind }, /* @__PURE__ */ React115.createElement(ControlFields, { control }))));
|
|
8940
9019
|
};
|
|
8941
9020
|
var ControlFields = ({ control }) => {
|
|
8942
|
-
const rowRef =
|
|
8943
|
-
return /* @__PURE__ */
|
|
9021
|
+
const rowRef = useRef31(null);
|
|
9022
|
+
return /* @__PURE__ */ React115.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React115.createElement(Grid27, { item: true, xs: 6 }, /* @__PURE__ */ React115.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React115.createElement(Grid27, { item: true, xs: 6 }, /* @__PURE__ */ React115.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef, disableCustom: true })));
|
|
8944
9023
|
};
|
|
8945
9024
|
|
|
8946
9025
|
// src/controls/transform-control/transform-base-controls/transform-origin-control.tsx
|
|
8947
|
-
import * as
|
|
8948
|
-
import { useRef as
|
|
9026
|
+
import * as React116 from "react";
|
|
9027
|
+
import { useRef as useRef32 } from "react";
|
|
8949
9028
|
import { transformOriginPropTypeUtil } from "@elementor/editor-props";
|
|
8950
9029
|
import { Grid as Grid28, Stack as Stack20 } from "@elementor/ui";
|
|
8951
|
-
import { __ as
|
|
9030
|
+
import { __ as __59 } from "@wordpress/i18n";
|
|
8952
9031
|
var TRANSFORM_ORIGIN_UNITS = ["px", "%", "em", "rem"];
|
|
8953
9032
|
var TRANSFORM_ORIGIN_UNITS_Z_AXIS = TRANSFORM_ORIGIN_UNITS.filter((unit) => unit !== "%");
|
|
8954
9033
|
var TRANSFORM_ORIGIN_FIELDS = [
|
|
8955
9034
|
{
|
|
8956
|
-
label:
|
|
9035
|
+
label: __59("Origin X", "elementor"),
|
|
8957
9036
|
bind: "x",
|
|
8958
9037
|
units: TRANSFORM_ORIGIN_UNITS
|
|
8959
9038
|
},
|
|
8960
9039
|
{
|
|
8961
|
-
label:
|
|
9040
|
+
label: __59("Origin Y", "elementor"),
|
|
8962
9041
|
bind: "y",
|
|
8963
9042
|
units: TRANSFORM_ORIGIN_UNITS
|
|
8964
9043
|
},
|
|
8965
9044
|
{
|
|
8966
|
-
label:
|
|
9045
|
+
label: __59("Origin Z", "elementor"),
|
|
8967
9046
|
bind: "z",
|
|
8968
9047
|
units: TRANSFORM_ORIGIN_UNITS_Z_AXIS
|
|
8969
9048
|
}
|
|
8970
9049
|
];
|
|
8971
9050
|
var TransformOriginControl = () => {
|
|
8972
|
-
return /* @__PURE__ */
|
|
9051
|
+
return /* @__PURE__ */ React116.createElement(Stack20, { direction: "column", spacing: 1.5 }, /* @__PURE__ */ React116.createElement(ControlFormLabel, null, __59("Transform", "elementor")), TRANSFORM_ORIGIN_FIELDS.map((control) => /* @__PURE__ */ React116.createElement(ControlFields2, { control, key: control.bind })));
|
|
8973
9052
|
};
|
|
8974
9053
|
var ControlFields2 = ({ control }) => {
|
|
8975
9054
|
const context = useBoundProp(transformOriginPropTypeUtil);
|
|
8976
|
-
const rowRef =
|
|
8977
|
-
return /* @__PURE__ */
|
|
9055
|
+
const rowRef = useRef32(null);
|
|
9056
|
+
return /* @__PURE__ */ React116.createElement(PropProvider, { ...context }, /* @__PURE__ */ React116.createElement(PropKeyProvider, { bind: control.bind }, /* @__PURE__ */ React116.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React116.createElement(Grid28, { item: true, xs: 6 }, /* @__PURE__ */ React116.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React116.createElement(Grid28, { item: true, xs: 6 }, /* @__PURE__ */ React116.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef })))));
|
|
8978
9057
|
};
|
|
8979
9058
|
|
|
8980
9059
|
// src/controls/transform-control/transform-settings-control.tsx
|
|
8981
|
-
var
|
|
9060
|
+
var SIZE11 = "tiny";
|
|
8982
9061
|
var TransformSettingsControl = ({
|
|
8983
9062
|
popupState,
|
|
8984
9063
|
anchorRef,
|
|
@@ -8988,7 +9067,7 @@ var TransformSettingsControl = ({
|
|
|
8988
9067
|
...popupState,
|
|
8989
9068
|
anchorEl: anchorRef.current ?? void 0
|
|
8990
9069
|
});
|
|
8991
|
-
return /* @__PURE__ */
|
|
9070
|
+
return /* @__PURE__ */ React117.createElement(
|
|
8992
9071
|
Popover7,
|
|
8993
9072
|
{
|
|
8994
9073
|
disablePortal: true,
|
|
@@ -9003,45 +9082,45 @@ var TransformSettingsControl = ({
|
|
|
9003
9082
|
},
|
|
9004
9083
|
...popupProps
|
|
9005
9084
|
},
|
|
9006
|
-
/* @__PURE__ */
|
|
9085
|
+
/* @__PURE__ */ React117.createElement(
|
|
9007
9086
|
PopoverHeader5,
|
|
9008
9087
|
{
|
|
9009
|
-
title:
|
|
9088
|
+
title: __60("Transform settings", "elementor"),
|
|
9010
9089
|
onClose: popupState.close,
|
|
9011
|
-
icon: /* @__PURE__ */
|
|
9090
|
+
icon: /* @__PURE__ */ React117.createElement(AdjustmentsIcon, { fontSize: SIZE11 })
|
|
9012
9091
|
}
|
|
9013
9092
|
),
|
|
9014
|
-
/* @__PURE__ */
|
|
9015
|
-
/* @__PURE__ */
|
|
9093
|
+
/* @__PURE__ */ React117.createElement(Divider6, null),
|
|
9094
|
+
/* @__PURE__ */ React117.createElement(PopoverContent, { sx: { px: 2, py: 1.5 } }, /* @__PURE__ */ React117.createElement(PropKeyProvider, { bind: "transform-origin" }, /* @__PURE__ */ React117.createElement(TransformOriginControl, null)), showChildrenPerspective && /* @__PURE__ */ React117.createElement(React117.Fragment, null, /* @__PURE__ */ React117.createElement(Box29, { sx: { my: 0.5 } }, /* @__PURE__ */ React117.createElement(Divider6, null)), /* @__PURE__ */ React117.createElement(ChildrenPerspectiveControl, null)))
|
|
9016
9095
|
);
|
|
9017
9096
|
};
|
|
9018
9097
|
|
|
9019
9098
|
// src/controls/transform-control/transform-repeater-control.tsx
|
|
9020
|
-
var
|
|
9099
|
+
var SIZE12 = "tiny";
|
|
9021
9100
|
var TransformRepeaterControl = createControl(
|
|
9022
9101
|
({ showChildrenPerspective }) => {
|
|
9023
9102
|
const context = useBoundProp(transformPropTypeUtil);
|
|
9024
|
-
const headerRef =
|
|
9103
|
+
const headerRef = useRef33(null);
|
|
9025
9104
|
const popupState = usePopupState10({ variant: "popover" });
|
|
9026
|
-
return /* @__PURE__ */
|
|
9105
|
+
return /* @__PURE__ */ React118.createElement(PropProvider, { ...context }, /* @__PURE__ */ React118.createElement(
|
|
9027
9106
|
TransformSettingsControl,
|
|
9028
9107
|
{
|
|
9029
9108
|
popupState,
|
|
9030
9109
|
anchorRef: headerRef,
|
|
9031
9110
|
showChildrenPerspective
|
|
9032
9111
|
}
|
|
9033
|
-
), /* @__PURE__ */
|
|
9112
|
+
), /* @__PURE__ */ React118.createElement(PropKeyProvider, { bind: "transform-functions" }, /* @__PURE__ */ React118.createElement(Repeater2, { headerRef, propType: context.propType, popupState })));
|
|
9034
9113
|
}
|
|
9035
9114
|
);
|
|
9036
|
-
var ToolTip = /* @__PURE__ */
|
|
9115
|
+
var ToolTip = /* @__PURE__ */ React118.createElement(
|
|
9037
9116
|
Box30,
|
|
9038
9117
|
{
|
|
9039
9118
|
component: "span",
|
|
9040
9119
|
"aria-label": void 0,
|
|
9041
9120
|
sx: { display: "flex", gap: 0.5, p: 2, width: 320, borderRadius: 1 }
|
|
9042
9121
|
},
|
|
9043
|
-
/* @__PURE__ */
|
|
9044
|
-
/* @__PURE__ */
|
|
9122
|
+
/* @__PURE__ */ React118.createElement(InfoCircleFilledIcon2, { sx: { color: "secondary.main" } }),
|
|
9123
|
+
/* @__PURE__ */ React118.createElement(Typography12, { variant: "body2", color: "text.secondary", fontSize: "14px" }, __61("You can use each kind of transform only once per element.", "elementor"))
|
|
9045
9124
|
);
|
|
9046
9125
|
var Repeater2 = ({
|
|
9047
9126
|
headerRef,
|
|
@@ -9055,21 +9134,21 @@ var Repeater2 = ({
|
|
|
9055
9134
|
return availableValues.find((value) => !transformValues?.some((item) => item.$$type === value.$$type));
|
|
9056
9135
|
};
|
|
9057
9136
|
const shouldDisableAddItem = !getInitialValue2();
|
|
9058
|
-
return /* @__PURE__ */
|
|
9137
|
+
return /* @__PURE__ */ React118.createElement(PropProvider, { ...transformFunctionsContext }, /* @__PURE__ */ React118.createElement(
|
|
9059
9138
|
ControlRepeater,
|
|
9060
9139
|
{
|
|
9061
9140
|
initial: getInitialValue2() ?? initialTransformValue,
|
|
9062
9141
|
propTypeUtil: transformFunctionsPropTypeUtil
|
|
9063
9142
|
},
|
|
9064
|
-
/* @__PURE__ */
|
|
9143
|
+
/* @__PURE__ */ React118.createElement(
|
|
9065
9144
|
RepeaterHeader,
|
|
9066
9145
|
{
|
|
9067
|
-
label:
|
|
9068
|
-
adornment: () => /* @__PURE__ */
|
|
9146
|
+
label: __61("Transform", "elementor"),
|
|
9147
|
+
adornment: () => /* @__PURE__ */ React118.createElement(ControlAdornments, { customContext: { path: ["transform"], propType } }),
|
|
9069
9148
|
ref: headerRef
|
|
9070
9149
|
},
|
|
9071
|
-
/* @__PURE__ */
|
|
9072
|
-
/* @__PURE__ */
|
|
9150
|
+
/* @__PURE__ */ React118.createElement(TransformBasePopoverTrigger, { popupState, repeaterBindKey: bind }),
|
|
9151
|
+
/* @__PURE__ */ React118.createElement(
|
|
9073
9152
|
TooltipAddItemAction,
|
|
9074
9153
|
{
|
|
9075
9154
|
disabled: shouldDisableAddItem,
|
|
@@ -9079,15 +9158,15 @@ var Repeater2 = ({
|
|
|
9079
9158
|
}
|
|
9080
9159
|
)
|
|
9081
9160
|
),
|
|
9082
|
-
/* @__PURE__ */
|
|
9161
|
+
/* @__PURE__ */ React118.createElement(ItemsContainer, null, /* @__PURE__ */ React118.createElement(
|
|
9083
9162
|
Item,
|
|
9084
9163
|
{
|
|
9085
9164
|
Icon: TransformIcon,
|
|
9086
9165
|
Label: TransformLabel,
|
|
9087
|
-
actions: /* @__PURE__ */
|
|
9166
|
+
actions: /* @__PURE__ */ React118.createElement(React118.Fragment, null, /* @__PURE__ */ React118.createElement(DisableItemAction, null), /* @__PURE__ */ React118.createElement(RemoveItemAction, null))
|
|
9088
9167
|
}
|
|
9089
9168
|
)),
|
|
9090
|
-
/* @__PURE__ */
|
|
9169
|
+
/* @__PURE__ */ React118.createElement(EditItemPopover, null, /* @__PURE__ */ React118.createElement(TransformContent, null))
|
|
9091
9170
|
));
|
|
9092
9171
|
};
|
|
9093
9172
|
var TransformBasePopoverTrigger = ({
|
|
@@ -9095,13 +9174,13 @@ var TransformBasePopoverTrigger = ({
|
|
|
9095
9174
|
repeaterBindKey
|
|
9096
9175
|
}) => {
|
|
9097
9176
|
const { bind } = useBoundProp();
|
|
9098
|
-
const titleLabel =
|
|
9099
|
-
return bind !== repeaterBindKey ? null : /* @__PURE__ */
|
|
9177
|
+
const titleLabel = __61("Transform settings", "elementor");
|
|
9178
|
+
return bind !== repeaterBindKey ? null : /* @__PURE__ */ React118.createElement(Tooltip12, { title: titleLabel, placement: "top" }, /* @__PURE__ */ React118.createElement(IconButton10, { size: SIZE12, "aria-label": titleLabel, ...bindTrigger5(popupState) }, /* @__PURE__ */ React118.createElement(AdjustmentsIcon2, { fontSize: SIZE12 })));
|
|
9100
9179
|
};
|
|
9101
9180
|
|
|
9102
9181
|
// src/controls/transition-control/transition-repeater-control.tsx
|
|
9103
|
-
import * as
|
|
9104
|
-
import { useEffect as useEffect19, useMemo as
|
|
9182
|
+
import * as React121 from "react";
|
|
9183
|
+
import { useEffect as useEffect19, useMemo as useMemo19, useState as useState26 } from "react";
|
|
9105
9184
|
import {
|
|
9106
9185
|
createArrayPropUtils as createArrayPropUtils3,
|
|
9107
9186
|
selectionSizePropTypeUtil as selectionSizePropTypeUtil2
|
|
@@ -9109,19 +9188,19 @@ import {
|
|
|
9109
9188
|
import { InfoCircleFilledIcon as InfoCircleFilledIcon3 } from "@elementor/icons";
|
|
9110
9189
|
import { Alert as Alert3, AlertTitle as AlertTitle4, Box as Box32, Typography as Typography13 } from "@elementor/ui";
|
|
9111
9190
|
import { hasProInstalled as hasProInstalled2 } from "@elementor/utils";
|
|
9112
|
-
import { __ as
|
|
9191
|
+
import { __ as __64 } from "@wordpress/i18n";
|
|
9113
9192
|
|
|
9114
9193
|
// src/controls/selection-size-control.tsx
|
|
9115
|
-
import * as
|
|
9116
|
-
import { useMemo as
|
|
9194
|
+
import * as React119 from "react";
|
|
9195
|
+
import { useMemo as useMemo17, useRef as useRef34 } from "react";
|
|
9117
9196
|
import { selectionSizePropTypeUtil } from "@elementor/editor-props";
|
|
9118
9197
|
import { Grid as Grid29 } from "@elementor/ui";
|
|
9119
9198
|
var SelectionSizeControl = createControl(
|
|
9120
9199
|
({ selectionLabel, sizeLabel, selectionConfig, sizeConfigMap }) => {
|
|
9121
9200
|
const { value, setValue, propType } = useBoundProp(selectionSizePropTypeUtil);
|
|
9122
|
-
const rowRef =
|
|
9201
|
+
const rowRef = useRef34(null);
|
|
9123
9202
|
const sizeFieldId = sizeLabel.replace(/\s+/g, "-").toLowerCase();
|
|
9124
|
-
const currentSizeConfig =
|
|
9203
|
+
const currentSizeConfig = useMemo17(() => {
|
|
9125
9204
|
switch (value.selection.$$type) {
|
|
9126
9205
|
case "key-value":
|
|
9127
9206
|
return sizeConfigMap[value?.selection?.value.value.value || ""];
|
|
@@ -9132,7 +9211,7 @@ var SelectionSizeControl = createControl(
|
|
|
9132
9211
|
}
|
|
9133
9212
|
}, [value, sizeConfigMap]);
|
|
9134
9213
|
const SelectionComponent = selectionConfig.component;
|
|
9135
|
-
return /* @__PURE__ */
|
|
9214
|
+
return /* @__PURE__ */ React119.createElement(PropProvider, { value, setValue, propType }, /* @__PURE__ */ React119.createElement(Grid29, { container: true, spacing: 1.5, ref: rowRef }, /* @__PURE__ */ React119.createElement(Grid29, { item: true, xs: 6, sx: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React119.createElement(ControlFormLabel, null, selectionLabel)), /* @__PURE__ */ React119.createElement(Grid29, { item: true, xs: 6 }, /* @__PURE__ */ React119.createElement(PropKeyProvider, { bind: "selection" }, /* @__PURE__ */ React119.createElement(SelectionComponent, { ...selectionConfig.props }))), currentSizeConfig && /* @__PURE__ */ React119.createElement(React119.Fragment, null, /* @__PURE__ */ React119.createElement(Grid29, { item: true, xs: 6, sx: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React119.createElement(ControlFormLabel, { htmlFor: sizeFieldId }, sizeLabel)), /* @__PURE__ */ React119.createElement(Grid29, { item: true, xs: 6 }, /* @__PURE__ */ React119.createElement(PropKeyProvider, { bind: "size" }, /* @__PURE__ */ React119.createElement(
|
|
9136
9215
|
SizeControl,
|
|
9137
9216
|
{
|
|
9138
9217
|
anchorRef: rowRef,
|
|
@@ -9147,12 +9226,12 @@ var SelectionSizeControl = createControl(
|
|
|
9147
9226
|
|
|
9148
9227
|
// src/controls/transition-control/data.ts
|
|
9149
9228
|
import { hasProInstalled, isVersionGreaterOrEqual } from "@elementor/utils";
|
|
9150
|
-
import { __ as
|
|
9229
|
+
import { __ as __62 } from "@wordpress/i18n";
|
|
9151
9230
|
var initialTransitionValue = {
|
|
9152
9231
|
selection: {
|
|
9153
9232
|
$$type: "key-value",
|
|
9154
9233
|
value: {
|
|
9155
|
-
key: { value:
|
|
9234
|
+
key: { value: __62("All properties", "elementor"), $$type: "string" },
|
|
9156
9235
|
value: { value: "all", $$type: "string" }
|
|
9157
9236
|
}
|
|
9158
9237
|
},
|
|
@@ -9176,128 +9255,128 @@ var createTransitionPropertiesList = () => {
|
|
|
9176
9255
|
const isSiteRtl = getIsSiteRtl();
|
|
9177
9256
|
const baseProperties = [
|
|
9178
9257
|
{
|
|
9179
|
-
label:
|
|
9258
|
+
label: __62("Default", "elementor"),
|
|
9180
9259
|
type: "category",
|
|
9181
|
-
properties: [{ label:
|
|
9260
|
+
properties: [{ label: __62("All properties", "elementor"), value: "all" }]
|
|
9182
9261
|
},
|
|
9183
9262
|
{
|
|
9184
|
-
label:
|
|
9263
|
+
label: __62("Margin", "elementor"),
|
|
9185
9264
|
type: "category",
|
|
9186
9265
|
properties: [
|
|
9187
|
-
{ label:
|
|
9188
|
-
{ label:
|
|
9266
|
+
{ label: __62("Margin (all)", "elementor"), value: "margin", isDisabled: true },
|
|
9267
|
+
{ label: __62("Margin bottom", "elementor"), value: "margin-block-end", isDisabled: true },
|
|
9189
9268
|
{
|
|
9190
|
-
label: isSiteRtl ?
|
|
9269
|
+
label: isSiteRtl ? __62("Margin right", "elementor") : __62("Margin left", "elementor"),
|
|
9191
9270
|
value: "margin-inline-start",
|
|
9192
9271
|
isDisabled: true
|
|
9193
9272
|
},
|
|
9194
9273
|
{
|
|
9195
|
-
label: isSiteRtl ?
|
|
9274
|
+
label: isSiteRtl ? __62("Margin left", "elementor") : __62("Margin right", "elementor"),
|
|
9196
9275
|
value: "margin-inline-end",
|
|
9197
9276
|
isDisabled: true
|
|
9198
9277
|
},
|
|
9199
|
-
{ label:
|
|
9278
|
+
{ label: __62("Margin top", "elementor"), value: "margin-block-start", isDisabled: true }
|
|
9200
9279
|
]
|
|
9201
9280
|
},
|
|
9202
9281
|
{
|
|
9203
|
-
label:
|
|
9282
|
+
label: __62("Padding", "elementor"),
|
|
9204
9283
|
type: "category",
|
|
9205
9284
|
properties: [
|
|
9206
|
-
{ label:
|
|
9207
|
-
{ label:
|
|
9285
|
+
{ label: __62("Padding (all)", "elementor"), value: "padding", isDisabled: true },
|
|
9286
|
+
{ label: __62("Padding bottom", "elementor"), value: "padding-block-end", isDisabled: true },
|
|
9208
9287
|
{
|
|
9209
|
-
label: isSiteRtl ?
|
|
9288
|
+
label: isSiteRtl ? __62("Padding right", "elementor") : __62("Padding left", "elementor"),
|
|
9210
9289
|
value: "padding-inline-start",
|
|
9211
9290
|
isDisabled: true
|
|
9212
9291
|
},
|
|
9213
9292
|
{
|
|
9214
|
-
label: isSiteRtl ?
|
|
9293
|
+
label: isSiteRtl ? __62("Padding left", "elementor") : __62("Padding right", "elementor"),
|
|
9215
9294
|
value: "padding-inline-end",
|
|
9216
9295
|
isDisabled: true
|
|
9217
9296
|
},
|
|
9218
|
-
{ label:
|
|
9297
|
+
{ label: __62("Padding top", "elementor"), value: "padding-block-start", isDisabled: true }
|
|
9219
9298
|
]
|
|
9220
9299
|
},
|
|
9221
9300
|
{
|
|
9222
|
-
label:
|
|
9301
|
+
label: __62("Flex", "elementor"),
|
|
9223
9302
|
type: "category",
|
|
9224
9303
|
properties: [
|
|
9225
|
-
{ label:
|
|
9226
|
-
{ label:
|
|
9227
|
-
{ label:
|
|
9228
|
-
{ label:
|
|
9304
|
+
{ label: __62("Flex (all)", "elementor"), value: "flex", isDisabled: true },
|
|
9305
|
+
{ label: __62("Flex grow", "elementor"), value: "flex-grow", isDisabled: true },
|
|
9306
|
+
{ label: __62("Flex shrink", "elementor"), value: "flex-shrink", isDisabled: true },
|
|
9307
|
+
{ label: __62("Flex basis", "elementor"), value: "flex-basis", isDisabled: true }
|
|
9229
9308
|
]
|
|
9230
9309
|
},
|
|
9231
9310
|
{
|
|
9232
|
-
label:
|
|
9311
|
+
label: __62("Size", "elementor"),
|
|
9233
9312
|
type: "category",
|
|
9234
9313
|
properties: [
|
|
9235
|
-
{ label:
|
|
9236
|
-
{ label:
|
|
9237
|
-
{ label:
|
|
9238
|
-
{ label:
|
|
9239
|
-
{ label:
|
|
9240
|
-
{ label:
|
|
9314
|
+
{ label: __62("Width", "elementor"), value: "width", isDisabled: true },
|
|
9315
|
+
{ label: __62("Height", "elementor"), value: "height", isDisabled: true },
|
|
9316
|
+
{ label: __62("Max height", "elementor"), value: "max-height", isDisabled: true },
|
|
9317
|
+
{ label: __62("Max width", "elementor"), value: "max-width", isDisabled: true },
|
|
9318
|
+
{ label: __62("Min height", "elementor"), value: "min-height", isDisabled: true },
|
|
9319
|
+
{ label: __62("Min width", "elementor"), value: "min-width", isDisabled: true }
|
|
9241
9320
|
]
|
|
9242
9321
|
},
|
|
9243
9322
|
{
|
|
9244
|
-
label:
|
|
9323
|
+
label: __62("Position", "elementor"),
|
|
9245
9324
|
type: "category",
|
|
9246
9325
|
properties: [
|
|
9247
|
-
{ label:
|
|
9326
|
+
{ label: __62("Top", "elementor"), value: "inset-block-start", isDisabled: true },
|
|
9248
9327
|
{
|
|
9249
|
-
label: isSiteRtl ?
|
|
9328
|
+
label: isSiteRtl ? __62("Right", "elementor") : __62("Left", "elementor"),
|
|
9250
9329
|
value: "inset-inline-start",
|
|
9251
9330
|
isDisabled: true
|
|
9252
9331
|
},
|
|
9253
9332
|
{
|
|
9254
|
-
label: isSiteRtl ?
|
|
9333
|
+
label: isSiteRtl ? __62("Left", "elementor") : __62("Right", "elementor"),
|
|
9255
9334
|
value: "inset-inline-end",
|
|
9256
9335
|
isDisabled: true
|
|
9257
9336
|
},
|
|
9258
|
-
{ label:
|
|
9259
|
-
{ label:
|
|
9337
|
+
{ label: __62("Bottom", "elementor"), value: "inset-block-end", isDisabled: true },
|
|
9338
|
+
{ label: __62("Z-index", "elementor"), value: "z-index", isDisabled: true }
|
|
9260
9339
|
]
|
|
9261
9340
|
},
|
|
9262
9341
|
{
|
|
9263
|
-
label:
|
|
9342
|
+
label: __62("Typography", "elementor"),
|
|
9264
9343
|
type: "category",
|
|
9265
9344
|
properties: [
|
|
9266
|
-
{ label:
|
|
9267
|
-
{ label:
|
|
9268
|
-
{ label:
|
|
9269
|
-
{ label:
|
|
9270
|
-
{ label:
|
|
9271
|
-
{ label:
|
|
9272
|
-
{ label:
|
|
9345
|
+
{ label: __62("Font color", "elementor"), value: "color", isDisabled: true },
|
|
9346
|
+
{ label: __62("Font size", "elementor"), value: "font-size", isDisabled: true },
|
|
9347
|
+
{ label: __62("Line height", "elementor"), value: "line-height", isDisabled: true },
|
|
9348
|
+
{ label: __62("Letter spacing", "elementor"), value: "letter-spacing", isDisabled: true },
|
|
9349
|
+
{ label: __62("Word spacing", "elementor"), value: "word-spacing", isDisabled: true },
|
|
9350
|
+
{ label: __62("Font variations", "elementor"), value: "font-variation-settings", isDisabled: true },
|
|
9351
|
+
{ label: __62("Text stroke color", "elementor"), value: "-webkit-text-stroke-color", isDisabled: true }
|
|
9273
9352
|
]
|
|
9274
9353
|
},
|
|
9275
9354
|
{
|
|
9276
|
-
label:
|
|
9355
|
+
label: __62("Background", "elementor"),
|
|
9277
9356
|
type: "category",
|
|
9278
9357
|
properties: [
|
|
9279
|
-
{ label:
|
|
9280
|
-
{ label:
|
|
9281
|
-
{ label:
|
|
9358
|
+
{ label: __62("Background color", "elementor"), value: "background-color", isDisabled: true },
|
|
9359
|
+
{ label: __62("Background position", "elementor"), value: "background-position", isDisabled: true },
|
|
9360
|
+
{ label: __62("Box shadow", "elementor"), value: "box-shadow", isDisabled: true }
|
|
9282
9361
|
]
|
|
9283
9362
|
},
|
|
9284
9363
|
{
|
|
9285
|
-
label:
|
|
9364
|
+
label: __62("Border", "elementor"),
|
|
9286
9365
|
type: "category",
|
|
9287
9366
|
properties: [
|
|
9288
|
-
{ label:
|
|
9289
|
-
{ label:
|
|
9290
|
-
{ label:
|
|
9291
|
-
{ label:
|
|
9367
|
+
{ label: __62("Border (all)", "elementor"), value: "border", isDisabled: true },
|
|
9368
|
+
{ label: __62("Border radius", "elementor"), value: "border-radius", isDisabled: true },
|
|
9369
|
+
{ label: __62("Border color", "elementor"), value: "border-color", isDisabled: true },
|
|
9370
|
+
{ label: __62("Border width", "elementor"), value: "border-width", isDisabled: true }
|
|
9292
9371
|
]
|
|
9293
9372
|
},
|
|
9294
9373
|
{
|
|
9295
|
-
label:
|
|
9374
|
+
label: __62("Effects", "elementor"),
|
|
9296
9375
|
type: "category",
|
|
9297
9376
|
properties: [
|
|
9298
|
-
{ label:
|
|
9299
|
-
{ label:
|
|
9300
|
-
{ label:
|
|
9377
|
+
{ label: __62("Opacity", "elementor"), value: "opacity", isDisabled: true },
|
|
9378
|
+
{ label: __62("Transform (all)", "elementor"), value: "transform", isDisabled: true },
|
|
9379
|
+
{ label: __62("Filter (all)", "elementor"), value: "filter", isDisabled: true }
|
|
9301
9380
|
]
|
|
9302
9381
|
}
|
|
9303
9382
|
];
|
|
@@ -9333,13 +9412,13 @@ function subscribeToTransitionEvent() {
|
|
|
9333
9412
|
}
|
|
9334
9413
|
|
|
9335
9414
|
// src/controls/transition-control/transition-selector.tsx
|
|
9336
|
-
import * as
|
|
9337
|
-
import { useMemo as
|
|
9415
|
+
import * as React120 from "react";
|
|
9416
|
+
import { useMemo as useMemo18, useRef as useRef35 } from "react";
|
|
9338
9417
|
import { keyValuePropTypeUtil as keyValuePropTypeUtil2 } from "@elementor/editor-props";
|
|
9339
9418
|
import { PromotionAlert, PromotionChip } from "@elementor/editor-ui";
|
|
9340
9419
|
import { ChevronDownIcon as ChevronDownIcon3, VariationsIcon } from "@elementor/icons";
|
|
9341
9420
|
import { bindPopover as bindPopover7, bindTrigger as bindTrigger6, Box as Box31, Popover as Popover8, UnstableTag as UnstableTag3, usePopupState as usePopupState11 } from "@elementor/ui";
|
|
9342
|
-
import { __ as
|
|
9421
|
+
import { __ as __63 } from "@wordpress/i18n";
|
|
9343
9422
|
var toTransitionSelectorValue = (label) => {
|
|
9344
9423
|
for (const category of transitionProperties) {
|
|
9345
9424
|
const property = category.properties.find((prop) => prop.label === label);
|
|
@@ -9380,9 +9459,9 @@ var TransitionSelector = ({
|
|
|
9380
9459
|
const {
|
|
9381
9460
|
key: { value: transitionLabel }
|
|
9382
9461
|
} = value;
|
|
9383
|
-
const defaultRef =
|
|
9462
|
+
const defaultRef = useRef35(null);
|
|
9384
9463
|
const popoverState = usePopupState11({ variant: "popover" });
|
|
9385
|
-
const disabledCategories =
|
|
9464
|
+
const disabledCategories = useMemo18(() => {
|
|
9386
9465
|
return new Set(
|
|
9387
9466
|
transitionProperties.filter((cat) => cat.properties.some((prop) => prop.isDisabled)).map((cat) => cat.label)
|
|
9388
9467
|
);
|
|
@@ -9402,7 +9481,7 @@ var TransitionSelector = ({
|
|
|
9402
9481
|
return [
|
|
9403
9482
|
first,
|
|
9404
9483
|
{
|
|
9405
|
-
label:
|
|
9484
|
+
label: __63("Recently Used", "elementor"),
|
|
9406
9485
|
items: recentItems
|
|
9407
9486
|
},
|
|
9408
9487
|
...rest
|
|
@@ -9426,16 +9505,16 @@ var TransitionSelector = ({
|
|
|
9426
9505
|
left: rect.right + 36
|
|
9427
9506
|
};
|
|
9428
9507
|
};
|
|
9429
|
-
return /* @__PURE__ */
|
|
9508
|
+
return /* @__PURE__ */ React120.createElement(Box31, { ref: defaultRef }, /* @__PURE__ */ React120.createElement(ControlActions, null, /* @__PURE__ */ React120.createElement(
|
|
9430
9509
|
UnstableTag3,
|
|
9431
9510
|
{
|
|
9432
9511
|
variant: "outlined",
|
|
9433
9512
|
label: transitionLabel,
|
|
9434
|
-
endIcon: /* @__PURE__ */
|
|
9513
|
+
endIcon: /* @__PURE__ */ React120.createElement(ChevronDownIcon3, { fontSize: "tiny" }),
|
|
9435
9514
|
...bindTrigger6(popoverState),
|
|
9436
9515
|
fullWidth: true
|
|
9437
9516
|
}
|
|
9438
|
-
)), /* @__PURE__ */
|
|
9517
|
+
)), /* @__PURE__ */ React120.createElement(
|
|
9439
9518
|
Popover8,
|
|
9440
9519
|
{
|
|
9441
9520
|
disablePortal: true,
|
|
@@ -9446,7 +9525,7 @@ var TransitionSelector = ({
|
|
|
9446
9525
|
anchorOrigin: { vertical: "top", horizontal: "right" },
|
|
9447
9526
|
transformOrigin: { vertical: "top", horizontal: "left" }
|
|
9448
9527
|
},
|
|
9449
|
-
/* @__PURE__ */
|
|
9528
|
+
/* @__PURE__ */ React120.createElement(
|
|
9450
9529
|
ItemSelector,
|
|
9451
9530
|
{
|
|
9452
9531
|
itemsList: getItemList(),
|
|
@@ -9454,10 +9533,10 @@ var TransitionSelector = ({
|
|
|
9454
9533
|
onItemChange: handleTransitionPropertyChange,
|
|
9455
9534
|
onClose: popoverState.close,
|
|
9456
9535
|
sectionWidth: 268,
|
|
9457
|
-
title:
|
|
9536
|
+
title: __63("Transition Property", "elementor"),
|
|
9458
9537
|
icon: VariationsIcon,
|
|
9459
9538
|
disabledItems: includeCurrentValueInOptions(value, disabledItems),
|
|
9460
|
-
categoryItemContentTemplate: (item) => /* @__PURE__ */
|
|
9539
|
+
categoryItemContentTemplate: (item) => /* @__PURE__ */ React120.createElement(
|
|
9461
9540
|
Box31,
|
|
9462
9541
|
{
|
|
9463
9542
|
sx: {
|
|
@@ -9467,13 +9546,13 @@ var TransitionSelector = ({
|
|
|
9467
9546
|
width: "100%"
|
|
9468
9547
|
}
|
|
9469
9548
|
},
|
|
9470
|
-
/* @__PURE__ */
|
|
9471
|
-
showPromotion && disabledCategories.has(item.value) && /* @__PURE__ */
|
|
9549
|
+
/* @__PURE__ */ React120.createElement("span", null, item.value),
|
|
9550
|
+
showPromotion && disabledCategories.has(item.value) && /* @__PURE__ */ React120.createElement(PromotionChip, null)
|
|
9472
9551
|
),
|
|
9473
|
-
footer: showPromotion ? /* @__PURE__ */
|
|
9552
|
+
footer: showPromotion ? /* @__PURE__ */ React120.createElement(
|
|
9474
9553
|
PromotionAlert,
|
|
9475
9554
|
{
|
|
9476
|
-
message:
|
|
9555
|
+
message: __63(
|
|
9477
9556
|
"Upgrade to customize transition properties and control effects.",
|
|
9478
9557
|
"elementor"
|
|
9479
9558
|
),
|
|
@@ -9512,8 +9591,8 @@ var areAllPropertiesUsed = (value = []) => {
|
|
|
9512
9591
|
};
|
|
9513
9592
|
var getSelectionSizeProps = (recentlyUsedList, disabledItems, showPromotion) => {
|
|
9514
9593
|
return {
|
|
9515
|
-
selectionLabel:
|
|
9516
|
-
sizeLabel:
|
|
9594
|
+
selectionLabel: __64("Type", "elementor"),
|
|
9595
|
+
sizeLabel: __64("Duration", "elementor"),
|
|
9517
9596
|
selectionConfig: {
|
|
9518
9597
|
component: TransitionSelector,
|
|
9519
9598
|
props: {
|
|
@@ -9589,7 +9668,7 @@ var getInitialValue = (values = []) => {
|
|
|
9589
9668
|
}
|
|
9590
9669
|
return initialTransitionValue;
|
|
9591
9670
|
};
|
|
9592
|
-
var disableAddItemTooltipContent = /* @__PURE__ */
|
|
9671
|
+
var disableAddItemTooltipContent = /* @__PURE__ */ React121.createElement(
|
|
9593
9672
|
Alert3,
|
|
9594
9673
|
{
|
|
9595
9674
|
sx: {
|
|
@@ -9597,10 +9676,10 @@ var disableAddItemTooltipContent = /* @__PURE__ */ React120.createElement(
|
|
|
9597
9676
|
gap: 0.5
|
|
9598
9677
|
},
|
|
9599
9678
|
color: "secondary",
|
|
9600
|
-
icon: /* @__PURE__ */
|
|
9679
|
+
icon: /* @__PURE__ */ React121.createElement(InfoCircleFilledIcon3, null)
|
|
9601
9680
|
},
|
|
9602
|
-
/* @__PURE__ */
|
|
9603
|
-
/* @__PURE__ */
|
|
9681
|
+
/* @__PURE__ */ React121.createElement(AlertTitle4, null, __64("Transitions", "elementor")),
|
|
9682
|
+
/* @__PURE__ */ React121.createElement(Box32, { component: "span" }, /* @__PURE__ */ React121.createElement(Typography13, { variant: "body2" }, __64("Switch to 'Normal' state to add a transition.", "elementor")))
|
|
9604
9683
|
);
|
|
9605
9684
|
var TransitionRepeaterControl = createControl(
|
|
9606
9685
|
({
|
|
@@ -9611,11 +9690,11 @@ var TransitionRepeaterControl = createControl(
|
|
|
9611
9690
|
const [recentlyUsedList, setRecentlyUsedList] = useState26([]);
|
|
9612
9691
|
const proInstalled = hasProInstalled2();
|
|
9613
9692
|
const { value, setValue } = useBoundProp(childArrayPropTypeUtil);
|
|
9614
|
-
const { allDisabled: disabledItems, proDisabled: proDisabledItems } =
|
|
9693
|
+
const { allDisabled: disabledItems, proDisabled: proDisabledItems } = useMemo19(
|
|
9615
9694
|
() => getDisabledItemLabels(value),
|
|
9616
9695
|
[value]
|
|
9617
9696
|
);
|
|
9618
|
-
const allowedTransitionSet =
|
|
9697
|
+
const allowedTransitionSet = useMemo19(() => {
|
|
9619
9698
|
const set = /* @__PURE__ */ new Set();
|
|
9620
9699
|
transitionProperties.forEach((category) => {
|
|
9621
9700
|
category.properties.forEach((prop) => {
|
|
@@ -9641,15 +9720,15 @@ var TransitionRepeaterControl = createControl(
|
|
|
9641
9720
|
useEffect19(() => {
|
|
9642
9721
|
recentlyUsedListGetter().then(setRecentlyUsedList);
|
|
9643
9722
|
}, [recentlyUsedListGetter]);
|
|
9644
|
-
const allPropertiesUsed =
|
|
9723
|
+
const allPropertiesUsed = useMemo19(() => areAllPropertiesUsed(value), [value]);
|
|
9645
9724
|
const isAddItemDisabled = !currentStyleIsNormal || allPropertiesUsed;
|
|
9646
|
-
return /* @__PURE__ */
|
|
9725
|
+
return /* @__PURE__ */ React121.createElement(
|
|
9647
9726
|
RepeatableControl,
|
|
9648
9727
|
{
|
|
9649
|
-
label:
|
|
9650
|
-
repeaterLabel:
|
|
9728
|
+
label: __64("Transitions", "elementor"),
|
|
9729
|
+
repeaterLabel: __64("Transitions", "elementor"),
|
|
9651
9730
|
patternLabel: "${value.selection.value.key.value}: ${value.size.value.size}${value.size.value.unit}",
|
|
9652
|
-
placeholder:
|
|
9731
|
+
placeholder: __64("Empty Transition", "elementor"),
|
|
9653
9732
|
showDuplicate: false,
|
|
9654
9733
|
showToggle: true,
|
|
9655
9734
|
initialValues: getInitialValue(value),
|
|
@@ -9670,9 +9749,9 @@ var TransitionRepeaterControl = createControl(
|
|
|
9670
9749
|
);
|
|
9671
9750
|
|
|
9672
9751
|
// src/controls/date-time-control.tsx
|
|
9673
|
-
import * as
|
|
9752
|
+
import * as React122 from "react";
|
|
9674
9753
|
import * as dayjs from "dayjs";
|
|
9675
|
-
import { isTransformable as isTransformable2, stringPropTypeUtil as
|
|
9754
|
+
import { isTransformable as isTransformable2, stringPropTypeUtil as stringPropTypeUtil21 } from "@elementor/editor-props";
|
|
9676
9755
|
import { DateTimePropTypeUtil } from "@elementor/editor-props";
|
|
9677
9756
|
import { Box as Box33, DatePicker, LocalizationProvider, TimePicker } from "@elementor/ui";
|
|
9678
9757
|
var DATE_FORMAT = "YYYY-MM-DD";
|
|
@@ -9718,10 +9797,10 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
|
|
|
9718
9797
|
const base = dayjs.default();
|
|
9719
9798
|
return base.hour(h).minute(m).second(0).millisecond(0);
|
|
9720
9799
|
};
|
|
9721
|
-
return /* @__PURE__ */
|
|
9800
|
+
return /* @__PURE__ */ React122.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React122.createElement(ControlActions, null, /* @__PURE__ */ React122.createElement(LocalizationProvider, null, /* @__PURE__ */ React122.createElement(Box33, { display: "flex", gap: 1, alignItems: "center" }, /* @__PURE__ */ React122.createElement(PropKeyProvider, { bind: "date" }, /* @__PURE__ */ React122.createElement(
|
|
9722
9801
|
DatePicker,
|
|
9723
9802
|
{
|
|
9724
|
-
value: parseDateValue(
|
|
9803
|
+
value: parseDateValue(stringPropTypeUtil21.extract(value?.date)),
|
|
9725
9804
|
onChange: (v) => handleChange({ date: v }, { bind: "date" }),
|
|
9726
9805
|
disabled: inputDisabled,
|
|
9727
9806
|
slotProps: {
|
|
@@ -9730,10 +9809,10 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
|
|
|
9730
9809
|
openPickerIcon: { fontSize: "tiny" }
|
|
9731
9810
|
}
|
|
9732
9811
|
}
|
|
9733
|
-
)), /* @__PURE__ */
|
|
9812
|
+
)), /* @__PURE__ */ React122.createElement(PropKeyProvider, { bind: "time" }, /* @__PURE__ */ React122.createElement(
|
|
9734
9813
|
TimePicker,
|
|
9735
9814
|
{
|
|
9736
|
-
value: parseTimeValue(
|
|
9815
|
+
value: parseTimeValue(stringPropTypeUtil21.extract(value?.time)),
|
|
9737
9816
|
onChange: (v) => handleChange({ time: v }, { bind: "time" }),
|
|
9738
9817
|
disabled: inputDisabled,
|
|
9739
9818
|
slotProps: {
|
|
@@ -9746,13 +9825,13 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
|
|
|
9746
9825
|
});
|
|
9747
9826
|
|
|
9748
9827
|
// src/controls/date-range-control.tsx
|
|
9749
|
-
import * as
|
|
9828
|
+
import * as React124 from "react";
|
|
9750
9829
|
import { dateRangePropTypeUtil, dateStringPropTypeUtil as dateStringPropTypeUtil2 } from "@elementor/editor-props";
|
|
9751
9830
|
import { FormHelperText as FormHelperText2, Grid as Grid30, Stack as Stack21 } from "@elementor/ui";
|
|
9752
|
-
import { __ as
|
|
9831
|
+
import { __ as __65 } from "@wordpress/i18n";
|
|
9753
9832
|
|
|
9754
9833
|
// src/controls/date-string-control.tsx
|
|
9755
|
-
import * as
|
|
9834
|
+
import * as React123 from "react";
|
|
9756
9835
|
import { dateStringPropTypeUtil } from "@elementor/editor-props";
|
|
9757
9836
|
import { DatePicker as DatePicker2, LocalizationProvider as LocalizationProvider2 } from "@elementor/ui";
|
|
9758
9837
|
|
|
@@ -9811,7 +9890,7 @@ var DateStringControl = createControl(
|
|
|
9811
9890
|
}
|
|
9812
9891
|
setValue(newValue.format(format));
|
|
9813
9892
|
};
|
|
9814
|
-
return /* @__PURE__ */
|
|
9893
|
+
return /* @__PURE__ */ React123.createElement(LocalizationProvider2, null, /* @__PURE__ */ React123.createElement(ControlActions, null, /* @__PURE__ */ React123.createElement(
|
|
9815
9894
|
DatePicker2,
|
|
9816
9895
|
{
|
|
9817
9896
|
value: parseDateString(value ?? ""),
|
|
@@ -9825,8 +9904,8 @@ var DateStringControl = createControl(
|
|
|
9825
9904
|
|
|
9826
9905
|
// src/controls/date-range-control.tsx
|
|
9827
9906
|
var RANGE_LABELS = {
|
|
9828
|
-
min:
|
|
9829
|
-
max:
|
|
9907
|
+
min: __65("Min date", "elementor"),
|
|
9908
|
+
max: __65("Max date", "elementor")
|
|
9830
9909
|
};
|
|
9831
9910
|
var isMaxBeforeMin = (minIso, maxIso) => {
|
|
9832
9911
|
if (!minIso || !maxIso) {
|
|
@@ -9834,38 +9913,38 @@ var isMaxBeforeMin = (minIso, maxIso) => {
|
|
|
9834
9913
|
}
|
|
9835
9914
|
return maxIso < minIso;
|
|
9836
9915
|
};
|
|
9837
|
-
var RANGE_ERROR_MESSAGE =
|
|
9916
|
+
var RANGE_ERROR_MESSAGE = __65("Max date must be on or after Min date", "elementor");
|
|
9838
9917
|
var DateRangeControl = createControl(() => {
|
|
9839
9918
|
const { value, setValue, ...propContext } = useBoundProp(dateRangePropTypeUtil);
|
|
9840
9919
|
const minString = dateStringPropTypeUtil2.extract(value?.min);
|
|
9841
9920
|
const maxString = dateStringPropTypeUtil2.extract(value?.max);
|
|
9842
9921
|
const hasInvalidRange = isMaxBeforeMin(minString, maxString);
|
|
9843
|
-
return /* @__PURE__ */
|
|
9922
|
+
return /* @__PURE__ */ React124.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React124.createElement(Stack21, { gap: 0.75 }, /* @__PURE__ */ React124.createElement(Stack21, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React124.createElement(Grid30, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React124.createElement(Grid30, { item: true, xs: 12 }, /* @__PURE__ */ React124.createElement(ControlFormLabel, null, RANGE_LABELS.min)), /* @__PURE__ */ React124.createElement(Grid30, { item: true, xs: 12 }, /* @__PURE__ */ React124.createElement(
|
|
9844
9923
|
BoundDateStringControl,
|
|
9845
9924
|
{
|
|
9846
9925
|
bind: "min",
|
|
9847
9926
|
ariaLabel: RANGE_LABELS.min,
|
|
9848
9927
|
error: hasInvalidRange
|
|
9849
9928
|
}
|
|
9850
|
-
))), /* @__PURE__ */
|
|
9929
|
+
))), /* @__PURE__ */ React124.createElement(Grid30, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React124.createElement(Grid30, { item: true, xs: 12 }, /* @__PURE__ */ React124.createElement(ControlFormLabel, null, RANGE_LABELS.max)), /* @__PURE__ */ React124.createElement(Grid30, { item: true, xs: 12 }, /* @__PURE__ */ React124.createElement(
|
|
9851
9930
|
BoundDateStringControl,
|
|
9852
9931
|
{
|
|
9853
9932
|
bind: "max",
|
|
9854
9933
|
ariaLabel: RANGE_LABELS.max,
|
|
9855
9934
|
error: hasInvalidRange
|
|
9856
9935
|
}
|
|
9857
|
-
)))), hasInvalidRange && /* @__PURE__ */
|
|
9936
|
+
)))), hasInvalidRange && /* @__PURE__ */ React124.createElement(FormHelperText2, { error: true }, RANGE_ERROR_MESSAGE)));
|
|
9858
9937
|
});
|
|
9859
9938
|
var BoundDateStringControl = ({
|
|
9860
9939
|
bind,
|
|
9861
9940
|
ariaLabel,
|
|
9862
9941
|
error
|
|
9863
9942
|
}) => {
|
|
9864
|
-
return /* @__PURE__ */
|
|
9943
|
+
return /* @__PURE__ */ React124.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React124.createElement(DateStringControl, { ariaLabel, error, coerceInvalidToNull: true }));
|
|
9865
9944
|
};
|
|
9866
9945
|
|
|
9867
9946
|
// src/controls/time-string-control.tsx
|
|
9868
|
-
import * as
|
|
9947
|
+
import * as React125 from "react";
|
|
9869
9948
|
import { timeStringPropTypeUtil } from "@elementor/editor-props";
|
|
9870
9949
|
import { LocalizationProvider as LocalizationProvider3, TimePicker as TimePicker2 } from "@elementor/ui";
|
|
9871
9950
|
var TimeStringControl = createControl(
|
|
@@ -9893,7 +9972,7 @@ var TimeStringControl = createControl(
|
|
|
9893
9972
|
}
|
|
9894
9973
|
setValue(newValue.format(format));
|
|
9895
9974
|
};
|
|
9896
|
-
return /* @__PURE__ */
|
|
9975
|
+
return /* @__PURE__ */ React125.createElement(LocalizationProvider3, null, /* @__PURE__ */ React125.createElement(ControlActions, null, /* @__PURE__ */ React125.createElement(
|
|
9897
9976
|
TimePicker2,
|
|
9898
9977
|
{
|
|
9899
9978
|
value: parseTimeString(value ?? ""),
|
|
@@ -9906,31 +9985,31 @@ var TimeStringControl = createControl(
|
|
|
9906
9985
|
);
|
|
9907
9986
|
|
|
9908
9987
|
// src/controls/time-range-control.tsx
|
|
9909
|
-
import * as
|
|
9988
|
+
import * as React126 from "react";
|
|
9910
9989
|
import { timeRangePropTypeUtil } from "@elementor/editor-props";
|
|
9911
9990
|
import { Grid as Grid31, Stack as Stack22 } from "@elementor/ui";
|
|
9912
|
-
import { __ as
|
|
9991
|
+
import { __ as __66 } from "@wordpress/i18n";
|
|
9913
9992
|
var RANGE_LABELS2 = {
|
|
9914
|
-
min:
|
|
9915
|
-
max:
|
|
9993
|
+
min: __66("Start time", "elementor"),
|
|
9994
|
+
max: __66("End time", "elementor")
|
|
9916
9995
|
};
|
|
9917
9996
|
var TimeRangeControl = createControl(() => {
|
|
9918
9997
|
const { value, setValue, ...propContext } = useBoundProp(timeRangePropTypeUtil);
|
|
9919
|
-
return /* @__PURE__ */
|
|
9998
|
+
return /* @__PURE__ */ React126.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React126.createElement(Stack22, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React126.createElement(Grid31, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React126.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React126.createElement(ControlFormLabel, null, RANGE_LABELS2.min)), /* @__PURE__ */ React126.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React126.createElement(BoundTimeStringControl, { bind: "min", ariaLabel: RANGE_LABELS2.min }))), /* @__PURE__ */ React126.createElement(Grid31, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React126.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React126.createElement(ControlFormLabel, null, RANGE_LABELS2.max)), /* @__PURE__ */ React126.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React126.createElement(BoundTimeStringControl, { bind: "max", ariaLabel: RANGE_LABELS2.max })))));
|
|
9920
9999
|
});
|
|
9921
10000
|
var BoundTimeStringControl = ({ bind, ariaLabel }) => {
|
|
9922
|
-
return /* @__PURE__ */
|
|
10001
|
+
return /* @__PURE__ */ React126.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React126.createElement(TimeStringControl, { ariaLabel, coerceInvalidToNull: true }));
|
|
9923
10002
|
};
|
|
9924
10003
|
|
|
9925
10004
|
// src/controls/inline-editing-control.tsx
|
|
9926
|
-
import * as
|
|
10005
|
+
import * as React130 from "react";
|
|
9927
10006
|
import { useCallback as useCallback4, useState as useState28 } from "react";
|
|
9928
10007
|
import { escapedHtmlPropTypeUtil as escapedHtmlPropTypeUtil2 } from "@elementor/editor-props";
|
|
9929
10008
|
import { Box as Box36, Stack as Stack24 } from "@elementor/ui";
|
|
9930
10009
|
|
|
9931
10010
|
// src/components/inline-editor.tsx
|
|
9932
|
-
import * as
|
|
9933
|
-
import { useEffect as useEffect20, useRef as
|
|
10011
|
+
import * as React127 from "react";
|
|
10012
|
+
import { useEffect as useEffect20, useRef as useRef36 } from "react";
|
|
9934
10013
|
import { Box as Box34 } from "@elementor/ui";
|
|
9935
10014
|
import Bold from "@tiptap/extension-bold";
|
|
9936
10015
|
import Document from "@tiptap/extension-document";
|
|
@@ -9947,7 +10026,7 @@ import Underline from "@tiptap/extension-underline";
|
|
|
9947
10026
|
import { EditorContent, useEditor } from "@tiptap/react";
|
|
9948
10027
|
|
|
9949
10028
|
// src/utils/inline-editing.ts
|
|
9950
|
-
import { escapedHtmlPropTypeUtil, htmlV3PropTypeUtil, stringPropTypeUtil as
|
|
10029
|
+
import { escapedHtmlPropTypeUtil, htmlV3PropTypeUtil, stringPropTypeUtil as stringPropTypeUtil22 } from "@elementor/editor-props";
|
|
9951
10030
|
function isEmpty(value = "") {
|
|
9952
10031
|
if (!value) {
|
|
9953
10032
|
return true;
|
|
@@ -9969,14 +10048,14 @@ function extractInlineHtmlContent(propValue) {
|
|
|
9969
10048
|
return escapedHtmlPropTypeUtil.extract(propValue) ?? "";
|
|
9970
10049
|
}
|
|
9971
10050
|
const htmlV3 = htmlV3PropTypeUtil.extract(propValue);
|
|
9972
|
-
return
|
|
10051
|
+
return stringPropTypeUtil22.extract(htmlV3?.content ?? null) ?? "";
|
|
9973
10052
|
}
|
|
9974
10053
|
|
|
9975
10054
|
// src/components/inline-editor.tsx
|
|
9976
10055
|
var ITALIC_KEYBOARD_SHORTCUT = "i";
|
|
9977
10056
|
var BOLD_KEYBOARD_SHORTCUT = "b";
|
|
9978
10057
|
var UNDERLINE_KEYBOARD_SHORTCUT = "u";
|
|
9979
|
-
var InlineEditor =
|
|
10058
|
+
var InlineEditor = React127.forwardRef((props, ref) => {
|
|
9980
10059
|
const {
|
|
9981
10060
|
value,
|
|
9982
10061
|
setValue,
|
|
@@ -9993,8 +10072,8 @@ var InlineEditor = React126.forwardRef((props, ref) => {
|
|
|
9993
10072
|
onSelectionEnd,
|
|
9994
10073
|
mountElement = null
|
|
9995
10074
|
} = props;
|
|
9996
|
-
const containerRef =
|
|
9997
|
-
const onBlurRef =
|
|
10075
|
+
const containerRef = useRef36(null);
|
|
10076
|
+
const onBlurRef = useRef36(onBlur);
|
|
9998
10077
|
onBlurRef.current = onBlur;
|
|
9999
10078
|
const documentContentSettings = !!expectedTag ? "block+" : "inline*";
|
|
10000
10079
|
const onUpdate = ({ editor: updatedEditor }) => {
|
|
@@ -10089,10 +10168,10 @@ var InlineEditor = React126.forwardRef((props, ref) => {
|
|
|
10089
10168
|
if (mountElement) {
|
|
10090
10169
|
return null;
|
|
10091
10170
|
}
|
|
10092
|
-
return /* @__PURE__ */
|
|
10171
|
+
return /* @__PURE__ */ React127.createElement(Box34, { ref: containerRef, sx, className: wrapperClassName }, /* @__PURE__ */ React127.createElement(EditorContent, { ref, editor }));
|
|
10093
10172
|
});
|
|
10094
10173
|
var useOnUpdate = (callback, dependencies) => {
|
|
10095
|
-
const hasMounted =
|
|
10174
|
+
const hasMounted = useRef36(false);
|
|
10096
10175
|
useEffect20(() => {
|
|
10097
10176
|
if (hasMounted.current) {
|
|
10098
10177
|
callback();
|
|
@@ -10103,8 +10182,8 @@ var useOnUpdate = (callback, dependencies) => {
|
|
|
10103
10182
|
};
|
|
10104
10183
|
|
|
10105
10184
|
// src/components/inline-editor-toolbar.tsx
|
|
10106
|
-
import * as
|
|
10107
|
-
import { useEffect as useEffect22, useMemo as
|
|
10185
|
+
import * as React129 from "react";
|
|
10186
|
+
import { useEffect as useEffect22, useMemo as useMemo20, useRef as useRef38, useState as useState27 } from "react";
|
|
10108
10187
|
import { getContainer as getContainer2, getElementSetting } from "@elementor/editor-elements";
|
|
10109
10188
|
import {
|
|
10110
10189
|
BoldIcon,
|
|
@@ -10126,14 +10205,14 @@ import {
|
|
|
10126
10205
|
usePopupState as usePopupState12
|
|
10127
10206
|
} from "@elementor/ui";
|
|
10128
10207
|
import { useEditorState } from "@tiptap/react";
|
|
10129
|
-
import { __ as
|
|
10208
|
+
import { __ as __68 } from "@wordpress/i18n";
|
|
10130
10209
|
|
|
10131
10210
|
// src/components/url-popover.tsx
|
|
10132
|
-
import * as
|
|
10133
|
-
import { useEffect as useEffect21, useRef as
|
|
10211
|
+
import * as React128 from "react";
|
|
10212
|
+
import { useEffect as useEffect21, useRef as useRef37 } from "react";
|
|
10134
10213
|
import { ExternalLinkIcon } from "@elementor/icons";
|
|
10135
|
-
import { bindPopover as bindPopover8, Popover as Popover9, Stack as Stack23, TextField as
|
|
10136
|
-
import { __ as
|
|
10214
|
+
import { bindPopover as bindPopover8, Popover as Popover9, Stack as Stack23, TextField as TextField12, ToggleButton as ToggleButton3, Tooltip as Tooltip13 } from "@elementor/ui";
|
|
10215
|
+
import { __ as __67 } from "@wordpress/i18n";
|
|
10137
10216
|
var UrlPopover = ({
|
|
10138
10217
|
popupState,
|
|
10139
10218
|
restoreValue,
|
|
@@ -10143,7 +10222,7 @@ var UrlPopover = ({
|
|
|
10143
10222
|
openInNewTab,
|
|
10144
10223
|
onToggleNewTab
|
|
10145
10224
|
}) => {
|
|
10146
|
-
const inputRef =
|
|
10225
|
+
const inputRef = useRef37(null);
|
|
10147
10226
|
useEffect21(() => {
|
|
10148
10227
|
if (popupState.isOpen) {
|
|
10149
10228
|
requestAnimationFrame(() => inputRef.current?.focus());
|
|
@@ -10153,7 +10232,7 @@ var UrlPopover = ({
|
|
|
10153
10232
|
restoreValue();
|
|
10154
10233
|
popupState.close();
|
|
10155
10234
|
};
|
|
10156
|
-
return /* @__PURE__ */
|
|
10235
|
+
return /* @__PURE__ */ React128.createElement(
|
|
10157
10236
|
Popover9,
|
|
10158
10237
|
{
|
|
10159
10238
|
slotProps: {
|
|
@@ -10164,30 +10243,30 @@ var UrlPopover = ({
|
|
|
10164
10243
|
transformOrigin: { vertical: "top", horizontal: "left" },
|
|
10165
10244
|
onClose: handleClose
|
|
10166
10245
|
},
|
|
10167
|
-
/* @__PURE__ */
|
|
10168
|
-
|
|
10246
|
+
/* @__PURE__ */ React128.createElement(Stack23, { direction: "row", alignItems: "center", gap: 1, sx: { p: 1.5 } }, /* @__PURE__ */ React128.createElement(
|
|
10247
|
+
TextField12,
|
|
10169
10248
|
{
|
|
10170
10249
|
value,
|
|
10171
10250
|
onChange,
|
|
10172
10251
|
size: "tiny",
|
|
10173
10252
|
fullWidth: true,
|
|
10174
|
-
placeholder:
|
|
10253
|
+
placeholder: __67("Type a URL", "elementor"),
|
|
10175
10254
|
inputProps: { ref: inputRef },
|
|
10176
10255
|
color: "secondary",
|
|
10177
10256
|
InputProps: { sx: { borderRadius: "8px" } },
|
|
10178
10257
|
onKeyUp: (event) => event.key === "Enter" && handleClose()
|
|
10179
10258
|
}
|
|
10180
|
-
), /* @__PURE__ */
|
|
10259
|
+
), /* @__PURE__ */ React128.createElement(Tooltip13, { title: __67("Open in a new tab", "elementor") }, /* @__PURE__ */ React128.createElement(
|
|
10181
10260
|
ToggleButton3,
|
|
10182
10261
|
{
|
|
10183
10262
|
size: "tiny",
|
|
10184
10263
|
value: "newTab",
|
|
10185
10264
|
selected: openInNewTab,
|
|
10186
10265
|
onClick: onToggleNewTab,
|
|
10187
|
-
"aria-label":
|
|
10266
|
+
"aria-label": __67("Open in a new tab", "elementor"),
|
|
10188
10267
|
sx: { borderRadius: "8px" }
|
|
10189
10268
|
},
|
|
10190
|
-
/* @__PURE__ */
|
|
10269
|
+
/* @__PURE__ */ React128.createElement(ExternalLinkIcon, { fontSize: "tiny" })
|
|
10191
10270
|
)))
|
|
10192
10271
|
);
|
|
10193
10272
|
};
|
|
@@ -10201,14 +10280,14 @@ var InlineEditorToolbar = ({
|
|
|
10201
10280
|
}) => {
|
|
10202
10281
|
const [urlValue, setUrlValue] = useState27("");
|
|
10203
10282
|
const [openInNewTab, setOpenInNewTab] = useState27(false);
|
|
10204
|
-
const toolbarRef =
|
|
10283
|
+
const toolbarRef = useRef38(null);
|
|
10205
10284
|
const linkPopupState = usePopupState12({ variant: "popover" });
|
|
10206
10285
|
const isElementClickable = elementId ? checkIfElementIsClickable(elementId) : false;
|
|
10207
10286
|
const editorState = useEditorState({
|
|
10208
10287
|
editor,
|
|
10209
10288
|
selector: (ctx) => possibleFormats.filter((format) => ctx.editor.isActive(format))
|
|
10210
10289
|
});
|
|
10211
|
-
const formatButtonsList =
|
|
10290
|
+
const formatButtonsList = useMemo20(() => {
|
|
10212
10291
|
const buttons = Object.values(formatButtons);
|
|
10213
10292
|
if (isElementClickable) {
|
|
10214
10293
|
return buttons.filter((button) => button.action !== "link");
|
|
@@ -10250,7 +10329,7 @@ var InlineEditorToolbar = ({
|
|
|
10250
10329
|
editor?.commands?.focus();
|
|
10251
10330
|
}
|
|
10252
10331
|
}, [editor, inControlPanel]);
|
|
10253
|
-
return /* @__PURE__ */
|
|
10332
|
+
return /* @__PURE__ */ React129.createElement(
|
|
10254
10333
|
Box35,
|
|
10255
10334
|
{
|
|
10256
10335
|
ref: toolbarRef,
|
|
@@ -10284,8 +10363,8 @@ var InlineEditorToolbar = ({
|
|
|
10284
10363
|
}
|
|
10285
10364
|
}
|
|
10286
10365
|
},
|
|
10287
|
-
/* @__PURE__ */
|
|
10288
|
-
/* @__PURE__ */
|
|
10366
|
+
/* @__PURE__ */ React129.createElement(Tooltip14, { title: clearButton.label, placement: "top", sx: { borderRadius: "8px" } }, /* @__PURE__ */ React129.createElement(IconButton11, { "aria-label": clearButton.label, onClick: () => clearButton.method(editor), size: "tiny" }, clearButton.icon)),
|
|
10367
|
+
/* @__PURE__ */ React129.createElement(
|
|
10289
10368
|
ToggleButtonGroup2,
|
|
10290
10369
|
{
|
|
10291
10370
|
value: editorState,
|
|
@@ -10315,7 +10394,7 @@ var InlineEditorToolbar = ({
|
|
|
10315
10394
|
}
|
|
10316
10395
|
}
|
|
10317
10396
|
},
|
|
10318
|
-
formatButtonsList.map((button) => /* @__PURE__ */
|
|
10397
|
+
formatButtonsList.map((button) => /* @__PURE__ */ React129.createElement(Tooltip14, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React129.createElement(
|
|
10319
10398
|
ToggleButton4,
|
|
10320
10399
|
{
|
|
10321
10400
|
value: button.action,
|
|
@@ -10333,7 +10412,7 @@ var InlineEditorToolbar = ({
|
|
|
10333
10412
|
button.icon
|
|
10334
10413
|
)))
|
|
10335
10414
|
),
|
|
10336
|
-
/* @__PURE__ */
|
|
10415
|
+
/* @__PURE__ */ React129.createElement(
|
|
10337
10416
|
UrlPopover,
|
|
10338
10417
|
{
|
|
10339
10418
|
popupState: linkPopupState,
|
|
@@ -10356,64 +10435,64 @@ var checkIfElementIsClickable = (elementId) => {
|
|
|
10356
10435
|
};
|
|
10357
10436
|
var toolbarButtons = {
|
|
10358
10437
|
clear: {
|
|
10359
|
-
label:
|
|
10360
|
-
icon: /* @__PURE__ */
|
|
10438
|
+
label: __68("Clear", "elementor"),
|
|
10439
|
+
icon: /* @__PURE__ */ React129.createElement(MinusIcon2, { fontSize: "tiny" }),
|
|
10361
10440
|
action: "clear",
|
|
10362
10441
|
method: (editor) => {
|
|
10363
10442
|
editor.chain().focus().clearNodes().unsetAllMarks().run();
|
|
10364
10443
|
}
|
|
10365
10444
|
},
|
|
10366
10445
|
bold: {
|
|
10367
|
-
label:
|
|
10368
|
-
icon: /* @__PURE__ */
|
|
10446
|
+
label: __68("Bold", "elementor"),
|
|
10447
|
+
icon: /* @__PURE__ */ React129.createElement(BoldIcon, { fontSize: "tiny" }),
|
|
10369
10448
|
action: "bold",
|
|
10370
10449
|
method: (editor) => {
|
|
10371
10450
|
editor.chain().focus().toggleBold().run();
|
|
10372
10451
|
}
|
|
10373
10452
|
},
|
|
10374
10453
|
italic: {
|
|
10375
|
-
label:
|
|
10376
|
-
icon: /* @__PURE__ */
|
|
10454
|
+
label: __68("Italic", "elementor"),
|
|
10455
|
+
icon: /* @__PURE__ */ React129.createElement(ItalicIcon, { fontSize: "tiny" }),
|
|
10377
10456
|
action: "italic",
|
|
10378
10457
|
method: (editor) => {
|
|
10379
10458
|
editor.chain().focus().toggleItalic().run();
|
|
10380
10459
|
}
|
|
10381
10460
|
},
|
|
10382
10461
|
underline: {
|
|
10383
|
-
label:
|
|
10384
|
-
icon: /* @__PURE__ */
|
|
10462
|
+
label: __68("Underline", "elementor"),
|
|
10463
|
+
icon: /* @__PURE__ */ React129.createElement(UnderlineIcon, { fontSize: "tiny" }),
|
|
10385
10464
|
action: "underline",
|
|
10386
10465
|
method: (editor) => {
|
|
10387
10466
|
editor.chain().focus().toggleUnderline().run();
|
|
10388
10467
|
}
|
|
10389
10468
|
},
|
|
10390
10469
|
strike: {
|
|
10391
|
-
label:
|
|
10392
|
-
icon: /* @__PURE__ */
|
|
10470
|
+
label: __68("Strikethrough", "elementor"),
|
|
10471
|
+
icon: /* @__PURE__ */ React129.createElement(StrikethroughIcon, { fontSize: "tiny" }),
|
|
10393
10472
|
action: "strike",
|
|
10394
10473
|
method: (editor) => {
|
|
10395
10474
|
editor.chain().focus().toggleStrike().run();
|
|
10396
10475
|
}
|
|
10397
10476
|
},
|
|
10398
10477
|
superscript: {
|
|
10399
|
-
label:
|
|
10400
|
-
icon: /* @__PURE__ */
|
|
10478
|
+
label: __68("Superscript", "elementor"),
|
|
10479
|
+
icon: /* @__PURE__ */ React129.createElement(SuperscriptIcon, { fontSize: "tiny" }),
|
|
10401
10480
|
action: "superscript",
|
|
10402
10481
|
method: (editor) => {
|
|
10403
10482
|
editor.chain().focus().toggleSuperscript().run();
|
|
10404
10483
|
}
|
|
10405
10484
|
},
|
|
10406
10485
|
subscript: {
|
|
10407
|
-
label:
|
|
10408
|
-
icon: /* @__PURE__ */
|
|
10486
|
+
label: __68("Subscript", "elementor"),
|
|
10487
|
+
icon: /* @__PURE__ */ React129.createElement(SubscriptIcon, { fontSize: "tiny" }),
|
|
10409
10488
|
action: "subscript",
|
|
10410
10489
|
method: (editor) => {
|
|
10411
10490
|
editor.chain().focus().toggleSubscript().run();
|
|
10412
10491
|
}
|
|
10413
10492
|
},
|
|
10414
10493
|
link: {
|
|
10415
|
-
label:
|
|
10416
|
-
icon: /* @__PURE__ */
|
|
10494
|
+
label: __68("Link", "elementor"),
|
|
10495
|
+
icon: /* @__PURE__ */ React129.createElement(LinkIcon3, { fontSize: "tiny" }),
|
|
10417
10496
|
action: "link",
|
|
10418
10497
|
method: null
|
|
10419
10498
|
}
|
|
@@ -10435,7 +10514,7 @@ var InlineEditingControl = createControl(
|
|
|
10435
10514
|
},
|
|
10436
10515
|
[setValue]
|
|
10437
10516
|
);
|
|
10438
|
-
const editorField = /* @__PURE__ */
|
|
10517
|
+
const editorField = /* @__PURE__ */ React130.createElement(ControlActions, null, /* @__PURE__ */ React130.createElement(Box36, { sx: { position: "relative" } }, editor && editor.isEditable && /* @__PURE__ */ React130.createElement(
|
|
10439
10518
|
InlineEditorToolbar,
|
|
10440
10519
|
{
|
|
10441
10520
|
editor,
|
|
@@ -10448,7 +10527,7 @@ var InlineEditingControl = createControl(
|
|
|
10448
10527
|
}),
|
|
10449
10528
|
inControlPanel: true
|
|
10450
10529
|
}
|
|
10451
|
-
), /* @__PURE__ */
|
|
10530
|
+
), /* @__PURE__ */ React130.createElement(
|
|
10452
10531
|
Box36,
|
|
10453
10532
|
{
|
|
10454
10533
|
sx: (theme) => ({
|
|
@@ -10493,7 +10572,7 @@ var InlineEditingControl = createControl(
|
|
|
10493
10572
|
...attributes,
|
|
10494
10573
|
...props
|
|
10495
10574
|
},
|
|
10496
|
-
/* @__PURE__ */
|
|
10575
|
+
/* @__PURE__ */ React130.createElement(
|
|
10497
10576
|
InlineEditor,
|
|
10498
10577
|
{
|
|
10499
10578
|
value: content,
|
|
@@ -10510,22 +10589,22 @@ var InlineEditingControl = createControl(
|
|
|
10510
10589
|
if (!promotion) {
|
|
10511
10590
|
return editorField;
|
|
10512
10591
|
}
|
|
10513
|
-
return /* @__PURE__ */
|
|
10592
|
+
return /* @__PURE__ */ React130.createElement(Stack24, { gap: 1 }, /* @__PURE__ */ React130.createElement(Stack24, { direction: "row", alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React130.createElement(ControlLabel, null, label), /* @__PURE__ */ React130.createElement(ImageOptimizeTrigger, { promotion })), editorField);
|
|
10514
10593
|
}
|
|
10515
10594
|
);
|
|
10516
10595
|
|
|
10517
10596
|
// src/controls/email-form-action-control/index.tsx
|
|
10518
|
-
import * as
|
|
10597
|
+
import * as React134 from "react";
|
|
10519
10598
|
import { emailsPropTypeUtil } from "@elementor/editor-props";
|
|
10520
10599
|
import { CollapsibleContent } from "@elementor/editor-ui";
|
|
10521
10600
|
import { Box as Box37, Divider as Divider7, Stack as Stack26 } from "@elementor/ui";
|
|
10522
|
-
import { __ as
|
|
10601
|
+
import { __ as __70 } from "@wordpress/i18n";
|
|
10523
10602
|
|
|
10524
10603
|
// src/controls/email-form-action-control/fields.tsx
|
|
10525
|
-
import * as
|
|
10604
|
+
import * as React133 from "react";
|
|
10526
10605
|
import { InfoAlert as InfoAlert2 } from "@elementor/editor-ui";
|
|
10527
10606
|
import { Grid as Grid34, Stack as Stack25 } from "@elementor/ui";
|
|
10528
|
-
import { __ as
|
|
10607
|
+
import { __ as __69 } from "@wordpress/i18n";
|
|
10529
10608
|
|
|
10530
10609
|
// src/hooks/use-form-field-suggestions.ts
|
|
10531
10610
|
import {
|
|
@@ -10534,7 +10613,7 @@ import {
|
|
|
10534
10613
|
getSelectedElements as getSelectedElements3,
|
|
10535
10614
|
getWidgetsCache
|
|
10536
10615
|
} from "@elementor/editor-elements";
|
|
10537
|
-
import { stringPropTypeUtil as
|
|
10616
|
+
import { stringPropTypeUtil as stringPropTypeUtil23 } from "@elementor/editor-props";
|
|
10538
10617
|
import { __privateUseListenTo as useListenTo2, commandEndEvent as commandEndEvent2, v1ReadyEvent } from "@elementor/editor-v1-adapters";
|
|
10539
10618
|
var FORM_FIELD_WIDGET_TYPES = [
|
|
10540
10619
|
"e-form-input",
|
|
@@ -10551,7 +10630,7 @@ function isFormFieldWidgetType(widgetType) {
|
|
|
10551
10630
|
return FORM_FIELD_WIDGET_TYPES.includes(widgetType);
|
|
10552
10631
|
}
|
|
10553
10632
|
function extractStringPropValue(value) {
|
|
10554
|
-
return
|
|
10633
|
+
return stringPropTypeUtil23.extract(value);
|
|
10555
10634
|
}
|
|
10556
10635
|
function getSettingWithDefault(child, widgetType, key) {
|
|
10557
10636
|
const fromGet = child.settings.get(key);
|
|
@@ -10615,10 +10694,10 @@ function useFormFieldSuggestions(options) {
|
|
|
10615
10694
|
}
|
|
10616
10695
|
|
|
10617
10696
|
// src/controls/email-form-action-control/email-chips-field.tsx
|
|
10618
|
-
import * as
|
|
10619
|
-
import { useMemo as
|
|
10620
|
-
import { stringArrayPropTypeUtil as stringArrayPropTypeUtil3, stringPropTypeUtil as
|
|
10621
|
-
import { Autocomplete as
|
|
10697
|
+
import * as React131 from "react";
|
|
10698
|
+
import { useMemo as useMemo21, useState as useState29 } from "react";
|
|
10699
|
+
import { stringArrayPropTypeUtil as stringArrayPropTypeUtil3, stringPropTypeUtil as stringPropTypeUtil24 } from "@elementor/editor-props";
|
|
10700
|
+
import { Autocomplete as Autocomplete5, Grid as Grid32, TextField as TextField13 } from "@elementor/ui";
|
|
10622
10701
|
|
|
10623
10702
|
// src/controls/email-form-action-control/utils.ts
|
|
10624
10703
|
import { z } from "@elementor/schema";
|
|
@@ -10656,8 +10735,8 @@ var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
|
|
|
10656
10735
|
const { value, setValue, disabled } = useBoundProp(stringArrayPropTypeUtil3);
|
|
10657
10736
|
const [inputValue, setInputValue] = useState29("");
|
|
10658
10737
|
const items2 = value || [];
|
|
10659
|
-
const selectedValues = items2.map((item) =>
|
|
10660
|
-
const suggestionOptions =
|
|
10738
|
+
const selectedValues = items2.map((item) => stringPropTypeUtil24.extract(item)).filter((val) => val !== null);
|
|
10739
|
+
const suggestionOptions = useMemo21(
|
|
10661
10740
|
() => suggestions.map((suggestion) => `[${suggestion.value}]`),
|
|
10662
10741
|
[suggestions]
|
|
10663
10742
|
);
|
|
@@ -10666,7 +10745,7 @@ var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
|
|
|
10666
10745
|
if (!address || selectedValues.includes(address) || !isValidRecipient(address)) {
|
|
10667
10746
|
return;
|
|
10668
10747
|
}
|
|
10669
|
-
setValue([...items2,
|
|
10748
|
+
setValue([...items2, stringPropTypeUtil24.create(address)]);
|
|
10670
10749
|
setInputValue("");
|
|
10671
10750
|
};
|
|
10672
10751
|
const handleChange = (_, newValue) => {
|
|
@@ -10676,7 +10755,7 @@ var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
|
|
|
10676
10755
|
if (!address || !isValidRecipient(address)) {
|
|
10677
10756
|
continue;
|
|
10678
10757
|
}
|
|
10679
|
-
updated.push(
|
|
10758
|
+
updated.push(stringPropTypeUtil24.create(address));
|
|
10680
10759
|
}
|
|
10681
10760
|
setValue(updated);
|
|
10682
10761
|
setInputValue("");
|
|
@@ -10692,8 +10771,8 @@ var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
|
|
|
10692
10771
|
tryAddChip(inputValue);
|
|
10693
10772
|
}
|
|
10694
10773
|
};
|
|
10695
|
-
return /* @__PURE__ */
|
|
10696
|
-
|
|
10774
|
+
return /* @__PURE__ */ React131.createElement(ControlActions, null, /* @__PURE__ */ React131.createElement(
|
|
10775
|
+
Autocomplete5,
|
|
10697
10776
|
{
|
|
10698
10777
|
fullWidth: true,
|
|
10699
10778
|
multiple: true,
|
|
@@ -10717,17 +10796,17 @@ var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
|
|
|
10717
10796
|
onBlur: handleBlur,
|
|
10718
10797
|
getOptionLabel: (option) => option,
|
|
10719
10798
|
isOptionEqualToValue: (option, val) => option === val,
|
|
10720
|
-
renderInput: (params) => /* @__PURE__ */
|
|
10721
|
-
renderTags: (tagValues, getTagProps) => /* @__PURE__ */
|
|
10799
|
+
renderInput: (params) => /* @__PURE__ */ React131.createElement(TextField13, { ...params, placeholder, onKeyDown: handleKeyDown }),
|
|
10800
|
+
renderTags: (tagValues, getTagProps) => /* @__PURE__ */ React131.createElement(ChipsList, { getLabel: (option) => option, getTagProps, values: tagValues })
|
|
10722
10801
|
}
|
|
10723
10802
|
));
|
|
10724
10803
|
});
|
|
10725
|
-
var EmailChipsField = ({ fieldLabel, placeholder, suggestions }) => /* @__PURE__ */
|
|
10804
|
+
var EmailChipsField = ({ fieldLabel, placeholder, suggestions }) => /* @__PURE__ */ React131.createElement(Grid32, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React131.createElement(Grid32, { item: true }, /* @__PURE__ */ React131.createElement(ControlFormLabel, null, fieldLabel)), /* @__PURE__ */ React131.createElement(Grid32, { item: true }, /* @__PURE__ */ React131.createElement(EmailChipsControl, { placeholder, suggestions })));
|
|
10726
10805
|
|
|
10727
10806
|
// src/controls/email-form-action-control/email-field.tsx
|
|
10728
|
-
import * as
|
|
10807
|
+
import * as React132 from "react";
|
|
10729
10808
|
import { Grid as Grid33 } from "@elementor/ui";
|
|
10730
|
-
var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */
|
|
10809
|
+
var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */ React132.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React132.createElement(Grid33, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React132.createElement(Grid33, { item: true }, /* @__PURE__ */ React132.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React132.createElement(Grid33, { item: true }, /* @__PURE__ */ React132.createElement(TextControl, { placeholder }))));
|
|
10731
10810
|
|
|
10732
10811
|
// src/controls/email-form-action-control/fields.tsx
|
|
10733
10812
|
var FieldValueMentionField = ({
|
|
@@ -10736,88 +10815,88 @@ var FieldValueMentionField = ({
|
|
|
10736
10815
|
placeholder
|
|
10737
10816
|
}) => {
|
|
10738
10817
|
const suggestions = useFormFieldSuggestions();
|
|
10739
|
-
return /* @__PURE__ */
|
|
10818
|
+
return /* @__PURE__ */ React133.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React133.createElement(Grid34, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(MentionTextAreaControl, { suggestions, rows: 1, placeholder }))));
|
|
10740
10819
|
};
|
|
10741
10820
|
var SendToField = ({ placeholder }) => {
|
|
10742
10821
|
const suggestions = useFormFieldSuggestions({ inputType: "email" });
|
|
10743
|
-
return /* @__PURE__ */
|
|
10822
|
+
return /* @__PURE__ */ React133.createElement(PropKeyProvider, { bind: "to" }, /* @__PURE__ */ React133.createElement(Stack25, { gap: 0.5 }, /* @__PURE__ */ React133.createElement(
|
|
10744
10823
|
EmailChipsField,
|
|
10745
10824
|
{
|
|
10746
|
-
fieldLabel:
|
|
10825
|
+
fieldLabel: __69("Send to", "elementor"),
|
|
10747
10826
|
placeholder,
|
|
10748
10827
|
suggestions
|
|
10749
10828
|
}
|
|
10750
|
-
), shouldShowMentionsInfo() && /* @__PURE__ */
|
|
10829
|
+
), shouldShowMentionsInfo() && /* @__PURE__ */ React133.createElement(InfoAlert2, null, __69("Type @ or an email field name to insert its submitted value.", "elementor"))));
|
|
10751
10830
|
};
|
|
10752
|
-
var SubjectField = () => /* @__PURE__ */
|
|
10831
|
+
var SubjectField = () => /* @__PURE__ */ React133.createElement(
|
|
10753
10832
|
FieldValueMentionField,
|
|
10754
10833
|
{
|
|
10755
10834
|
bind: "subject",
|
|
10756
|
-
label:
|
|
10757
|
-
placeholder:
|
|
10835
|
+
label: __69("Email subject", "elementor"),
|
|
10836
|
+
placeholder: __69("New form submission", "elementor")
|
|
10758
10837
|
}
|
|
10759
10838
|
);
|
|
10760
10839
|
var MessageField = () => {
|
|
10761
10840
|
const suggestions = useFormFieldSuggestions();
|
|
10762
|
-
return /* @__PURE__ */
|
|
10841
|
+
return /* @__PURE__ */ React133.createElement(PropKeyProvider, { bind: "message" }, /* @__PURE__ */ React133.createElement(Grid34, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(ControlFormLabel, null, __69("Message", "elementor"))), /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(MentionTextAreaControl, { suggestions })), /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(InfoAlert2, null, shouldShowMentionsInfo() ? __69(
|
|
10763
10842
|
"[all-fields] shortcode sends all fields. Type @ to insert specific fields and customize your message.",
|
|
10764
10843
|
"elementor"
|
|
10765
|
-
) :
|
|
10844
|
+
) : __69("[all-fields] shortcode sends all fields.", "elementor")))));
|
|
10766
10845
|
};
|
|
10767
|
-
var FromEmailField = () => /* @__PURE__ */
|
|
10846
|
+
var FromEmailField = () => /* @__PURE__ */ React133.createElement(
|
|
10768
10847
|
EmailField,
|
|
10769
10848
|
{
|
|
10770
10849
|
bind: "from",
|
|
10771
|
-
label:
|
|
10772
|
-
placeholder:
|
|
10850
|
+
label: __69("From email", "elementor"),
|
|
10851
|
+
placeholder: __69("What email should appear as the sender?", "elementor")
|
|
10773
10852
|
}
|
|
10774
10853
|
);
|
|
10775
|
-
var FromNameField = () => /* @__PURE__ */
|
|
10854
|
+
var FromNameField = () => /* @__PURE__ */ React133.createElement(
|
|
10776
10855
|
FieldValueMentionField,
|
|
10777
10856
|
{
|
|
10778
10857
|
bind: "from-name",
|
|
10779
|
-
label:
|
|
10780
|
-
placeholder:
|
|
10858
|
+
label: __69("From name", "elementor"),
|
|
10859
|
+
placeholder: __69("What name should appear as the sender?", "elementor")
|
|
10781
10860
|
}
|
|
10782
10861
|
);
|
|
10783
10862
|
var ReplyToField = () => {
|
|
10784
10863
|
const emailSuggestions = useFormFieldSuggestions({ inputType: "email" });
|
|
10785
|
-
return /* @__PURE__ */
|
|
10864
|
+
return /* @__PURE__ */ React133.createElement(PropKeyProvider, { bind: "reply-to" }, /* @__PURE__ */ React133.createElement(Grid34, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(ControlFormLabel, null, __69("Reply-to", "elementor"))), /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(
|
|
10786
10865
|
MentionTextAreaControl,
|
|
10787
10866
|
{
|
|
10788
10867
|
suggestions: emailSuggestions,
|
|
10789
10868
|
rows: 1,
|
|
10790
10869
|
triggerPosition: "start",
|
|
10791
|
-
placeholder:
|
|
10870
|
+
placeholder: __69("You can type @ to insert an email field", "elementor")
|
|
10792
10871
|
}
|
|
10793
10872
|
))));
|
|
10794
10873
|
};
|
|
10795
10874
|
var CcField = () => {
|
|
10796
10875
|
const suggestions = useFormFieldSuggestions({ inputType: "email" });
|
|
10797
|
-
return /* @__PURE__ */
|
|
10876
|
+
return /* @__PURE__ */ React133.createElement(PropKeyProvider, { bind: "cc" }, /* @__PURE__ */ React133.createElement(EmailChipsField, { fieldLabel: __69("Cc", "elementor"), suggestions }));
|
|
10798
10877
|
};
|
|
10799
10878
|
var BccField = () => {
|
|
10800
10879
|
const suggestions = useFormFieldSuggestions({ inputType: "email" });
|
|
10801
|
-
return /* @__PURE__ */
|
|
10880
|
+
return /* @__PURE__ */ React133.createElement(PropKeyProvider, { bind: "bcc" }, /* @__PURE__ */ React133.createElement(EmailChipsField, { fieldLabel: __69("Bcc", "elementor"), suggestions }));
|
|
10802
10881
|
};
|
|
10803
|
-
var MetaDataField = () => /* @__PURE__ */
|
|
10882
|
+
var MetaDataField = () => /* @__PURE__ */ React133.createElement(PropKeyProvider, { bind: "meta-data" }, /* @__PURE__ */ React133.createElement(Stack25, { gap: 0.5 }, /* @__PURE__ */ React133.createElement(ControlFormLabel, null, __69("Metadata", "elementor")), /* @__PURE__ */ React133.createElement(
|
|
10804
10883
|
ChipsControl,
|
|
10805
10884
|
{
|
|
10806
10885
|
options: [
|
|
10807
|
-
{ label:
|
|
10808
|
-
{ label:
|
|
10809
|
-
{ label:
|
|
10810
|
-
{ label:
|
|
10811
|
-
{ label:
|
|
10886
|
+
{ label: __69("Date", "elementor"), value: "date" },
|
|
10887
|
+
{ label: __69("Time", "elementor"), value: "time" },
|
|
10888
|
+
{ label: __69("Page URL", "elementor"), value: "page-url" },
|
|
10889
|
+
{ label: __69("User agent", "elementor"), value: "user-agent" },
|
|
10890
|
+
{ label: __69("Credit", "elementor"), value: "credit" }
|
|
10812
10891
|
]
|
|
10813
10892
|
}
|
|
10814
10893
|
)));
|
|
10815
|
-
var SendAsField = () => /* @__PURE__ */
|
|
10894
|
+
var SendAsField = () => /* @__PURE__ */ React133.createElement(PropKeyProvider, { bind: "send-as" }, /* @__PURE__ */ React133.createElement(Grid34, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(ControlFormLabel, null, __69("Send as", "elementor"))), /* @__PURE__ */ React133.createElement(Grid34, { item: true }, /* @__PURE__ */ React133.createElement(
|
|
10816
10895
|
SelectControl,
|
|
10817
10896
|
{
|
|
10818
10897
|
options: [
|
|
10819
|
-
{ label:
|
|
10820
|
-
{ label:
|
|
10898
|
+
{ label: __69("HTML", "elementor"), value: "html" },
|
|
10899
|
+
{ label: __69("Plain Text", "elementor"), value: "plain" }
|
|
10821
10900
|
]
|
|
10822
10901
|
}
|
|
10823
10902
|
))));
|
|
@@ -10826,27 +10905,27 @@ var SendAsField = () => /* @__PURE__ */ React132.createElement(PropKeyProvider,
|
|
|
10826
10905
|
var EmailFormActionControl = createControl(
|
|
10827
10906
|
({ toPlaceholder, label }) => {
|
|
10828
10907
|
const { value, setValue, ...propContext } = useBoundProp(emailsPropTypeUtil);
|
|
10829
|
-
return /* @__PURE__ */
|
|
10908
|
+
return /* @__PURE__ */ React134.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React134.createElement(Stack26, { gap: 2 }, /* @__PURE__ */ React134.createElement(ControlLabel, null, label ? label + " " + __70("settings", "elementor") : __70("Email settings", "elementor")), /* @__PURE__ */ React134.createElement(SendToField, { placeholder: toPlaceholder }), /* @__PURE__ */ React134.createElement(SubjectField, null), /* @__PURE__ */ React134.createElement(MessageField, null), /* @__PURE__ */ React134.createElement(FromEmailField, null), /* @__PURE__ */ React134.createElement(AdvancedSettings, null)));
|
|
10830
10909
|
}
|
|
10831
10910
|
);
|
|
10832
|
-
var AdvancedSettings = () => /* @__PURE__ */
|
|
10911
|
+
var AdvancedSettings = () => /* @__PURE__ */ React134.createElement(CollapsibleContent, { defaultOpen: false }, /* @__PURE__ */ React134.createElement(Box37, { sx: { pt: 2 } }, /* @__PURE__ */ React134.createElement(Stack26, { gap: 2 }, /* @__PURE__ */ React134.createElement(FromNameField, null), /* @__PURE__ */ React134.createElement(ReplyToField, null), /* @__PURE__ */ React134.createElement(CcField, null), /* @__PURE__ */ React134.createElement(BccField, null), /* @__PURE__ */ React134.createElement(Divider7, null), /* @__PURE__ */ React134.createElement(MetaDataField, null), /* @__PURE__ */ React134.createElement(SendAsField, null))));
|
|
10833
10912
|
|
|
10834
10913
|
// src/controls/attachment-type-control.tsx
|
|
10835
|
-
import * as
|
|
10914
|
+
import * as React135 from "react";
|
|
10836
10915
|
import { InfoAlert as InfoAlert3 } from "@elementor/editor-ui";
|
|
10837
10916
|
import { Grid as Grid35 } from "@elementor/ui";
|
|
10838
|
-
import { __ as
|
|
10917
|
+
import { __ as __71 } from "@wordpress/i18n";
|
|
10839
10918
|
var AttachmentTypeControl = createControl(({ label, options }) => {
|
|
10840
|
-
return /* @__PURE__ */
|
|
10919
|
+
return /* @__PURE__ */ React135.createElement(Grid35, { container: true, direction: "column", gap: 1 }, label && /* @__PURE__ */ React135.createElement(Grid35, { item: true }, /* @__PURE__ */ React135.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React135.createElement(Grid35, { item: true }, /* @__PURE__ */ React135.createElement(SelectControl, { options })), /* @__PURE__ */ React135.createElement(Grid35, { item: true }, /* @__PURE__ */ React135.createElement(InfoAlert3, null, __71(
|
|
10841
10920
|
"Linked uploads are saved to the server. Direct attachments will not appear under Submissions.",
|
|
10842
10921
|
"elementor"
|
|
10843
10922
|
))));
|
|
10844
10923
|
});
|
|
10845
10924
|
|
|
10846
10925
|
// src/controls/grid-span-control.tsx
|
|
10847
|
-
import * as
|
|
10926
|
+
import * as React136 from "react";
|
|
10848
10927
|
import { spanPropTypeUtil } from "@elementor/editor-props";
|
|
10849
|
-
import { TextField as
|
|
10928
|
+
import { TextField as TextField14 } from "@elementor/ui";
|
|
10850
10929
|
var GridSpanControl = createControl(
|
|
10851
10930
|
({
|
|
10852
10931
|
placeholder: propPlaceholder,
|
|
@@ -10863,8 +10942,8 @@ var GridSpanControl = createControl(
|
|
|
10863
10942
|
setValue(next === "" ? null : next);
|
|
10864
10943
|
};
|
|
10865
10944
|
const placeholder = propPlaceholder ?? boundPlaceholder ?? `e.g: 'span 2' or '1 / 3'`;
|
|
10866
|
-
return /* @__PURE__ */
|
|
10867
|
-
|
|
10945
|
+
return /* @__PURE__ */ React136.createElement(ControlActions, null, /* @__PURE__ */ React136.createElement(
|
|
10946
|
+
TextField14,
|
|
10868
10947
|
{
|
|
10869
10948
|
size: "tiny",
|
|
10870
10949
|
fullWidth: true,
|
|
@@ -10884,14 +10963,14 @@ var GridSpanControl = createControl(
|
|
|
10884
10963
|
);
|
|
10885
10964
|
|
|
10886
10965
|
// src/components/promotions/display-conditions-control.tsx
|
|
10887
|
-
import * as
|
|
10888
|
-
import { useRef as
|
|
10966
|
+
import * as React138 from "react";
|
|
10967
|
+
import { useRef as useRef39 } from "react";
|
|
10889
10968
|
import { SitemapIcon } from "@elementor/icons";
|
|
10890
10969
|
import { IconButton as IconButton12, Stack as Stack27, Tooltip as Tooltip15 } from "@elementor/ui";
|
|
10891
|
-
import { __ as
|
|
10970
|
+
import { __ as __72 } from "@wordpress/i18n";
|
|
10892
10971
|
|
|
10893
10972
|
// src/components/promotions/promotion-trigger.tsx
|
|
10894
|
-
import * as
|
|
10973
|
+
import * as React137 from "react";
|
|
10895
10974
|
import { forwardRef as forwardRef14, useCallback as useCallback5, useImperativeHandle, useState as useState30 } from "react";
|
|
10896
10975
|
import { PromotionChip as PromotionChip2, PromotionInfotip } from "@elementor/editor-ui";
|
|
10897
10976
|
import { Box as Box38 } from "@elementor/ui";
|
|
@@ -10911,7 +10990,7 @@ var PromotionTrigger = forwardRef14(
|
|
|
10911
10990
|
});
|
|
10912
10991
|
}, [trackingData]);
|
|
10913
10992
|
useImperativeHandle(ref, () => ({ toggle }), [toggle]);
|
|
10914
|
-
return /* @__PURE__ */
|
|
10993
|
+
return /* @__PURE__ */ React137.createElement(React137.Fragment, null, promotion && /* @__PURE__ */ React137.createElement(
|
|
10915
10994
|
PromotionInfotip,
|
|
10916
10995
|
{
|
|
10917
10996
|
title: promotion.title,
|
|
@@ -10925,7 +11004,7 @@ var PromotionTrigger = forwardRef14(
|
|
|
10925
11004
|
},
|
|
10926
11005
|
onCtaClick: () => trackUpgradePromotionClick(trackingData)
|
|
10927
11006
|
},
|
|
10928
|
-
/* @__PURE__ */
|
|
11007
|
+
/* @__PURE__ */ React137.createElement(
|
|
10929
11008
|
Box38,
|
|
10930
11009
|
{
|
|
10931
11010
|
onClick: (e) => {
|
|
@@ -10934,18 +11013,18 @@ var PromotionTrigger = forwardRef14(
|
|
|
10934
11013
|
},
|
|
10935
11014
|
sx: { cursor: "pointer", display: "inline-flex" }
|
|
10936
11015
|
},
|
|
10937
|
-
children ?? /* @__PURE__ */
|
|
11016
|
+
children ?? /* @__PURE__ */ React137.createElement(PromotionChip2, null)
|
|
10938
11017
|
)
|
|
10939
11018
|
));
|
|
10940
11019
|
}
|
|
10941
11020
|
);
|
|
10942
11021
|
|
|
10943
11022
|
// src/components/promotions/display-conditions-control.tsx
|
|
10944
|
-
var ARIA_LABEL =
|
|
11023
|
+
var ARIA_LABEL = __72("Display Conditions", "elementor");
|
|
10945
11024
|
var TRACKING_DATA2 = { target_name: "display_conditions", location_l2: "general" };
|
|
10946
11025
|
var DisplayConditionsControl = createControl(() => {
|
|
10947
|
-
const triggerRef =
|
|
10948
|
-
return /* @__PURE__ */
|
|
11026
|
+
const triggerRef = useRef39(null);
|
|
11027
|
+
return /* @__PURE__ */ React138.createElement(
|
|
10949
11028
|
Stack27,
|
|
10950
11029
|
{
|
|
10951
11030
|
direction: "row",
|
|
@@ -10955,8 +11034,8 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
10955
11034
|
alignItems: "center"
|
|
10956
11035
|
}
|
|
10957
11036
|
},
|
|
10958
|
-
/* @__PURE__ */
|
|
10959
|
-
/* @__PURE__ */
|
|
11037
|
+
/* @__PURE__ */ React138.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "displayConditions", trackingData: TRACKING_DATA2 }),
|
|
11038
|
+
/* @__PURE__ */ React138.createElement(Tooltip15, { title: ARIA_LABEL, placement: "top" }, /* @__PURE__ */ React138.createElement(
|
|
10960
11039
|
IconButton12,
|
|
10961
11040
|
{
|
|
10962
11041
|
size: "tiny",
|
|
@@ -10969,22 +11048,22 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
10969
11048
|
borderRadius: 1
|
|
10970
11049
|
}
|
|
10971
11050
|
},
|
|
10972
|
-
/* @__PURE__ */
|
|
11051
|
+
/* @__PURE__ */ React138.createElement(SitemapIcon, { fontSize: "tiny", color: "disabled" })
|
|
10973
11052
|
))
|
|
10974
11053
|
);
|
|
10975
11054
|
});
|
|
10976
11055
|
|
|
10977
11056
|
// src/components/promotions/attributes-control.tsx
|
|
10978
|
-
import * as
|
|
10979
|
-
import { useRef as
|
|
11057
|
+
import * as React139 from "react";
|
|
11058
|
+
import { useRef as useRef40 } from "react";
|
|
10980
11059
|
import { PlusIcon as PlusIcon4 } from "@elementor/icons";
|
|
10981
11060
|
import { Stack as Stack28, Tooltip as Tooltip16 } from "@elementor/ui";
|
|
10982
|
-
import { __ as
|
|
10983
|
-
var ARIA_LABEL2 =
|
|
11061
|
+
import { __ as __73 } from "@wordpress/i18n";
|
|
11062
|
+
var ARIA_LABEL2 = __73("Attributes", "elementor");
|
|
10984
11063
|
var TRACKING_DATA3 = { target_name: "attributes", location_l2: "general" };
|
|
10985
11064
|
var AttributesControl = createControl(() => {
|
|
10986
|
-
const triggerRef =
|
|
10987
|
-
return /* @__PURE__ */
|
|
11065
|
+
const triggerRef = useRef40(null);
|
|
11066
|
+
return /* @__PURE__ */ React139.createElement(
|
|
10988
11067
|
Stack28,
|
|
10989
11068
|
{
|
|
10990
11069
|
direction: "row",
|
|
@@ -10994,8 +11073,8 @@ var AttributesControl = createControl(() => {
|
|
|
10994
11073
|
alignItems: "center"
|
|
10995
11074
|
}
|
|
10996
11075
|
},
|
|
10997
|
-
/* @__PURE__ */
|
|
10998
|
-
/* @__PURE__ */
|
|
11076
|
+
/* @__PURE__ */ React139.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "attributes", trackingData: TRACKING_DATA3 }),
|
|
11077
|
+
/* @__PURE__ */ React139.createElement(Tooltip16, { title: ARIA_LABEL2, placement: "top" }, /* @__PURE__ */ React139.createElement(
|
|
10999
11078
|
PlusIcon4,
|
|
11000
11079
|
{
|
|
11001
11080
|
"aria-label": ARIA_LABEL2,
|
|
@@ -11009,17 +11088,17 @@ var AttributesControl = createControl(() => {
|
|
|
11009
11088
|
});
|
|
11010
11089
|
|
|
11011
11090
|
// src/components/icon-buttons/clear-icon-button.tsx
|
|
11012
|
-
import * as
|
|
11091
|
+
import * as React140 from "react";
|
|
11013
11092
|
import { BrushBigIcon } from "@elementor/icons";
|
|
11014
11093
|
import { IconButton as IconButton13, styled as styled14, Tooltip as Tooltip17 } from "@elementor/ui";
|
|
11015
11094
|
var CustomIconButton = styled14(IconButton13)(({ theme }) => ({
|
|
11016
11095
|
width: theme.spacing(2.5),
|
|
11017
11096
|
height: theme.spacing(2.5)
|
|
11018
11097
|
}));
|
|
11019
|
-
var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */
|
|
11098
|
+
var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */ React140.createElement(Tooltip17, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React140.createElement(CustomIconButton, { "aria-label": tooltipText, size, onClick, disabled }, /* @__PURE__ */ React140.createElement(BrushBigIcon, { fontSize: size })));
|
|
11020
11099
|
|
|
11021
11100
|
// src/components/repeater/repeater.tsx
|
|
11022
|
-
import * as
|
|
11101
|
+
import * as React141 from "react";
|
|
11023
11102
|
import { useEffect as useEffect23, useState as useState31 } from "react";
|
|
11024
11103
|
import { CopyIcon as CopyIcon2, EyeIcon as EyeIcon2, EyeOffIcon as EyeOffIcon2, PlusIcon as PlusIcon5, XIcon as XIcon4 } from "@elementor/icons";
|
|
11025
11104
|
import {
|
|
@@ -11031,8 +11110,8 @@ import {
|
|
|
11031
11110
|
Tooltip as Tooltip18,
|
|
11032
11111
|
usePopupState as usePopupState13
|
|
11033
11112
|
} from "@elementor/ui";
|
|
11034
|
-
import { __ as
|
|
11035
|
-
var
|
|
11113
|
+
import { __ as __74 } from "@wordpress/i18n";
|
|
11114
|
+
var SIZE13 = "tiny";
|
|
11036
11115
|
var EMPTY_OPEN_ITEM2 = -1;
|
|
11037
11116
|
var Repeater3 = ({
|
|
11038
11117
|
label,
|
|
@@ -11113,20 +11192,20 @@ var Repeater3 = ({
|
|
|
11113
11192
|
};
|
|
11114
11193
|
const isButtonDisabled = disabled || disableAddItemButton;
|
|
11115
11194
|
const shouldShowInfotip = isButtonDisabled && addButtonInfotipContent;
|
|
11116
|
-
const addButton = /* @__PURE__ */
|
|
11195
|
+
const addButton = /* @__PURE__ */ React141.createElement(
|
|
11117
11196
|
IconButton14,
|
|
11118
11197
|
{
|
|
11119
|
-
size:
|
|
11198
|
+
size: SIZE13,
|
|
11120
11199
|
sx: {
|
|
11121
11200
|
ml: "auto"
|
|
11122
11201
|
},
|
|
11123
11202
|
disabled: isButtonDisabled,
|
|
11124
11203
|
onClick: addRepeaterItem,
|
|
11125
|
-
"aria-label":
|
|
11204
|
+
"aria-label": __74("Add item", "elementor")
|
|
11126
11205
|
},
|
|
11127
|
-
/* @__PURE__ */
|
|
11206
|
+
/* @__PURE__ */ React141.createElement(PlusIcon5, { fontSize: SIZE13 })
|
|
11128
11207
|
);
|
|
11129
|
-
return /* @__PURE__ */
|
|
11208
|
+
return /* @__PURE__ */ React141.createElement(SectionContent, { gap: 2 }, /* @__PURE__ */ React141.createElement(RepeaterHeader, { label, adornment }, shouldShowInfotip ? /* @__PURE__ */ React141.createElement(
|
|
11130
11209
|
Infotip5,
|
|
11131
11210
|
{
|
|
11132
11211
|
placement: "right",
|
|
@@ -11134,20 +11213,20 @@ var Repeater3 = ({
|
|
|
11134
11213
|
color: "secondary",
|
|
11135
11214
|
slotProps: { popper: { sx: { width: 300 } } }
|
|
11136
11215
|
},
|
|
11137
|
-
/* @__PURE__ */
|
|
11138
|
-
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */
|
|
11216
|
+
/* @__PURE__ */ React141.createElement(Box39, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
|
|
11217
|
+
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React141.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
|
|
11139
11218
|
const index = uniqueKeys.indexOf(key);
|
|
11140
11219
|
const value = items2[index];
|
|
11141
11220
|
if (!value) {
|
|
11142
11221
|
return null;
|
|
11143
11222
|
}
|
|
11144
|
-
return /* @__PURE__ */
|
|
11223
|
+
return /* @__PURE__ */ React141.createElement(SortableItem, { id: key, key: `sortable-${key}`, disabled: !isSortable }, /* @__PURE__ */ React141.createElement(
|
|
11145
11224
|
RepeaterItem,
|
|
11146
11225
|
{
|
|
11147
11226
|
disabled,
|
|
11148
11227
|
propDisabled: value?.disabled,
|
|
11149
|
-
label: /* @__PURE__ */
|
|
11150
|
-
startIcon: /* @__PURE__ */
|
|
11228
|
+
label: /* @__PURE__ */ React141.createElement(RepeaterItemLabelSlot, { value }, /* @__PURE__ */ React141.createElement(itemSettings.Label, { value, index })),
|
|
11229
|
+
startIcon: /* @__PURE__ */ React141.createElement(RepeaterItemIconSlot, { value }, /* @__PURE__ */ React141.createElement(itemSettings.Icon, { value })),
|
|
11151
11230
|
removeItem: () => removeRepeaterItem(index),
|
|
11152
11231
|
duplicateItem: () => duplicateRepeaterItem(index),
|
|
11153
11232
|
toggleDisableItem: () => toggleDisableRepeaterItem(index),
|
|
@@ -11161,7 +11240,7 @@ var Repeater3 = ({
|
|
|
11161
11240
|
actions: itemSettings.actions,
|
|
11162
11241
|
value
|
|
11163
11242
|
},
|
|
11164
|
-
(props) => /* @__PURE__ */
|
|
11243
|
+
(props) => /* @__PURE__ */ React141.createElement(
|
|
11165
11244
|
itemSettings.Content,
|
|
11166
11245
|
{
|
|
11167
11246
|
...props,
|
|
@@ -11203,16 +11282,16 @@ var RepeaterItem = ({
|
|
|
11203
11282
|
);
|
|
11204
11283
|
const triggerProps = bindTrigger7(popoverState);
|
|
11205
11284
|
usePopoverDismiss({ isOpen: popoverState.isOpen, onClose: popoverProps.onClose });
|
|
11206
|
-
const duplicateLabel =
|
|
11207
|
-
const toggleLabel = propDisabled ?
|
|
11208
|
-
const removeLabel =
|
|
11209
|
-
return /* @__PURE__ */
|
|
11285
|
+
const duplicateLabel = __74("Duplicate", "elementor");
|
|
11286
|
+
const toggleLabel = propDisabled ? __74("Show", "elementor") : __74("Hide", "elementor");
|
|
11287
|
+
const removeLabel = __74("Remove", "elementor");
|
|
11288
|
+
return /* @__PURE__ */ React141.createElement(Box39, { sx: { display: "contents" } }, /* @__PURE__ */ React141.createElement(
|
|
11210
11289
|
RepeaterTag,
|
|
11211
11290
|
{
|
|
11212
11291
|
disabled,
|
|
11213
11292
|
label,
|
|
11214
11293
|
ref: setRef,
|
|
11215
|
-
"aria-label":
|
|
11294
|
+
"aria-label": __74("Open item", "elementor"),
|
|
11216
11295
|
...triggerProps,
|
|
11217
11296
|
onClick: (e) => {
|
|
11218
11297
|
triggerProps.onClick(e);
|
|
@@ -11221,9 +11300,9 @@ var RepeaterItem = ({
|
|
|
11221
11300
|
}
|
|
11222
11301
|
},
|
|
11223
11302
|
startIcon,
|
|
11224
|
-
actions: /* @__PURE__ */
|
|
11303
|
+
actions: /* @__PURE__ */ React141.createElement(React141.Fragment, null, showDuplicate && /* @__PURE__ */ React141.createElement(Tooltip18, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React141.createElement(IconButton14, { size: SIZE13, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React141.createElement(CopyIcon2, { fontSize: SIZE13 }))), showToggle && /* @__PURE__ */ React141.createElement(Tooltip18, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React141.createElement(IconButton14, { size: SIZE13, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React141.createElement(EyeOffIcon2, { fontSize: SIZE13 }) : /* @__PURE__ */ React141.createElement(EyeIcon2, { fontSize: SIZE13 }))), actions?.(value), showRemove && /* @__PURE__ */ React141.createElement(Tooltip18, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React141.createElement(IconButton14, { size: SIZE13, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React141.createElement(XIcon4, { fontSize: SIZE13 }))))
|
|
11225
11304
|
}
|
|
11226
|
-
), /* @__PURE__ */
|
|
11305
|
+
), /* @__PURE__ */ React141.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React141.createElement(Box39, null, children({ anchorEl: ref }))));
|
|
11227
11306
|
};
|
|
11228
11307
|
var usePopover = (openOnMount, onOpen, onPopoverClose) => {
|
|
11229
11308
|
const [ref, setRef] = useState31(null);
|
|
@@ -11248,7 +11327,7 @@ var usePopover = (openOnMount, onOpen, onPopoverClose) => {
|
|
|
11248
11327
|
};
|
|
11249
11328
|
|
|
11250
11329
|
// src/components/size/unstable-size-field.tsx
|
|
11251
|
-
import * as
|
|
11330
|
+
import * as React144 from "react";
|
|
11252
11331
|
import { InputAdornment as InputAdornment6 } from "@elementor/ui";
|
|
11253
11332
|
|
|
11254
11333
|
// src/hooks/use-size-value.ts
|
|
@@ -11291,7 +11370,7 @@ var differsFromExternal = (newState, externalState) => {
|
|
|
11291
11370
|
};
|
|
11292
11371
|
|
|
11293
11372
|
// src/components/size/unit-select.tsx
|
|
11294
|
-
import * as
|
|
11373
|
+
import * as React142 from "react";
|
|
11295
11374
|
import { useId as useId5 } from "react";
|
|
11296
11375
|
import { MenuListItem as MenuListItem8 } from "@elementor/editor-ui";
|
|
11297
11376
|
import { bindMenu as bindMenu4, bindTrigger as bindTrigger8, Button as Button7, Menu as Menu5, styled as styled15, usePopupState as usePopupState14 } from "@elementor/ui";
|
|
@@ -11309,7 +11388,7 @@ var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
|
|
|
11309
11388
|
onClick(options[index]);
|
|
11310
11389
|
popupState.close();
|
|
11311
11390
|
};
|
|
11312
|
-
return /* @__PURE__ */
|
|
11391
|
+
return /* @__PURE__ */ React142.createElement(React142.Fragment, null, /* @__PURE__ */ React142.createElement(StyledButton3, { isPrimaryColor: showPrimaryColor, size: "small", ...bindTrigger8(popupState) }, value), /* @__PURE__ */ React142.createElement(Menu5, { MenuListProps: { dense: true }, ...bindMenu4(popupState) }, options.map((option, index) => /* @__PURE__ */ React142.createElement(
|
|
11313
11392
|
MenuListItem8,
|
|
11314
11393
|
{
|
|
11315
11394
|
key: option,
|
|
@@ -11338,11 +11417,11 @@ var StyledButton3 = styled15(Button7, {
|
|
|
11338
11417
|
}));
|
|
11339
11418
|
|
|
11340
11419
|
// src/components/size/unstable-size-input.tsx
|
|
11341
|
-
import * as
|
|
11420
|
+
import * as React143 from "react";
|
|
11342
11421
|
import { forwardRef as forwardRef15 } from "react";
|
|
11343
11422
|
var UnstableSizeInput = forwardRef15(
|
|
11344
11423
|
({ type, value, onChange, onKeyDown, onKeyUp, InputProps, onBlur, focused, disabled }, ref) => {
|
|
11345
|
-
return /* @__PURE__ */
|
|
11424
|
+
return /* @__PURE__ */ React143.createElement(
|
|
11346
11425
|
NumberInput,
|
|
11347
11426
|
{
|
|
11348
11427
|
ref,
|
|
@@ -11380,7 +11459,7 @@ var UnstableSizeField = ({
|
|
|
11380
11459
|
const shouldHighlightUnit2 = () => {
|
|
11381
11460
|
return hasValue(size);
|
|
11382
11461
|
};
|
|
11383
|
-
return /* @__PURE__ */
|
|
11462
|
+
return /* @__PURE__ */ React144.createElement(
|
|
11384
11463
|
UnstableSizeInput,
|
|
11385
11464
|
{
|
|
11386
11465
|
type: "number",
|
|
@@ -11389,8 +11468,8 @@ var UnstableSizeField = ({
|
|
|
11389
11468
|
onChange: (event) => setSize(event.target.value),
|
|
11390
11469
|
InputProps: {
|
|
11391
11470
|
...InputProps,
|
|
11392
|
-
startAdornment: startIcon && /* @__PURE__ */
|
|
11393
|
-
endAdornment: /* @__PURE__ */
|
|
11471
|
+
startAdornment: startIcon && /* @__PURE__ */ React144.createElement(InputAdornment6, { position: "start" }, startIcon),
|
|
11472
|
+
endAdornment: /* @__PURE__ */ React144.createElement(InputAdornment6, { position: "end" }, /* @__PURE__ */ React144.createElement(
|
|
11394
11473
|
UnitSelect,
|
|
11395
11474
|
{
|
|
11396
11475
|
options: units2,
|
|
@@ -11408,7 +11487,7 @@ var hasValue = (value) => {
|
|
|
11408
11487
|
};
|
|
11409
11488
|
|
|
11410
11489
|
// src/hooks/use-font-families.ts
|
|
11411
|
-
import { useMemo as
|
|
11490
|
+
import { useMemo as useMemo22 } from "react";
|
|
11412
11491
|
import { getElementorConfig } from "@elementor/editor-v1-adapters";
|
|
11413
11492
|
var getFontControlConfig = () => {
|
|
11414
11493
|
const { controls } = getElementorConfig();
|
|
@@ -11416,7 +11495,7 @@ var getFontControlConfig = () => {
|
|
|
11416
11495
|
};
|
|
11417
11496
|
var useFontFamilies = () => {
|
|
11418
11497
|
const { groups, options } = getFontControlConfig();
|
|
11419
|
-
return
|
|
11498
|
+
return useMemo22(() => {
|
|
11420
11499
|
if (!groups || !options) {
|
|
11421
11500
|
return [];
|
|
11422
11501
|
}
|
|
@@ -11487,6 +11566,7 @@ export {
|
|
|
11487
11566
|
QueryChipsControl,
|
|
11488
11567
|
QueryControl,
|
|
11489
11568
|
QueryFilterRepeaterControl,
|
|
11569
|
+
QuerySelectControl,
|
|
11490
11570
|
RepeatableControl,
|
|
11491
11571
|
Repeater3 as Repeater,
|
|
11492
11572
|
SelectControl,
|