@elementor/editor-controls 4.1.0-832 → 4.1.0-833
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 +11 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +287 -198
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +246 -159
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
- package/src/controls/date-range-control.tsx +2 -2
- package/src/controls/date-string-control.tsx +46 -54
- package/src/controls/time-range-control.tsx +49 -0
- package/src/controls/time-string-control.tsx +62 -0
- package/src/hooks/use-form-field-suggestions.ts +2 -0
- package/src/index.ts +2 -0
- package/src/utils/date-time.ts +41 -0
package/dist/index.mjs
CHANGED
|
@@ -7417,40 +7417,16 @@ import { __ as __53 } from "@wordpress/i18n";
|
|
|
7417
7417
|
|
|
7418
7418
|
// src/controls/date-string-control.tsx
|
|
7419
7419
|
import * as React107 from "react";
|
|
7420
|
-
import * as dayjs2 from "dayjs";
|
|
7421
7420
|
import { dateStringPropTypeUtil } from "@elementor/editor-props";
|
|
7422
7421
|
import { DatePicker as DatePicker2, LocalizationProvider as LocalizationProvider2 } from "@elementor/ui";
|
|
7422
|
+
|
|
7423
|
+
// src/utils/date-time.ts
|
|
7424
|
+
import * as dayjs2 from "dayjs";
|
|
7423
7425
|
var DATE_FORMAT2 = "YYYY-MM-DD";
|
|
7424
|
-
var
|
|
7425
|
-
|
|
7426
|
-
|
|
7427
|
-
|
|
7428
|
-
textField: {
|
|
7429
|
-
size: "tiny",
|
|
7430
|
-
fullWidth: true,
|
|
7431
|
-
error,
|
|
7432
|
-
inputProps: ariaLabel ? { "aria-label": ariaLabel } : void 0
|
|
7433
|
-
},
|
|
7434
|
-
openPickerButton: { size: "tiny" },
|
|
7435
|
-
openPickerIcon: { fontSize: "tiny" }
|
|
7436
|
-
};
|
|
7437
|
-
const handleChange = (newValue, format) => {
|
|
7438
|
-
if (!newValue) {
|
|
7439
|
-
setValue(null);
|
|
7440
|
-
return;
|
|
7441
|
-
}
|
|
7442
|
-
setValue(newValue.format(format));
|
|
7443
|
-
};
|
|
7444
|
-
return /* @__PURE__ */ React107.createElement(LocalizationProvider2, null, /* @__PURE__ */ React107.createElement(ControlActions, null, /* @__PURE__ */ React107.createElement(
|
|
7445
|
-
DatePicker2,
|
|
7446
|
-
{
|
|
7447
|
-
value: parseDateString(value ?? ""),
|
|
7448
|
-
onChange: (newValue) => handleChange(newValue, DATE_FORMAT2),
|
|
7449
|
-
disabled: isDisabled,
|
|
7450
|
-
slotProps
|
|
7451
|
-
}
|
|
7452
|
-
)));
|
|
7453
|
-
});
|
|
7426
|
+
var TIME_FORMAT2 = "HH:mm";
|
|
7427
|
+
function isValidDayjs(value) {
|
|
7428
|
+
return !!value && typeof value.isValid === "function" && value.isValid();
|
|
7429
|
+
}
|
|
7454
7430
|
function parseDateString(raw) {
|
|
7455
7431
|
if (!raw) {
|
|
7456
7432
|
return null;
|
|
@@ -7458,17 +7434,66 @@ function parseDateString(raw) {
|
|
|
7458
7434
|
const parsed = dayjs2.default(raw);
|
|
7459
7435
|
return isValidDayjs(parsed) ? parsed : null;
|
|
7460
7436
|
}
|
|
7461
|
-
function
|
|
7462
|
-
|
|
7437
|
+
function parseTimeString(raw) {
|
|
7438
|
+
if (!raw) {
|
|
7439
|
+
return null;
|
|
7440
|
+
}
|
|
7441
|
+
const [hours, minutes, seconds] = raw.split(":");
|
|
7442
|
+
const h = Number.parseInt(hours ?? "", 10);
|
|
7443
|
+
const m = Number.parseInt(minutes ?? "", 10);
|
|
7444
|
+
const s = Number.parseInt(seconds ?? "0", 10);
|
|
7445
|
+
if (Number.isNaN(h) || Number.isNaN(m)) {
|
|
7446
|
+
return null;
|
|
7447
|
+
}
|
|
7448
|
+
const base = dayjs2.default();
|
|
7449
|
+
return base.hour(h).minute(m).second(Number.isNaN(s) ? 0 : s).millisecond(0);
|
|
7463
7450
|
}
|
|
7464
7451
|
|
|
7452
|
+
// src/controls/date-string-control.tsx
|
|
7453
|
+
var DateStringControl = createControl(
|
|
7454
|
+
({ inputDisabled, ariaLabel, error, coerceInvalidToNull = false }) => {
|
|
7455
|
+
const { value, setValue, disabled } = useBoundProp(dateStringPropTypeUtil);
|
|
7456
|
+
const isDisabled = inputDisabled ?? disabled;
|
|
7457
|
+
const slotProps = {
|
|
7458
|
+
textField: {
|
|
7459
|
+
size: "tiny",
|
|
7460
|
+
fullWidth: true,
|
|
7461
|
+
error,
|
|
7462
|
+
inputProps: ariaLabel ? { "aria-label": ariaLabel } : void 0
|
|
7463
|
+
},
|
|
7464
|
+
openPickerButton: { size: "tiny" },
|
|
7465
|
+
openPickerIcon: { fontSize: "tiny" }
|
|
7466
|
+
};
|
|
7467
|
+
const handleChange = (newValue, format) => {
|
|
7468
|
+
if (!newValue) {
|
|
7469
|
+
setValue(null);
|
|
7470
|
+
return;
|
|
7471
|
+
}
|
|
7472
|
+
if (coerceInvalidToNull && !isValidDayjs(newValue)) {
|
|
7473
|
+
setValue(null);
|
|
7474
|
+
return;
|
|
7475
|
+
}
|
|
7476
|
+
setValue(newValue.format(format));
|
|
7477
|
+
};
|
|
7478
|
+
return /* @__PURE__ */ React107.createElement(LocalizationProvider2, null, /* @__PURE__ */ React107.createElement(ControlActions, null, /* @__PURE__ */ React107.createElement(
|
|
7479
|
+
DatePicker2,
|
|
7480
|
+
{
|
|
7481
|
+
value: parseDateString(value ?? ""),
|
|
7482
|
+
onChange: (newValue) => handleChange(newValue, DATE_FORMAT2),
|
|
7483
|
+
disabled: isDisabled,
|
|
7484
|
+
slotProps
|
|
7485
|
+
}
|
|
7486
|
+
)));
|
|
7487
|
+
}
|
|
7488
|
+
);
|
|
7489
|
+
|
|
7465
7490
|
// src/controls/date-range-control.tsx
|
|
7466
7491
|
var RANGE_LABELS = {
|
|
7467
7492
|
min: __53("Min date", "elementor"),
|
|
7468
7493
|
max: __53("Max date", "elementor")
|
|
7469
7494
|
};
|
|
7470
7495
|
var isMaxBeforeMin = (minIso, maxIso) => {
|
|
7471
|
-
if (!minIso || !maxIso
|
|
7496
|
+
if (!minIso || !maxIso) {
|
|
7472
7497
|
return false;
|
|
7473
7498
|
}
|
|
7474
7499
|
return maxIso < minIso;
|
|
@@ -7500,18 +7525,76 @@ var BoundDateStringControl = ({
|
|
|
7500
7525
|
ariaLabel,
|
|
7501
7526
|
error
|
|
7502
7527
|
}) => {
|
|
7503
|
-
return /* @__PURE__ */ React108.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React108.createElement(DateStringControl, { ariaLabel, error }));
|
|
7528
|
+
return /* @__PURE__ */ React108.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React108.createElement(DateStringControl, { ariaLabel, error, coerceInvalidToNull: true }));
|
|
7504
7529
|
};
|
|
7505
7530
|
|
|
7506
|
-
// src/controls/
|
|
7531
|
+
// src/controls/time-string-control.tsx
|
|
7532
|
+
import * as React109 from "react";
|
|
7533
|
+
import { timeStringPropTypeUtil } from "@elementor/editor-props";
|
|
7534
|
+
import { LocalizationProvider as LocalizationProvider3, TimePicker as TimePicker2 } from "@elementor/ui";
|
|
7535
|
+
var TimeStringControl = createControl(
|
|
7536
|
+
({ inputDisabled, ariaLabel, error, coerceInvalidToNull = false }) => {
|
|
7537
|
+
const { value, setValue, disabled } = useBoundProp(timeStringPropTypeUtil);
|
|
7538
|
+
const isDisabled = inputDisabled ?? disabled;
|
|
7539
|
+
const slotProps = {
|
|
7540
|
+
textField: {
|
|
7541
|
+
size: "tiny",
|
|
7542
|
+
fullWidth: true,
|
|
7543
|
+
error,
|
|
7544
|
+
inputProps: ariaLabel ? { "aria-label": ariaLabel } : void 0
|
|
7545
|
+
},
|
|
7546
|
+
openPickerButton: { size: "tiny" },
|
|
7547
|
+
openPickerIcon: { fontSize: "tiny" }
|
|
7548
|
+
};
|
|
7549
|
+
const handleChange = (newValue, format) => {
|
|
7550
|
+
if (!newValue) {
|
|
7551
|
+
setValue(null);
|
|
7552
|
+
return;
|
|
7553
|
+
}
|
|
7554
|
+
if (coerceInvalidToNull && !isValidDayjs(newValue)) {
|
|
7555
|
+
setValue(null);
|
|
7556
|
+
return;
|
|
7557
|
+
}
|
|
7558
|
+
setValue(newValue.format(format));
|
|
7559
|
+
};
|
|
7560
|
+
return /* @__PURE__ */ React109.createElement(LocalizationProvider3, null, /* @__PURE__ */ React109.createElement(ControlActions, null, /* @__PURE__ */ React109.createElement(
|
|
7561
|
+
TimePicker2,
|
|
7562
|
+
{
|
|
7563
|
+
value: parseTimeString(value ?? ""),
|
|
7564
|
+
onChange: (newValue) => handleChange(newValue, TIME_FORMAT2),
|
|
7565
|
+
disabled: isDisabled,
|
|
7566
|
+
slotProps
|
|
7567
|
+
}
|
|
7568
|
+
)));
|
|
7569
|
+
}
|
|
7570
|
+
);
|
|
7571
|
+
|
|
7572
|
+
// src/controls/time-range-control.tsx
|
|
7507
7573
|
import * as React110 from "react";
|
|
7574
|
+
import { timeRangePropTypeUtil } from "@elementor/editor-props";
|
|
7575
|
+
import { Grid as Grid30, Stack as Stack18 } from "@elementor/ui";
|
|
7576
|
+
import { __ as __54 } from "@wordpress/i18n";
|
|
7577
|
+
var RANGE_LABELS2 = {
|
|
7578
|
+
min: __54("Start time", "elementor"),
|
|
7579
|
+
max: __54("End time", "elementor")
|
|
7580
|
+
};
|
|
7581
|
+
var TimeRangeControl = createControl(() => {
|
|
7582
|
+
const { value, setValue, ...propContext } = useBoundProp(timeRangePropTypeUtil);
|
|
7583
|
+
return /* @__PURE__ */ React110.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React110.createElement(Stack18, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React110.createElement(Grid30, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React110.createElement(Grid30, { item: true, xs: 12 }, /* @__PURE__ */ React110.createElement(ControlFormLabel, null, RANGE_LABELS2.min)), /* @__PURE__ */ React110.createElement(Grid30, { item: true, xs: 12 }, /* @__PURE__ */ React110.createElement(BoundTimeStringControl, { bind: "min", ariaLabel: RANGE_LABELS2.min }))), /* @__PURE__ */ React110.createElement(Grid30, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React110.createElement(Grid30, { item: true, xs: 12 }, /* @__PURE__ */ React110.createElement(ControlFormLabel, null, RANGE_LABELS2.max)), /* @__PURE__ */ React110.createElement(Grid30, { item: true, xs: 12 }, /* @__PURE__ */ React110.createElement(BoundTimeStringControl, { bind: "max", ariaLabel: RANGE_LABELS2.max })))));
|
|
7584
|
+
});
|
|
7585
|
+
var BoundTimeStringControl = ({ bind, ariaLabel }) => {
|
|
7586
|
+
return /* @__PURE__ */ React110.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React110.createElement(TimeStringControl, { ariaLabel, coerceInvalidToNull: true }));
|
|
7587
|
+
};
|
|
7588
|
+
|
|
7589
|
+
// src/controls/inline-editing-control.tsx
|
|
7590
|
+
import * as React112 from "react";
|
|
7508
7591
|
import { useCallback as useCallback4, useEffect as useEffect17, useMemo as useMemo16 } from "react";
|
|
7509
7592
|
import { htmlV3PropTypeUtil, parseHtmlChildren, stringPropTypeUtil as stringPropTypeUtil18 } from "@elementor/editor-props";
|
|
7510
7593
|
import { Box as Box24 } from "@elementor/ui";
|
|
7511
7594
|
import { debounce as debounce4 } from "@elementor/utils";
|
|
7512
7595
|
|
|
7513
7596
|
// src/components/inline-editor.tsx
|
|
7514
|
-
import * as
|
|
7597
|
+
import * as React111 from "react";
|
|
7515
7598
|
import { useEffect as useEffect16, useRef as useRef27 } from "react";
|
|
7516
7599
|
import { Box as Box23 } from "@elementor/ui";
|
|
7517
7600
|
import Bold from "@tiptap/extension-bold";
|
|
@@ -7550,7 +7633,7 @@ function htmlToPlainText(html) {
|
|
|
7550
7633
|
var ITALIC_KEYBOARD_SHORTCUT = "i";
|
|
7551
7634
|
var BOLD_KEYBOARD_SHORTCUT = "b";
|
|
7552
7635
|
var UNDERLINE_KEYBOARD_SHORTCUT = "u";
|
|
7553
|
-
var InlineEditor =
|
|
7636
|
+
var InlineEditor = React111.forwardRef((props, ref) => {
|
|
7554
7637
|
const {
|
|
7555
7638
|
value,
|
|
7556
7639
|
setValue,
|
|
@@ -7661,7 +7744,7 @@ var InlineEditor = React109.forwardRef((props, ref) => {
|
|
|
7661
7744
|
if (mountElement) {
|
|
7662
7745
|
return null;
|
|
7663
7746
|
}
|
|
7664
|
-
return /* @__PURE__ */
|
|
7747
|
+
return /* @__PURE__ */ React111.createElement(Box23, { ref: containerRef, sx, className: wrapperClassName }, /* @__PURE__ */ React111.createElement(EditorContent, { ref, editor }));
|
|
7665
7748
|
});
|
|
7666
7749
|
var useOnUpdate = (callback, dependencies) => {
|
|
7667
7750
|
const hasMounted = useRef27(false);
|
|
@@ -7706,7 +7789,7 @@ var InlineEditingControl = createControl(
|
|
|
7706
7789
|
[setValue, value?.children, debouncedParse]
|
|
7707
7790
|
);
|
|
7708
7791
|
useEffect17(() => () => debouncedParse.cancel(), [debouncedParse]);
|
|
7709
|
-
return /* @__PURE__ */
|
|
7792
|
+
return /* @__PURE__ */ React112.createElement(ControlActions, null, /* @__PURE__ */ React112.createElement(
|
|
7710
7793
|
Box24,
|
|
7711
7794
|
{
|
|
7712
7795
|
sx: {
|
|
@@ -7751,7 +7834,7 @@ var InlineEditingControl = createControl(
|
|
|
7751
7834
|
...attributes,
|
|
7752
7835
|
...props
|
|
7753
7836
|
},
|
|
7754
|
-
/* @__PURE__ */
|
|
7837
|
+
/* @__PURE__ */ React112.createElement(
|
|
7755
7838
|
InlineEditor,
|
|
7756
7839
|
{
|
|
7757
7840
|
value: content,
|
|
@@ -7764,12 +7847,12 @@ var InlineEditingControl = createControl(
|
|
|
7764
7847
|
);
|
|
7765
7848
|
|
|
7766
7849
|
// src/controls/email-form-action-control.tsx
|
|
7767
|
-
import * as
|
|
7850
|
+
import * as React113 from "react";
|
|
7768
7851
|
import { emailPropTypeUtil } from "@elementor/editor-props";
|
|
7769
7852
|
import { CollapsibleContent, InfoAlert as InfoAlert2 } from "@elementor/editor-ui";
|
|
7770
|
-
import { Box as Box25, Divider as Divider5, Grid as
|
|
7853
|
+
import { Box as Box25, Divider as Divider5, Grid as Grid31, Stack as Stack19 } from "@elementor/ui";
|
|
7771
7854
|
import { hasProInstalled as hasProInstalled3, isVersionGreaterOrEqual as isVersionGreaterOrEqual2 } from "@elementor/utils";
|
|
7772
|
-
import { __ as
|
|
7855
|
+
import { __ as __55 } from "@wordpress/i18n";
|
|
7773
7856
|
|
|
7774
7857
|
// src/hooks/use-form-field-suggestions.ts
|
|
7775
7858
|
import { getContainer, getSelectedElements as getSelectedElements3 } from "@elementor/editor-elements";
|
|
@@ -7780,7 +7863,9 @@ var FORM_FIELD_WIDGET_TYPES = [
|
|
|
7780
7863
|
"e-form-textarea",
|
|
7781
7864
|
"e-form-checkbox",
|
|
7782
7865
|
"e-form-radio-button",
|
|
7783
|
-
"e-form-select"
|
|
7866
|
+
"e-form-select",
|
|
7867
|
+
"e-form-date-picker",
|
|
7868
|
+
"e-form-time-picker"
|
|
7784
7869
|
];
|
|
7785
7870
|
function useFormFieldSuggestions(options) {
|
|
7786
7871
|
return useListenTo(
|
|
@@ -7826,14 +7911,14 @@ function useFormFieldSuggestions(options) {
|
|
|
7826
7911
|
}
|
|
7827
7912
|
|
|
7828
7913
|
// src/controls/email-form-action-control.tsx
|
|
7829
|
-
var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */
|
|
7830
|
-
var SendToField = ({ placeholder }) => /* @__PURE__ */
|
|
7831
|
-
var SubjectField = () => /* @__PURE__ */
|
|
7914
|
+
var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */ React113.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React113.createElement(Grid31, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(TextControl, { placeholder }))));
|
|
7915
|
+
var SendToField = ({ placeholder }) => /* @__PURE__ */ React113.createElement(EmailField, { bind: "to", label: __55("Send to", "elementor"), placeholder });
|
|
7916
|
+
var SubjectField = () => /* @__PURE__ */ React113.createElement(
|
|
7832
7917
|
EmailField,
|
|
7833
7918
|
{
|
|
7834
7919
|
bind: "subject",
|
|
7835
|
-
label:
|
|
7836
|
-
placeholder:
|
|
7920
|
+
label: __55("Email subject", "elementor"),
|
|
7921
|
+
placeholder: __55("New form submission", "elementor")
|
|
7837
7922
|
}
|
|
7838
7923
|
);
|
|
7839
7924
|
var MIN_PRO_VERSION_FOR_MENTIONS = "4.1.0";
|
|
@@ -7849,89 +7934,89 @@ var shouldShowMentionsInfo = () => {
|
|
|
7849
7934
|
};
|
|
7850
7935
|
var MessageField = () => {
|
|
7851
7936
|
const suggestions = useFormFieldSuggestions();
|
|
7852
|
-
return /* @__PURE__ */
|
|
7937
|
+
return /* @__PURE__ */ React113.createElement(PropKeyProvider, { bind: "message" }, /* @__PURE__ */ React113.createElement(Grid31, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(ControlFormLabel, null, __55("Message", "elementor"))), /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(MentionTextAreaControl, { suggestions })), /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(InfoAlert2, null, shouldShowMentionsInfo() ? __55(
|
|
7853
7938
|
"[all-fields] shortcode sends all fields. Type @ to insert specific fields and customize your message.",
|
|
7854
7939
|
"elementor"
|
|
7855
|
-
) :
|
|
7940
|
+
) : __55("[all-fields] shortcode sends all fields.", "elementor")))));
|
|
7856
7941
|
};
|
|
7857
|
-
var FromEmailField = () => /* @__PURE__ */
|
|
7942
|
+
var FromEmailField = () => /* @__PURE__ */ React113.createElement(
|
|
7858
7943
|
EmailField,
|
|
7859
7944
|
{
|
|
7860
7945
|
bind: "from",
|
|
7861
|
-
label:
|
|
7862
|
-
placeholder:
|
|
7946
|
+
label: __55("From email", "elementor"),
|
|
7947
|
+
placeholder: __55("What email should appear as the sender?", "elementor")
|
|
7863
7948
|
}
|
|
7864
7949
|
);
|
|
7865
|
-
var FromNameField = () => /* @__PURE__ */
|
|
7950
|
+
var FromNameField = () => /* @__PURE__ */ React113.createElement(
|
|
7866
7951
|
EmailField,
|
|
7867
7952
|
{
|
|
7868
7953
|
bind: "from-name",
|
|
7869
|
-
label:
|
|
7870
|
-
placeholder:
|
|
7954
|
+
label: __55("From name", "elementor"),
|
|
7955
|
+
placeholder: __55("What name should appear as the sender?", "elementor")
|
|
7871
7956
|
}
|
|
7872
7957
|
);
|
|
7873
7958
|
var ReplyToField = () => {
|
|
7874
7959
|
const emailSuggestions = useFormFieldSuggestions({ inputType: "email" });
|
|
7875
|
-
return /* @__PURE__ */
|
|
7960
|
+
return /* @__PURE__ */ React113.createElement(PropKeyProvider, { bind: "reply-to" }, /* @__PURE__ */ React113.createElement(Grid31, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(ControlFormLabel, null, __55("Reply-to", "elementor"))), /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(
|
|
7876
7961
|
MentionTextAreaControl,
|
|
7877
7962
|
{
|
|
7878
7963
|
suggestions: emailSuggestions,
|
|
7879
7964
|
rows: 1,
|
|
7880
7965
|
triggerPosition: "start",
|
|
7881
|
-
placeholder:
|
|
7966
|
+
placeholder: __55("You can type @ to insert an email field", "elementor")
|
|
7882
7967
|
}
|
|
7883
7968
|
))));
|
|
7884
7969
|
};
|
|
7885
|
-
var CcField = () => /* @__PURE__ */
|
|
7886
|
-
var BccField = () => /* @__PURE__ */
|
|
7887
|
-
var MetaDataField = () => /* @__PURE__ */
|
|
7970
|
+
var CcField = () => /* @__PURE__ */ React113.createElement(EmailField, { bind: "cc", label: __55("Cc", "elementor") });
|
|
7971
|
+
var BccField = () => /* @__PURE__ */ React113.createElement(EmailField, { bind: "bcc", label: __55("Bcc", "elementor") });
|
|
7972
|
+
var MetaDataField = () => /* @__PURE__ */ React113.createElement(PropKeyProvider, { bind: "meta-data" }, /* @__PURE__ */ React113.createElement(Stack19, { gap: 0.5 }, /* @__PURE__ */ React113.createElement(ControlFormLabel, null, __55("Metadata", "elementor")), /* @__PURE__ */ React113.createElement(
|
|
7888
7973
|
ChipsControl,
|
|
7889
7974
|
{
|
|
7890
7975
|
options: [
|
|
7891
|
-
{ label:
|
|
7892
|
-
{ label:
|
|
7893
|
-
{ label:
|
|
7894
|
-
{ label:
|
|
7895
|
-
{ label:
|
|
7976
|
+
{ label: __55("Date", "elementor"), value: "date" },
|
|
7977
|
+
{ label: __55("Time", "elementor"), value: "time" },
|
|
7978
|
+
{ label: __55("Page URL", "elementor"), value: "page-url" },
|
|
7979
|
+
{ label: __55("User agent", "elementor"), value: "user-agent" },
|
|
7980
|
+
{ label: __55("Credit", "elementor"), value: "credit" }
|
|
7896
7981
|
]
|
|
7897
7982
|
}
|
|
7898
7983
|
)));
|
|
7899
|
-
var SendAsField = () => /* @__PURE__ */
|
|
7984
|
+
var SendAsField = () => /* @__PURE__ */ React113.createElement(PropKeyProvider, { bind: "send-as" }, /* @__PURE__ */ React113.createElement(Grid31, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(ControlFormLabel, null, __55("Send as", "elementor"))), /* @__PURE__ */ React113.createElement(Grid31, { item: true }, /* @__PURE__ */ React113.createElement(
|
|
7900
7985
|
SelectControl,
|
|
7901
7986
|
{
|
|
7902
7987
|
options: [
|
|
7903
|
-
{ label:
|
|
7904
|
-
{ label:
|
|
7988
|
+
{ label: __55("HTML", "elementor"), value: "html" },
|
|
7989
|
+
{ label: __55("Plain Text", "elementor"), value: "plain" }
|
|
7905
7990
|
]
|
|
7906
7991
|
}
|
|
7907
7992
|
))));
|
|
7908
|
-
var AdvancedSettings = () => /* @__PURE__ */
|
|
7993
|
+
var AdvancedSettings = () => /* @__PURE__ */ React113.createElement(CollapsibleContent, { defaultOpen: false }, /* @__PURE__ */ React113.createElement(Box25, { sx: { pt: 2 } }, /* @__PURE__ */ React113.createElement(Stack19, { gap: 2 }, /* @__PURE__ */ React113.createElement(FromNameField, null), /* @__PURE__ */ React113.createElement(ReplyToField, null), /* @__PURE__ */ React113.createElement(CcField, null), /* @__PURE__ */ React113.createElement(BccField, null), /* @__PURE__ */ React113.createElement(Divider5, null), /* @__PURE__ */ React113.createElement(MetaDataField, null), /* @__PURE__ */ React113.createElement(SendAsField, null))));
|
|
7909
7994
|
var EmailFormActionControl = createControl(({ toPlaceholder }) => {
|
|
7910
7995
|
const { value, setValue, ...propContext } = useBoundProp(emailPropTypeUtil);
|
|
7911
|
-
return /* @__PURE__ */
|
|
7996
|
+
return /* @__PURE__ */ React113.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React113.createElement(Stack19, { gap: 2 }, /* @__PURE__ */ React113.createElement(ControlLabel, null, __55("Email settings", "elementor")), /* @__PURE__ */ React113.createElement(SendToField, { placeholder: toPlaceholder }), /* @__PURE__ */ React113.createElement(SubjectField, null), /* @__PURE__ */ React113.createElement(MessageField, null), /* @__PURE__ */ React113.createElement(FromEmailField, null), /* @__PURE__ */ React113.createElement(AdvancedSettings, null)));
|
|
7912
7997
|
});
|
|
7913
7998
|
|
|
7914
7999
|
// src/controls/attachment-type-control.tsx
|
|
7915
|
-
import * as
|
|
8000
|
+
import * as React114 from "react";
|
|
7916
8001
|
import { InfoAlert as InfoAlert3 } from "@elementor/editor-ui";
|
|
7917
|
-
import { Grid as
|
|
7918
|
-
import { __ as
|
|
8002
|
+
import { Grid as Grid32 } from "@elementor/ui";
|
|
8003
|
+
import { __ as __56 } from "@wordpress/i18n";
|
|
7919
8004
|
var AttachmentTypeControl = createControl(({ label, options }) => {
|
|
7920
|
-
return /* @__PURE__ */
|
|
8005
|
+
return /* @__PURE__ */ React114.createElement(Grid32, { container: true, direction: "column", gap: 1 }, label && /* @__PURE__ */ React114.createElement(Grid32, { item: true }, /* @__PURE__ */ React114.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React114.createElement(Grid32, { item: true }, /* @__PURE__ */ React114.createElement(SelectControl, { options })), /* @__PURE__ */ React114.createElement(Grid32, { item: true }, /* @__PURE__ */ React114.createElement(InfoAlert3, null, __56(
|
|
7921
8006
|
"Linked uploads are saved to the server. Direct attachments will not appear under Submissions.",
|
|
7922
8007
|
"elementor"
|
|
7923
8008
|
))));
|
|
7924
8009
|
});
|
|
7925
8010
|
|
|
7926
8011
|
// src/components/promotions/display-conditions-control.tsx
|
|
7927
|
-
import * as
|
|
8012
|
+
import * as React116 from "react";
|
|
7928
8013
|
import { useRef as useRef28 } from "react";
|
|
7929
8014
|
import { SitemapIcon } from "@elementor/icons";
|
|
7930
|
-
import { IconButton as IconButton8, Stack as
|
|
7931
|
-
import { __ as
|
|
8015
|
+
import { IconButton as IconButton8, Stack as Stack20, Tooltip as Tooltip9 } from "@elementor/ui";
|
|
8016
|
+
import { __ as __57 } from "@wordpress/i18n";
|
|
7932
8017
|
|
|
7933
8018
|
// src/components/promotions/promotion-trigger.tsx
|
|
7934
|
-
import * as
|
|
8019
|
+
import * as React115 from "react";
|
|
7935
8020
|
import { forwardRef as forwardRef12, useCallback as useCallback5, useImperativeHandle, useState as useState19 } from "react";
|
|
7936
8021
|
import { PromotionChip as PromotionChip2, PromotionInfotip } from "@elementor/editor-ui";
|
|
7937
8022
|
import { Box as Box26 } from "@elementor/ui";
|
|
@@ -7951,7 +8036,7 @@ var PromotionTrigger = forwardRef12(
|
|
|
7951
8036
|
});
|
|
7952
8037
|
}, [trackingData]);
|
|
7953
8038
|
useImperativeHandle(ref, () => ({ toggle }), [toggle]);
|
|
7954
|
-
return /* @__PURE__ */
|
|
8039
|
+
return /* @__PURE__ */ React115.createElement(React115.Fragment, null, promotion && /* @__PURE__ */ React115.createElement(
|
|
7955
8040
|
PromotionInfotip,
|
|
7956
8041
|
{
|
|
7957
8042
|
title: promotion.title,
|
|
@@ -7965,7 +8050,7 @@ var PromotionTrigger = forwardRef12(
|
|
|
7965
8050
|
},
|
|
7966
8051
|
onCtaClick: () => trackUpgradePromotionClick(trackingData)
|
|
7967
8052
|
},
|
|
7968
|
-
/* @__PURE__ */
|
|
8053
|
+
/* @__PURE__ */ React115.createElement(
|
|
7969
8054
|
Box26,
|
|
7970
8055
|
{
|
|
7971
8056
|
onClick: (e) => {
|
|
@@ -7974,19 +8059,19 @@ var PromotionTrigger = forwardRef12(
|
|
|
7974
8059
|
},
|
|
7975
8060
|
sx: { cursor: "pointer", display: "inline-flex" }
|
|
7976
8061
|
},
|
|
7977
|
-
children ?? /* @__PURE__ */
|
|
8062
|
+
children ?? /* @__PURE__ */ React115.createElement(PromotionChip2, null)
|
|
7978
8063
|
)
|
|
7979
8064
|
));
|
|
7980
8065
|
}
|
|
7981
8066
|
);
|
|
7982
8067
|
|
|
7983
8068
|
// src/components/promotions/display-conditions-control.tsx
|
|
7984
|
-
var ARIA_LABEL =
|
|
8069
|
+
var ARIA_LABEL = __57("Display Conditions", "elementor");
|
|
7985
8070
|
var TRACKING_DATA = { target_name: "display_conditions", location_l2: "general" };
|
|
7986
8071
|
var DisplayConditionsControl = createControl(() => {
|
|
7987
8072
|
const triggerRef = useRef28(null);
|
|
7988
|
-
return /* @__PURE__ */
|
|
7989
|
-
|
|
8073
|
+
return /* @__PURE__ */ React116.createElement(
|
|
8074
|
+
Stack20,
|
|
7990
8075
|
{
|
|
7991
8076
|
direction: "row",
|
|
7992
8077
|
spacing: 2,
|
|
@@ -7995,8 +8080,8 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
7995
8080
|
alignItems: "center"
|
|
7996
8081
|
}
|
|
7997
8082
|
},
|
|
7998
|
-
/* @__PURE__ */
|
|
7999
|
-
/* @__PURE__ */
|
|
8083
|
+
/* @__PURE__ */ React116.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "displayConditions", trackingData: TRACKING_DATA }),
|
|
8084
|
+
/* @__PURE__ */ React116.createElement(Tooltip9, { title: ARIA_LABEL, placement: "top" }, /* @__PURE__ */ React116.createElement(
|
|
8000
8085
|
IconButton8,
|
|
8001
8086
|
{
|
|
8002
8087
|
size: "tiny",
|
|
@@ -8009,23 +8094,23 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
8009
8094
|
borderRadius: 1
|
|
8010
8095
|
}
|
|
8011
8096
|
},
|
|
8012
|
-
/* @__PURE__ */
|
|
8097
|
+
/* @__PURE__ */ React116.createElement(SitemapIcon, { fontSize: "tiny", color: "disabled" })
|
|
8013
8098
|
))
|
|
8014
8099
|
);
|
|
8015
8100
|
});
|
|
8016
8101
|
|
|
8017
8102
|
// src/components/promotions/attributes-control.tsx
|
|
8018
|
-
import * as
|
|
8103
|
+
import * as React117 from "react";
|
|
8019
8104
|
import { useRef as useRef29 } from "react";
|
|
8020
8105
|
import { PlusIcon as PlusIcon3 } from "@elementor/icons";
|
|
8021
|
-
import { Stack as
|
|
8022
|
-
import { __ as
|
|
8023
|
-
var ARIA_LABEL2 =
|
|
8106
|
+
import { Stack as Stack21, Tooltip as Tooltip10 } from "@elementor/ui";
|
|
8107
|
+
import { __ as __58 } from "@wordpress/i18n";
|
|
8108
|
+
var ARIA_LABEL2 = __58("Attributes", "elementor");
|
|
8024
8109
|
var TRACKING_DATA2 = { target_name: "attributes", location_l2: "general" };
|
|
8025
8110
|
var AttributesControl = createControl(() => {
|
|
8026
8111
|
const triggerRef = useRef29(null);
|
|
8027
|
-
return /* @__PURE__ */
|
|
8028
|
-
|
|
8112
|
+
return /* @__PURE__ */ React117.createElement(
|
|
8113
|
+
Stack21,
|
|
8029
8114
|
{
|
|
8030
8115
|
direction: "row",
|
|
8031
8116
|
spacing: 2,
|
|
@@ -8034,8 +8119,8 @@ var AttributesControl = createControl(() => {
|
|
|
8034
8119
|
alignItems: "center"
|
|
8035
8120
|
}
|
|
8036
8121
|
},
|
|
8037
|
-
/* @__PURE__ */
|
|
8038
|
-
/* @__PURE__ */
|
|
8122
|
+
/* @__PURE__ */ React117.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "attributes", trackingData: TRACKING_DATA2 }),
|
|
8123
|
+
/* @__PURE__ */ React117.createElement(Tooltip10, { title: ARIA_LABEL2, placement: "top" }, /* @__PURE__ */ React117.createElement(
|
|
8039
8124
|
PlusIcon3,
|
|
8040
8125
|
{
|
|
8041
8126
|
"aria-label": ARIA_LABEL2,
|
|
@@ -8049,17 +8134,17 @@ var AttributesControl = createControl(() => {
|
|
|
8049
8134
|
});
|
|
8050
8135
|
|
|
8051
8136
|
// src/components/icon-buttons/clear-icon-button.tsx
|
|
8052
|
-
import * as
|
|
8137
|
+
import * as React118 from "react";
|
|
8053
8138
|
import { BrushBigIcon } from "@elementor/icons";
|
|
8054
8139
|
import { IconButton as IconButton9, styled as styled11, Tooltip as Tooltip11 } from "@elementor/ui";
|
|
8055
8140
|
var CustomIconButton = styled11(IconButton9)(({ theme }) => ({
|
|
8056
8141
|
width: theme.spacing(2.5),
|
|
8057
8142
|
height: theme.spacing(2.5)
|
|
8058
8143
|
}));
|
|
8059
|
-
var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */
|
|
8144
|
+
var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */ React118.createElement(Tooltip11, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React118.createElement(CustomIconButton, { "aria-label": tooltipText, size, onClick, disabled }, /* @__PURE__ */ React118.createElement(BrushBigIcon, { fontSize: size })));
|
|
8060
8145
|
|
|
8061
8146
|
// src/components/repeater/repeater.tsx
|
|
8062
|
-
import * as
|
|
8147
|
+
import * as React119 from "react";
|
|
8063
8148
|
import { useEffect as useEffect18, useState as useState20 } from "react";
|
|
8064
8149
|
import { CopyIcon as CopyIcon2, EyeIcon as EyeIcon2, EyeOffIcon as EyeOffIcon2, PlusIcon as PlusIcon4, XIcon as XIcon4 } from "@elementor/icons";
|
|
8065
8150
|
import {
|
|
@@ -8071,7 +8156,7 @@ import {
|
|
|
8071
8156
|
Tooltip as Tooltip12,
|
|
8072
8157
|
usePopupState as usePopupState10
|
|
8073
8158
|
} from "@elementor/ui";
|
|
8074
|
-
import { __ as
|
|
8159
|
+
import { __ as __59 } from "@wordpress/i18n";
|
|
8075
8160
|
var SIZE11 = "tiny";
|
|
8076
8161
|
var EMPTY_OPEN_ITEM2 = -1;
|
|
8077
8162
|
var Repeater3 = ({
|
|
@@ -8152,7 +8237,7 @@ var Repeater3 = ({
|
|
|
8152
8237
|
};
|
|
8153
8238
|
const isButtonDisabled = disabled || disableAddItemButton;
|
|
8154
8239
|
const shouldShowInfotip = isButtonDisabled && addButtonInfotipContent;
|
|
8155
|
-
const addButton = /* @__PURE__ */
|
|
8240
|
+
const addButton = /* @__PURE__ */ React119.createElement(
|
|
8156
8241
|
IconButton10,
|
|
8157
8242
|
{
|
|
8158
8243
|
size: SIZE11,
|
|
@@ -8161,11 +8246,11 @@ var Repeater3 = ({
|
|
|
8161
8246
|
},
|
|
8162
8247
|
disabled: isButtonDisabled,
|
|
8163
8248
|
onClick: addRepeaterItem,
|
|
8164
|
-
"aria-label":
|
|
8249
|
+
"aria-label": __59("Add item", "elementor")
|
|
8165
8250
|
},
|
|
8166
|
-
/* @__PURE__ */
|
|
8251
|
+
/* @__PURE__ */ React119.createElement(PlusIcon4, { fontSize: SIZE11 })
|
|
8167
8252
|
);
|
|
8168
|
-
return /* @__PURE__ */
|
|
8253
|
+
return /* @__PURE__ */ React119.createElement(SectionContent, { gap: 2 }, /* @__PURE__ */ React119.createElement(RepeaterHeader, { label, adornment: ControlAdornments }, shouldShowInfotip ? /* @__PURE__ */ React119.createElement(
|
|
8169
8254
|
Infotip4,
|
|
8170
8255
|
{
|
|
8171
8256
|
placement: "right",
|
|
@@ -8173,20 +8258,20 @@ var Repeater3 = ({
|
|
|
8173
8258
|
color: "secondary",
|
|
8174
8259
|
slotProps: { popper: { sx: { width: 300 } } }
|
|
8175
8260
|
},
|
|
8176
|
-
/* @__PURE__ */
|
|
8177
|
-
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */
|
|
8261
|
+
/* @__PURE__ */ React119.createElement(Box27, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
|
|
8262
|
+
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React119.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
|
|
8178
8263
|
const index = uniqueKeys.indexOf(key);
|
|
8179
8264
|
const value = items2[index];
|
|
8180
8265
|
if (!value) {
|
|
8181
8266
|
return null;
|
|
8182
8267
|
}
|
|
8183
|
-
return /* @__PURE__ */
|
|
8268
|
+
return /* @__PURE__ */ React119.createElement(SortableItem, { id: key, key: `sortable-${key}`, disabled: !isSortable }, /* @__PURE__ */ React119.createElement(
|
|
8184
8269
|
RepeaterItem,
|
|
8185
8270
|
{
|
|
8186
8271
|
disabled,
|
|
8187
8272
|
propDisabled: value?.disabled,
|
|
8188
|
-
label: /* @__PURE__ */
|
|
8189
|
-
startIcon: /* @__PURE__ */
|
|
8273
|
+
label: /* @__PURE__ */ React119.createElement(RepeaterItemLabelSlot, { value }, /* @__PURE__ */ React119.createElement(itemSettings.Label, { value, index })),
|
|
8274
|
+
startIcon: /* @__PURE__ */ React119.createElement(RepeaterItemIconSlot, { value }, /* @__PURE__ */ React119.createElement(itemSettings.Icon, { value })),
|
|
8190
8275
|
removeItem: () => removeRepeaterItem(index),
|
|
8191
8276
|
duplicateItem: () => duplicateRepeaterItem(index),
|
|
8192
8277
|
toggleDisableItem: () => toggleDisableRepeaterItem(index),
|
|
@@ -8200,7 +8285,7 @@ var Repeater3 = ({
|
|
|
8200
8285
|
actions: itemSettings.actions,
|
|
8201
8286
|
value
|
|
8202
8287
|
},
|
|
8203
|
-
(props) => /* @__PURE__ */
|
|
8288
|
+
(props) => /* @__PURE__ */ React119.createElement(
|
|
8204
8289
|
itemSettings.Content,
|
|
8205
8290
|
{
|
|
8206
8291
|
...props,
|
|
@@ -8242,16 +8327,16 @@ var RepeaterItem = ({
|
|
|
8242
8327
|
);
|
|
8243
8328
|
const triggerProps = bindTrigger7(popoverState);
|
|
8244
8329
|
usePopoverDismiss({ isOpen: popoverState.isOpen, onClose: popoverProps.onClose });
|
|
8245
|
-
const duplicateLabel =
|
|
8246
|
-
const toggleLabel = propDisabled ?
|
|
8247
|
-
const removeLabel =
|
|
8248
|
-
return /* @__PURE__ */
|
|
8330
|
+
const duplicateLabel = __59("Duplicate", "elementor");
|
|
8331
|
+
const toggleLabel = propDisabled ? __59("Show", "elementor") : __59("Hide", "elementor");
|
|
8332
|
+
const removeLabel = __59("Remove", "elementor");
|
|
8333
|
+
return /* @__PURE__ */ React119.createElement(Box27, { sx: { display: "contents" } }, /* @__PURE__ */ React119.createElement(
|
|
8249
8334
|
RepeaterTag,
|
|
8250
8335
|
{
|
|
8251
8336
|
disabled,
|
|
8252
8337
|
label,
|
|
8253
8338
|
ref: setRef,
|
|
8254
|
-
"aria-label":
|
|
8339
|
+
"aria-label": __59("Open item", "elementor"),
|
|
8255
8340
|
...triggerProps,
|
|
8256
8341
|
onClick: (e) => {
|
|
8257
8342
|
triggerProps.onClick(e);
|
|
@@ -8260,9 +8345,9 @@ var RepeaterItem = ({
|
|
|
8260
8345
|
}
|
|
8261
8346
|
},
|
|
8262
8347
|
startIcon,
|
|
8263
|
-
actions: /* @__PURE__ */
|
|
8348
|
+
actions: /* @__PURE__ */ React119.createElement(React119.Fragment, null, showDuplicate && /* @__PURE__ */ React119.createElement(Tooltip12, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React119.createElement(IconButton10, { size: SIZE11, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React119.createElement(CopyIcon2, { fontSize: SIZE11 }))), showToggle && /* @__PURE__ */ React119.createElement(Tooltip12, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React119.createElement(IconButton10, { size: SIZE11, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React119.createElement(EyeOffIcon2, { fontSize: SIZE11 }) : /* @__PURE__ */ React119.createElement(EyeIcon2, { fontSize: SIZE11 }))), actions?.(value), showRemove && /* @__PURE__ */ React119.createElement(Tooltip12, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React119.createElement(IconButton10, { size: SIZE11, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React119.createElement(XIcon4, { fontSize: SIZE11 }))))
|
|
8264
8349
|
}
|
|
8265
|
-
), /* @__PURE__ */
|
|
8350
|
+
), /* @__PURE__ */ React119.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React119.createElement(Box27, null, children({ anchorEl: ref }))));
|
|
8266
8351
|
};
|
|
8267
8352
|
var usePopover = (openOnMount, onOpen, onPopoverClose) => {
|
|
8268
8353
|
const [ref, setRef] = useState20(null);
|
|
@@ -8287,7 +8372,7 @@ var usePopover = (openOnMount, onOpen, onPopoverClose) => {
|
|
|
8287
8372
|
};
|
|
8288
8373
|
|
|
8289
8374
|
// src/components/inline-editor-toolbar.tsx
|
|
8290
|
-
import * as
|
|
8375
|
+
import * as React121 from "react";
|
|
8291
8376
|
import { useEffect as useEffect20, useMemo as useMemo17, useRef as useRef31, useState as useState21 } from "react";
|
|
8292
8377
|
import { getContainer as getContainer2, getElementSetting } from "@elementor/editor-elements";
|
|
8293
8378
|
import {
|
|
@@ -8310,14 +8395,14 @@ import {
|
|
|
8310
8395
|
usePopupState as usePopupState11
|
|
8311
8396
|
} from "@elementor/ui";
|
|
8312
8397
|
import { useEditorState } from "@tiptap/react";
|
|
8313
|
-
import { __ as
|
|
8398
|
+
import { __ as __61 } from "@wordpress/i18n";
|
|
8314
8399
|
|
|
8315
8400
|
// src/components/url-popover.tsx
|
|
8316
|
-
import * as
|
|
8401
|
+
import * as React120 from "react";
|
|
8317
8402
|
import { useEffect as useEffect19, useRef as useRef30 } from "react";
|
|
8318
8403
|
import { ExternalLinkIcon } from "@elementor/icons";
|
|
8319
|
-
import { bindPopover as bindPopover9, Popover as Popover8, Stack as
|
|
8320
|
-
import { __ as
|
|
8404
|
+
import { bindPopover as bindPopover9, Popover as Popover8, Stack as Stack22, TextField as TextField10, ToggleButton as ToggleButton2, Tooltip as Tooltip13 } from "@elementor/ui";
|
|
8405
|
+
import { __ as __60 } from "@wordpress/i18n";
|
|
8321
8406
|
var UrlPopover = ({
|
|
8322
8407
|
popupState,
|
|
8323
8408
|
restoreValue,
|
|
@@ -8337,7 +8422,7 @@ var UrlPopover = ({
|
|
|
8337
8422
|
restoreValue();
|
|
8338
8423
|
popupState.close();
|
|
8339
8424
|
};
|
|
8340
|
-
return /* @__PURE__ */
|
|
8425
|
+
return /* @__PURE__ */ React120.createElement(
|
|
8341
8426
|
Popover8,
|
|
8342
8427
|
{
|
|
8343
8428
|
slotProps: {
|
|
@@ -8348,30 +8433,30 @@ var UrlPopover = ({
|
|
|
8348
8433
|
transformOrigin: { vertical: "top", horizontal: "left" },
|
|
8349
8434
|
onClose: handleClose
|
|
8350
8435
|
},
|
|
8351
|
-
/* @__PURE__ */
|
|
8436
|
+
/* @__PURE__ */ React120.createElement(Stack22, { direction: "row", alignItems: "center", gap: 1, sx: { p: 1.5 } }, /* @__PURE__ */ React120.createElement(
|
|
8352
8437
|
TextField10,
|
|
8353
8438
|
{
|
|
8354
8439
|
value,
|
|
8355
8440
|
onChange,
|
|
8356
8441
|
size: "tiny",
|
|
8357
8442
|
fullWidth: true,
|
|
8358
|
-
placeholder:
|
|
8443
|
+
placeholder: __60("Type a URL", "elementor"),
|
|
8359
8444
|
inputProps: { ref: inputRef },
|
|
8360
8445
|
color: "secondary",
|
|
8361
8446
|
InputProps: { sx: { borderRadius: "8px" } },
|
|
8362
8447
|
onKeyUp: (event) => event.key === "Enter" && handleClose()
|
|
8363
8448
|
}
|
|
8364
|
-
), /* @__PURE__ */
|
|
8449
|
+
), /* @__PURE__ */ React120.createElement(Tooltip13, { title: __60("Open in a new tab", "elementor") }, /* @__PURE__ */ React120.createElement(
|
|
8365
8450
|
ToggleButton2,
|
|
8366
8451
|
{
|
|
8367
8452
|
size: "tiny",
|
|
8368
8453
|
value: "newTab",
|
|
8369
8454
|
selected: openInNewTab,
|
|
8370
8455
|
onClick: onToggleNewTab,
|
|
8371
|
-
"aria-label":
|
|
8456
|
+
"aria-label": __60("Open in a new tab", "elementor"),
|
|
8372
8457
|
sx: { borderRadius: "8px" }
|
|
8373
8458
|
},
|
|
8374
|
-
/* @__PURE__ */
|
|
8459
|
+
/* @__PURE__ */ React120.createElement(ExternalLinkIcon, { fontSize: "tiny" })
|
|
8375
8460
|
)))
|
|
8376
8461
|
);
|
|
8377
8462
|
};
|
|
@@ -8427,7 +8512,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
8427
8512
|
useEffect20(() => {
|
|
8428
8513
|
editor?.commands?.focus();
|
|
8429
8514
|
}, [editor]);
|
|
8430
|
-
return /* @__PURE__ */
|
|
8515
|
+
return /* @__PURE__ */ React121.createElement(
|
|
8431
8516
|
Box28,
|
|
8432
8517
|
{
|
|
8433
8518
|
ref: toolbarRef,
|
|
@@ -8444,8 +8529,8 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
8444
8529
|
...sx
|
|
8445
8530
|
}
|
|
8446
8531
|
},
|
|
8447
|
-
/* @__PURE__ */
|
|
8448
|
-
/* @__PURE__ */
|
|
8532
|
+
/* @__PURE__ */ React121.createElement(Tooltip14, { title: clearButton.label, placement: "top", sx: { borderRadius: "8px" } }, /* @__PURE__ */ React121.createElement(IconButton11, { "aria-label": clearButton.label, onClick: () => clearButton.method(editor), size: "tiny" }, clearButton.icon)),
|
|
8533
|
+
/* @__PURE__ */ React121.createElement(
|
|
8449
8534
|
ToggleButtonGroup2,
|
|
8450
8535
|
{
|
|
8451
8536
|
value: editorState,
|
|
@@ -8467,7 +8552,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
8467
8552
|
}
|
|
8468
8553
|
}
|
|
8469
8554
|
},
|
|
8470
|
-
formatButtonsList.map((button) => /* @__PURE__ */
|
|
8555
|
+
formatButtonsList.map((button) => /* @__PURE__ */ React121.createElement(Tooltip14, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React121.createElement(
|
|
8471
8556
|
ToggleButton3,
|
|
8472
8557
|
{
|
|
8473
8558
|
value: button.action,
|
|
@@ -8485,7 +8570,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
8485
8570
|
button.icon
|
|
8486
8571
|
)))
|
|
8487
8572
|
),
|
|
8488
|
-
/* @__PURE__ */
|
|
8573
|
+
/* @__PURE__ */ React121.createElement(
|
|
8489
8574
|
UrlPopover,
|
|
8490
8575
|
{
|
|
8491
8576
|
popupState: linkPopupState,
|
|
@@ -8508,64 +8593,64 @@ var checkIfElementIsClickable = (elementId) => {
|
|
|
8508
8593
|
};
|
|
8509
8594
|
var toolbarButtons = {
|
|
8510
8595
|
clear: {
|
|
8511
|
-
label:
|
|
8512
|
-
icon: /* @__PURE__ */
|
|
8596
|
+
label: __61("Clear", "elementor"),
|
|
8597
|
+
icon: /* @__PURE__ */ React121.createElement(MinusIcon2, { fontSize: "tiny" }),
|
|
8513
8598
|
action: "clear",
|
|
8514
8599
|
method: (editor) => {
|
|
8515
8600
|
editor.chain().focus().clearNodes().unsetAllMarks().run();
|
|
8516
8601
|
}
|
|
8517
8602
|
},
|
|
8518
8603
|
bold: {
|
|
8519
|
-
label:
|
|
8520
|
-
icon: /* @__PURE__ */
|
|
8604
|
+
label: __61("Bold", "elementor"),
|
|
8605
|
+
icon: /* @__PURE__ */ React121.createElement(BoldIcon, { fontSize: "tiny" }),
|
|
8521
8606
|
action: "bold",
|
|
8522
8607
|
method: (editor) => {
|
|
8523
8608
|
editor.chain().focus().toggleBold().run();
|
|
8524
8609
|
}
|
|
8525
8610
|
},
|
|
8526
8611
|
italic: {
|
|
8527
|
-
label:
|
|
8528
|
-
icon: /* @__PURE__ */
|
|
8612
|
+
label: __61("Italic", "elementor"),
|
|
8613
|
+
icon: /* @__PURE__ */ React121.createElement(ItalicIcon, { fontSize: "tiny" }),
|
|
8529
8614
|
action: "italic",
|
|
8530
8615
|
method: (editor) => {
|
|
8531
8616
|
editor.chain().focus().toggleItalic().run();
|
|
8532
8617
|
}
|
|
8533
8618
|
},
|
|
8534
8619
|
underline: {
|
|
8535
|
-
label:
|
|
8536
|
-
icon: /* @__PURE__ */
|
|
8620
|
+
label: __61("Underline", "elementor"),
|
|
8621
|
+
icon: /* @__PURE__ */ React121.createElement(UnderlineIcon, { fontSize: "tiny" }),
|
|
8537
8622
|
action: "underline",
|
|
8538
8623
|
method: (editor) => {
|
|
8539
8624
|
editor.chain().focus().toggleUnderline().run();
|
|
8540
8625
|
}
|
|
8541
8626
|
},
|
|
8542
8627
|
strike: {
|
|
8543
|
-
label:
|
|
8544
|
-
icon: /* @__PURE__ */
|
|
8628
|
+
label: __61("Strikethrough", "elementor"),
|
|
8629
|
+
icon: /* @__PURE__ */ React121.createElement(StrikethroughIcon, { fontSize: "tiny" }),
|
|
8545
8630
|
action: "strike",
|
|
8546
8631
|
method: (editor) => {
|
|
8547
8632
|
editor.chain().focus().toggleStrike().run();
|
|
8548
8633
|
}
|
|
8549
8634
|
},
|
|
8550
8635
|
superscript: {
|
|
8551
|
-
label:
|
|
8552
|
-
icon: /* @__PURE__ */
|
|
8636
|
+
label: __61("Superscript", "elementor"),
|
|
8637
|
+
icon: /* @__PURE__ */ React121.createElement(SuperscriptIcon, { fontSize: "tiny" }),
|
|
8553
8638
|
action: "superscript",
|
|
8554
8639
|
method: (editor) => {
|
|
8555
8640
|
editor.chain().focus().toggleSuperscript().run();
|
|
8556
8641
|
}
|
|
8557
8642
|
},
|
|
8558
8643
|
subscript: {
|
|
8559
|
-
label:
|
|
8560
|
-
icon: /* @__PURE__ */
|
|
8644
|
+
label: __61("Subscript", "elementor"),
|
|
8645
|
+
icon: /* @__PURE__ */ React121.createElement(SubscriptIcon, { fontSize: "tiny" }),
|
|
8561
8646
|
action: "subscript",
|
|
8562
8647
|
method: (editor) => {
|
|
8563
8648
|
editor.chain().focus().toggleSubscript().run();
|
|
8564
8649
|
}
|
|
8565
8650
|
},
|
|
8566
8651
|
link: {
|
|
8567
|
-
label:
|
|
8568
|
-
icon: /* @__PURE__ */
|
|
8652
|
+
label: __61("Link", "elementor"),
|
|
8653
|
+
icon: /* @__PURE__ */ React121.createElement(LinkIcon3, { fontSize: "tiny" }),
|
|
8569
8654
|
action: "link",
|
|
8570
8655
|
method: null
|
|
8571
8656
|
}
|
|
@@ -8574,7 +8659,7 @@ var { clear: clearButton, ...formatButtons } = toolbarButtons;
|
|
|
8574
8659
|
var possibleFormats = Object.keys(formatButtons);
|
|
8575
8660
|
|
|
8576
8661
|
// src/components/size/unstable-size-field.tsx
|
|
8577
|
-
import * as
|
|
8662
|
+
import * as React124 from "react";
|
|
8578
8663
|
import { InputAdornment as InputAdornment6 } from "@elementor/ui";
|
|
8579
8664
|
|
|
8580
8665
|
// src/hooks/use-size-value.ts
|
|
@@ -8617,7 +8702,7 @@ var differsFromExternal = (newState, externalState) => {
|
|
|
8617
8702
|
};
|
|
8618
8703
|
|
|
8619
8704
|
// src/components/size/unit-select.tsx
|
|
8620
|
-
import * as
|
|
8705
|
+
import * as React122 from "react";
|
|
8621
8706
|
import { useId as useId4 } from "react";
|
|
8622
8707
|
import { MenuListItem as MenuListItem8 } from "@elementor/editor-ui";
|
|
8623
8708
|
import { bindMenu as bindMenu3, bindTrigger as bindTrigger8, Button as Button7, Menu as Menu4, styled as styled12, usePopupState as usePopupState12 } from "@elementor/ui";
|
|
@@ -8635,7 +8720,7 @@ var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
|
|
|
8635
8720
|
onClick(options[index]);
|
|
8636
8721
|
popupState.close();
|
|
8637
8722
|
};
|
|
8638
|
-
return /* @__PURE__ */
|
|
8723
|
+
return /* @__PURE__ */ React122.createElement(React122.Fragment, null, /* @__PURE__ */ React122.createElement(StyledButton3, { isPrimaryColor: showPrimaryColor, size: "small", ...bindTrigger8(popupState) }, value), /* @__PURE__ */ React122.createElement(Menu4, { MenuListProps: { dense: true }, ...bindMenu3(popupState) }, options.map((option, index) => /* @__PURE__ */ React122.createElement(
|
|
8639
8724
|
MenuListItem8,
|
|
8640
8725
|
{
|
|
8641
8726
|
key: option,
|
|
@@ -8664,11 +8749,11 @@ var StyledButton3 = styled12(Button7, {
|
|
|
8664
8749
|
}));
|
|
8665
8750
|
|
|
8666
8751
|
// src/components/size/unstable-size-input.tsx
|
|
8667
|
-
import * as
|
|
8752
|
+
import * as React123 from "react";
|
|
8668
8753
|
import { forwardRef as forwardRef13 } from "react";
|
|
8669
8754
|
var UnstableSizeInput = forwardRef13(
|
|
8670
8755
|
({ type, value, onChange, onKeyDown, onKeyUp, InputProps, onBlur, focused, disabled }, ref) => {
|
|
8671
|
-
return /* @__PURE__ */
|
|
8756
|
+
return /* @__PURE__ */ React123.createElement(
|
|
8672
8757
|
NumberInput,
|
|
8673
8758
|
{
|
|
8674
8759
|
ref,
|
|
@@ -8706,7 +8791,7 @@ var UnstableSizeField = ({
|
|
|
8706
8791
|
const shouldHighlightUnit2 = () => {
|
|
8707
8792
|
return hasValue(size);
|
|
8708
8793
|
};
|
|
8709
|
-
return /* @__PURE__ */
|
|
8794
|
+
return /* @__PURE__ */ React124.createElement(
|
|
8710
8795
|
UnstableSizeInput,
|
|
8711
8796
|
{
|
|
8712
8797
|
type: "number",
|
|
@@ -8715,8 +8800,8 @@ var UnstableSizeField = ({
|
|
|
8715
8800
|
onChange: (event) => setSize(event.target.value),
|
|
8716
8801
|
InputProps: {
|
|
8717
8802
|
...InputProps,
|
|
8718
|
-
startAdornment: startIcon && /* @__PURE__ */
|
|
8719
|
-
endAdornment: /* @__PURE__ */
|
|
8803
|
+
startAdornment: startIcon && /* @__PURE__ */ React124.createElement(InputAdornment6, { position: "start" }, startIcon),
|
|
8804
|
+
endAdornment: /* @__PURE__ */ React124.createElement(InputAdornment6, { position: "end" }, /* @__PURE__ */ React124.createElement(
|
|
8720
8805
|
UnitSelect,
|
|
8721
8806
|
{
|
|
8722
8807
|
options: units2,
|
|
@@ -8819,6 +8904,8 @@ export {
|
|
|
8819
8904
|
SwitchControl,
|
|
8820
8905
|
TextAreaControl,
|
|
8821
8906
|
TextControl,
|
|
8907
|
+
TimeRangeControl,
|
|
8908
|
+
TimeStringControl,
|
|
8822
8909
|
ToggleButtonGroupUi,
|
|
8823
8910
|
ToggleControl,
|
|
8824
8911
|
TransformRepeaterControl,
|