@elementor/editor-editing-panel 1.38.1 → 1.39.0
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/CHANGELOG.md +30 -0
- package/dist/index.js +1036 -754
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1012 -725
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -9
- package/src/components/creatable-autocomplete/autocomplete-option-internal-properties.ts +3 -6
- package/src/components/creatable-autocomplete/creatable-autocomplete.tsx +21 -2
- package/src/components/creatable-autocomplete/types.ts +13 -4
- package/src/components/creatable-autocomplete/use-autocomplete-change.ts +59 -46
- package/src/components/creatable-autocomplete/use-create-option.ts +4 -4
- package/src/components/css-classes/css-class-context.tsx +30 -0
- package/src/components/css-classes/css-class-item.tsx +8 -19
- package/src/components/css-classes/css-class-menu.tsx +78 -78
- package/src/components/css-classes/css-class-selector.tsx +46 -32
- package/src/components/css-classes/use-apply-and-unapply-class.ts +178 -0
- package/src/components/editing-panel-tabs.tsx +7 -1
- package/src/components/settings-tab.tsx +14 -1
- package/src/components/style-indicator.tsx +1 -1
- package/src/components/style-sections/size-section/size-section.tsx +8 -1
- package/src/components/style-sections/typography-section/typography-section.tsx +1 -1
- package/src/components/style-tab.tsx +82 -24
- package/src/controls-registry/controls-registry.tsx +2 -0
- package/src/hooks/use-active-style-def-id.ts +5 -2
- package/src/hooks/use-default-panel-settings.ts +33 -0
- package/src/hooks/use-state-by-element.ts +2 -1
- package/src/sync/experiments-flags.ts +4 -0
- package/src/hooks/use-unapply-class.ts +0 -29
package/dist/index.js
CHANGED
|
@@ -46,16 +46,16 @@ var import_editor_controls = require("@elementor/editor-controls");
|
|
|
46
46
|
var { registerControlReplacement, getControlReplacements } = (0, import_editor_controls.createControlReplacementsRegistry)();
|
|
47
47
|
|
|
48
48
|
// src/components/css-classes/css-class-selector.tsx
|
|
49
|
-
var
|
|
50
|
-
var
|
|
49
|
+
var React8 = __toESM(require("react"));
|
|
50
|
+
var import_react10 = require("react");
|
|
51
51
|
var import_editor_elements2 = require("@elementor/editor-elements");
|
|
52
|
-
var
|
|
52
|
+
var import_editor_props2 = require("@elementor/editor-props");
|
|
53
53
|
var import_editor_styles_repository4 = require("@elementor/editor-styles-repository");
|
|
54
54
|
var import_editor_ui3 = require("@elementor/editor-ui");
|
|
55
55
|
var import_icons2 = require("@elementor/icons");
|
|
56
56
|
var import_locations = require("@elementor/locations");
|
|
57
57
|
var import_ui6 = require("@elementor/ui");
|
|
58
|
-
var
|
|
58
|
+
var import_i18n4 = require("@wordpress/i18n");
|
|
59
59
|
|
|
60
60
|
// src/contexts/classes-prop-context.tsx
|
|
61
61
|
var React = __toESM(require("react"));
|
|
@@ -148,48 +148,63 @@ function addGroupToOptions(options12, pluralEntityName) {
|
|
|
148
148
|
};
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
|
-
function
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
return rest;
|
|
155
|
-
});
|
|
151
|
+
function removeInternalKeys(option) {
|
|
152
|
+
const { _group, _action, ...rest } = option;
|
|
153
|
+
return rest;
|
|
156
154
|
}
|
|
157
155
|
|
|
158
156
|
// src/components/creatable-autocomplete/use-autocomplete-change.ts
|
|
159
157
|
function useAutocompleteChange(params) {
|
|
160
158
|
const { options: options12, onSelect, createOption, setInputValue, closeDropdown } = params;
|
|
161
|
-
|
|
159
|
+
if (!onSelect && !createOption) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const handleChange = async (_, selectedOrInputValue, reason, details) => {
|
|
163
|
+
const changedOption = details?.option;
|
|
164
|
+
if (!changedOption || typeof changedOption === "object" && changedOption.fixed) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
162
167
|
const selectedOptions = selectedOrInputValue.filter((option) => typeof option !== "string");
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
+
switch (reason) {
|
|
169
|
+
case "removeOption":
|
|
170
|
+
const removedOption = changedOption;
|
|
171
|
+
updateSelectedOptions(selectedOptions, "removeOption", removedOption);
|
|
172
|
+
break;
|
|
173
|
+
// User clicked an option. It's either an existing option, or "Create <new option>".
|
|
174
|
+
case "selectOption": {
|
|
175
|
+
const selectedOption = changedOption;
|
|
176
|
+
if (selectedOption._action === "create") {
|
|
177
|
+
const newOption = selectedOption.value;
|
|
178
|
+
return createOption?.(newOption);
|
|
179
|
+
}
|
|
180
|
+
updateSelectedOptions(selectedOptions, "selectOption", selectedOption);
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
// User pressed "Enter" after typing input. The input is either matching existing option or a new option to create.
|
|
184
|
+
case "createOption": {
|
|
185
|
+
const inputValue = changedOption;
|
|
186
|
+
const matchingOption = options12.find(
|
|
187
|
+
(option) => option.label.toLocaleLowerCase() === inputValue.toLocaleLowerCase()
|
|
188
|
+
);
|
|
189
|
+
if (matchingOption) {
|
|
190
|
+
selectedOptions.push(matchingOption);
|
|
191
|
+
updateSelectedOptions(selectedOptions, "selectOption", matchingOption);
|
|
192
|
+
} else {
|
|
193
|
+
return createOption?.(inputValue);
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
168
196
|
}
|
|
169
|
-
return acc;
|
|
170
|
-
}, null);
|
|
171
|
-
const inputValueMatchesExistingOption = newInputValue && options12.find((option) => option.label === newInputValue);
|
|
172
|
-
if (newInputValue && shouldCreateNewOption(reason, selectedOptions, newInputValue, Boolean(inputValueMatchesExistingOption))) {
|
|
173
|
-
return createOption(newInputValue);
|
|
174
|
-
}
|
|
175
|
-
if (reason === "createOption" && inputValueMatchesExistingOption) {
|
|
176
|
-
selectedOptions.push(inputValueMatchesExistingOption);
|
|
177
197
|
}
|
|
178
|
-
updateSelectedOptions(selectedOptions);
|
|
179
198
|
setInputValue("");
|
|
180
199
|
closeDropdown();
|
|
181
200
|
};
|
|
182
201
|
return handleChange;
|
|
183
|
-
function
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
function updateSelectedOptions(selectedOptions) {
|
|
190
|
-
const fixedOptions = options12.filter((option) => !!option.fixed);
|
|
191
|
-
const updatedOptions = [...fixedOptions, ...selectedOptions.filter((option) => !option.fixed)];
|
|
192
|
-
onSelect?.(removeOptionsInternalKeys(updatedOptions));
|
|
202
|
+
function updateSelectedOptions(selectedOptions, reason, changedOption) {
|
|
203
|
+
onSelect?.(
|
|
204
|
+
selectedOptions.map((option) => removeInternalKeys(option)),
|
|
205
|
+
reason,
|
|
206
|
+
removeInternalKeys(changedOption)
|
|
207
|
+
);
|
|
193
208
|
}
|
|
194
209
|
}
|
|
195
210
|
|
|
@@ -242,10 +257,10 @@ var import_react5 = require("react");
|
|
|
242
257
|
function useCreateOption(params) {
|
|
243
258
|
const { onCreate, validate, setInputValue, setError, closeDropdown } = params;
|
|
244
259
|
const [loading, setLoading] = (0, import_react5.useState)(false);
|
|
260
|
+
if (!onCreate) {
|
|
261
|
+
return { createOption: null, loading: false };
|
|
262
|
+
}
|
|
245
263
|
const createOption = async (value) => {
|
|
246
|
-
if (!onCreate) {
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
264
|
setLoading(true);
|
|
250
265
|
if (validate) {
|
|
251
266
|
const { isValid, errorMessage } = validate(value, "create");
|
|
@@ -304,6 +319,7 @@ function CreatableAutocompleteInner({
|
|
|
304
319
|
placeholder,
|
|
305
320
|
onCreate,
|
|
306
321
|
validate,
|
|
322
|
+
renderEmptyState,
|
|
307
323
|
...props
|
|
308
324
|
}, ref) {
|
|
309
325
|
const { inputValue, setInputValue, error, setError, inputHandlers } = useInputState(validate);
|
|
@@ -321,6 +337,7 @@ function CreatableAutocompleteInner({
|
|
|
321
337
|
closeDropdown
|
|
322
338
|
});
|
|
323
339
|
const filterOptions = useFilterOptions({ options: options12, selected, onCreate, entityName });
|
|
340
|
+
const isCreatable = Boolean(onCreate);
|
|
324
341
|
return /* @__PURE__ */ React4.createElement(
|
|
325
342
|
import_ui2.Autocomplete,
|
|
326
343
|
{
|
|
@@ -337,7 +354,8 @@ function CreatableAutocompleteInner({
|
|
|
337
354
|
},
|
|
338
355
|
...props,
|
|
339
356
|
ref,
|
|
340
|
-
freeSolo:
|
|
357
|
+
freeSolo: isCreatable || void 0,
|
|
358
|
+
forcePopupIcon: isCreatable ? false : void 0,
|
|
341
359
|
multiple: true,
|
|
342
360
|
clearOnBlur: true,
|
|
343
361
|
selectOnFocus: true,
|
|
@@ -358,8 +376,8 @@ function CreatableAutocompleteInner({
|
|
|
358
376
|
import_ui2.TextField,
|
|
359
377
|
{
|
|
360
378
|
...params,
|
|
361
|
-
placeholder,
|
|
362
379
|
error: Boolean(error),
|
|
380
|
+
placeholder,
|
|
363
381
|
...inputHandlers,
|
|
364
382
|
sx: (theme) => ({
|
|
365
383
|
".MuiAutocomplete-inputRoot.MuiInputBase-adornedStart": {
|
|
@@ -391,6 +409,19 @@ function CreatableAutocompleteInner({
|
|
|
391
409
|
},
|
|
392
410
|
label
|
|
393
411
|
);
|
|
412
|
+
},
|
|
413
|
+
noOptionsText: renderEmptyState?.({
|
|
414
|
+
searchValue: inputValue,
|
|
415
|
+
onClear: () => {
|
|
416
|
+
setInputValue("");
|
|
417
|
+
closeDropdown();
|
|
418
|
+
}
|
|
419
|
+
}),
|
|
420
|
+
isOptionEqualToValue: (option, value) => {
|
|
421
|
+
if (typeof option === "string") {
|
|
422
|
+
return option === value;
|
|
423
|
+
}
|
|
424
|
+
return option.value === value.value;
|
|
394
425
|
}
|
|
395
426
|
}
|
|
396
427
|
);
|
|
@@ -428,42 +459,35 @@ var StyledGroupItems = (0, import_ui2.styled)("ul")`
|
|
|
428
459
|
`;
|
|
429
460
|
|
|
430
461
|
// src/components/css-classes/css-class-item.tsx
|
|
431
|
-
var
|
|
432
|
-
var
|
|
462
|
+
var React7 = __toESM(require("react"));
|
|
463
|
+
var import_react9 = require("react");
|
|
433
464
|
var import_editor_styles_repository3 = require("@elementor/editor-styles-repository");
|
|
434
465
|
var import_editor_ui2 = require("@elementor/editor-ui");
|
|
435
466
|
var import_icons = require("@elementor/icons");
|
|
436
467
|
var import_ui5 = require("@elementor/ui");
|
|
437
|
-
var
|
|
468
|
+
var import_i18n3 = require("@wordpress/i18n");
|
|
438
469
|
|
|
439
|
-
// src/components/css-classes/css-class-
|
|
470
|
+
// src/components/css-classes/css-class-context.tsx
|
|
440
471
|
var React5 = __toESM(require("react"));
|
|
472
|
+
var import_react7 = require("react");
|
|
473
|
+
var CssClassContext = (0, import_react7.createContext)(null);
|
|
474
|
+
var useCssClass = () => {
|
|
475
|
+
const context = (0, import_react7.useContext)(CssClassContext);
|
|
476
|
+
if (!context) {
|
|
477
|
+
throw new Error("useCssClass must be used within a CssClassProvider");
|
|
478
|
+
}
|
|
479
|
+
return context;
|
|
480
|
+
};
|
|
481
|
+
function CssClassProvider({ children, ...contextValue }) {
|
|
482
|
+
return /* @__PURE__ */ React5.createElement(CssClassContext.Provider, { value: contextValue }, children);
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
// src/components/css-classes/css-class-menu.tsx
|
|
486
|
+
var React6 = __toESM(require("react"));
|
|
441
487
|
var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
|
|
442
488
|
var import_editor_ui = require("@elementor/editor-ui");
|
|
443
489
|
var import_ui4 = require("@elementor/ui");
|
|
444
|
-
var
|
|
445
|
-
|
|
446
|
-
// src/hooks/use-unapply-class.ts
|
|
447
|
-
var import_editor_elements = require("@elementor/editor-elements");
|
|
448
|
-
var useUnapplyClass = (classId) => {
|
|
449
|
-
const { element } = useElement();
|
|
450
|
-
const { setId: setStyleId } = useStyle();
|
|
451
|
-
const classesProp = useClassesProp();
|
|
452
|
-
const classes = (0, import_editor_elements.useElementSetting)(element.id, classesProp);
|
|
453
|
-
const filteredClasses = classes?.value.filter((className) => className !== classId) ?? [];
|
|
454
|
-
return () => {
|
|
455
|
-
(0, import_editor_elements.updateElementSettings)({
|
|
456
|
-
id: element.id,
|
|
457
|
-
props: {
|
|
458
|
-
[classesProp]: {
|
|
459
|
-
$$type: "classes",
|
|
460
|
-
value: filteredClasses
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
});
|
|
464
|
-
setStyleId(null);
|
|
465
|
-
};
|
|
466
|
-
};
|
|
490
|
+
var import_i18n2 = require("@wordpress/i18n");
|
|
467
491
|
|
|
468
492
|
// src/components/style-indicator.tsx
|
|
469
493
|
var import_ui3 = require("@elementor/ui");
|
|
@@ -487,15 +511,157 @@ var StyleIndicator = (0, import_ui3.styled)("div", {
|
|
|
487
511
|
}};
|
|
488
512
|
`;
|
|
489
513
|
|
|
514
|
+
// src/components/css-classes/use-apply-and-unapply-class.ts
|
|
515
|
+
var import_react8 = require("react");
|
|
516
|
+
var import_editor_documents = require("@elementor/editor-documents");
|
|
517
|
+
var import_editor_elements = require("@elementor/editor-elements");
|
|
518
|
+
var import_editor_props = require("@elementor/editor-props");
|
|
519
|
+
var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
|
|
520
|
+
var import_i18n = require("@wordpress/i18n");
|
|
521
|
+
function useApplyClass() {
|
|
522
|
+
const { id: activeId, setId: setActiveId } = useStyle();
|
|
523
|
+
const { element } = useElement();
|
|
524
|
+
const isVersion330Active = (0, import_editor_v1_adapters.isExperimentActive)("e_v_3_30");
|
|
525
|
+
const applyClass = useApply();
|
|
526
|
+
const unapplyClass = useUnapply();
|
|
527
|
+
const undoableApply = (0, import_react8.useMemo)(() => {
|
|
528
|
+
return (0, import_editor_v1_adapters.undoable)(
|
|
529
|
+
{
|
|
530
|
+
do: ({ classId }) => {
|
|
531
|
+
const prevActiveId = activeId;
|
|
532
|
+
applyClass(classId);
|
|
533
|
+
(0, import_editor_documents.setDocumentModifiedStatus)(true);
|
|
534
|
+
return prevActiveId;
|
|
535
|
+
},
|
|
536
|
+
undo: ({ classId }, prevActiveId) => {
|
|
537
|
+
unapplyClass(classId);
|
|
538
|
+
setActiveId(prevActiveId);
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
title: (0, import_editor_elements.getElementLabel)(element.id),
|
|
543
|
+
subtitle: ({ classLabel }) => {
|
|
544
|
+
return (0, import_i18n.__)(`class %s applied`, "elementor").replace("%s", classLabel);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
);
|
|
548
|
+
}, [activeId, applyClass, element.id, unapplyClass, setActiveId]);
|
|
549
|
+
const applyWithoutHistory = (0, import_react8.useCallback)(
|
|
550
|
+
({ classId }) => {
|
|
551
|
+
applyClass(classId);
|
|
552
|
+
},
|
|
553
|
+
[applyClass]
|
|
554
|
+
);
|
|
555
|
+
return isVersion330Active ? undoableApply : applyWithoutHistory;
|
|
556
|
+
}
|
|
557
|
+
function useUnapplyClass() {
|
|
558
|
+
const { id: activeId, setId: setActiveId } = useStyle();
|
|
559
|
+
const { element } = useElement();
|
|
560
|
+
const isVersion330Active = (0, import_editor_v1_adapters.isExperimentActive)("e_v_3_30");
|
|
561
|
+
const applyClass = useApply();
|
|
562
|
+
const unapplyClass = useUnapply();
|
|
563
|
+
const undoableUnapply = (0, import_react8.useMemo)(() => {
|
|
564
|
+
return (0, import_editor_v1_adapters.undoable)(
|
|
565
|
+
{
|
|
566
|
+
do: ({ classId }) => {
|
|
567
|
+
const prevActiveId = activeId;
|
|
568
|
+
unapplyClass(classId);
|
|
569
|
+
(0, import_editor_documents.setDocumentModifiedStatus)(true);
|
|
570
|
+
return prevActiveId;
|
|
571
|
+
},
|
|
572
|
+
undo: ({ classId }, prevActiveId) => {
|
|
573
|
+
applyClass(classId);
|
|
574
|
+
setActiveId(prevActiveId);
|
|
575
|
+
}
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
title: (0, import_editor_elements.getElementLabel)(element.id),
|
|
579
|
+
subtitle: ({ classLabel }) => {
|
|
580
|
+
return (0, import_i18n.__)(`class %s removed`, "elementor").replace("%s", classLabel);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
);
|
|
584
|
+
}, [activeId, applyClass, element.id, unapplyClass, setActiveId]);
|
|
585
|
+
const unapplyWithoutHistory = (0, import_react8.useCallback)(
|
|
586
|
+
({ classId }) => {
|
|
587
|
+
unapplyClass(classId);
|
|
588
|
+
},
|
|
589
|
+
[unapplyClass]
|
|
590
|
+
);
|
|
591
|
+
return isVersion330Active ? undoableUnapply : unapplyWithoutHistory;
|
|
592
|
+
}
|
|
593
|
+
function useApply() {
|
|
594
|
+
const { element } = useElement();
|
|
595
|
+
const { setId: setActiveId } = useStyle();
|
|
596
|
+
const { setClasses, getAppliedClasses } = useSetClasses();
|
|
597
|
+
return (0, import_react8.useCallback)(
|
|
598
|
+
(classIDToApply) => {
|
|
599
|
+
const appliedClasses = getAppliedClasses();
|
|
600
|
+
if (appliedClasses.includes(classIDToApply)) {
|
|
601
|
+
throw new Error(
|
|
602
|
+
`Class ${classIDToApply} is already applied to element ${element.id}, cannot re-apply.`
|
|
603
|
+
);
|
|
604
|
+
}
|
|
605
|
+
const updatedClassesIds = [...appliedClasses, classIDToApply];
|
|
606
|
+
setClasses(updatedClassesIds);
|
|
607
|
+
setActiveId(classIDToApply);
|
|
608
|
+
},
|
|
609
|
+
[element.id, getAppliedClasses, setActiveId, setClasses]
|
|
610
|
+
);
|
|
611
|
+
}
|
|
612
|
+
function useUnapply() {
|
|
613
|
+
const { element } = useElement();
|
|
614
|
+
const { id: activeId, setId: setActiveId } = useStyle();
|
|
615
|
+
const { setClasses, getAppliedClasses } = useSetClasses();
|
|
616
|
+
return (0, import_react8.useCallback)(
|
|
617
|
+
(classIDToUnapply) => {
|
|
618
|
+
const appliedClasses = getAppliedClasses();
|
|
619
|
+
if (!appliedClasses.includes(classIDToUnapply)) {
|
|
620
|
+
throw new Error(
|
|
621
|
+
`Class ${classIDToUnapply} is not applied to element ${element.id}, cannot unapply it.`
|
|
622
|
+
);
|
|
623
|
+
}
|
|
624
|
+
const updatedClassesIds = appliedClasses.filter((id) => id !== classIDToUnapply);
|
|
625
|
+
setClasses(updatedClassesIds);
|
|
626
|
+
if (activeId === classIDToUnapply) {
|
|
627
|
+
setActiveId(updatedClassesIds[0] ?? null);
|
|
628
|
+
}
|
|
629
|
+
},
|
|
630
|
+
[activeId, element.id, getAppliedClasses, setActiveId, setClasses]
|
|
631
|
+
);
|
|
632
|
+
}
|
|
633
|
+
function useSetClasses() {
|
|
634
|
+
const { element } = useElement();
|
|
635
|
+
const currentClassesProp = useClassesProp();
|
|
636
|
+
return (0, import_react8.useMemo)(() => {
|
|
637
|
+
const setClasses = (ids) => {
|
|
638
|
+
(0, import_editor_elements.updateElementSettings)({
|
|
639
|
+
id: element.id,
|
|
640
|
+
props: { [currentClassesProp]: import_editor_props.classesPropTypeUtil.create(ids) },
|
|
641
|
+
withHistory: false
|
|
642
|
+
});
|
|
643
|
+
};
|
|
644
|
+
const getAppliedClasses = () => (0, import_editor_elements.getElementSetting)(element.id, currentClassesProp)?.value || [];
|
|
645
|
+
return {
|
|
646
|
+
setClasses,
|
|
647
|
+
getAppliedClasses
|
|
648
|
+
};
|
|
649
|
+
}, [currentClassesProp, element.id]);
|
|
650
|
+
}
|
|
651
|
+
|
|
490
652
|
// src/components/css-classes/css-class-menu.tsx
|
|
491
|
-
var STATES = [
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
653
|
+
var STATES = [
|
|
654
|
+
{ key: "normal", value: null },
|
|
655
|
+
{ key: "hover", value: "hover" },
|
|
656
|
+
{ key: "focus", value: "focus" },
|
|
657
|
+
{ key: "active", value: "active" }
|
|
658
|
+
];
|
|
659
|
+
function CssClassMenu({ popupState, anchorEl }) {
|
|
660
|
+
const { provider } = useCssClass();
|
|
495
661
|
const handleKeyDown = (e) => {
|
|
496
662
|
e.stopPropagation();
|
|
497
663
|
};
|
|
498
|
-
return /* @__PURE__ */
|
|
664
|
+
return /* @__PURE__ */ React6.createElement(
|
|
499
665
|
import_ui4.Menu,
|
|
500
666
|
{
|
|
501
667
|
MenuListProps: { dense: true, sx: { minWidth: "160px" } },
|
|
@@ -512,60 +678,34 @@ function CssClassMenu({ styleId, provider, popupState, handleRename, anchorEl })
|
|
|
512
678
|
onKeyDown: handleKeyDown,
|
|
513
679
|
disableAutoFocusItem: true
|
|
514
680
|
},
|
|
515
|
-
getMenuItemsByProvider({ provider,
|
|
516
|
-
/* @__PURE__ */
|
|
517
|
-
/* @__PURE__ */ React5.createElement(
|
|
518
|
-
StateMenuItem,
|
|
519
|
-
{
|
|
520
|
-
key: "normal",
|
|
521
|
-
state: null,
|
|
522
|
-
styleId,
|
|
523
|
-
closeMenu: popupState.close,
|
|
524
|
-
isStyled: styledStates.normal,
|
|
525
|
-
indicatorVariant
|
|
526
|
-
}
|
|
527
|
-
),
|
|
681
|
+
getMenuItemsByProvider({ provider, closeMenu: popupState.close }),
|
|
682
|
+
/* @__PURE__ */ React6.createElement(import_ui4.MenuSubheader, { sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1 } }, (0, import_i18n2.__)("States", "elementor")),
|
|
528
683
|
STATES.map((state) => {
|
|
529
|
-
return /* @__PURE__ */
|
|
530
|
-
StateMenuItem,
|
|
531
|
-
{
|
|
532
|
-
key: state,
|
|
533
|
-
state,
|
|
534
|
-
styleId,
|
|
535
|
-
closeMenu: popupState.close,
|
|
536
|
-
isStyled: styledStates[state],
|
|
537
|
-
indicatorVariant
|
|
538
|
-
}
|
|
539
|
-
);
|
|
684
|
+
return /* @__PURE__ */ React6.createElement(StateMenuItem, { key: state.key, state: state.value, closeMenu: popupState.close });
|
|
540
685
|
})
|
|
541
686
|
);
|
|
542
687
|
}
|
|
543
|
-
function
|
|
688
|
+
function useModifiedStates(styleId) {
|
|
544
689
|
const { meta } = useStyle();
|
|
545
690
|
const styleDef = import_editor_styles_repository2.stylesRepository.all().find((style) => style.id === styleId);
|
|
546
691
|
return Object.fromEntries(
|
|
547
692
|
styleDef?.variants.filter((variant) => meta.breakpoint === variant.meta.breakpoint).map((variant) => [variant.meta.state ?? "normal", true]) ?? []
|
|
548
693
|
);
|
|
549
694
|
}
|
|
550
|
-
function getMenuItemsByProvider({
|
|
551
|
-
provider
|
|
552
|
-
styleId,
|
|
553
|
-
handleRename,
|
|
554
|
-
closeMenu
|
|
555
|
-
}) {
|
|
556
|
-
if (!styleId || !provider) {
|
|
695
|
+
function getMenuItemsByProvider({ provider, closeMenu }) {
|
|
696
|
+
if (!provider) {
|
|
557
697
|
return [];
|
|
558
698
|
}
|
|
559
699
|
const providerInstance = import_editor_styles_repository2.stylesRepository.getProviderByKey(provider);
|
|
560
700
|
const providerActions = providerInstance?.actions;
|
|
561
701
|
const [canUpdate, canDelete] = [providerActions?.update, providerActions?.delete];
|
|
562
702
|
const actions = [
|
|
563
|
-
canUpdate && /* @__PURE__ */
|
|
564
|
-
canDelete && /* @__PURE__ */
|
|
703
|
+
canUpdate && /* @__PURE__ */ React6.createElement(RenameClassMenuItem, { key: "rename-class", closeMenu }),
|
|
704
|
+
canDelete && /* @__PURE__ */ React6.createElement(UnapplyClassMenuItem, { key: "unapply-class", closeMenu })
|
|
565
705
|
].filter(Boolean);
|
|
566
706
|
if (actions.length) {
|
|
567
707
|
actions.unshift(
|
|
568
|
-
/* @__PURE__ */
|
|
708
|
+
/* @__PURE__ */ React6.createElement(
|
|
569
709
|
import_ui4.MenuSubheader,
|
|
570
710
|
{
|
|
571
711
|
key: "provider-label",
|
|
@@ -574,27 +714,28 @@ function getMenuItemsByProvider({
|
|
|
574
714
|
providerInstance?.labels?.singular
|
|
575
715
|
)
|
|
576
716
|
);
|
|
577
|
-
actions.push(/* @__PURE__ */
|
|
717
|
+
actions.push(/* @__PURE__ */ React6.createElement(import_ui4.Divider, { key: "provider-actions-divider" }));
|
|
578
718
|
}
|
|
579
719
|
return actions;
|
|
580
720
|
}
|
|
581
|
-
function StateMenuItem({
|
|
582
|
-
|
|
583
|
-
styleId,
|
|
584
|
-
closeMenu,
|
|
585
|
-
isStyled = false,
|
|
586
|
-
indicatorVariant,
|
|
587
|
-
...props
|
|
588
|
-
}) {
|
|
721
|
+
function StateMenuItem({ state, closeMenu, ...props }) {
|
|
722
|
+
const { id: styleId, provider } = useCssClass();
|
|
589
723
|
const { id: activeId, setId: setActiveId, setMetaState: setActiveMetaState, meta } = useStyle();
|
|
590
724
|
const { state: activeState } = meta;
|
|
725
|
+
const { userCan } = (0, import_editor_styles_repository2.useUserStylesCapability)();
|
|
726
|
+
const modifiedStates = useModifiedStates(styleId);
|
|
727
|
+
const isUpdateAllowed = userCan(provider ?? "").updateProps;
|
|
728
|
+
const indicatorVariant = !provider || (0, import_editor_styles_repository2.isElementsStylesProvider)(provider) ? "local" : "global";
|
|
729
|
+
const isStyled = modifiedStates[state ?? "normal"] ?? false;
|
|
730
|
+
const disabled = isUpdateAllowed ? false : !isStyled;
|
|
591
731
|
const isActive = styleId === activeId;
|
|
592
732
|
const isSelected = state === activeState && isActive;
|
|
593
|
-
return /* @__PURE__ */
|
|
733
|
+
return /* @__PURE__ */ React6.createElement(
|
|
594
734
|
import_editor_ui.MenuListItem,
|
|
595
735
|
{
|
|
596
736
|
...props,
|
|
597
737
|
selected: isSelected,
|
|
738
|
+
disabled,
|
|
598
739
|
sx: { textTransform: "capitalize" },
|
|
599
740
|
onClick: () => {
|
|
600
741
|
if (!isActive) {
|
|
@@ -604,58 +745,69 @@ function StateMenuItem({
|
|
|
604
745
|
closeMenu();
|
|
605
746
|
}
|
|
606
747
|
},
|
|
607
|
-
/* @__PURE__ */
|
|
748
|
+
/* @__PURE__ */ React6.createElement(
|
|
749
|
+
import_editor_ui.MenuItemInfotip,
|
|
750
|
+
{
|
|
751
|
+
showInfoTip: disabled,
|
|
752
|
+
content: (0, import_i18n2.__)("With your role as an editor, you can only use existing states.", "elementor")
|
|
753
|
+
},
|
|
754
|
+
/* @__PURE__ */ React6.createElement(import_ui4.Stack, { gap: 0.75, direction: "row", alignItems: "center" }, isStyled && /* @__PURE__ */ React6.createElement(StyleIndicator, { "aria-label": (0, import_i18n2.__)("Has style", "elementor"), variant: indicatorVariant }), state ?? "normal")
|
|
755
|
+
)
|
|
608
756
|
);
|
|
609
757
|
}
|
|
610
|
-
function UnapplyClassMenuItem({
|
|
611
|
-
const
|
|
612
|
-
|
|
758
|
+
function UnapplyClassMenuItem({ closeMenu, ...props }) {
|
|
759
|
+
const { id: classId, label: classLabel } = useCssClass();
|
|
760
|
+
const unapplyClass = useUnapplyClass();
|
|
761
|
+
return classId ? /* @__PURE__ */ React6.createElement(
|
|
613
762
|
import_editor_ui.MenuListItem,
|
|
614
763
|
{
|
|
615
764
|
...props,
|
|
616
765
|
onClick: () => {
|
|
617
|
-
unapplyClass();
|
|
766
|
+
unapplyClass({ classId, classLabel });
|
|
618
767
|
closeMenu();
|
|
619
768
|
}
|
|
620
769
|
},
|
|
621
|
-
(0,
|
|
622
|
-
);
|
|
770
|
+
(0, import_i18n2.__)("Remove", "elementor")
|
|
771
|
+
) : null;
|
|
623
772
|
}
|
|
624
|
-
function RenameClassMenuItem({
|
|
625
|
-
handleRename,
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
773
|
+
function RenameClassMenuItem({ closeMenu }) {
|
|
774
|
+
const { handleRename, provider } = useCssClass();
|
|
775
|
+
const { userCan } = (0, import_editor_styles_repository2.useUserStylesCapability)();
|
|
776
|
+
if (!provider) {
|
|
777
|
+
return null;
|
|
778
|
+
}
|
|
779
|
+
const isAllowed = userCan(provider).update;
|
|
780
|
+
return /* @__PURE__ */ React6.createElement(
|
|
630
781
|
import_editor_ui.MenuListItem,
|
|
631
782
|
{
|
|
632
|
-
|
|
783
|
+
disabled: !isAllowed,
|
|
633
784
|
onClick: () => {
|
|
634
785
|
closeMenu();
|
|
635
786
|
handleRename();
|
|
636
787
|
}
|
|
637
788
|
},
|
|
638
|
-
|
|
789
|
+
/* @__PURE__ */ React6.createElement(
|
|
790
|
+
import_editor_ui.MenuItemInfotip,
|
|
791
|
+
{
|
|
792
|
+
showInfoTip: !isAllowed,
|
|
793
|
+
content: (0, import_i18n2.__)(
|
|
794
|
+
"With your role as an editor, you can use existing classes but can\u2019t modify them.",
|
|
795
|
+
"elementor"
|
|
796
|
+
)
|
|
797
|
+
},
|
|
798
|
+
(0, import_i18n2.__)("Rename", "elementor")
|
|
799
|
+
)
|
|
639
800
|
);
|
|
640
801
|
}
|
|
641
802
|
|
|
642
803
|
// src/components/css-classes/css-class-item.tsx
|
|
643
804
|
var CHIP_SIZE = "tiny";
|
|
644
|
-
function CssClassItem({
|
|
645
|
-
|
|
646
|
-
provider,
|
|
647
|
-
label,
|
|
648
|
-
isActive,
|
|
649
|
-
color: colorProp,
|
|
650
|
-
icon,
|
|
651
|
-
chipProps,
|
|
652
|
-
onClickActive,
|
|
653
|
-
renameLabel,
|
|
654
|
-
setError
|
|
655
|
-
}) {
|
|
805
|
+
function CssClassItem(props) {
|
|
806
|
+
const { chipProps, icon, color: colorProp, ...classProps } = props;
|
|
807
|
+
const { id, provider, label, isActive, onClickActive, renameLabel, setError } = classProps;
|
|
656
808
|
const { meta, setMetaState } = useStyle();
|
|
657
809
|
const popupState = (0, import_ui5.usePopupState)({ variant: "popover" });
|
|
658
|
-
const [chipRef, setChipRef] = (0,
|
|
810
|
+
const [chipRef, setChipRef] = (0, import_react9.useState)(null);
|
|
659
811
|
const { onDelete, ...chipGroupProps } = chipProps;
|
|
660
812
|
const {
|
|
661
813
|
ref,
|
|
@@ -673,7 +825,7 @@ function CssClassItem({
|
|
|
673
825
|
const providerActions = provider ? import_editor_styles_repository3.stylesRepository.getProviderByKey(provider)?.actions : null;
|
|
674
826
|
const allowRename = Boolean(providerActions?.update);
|
|
675
827
|
const isShowingState = isActive && meta.state;
|
|
676
|
-
return /* @__PURE__ */
|
|
828
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement(
|
|
677
829
|
import_ui5.UnstableChipGroup,
|
|
678
830
|
{
|
|
679
831
|
ref: setChipRef,
|
|
@@ -684,11 +836,11 @@ function CssClassItem({
|
|
|
684
836
|
"&.MuiChipGroup-root.MuiAutocomplete-tag": { margin: theme.spacing(0.125) }
|
|
685
837
|
})
|
|
686
838
|
},
|
|
687
|
-
/* @__PURE__ */
|
|
839
|
+
/* @__PURE__ */ React7.createElement(
|
|
688
840
|
import_ui5.Chip,
|
|
689
841
|
{
|
|
690
842
|
size: CHIP_SIZE,
|
|
691
|
-
label: isEditing ? /* @__PURE__ */
|
|
843
|
+
label: isEditing ? /* @__PURE__ */ React7.createElement(import_editor_ui2.EditableField, { ref, ...getEditableProps() }) : /* @__PURE__ */ React7.createElement(import_editor_ui2.EllipsisWithTooltip, { maxWidth: "10ch", title: label, as: "div" }),
|
|
692
844
|
variant: isActive && !meta.state && !isEditing ? "filled" : "standard",
|
|
693
845
|
shape: "rounded",
|
|
694
846
|
icon,
|
|
@@ -715,17 +867,17 @@ function CssClassItem({
|
|
|
715
867
|
})
|
|
716
868
|
}
|
|
717
869
|
),
|
|
718
|
-
!isEditing && /* @__PURE__ */
|
|
870
|
+
!isEditing && /* @__PURE__ */ React7.createElement(
|
|
719
871
|
import_ui5.Chip,
|
|
720
872
|
{
|
|
721
|
-
icon: isShowingState ? void 0 : /* @__PURE__ */
|
|
873
|
+
icon: isShowingState ? void 0 : /* @__PURE__ */ React7.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" }),
|
|
722
874
|
size: CHIP_SIZE,
|
|
723
|
-
label: isShowingState ? /* @__PURE__ */
|
|
875
|
+
label: isShowingState ? /* @__PURE__ */ React7.createElement(import_ui5.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, /* @__PURE__ */ React7.createElement(import_ui5.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React7.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" })) : void 0,
|
|
724
876
|
variant: "filled",
|
|
725
877
|
shape: "rounded",
|
|
726
878
|
color,
|
|
727
879
|
...(0, import_ui5.bindTrigger)(popupState),
|
|
728
|
-
"aria-label": (0,
|
|
880
|
+
"aria-label": (0, import_i18n3.__)("Open CSS Class Menu", "elementor"),
|
|
729
881
|
sx: (theme) => ({
|
|
730
882
|
borderRadius: `${theme.shape.borderRadius * 0.75}px`,
|
|
731
883
|
paddingRight: 0,
|
|
@@ -734,16 +886,7 @@ function CssClassItem({
|
|
|
734
886
|
})
|
|
735
887
|
}
|
|
736
888
|
)
|
|
737
|
-
), /* @__PURE__ */
|
|
738
|
-
CssClassMenu,
|
|
739
|
-
{
|
|
740
|
-
styleId: id,
|
|
741
|
-
popupState,
|
|
742
|
-
provider,
|
|
743
|
-
handleRename: openEditMode,
|
|
744
|
-
anchorEl: chipRef
|
|
745
|
-
}
|
|
746
|
-
));
|
|
889
|
+
), /* @__PURE__ */ React7.createElement(CssClassProvider, { ...classProps, handleRename: openEditMode }, /* @__PURE__ */ React7.createElement(CssClassMenu, { popupState, anchorEl: chipRef })));
|
|
747
890
|
}
|
|
748
891
|
var validateLabel = (newLabel) => {
|
|
749
892
|
const result = (0, import_editor_styles_repository3.validateStyleLabel)(newLabel, "rename");
|
|
@@ -757,26 +900,26 @@ var validateLabel = (newLabel) => {
|
|
|
757
900
|
var ID = "elementor-css-class-selector";
|
|
758
901
|
var TAGS_LIMIT = 50;
|
|
759
902
|
var EMPTY_OPTION = {
|
|
760
|
-
label: (0,
|
|
903
|
+
label: (0, import_i18n4.__)("local", "elementor"),
|
|
761
904
|
value: null,
|
|
762
905
|
fixed: true,
|
|
763
906
|
color: "accent",
|
|
764
|
-
icon: /* @__PURE__ */
|
|
907
|
+
icon: /* @__PURE__ */ React8.createElement(import_icons2.MapPinIcon, null),
|
|
765
908
|
provider: null
|
|
766
909
|
};
|
|
767
910
|
var { Slot: ClassSelectorActionsSlot, inject: injectIntoClassSelectorActions } = (0, import_locations.createLocation)();
|
|
768
911
|
function CssClassSelector() {
|
|
769
912
|
const options12 = useOptions();
|
|
770
|
-
const { value: appliedIds,
|
|
913
|
+
const { value: appliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
|
|
771
914
|
const { id: activeId, setId: setActiveId } = useStyle();
|
|
772
|
-
const autocompleteRef = (0,
|
|
773
|
-
const [renameError, setRenameError] = (0,
|
|
774
|
-
const
|
|
915
|
+
const autocompleteRef = (0, import_react10.useRef)(null);
|
|
916
|
+
const [renameError, setRenameError] = (0, import_react10.useState)(null);
|
|
917
|
+
const handleSelect = useHandleSelect();
|
|
775
918
|
const { create, validate, entityName } = useCreateAction({ pushAppliedId, setActiveId });
|
|
776
919
|
const applied = useAppliedOptions(options12, appliedIds);
|
|
777
920
|
const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
|
|
778
921
|
const showPlaceholder = applied.every(({ fixed }) => fixed);
|
|
779
|
-
return /* @__PURE__ */
|
|
922
|
+
return /* @__PURE__ */ React8.createElement(import_ui6.Stack, { p: 2 }, /* @__PURE__ */ React8.createElement(import_ui6.Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React8.createElement(import_ui6.FormLabel, { htmlFor: ID, size: "small" }, (0, import_i18n4.__)("Classes", "elementor")), /* @__PURE__ */ React8.createElement(import_ui6.Stack, { direction: "row", gap: 1 }, /* @__PURE__ */ React8.createElement(ClassSelectorActionsSlot, null))), /* @__PURE__ */ React8.createElement(
|
|
780
923
|
import_editor_ui3.WarningInfotip,
|
|
781
924
|
{
|
|
782
925
|
open: Boolean(renameError),
|
|
@@ -785,21 +928,22 @@ function CssClassSelector() {
|
|
|
785
928
|
width: autocompleteRef.current?.getBoundingClientRect().width,
|
|
786
929
|
offset: [0, -15]
|
|
787
930
|
},
|
|
788
|
-
/* @__PURE__ */
|
|
931
|
+
/* @__PURE__ */ React8.createElement(
|
|
789
932
|
CreatableAutocomplete,
|
|
790
933
|
{
|
|
791
934
|
id: ID,
|
|
792
935
|
ref: autocompleteRef,
|
|
793
936
|
size: "tiny",
|
|
794
|
-
placeholder: showPlaceholder ? (0,
|
|
937
|
+
placeholder: showPlaceholder ? (0, import_i18n4.__)("Type class name", "elementor") : void 0,
|
|
795
938
|
options: options12,
|
|
796
939
|
selected: applied,
|
|
797
940
|
entityName,
|
|
798
|
-
onSelect:
|
|
941
|
+
onSelect: handleSelect,
|
|
799
942
|
onCreate: create ?? void 0,
|
|
800
943
|
validate: validate ?? void 0,
|
|
801
944
|
limitTags: TAGS_LIMIT,
|
|
802
|
-
|
|
945
|
+
renderEmptyState: EmptyState,
|
|
946
|
+
getLimitTagsText: (more) => /* @__PURE__ */ React8.createElement(import_ui6.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
|
|
803
947
|
renderTags: (values, getTagProps) => values.map((value, index) => {
|
|
804
948
|
const chipProps = getTagProps({ index });
|
|
805
949
|
const isActive = value.value === active?.value;
|
|
@@ -809,7 +953,7 @@ function CssClassSelector() {
|
|
|
809
953
|
}
|
|
810
954
|
return updateClassByProvider(value.provider, { label: newLabel, id: value.value });
|
|
811
955
|
};
|
|
812
|
-
return /* @__PURE__ */
|
|
956
|
+
return /* @__PURE__ */ React8.createElement(
|
|
813
957
|
CssClassItem,
|
|
814
958
|
{
|
|
815
959
|
key: chipProps.key,
|
|
@@ -830,6 +974,20 @@ function CssClassSelector() {
|
|
|
830
974
|
)
|
|
831
975
|
));
|
|
832
976
|
}
|
|
977
|
+
var EmptyState = ({ searchValue, onClear }) => /* @__PURE__ */ React8.createElement(import_ui6.Box, { sx: { py: 4 } }, /* @__PURE__ */ React8.createElement(
|
|
978
|
+
import_ui6.Stack,
|
|
979
|
+
{
|
|
980
|
+
gap: 1,
|
|
981
|
+
alignItems: "center",
|
|
982
|
+
color: "text.secondary",
|
|
983
|
+
justifyContent: "center",
|
|
984
|
+
sx: { px: 2, m: "auto", maxWidth: "236px" }
|
|
985
|
+
},
|
|
986
|
+
/* @__PURE__ */ React8.createElement(import_icons2.ColorSwatchIcon, { sx: { transform: "rotate(90deg)" }, fontSize: "large" }),
|
|
987
|
+
/* @__PURE__ */ React8.createElement(import_ui6.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n4.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React8.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
988
|
+
/* @__PURE__ */ React8.createElement(import_ui6.Typography, { align: "center", variant: "caption", sx: { mb: 2 } }, (0, import_i18n4.__)("With your role as an editor,", "elementor"), /* @__PURE__ */ React8.createElement("br", null), (0, import_i18n4.__)("you can only use existing classes.", "elementor")),
|
|
989
|
+
/* @__PURE__ */ React8.createElement(import_ui6.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n4.__)("Clear & try again", "elementor"))
|
|
990
|
+
));
|
|
833
991
|
var updateClassByProvider = (provider, data) => {
|
|
834
992
|
if (!provider) {
|
|
835
993
|
return;
|
|
@@ -855,7 +1013,7 @@ function useOptions() {
|
|
|
855
1013
|
value: styleDef.id,
|
|
856
1014
|
fixed: isElements,
|
|
857
1015
|
color: isElements ? "accent" : "global",
|
|
858
|
-
icon: isElements ? /* @__PURE__ */
|
|
1016
|
+
icon: isElements ? /* @__PURE__ */ React8.createElement(import_icons2.MapPinIcon, null) : null,
|
|
859
1017
|
provider: provider.getKey()
|
|
860
1018
|
};
|
|
861
1019
|
});
|
|
@@ -878,7 +1036,7 @@ function useCreateAction({
|
|
|
878
1036
|
if (hasReachedLimit(provider)) {
|
|
879
1037
|
return {
|
|
880
1038
|
isValid: false,
|
|
881
|
-
errorMessage: (0,
|
|
1039
|
+
errorMessage: (0, import_i18n4.__)(
|
|
882
1040
|
"You\u2019ve reached the limit of 50 classes. Please remove an existing one to create a new class.",
|
|
883
1041
|
"elementor"
|
|
884
1042
|
)
|
|
@@ -910,7 +1068,7 @@ function useAppliedClassesIds() {
|
|
|
910
1068
|
(0, import_editor_elements2.updateElementSettings)({
|
|
911
1069
|
id: element.id,
|
|
912
1070
|
props: {
|
|
913
|
-
[currentClassesProp]:
|
|
1071
|
+
[currentClassesProp]: import_editor_props2.classesPropTypeUtil.create(ids)
|
|
914
1072
|
}
|
|
915
1073
|
});
|
|
916
1074
|
};
|
|
@@ -920,27 +1078,23 @@ function useAppliedClassesIds() {
|
|
|
920
1078
|
};
|
|
921
1079
|
return {
|
|
922
1080
|
value,
|
|
923
|
-
setValue,
|
|
924
1081
|
pushValue
|
|
925
1082
|
};
|
|
926
1083
|
}
|
|
927
|
-
function
|
|
928
|
-
const
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
if (isSameClassesAlreadyApplied) {
|
|
1084
|
+
function useHandleSelect() {
|
|
1085
|
+
const apply = useApplyClass();
|
|
1086
|
+
const unapply = useUnapplyClass();
|
|
1087
|
+
return (_selectedOptions, reason, option) => {
|
|
1088
|
+
if (!option.value) {
|
|
933
1089
|
return;
|
|
934
1090
|
}
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
if (removedValue && removedValue === activeId) {
|
|
943
|
-
setActiveId(selectedValues[0] ?? null);
|
|
1091
|
+
switch (reason) {
|
|
1092
|
+
case "selectOption":
|
|
1093
|
+
apply({ classId: option.value, classLabel: option.label });
|
|
1094
|
+
break;
|
|
1095
|
+
case "removeOption":
|
|
1096
|
+
unapply({ classId: option.value, classLabel: option.label });
|
|
1097
|
+
break;
|
|
944
1098
|
}
|
|
945
1099
|
};
|
|
946
1100
|
}
|
|
@@ -949,7 +1103,7 @@ function useHandleApply(appliedIds, setAppliedIds) {
|
|
|
949
1103
|
var import_editor_panels2 = require("@elementor/editor-panels");
|
|
950
1104
|
|
|
951
1105
|
// src/components/editing-panel.tsx
|
|
952
|
-
var
|
|
1106
|
+
var React75 = __toESM(require("react"));
|
|
953
1107
|
var import_editor_controls49 = require("@elementor/editor-controls");
|
|
954
1108
|
var import_editor_elements8 = require("@elementor/editor-elements");
|
|
955
1109
|
var import_editor_panels = require("@elementor/editor-panels");
|
|
@@ -957,14 +1111,14 @@ var import_editor_ui4 = require("@elementor/editor-ui");
|
|
|
957
1111
|
var import_icons23 = require("@elementor/icons");
|
|
958
1112
|
var import_session5 = require("@elementor/session");
|
|
959
1113
|
var import_ui62 = require("@elementor/ui");
|
|
960
|
-
var
|
|
1114
|
+
var import_i18n51 = require("@wordpress/i18n");
|
|
961
1115
|
|
|
962
1116
|
// src/controls-actions.ts
|
|
963
1117
|
var import_menus = require("@elementor/menus");
|
|
964
1118
|
|
|
965
1119
|
// src/popover-action.tsx
|
|
966
|
-
var
|
|
967
|
-
var
|
|
1120
|
+
var React9 = __toESM(require("react"));
|
|
1121
|
+
var import_react11 = require("react");
|
|
968
1122
|
var import_icons3 = require("@elementor/icons");
|
|
969
1123
|
var import_ui7 = require("@elementor/ui");
|
|
970
1124
|
var SIZE = "tiny";
|
|
@@ -974,7 +1128,7 @@ function PopoverAction({
|
|
|
974
1128
|
icon: Icon,
|
|
975
1129
|
popoverContent: PopoverContent2
|
|
976
1130
|
}) {
|
|
977
|
-
const id = (0,
|
|
1131
|
+
const id = (0, import_react11.useId)();
|
|
978
1132
|
const popupState = (0, import_ui7.usePopupState)({
|
|
979
1133
|
variant: "popover",
|
|
980
1134
|
popupId: `elementor-popover-action-${id}`
|
|
@@ -982,7 +1136,7 @@ function PopoverAction({
|
|
|
982
1136
|
if (!visible) {
|
|
983
1137
|
return null;
|
|
984
1138
|
}
|
|
985
|
-
return /* @__PURE__ */
|
|
1139
|
+
return /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement(import_ui7.Tooltip, { placement: "top", title }, /* @__PURE__ */ React9.createElement(import_ui7.IconButton, { "aria-label": title, key: id, size: SIZE, ...(0, import_ui7.bindToggle)(popupState) }, /* @__PURE__ */ React9.createElement(Icon, { fontSize: SIZE }))), /* @__PURE__ */ React9.createElement(
|
|
986
1140
|
import_ui7.Popover,
|
|
987
1141
|
{
|
|
988
1142
|
disablePortal: true,
|
|
@@ -993,8 +1147,8 @@ function PopoverAction({
|
|
|
993
1147
|
},
|
|
994
1148
|
...(0, import_ui7.bindPopover)(popupState)
|
|
995
1149
|
},
|
|
996
|
-
/* @__PURE__ */
|
|
997
|
-
/* @__PURE__ */
|
|
1150
|
+
/* @__PURE__ */ React9.createElement(import_ui7.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React9.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React9.createElement(import_ui7.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React9.createElement(import_ui7.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React9.createElement(import_icons3.XIcon, { fontSize: SIZE }))),
|
|
1151
|
+
/* @__PURE__ */ React9.createElement(PopoverContent2, { closePopover: popupState.close })
|
|
998
1152
|
));
|
|
999
1153
|
}
|
|
1000
1154
|
|
|
@@ -1006,33 +1160,34 @@ var controlActionsMenu = (0, import_menus.createMenu)({
|
|
|
1006
1160
|
});
|
|
1007
1161
|
|
|
1008
1162
|
// src/components/editing-panel-error-fallback.tsx
|
|
1009
|
-
var
|
|
1163
|
+
var React10 = __toESM(require("react"));
|
|
1010
1164
|
var import_ui8 = require("@elementor/ui");
|
|
1011
1165
|
function EditorPanelErrorFallback() {
|
|
1012
|
-
return /* @__PURE__ */
|
|
1166
|
+
return /* @__PURE__ */ React10.createElement(import_ui8.Box, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React10.createElement(import_ui8.Alert, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React10.createElement("strong", null, "Something went wrong")));
|
|
1013
1167
|
}
|
|
1014
1168
|
|
|
1015
1169
|
// src/components/editing-panel-tabs.tsx
|
|
1016
|
-
var
|
|
1017
|
-
var
|
|
1170
|
+
var React74 = __toESM(require("react"));
|
|
1171
|
+
var import_react28 = require("react");
|
|
1172
|
+
var import_editor_v1_adapters12 = require("@elementor/editor-v1-adapters");
|
|
1018
1173
|
var import_ui61 = require("@elementor/ui");
|
|
1019
|
-
var
|
|
1174
|
+
var import_i18n50 = require("@wordpress/i18n");
|
|
1020
1175
|
|
|
1021
1176
|
// src/contexts/scroll-context.tsx
|
|
1022
|
-
var
|
|
1023
|
-
var
|
|
1177
|
+
var React11 = __toESM(require("react"));
|
|
1178
|
+
var import_react12 = require("react");
|
|
1024
1179
|
var import_ui9 = require("@elementor/ui");
|
|
1025
|
-
var ScrollContext = (0,
|
|
1180
|
+
var ScrollContext = (0, import_react12.createContext)(void 0);
|
|
1026
1181
|
var ScrollPanel = (0, import_ui9.styled)("div")`
|
|
1027
1182
|
height: 100%;
|
|
1028
1183
|
overflow-y: auto;
|
|
1029
1184
|
`;
|
|
1030
1185
|
var DEFAULT_SCROLL_DIRECTION = "up";
|
|
1031
1186
|
function ScrollProvider({ children }) {
|
|
1032
|
-
const [direction, setDirection] = (0,
|
|
1033
|
-
const ref = (0,
|
|
1034
|
-
const scrollPos = (0,
|
|
1035
|
-
(0,
|
|
1187
|
+
const [direction, setDirection] = (0, import_react12.useState)(DEFAULT_SCROLL_DIRECTION);
|
|
1188
|
+
const ref = (0, import_react12.useRef)(null);
|
|
1189
|
+
const scrollPos = (0, import_react12.useRef)(0);
|
|
1190
|
+
(0, import_react12.useEffect)(() => {
|
|
1036
1191
|
const scrollElement = ref.current;
|
|
1037
1192
|
if (!scrollElement) {
|
|
1038
1193
|
return;
|
|
@@ -1051,22 +1206,54 @@ function ScrollProvider({ children }) {
|
|
|
1051
1206
|
scrollElement.removeEventListener("scroll", handleScroll);
|
|
1052
1207
|
};
|
|
1053
1208
|
});
|
|
1054
|
-
return /* @__PURE__ */
|
|
1209
|
+
return /* @__PURE__ */ React11.createElement(ScrollContext.Provider, { value: { direction } }, /* @__PURE__ */ React11.createElement(ScrollPanel, { ref }, children));
|
|
1055
1210
|
}
|
|
1056
1211
|
function useScrollDirection() {
|
|
1057
|
-
return (0,
|
|
1212
|
+
return (0, import_react12.useContext)(ScrollContext)?.direction ?? DEFAULT_SCROLL_DIRECTION;
|
|
1058
1213
|
}
|
|
1059
1214
|
|
|
1215
|
+
// src/hooks/use-default-panel-settings.ts
|
|
1216
|
+
var import_react13 = require("react");
|
|
1217
|
+
var fallbackEditorSettings = {
|
|
1218
|
+
defaultSectionsExpanded: {
|
|
1219
|
+
settings: ["Content", "Settings"],
|
|
1220
|
+
style: []
|
|
1221
|
+
},
|
|
1222
|
+
defaultTab: "settings"
|
|
1223
|
+
};
|
|
1224
|
+
var defaultPanelSettingsContext = (0, import_react13.createContext)({
|
|
1225
|
+
"e-div-block": {
|
|
1226
|
+
defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
|
|
1227
|
+
defaultTab: "style"
|
|
1228
|
+
},
|
|
1229
|
+
"e-flexbox": {
|
|
1230
|
+
defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
|
|
1231
|
+
defaultTab: "style"
|
|
1232
|
+
}
|
|
1233
|
+
});
|
|
1234
|
+
var useDefaultPanelSettings = () => {
|
|
1235
|
+
const { element } = useElement();
|
|
1236
|
+
const defaults = (0, import_react13.useContext)(defaultPanelSettingsContext)[element.type];
|
|
1237
|
+
return defaults || fallbackEditorSettings;
|
|
1238
|
+
};
|
|
1239
|
+
|
|
1060
1240
|
// src/hooks/use-state-by-element.ts
|
|
1061
|
-
var
|
|
1062
|
-
var
|
|
1241
|
+
var import_react14 = require("react");
|
|
1242
|
+
var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
|
|
1063
1243
|
var import_session = require("@elementor/session");
|
|
1244
|
+
|
|
1245
|
+
// src/sync/experiments-flags.ts
|
|
1246
|
+
var EXPERIMENTAL_FEATURES = {
|
|
1247
|
+
V_3_30: "e_v_3_30"
|
|
1248
|
+
};
|
|
1249
|
+
|
|
1250
|
+
// src/hooks/use-state-by-element.ts
|
|
1064
1251
|
var useStateByElement = (key, initialValue) => {
|
|
1065
1252
|
const { element } = useElement();
|
|
1066
|
-
const isFeatureActive = (0,
|
|
1253
|
+
const isFeatureActive = (0, import_editor_v1_adapters2.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30);
|
|
1067
1254
|
const lookup = `elementor/editor-state/${element.id}/${key}`;
|
|
1068
1255
|
const storedValue = isFeatureActive ? (0, import_session.getSessionStorageItem)(lookup) : initialValue;
|
|
1069
|
-
const [value, setValue] = (0,
|
|
1256
|
+
const [value, setValue] = (0, import_react14.useState)(storedValue ?? initialValue);
|
|
1070
1257
|
const doUpdate = (newValue) => {
|
|
1071
1258
|
(0, import_session.setSessionStorageItem)(lookup, newValue);
|
|
1072
1259
|
setValue(newValue);
|
|
@@ -1075,13 +1262,14 @@ var useStateByElement = (key, initialValue) => {
|
|
|
1075
1262
|
};
|
|
1076
1263
|
|
|
1077
1264
|
// src/components/settings-tab.tsx
|
|
1078
|
-
var
|
|
1265
|
+
var React17 = __toESM(require("react"));
|
|
1079
1266
|
var import_editor_controls4 = require("@elementor/editor-controls");
|
|
1267
|
+
var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
|
|
1080
1268
|
var import_session2 = require("@elementor/session");
|
|
1081
1269
|
var import_ui14 = require("@elementor/ui");
|
|
1082
1270
|
|
|
1083
1271
|
// src/controls-registry/control.tsx
|
|
1084
|
-
var
|
|
1272
|
+
var React12 = __toESM(require("react"));
|
|
1085
1273
|
|
|
1086
1274
|
// src/controls-registry/controls-registry.tsx
|
|
1087
1275
|
var import_editor_controls2 = require("@elementor/editor-controls");
|
|
@@ -1093,7 +1281,8 @@ var controlTypes = {
|
|
|
1093
1281
|
size: { component: import_editor_controls2.SizeControl, layout: "two-columns" },
|
|
1094
1282
|
select: { component: import_editor_controls2.SelectControl, layout: "two-columns" },
|
|
1095
1283
|
link: { component: import_editor_controls2.LinkControl, layout: "full" },
|
|
1096
|
-
url: { component: import_editor_controls2.UrlControl, layout: "full" }
|
|
1284
|
+
url: { component: import_editor_controls2.UrlControl, layout: "full" },
|
|
1285
|
+
switch: { component: import_editor_controls2.SwitchControl, layout: "two-columns" }
|
|
1097
1286
|
};
|
|
1098
1287
|
var getControl = (type) => controlTypes[type]?.component;
|
|
1099
1288
|
var getDefaultLayout = (type) => controlTypes[type].layout;
|
|
@@ -1107,14 +1296,14 @@ var Control = ({ props, type }) => {
|
|
|
1107
1296
|
context: { controlType: type }
|
|
1108
1297
|
});
|
|
1109
1298
|
}
|
|
1110
|
-
return /* @__PURE__ */
|
|
1299
|
+
return /* @__PURE__ */ React12.createElement(ControlByType, { ...props, context: { elementId: element.id } });
|
|
1111
1300
|
};
|
|
1112
1301
|
|
|
1113
1302
|
// src/controls-registry/control-type-container.tsx
|
|
1114
|
-
var
|
|
1303
|
+
var React13 = __toESM(require("react"));
|
|
1115
1304
|
var import_ui10 = require("@elementor/ui");
|
|
1116
1305
|
var ControlTypeContainer = ({ children, layout }) => {
|
|
1117
|
-
return /* @__PURE__ */
|
|
1306
|
+
return /* @__PURE__ */ React13.createElement(StyledContainer, { layout }, children);
|
|
1118
1307
|
};
|
|
1119
1308
|
var StyledContainer = (0, import_ui10.styled)(import_ui10.Box, {
|
|
1120
1309
|
shouldForwardProp: (prop) => !["layout"].includes(prop)
|
|
@@ -1132,7 +1321,7 @@ var getGridLayout = (layout) => ({
|
|
|
1132
1321
|
});
|
|
1133
1322
|
|
|
1134
1323
|
// src/controls-registry/settings-field.tsx
|
|
1135
|
-
var
|
|
1324
|
+
var React14 = __toESM(require("react"));
|
|
1136
1325
|
var import_editor_controls3 = require("@elementor/editor-controls");
|
|
1137
1326
|
var import_editor_elements3 = require("@elementor/editor-elements");
|
|
1138
1327
|
|
|
@@ -1161,12 +1350,12 @@ var SettingsField = ({ bind, children }) => {
|
|
|
1161
1350
|
props: { ...newValue }
|
|
1162
1351
|
});
|
|
1163
1352
|
};
|
|
1164
|
-
return /* @__PURE__ */
|
|
1353
|
+
return /* @__PURE__ */ React14.createElement(import_editor_controls3.PropProvider, { propType, value, setValue }, /* @__PURE__ */ React14.createElement(import_editor_controls3.PropKeyProvider, { bind }, children));
|
|
1165
1354
|
};
|
|
1166
1355
|
|
|
1167
1356
|
// src/components/section.tsx
|
|
1168
|
-
var
|
|
1169
|
-
var
|
|
1357
|
+
var React15 = __toESM(require("react"));
|
|
1358
|
+
var import_react15 = require("react");
|
|
1170
1359
|
var import_ui12 = require("@elementor/ui");
|
|
1171
1360
|
|
|
1172
1361
|
// src/components/collapse-icon.tsx
|
|
@@ -1184,10 +1373,10 @@ var CollapseIcon = (0, import_ui11.styled)(import_icons4.ChevronDownIcon, {
|
|
|
1184
1373
|
// src/components/section.tsx
|
|
1185
1374
|
function Section({ title, children, defaultExpanded = false }) {
|
|
1186
1375
|
const [isOpen, setIsOpen] = useStateByElement(title, !!defaultExpanded);
|
|
1187
|
-
const id = (0,
|
|
1376
|
+
const id = (0, import_react15.useId)();
|
|
1188
1377
|
const labelId = `label-${id}`;
|
|
1189
1378
|
const contentId = `content-${id}`;
|
|
1190
|
-
return /* @__PURE__ */
|
|
1379
|
+
return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement(
|
|
1191
1380
|
import_ui12.ListItemButton,
|
|
1192
1381
|
{
|
|
1193
1382
|
id: labelId,
|
|
@@ -1195,38 +1384,48 @@ function Section({ title, children, defaultExpanded = false }) {
|
|
|
1195
1384
|
onClick: () => setIsOpen(!isOpen),
|
|
1196
1385
|
sx: { "&:hover": { backgroundColor: "transparent" } }
|
|
1197
1386
|
},
|
|
1198
|
-
/* @__PURE__ */
|
|
1387
|
+
/* @__PURE__ */ React15.createElement(
|
|
1199
1388
|
import_ui12.ListItemText,
|
|
1200
1389
|
{
|
|
1201
1390
|
secondary: title,
|
|
1202
1391
|
secondaryTypographyProps: { color: "text.primary", variant: "caption", fontWeight: "bold" }
|
|
1203
1392
|
}
|
|
1204
1393
|
),
|
|
1205
|
-
/* @__PURE__ */
|
|
1206
|
-
), /* @__PURE__ */
|
|
1394
|
+
/* @__PURE__ */ React15.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
|
|
1395
|
+
), /* @__PURE__ */ React15.createElement(import_ui12.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React15.createElement(import_ui12.Stack, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React15.createElement(import_ui12.Divider, null));
|
|
1207
1396
|
}
|
|
1208
1397
|
|
|
1209
1398
|
// src/components/sections-list.tsx
|
|
1210
|
-
var
|
|
1399
|
+
var React16 = __toESM(require("react"));
|
|
1211
1400
|
var import_ui13 = require("@elementor/ui");
|
|
1212
1401
|
function SectionsList(props) {
|
|
1213
|
-
return /* @__PURE__ */
|
|
1402
|
+
return /* @__PURE__ */ React16.createElement(import_ui13.List, { disablePadding: true, component: "div", ...props });
|
|
1214
1403
|
}
|
|
1215
1404
|
|
|
1216
1405
|
// src/components/settings-tab.tsx
|
|
1217
1406
|
var SettingsTab = () => {
|
|
1218
1407
|
const { elementType, element } = useElement();
|
|
1219
|
-
|
|
1408
|
+
const settingsDefault = useDefaultPanelSettings();
|
|
1409
|
+
const isDefaultExpanded = (sectionId) => (0, import_editor_v1_adapters3.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? settingsDefault.defaultSectionsExpanded.settings?.includes(sectionId) : true;
|
|
1410
|
+
return /* @__PURE__ */ React17.createElement(import_session2.SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React17.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
|
|
1220
1411
|
if (type === "control") {
|
|
1221
|
-
return /* @__PURE__ */
|
|
1412
|
+
return /* @__PURE__ */ React17.createElement(Control2, { key: value.bind, control: value });
|
|
1222
1413
|
}
|
|
1223
1414
|
if (type === "section") {
|
|
1224
|
-
return /* @__PURE__ */
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1415
|
+
return /* @__PURE__ */ React17.createElement(
|
|
1416
|
+
Section,
|
|
1417
|
+
{
|
|
1418
|
+
title: value.label,
|
|
1419
|
+
key: type + "." + index,
|
|
1420
|
+
defaultExpanded: isDefaultExpanded(value.label)
|
|
1421
|
+
},
|
|
1422
|
+
value.items?.map((item) => {
|
|
1423
|
+
if (item.type === "control") {
|
|
1424
|
+
return /* @__PURE__ */ React17.createElement(Control2, { key: item.value.bind, control: item.value });
|
|
1425
|
+
}
|
|
1426
|
+
return null;
|
|
1427
|
+
})
|
|
1428
|
+
);
|
|
1230
1429
|
}
|
|
1231
1430
|
return null;
|
|
1232
1431
|
})));
|
|
@@ -1236,39 +1435,40 @@ var Control2 = ({ control }) => {
|
|
|
1236
1435
|
return null;
|
|
1237
1436
|
}
|
|
1238
1437
|
const layout = control.meta?.layout || getDefaultLayout(control.type);
|
|
1239
|
-
return /* @__PURE__ */
|
|
1438
|
+
return /* @__PURE__ */ React17.createElement(SettingsField, { bind: control.bind }, control.meta?.topDivider && /* @__PURE__ */ React17.createElement(import_ui14.Divider, null), /* @__PURE__ */ React17.createElement(ControlTypeContainer, { layout }, control.label ? /* @__PURE__ */ React17.createElement(import_editor_controls4.ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React17.createElement(Control, { type: control.type, props: control.props })));
|
|
1240
1439
|
};
|
|
1241
1440
|
|
|
1242
1441
|
// src/components/style-tab.tsx
|
|
1243
|
-
var
|
|
1244
|
-
var
|
|
1245
|
-
var
|
|
1442
|
+
var React73 = __toESM(require("react"));
|
|
1443
|
+
var import_react27 = require("react");
|
|
1444
|
+
var import_editor_props10 = require("@elementor/editor-props");
|
|
1246
1445
|
var import_editor_responsive2 = require("@elementor/editor-responsive");
|
|
1446
|
+
var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
|
|
1247
1447
|
var import_session4 = require("@elementor/session");
|
|
1248
1448
|
var import_ui60 = require("@elementor/ui");
|
|
1249
|
-
var
|
|
1449
|
+
var import_i18n49 = require("@wordpress/i18n");
|
|
1250
1450
|
|
|
1251
1451
|
// src/contexts/styles-inheritance-context.tsx
|
|
1252
|
-
var
|
|
1253
|
-
var
|
|
1452
|
+
var React18 = __toESM(require("react"));
|
|
1453
|
+
var import_react17 = require("react");
|
|
1254
1454
|
var import_editor_elements4 = require("@elementor/editor-elements");
|
|
1255
|
-
var
|
|
1455
|
+
var import_editor_props5 = require("@elementor/editor-props");
|
|
1256
1456
|
var import_editor_responsive = require("@elementor/editor-responsive");
|
|
1257
1457
|
var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
|
|
1258
1458
|
|
|
1259
1459
|
// src/hooks/use-styles-rerender.ts
|
|
1260
|
-
var
|
|
1460
|
+
var import_react16 = require("react");
|
|
1261
1461
|
var useStylesRerender = () => {
|
|
1262
1462
|
const { provider } = useStyle();
|
|
1263
|
-
const [, reRender] = (0,
|
|
1264
|
-
(0,
|
|
1463
|
+
const [, reRender] = (0, import_react16.useReducer)((p) => !p, false);
|
|
1464
|
+
(0, import_react16.useEffect)(() => provider?.subscribe(reRender), [provider]);
|
|
1265
1465
|
};
|
|
1266
1466
|
|
|
1267
1467
|
// src/styles-inheritance/create-styles-inheritance.ts
|
|
1268
|
-
var
|
|
1468
|
+
var import_editor_props4 = require("@elementor/editor-props");
|
|
1269
1469
|
|
|
1270
1470
|
// src/styles-inheritance/create-snapshots-manager.ts
|
|
1271
|
-
var
|
|
1471
|
+
var import_editor_props3 = require("@elementor/editor-props");
|
|
1272
1472
|
|
|
1273
1473
|
// src/styles-inheritance/utils.ts
|
|
1274
1474
|
var DEFAULT_STATE = "normal";
|
|
@@ -1360,7 +1560,7 @@ function buildInitialSnapshotFromStyles(styles) {
|
|
|
1360
1560
|
variant: { props }
|
|
1361
1561
|
} = styleData;
|
|
1362
1562
|
Object.entries(props).forEach(([key, value]) => {
|
|
1363
|
-
const filteredValue = (0,
|
|
1563
|
+
const filteredValue = (0, import_editor_props3.filterEmptyValues)(value);
|
|
1364
1564
|
if (filteredValue === null) {
|
|
1365
1565
|
return;
|
|
1366
1566
|
}
|
|
@@ -1405,7 +1605,7 @@ function createStylesInheritance(styleDefs, breakpointsRoot) {
|
|
|
1405
1605
|
inheritanceChain = inheritanceChain.map(({ value: styleValue, ...rest }) => ({
|
|
1406
1606
|
...rest,
|
|
1407
1607
|
value: getValueByPath(styleValue, nextFields)
|
|
1408
|
-
})).filter(({ value: styleValue }) => !(0,
|
|
1608
|
+
})).filter(({ value: styleValue }) => !(0, import_editor_props4.isEmpty)(styleValue));
|
|
1409
1609
|
}
|
|
1410
1610
|
return inheritanceChain;
|
|
1411
1611
|
}
|
|
@@ -1444,7 +1644,7 @@ function getValueByPath(value, path) {
|
|
|
1444
1644
|
if (!currentScope) {
|
|
1445
1645
|
return null;
|
|
1446
1646
|
}
|
|
1447
|
-
if ((0,
|
|
1647
|
+
if ((0, import_editor_props4.isTransformable)(currentScope)) {
|
|
1448
1648
|
return currentScope.value?.[key];
|
|
1449
1649
|
}
|
|
1450
1650
|
if (typeof currentScope === "object") {
|
|
@@ -1455,15 +1655,15 @@ function getValueByPath(value, path) {
|
|
|
1455
1655
|
}
|
|
1456
1656
|
|
|
1457
1657
|
// src/contexts/styles-inheritance-context.tsx
|
|
1458
|
-
var Context4 = (0,
|
|
1658
|
+
var Context4 = (0, import_react17.createContext)(null);
|
|
1459
1659
|
function StyleInheritanceProvider({ children }) {
|
|
1460
1660
|
const styleDefs = useAppliedStyles();
|
|
1461
1661
|
const breakpointsTree = (0, import_editor_responsive.getBreakpointsTree)();
|
|
1462
1662
|
const { getSnapshot, getInheritanceChain } = createStylesInheritance(styleDefs, breakpointsTree);
|
|
1463
|
-
return /* @__PURE__ */
|
|
1663
|
+
return /* @__PURE__ */ React18.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
|
|
1464
1664
|
}
|
|
1465
1665
|
function useStylesInheritanceSnapshot() {
|
|
1466
|
-
const context = (0,
|
|
1666
|
+
const context = (0, import_react17.useContext)(Context4);
|
|
1467
1667
|
const { meta } = useStyle();
|
|
1468
1668
|
if (!context) {
|
|
1469
1669
|
throw new Error("useStylesInheritanceSnapshot must be used within a StyleInheritanceProvider");
|
|
@@ -1474,7 +1674,7 @@ function useStylesInheritanceSnapshot() {
|
|
|
1474
1674
|
return context.getSnapshot(meta) ?? null;
|
|
1475
1675
|
}
|
|
1476
1676
|
function useStylesInheritanceChain(path) {
|
|
1477
|
-
const context = (0,
|
|
1677
|
+
const context = (0, import_react17.useContext)(Context4);
|
|
1478
1678
|
if (!context) {
|
|
1479
1679
|
throw new Error("useStylesInheritanceChain must be used within a StyleInheritanceProvider");
|
|
1480
1680
|
}
|
|
@@ -1490,7 +1690,7 @@ var useAppliedStyles = () => {
|
|
|
1490
1690
|
const baseStyles = useBaseStyles();
|
|
1491
1691
|
useStylesRerender();
|
|
1492
1692
|
const classesProp = (0, import_editor_elements4.useElementSetting)(element.id, currentClassesProp);
|
|
1493
|
-
const appliedStyles =
|
|
1693
|
+
const appliedStyles = import_editor_props5.classesPropTypeUtil.extract(classesProp);
|
|
1494
1694
|
return import_editor_styles_repository5.stylesRepository.all().filter((style) => appliedStyles?.includes(style.id)).concat(baseStyles);
|
|
1495
1695
|
};
|
|
1496
1696
|
var useBaseStyles = () => {
|
|
@@ -1501,10 +1701,12 @@ var useBaseStyles = () => {
|
|
|
1501
1701
|
};
|
|
1502
1702
|
|
|
1503
1703
|
// src/hooks/use-active-style-def-id.ts
|
|
1504
|
-
var import_react15 = require("react");
|
|
1505
1704
|
var import_editor_elements5 = require("@elementor/editor-elements");
|
|
1506
1705
|
function useActiveStyleDefId(classProp) {
|
|
1507
|
-
const [activeStyledDefId, setActiveStyledDefId] = (
|
|
1706
|
+
const [activeStyledDefId, setActiveStyledDefId] = useStateByElement(
|
|
1707
|
+
"active-style-id",
|
|
1708
|
+
null
|
|
1709
|
+
);
|
|
1508
1710
|
const appliedClassesIds = useAppliedClassesIds2(classProp)?.value || [];
|
|
1509
1711
|
const fallback = useFirstAppliedClass(appliedClassesIds);
|
|
1510
1712
|
const activeAndAppliedClassId = useActiveAndAppliedClassId(activeStyledDefId, appliedClassesIds);
|
|
@@ -1525,21 +1727,21 @@ function useActiveAndAppliedClassId(id, appliedClassesIds) {
|
|
|
1525
1727
|
}
|
|
1526
1728
|
|
|
1527
1729
|
// src/components/style-sections/background-section/background-section.tsx
|
|
1528
|
-
var
|
|
1730
|
+
var React22 = __toESM(require("react"));
|
|
1529
1731
|
var import_editor_controls7 = require("@elementor/editor-controls");
|
|
1530
1732
|
|
|
1531
1733
|
// src/controls-registry/styles-field.tsx
|
|
1532
|
-
var
|
|
1734
|
+
var React21 = __toESM(require("react"));
|
|
1533
1735
|
var import_editor_controls6 = require("@elementor/editor-controls");
|
|
1534
1736
|
var import_editor_styles2 = require("@elementor/editor-styles");
|
|
1535
1737
|
|
|
1536
1738
|
// src/hooks/use-styles-fields.ts
|
|
1537
|
-
var
|
|
1739
|
+
var import_react18 = require("react");
|
|
1538
1740
|
var import_editor_elements6 = require("@elementor/editor-elements");
|
|
1539
1741
|
var import_editor_styles = require("@elementor/editor-styles");
|
|
1540
1742
|
var import_editor_styles_repository6 = require("@elementor/editor-styles-repository");
|
|
1541
|
-
var
|
|
1542
|
-
var
|
|
1743
|
+
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
1744
|
+
var import_i18n5 = require("@wordpress/i18n");
|
|
1543
1745
|
function useStylesFields(propNames) {
|
|
1544
1746
|
const { element } = useElement();
|
|
1545
1747
|
const { id, meta, provider } = useStyle();
|
|
@@ -1588,8 +1790,8 @@ function getProps({ styleId, elementId, provider, meta, propNames }) {
|
|
|
1588
1790
|
);
|
|
1589
1791
|
}
|
|
1590
1792
|
function useUndoableCreateElementStyle() {
|
|
1591
|
-
return (0,
|
|
1592
|
-
return (0,
|
|
1793
|
+
return (0, import_react18.useMemo)(() => {
|
|
1794
|
+
return (0, import_editor_v1_adapters4.undoable)(
|
|
1593
1795
|
{
|
|
1594
1796
|
do: (payload) => {
|
|
1595
1797
|
return (0, import_editor_elements6.createElementStyle)({
|
|
@@ -1610,14 +1812,14 @@ function useUndoableCreateElementStyle() {
|
|
|
1610
1812
|
},
|
|
1611
1813
|
{
|
|
1612
1814
|
title: ({ elementId }) => (0, import_editor_elements6.getElementLabel)(elementId),
|
|
1613
|
-
subtitle: (0,
|
|
1815
|
+
subtitle: (0, import_i18n5.__)("Style edited", "elementor")
|
|
1614
1816
|
}
|
|
1615
1817
|
);
|
|
1616
1818
|
}, []);
|
|
1617
1819
|
}
|
|
1618
1820
|
function useUndoableUpdateStyle() {
|
|
1619
|
-
return (0,
|
|
1620
|
-
return (0,
|
|
1821
|
+
return (0, import_react18.useMemo)(() => {
|
|
1822
|
+
return (0, import_editor_v1_adapters4.undoable)(
|
|
1621
1823
|
{
|
|
1622
1824
|
do: ({ elementId, styleId, provider, meta, props }) => {
|
|
1623
1825
|
if (!provider.actions.updateProps) {
|
|
@@ -1643,7 +1845,7 @@ function useUndoableUpdateStyle() {
|
|
|
1643
1845
|
},
|
|
1644
1846
|
{
|
|
1645
1847
|
title: ({ elementId }) => (0, import_editor_elements6.getElementLabel)(elementId),
|
|
1646
|
-
subtitle: (0,
|
|
1848
|
+
subtitle: (0, import_i18n5.__)("Style edited", "elementor")
|
|
1647
1849
|
}
|
|
1648
1850
|
);
|
|
1649
1851
|
}, []);
|
|
@@ -1670,27 +1872,27 @@ function useStylesField(propName) {
|
|
|
1670
1872
|
}
|
|
1671
1873
|
|
|
1672
1874
|
// src/styles-inheritance/styles-inheritance-indicator.tsx
|
|
1673
|
-
var
|
|
1674
|
-
var
|
|
1875
|
+
var React20 = __toESM(require("react"));
|
|
1876
|
+
var import_react21 = require("react");
|
|
1675
1877
|
var import_editor_controls5 = require("@elementor/editor-controls");
|
|
1676
|
-
var
|
|
1878
|
+
var import_editor_props6 = require("@elementor/editor-props");
|
|
1677
1879
|
var import_editor_styles_repository7 = require("@elementor/editor-styles-repository");
|
|
1678
|
-
var
|
|
1880
|
+
var import_editor_v1_adapters5 = require("@elementor/editor-v1-adapters");
|
|
1679
1881
|
var import_ui16 = require("@elementor/ui");
|
|
1680
|
-
var
|
|
1882
|
+
var import_i18n6 = require("@wordpress/i18n");
|
|
1681
1883
|
|
|
1682
1884
|
// src/styles-inheritance/styles-inheritance-infotip.tsx
|
|
1683
|
-
var
|
|
1684
|
-
var
|
|
1885
|
+
var React19 = __toESM(require("react"));
|
|
1886
|
+
var import_react20 = require("react");
|
|
1685
1887
|
var import_editor_canvas = require("@elementor/editor-canvas");
|
|
1686
1888
|
var import_ui15 = require("@elementor/ui");
|
|
1687
1889
|
|
|
1688
1890
|
// src/hooks/use-normalized-inheritance-chain-items.tsx
|
|
1689
|
-
var
|
|
1891
|
+
var import_react19 = require("react");
|
|
1690
1892
|
var MAXIMUM_ITEMS = 2;
|
|
1691
1893
|
var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
|
|
1692
|
-
const [items3, setItems] = (0,
|
|
1693
|
-
(0,
|
|
1894
|
+
const [items3, setItems] = (0, import_react19.useState)([]);
|
|
1895
|
+
(0, import_react19.useEffect)(() => {
|
|
1694
1896
|
(async () => {
|
|
1695
1897
|
const normalizedItems = await Promise.all(
|
|
1696
1898
|
inheritanceChain.filter((item) => item.style?.label).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
|
|
@@ -1728,14 +1930,14 @@ var getTransformedValue = async (item, bind, resolve) => {
|
|
|
1728
1930
|
// src/styles-inheritance/styles-inheritance-infotip.tsx
|
|
1729
1931
|
var StyleIndicatorInfotip = ({ inheritanceChain, propType, path }) => {
|
|
1730
1932
|
const key = path.join(".");
|
|
1731
|
-
const resolve = (0,
|
|
1933
|
+
const resolve = (0, import_react20.useMemo)(() => {
|
|
1732
1934
|
return (0, import_editor_canvas.createPropsResolver)({
|
|
1733
1935
|
transformers: import_editor_canvas.styleTransformersRegistry,
|
|
1734
1936
|
schema: { [key]: propType }
|
|
1735
1937
|
});
|
|
1736
1938
|
}, [key, propType]);
|
|
1737
1939
|
const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
|
|
1738
|
-
return /* @__PURE__ */
|
|
1940
|
+
return /* @__PURE__ */ React19.createElement(import_ui15.Card, { elevation: 0, sx: { maxWidth: 320 } }, /* @__PURE__ */ React19.createElement(import_ui15.CardContent, { sx: { p: 1.5, pb: 2.5 } }, /* @__PURE__ */ React19.createElement(import_ui15.List, null, items3.map((item) => /* @__PURE__ */ React19.createElement(import_ui15.ListItem, { key: item.id }, /* @__PURE__ */ React19.createElement(
|
|
1739
1941
|
import_ui15.ListItemText,
|
|
1740
1942
|
{
|
|
1741
1943
|
primary: `${item.breakpoint} | ${item.displayLabel}. ${item.value}`
|
|
@@ -1745,10 +1947,10 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path }) => {
|
|
|
1745
1947
|
|
|
1746
1948
|
// src/styles-inheritance/styles-inheritance-indicator.tsx
|
|
1747
1949
|
var StylesInheritanceIndicator = () => {
|
|
1748
|
-
const [open, setOpen] = (0,
|
|
1950
|
+
const [open, setOpen] = (0, import_react21.useState)(false);
|
|
1749
1951
|
const { value, path, propType } = (0, import_editor_controls5.useBoundProp)();
|
|
1750
1952
|
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
1751
|
-
const isUsingNestedProps = (0,
|
|
1953
|
+
const isUsingNestedProps = (0, import_editor_v1_adapters5.isExperimentActive)("e_v_3_30");
|
|
1752
1954
|
const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
|
|
1753
1955
|
const inheritanceChain = useStylesInheritanceChain(finalPath);
|
|
1754
1956
|
if (!inheritanceChain.length) {
|
|
@@ -1760,34 +1962,34 @@ var StylesInheritanceIndicator = () => {
|
|
|
1760
1962
|
}
|
|
1761
1963
|
const { breakpoint, state } = variant.meta;
|
|
1762
1964
|
const isFinalValue = style.id === currentStyleId && breakpoint === currentStyleMeta.breakpoint && state === currentStyleMeta.state;
|
|
1763
|
-
const hasValue = !(0,
|
|
1965
|
+
const hasValue = !(0, import_editor_props6.isEmpty)(value);
|
|
1764
1966
|
const label = getLabel({ isFinalValue, hasValue });
|
|
1765
1967
|
const variantType = getVariant({ isFinalValue, hasValue, currentStyleProvider });
|
|
1766
|
-
const eIndicationsPopover = (0,
|
|
1968
|
+
const eIndicationsPopover = (0, import_editor_v1_adapters5.isExperimentActive)("e_indications_popover");
|
|
1767
1969
|
if (!eIndicationsPopover) {
|
|
1768
|
-
return /* @__PURE__ */
|
|
1970
|
+
return /* @__PURE__ */ React20.createElement(StyleIndicator, { variant: variantType, "aria-label": label });
|
|
1769
1971
|
}
|
|
1770
1972
|
const toggleOpen = () => setOpen((prev) => !prev);
|
|
1771
|
-
return /* @__PURE__ */
|
|
1973
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1772
1974
|
import_ui16.Infotip,
|
|
1773
1975
|
{
|
|
1774
1976
|
placement: "top",
|
|
1775
|
-
content: /* @__PURE__ */
|
|
1977
|
+
content: /* @__PURE__ */ React20.createElement(StyleIndicatorInfotip, { inheritanceChain, path: finalPath, propType }),
|
|
1776
1978
|
open,
|
|
1777
1979
|
onClose: () => setOpen(false),
|
|
1778
1980
|
trigger: "manual"
|
|
1779
1981
|
},
|
|
1780
|
-
/* @__PURE__ */
|
|
1982
|
+
/* @__PURE__ */ React20.createElement(import_ui16.IconButton, { onClick: toggleOpen, "aria-label": label }, /* @__PURE__ */ React20.createElement(StyleIndicator, { variant: variantType }))
|
|
1781
1983
|
);
|
|
1782
1984
|
};
|
|
1783
1985
|
var getLabel = ({ isFinalValue, hasValue }) => {
|
|
1784
1986
|
if (isFinalValue) {
|
|
1785
|
-
return (0,
|
|
1987
|
+
return (0, import_i18n6.__)("This is the final value", "elementor");
|
|
1786
1988
|
}
|
|
1787
1989
|
if (hasValue) {
|
|
1788
|
-
return (0,
|
|
1990
|
+
return (0, import_i18n6.__)("This value is overridden by another style", "elementor");
|
|
1789
1991
|
}
|
|
1790
|
-
return (0,
|
|
1992
|
+
return (0, import_i18n6.__)("This has value from another style", "elementor");
|
|
1791
1993
|
};
|
|
1792
1994
|
var getVariant = ({
|
|
1793
1995
|
isFinalValue,
|
|
@@ -1813,7 +2015,7 @@ var StylesField = ({ bind, placeholder, children }) => {
|
|
|
1813
2015
|
const setValues = (newValue) => {
|
|
1814
2016
|
setValue(newValue[bind]);
|
|
1815
2017
|
};
|
|
1816
|
-
return /* @__PURE__ */
|
|
2018
|
+
return /* @__PURE__ */ React21.createElement(
|
|
1817
2019
|
import_editor_controls6.ControlAdornmentsProvider,
|
|
1818
2020
|
{
|
|
1819
2021
|
items: [
|
|
@@ -1823,7 +2025,7 @@ var StylesField = ({ bind, placeholder, children }) => {
|
|
|
1823
2025
|
}
|
|
1824
2026
|
]
|
|
1825
2027
|
},
|
|
1826
|
-
/* @__PURE__ */
|
|
2028
|
+
/* @__PURE__ */ React21.createElement(
|
|
1827
2029
|
import_editor_controls6.PropProvider,
|
|
1828
2030
|
{
|
|
1829
2031
|
propType,
|
|
@@ -1831,50 +2033,50 @@ var StylesField = ({ bind, placeholder, children }) => {
|
|
|
1831
2033
|
setValue: setValues,
|
|
1832
2034
|
placeholder: placeholderValues
|
|
1833
2035
|
},
|
|
1834
|
-
/* @__PURE__ */
|
|
2036
|
+
/* @__PURE__ */ React21.createElement(import_editor_controls6.PropKeyProvider, { bind }, children)
|
|
1835
2037
|
)
|
|
1836
2038
|
);
|
|
1837
2039
|
};
|
|
1838
2040
|
|
|
1839
2041
|
// src/components/style-sections/background-section/background-section.tsx
|
|
1840
2042
|
var BackgroundSection = () => {
|
|
1841
|
-
return /* @__PURE__ */
|
|
2043
|
+
return /* @__PURE__ */ React22.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React22.createElement(import_editor_controls7.BackgroundControl, null));
|
|
1842
2044
|
};
|
|
1843
2045
|
|
|
1844
2046
|
// src/components/style-sections/border-section/border-section.tsx
|
|
1845
|
-
var
|
|
2047
|
+
var React32 = __toESM(require("react"));
|
|
1846
2048
|
|
|
1847
2049
|
// src/components/panel-divider.tsx
|
|
1848
|
-
var
|
|
2050
|
+
var React23 = __toESM(require("react"));
|
|
1849
2051
|
var import_ui17 = require("@elementor/ui");
|
|
1850
|
-
var PanelDivider = () => /* @__PURE__ */
|
|
2052
|
+
var PanelDivider = () => /* @__PURE__ */ React23.createElement(import_ui17.Divider, { sx: { my: 0.5 } });
|
|
1851
2053
|
|
|
1852
2054
|
// src/components/section-content.tsx
|
|
1853
|
-
var
|
|
2055
|
+
var React24 = __toESM(require("react"));
|
|
1854
2056
|
var import_ui18 = require("@elementor/ui");
|
|
1855
|
-
var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */
|
|
2057
|
+
var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React24.createElement(import_ui18.Stack, { gap, sx: { ...sx } }, children);
|
|
1856
2058
|
|
|
1857
2059
|
// src/components/style-sections/border-section/border-field.tsx
|
|
1858
|
-
var
|
|
1859
|
-
var
|
|
2060
|
+
var React30 = __toESM(require("react"));
|
|
2061
|
+
var import_i18n10 = require("@wordpress/i18n");
|
|
1860
2062
|
|
|
1861
2063
|
// src/components/add-or-remove-content.tsx
|
|
1862
|
-
var
|
|
2064
|
+
var React26 = __toESM(require("react"));
|
|
1863
2065
|
var import_icons5 = require("@elementor/icons");
|
|
1864
2066
|
var import_ui20 = require("@elementor/ui");
|
|
1865
2067
|
|
|
1866
2068
|
// src/components/control-label.tsx
|
|
1867
|
-
var
|
|
2069
|
+
var React25 = __toESM(require("react"));
|
|
1868
2070
|
var import_editor_controls8 = require("@elementor/editor-controls");
|
|
1869
2071
|
var import_ui19 = require("@elementor/ui");
|
|
1870
2072
|
var ControlLabel = ({ children }) => {
|
|
1871
|
-
return /* @__PURE__ */
|
|
2073
|
+
return /* @__PURE__ */ React25.createElement(import_ui19.Stack, { direction: "row", alignItems: "center", justifyItems: "start", gap: 1 }, /* @__PURE__ */ React25.createElement(import_editor_controls8.ControlFormLabel, null, children), /* @__PURE__ */ React25.createElement(import_editor_controls8.ControlAdornments, null));
|
|
1872
2074
|
};
|
|
1873
2075
|
|
|
1874
2076
|
// src/components/add-or-remove-content.tsx
|
|
1875
2077
|
var SIZE2 = "tiny";
|
|
1876
2078
|
var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
1877
|
-
return /* @__PURE__ */
|
|
2079
|
+
return /* @__PURE__ */ React26.createElement(SectionContent, null, /* @__PURE__ */ React26.createElement(
|
|
1878
2080
|
import_ui20.Stack,
|
|
1879
2081
|
{
|
|
1880
2082
|
direction: "row",
|
|
@@ -1884,47 +2086,47 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
|
1884
2086
|
marginInlineEnd: -0.75
|
|
1885
2087
|
}
|
|
1886
2088
|
},
|
|
1887
|
-
/* @__PURE__ */
|
|
1888
|
-
isAdded ? /* @__PURE__ */
|
|
1889
|
-
), /* @__PURE__ */
|
|
2089
|
+
/* @__PURE__ */ React26.createElement(ControlLabel, null, label),
|
|
2090
|
+
isAdded ? /* @__PURE__ */ React26.createElement(import_ui20.IconButton, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React26.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React26.createElement(import_ui20.IconButton, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React26.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
|
|
2091
|
+
), /* @__PURE__ */ React26.createElement(import_ui20.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React26.createElement(SectionContent, null, children)));
|
|
1890
2092
|
};
|
|
1891
2093
|
|
|
1892
2094
|
// src/components/style-sections/border-section/border-color-field.tsx
|
|
1893
|
-
var
|
|
2095
|
+
var React27 = __toESM(require("react"));
|
|
1894
2096
|
var import_editor_controls9 = require("@elementor/editor-controls");
|
|
1895
2097
|
var import_ui21 = require("@elementor/ui");
|
|
1896
|
-
var
|
|
2098
|
+
var import_i18n7 = require("@wordpress/i18n");
|
|
1897
2099
|
var BorderColorField = () => {
|
|
1898
|
-
return /* @__PURE__ */
|
|
2100
|
+
return /* @__PURE__ */ React27.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React27.createElement(import_ui21.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React27.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(ControlLabel, null, (0, import_i18n7.__)("Border color", "elementor"))), /* @__PURE__ */ React27.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(import_editor_controls9.ColorControl, null))));
|
|
1899
2101
|
};
|
|
1900
2102
|
|
|
1901
2103
|
// src/components/style-sections/border-section/border-style-field.tsx
|
|
1902
|
-
var
|
|
2104
|
+
var React28 = __toESM(require("react"));
|
|
1903
2105
|
var import_editor_controls10 = require("@elementor/editor-controls");
|
|
1904
2106
|
var import_ui22 = require("@elementor/ui");
|
|
1905
|
-
var
|
|
2107
|
+
var import_i18n8 = require("@wordpress/i18n");
|
|
1906
2108
|
var borderStyles = [
|
|
1907
|
-
{ value: "none", label: (0,
|
|
1908
|
-
{ value: "solid", label: (0,
|
|
1909
|
-
{ value: "dashed", label: (0,
|
|
1910
|
-
{ value: "dotted", label: (0,
|
|
1911
|
-
{ value: "double", label: (0,
|
|
1912
|
-
{ value: "groove", label: (0,
|
|
1913
|
-
{ value: "ridge", label: (0,
|
|
1914
|
-
{ value: "inset", label: (0,
|
|
1915
|
-
{ value: "outset", label: (0,
|
|
2109
|
+
{ value: "none", label: (0, import_i18n8.__)("None", "elementor") },
|
|
2110
|
+
{ value: "solid", label: (0, import_i18n8.__)("Solid", "elementor") },
|
|
2111
|
+
{ value: "dashed", label: (0, import_i18n8.__)("Dashed", "elementor") },
|
|
2112
|
+
{ value: "dotted", label: (0, import_i18n8.__)("Dotted", "elementor") },
|
|
2113
|
+
{ value: "double", label: (0, import_i18n8.__)("Double", "elementor") },
|
|
2114
|
+
{ value: "groove", label: (0, import_i18n8.__)("Groove", "elementor") },
|
|
2115
|
+
{ value: "ridge", label: (0, import_i18n8.__)("Ridge", "elementor") },
|
|
2116
|
+
{ value: "inset", label: (0, import_i18n8.__)("Inset", "elementor") },
|
|
2117
|
+
{ value: "outset", label: (0, import_i18n8.__)("Outset", "elementor") }
|
|
1916
2118
|
];
|
|
1917
2119
|
var BorderStyleField = () => {
|
|
1918
|
-
return /* @__PURE__ */
|
|
2120
|
+
return /* @__PURE__ */ React28.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React28.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(ControlLabel, null, (0, import_i18n8.__)("Border type", "elementor"))), /* @__PURE__ */ React28.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React28.createElement(import_editor_controls10.SelectControl, { options: borderStyles }))));
|
|
1919
2121
|
};
|
|
1920
2122
|
|
|
1921
2123
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
1922
|
-
var
|
|
2124
|
+
var React29 = __toESM(require("react"));
|
|
1923
2125
|
var import_editor_controls11 = require("@elementor/editor-controls");
|
|
1924
|
-
var
|
|
2126
|
+
var import_editor_props7 = require("@elementor/editor-props");
|
|
1925
2127
|
var import_icons6 = require("@elementor/icons");
|
|
1926
2128
|
var import_ui24 = require("@elementor/ui");
|
|
1927
|
-
var
|
|
2129
|
+
var import_i18n9 = require("@wordpress/i18n");
|
|
1928
2130
|
|
|
1929
2131
|
// src/hooks/use-direction.ts
|
|
1930
2132
|
var import_ui23 = require("@elementor/ui");
|
|
@@ -1951,36 +2153,36 @@ var InlineStartIcon = (0, import_ui24.withDirection)(import_icons6.SideRightIcon
|
|
|
1951
2153
|
var InlineEndIcon = (0, import_ui24.withDirection)(import_icons6.SideLeftIcon);
|
|
1952
2154
|
var getEdges = (isSiteRtl) => [
|
|
1953
2155
|
{
|
|
1954
|
-
label: (0,
|
|
1955
|
-
icon: /* @__PURE__ */
|
|
2156
|
+
label: (0, import_i18n9.__)("Top", "elementor"),
|
|
2157
|
+
icon: /* @__PURE__ */ React29.createElement(import_icons6.SideTopIcon, { fontSize: "tiny" }),
|
|
1956
2158
|
bind: "block-start"
|
|
1957
2159
|
},
|
|
1958
2160
|
{
|
|
1959
|
-
label: isSiteRtl ? (0,
|
|
1960
|
-
icon: /* @__PURE__ */
|
|
2161
|
+
label: isSiteRtl ? (0, import_i18n9.__)("Left", "elementor") : (0, import_i18n9.__)("Right", "elementor"),
|
|
2162
|
+
icon: /* @__PURE__ */ React29.createElement(InlineStartIcon, { fontSize: "tiny" }),
|
|
1961
2163
|
bind: "inline-end"
|
|
1962
2164
|
},
|
|
1963
2165
|
{
|
|
1964
|
-
label: (0,
|
|
1965
|
-
icon: /* @__PURE__ */
|
|
2166
|
+
label: (0, import_i18n9.__)("Bottom", "elementor"),
|
|
2167
|
+
icon: /* @__PURE__ */ React29.createElement(import_icons6.SideBottomIcon, { fontSize: "tiny" }),
|
|
1966
2168
|
bind: "block-end"
|
|
1967
2169
|
},
|
|
1968
2170
|
{
|
|
1969
|
-
label: isSiteRtl ? (0,
|
|
1970
|
-
icon: /* @__PURE__ */
|
|
2171
|
+
label: isSiteRtl ? (0, import_i18n9.__)("Right", "elementor") : (0, import_i18n9.__)("Left", "elementor"),
|
|
2172
|
+
icon: /* @__PURE__ */ React29.createElement(InlineEndIcon, { fontSize: "tiny" }),
|
|
1971
2173
|
bind: "inline-start"
|
|
1972
2174
|
}
|
|
1973
2175
|
];
|
|
1974
2176
|
var BorderWidthField = () => {
|
|
1975
2177
|
const { isSiteRtl } = useDirection();
|
|
1976
|
-
return /* @__PURE__ */
|
|
2178
|
+
return /* @__PURE__ */ React29.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React29.createElement(
|
|
1977
2179
|
import_editor_controls11.EqualUnequalSizesControl,
|
|
1978
2180
|
{
|
|
1979
2181
|
items: getEdges(isSiteRtl),
|
|
1980
|
-
label: (0,
|
|
1981
|
-
icon: /* @__PURE__ */
|
|
1982
|
-
tooltipLabel: (0,
|
|
1983
|
-
multiSizePropTypeUtil:
|
|
2182
|
+
label: (0, import_i18n9.__)("Border width", "elementor"),
|
|
2183
|
+
icon: /* @__PURE__ */ React29.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
|
|
2184
|
+
tooltipLabel: (0, import_i18n9.__)("Adjust borders", "elementor"),
|
|
2185
|
+
multiSizePropTypeUtil: import_editor_props7.borderWidthPropTypeUtil
|
|
1984
2186
|
}
|
|
1985
2187
|
));
|
|
1986
2188
|
};
|
|
@@ -2004,96 +2206,96 @@ var BorderField = () => {
|
|
|
2004
2206
|
});
|
|
2005
2207
|
};
|
|
2006
2208
|
const hasBorder = Object.values(border ?? {}).some(Boolean);
|
|
2007
|
-
return /* @__PURE__ */
|
|
2209
|
+
return /* @__PURE__ */ React30.createElement(
|
|
2008
2210
|
AddOrRemoveContent,
|
|
2009
2211
|
{
|
|
2010
|
-
label: (0,
|
|
2212
|
+
label: (0, import_i18n10.__)("Border", "elementor"),
|
|
2011
2213
|
isAdded: hasBorder,
|
|
2012
2214
|
onAdd: addBorder,
|
|
2013
2215
|
onRemove: removeBorder
|
|
2014
2216
|
},
|
|
2015
|
-
/* @__PURE__ */
|
|
2016
|
-
/* @__PURE__ */
|
|
2017
|
-
/* @__PURE__ */
|
|
2217
|
+
/* @__PURE__ */ React30.createElement(BorderWidthField, null),
|
|
2218
|
+
/* @__PURE__ */ React30.createElement(BorderColorField, null),
|
|
2219
|
+
/* @__PURE__ */ React30.createElement(BorderStyleField, null)
|
|
2018
2220
|
);
|
|
2019
2221
|
};
|
|
2020
2222
|
|
|
2021
2223
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
2022
|
-
var
|
|
2224
|
+
var React31 = __toESM(require("react"));
|
|
2023
2225
|
var import_editor_controls12 = require("@elementor/editor-controls");
|
|
2024
|
-
var
|
|
2226
|
+
var import_editor_props8 = require("@elementor/editor-props");
|
|
2025
2227
|
var import_icons7 = require("@elementor/icons");
|
|
2026
2228
|
var import_ui25 = require("@elementor/ui");
|
|
2027
|
-
var
|
|
2229
|
+
var import_i18n11 = require("@wordpress/i18n");
|
|
2028
2230
|
var StartStartIcon = (0, import_ui25.withDirection)(import_icons7.RadiusTopLeftIcon);
|
|
2029
2231
|
var StartEndIcon = (0, import_ui25.withDirection)(import_icons7.RadiusTopRightIcon);
|
|
2030
2232
|
var EndStartIcon = (0, import_ui25.withDirection)(import_icons7.RadiusBottomLeftIcon);
|
|
2031
2233
|
var EndEndIcon = (0, import_ui25.withDirection)(import_icons7.RadiusBottomRightIcon);
|
|
2032
|
-
var getStartStartLabel = (isSiteRtl) => isSiteRtl ? (0,
|
|
2033
|
-
var getStartEndLabel = (isSiteRtl) => isSiteRtl ? (0,
|
|
2034
|
-
var getEndStartLabel = (isSiteRtl) => isSiteRtl ? (0,
|
|
2035
|
-
var getEndEndLabel = (isSiteRtl) => isSiteRtl ? (0,
|
|
2234
|
+
var getStartStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n11.__)("Top right", "elementor") : (0, import_i18n11.__)("Top left", "elementor");
|
|
2235
|
+
var getStartEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n11.__)("Top left", "elementor") : (0, import_i18n11.__)("Top right", "elementor");
|
|
2236
|
+
var getEndStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n11.__)("Bottom right", "elementor") : (0, import_i18n11.__)("Bottom left", "elementor");
|
|
2237
|
+
var getEndEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n11.__)("Bottom left", "elementor") : (0, import_i18n11.__)("Bottom right", "elementor");
|
|
2036
2238
|
var getCorners = (isSiteRtl) => [
|
|
2037
2239
|
{
|
|
2038
2240
|
label: getStartStartLabel(isSiteRtl),
|
|
2039
|
-
icon: /* @__PURE__ */
|
|
2241
|
+
icon: /* @__PURE__ */ React31.createElement(StartStartIcon, { fontSize: "tiny" }),
|
|
2040
2242
|
bind: "start-start"
|
|
2041
2243
|
},
|
|
2042
2244
|
{
|
|
2043
2245
|
label: getStartEndLabel(isSiteRtl),
|
|
2044
|
-
icon: /* @__PURE__ */
|
|
2246
|
+
icon: /* @__PURE__ */ React31.createElement(StartEndIcon, { fontSize: "tiny" }),
|
|
2045
2247
|
bind: "start-end"
|
|
2046
2248
|
},
|
|
2047
2249
|
{
|
|
2048
2250
|
label: getEndStartLabel(isSiteRtl),
|
|
2049
|
-
icon: /* @__PURE__ */
|
|
2251
|
+
icon: /* @__PURE__ */ React31.createElement(EndStartIcon, { fontSize: "tiny" }),
|
|
2050
2252
|
bind: "end-start"
|
|
2051
2253
|
},
|
|
2052
2254
|
{
|
|
2053
2255
|
label: getEndEndLabel(isSiteRtl),
|
|
2054
|
-
icon: /* @__PURE__ */
|
|
2256
|
+
icon: /* @__PURE__ */ React31.createElement(EndEndIcon, { fontSize: "tiny" }),
|
|
2055
2257
|
bind: "end-end"
|
|
2056
2258
|
}
|
|
2057
2259
|
];
|
|
2058
2260
|
var BorderRadiusField = () => {
|
|
2059
2261
|
const { isSiteRtl } = useDirection();
|
|
2060
|
-
return /* @__PURE__ */
|
|
2262
|
+
return /* @__PURE__ */ React31.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React31.createElement(
|
|
2061
2263
|
import_editor_controls12.EqualUnequalSizesControl,
|
|
2062
2264
|
{
|
|
2063
2265
|
items: getCorners(isSiteRtl),
|
|
2064
|
-
label: (0,
|
|
2065
|
-
icon: /* @__PURE__ */
|
|
2066
|
-
tooltipLabel: (0,
|
|
2067
|
-
multiSizePropTypeUtil:
|
|
2266
|
+
label: (0, import_i18n11.__)("Border radius", "elementor"),
|
|
2267
|
+
icon: /* @__PURE__ */ React31.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
|
|
2268
|
+
tooltipLabel: (0, import_i18n11.__)("Adjust corners", "elementor"),
|
|
2269
|
+
multiSizePropTypeUtil: import_editor_props8.borderRadiusPropTypeUtil
|
|
2068
2270
|
}
|
|
2069
2271
|
));
|
|
2070
2272
|
};
|
|
2071
2273
|
|
|
2072
2274
|
// src/components/style-sections/border-section/border-section.tsx
|
|
2073
|
-
var BorderSection = () => /* @__PURE__ */
|
|
2275
|
+
var BorderSection = () => /* @__PURE__ */ React32.createElement(SectionContent, null, /* @__PURE__ */ React32.createElement(BorderRadiusField, null), /* @__PURE__ */ React32.createElement(PanelDivider, null), /* @__PURE__ */ React32.createElement(BorderField, null));
|
|
2074
2276
|
|
|
2075
2277
|
// src/components/style-sections/effects-section/effects-section.tsx
|
|
2076
|
-
var
|
|
2278
|
+
var React33 = __toESM(require("react"));
|
|
2077
2279
|
var import_editor_controls13 = require("@elementor/editor-controls");
|
|
2078
2280
|
var EffectsSection = () => {
|
|
2079
|
-
return /* @__PURE__ */
|
|
2281
|
+
return /* @__PURE__ */ React33.createElement(SectionContent, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React33.createElement(import_editor_controls13.BoxShadowRepeaterControl, null)));
|
|
2080
2282
|
};
|
|
2081
2283
|
|
|
2082
2284
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
2083
|
-
var
|
|
2285
|
+
var React45 = __toESM(require("react"));
|
|
2084
2286
|
var import_editor_controls24 = require("@elementor/editor-controls");
|
|
2085
2287
|
var import_editor_elements7 = require("@elementor/editor-elements");
|
|
2086
|
-
var
|
|
2288
|
+
var import_i18n22 = require("@wordpress/i18n");
|
|
2087
2289
|
|
|
2088
2290
|
// src/hooks/use-computed-style.ts
|
|
2089
|
-
var
|
|
2291
|
+
var import_editor_v1_adapters6 = require("@elementor/editor-v1-adapters");
|
|
2090
2292
|
function useComputedStyle(elementId) {
|
|
2091
|
-
return (0,
|
|
2293
|
+
return (0, import_editor_v1_adapters6.__privateUseListenTo)(
|
|
2092
2294
|
[
|
|
2093
|
-
(0,
|
|
2094
|
-
(0,
|
|
2095
|
-
(0,
|
|
2096
|
-
(0,
|
|
2295
|
+
(0, import_editor_v1_adapters6.windowEvent)("elementor/device-mode/change"),
|
|
2296
|
+
(0, import_editor_v1_adapters6.commandEndEvent)("document/elements/reset-style"),
|
|
2297
|
+
(0, import_editor_v1_adapters6.commandEndEvent)("document/elements/settings"),
|
|
2298
|
+
(0, import_editor_v1_adapters6.commandEndEvent)("document/elements/paste-style")
|
|
2097
2299
|
],
|
|
2098
2300
|
() => {
|
|
2099
2301
|
if (!elementId) {
|
|
@@ -2111,15 +2313,15 @@ function useComputedStyle(elementId) {
|
|
|
2111
2313
|
}
|
|
2112
2314
|
|
|
2113
2315
|
// src/components/style-sections/layout-section/align-content-field.tsx
|
|
2114
|
-
var
|
|
2316
|
+
var React35 = __toESM(require("react"));
|
|
2115
2317
|
var import_editor_controls14 = require("@elementor/editor-controls");
|
|
2116
2318
|
var import_icons8 = require("@elementor/icons");
|
|
2117
2319
|
var import_ui27 = require("@elementor/ui");
|
|
2118
|
-
var
|
|
2320
|
+
var import_i18n12 = require("@wordpress/i18n");
|
|
2119
2321
|
|
|
2120
2322
|
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
2121
|
-
var
|
|
2122
|
-
var
|
|
2323
|
+
var React34 = __toESM(require("react"));
|
|
2324
|
+
var import_react22 = require("react");
|
|
2123
2325
|
var import_ui26 = require("@elementor/ui");
|
|
2124
2326
|
var CLOCKWISE_ANGLES = {
|
|
2125
2327
|
row: 0,
|
|
@@ -2140,9 +2342,9 @@ var RotatedIcon = ({
|
|
|
2140
2342
|
offset = 0,
|
|
2141
2343
|
disableRotationForReversed = false
|
|
2142
2344
|
}) => {
|
|
2143
|
-
const rotate = (0,
|
|
2345
|
+
const rotate = (0, import_react22.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
|
|
2144
2346
|
rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
|
|
2145
|
-
return /* @__PURE__ */
|
|
2347
|
+
return /* @__PURE__ */ React34.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
2146
2348
|
};
|
|
2147
2349
|
var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
|
|
2148
2350
|
const [direction] = useStylesField("flex-direction");
|
|
@@ -2171,52 +2373,52 @@ var iconProps = {
|
|
|
2171
2373
|
var options = [
|
|
2172
2374
|
{
|
|
2173
2375
|
value: "start",
|
|
2174
|
-
label: (0,
|
|
2175
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2376
|
+
label: (0, import_i18n12.__)("Start", "elementor"),
|
|
2377
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
|
|
2176
2378
|
showTooltip: true
|
|
2177
2379
|
},
|
|
2178
2380
|
{
|
|
2179
2381
|
value: "center",
|
|
2180
|
-
label: (0,
|
|
2181
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2382
|
+
label: (0, import_i18n12.__)("Center", "elementor"),
|
|
2383
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons8.JustifyCenterIcon, size, ...iconProps }),
|
|
2182
2384
|
showTooltip: true
|
|
2183
2385
|
},
|
|
2184
2386
|
{
|
|
2185
2387
|
value: "end",
|
|
2186
|
-
label: (0,
|
|
2187
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2388
|
+
label: (0, import_i18n12.__)("End", "elementor"),
|
|
2389
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
|
|
2188
2390
|
showTooltip: true
|
|
2189
2391
|
},
|
|
2190
2392
|
{
|
|
2191
2393
|
value: "space-between",
|
|
2192
|
-
label: (0,
|
|
2193
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2394
|
+
label: (0, import_i18n12.__)("Space between", "elementor"),
|
|
2395
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceBetweenVerticalIcon, size, ...iconProps }),
|
|
2194
2396
|
showTooltip: true
|
|
2195
2397
|
},
|
|
2196
2398
|
{
|
|
2197
2399
|
value: "space-around",
|
|
2198
|
-
label: (0,
|
|
2199
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2400
|
+
label: (0, import_i18n12.__)("Space around", "elementor"),
|
|
2401
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceAroundVerticalIcon, size, ...iconProps }),
|
|
2200
2402
|
showTooltip: true
|
|
2201
2403
|
},
|
|
2202
2404
|
{
|
|
2203
2405
|
value: "space-evenly",
|
|
2204
|
-
label: (0,
|
|
2205
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2406
|
+
label: (0, import_i18n12.__)("Space evenly", "elementor"),
|
|
2407
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons8.JustifyDistributeVerticalIcon, size, ...iconProps }),
|
|
2206
2408
|
showTooltip: true
|
|
2207
2409
|
}
|
|
2208
2410
|
];
|
|
2209
2411
|
var AlignContentField = () => {
|
|
2210
2412
|
const { isSiteRtl } = useDirection();
|
|
2211
|
-
return /* @__PURE__ */
|
|
2413
|
+
return /* @__PURE__ */ React35.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React35.createElement(import_ui27.Stack, { gap: 1 }, /* @__PURE__ */ React35.createElement(ControlLabel, null, (0, import_i18n12.__)("Align content", "elementor")), /* @__PURE__ */ React35.createElement(import_editor_controls14.ToggleControl, { options, fullWidth: true })))));
|
|
2212
2414
|
};
|
|
2213
2415
|
|
|
2214
2416
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
2215
|
-
var
|
|
2417
|
+
var React36 = __toESM(require("react"));
|
|
2216
2418
|
var import_editor_controls15 = require("@elementor/editor-controls");
|
|
2217
2419
|
var import_icons9 = require("@elementor/icons");
|
|
2218
2420
|
var import_ui28 = require("@elementor/ui");
|
|
2219
|
-
var
|
|
2421
|
+
var import_i18n13 = require("@wordpress/i18n");
|
|
2220
2422
|
var StartIcon2 = (0, import_ui28.withDirection)(import_icons9.LayoutAlignLeftIcon);
|
|
2221
2423
|
var EndIcon2 = (0, import_ui28.withDirection)(import_icons9.LayoutAlignRightIcon);
|
|
2222
2424
|
var iconProps2 = {
|
|
@@ -2226,40 +2428,40 @@ var iconProps2 = {
|
|
|
2226
2428
|
var options2 = [
|
|
2227
2429
|
{
|
|
2228
2430
|
value: "start",
|
|
2229
|
-
label: (0,
|
|
2230
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2431
|
+
label: (0, import_i18n13.__)("Start", "elementor"),
|
|
2432
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
|
|
2231
2433
|
showTooltip: true
|
|
2232
2434
|
},
|
|
2233
2435
|
{
|
|
2234
2436
|
value: "center",
|
|
2235
|
-
label: (0,
|
|
2236
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2437
|
+
label: (0, import_i18n13.__)("Center", "elementor"),
|
|
2438
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
|
|
2237
2439
|
showTooltip: true
|
|
2238
2440
|
},
|
|
2239
2441
|
{
|
|
2240
2442
|
value: "end",
|
|
2241
|
-
label: (0,
|
|
2242
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2443
|
+
label: (0, import_i18n13.__)("End", "elementor"),
|
|
2444
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
|
|
2243
2445
|
showTooltip: true
|
|
2244
2446
|
},
|
|
2245
2447
|
{
|
|
2246
2448
|
value: "stretch",
|
|
2247
|
-
label: (0,
|
|
2248
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2449
|
+
label: (0, import_i18n13.__)("Stretch", "elementor"),
|
|
2450
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
|
|
2249
2451
|
showTooltip: true
|
|
2250
2452
|
}
|
|
2251
2453
|
];
|
|
2252
2454
|
var AlignItemsField = () => {
|
|
2253
2455
|
const { isSiteRtl } = useDirection();
|
|
2254
|
-
return /* @__PURE__ */
|
|
2456
|
+
return /* @__PURE__ */ React36.createElement(import_ui28.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui28.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React36.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(ControlLabel, null, (0, import_i18n13.__)("Align items", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React36.createElement(import_editor_controls15.ToggleControl, { options: options2 }))))));
|
|
2255
2457
|
};
|
|
2256
2458
|
|
|
2257
2459
|
// src/components/style-sections/layout-section/align-self-child-field.tsx
|
|
2258
|
-
var
|
|
2460
|
+
var React37 = __toESM(require("react"));
|
|
2259
2461
|
var import_editor_controls16 = require("@elementor/editor-controls");
|
|
2260
2462
|
var import_icons10 = require("@elementor/icons");
|
|
2261
2463
|
var import_ui29 = require("@elementor/ui");
|
|
2262
|
-
var
|
|
2464
|
+
var import_i18n14 = require("@wordpress/i18n");
|
|
2263
2465
|
var ALIGN_SELF_CHILD_OFFSET_MAP = {
|
|
2264
2466
|
row: 90,
|
|
2265
2467
|
"row-reverse": 90,
|
|
@@ -2274,8 +2476,8 @@ var iconProps3 = {
|
|
|
2274
2476
|
var getOptions = (parentStyleDirection) => [
|
|
2275
2477
|
{
|
|
2276
2478
|
value: "start",
|
|
2277
|
-
label: (0,
|
|
2278
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2479
|
+
label: (0, import_i18n14.__)("Start", "elementor"),
|
|
2480
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(
|
|
2279
2481
|
RotatedIcon,
|
|
2280
2482
|
{
|
|
2281
2483
|
icon: StartIcon3,
|
|
@@ -2288,8 +2490,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2288
2490
|
},
|
|
2289
2491
|
{
|
|
2290
2492
|
value: "center",
|
|
2291
|
-
label: (0,
|
|
2292
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2493
|
+
label: (0, import_i18n14.__)("Center", "elementor"),
|
|
2494
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(
|
|
2293
2495
|
RotatedIcon,
|
|
2294
2496
|
{
|
|
2295
2497
|
icon: import_icons10.LayoutAlignCenterIcon,
|
|
@@ -2302,8 +2504,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2302
2504
|
},
|
|
2303
2505
|
{
|
|
2304
2506
|
value: "end",
|
|
2305
|
-
label: (0,
|
|
2306
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2507
|
+
label: (0, import_i18n14.__)("End", "elementor"),
|
|
2508
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(
|
|
2307
2509
|
RotatedIcon,
|
|
2308
2510
|
{
|
|
2309
2511
|
icon: EndIcon3,
|
|
@@ -2316,8 +2518,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2316
2518
|
},
|
|
2317
2519
|
{
|
|
2318
2520
|
value: "stretch",
|
|
2319
|
-
label: (0,
|
|
2320
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2521
|
+
label: (0, import_i18n14.__)("Stretch", "elementor"),
|
|
2522
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(
|
|
2321
2523
|
RotatedIcon,
|
|
2322
2524
|
{
|
|
2323
2525
|
icon: import_icons10.LayoutDistributeVerticalIcon,
|
|
@@ -2331,107 +2533,107 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2331
2533
|
];
|
|
2332
2534
|
var AlignSelfChild = ({ parentStyleDirection }) => {
|
|
2333
2535
|
const { isSiteRtl } = useDirection();
|
|
2334
|
-
return /* @__PURE__ */
|
|
2536
|
+
return /* @__PURE__ */ React37.createElement(import_ui29.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(import_ui29.ThemeProvider, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React37.createElement(import_ui29.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n14.__)("Align self", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui29.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React37.createElement(import_editor_controls16.ToggleControl, { options: getOptions(parentStyleDirection) }))))));
|
|
2335
2537
|
};
|
|
2336
2538
|
|
|
2337
2539
|
// src/components/style-sections/layout-section/display-field.tsx
|
|
2338
|
-
var
|
|
2540
|
+
var React38 = __toESM(require("react"));
|
|
2339
2541
|
var import_editor_controls17 = require("@elementor/editor-controls");
|
|
2340
|
-
var
|
|
2542
|
+
var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
|
|
2341
2543
|
var import_ui30 = require("@elementor/ui");
|
|
2342
|
-
var
|
|
2544
|
+
var import_i18n15 = require("@wordpress/i18n");
|
|
2343
2545
|
var displayFieldItems = [
|
|
2344
2546
|
{
|
|
2345
2547
|
value: "block",
|
|
2346
|
-
renderContent: () => (0,
|
|
2347
|
-
label: (0,
|
|
2548
|
+
renderContent: () => (0, import_i18n15.__)("Block", "elementor"),
|
|
2549
|
+
label: (0, import_i18n15.__)("Block", "elementor"),
|
|
2348
2550
|
showTooltip: true
|
|
2349
2551
|
},
|
|
2350
2552
|
{
|
|
2351
2553
|
value: "flex",
|
|
2352
|
-
renderContent: () => (0,
|
|
2353
|
-
label: (0,
|
|
2554
|
+
renderContent: () => (0, import_i18n15.__)("Flex", "elementor"),
|
|
2555
|
+
label: (0, import_i18n15.__)("Flex", "elementor"),
|
|
2354
2556
|
showTooltip: true
|
|
2355
2557
|
},
|
|
2356
2558
|
{
|
|
2357
2559
|
value: "inline-block",
|
|
2358
|
-
renderContent: () => (0,
|
|
2359
|
-
label: (0,
|
|
2560
|
+
renderContent: () => (0, import_i18n15.__)("In-blk", "elementor"),
|
|
2561
|
+
label: (0, import_i18n15.__)("Inline-block", "elementor"),
|
|
2360
2562
|
showTooltip: true
|
|
2361
2563
|
}
|
|
2362
2564
|
];
|
|
2363
2565
|
var DisplayField = () => {
|
|
2364
|
-
const isDisplayNoneFeatureActive = (0,
|
|
2566
|
+
const isDisplayNoneFeatureActive = (0, import_editor_v1_adapters7.isExperimentActive)("e_v_3_30");
|
|
2365
2567
|
const items3 = [...displayFieldItems];
|
|
2366
2568
|
if (isDisplayNoneFeatureActive) {
|
|
2367
2569
|
items3.push({
|
|
2368
2570
|
value: "none",
|
|
2369
|
-
renderContent: () => (0,
|
|
2370
|
-
label: (0,
|
|
2571
|
+
renderContent: () => (0, import_i18n15.__)("None", "elementor"),
|
|
2572
|
+
label: (0, import_i18n15.__)("None", "elementor"),
|
|
2371
2573
|
showTooltip: true
|
|
2372
2574
|
});
|
|
2373
2575
|
}
|
|
2374
2576
|
items3.push({
|
|
2375
2577
|
value: "inline-flex",
|
|
2376
|
-
renderContent: () => (0,
|
|
2377
|
-
label: (0,
|
|
2578
|
+
renderContent: () => (0, import_i18n15.__)("In-flx", "elementor"),
|
|
2579
|
+
label: (0, import_i18n15.__)("Inline-flex", "elementor"),
|
|
2378
2580
|
showTooltip: true
|
|
2379
2581
|
});
|
|
2380
2582
|
const placeholder = useDisplayPlaceholderValue();
|
|
2381
|
-
return /* @__PURE__ */
|
|
2583
|
+
return /* @__PURE__ */ React38.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React38.createElement(import_ui30.Stack, { gap: 0.75 }, /* @__PURE__ */ React38.createElement(ControlLabel, null, (0, import_i18n15.__)("Display", "elementor")), /* @__PURE__ */ React38.createElement(import_editor_controls17.ToggleControl, { options: items3, maxItems: 4, fullWidth: true })));
|
|
2382
2584
|
};
|
|
2383
2585
|
var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
|
|
2384
2586
|
|
|
2385
2587
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
2386
|
-
var
|
|
2588
|
+
var React39 = __toESM(require("react"));
|
|
2387
2589
|
var import_editor_controls18 = require("@elementor/editor-controls");
|
|
2388
2590
|
var import_icons11 = require("@elementor/icons");
|
|
2389
2591
|
var import_ui31 = require("@elementor/ui");
|
|
2390
|
-
var
|
|
2592
|
+
var import_i18n16 = require("@wordpress/i18n");
|
|
2391
2593
|
var options3 = [
|
|
2392
2594
|
{
|
|
2393
2595
|
value: "row",
|
|
2394
|
-
label: (0,
|
|
2596
|
+
label: (0, import_i18n16.__)("Row", "elementor"),
|
|
2395
2597
|
renderContent: ({ size }) => {
|
|
2396
2598
|
const StartIcon5 = (0, import_ui31.withDirection)(import_icons11.ArrowRightIcon);
|
|
2397
|
-
return /* @__PURE__ */
|
|
2599
|
+
return /* @__PURE__ */ React39.createElement(StartIcon5, { fontSize: size });
|
|
2398
2600
|
},
|
|
2399
2601
|
showTooltip: true
|
|
2400
2602
|
},
|
|
2401
2603
|
{
|
|
2402
2604
|
value: "column",
|
|
2403
|
-
label: (0,
|
|
2404
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2605
|
+
label: (0, import_i18n16.__)("Column", "elementor"),
|
|
2606
|
+
renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
|
|
2405
2607
|
showTooltip: true
|
|
2406
2608
|
},
|
|
2407
2609
|
{
|
|
2408
2610
|
value: "row-reverse",
|
|
2409
|
-
label: (0,
|
|
2611
|
+
label: (0, import_i18n16.__)("Reversed row", "elementor"),
|
|
2410
2612
|
renderContent: ({ size }) => {
|
|
2411
2613
|
const EndIcon5 = (0, import_ui31.withDirection)(import_icons11.ArrowLeftIcon);
|
|
2412
|
-
return /* @__PURE__ */
|
|
2614
|
+
return /* @__PURE__ */ React39.createElement(EndIcon5, { fontSize: size });
|
|
2413
2615
|
},
|
|
2414
2616
|
showTooltip: true
|
|
2415
2617
|
},
|
|
2416
2618
|
{
|
|
2417
2619
|
value: "column-reverse",
|
|
2418
|
-
label: (0,
|
|
2419
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2620
|
+
label: (0, import_i18n16.__)("Reversed column", "elementor"),
|
|
2621
|
+
renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
|
|
2420
2622
|
showTooltip: true
|
|
2421
2623
|
}
|
|
2422
2624
|
];
|
|
2423
2625
|
var FlexDirectionField = () => {
|
|
2424
2626
|
const { isSiteRtl } = useDirection();
|
|
2425
|
-
return /* @__PURE__ */
|
|
2627
|
+
return /* @__PURE__ */ React39.createElement(import_ui31.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React39.createElement(import_ui31.ThemeProvider, null, /* @__PURE__ */ React39.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React39.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(ControlLabel, null, (0, import_i18n16.__)("Direction", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui31.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React39.createElement(import_editor_controls18.ToggleControl, { options: options3 }))))));
|
|
2426
2628
|
};
|
|
2427
2629
|
|
|
2428
2630
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
2429
|
-
var
|
|
2430
|
-
var
|
|
2631
|
+
var React40 = __toESM(require("react"));
|
|
2632
|
+
var import_react23 = require("react");
|
|
2431
2633
|
var import_editor_controls19 = require("@elementor/editor-controls");
|
|
2432
2634
|
var import_icons12 = require("@elementor/icons");
|
|
2433
2635
|
var import_ui32 = require("@elementor/ui");
|
|
2434
|
-
var
|
|
2636
|
+
var import_i18n17 = require("@wordpress/i18n");
|
|
2435
2637
|
var FIRST_DEFAULT_VALUE = -99999;
|
|
2436
2638
|
var LAST_DEFAULT_VALUE = 99999;
|
|
2437
2639
|
var FIRST = "first";
|
|
@@ -2444,26 +2646,26 @@ var orderValueMap = {
|
|
|
2444
2646
|
var items = [
|
|
2445
2647
|
{
|
|
2446
2648
|
value: FIRST,
|
|
2447
|
-
label: (0,
|
|
2448
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2649
|
+
label: (0, import_i18n17.__)("First", "elementor"),
|
|
2650
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons12.ArrowUpSmallIcon, { fontSize: size }),
|
|
2449
2651
|
showTooltip: true
|
|
2450
2652
|
},
|
|
2451
2653
|
{
|
|
2452
2654
|
value: LAST,
|
|
2453
|
-
label: (0,
|
|
2454
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2655
|
+
label: (0, import_i18n17.__)("Last", "elementor"),
|
|
2656
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons12.ArrowDownSmallIcon, { fontSize: size }),
|
|
2455
2657
|
showTooltip: true
|
|
2456
2658
|
},
|
|
2457
2659
|
{
|
|
2458
2660
|
value: CUSTOM,
|
|
2459
|
-
label: (0,
|
|
2460
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2661
|
+
label: (0, import_i18n17.__)("Custom", "elementor"),
|
|
2662
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons12.PencilIcon, { fontSize: size }),
|
|
2461
2663
|
showTooltip: true
|
|
2462
2664
|
}
|
|
2463
2665
|
];
|
|
2464
2666
|
var FlexOrderField = () => {
|
|
2465
2667
|
const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
|
|
2466
|
-
const [groupControlValue, setGroupControlValue] = (0,
|
|
2668
|
+
const [groupControlValue, setGroupControlValue] = (0, import_react23.useState)(getGroupControlValue(order?.value || null));
|
|
2467
2669
|
const handleToggleButtonChange = (group) => {
|
|
2468
2670
|
setGroupControlValue(group);
|
|
2469
2671
|
if (!group || group === CUSTOM) {
|
|
@@ -2472,7 +2674,7 @@ var FlexOrderField = () => {
|
|
|
2472
2674
|
}
|
|
2473
2675
|
setOrder({ $$type: "number", value: orderValueMap[group] });
|
|
2474
2676
|
};
|
|
2475
|
-
return /* @__PURE__ */
|
|
2677
|
+
return /* @__PURE__ */ React40.createElement(import_ui32.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(import_ui32.ThemeProvider, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Order", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(
|
|
2476
2678
|
import_editor_controls19.ControlToggleButtonGroup,
|
|
2477
2679
|
{
|
|
2478
2680
|
items,
|
|
@@ -2480,7 +2682,7 @@ var FlexOrderField = () => {
|
|
|
2480
2682
|
onChange: handleToggleButtonChange,
|
|
2481
2683
|
exclusive: true
|
|
2482
2684
|
}
|
|
2483
|
-
))), CUSTOM === groupControlValue && /* @__PURE__ */
|
|
2685
|
+
))), CUSTOM === groupControlValue && /* @__PURE__ */ React40.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Custom order", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(
|
|
2484
2686
|
import_editor_controls19.NumberControl,
|
|
2485
2687
|
{
|
|
2486
2688
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
@@ -2500,31 +2702,31 @@ var getGroupControlValue = (order) => {
|
|
|
2500
2702
|
};
|
|
2501
2703
|
|
|
2502
2704
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
2503
|
-
var
|
|
2504
|
-
var
|
|
2705
|
+
var React41 = __toESM(require("react"));
|
|
2706
|
+
var import_react24 = require("react");
|
|
2505
2707
|
var import_editor_controls20 = require("@elementor/editor-controls");
|
|
2506
|
-
var
|
|
2708
|
+
var import_editor_props9 = require("@elementor/editor-props");
|
|
2507
2709
|
var import_icons13 = require("@elementor/icons");
|
|
2508
2710
|
var import_ui33 = require("@elementor/ui");
|
|
2509
|
-
var
|
|
2711
|
+
var import_i18n18 = require("@wordpress/i18n");
|
|
2510
2712
|
var DEFAULT = 1;
|
|
2511
2713
|
var items2 = [
|
|
2512
2714
|
{
|
|
2513
2715
|
value: "flex-grow",
|
|
2514
|
-
label: (0,
|
|
2515
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2716
|
+
label: (0, import_i18n18.__)("Grow", "elementor"),
|
|
2717
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons13.ExpandIcon, { fontSize: size }),
|
|
2516
2718
|
showTooltip: true
|
|
2517
2719
|
},
|
|
2518
2720
|
{
|
|
2519
2721
|
value: "flex-shrink",
|
|
2520
|
-
label: (0,
|
|
2521
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2722
|
+
label: (0, import_i18n18.__)("Shrink", "elementor"),
|
|
2723
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons13.ShrinkIcon, { fontSize: size }),
|
|
2522
2724
|
showTooltip: true
|
|
2523
2725
|
},
|
|
2524
2726
|
{
|
|
2525
2727
|
value: "custom",
|
|
2526
|
-
label: (0,
|
|
2527
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2728
|
+
label: (0, import_i18n18.__)("Custom", "elementor"),
|
|
2729
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons13.PencilIcon, { fontSize: size }),
|
|
2528
2730
|
showTooltip: true
|
|
2529
2731
|
}
|
|
2530
2732
|
];
|
|
@@ -2534,7 +2736,7 @@ var FlexSizeField = () => {
|
|
|
2534
2736
|
const grow = fields?.["flex-grow"]?.value || null;
|
|
2535
2737
|
const shrink = fields?.["flex-shrink"]?.value || null;
|
|
2536
2738
|
const basis = fields?.["flex-basis"]?.value || null;
|
|
2537
|
-
const currentGroup = (0,
|
|
2739
|
+
const currentGroup = (0, import_react24.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react24.useState)(currentGroup);
|
|
2538
2740
|
const onChangeGroup = (group = null) => {
|
|
2539
2741
|
setActiveGroup(group);
|
|
2540
2742
|
if (!group || group === "custom") {
|
|
@@ -2548,7 +2750,7 @@ var FlexSizeField = () => {
|
|
|
2548
2750
|
if (group === "flex-grow") {
|
|
2549
2751
|
setFields({
|
|
2550
2752
|
"flex-basis": null,
|
|
2551
|
-
"flex-grow":
|
|
2753
|
+
"flex-grow": import_editor_props9.numberPropTypeUtil.create(DEFAULT),
|
|
2552
2754
|
"flex-shrink": null
|
|
2553
2755
|
});
|
|
2554
2756
|
return;
|
|
@@ -2556,10 +2758,10 @@ var FlexSizeField = () => {
|
|
|
2556
2758
|
setFields({
|
|
2557
2759
|
"flex-basis": null,
|
|
2558
2760
|
"flex-grow": null,
|
|
2559
|
-
"flex-shrink":
|
|
2761
|
+
"flex-shrink": import_editor_props9.numberPropTypeUtil.create(DEFAULT)
|
|
2560
2762
|
});
|
|
2561
2763
|
};
|
|
2562
|
-
return /* @__PURE__ */
|
|
2764
|
+
return /* @__PURE__ */ React41.createElement(import_ui33.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React41.createElement(import_ui33.ThemeProvider, null, /* @__PURE__ */ React41.createElement(SectionContent, null, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n18.__)("Size", "elementor")))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(
|
|
2563
2765
|
import_editor_controls20.ControlToggleButtonGroup,
|
|
2564
2766
|
{
|
|
2565
2767
|
value: activeGroup,
|
|
@@ -2567,9 +2769,9 @@ var FlexSizeField = () => {
|
|
|
2567
2769
|
items: items2,
|
|
2568
2770
|
exclusive: true
|
|
2569
2771
|
}
|
|
2570
|
-
))), "custom" === activeGroup && /* @__PURE__ */
|
|
2772
|
+
))), "custom" === activeGroup && /* @__PURE__ */ React41.createElement(FlexCustomField, null))));
|
|
2571
2773
|
};
|
|
2572
|
-
var FlexCustomField = () => /* @__PURE__ */
|
|
2774
|
+
var FlexCustomField = () => /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n18.__)("Grow", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React41.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n18.__)("Shrink", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React41.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n18.__)("Basis", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(import_editor_controls20.SizeControl, { extendedValues: ["auto"] })))));
|
|
2573
2775
|
var getActiveGroup = ({
|
|
2574
2776
|
grow,
|
|
2575
2777
|
shrink,
|
|
@@ -2591,20 +2793,20 @@ var getActiveGroup = ({
|
|
|
2591
2793
|
};
|
|
2592
2794
|
|
|
2593
2795
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
2594
|
-
var
|
|
2796
|
+
var React42 = __toESM(require("react"));
|
|
2595
2797
|
var import_editor_controls21 = require("@elementor/editor-controls");
|
|
2596
2798
|
var import_ui34 = require("@elementor/ui");
|
|
2597
|
-
var
|
|
2799
|
+
var import_i18n19 = require("@wordpress/i18n");
|
|
2598
2800
|
var GapControlField = () => {
|
|
2599
|
-
return /* @__PURE__ */
|
|
2801
|
+
return /* @__PURE__ */ React42.createElement(import_ui34.Stack, { gap: 1 }, /* @__PURE__ */ React42.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React42.createElement(import_editor_controls21.GapControl, { label: (0, import_i18n19.__)("Gaps", "elementor") })));
|
|
2600
2802
|
};
|
|
2601
2803
|
|
|
2602
2804
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
2603
|
-
var
|
|
2805
|
+
var React43 = __toESM(require("react"));
|
|
2604
2806
|
var import_editor_controls22 = require("@elementor/editor-controls");
|
|
2605
2807
|
var import_icons14 = require("@elementor/icons");
|
|
2606
2808
|
var import_ui35 = require("@elementor/ui");
|
|
2607
|
-
var
|
|
2809
|
+
var import_i18n20 = require("@wordpress/i18n");
|
|
2608
2810
|
var StartIcon4 = (0, import_ui35.withDirection)(import_icons14.JustifyTopIcon);
|
|
2609
2811
|
var EndIcon4 = (0, import_ui35.withDirection)(import_icons14.JustifyBottomIcon);
|
|
2610
2812
|
var iconProps4 = {
|
|
@@ -2614,75 +2816,75 @@ var iconProps4 = {
|
|
|
2614
2816
|
var options4 = [
|
|
2615
2817
|
{
|
|
2616
2818
|
value: "flex-start",
|
|
2617
|
-
label: (0,
|
|
2618
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2819
|
+
label: (0, import_i18n20.__)("Start", "elementor"),
|
|
2820
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
|
|
2619
2821
|
showTooltip: true
|
|
2620
2822
|
},
|
|
2621
2823
|
{
|
|
2622
2824
|
value: "center",
|
|
2623
|
-
label: (0,
|
|
2624
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2825
|
+
label: (0, import_i18n20.__)("Center", "elementor"),
|
|
2826
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: import_icons14.JustifyCenterIcon, size, ...iconProps4 }),
|
|
2625
2827
|
showTooltip: true
|
|
2626
2828
|
},
|
|
2627
2829
|
{
|
|
2628
2830
|
value: "flex-end",
|
|
2629
|
-
label: (0,
|
|
2630
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2831
|
+
label: (0, import_i18n20.__)("End", "elementor"),
|
|
2832
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
|
|
2631
2833
|
showTooltip: true
|
|
2632
2834
|
},
|
|
2633
2835
|
{
|
|
2634
2836
|
value: "space-between",
|
|
2635
|
-
label: (0,
|
|
2636
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2837
|
+
label: (0, import_i18n20.__)("Space between", "elementor"),
|
|
2838
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceBetweenVerticalIcon, size, ...iconProps4 }),
|
|
2637
2839
|
showTooltip: true
|
|
2638
2840
|
},
|
|
2639
2841
|
{
|
|
2640
2842
|
value: "space-around",
|
|
2641
|
-
label: (0,
|
|
2642
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2843
|
+
label: (0, import_i18n20.__)("Space around", "elementor"),
|
|
2844
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceAroundVerticalIcon, size, ...iconProps4 }),
|
|
2643
2845
|
showTooltip: true
|
|
2644
2846
|
},
|
|
2645
2847
|
{
|
|
2646
2848
|
value: "space-evenly",
|
|
2647
|
-
label: (0,
|
|
2648
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2849
|
+
label: (0, import_i18n20.__)("Space evenly", "elementor"),
|
|
2850
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: import_icons14.JustifyDistributeVerticalIcon, size, ...iconProps4 }),
|
|
2649
2851
|
showTooltip: true
|
|
2650
2852
|
}
|
|
2651
2853
|
];
|
|
2652
2854
|
var JustifyContentField = () => {
|
|
2653
2855
|
const { isSiteRtl } = useDirection();
|
|
2654
|
-
return /* @__PURE__ */
|
|
2856
|
+
return /* @__PURE__ */ React43.createElement(import_ui35.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React43.createElement(import_ui35.ThemeProvider, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React43.createElement(import_ui35.Stack, { gap: 0.75 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, (0, import_i18n20.__)("Justify content", "elementor")), /* @__PURE__ */ React43.createElement(import_editor_controls22.ToggleControl, { options: options4, fullWidth: true })))));
|
|
2655
2857
|
};
|
|
2656
2858
|
|
|
2657
2859
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
2658
|
-
var
|
|
2860
|
+
var React44 = __toESM(require("react"));
|
|
2659
2861
|
var import_editor_controls23 = require("@elementor/editor-controls");
|
|
2660
2862
|
var import_icons15 = require("@elementor/icons");
|
|
2661
2863
|
var import_ui36 = require("@elementor/ui");
|
|
2662
|
-
var
|
|
2864
|
+
var import_i18n21 = require("@wordpress/i18n");
|
|
2663
2865
|
var options5 = [
|
|
2664
2866
|
{
|
|
2665
2867
|
value: "nowrap",
|
|
2666
|
-
label: (0,
|
|
2667
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2868
|
+
label: (0, import_i18n21.__)("No wrap", "elementor"),
|
|
2869
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons15.ArrowRightIcon, { fontSize: size }),
|
|
2668
2870
|
showTooltip: true
|
|
2669
2871
|
},
|
|
2670
2872
|
{
|
|
2671
2873
|
value: "wrap",
|
|
2672
|
-
label: (0,
|
|
2673
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2874
|
+
label: (0, import_i18n21.__)("Wrap", "elementor"),
|
|
2875
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons15.ArrowBackIcon, { fontSize: size }),
|
|
2674
2876
|
showTooltip: true
|
|
2675
2877
|
},
|
|
2676
2878
|
{
|
|
2677
2879
|
value: "wrap-reverse",
|
|
2678
|
-
label: (0,
|
|
2679
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2880
|
+
label: (0, import_i18n21.__)("Reversed wrap", "elementor"),
|
|
2881
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons15.ArrowForwardIcon, { fontSize: size }),
|
|
2680
2882
|
showTooltip: true
|
|
2681
2883
|
}
|
|
2682
2884
|
];
|
|
2683
2885
|
var WrapField = () => {
|
|
2684
2886
|
const { isSiteRtl } = useDirection();
|
|
2685
|
-
return /* @__PURE__ */
|
|
2887
|
+
return /* @__PURE__ */ React44.createElement(import_ui36.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React44.createElement(import_ui36.ThemeProvider, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React44.createElement(import_ui36.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, (0, import_i18n21.__)("Wrap", "elementor"))), /* @__PURE__ */ React44.createElement(import_ui36.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React44.createElement(import_editor_controls23.ToggleControl, { options: options5 }))))));
|
|
2686
2888
|
};
|
|
2687
2889
|
|
|
2688
2890
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
@@ -2694,13 +2896,13 @@ var LayoutSection = () => {
|
|
|
2694
2896
|
const parent = (0, import_editor_elements7.useParentElement)(element.id);
|
|
2695
2897
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
2696
2898
|
const parentStyleDirection = parentStyle?.flexDirection ?? "row";
|
|
2697
|
-
return /* @__PURE__ */
|
|
2899
|
+
return /* @__PURE__ */ React45.createElement(SectionContent, null, /* @__PURE__ */ React45.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React45.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React45.createElement(FlexChildFields, { parentStyleDirection }));
|
|
2698
2900
|
};
|
|
2699
2901
|
var FlexFields = () => {
|
|
2700
2902
|
const [flexWrap] = useStylesField("flex-wrap");
|
|
2701
|
-
return /* @__PURE__ */
|
|
2903
|
+
return /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(FlexDirectionField, null), /* @__PURE__ */ React45.createElement(JustifyContentField, null), /* @__PURE__ */ React45.createElement(AlignItemsField, null), /* @__PURE__ */ React45.createElement(PanelDivider, null), /* @__PURE__ */ React45.createElement(GapControlField, null), /* @__PURE__ */ React45.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React45.createElement(AlignContentField, null));
|
|
2702
2904
|
};
|
|
2703
|
-
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */
|
|
2905
|
+
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(PanelDivider, null), /* @__PURE__ */ React45.createElement(import_editor_controls24.ControlFormLabel, null, (0, import_i18n22.__)("Flex child", "elementor")), /* @__PURE__ */ React45.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React45.createElement(FlexOrderField, null), /* @__PURE__ */ React45.createElement(FlexSizeField, null));
|
|
2704
2906
|
var shouldDisplayFlexFields = (display, local) => {
|
|
2705
2907
|
const value = display?.value ?? local?.value;
|
|
2706
2908
|
if (!value) {
|
|
@@ -2710,66 +2912,66 @@ var shouldDisplayFlexFields = (display, local) => {
|
|
|
2710
2912
|
};
|
|
2711
2913
|
|
|
2712
2914
|
// src/components/style-sections/position-section/position-section.tsx
|
|
2713
|
-
var
|
|
2714
|
-
var
|
|
2915
|
+
var React50 = __toESM(require("react"));
|
|
2916
|
+
var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
|
|
2715
2917
|
var import_session3 = require("@elementor/session");
|
|
2716
2918
|
|
|
2717
2919
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
2718
|
-
var
|
|
2920
|
+
var React46 = __toESM(require("react"));
|
|
2719
2921
|
var import_editor_controls25 = require("@elementor/editor-controls");
|
|
2720
2922
|
var import_icons16 = require("@elementor/icons");
|
|
2721
2923
|
var import_ui37 = require("@elementor/ui");
|
|
2722
|
-
var
|
|
2924
|
+
var import_i18n23 = require("@wordpress/i18n");
|
|
2723
2925
|
var InlineStartIcon2 = (0, import_ui37.withDirection)(import_icons16.SideLeftIcon);
|
|
2724
2926
|
var InlineEndIcon2 = (0, import_ui37.withDirection)(import_icons16.SideRightIcon);
|
|
2725
2927
|
var sideIcons = {
|
|
2726
|
-
"inset-block-start": /* @__PURE__ */
|
|
2727
|
-
"inset-block-end": /* @__PURE__ */
|
|
2728
|
-
"inset-inline-start": /* @__PURE__ */
|
|
2729
|
-
"inset-inline-end": /* @__PURE__ */
|
|
2928
|
+
"inset-block-start": /* @__PURE__ */ React46.createElement(import_icons16.SideTopIcon, { fontSize: "tiny" }),
|
|
2929
|
+
"inset-block-end": /* @__PURE__ */ React46.createElement(import_icons16.SideBottomIcon, { fontSize: "tiny" }),
|
|
2930
|
+
"inset-inline-start": /* @__PURE__ */ React46.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
|
|
2931
|
+
"inset-inline-end": /* @__PURE__ */ React46.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
|
|
2730
2932
|
};
|
|
2731
|
-
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0,
|
|
2732
|
-
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0,
|
|
2933
|
+
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n23.__)("Right", "elementor") : (0, import_i18n23.__)("Left", "elementor");
|
|
2934
|
+
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n23.__)("Left", "elementor") : (0, import_i18n23.__)("Right", "elementor");
|
|
2733
2935
|
var DimensionsField = () => {
|
|
2734
2936
|
const { isSiteRtl } = useDirection();
|
|
2735
|
-
return /* @__PURE__ */
|
|
2937
|
+
return /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(import_ui37.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(DimensionField, { side: "inset-block-start", label: (0, import_i18n23.__)("Top", "elementor") }), /* @__PURE__ */ React46.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React46.createElement(import_ui37.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(DimensionField, { side: "inset-block-end", label: (0, import_i18n23.__)("Bottom", "elementor") }), /* @__PURE__ */ React46.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
|
|
2736
2938
|
};
|
|
2737
2939
|
var DimensionField = ({ side, label }) => {
|
|
2738
|
-
return /* @__PURE__ */
|
|
2940
|
+
return /* @__PURE__ */ React46.createElement(import_ui37.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React46.createElement(import_ui37.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, label)), /* @__PURE__ */ React46.createElement(import_ui37.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React46.createElement(StylesField, { bind: side }, /* @__PURE__ */ React46.createElement(import_editor_controls25.SizeControl, { startIcon: sideIcons[side], extendedValues: ["auto"] }))));
|
|
2739
2941
|
};
|
|
2740
2942
|
|
|
2741
2943
|
// src/components/style-sections/position-section/offset-field.tsx
|
|
2742
|
-
var
|
|
2944
|
+
var React47 = __toESM(require("react"));
|
|
2743
2945
|
var import_editor_controls26 = require("@elementor/editor-controls");
|
|
2744
2946
|
var import_ui38 = require("@elementor/ui");
|
|
2745
|
-
var
|
|
2947
|
+
var import_i18n24 = require("@wordpress/i18n");
|
|
2746
2948
|
var OffsetField = () => {
|
|
2747
|
-
return /* @__PURE__ */
|
|
2949
|
+
return /* @__PURE__ */ React47.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React47.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, (0, import_i18n24.__)("Anchor offset", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls26.SizeControl, { units: ["px", "em", "rem", "vw", "vh"] }))));
|
|
2748
2950
|
};
|
|
2749
2951
|
|
|
2750
2952
|
// src/components/style-sections/position-section/position-field.tsx
|
|
2751
|
-
var
|
|
2953
|
+
var React48 = __toESM(require("react"));
|
|
2752
2954
|
var import_editor_controls27 = require("@elementor/editor-controls");
|
|
2753
2955
|
var import_ui39 = require("@elementor/ui");
|
|
2754
|
-
var
|
|
2956
|
+
var import_i18n25 = require("@wordpress/i18n");
|
|
2755
2957
|
var positionOptions = [
|
|
2756
|
-
{ label: (0,
|
|
2757
|
-
{ label: (0,
|
|
2758
|
-
{ label: (0,
|
|
2759
|
-
{ label: (0,
|
|
2760
|
-
{ label: (0,
|
|
2958
|
+
{ label: (0, import_i18n25.__)("Static", "elementor"), value: "static" },
|
|
2959
|
+
{ label: (0, import_i18n25.__)("Relative", "elementor"), value: "relative" },
|
|
2960
|
+
{ label: (0, import_i18n25.__)("Absolute", "elementor"), value: "absolute" },
|
|
2961
|
+
{ label: (0, import_i18n25.__)("Fixed", "elementor"), value: "fixed" },
|
|
2962
|
+
{ label: (0, import_i18n25.__)("Sticky", "elementor"), value: "sticky" }
|
|
2761
2963
|
];
|
|
2762
2964
|
var PositionField = ({ onChange }) => {
|
|
2763
|
-
return /* @__PURE__ */
|
|
2965
|
+
return /* @__PURE__ */ React48.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React48.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, (0, import_i18n25.__)("Position", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui39.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React48.createElement(import_editor_controls27.SelectControl, { options: positionOptions, onChange }))));
|
|
2764
2966
|
};
|
|
2765
2967
|
|
|
2766
2968
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
2767
|
-
var
|
|
2969
|
+
var React49 = __toESM(require("react"));
|
|
2768
2970
|
var import_editor_controls28 = require("@elementor/editor-controls");
|
|
2769
2971
|
var import_ui40 = require("@elementor/ui");
|
|
2770
|
-
var
|
|
2972
|
+
var import_i18n26 = require("@wordpress/i18n");
|
|
2771
2973
|
var ZIndexField = () => {
|
|
2772
|
-
return /* @__PURE__ */
|
|
2974
|
+
return /* @__PURE__ */ React49.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React49.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, (0, import_i18n26.__)("Z-index", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls28.NumberControl, null))));
|
|
2773
2975
|
};
|
|
2774
2976
|
|
|
2775
2977
|
// src/components/style-sections/position-section/position-section.tsx
|
|
@@ -2782,7 +2984,7 @@ var PositionSection = () => {
|
|
|
2782
2984
|
"inset-inline-end"
|
|
2783
2985
|
]);
|
|
2784
2986
|
const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
|
|
2785
|
-
const isCssIdFeatureActive = (0,
|
|
2987
|
+
const isCssIdFeatureActive = (0, import_editor_v1_adapters8.isExperimentActive)("e_v_3_30");
|
|
2786
2988
|
const onPositionChange = (newPosition, previousPosition) => {
|
|
2787
2989
|
if (newPosition === "static") {
|
|
2788
2990
|
if (dimensionsValues) {
|
|
@@ -2802,7 +3004,7 @@ var PositionSection = () => {
|
|
|
2802
3004
|
}
|
|
2803
3005
|
};
|
|
2804
3006
|
const isNotStatic = positionValue && positionValue?.value !== "static";
|
|
2805
|
-
return /* @__PURE__ */
|
|
3007
|
+
return /* @__PURE__ */ React50.createElement(SectionContent, null, /* @__PURE__ */ React50.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(DimensionsField, null), /* @__PURE__ */ React50.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(PanelDivider, null), /* @__PURE__ */ React50.createElement(OffsetField, null)));
|
|
2806
3008
|
};
|
|
2807
3009
|
var usePersistDimensions = () => {
|
|
2808
3010
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -2812,23 +3014,23 @@ var usePersistDimensions = () => {
|
|
|
2812
3014
|
};
|
|
2813
3015
|
|
|
2814
3016
|
// src/components/style-sections/size-section/size-section.tsx
|
|
2815
|
-
var
|
|
3017
|
+
var React55 = __toESM(require("react"));
|
|
2816
3018
|
var import_editor_controls32 = require("@elementor/editor-controls");
|
|
2817
|
-
var
|
|
3019
|
+
var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
|
|
2818
3020
|
var import_ui45 = require("@elementor/ui");
|
|
2819
|
-
var
|
|
3021
|
+
var import_i18n31 = require("@wordpress/i18n");
|
|
2820
3022
|
|
|
2821
3023
|
// src/components/collapsible-content.tsx
|
|
2822
|
-
var
|
|
2823
|
-
var
|
|
3024
|
+
var React51 = __toESM(require("react"));
|
|
3025
|
+
var import_react25 = require("react");
|
|
2824
3026
|
var import_ui41 = require("@elementor/ui");
|
|
2825
|
-
var
|
|
3027
|
+
var import_i18n27 = require("@wordpress/i18n");
|
|
2826
3028
|
var CollapsibleContent = ({ children, defaultOpen = false }) => {
|
|
2827
|
-
const [open, setOpen] = (0,
|
|
3029
|
+
const [open, setOpen] = (0, import_react25.useState)(defaultOpen);
|
|
2828
3030
|
const handleToggle = () => {
|
|
2829
3031
|
setOpen((prevOpen) => !prevOpen);
|
|
2830
3032
|
};
|
|
2831
|
-
return /* @__PURE__ */
|
|
3033
|
+
return /* @__PURE__ */ React51.createElement(import_ui41.Stack, null, /* @__PURE__ */ React51.createElement(
|
|
2832
3034
|
import_ui41.Button,
|
|
2833
3035
|
{
|
|
2834
3036
|
fullWidth: true,
|
|
@@ -2836,77 +3038,77 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
|
|
|
2836
3038
|
color: "secondary",
|
|
2837
3039
|
variant: "outlined",
|
|
2838
3040
|
onClick: handleToggle,
|
|
2839
|
-
endIcon: /* @__PURE__ */
|
|
3041
|
+
endIcon: /* @__PURE__ */ React51.createElement(CollapseIcon, { open }),
|
|
2840
3042
|
sx: { my: 0.5 }
|
|
2841
3043
|
},
|
|
2842
|
-
open ? (0,
|
|
2843
|
-
), /* @__PURE__ */
|
|
3044
|
+
open ? (0, import_i18n27.__)("Show less", "elementor") : (0, import_i18n27.__)("Show more", "elementor")
|
|
3045
|
+
), /* @__PURE__ */ React51.createElement(import_ui41.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
|
|
2844
3046
|
};
|
|
2845
3047
|
|
|
2846
3048
|
// src/components/style-sections/size-section/object-fit-field.tsx
|
|
2847
|
-
var
|
|
3049
|
+
var React52 = __toESM(require("react"));
|
|
2848
3050
|
var import_editor_controls29 = require("@elementor/editor-controls");
|
|
2849
3051
|
var import_ui42 = require("@elementor/ui");
|
|
2850
|
-
var
|
|
3052
|
+
var import_i18n28 = require("@wordpress/i18n");
|
|
2851
3053
|
var positionOptions2 = [
|
|
2852
|
-
{ label: (0,
|
|
2853
|
-
{ label: (0,
|
|
2854
|
-
{ label: (0,
|
|
2855
|
-
{ label: (0,
|
|
2856
|
-
{ label: (0,
|
|
3054
|
+
{ label: (0, import_i18n28.__)("Fill", "elementor"), value: "fill" },
|
|
3055
|
+
{ label: (0, import_i18n28.__)("Cover", "elementor"), value: "cover" },
|
|
3056
|
+
{ label: (0, import_i18n28.__)("Contain", "elementor"), value: "contain" },
|
|
3057
|
+
{ label: (0, import_i18n28.__)("None", "elementor"), value: "none" },
|
|
3058
|
+
{ label: (0, import_i18n28.__)("Scale down", "elementor"), value: "scale-down" }
|
|
2857
3059
|
];
|
|
2858
3060
|
var ObjectFitField = ({ onChange }) => {
|
|
2859
|
-
return /* @__PURE__ */
|
|
3061
|
+
return /* @__PURE__ */ React52.createElement(StylesField, { bind: "object-fit" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { container: true, pt: 2, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel, null, (0, import_i18n28.__)("Object fit", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React52.createElement(import_editor_controls29.SelectControl, { options: positionOptions2, onChange }))));
|
|
2860
3062
|
};
|
|
2861
3063
|
|
|
2862
3064
|
// src/components/style-sections/size-section/object-position-field.tsx
|
|
2863
|
-
var
|
|
3065
|
+
var React53 = __toESM(require("react"));
|
|
2864
3066
|
var import_editor_controls30 = require("@elementor/editor-controls");
|
|
2865
3067
|
var import_ui43 = require("@elementor/ui");
|
|
2866
|
-
var
|
|
3068
|
+
var import_i18n29 = require("@wordpress/i18n");
|
|
2867
3069
|
var positionOptions3 = [
|
|
2868
|
-
{ label: (0,
|
|
2869
|
-
{ label: (0,
|
|
2870
|
-
{ label: (0,
|
|
2871
|
-
{ label: (0,
|
|
2872
|
-
{ label: (0,
|
|
2873
|
-
{ label: (0,
|
|
2874
|
-
{ label: (0,
|
|
2875
|
-
{ label: (0,
|
|
2876
|
-
{ label: (0,
|
|
3070
|
+
{ label: (0, import_i18n29.__)("Center center", "elementor"), value: "center center" },
|
|
3071
|
+
{ label: (0, import_i18n29.__)("Center left", "elementor"), value: "center left" },
|
|
3072
|
+
{ label: (0, import_i18n29.__)("Center right", "elementor"), value: "center right" },
|
|
3073
|
+
{ label: (0, import_i18n29.__)("Top center", "elementor"), value: "top center" },
|
|
3074
|
+
{ label: (0, import_i18n29.__)("Top left", "elementor"), value: "top left" },
|
|
3075
|
+
{ label: (0, import_i18n29.__)("Top right", "elementor"), value: "top right" },
|
|
3076
|
+
{ label: (0, import_i18n29.__)("Bottom center", "elementor"), value: "bottom center" },
|
|
3077
|
+
{ label: (0, import_i18n29.__)("Bottom left", "elementor"), value: "bottom left" },
|
|
3078
|
+
{ label: (0, import_i18n29.__)("Bottom right", "elementor"), value: "bottom right" }
|
|
2877
3079
|
];
|
|
2878
3080
|
var ObjectPositionField = ({ onChange }) => {
|
|
2879
|
-
return /* @__PURE__ */
|
|
3081
|
+
return /* @__PURE__ */ React53.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { container: true, pt: 2, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel, null, (0, import_i18n29.__)("Object position", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React53.createElement(import_editor_controls30.SelectControl, { options: positionOptions3, onChange }))));
|
|
2880
3082
|
};
|
|
2881
3083
|
|
|
2882
3084
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
2883
|
-
var
|
|
3085
|
+
var React54 = __toESM(require("react"));
|
|
2884
3086
|
var import_editor_controls31 = require("@elementor/editor-controls");
|
|
2885
3087
|
var import_icons17 = require("@elementor/icons");
|
|
2886
3088
|
var import_ui44 = require("@elementor/ui");
|
|
2887
|
-
var
|
|
3089
|
+
var import_i18n30 = require("@wordpress/i18n");
|
|
2888
3090
|
var options6 = [
|
|
2889
3091
|
{
|
|
2890
3092
|
value: "visible",
|
|
2891
|
-
label: (0,
|
|
2892
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3093
|
+
label: (0, import_i18n30.__)("Visible", "elementor"),
|
|
3094
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons17.EyeIcon, { fontSize: size }),
|
|
2893
3095
|
showTooltip: true
|
|
2894
3096
|
},
|
|
2895
3097
|
{
|
|
2896
3098
|
value: "hidden",
|
|
2897
|
-
label: (0,
|
|
2898
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3099
|
+
label: (0, import_i18n30.__)("Hidden", "elementor"),
|
|
3100
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons17.EyeOffIcon, { fontSize: size }),
|
|
2899
3101
|
showTooltip: true
|
|
2900
3102
|
},
|
|
2901
3103
|
{
|
|
2902
3104
|
value: "auto",
|
|
2903
|
-
label: (0,
|
|
2904
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3105
|
+
label: (0, import_i18n30.__)("Auto", "elementor"),
|
|
3106
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons17.LetterAIcon, { fontSize: size }),
|
|
2905
3107
|
showTooltip: true
|
|
2906
3108
|
}
|
|
2907
3109
|
];
|
|
2908
3110
|
var OverflowField = () => {
|
|
2909
|
-
return /* @__PURE__ */
|
|
3111
|
+
return /* @__PURE__ */ React54.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, (0, import_i18n30.__)("Overflow", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React54.createElement(import_editor_controls31.ToggleControl, { options: options6 }))));
|
|
2910
3112
|
};
|
|
2911
3113
|
|
|
2912
3114
|
// src/components/style-sections/size-section/size-section.tsx
|
|
@@ -2921,78 +3123,78 @@ var SizeSection = () => {
|
|
|
2921
3123
|
});
|
|
2922
3124
|
}
|
|
2923
3125
|
};
|
|
2924
|
-
const isVersion330Active = (0,
|
|
2925
|
-
return /* @__PURE__ */
|
|
3126
|
+
const isVersion330Active = (0, import_editor_v1_adapters9.isExperimentActive)("e_v_3_30");
|
|
3127
|
+
return /* @__PURE__ */ React55.createElement(SectionContent, null, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeField, { bind: "width", label: (0, import_i18n31.__)("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeField, { bind: "height", label: (0, import_i18n31.__)("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(
|
|
2926
3128
|
SizeField,
|
|
2927
3129
|
{
|
|
2928
3130
|
bind: "min-width",
|
|
2929
|
-
label: (0,
|
|
3131
|
+
label: (0, import_i18n31.__)("Min width", "elementor"),
|
|
2930
3132
|
extendedValues: ["auto"]
|
|
2931
3133
|
}
|
|
2932
|
-
)), /* @__PURE__ */
|
|
3134
|
+
)), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(
|
|
2933
3135
|
SizeField,
|
|
2934
3136
|
{
|
|
2935
3137
|
bind: "min-height",
|
|
2936
|
-
label: (0,
|
|
3138
|
+
label: (0, import_i18n31.__)("Min height", "elementor"),
|
|
2937
3139
|
extendedValues: ["auto"]
|
|
2938
3140
|
}
|
|
2939
|
-
))), /* @__PURE__ */
|
|
3141
|
+
))), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeField, { bind: "max-width", label: (0, import_i18n31.__)("Max width", "elementor") })), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeField, { bind: "max-height", label: (0, import_i18n31.__)("Max height", "elementor") }))), /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.createElement(import_ui45.Stack, null, /* @__PURE__ */ React55.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React55.createElement(import_ui45.Stack, null, /* @__PURE__ */ React55.createElement(StylesField, { bind: "aspect-ratio" }, /* @__PURE__ */ React55.createElement(import_editor_controls32.AspectRatioControl, { label: (0, import_i18n31.__)("Aspect Ratio", "elementor") }))), isVersion330Active && /* @__PURE__ */ React55.createElement(CollapsibleContent, null, /* @__PURE__ */ React55.createElement(ObjectFitField, { onChange: onFitChange }), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, isNotFill && /* @__PURE__ */ React55.createElement(ObjectPositionField, null))));
|
|
2940
3142
|
};
|
|
2941
3143
|
var SizeField = ({ label, bind, extendedValues }) => {
|
|
2942
|
-
return /* @__PURE__ */
|
|
3144
|
+
return /* @__PURE__ */ React55.createElement(StylesField, { bind }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, label)), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React55.createElement(import_editor_controls32.SizeControl, { extendedValues }))));
|
|
2943
3145
|
};
|
|
2944
3146
|
|
|
2945
3147
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
2946
|
-
var
|
|
3148
|
+
var React56 = __toESM(require("react"));
|
|
2947
3149
|
var import_editor_controls33 = require("@elementor/editor-controls");
|
|
2948
|
-
var
|
|
3150
|
+
var import_i18n32 = require("@wordpress/i18n");
|
|
2949
3151
|
var SpacingSection = () => {
|
|
2950
3152
|
const { isSiteRtl } = useDirection();
|
|
2951
|
-
return /* @__PURE__ */
|
|
3153
|
+
return /* @__PURE__ */ React56.createElement(SectionContent, null, /* @__PURE__ */ React56.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React56.createElement(
|
|
2952
3154
|
import_editor_controls33.LinkedDimensionsControl,
|
|
2953
3155
|
{
|
|
2954
|
-
label: (0,
|
|
3156
|
+
label: (0, import_i18n32.__)("Margin", "elementor"),
|
|
2955
3157
|
isSiteRtl,
|
|
2956
3158
|
extendedValues: ["auto"]
|
|
2957
3159
|
}
|
|
2958
|
-
)), /* @__PURE__ */
|
|
3160
|
+
)), /* @__PURE__ */ React56.createElement(PanelDivider, null), /* @__PURE__ */ React56.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React56.createElement(import_editor_controls33.LinkedDimensionsControl, { label: (0, import_i18n32.__)("Padding", "elementor"), isSiteRtl })));
|
|
2959
3161
|
};
|
|
2960
3162
|
|
|
2961
3163
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
2962
|
-
var
|
|
2963
|
-
var
|
|
3164
|
+
var React72 = __toESM(require("react"));
|
|
3165
|
+
var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
|
|
2964
3166
|
|
|
2965
3167
|
// src/components/style-sections/typography-section/column-count-field.tsx
|
|
2966
|
-
var
|
|
3168
|
+
var React57 = __toESM(require("react"));
|
|
2967
3169
|
var import_editor_controls34 = require("@elementor/editor-controls");
|
|
2968
3170
|
var import_ui46 = require("@elementor/ui");
|
|
2969
|
-
var
|
|
3171
|
+
var import_i18n33 = require("@wordpress/i18n");
|
|
2970
3172
|
var ColumnCountField = () => {
|
|
2971
|
-
return /* @__PURE__ */
|
|
3173
|
+
return /* @__PURE__ */ React57.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, (0, import_i18n33.__)("Columns", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls34.NumberControl, { shouldForceInt: true, min: 0, step: 1 }))));
|
|
2972
3174
|
};
|
|
2973
3175
|
|
|
2974
3176
|
// src/components/style-sections/typography-section/column-gap-field.tsx
|
|
2975
|
-
var
|
|
3177
|
+
var React58 = __toESM(require("react"));
|
|
2976
3178
|
var import_editor_controls35 = require("@elementor/editor-controls");
|
|
2977
3179
|
var import_ui47 = require("@elementor/ui");
|
|
2978
|
-
var
|
|
3180
|
+
var import_i18n34 = require("@wordpress/i18n");
|
|
2979
3181
|
var ColumnGapField = () => {
|
|
2980
|
-
return /* @__PURE__ */
|
|
3182
|
+
return /* @__PURE__ */ React58.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React58.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel, null, (0, import_i18n34.__)("Column gap", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(import_editor_controls35.SizeControl, null))));
|
|
2981
3183
|
};
|
|
2982
3184
|
|
|
2983
3185
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
2984
|
-
var
|
|
3186
|
+
var React59 = __toESM(require("react"));
|
|
2985
3187
|
var import_editor_controls36 = require("@elementor/editor-controls");
|
|
2986
3188
|
var import_ui48 = require("@elementor/ui");
|
|
2987
|
-
var
|
|
3189
|
+
var import_i18n36 = require("@wordpress/i18n");
|
|
2988
3190
|
|
|
2989
3191
|
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
2990
|
-
var
|
|
2991
|
-
var
|
|
3192
|
+
var import_react26 = require("react");
|
|
3193
|
+
var import_i18n35 = require("@wordpress/i18n");
|
|
2992
3194
|
var supportedCategories = {
|
|
2993
|
-
system: (0,
|
|
2994
|
-
custom: (0,
|
|
2995
|
-
googlefonts: (0,
|
|
3195
|
+
system: (0, import_i18n35.__)("System", "elementor"),
|
|
3196
|
+
custom: (0, import_i18n35.__)("Custom Fonts", "elementor"),
|
|
3197
|
+
googlefonts: (0, import_i18n35.__)("Google Fonts", "elementor")
|
|
2996
3198
|
};
|
|
2997
3199
|
var getFontFamilies = () => {
|
|
2998
3200
|
const { controls } = getElementorConfig();
|
|
@@ -3004,7 +3206,7 @@ var getFontFamilies = () => {
|
|
|
3004
3206
|
};
|
|
3005
3207
|
var useFontFamilies = () => {
|
|
3006
3208
|
const fontFamilies = getFontFamilies();
|
|
3007
|
-
return (0,
|
|
3209
|
+
return (0, import_react26.useMemo)(() => {
|
|
3008
3210
|
const categoriesOrder = ["system", "custom", "googlefonts"];
|
|
3009
3211
|
return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
|
|
3010
3212
|
if (!supportedCategories[category]) {
|
|
@@ -3029,188 +3231,188 @@ var FontFamilyField = () => {
|
|
|
3029
3231
|
if (fontFamilies.length === 0) {
|
|
3030
3232
|
return null;
|
|
3031
3233
|
}
|
|
3032
|
-
return /* @__PURE__ */
|
|
3234
|
+
return /* @__PURE__ */ React59.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React59.createElement(import_ui48.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, (0, import_i18n36.__)("Font family", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui48.Grid, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React59.createElement(import_editor_controls36.FontFamilyControl, { fontFamilies }))));
|
|
3033
3235
|
};
|
|
3034
3236
|
|
|
3035
3237
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
3036
|
-
var
|
|
3238
|
+
var React60 = __toESM(require("react"));
|
|
3037
3239
|
var import_editor_controls37 = require("@elementor/editor-controls");
|
|
3038
3240
|
var import_ui49 = require("@elementor/ui");
|
|
3039
|
-
var
|
|
3241
|
+
var import_i18n37 = require("@wordpress/i18n");
|
|
3040
3242
|
var FontSizeField = () => {
|
|
3041
|
-
return /* @__PURE__ */
|
|
3243
|
+
return /* @__PURE__ */ React60.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React60.createElement(import_ui49.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(ControlLabel, null, (0, import_i18n37.__)("Font size", "elementor"))), /* @__PURE__ */ React60.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(import_editor_controls37.SizeControl, null))));
|
|
3042
3244
|
};
|
|
3043
3245
|
|
|
3044
3246
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
3045
|
-
var
|
|
3247
|
+
var React61 = __toESM(require("react"));
|
|
3046
3248
|
var import_editor_controls38 = require("@elementor/editor-controls");
|
|
3047
3249
|
var import_icons18 = require("@elementor/icons");
|
|
3048
3250
|
var import_ui50 = require("@elementor/ui");
|
|
3049
|
-
var
|
|
3251
|
+
var import_i18n38 = require("@wordpress/i18n");
|
|
3050
3252
|
var options7 = [
|
|
3051
3253
|
{
|
|
3052
3254
|
value: "normal",
|
|
3053
|
-
label: (0,
|
|
3054
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3255
|
+
label: (0, import_i18n38.__)("Normal", "elementor"),
|
|
3256
|
+
renderContent: ({ size }) => /* @__PURE__ */ React61.createElement(import_icons18.MinusIcon, { fontSize: size }),
|
|
3055
3257
|
showTooltip: true
|
|
3056
3258
|
},
|
|
3057
3259
|
{
|
|
3058
3260
|
value: "italic",
|
|
3059
|
-
label: (0,
|
|
3060
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3261
|
+
label: (0, import_i18n38.__)("Italic", "elementor"),
|
|
3262
|
+
renderContent: ({ size }) => /* @__PURE__ */ React61.createElement(import_icons18.ItalicIcon, { fontSize: size }),
|
|
3061
3263
|
showTooltip: true
|
|
3062
3264
|
}
|
|
3063
3265
|
];
|
|
3064
|
-
var FontStyleField = () => /* @__PURE__ */
|
|
3266
|
+
var FontStyleField = () => /* @__PURE__ */ React61.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React61.createElement(import_ui50.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(import_ui50.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(import_editor_controls38.ControlFormLabel, null, (0, import_i18n38.__)("Font style", "elementor"))), /* @__PURE__ */ React61.createElement(import_ui50.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React61.createElement(import_editor_controls38.ToggleControl, { options: options7 }))));
|
|
3065
3267
|
|
|
3066
3268
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
3067
|
-
var
|
|
3269
|
+
var React62 = __toESM(require("react"));
|
|
3068
3270
|
var import_editor_controls39 = require("@elementor/editor-controls");
|
|
3069
3271
|
var import_ui51 = require("@elementor/ui");
|
|
3070
|
-
var
|
|
3272
|
+
var import_i18n39 = require("@wordpress/i18n");
|
|
3071
3273
|
var fontWeightOptions = [
|
|
3072
|
-
{ value: "100", label: (0,
|
|
3073
|
-
{ value: "200", label: (0,
|
|
3074
|
-
{ value: "300", label: (0,
|
|
3075
|
-
{ value: "400", label: (0,
|
|
3076
|
-
{ value: "500", label: (0,
|
|
3077
|
-
{ value: "600", label: (0,
|
|
3078
|
-
{ value: "700", label: (0,
|
|
3079
|
-
{ value: "800", label: (0,
|
|
3080
|
-
{ value: "900", label: (0,
|
|
3274
|
+
{ value: "100", label: (0, import_i18n39.__)("100 - Thin", "elementor") },
|
|
3275
|
+
{ value: "200", label: (0, import_i18n39.__)("200 - Extra light", "elementor") },
|
|
3276
|
+
{ value: "300", label: (0, import_i18n39.__)("300 - Light", "elementor") },
|
|
3277
|
+
{ value: "400", label: (0, import_i18n39.__)("400 - Normal", "elementor") },
|
|
3278
|
+
{ value: "500", label: (0, import_i18n39.__)("500 - Medium", "elementor") },
|
|
3279
|
+
{ value: "600", label: (0, import_i18n39.__)("600 - Semi bold", "elementor") },
|
|
3280
|
+
{ value: "700", label: (0, import_i18n39.__)("700 - Bold", "elementor") },
|
|
3281
|
+
{ value: "800", label: (0, import_i18n39.__)("800 - Extra bold", "elementor") },
|
|
3282
|
+
{ value: "900", label: (0, import_i18n39.__)("900 - Black", "elementor") }
|
|
3081
3283
|
];
|
|
3082
3284
|
var FontWeightField = () => {
|
|
3083
|
-
return /* @__PURE__ */
|
|
3285
|
+
return /* @__PURE__ */ React62.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React62.createElement(import_ui51.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(import_ui51.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, (0, import_i18n39.__)("Font weight", "elementor"))), /* @__PURE__ */ React62.createElement(import_ui51.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React62.createElement(import_editor_controls39.SelectControl, { options: fontWeightOptions }))));
|
|
3084
3286
|
};
|
|
3085
3287
|
|
|
3086
3288
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
3087
|
-
var
|
|
3289
|
+
var React63 = __toESM(require("react"));
|
|
3088
3290
|
var import_editor_controls40 = require("@elementor/editor-controls");
|
|
3089
3291
|
var import_ui52 = require("@elementor/ui");
|
|
3090
|
-
var
|
|
3292
|
+
var import_i18n40 = require("@wordpress/i18n");
|
|
3091
3293
|
var LetterSpacingField = () => {
|
|
3092
|
-
return /* @__PURE__ */
|
|
3294
|
+
return /* @__PURE__ */ React63.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React63.createElement(import_ui52.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, (0, import_i18n40.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React63.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(import_editor_controls40.SizeControl, null))));
|
|
3093
3295
|
};
|
|
3094
3296
|
|
|
3095
3297
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
3096
|
-
var
|
|
3298
|
+
var React64 = __toESM(require("react"));
|
|
3097
3299
|
var import_editor_controls41 = require("@elementor/editor-controls");
|
|
3098
3300
|
var import_ui53 = require("@elementor/ui");
|
|
3099
|
-
var
|
|
3301
|
+
var import_i18n41 = require("@wordpress/i18n");
|
|
3100
3302
|
var LineHeightField = () => {
|
|
3101
|
-
return /* @__PURE__ */
|
|
3303
|
+
return /* @__PURE__ */ React64.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React64.createElement(import_ui53.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React64.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, (0, import_i18n41.__)("Line height", "elementor"))), /* @__PURE__ */ React64.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(import_editor_controls41.SizeControl, null))));
|
|
3102
3304
|
};
|
|
3103
3305
|
|
|
3104
3306
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
3105
|
-
var
|
|
3307
|
+
var React65 = __toESM(require("react"));
|
|
3106
3308
|
var import_editor_controls42 = require("@elementor/editor-controls");
|
|
3107
3309
|
var import_icons19 = require("@elementor/icons");
|
|
3108
3310
|
var import_ui54 = require("@elementor/ui");
|
|
3109
|
-
var
|
|
3311
|
+
var import_i18n42 = require("@wordpress/i18n");
|
|
3110
3312
|
var AlignStartIcon = (0, import_ui54.withDirection)(import_icons19.AlignLeftIcon);
|
|
3111
3313
|
var AlignEndIcon = (0, import_ui54.withDirection)(import_icons19.AlignRightIcon);
|
|
3112
3314
|
var options8 = [
|
|
3113
3315
|
{
|
|
3114
3316
|
value: "start",
|
|
3115
|
-
label: (0,
|
|
3116
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3317
|
+
label: (0, import_i18n42.__)("Start", "elementor"),
|
|
3318
|
+
renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(AlignStartIcon, { fontSize: size }),
|
|
3117
3319
|
showTooltip: true
|
|
3118
3320
|
},
|
|
3119
3321
|
{
|
|
3120
3322
|
value: "center",
|
|
3121
|
-
label: (0,
|
|
3122
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3323
|
+
label: (0, import_i18n42.__)("Center", "elementor"),
|
|
3324
|
+
renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(import_icons19.AlignCenterIcon, { fontSize: size }),
|
|
3123
3325
|
showTooltip: true
|
|
3124
3326
|
},
|
|
3125
3327
|
{
|
|
3126
3328
|
value: "end",
|
|
3127
|
-
label: (0,
|
|
3128
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3329
|
+
label: (0, import_i18n42.__)("End", "elementor"),
|
|
3330
|
+
renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(AlignEndIcon, { fontSize: size }),
|
|
3129
3331
|
showTooltip: true
|
|
3130
3332
|
},
|
|
3131
3333
|
{
|
|
3132
3334
|
value: "justify",
|
|
3133
|
-
label: (0,
|
|
3134
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3335
|
+
label: (0, import_i18n42.__)("Justify", "elementor"),
|
|
3336
|
+
renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(import_icons19.AlignJustifiedIcon, { fontSize: size }),
|
|
3135
3337
|
showTooltip: true
|
|
3136
3338
|
}
|
|
3137
3339
|
];
|
|
3138
3340
|
var TextAlignmentField = () => {
|
|
3139
|
-
return /* @__PURE__ */
|
|
3341
|
+
return /* @__PURE__ */ React65.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React65.createElement(import_ui54.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(import_ui54.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, (0, import_i18n42.__)("Text align", "elementor"))), /* @__PURE__ */ React65.createElement(import_ui54.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React65.createElement(import_editor_controls42.ToggleControl, { options: options8 }))));
|
|
3140
3342
|
};
|
|
3141
3343
|
|
|
3142
3344
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
3143
|
-
var
|
|
3345
|
+
var React66 = __toESM(require("react"));
|
|
3144
3346
|
var import_editor_controls43 = require("@elementor/editor-controls");
|
|
3145
3347
|
var import_ui55 = require("@elementor/ui");
|
|
3146
|
-
var
|
|
3348
|
+
var import_i18n43 = require("@wordpress/i18n");
|
|
3147
3349
|
var TextColorField = () => {
|
|
3148
|
-
return /* @__PURE__ */
|
|
3350
|
+
return /* @__PURE__ */ React66.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React66.createElement(import_ui55.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, (0, import_i18n43.__)("Text color", "elementor"))), /* @__PURE__ */ React66.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(import_editor_controls43.ColorControl, null))));
|
|
3149
3351
|
};
|
|
3150
3352
|
|
|
3151
3353
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
3152
|
-
var
|
|
3354
|
+
var React67 = __toESM(require("react"));
|
|
3153
3355
|
var import_editor_controls44 = require("@elementor/editor-controls");
|
|
3154
3356
|
var import_icons20 = require("@elementor/icons");
|
|
3155
3357
|
var import_ui56 = require("@elementor/ui");
|
|
3156
|
-
var
|
|
3358
|
+
var import_i18n44 = require("@wordpress/i18n");
|
|
3157
3359
|
var options9 = [
|
|
3158
3360
|
{
|
|
3159
3361
|
value: "none",
|
|
3160
|
-
label: (0,
|
|
3161
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3362
|
+
label: (0, import_i18n44.__)("None", "elementor"),
|
|
3363
|
+
renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons20.MinusIcon, { fontSize: size }),
|
|
3162
3364
|
showTooltip: true,
|
|
3163
3365
|
exclusive: true
|
|
3164
3366
|
},
|
|
3165
3367
|
{
|
|
3166
3368
|
value: "underline",
|
|
3167
|
-
label: (0,
|
|
3168
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3369
|
+
label: (0, import_i18n44.__)("Underline", "elementor"),
|
|
3370
|
+
renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons20.UnderlineIcon, { fontSize: size }),
|
|
3169
3371
|
showTooltip: true
|
|
3170
3372
|
},
|
|
3171
3373
|
{
|
|
3172
3374
|
value: "line-through",
|
|
3173
|
-
label: (0,
|
|
3174
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3375
|
+
label: (0, import_i18n44.__)("Line-through", "elementor"),
|
|
3376
|
+
renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons20.StrikethroughIcon, { fontSize: size }),
|
|
3175
3377
|
showTooltip: true
|
|
3176
3378
|
},
|
|
3177
3379
|
{
|
|
3178
3380
|
value: "overline",
|
|
3179
|
-
label: (0,
|
|
3180
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3381
|
+
label: (0, import_i18n44.__)("Overline", "elementor"),
|
|
3382
|
+
renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons20.OverlineIcon, { fontSize: size }),
|
|
3181
3383
|
showTooltip: true
|
|
3182
3384
|
}
|
|
3183
3385
|
];
|
|
3184
|
-
var TextDecorationField = () => /* @__PURE__ */
|
|
3386
|
+
var TextDecorationField = () => /* @__PURE__ */ React67.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React67.createElement(import_ui56.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(import_ui56.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, (0, import_i18n44.__)("Line decoration", "elementor"))), /* @__PURE__ */ React67.createElement(import_ui56.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React67.createElement(import_editor_controls44.ToggleControl, { options: options9, exclusive: false }))));
|
|
3185
3387
|
|
|
3186
3388
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
3187
|
-
var
|
|
3389
|
+
var React68 = __toESM(require("react"));
|
|
3188
3390
|
var import_editor_controls45 = require("@elementor/editor-controls");
|
|
3189
3391
|
var import_icons21 = require("@elementor/icons");
|
|
3190
3392
|
var import_ui57 = require("@elementor/ui");
|
|
3191
|
-
var
|
|
3393
|
+
var import_i18n45 = require("@wordpress/i18n");
|
|
3192
3394
|
var options10 = [
|
|
3193
3395
|
{
|
|
3194
3396
|
value: "ltr",
|
|
3195
|
-
label: (0,
|
|
3196
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3397
|
+
label: (0, import_i18n45.__)("Left to right", "elementor"),
|
|
3398
|
+
renderContent: ({ size }) => /* @__PURE__ */ React68.createElement(import_icons21.TextDirectionLtrIcon, { fontSize: size }),
|
|
3197
3399
|
showTooltip: true
|
|
3198
3400
|
},
|
|
3199
3401
|
{
|
|
3200
3402
|
value: "rtl",
|
|
3201
|
-
label: (0,
|
|
3202
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3403
|
+
label: (0, import_i18n45.__)("Right to left", "elementor"),
|
|
3404
|
+
renderContent: ({ size }) => /* @__PURE__ */ React68.createElement(import_icons21.TextDirectionRtlIcon, { fontSize: size }),
|
|
3203
3405
|
showTooltip: true
|
|
3204
3406
|
}
|
|
3205
3407
|
];
|
|
3206
3408
|
var TextDirectionField = () => {
|
|
3207
|
-
return /* @__PURE__ */
|
|
3409
|
+
return /* @__PURE__ */ React68.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React68.createElement(import_ui57.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React68.createElement(import_ui57.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlLabel, null, (0, import_i18n45.__)("Direction", "elementor"))), /* @__PURE__ */ React68.createElement(import_ui57.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React68.createElement(import_editor_controls45.ToggleControl, { options: options10 }))));
|
|
3208
3410
|
};
|
|
3209
3411
|
|
|
3210
3412
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
3211
|
-
var
|
|
3413
|
+
var React69 = __toESM(require("react"));
|
|
3212
3414
|
var import_editor_controls46 = require("@elementor/editor-controls");
|
|
3213
|
-
var
|
|
3415
|
+
var import_i18n46 = require("@wordpress/i18n");
|
|
3214
3416
|
var initTextStroke = {
|
|
3215
3417
|
$$type: "stroke",
|
|
3216
3418
|
value: {
|
|
@@ -3236,67 +3438,67 @@ var TextStrokeField = () => {
|
|
|
3236
3438
|
setTextStroke(null);
|
|
3237
3439
|
};
|
|
3238
3440
|
const hasTextStroke = Boolean(textStroke);
|
|
3239
|
-
return /* @__PURE__ */
|
|
3441
|
+
return /* @__PURE__ */ React69.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React69.createElement(
|
|
3240
3442
|
AddOrRemoveContent,
|
|
3241
3443
|
{
|
|
3242
|
-
label: (0,
|
|
3444
|
+
label: (0, import_i18n46.__)("Text stroke", "elementor"),
|
|
3243
3445
|
isAdded: hasTextStroke,
|
|
3244
3446
|
onAdd: addTextStroke,
|
|
3245
3447
|
onRemove: removeTextStroke
|
|
3246
3448
|
},
|
|
3247
|
-
/* @__PURE__ */
|
|
3449
|
+
/* @__PURE__ */ React69.createElement(import_editor_controls46.StrokeControl, null)
|
|
3248
3450
|
));
|
|
3249
3451
|
};
|
|
3250
3452
|
|
|
3251
3453
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
3252
|
-
var
|
|
3454
|
+
var React70 = __toESM(require("react"));
|
|
3253
3455
|
var import_editor_controls47 = require("@elementor/editor-controls");
|
|
3254
3456
|
var import_icons22 = require("@elementor/icons");
|
|
3255
3457
|
var import_ui58 = require("@elementor/ui");
|
|
3256
|
-
var
|
|
3458
|
+
var import_i18n47 = require("@wordpress/i18n");
|
|
3257
3459
|
var options11 = [
|
|
3258
3460
|
{
|
|
3259
3461
|
value: "none",
|
|
3260
|
-
label: (0,
|
|
3261
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3462
|
+
label: (0, import_i18n47.__)("None", "elementor"),
|
|
3463
|
+
renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(import_icons22.MinusIcon, { fontSize: size }),
|
|
3262
3464
|
showTooltip: true
|
|
3263
3465
|
},
|
|
3264
3466
|
{
|
|
3265
3467
|
value: "capitalize",
|
|
3266
|
-
label: (0,
|
|
3267
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3468
|
+
label: (0, import_i18n47.__)("Capitalize", "elementor"),
|
|
3469
|
+
renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(import_icons22.LetterCaseIcon, { fontSize: size }),
|
|
3268
3470
|
showTooltip: true
|
|
3269
3471
|
},
|
|
3270
3472
|
{
|
|
3271
3473
|
value: "uppercase",
|
|
3272
|
-
label: (0,
|
|
3273
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3474
|
+
label: (0, import_i18n47.__)("Uppercase", "elementor"),
|
|
3475
|
+
renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(import_icons22.LetterCaseUpperIcon, { fontSize: size }),
|
|
3274
3476
|
showTooltip: true
|
|
3275
3477
|
},
|
|
3276
3478
|
{
|
|
3277
3479
|
value: "lowercase",
|
|
3278
|
-
label: (0,
|
|
3279
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3480
|
+
label: (0, import_i18n47.__)("Lowercase", "elementor"),
|
|
3481
|
+
renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
|
|
3280
3482
|
showTooltip: true
|
|
3281
3483
|
}
|
|
3282
3484
|
];
|
|
3283
|
-
var TransformField = () => /* @__PURE__ */
|
|
3485
|
+
var TransformField = () => /* @__PURE__ */ React70.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React70.createElement(import_ui58.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(import_ui58.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, (0, import_i18n47.__)("Text transform", "elementor"))), /* @__PURE__ */ React70.createElement(import_ui58.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React70.createElement(import_editor_controls47.ToggleControl, { options: options11 }))));
|
|
3284
3486
|
|
|
3285
3487
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
3286
|
-
var
|
|
3488
|
+
var React71 = __toESM(require("react"));
|
|
3287
3489
|
var import_editor_controls48 = require("@elementor/editor-controls");
|
|
3288
3490
|
var import_ui59 = require("@elementor/ui");
|
|
3289
|
-
var
|
|
3491
|
+
var import_i18n48 = require("@wordpress/i18n");
|
|
3290
3492
|
var WordSpacingField = () => {
|
|
3291
|
-
return /* @__PURE__ */
|
|
3493
|
+
return /* @__PURE__ */ React71.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React71.createElement(import_ui59.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React71.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(ControlLabel, null, (0, import_i18n48.__)("Word spacing", "elementor"))), /* @__PURE__ */ React71.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(import_editor_controls48.SizeControl, null))));
|
|
3292
3494
|
};
|
|
3293
3495
|
|
|
3294
3496
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
3295
3497
|
var TypographySection = () => {
|
|
3296
3498
|
const [columnCount] = useStylesField("column-count");
|
|
3297
|
-
const isVersion330Active = (0,
|
|
3298
|
-
const hasMultiColumns = columnCount?.value && columnCount?.value > 1;
|
|
3299
|
-
return /* @__PURE__ */
|
|
3499
|
+
const isVersion330Active = (0, import_editor_v1_adapters10.isExperimentActive)("e_v_3_30");
|
|
3500
|
+
const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
|
|
3501
|
+
return /* @__PURE__ */ React72.createElement(SectionContent, null, /* @__PURE__ */ React72.createElement(FontFamilyField, null), /* @__PURE__ */ React72.createElement(FontWeightField, null), /* @__PURE__ */ React72.createElement(FontSizeField, null), /* @__PURE__ */ React72.createElement(PanelDivider, null), /* @__PURE__ */ React72.createElement(TextAlignmentField, null), /* @__PURE__ */ React72.createElement(TextColorField, null), /* @__PURE__ */ React72.createElement(CollapsibleContent, null, /* @__PURE__ */ React72.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React72.createElement(LineHeightField, null), /* @__PURE__ */ React72.createElement(LetterSpacingField, null), /* @__PURE__ */ React72.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React72.createElement(React72.Fragment, null, /* @__PURE__ */ React72.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React72.createElement(ColumnGapField, null)), /* @__PURE__ */ React72.createElement(PanelDivider, null), /* @__PURE__ */ React72.createElement(TextDecorationField, null), /* @__PURE__ */ React72.createElement(TransformField, null), /* @__PURE__ */ React72.createElement(TextDirectionField, null), /* @__PURE__ */ React72.createElement(FontStyleField, null), /* @__PURE__ */ React72.createElement(TextStrokeField, null))));
|
|
3300
3502
|
};
|
|
3301
3503
|
|
|
3302
3504
|
// src/components/style-tab.tsx
|
|
@@ -3308,12 +3510,19 @@ var stickyHeaderStyles = {
|
|
|
3308
3510
|
backgroundColor: "background.default",
|
|
3309
3511
|
transition: "top 300ms ease"
|
|
3310
3512
|
};
|
|
3513
|
+
var PanelSection = ({ section }) => {
|
|
3514
|
+
const { component, name, title } = section;
|
|
3515
|
+
const tabDefaults = useDefaultPanelSettings();
|
|
3516
|
+
const SectionComponent = component;
|
|
3517
|
+
const isExpanded = (0, import_editor_v1_adapters11.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : true;
|
|
3518
|
+
return /* @__PURE__ */ React73.createElement(Section, { title, defaultExpanded: isExpanded }, /* @__PURE__ */ React73.createElement(SectionComponent, null));
|
|
3519
|
+
};
|
|
3311
3520
|
var StyleTab = () => {
|
|
3312
3521
|
const currentClassesProp = useCurrentClassesProp();
|
|
3313
3522
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
3314
|
-
const [activeStyleState, setActiveStyleState] = (0,
|
|
3523
|
+
const [activeStyleState, setActiveStyleState] = (0, import_react27.useState)(null);
|
|
3315
3524
|
const breakpoint = (0, import_editor_responsive2.useActiveBreakpoint)();
|
|
3316
|
-
return /* @__PURE__ */
|
|
3525
|
+
return /* @__PURE__ */ React73.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React73.createElement(
|
|
3317
3526
|
StyleProvider,
|
|
3318
3527
|
{
|
|
3319
3528
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -3324,17 +3533,89 @@ var StyleTab = () => {
|
|
|
3324
3533
|
},
|
|
3325
3534
|
setMetaState: setActiveStyleState
|
|
3326
3535
|
},
|
|
3327
|
-
/* @__PURE__ */
|
|
3536
|
+
/* @__PURE__ */ React73.createElement(import_session4.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React73.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React73.createElement(ClassesHeader, null, /* @__PURE__ */ React73.createElement(CssClassSelector, null), /* @__PURE__ */ React73.createElement(import_ui60.Divider, null)), /* @__PURE__ */ React73.createElement(SectionsList, null, /* @__PURE__ */ React73.createElement(
|
|
3537
|
+
PanelSection,
|
|
3538
|
+
{
|
|
3539
|
+
section: {
|
|
3540
|
+
component: LayoutSection,
|
|
3541
|
+
name: "Layout",
|
|
3542
|
+
title: (0, import_i18n49.__)("Layout", "elementor")
|
|
3543
|
+
}
|
|
3544
|
+
}
|
|
3545
|
+
), /* @__PURE__ */ React73.createElement(
|
|
3546
|
+
PanelSection,
|
|
3547
|
+
{
|
|
3548
|
+
section: {
|
|
3549
|
+
component: SpacingSection,
|
|
3550
|
+
name: "Spacing",
|
|
3551
|
+
title: (0, import_i18n49.__)("Spacing", "elementor")
|
|
3552
|
+
}
|
|
3553
|
+
}
|
|
3554
|
+
), /* @__PURE__ */ React73.createElement(
|
|
3555
|
+
PanelSection,
|
|
3556
|
+
{
|
|
3557
|
+
section: {
|
|
3558
|
+
component: SizeSection,
|
|
3559
|
+
name: "Size",
|
|
3560
|
+
title: (0, import_i18n49.__)("Size", "elementor")
|
|
3561
|
+
}
|
|
3562
|
+
}
|
|
3563
|
+
), /* @__PURE__ */ React73.createElement(
|
|
3564
|
+
PanelSection,
|
|
3565
|
+
{
|
|
3566
|
+
section: {
|
|
3567
|
+
component: PositionSection,
|
|
3568
|
+
name: "Position",
|
|
3569
|
+
title: (0, import_i18n49.__)("Position", "elementor")
|
|
3570
|
+
}
|
|
3571
|
+
}
|
|
3572
|
+
), /* @__PURE__ */ React73.createElement(
|
|
3573
|
+
PanelSection,
|
|
3574
|
+
{
|
|
3575
|
+
section: {
|
|
3576
|
+
component: TypographySection,
|
|
3577
|
+
name: "Typography",
|
|
3578
|
+
title: (0, import_i18n49.__)("Typography", "elementor")
|
|
3579
|
+
}
|
|
3580
|
+
}
|
|
3581
|
+
), /* @__PURE__ */ React73.createElement(
|
|
3582
|
+
PanelSection,
|
|
3583
|
+
{
|
|
3584
|
+
section: {
|
|
3585
|
+
component: BackgroundSection,
|
|
3586
|
+
name: "Background",
|
|
3587
|
+
title: (0, import_i18n49.__)("Background", "elementor")
|
|
3588
|
+
}
|
|
3589
|
+
}
|
|
3590
|
+
), /* @__PURE__ */ React73.createElement(
|
|
3591
|
+
PanelSection,
|
|
3592
|
+
{
|
|
3593
|
+
section: {
|
|
3594
|
+
component: BorderSection,
|
|
3595
|
+
name: "Border",
|
|
3596
|
+
title: (0, import_i18n49.__)("Border", "elementor")
|
|
3597
|
+
}
|
|
3598
|
+
}
|
|
3599
|
+
), /* @__PURE__ */ React73.createElement(
|
|
3600
|
+
PanelSection,
|
|
3601
|
+
{
|
|
3602
|
+
section: {
|
|
3603
|
+
component: EffectsSection,
|
|
3604
|
+
name: "Effects",
|
|
3605
|
+
title: (0, import_i18n49.__)("Effects", "elementor")
|
|
3606
|
+
}
|
|
3607
|
+
}
|
|
3608
|
+
))))
|
|
3328
3609
|
));
|
|
3329
3610
|
};
|
|
3330
3611
|
function ClassesHeader({ children }) {
|
|
3331
3612
|
const scrollDirection = useScrollDirection();
|
|
3332
|
-
return /* @__PURE__ */
|
|
3613
|
+
return /* @__PURE__ */ React73.createElement(import_ui60.Stack, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
|
|
3333
3614
|
}
|
|
3334
3615
|
function useCurrentClassesProp() {
|
|
3335
3616
|
const { elementType } = useElement();
|
|
3336
3617
|
const prop = Object.entries(elementType.propsSchema).find(
|
|
3337
|
-
([, propType]) => propType.kind === "plain" && propType.key ===
|
|
3618
|
+
([, propType]) => propType.kind === "plain" && propType.key === import_editor_props10.CLASSES_PROP_KEY
|
|
3338
3619
|
);
|
|
3339
3620
|
if (!prop) {
|
|
3340
3621
|
throw new Error("Element does not have a classes prop");
|
|
@@ -3348,14 +3629,15 @@ var EditingPanelTabs = () => {
|
|
|
3348
3629
|
return (
|
|
3349
3630
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
3350
3631
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
3351
|
-
/* @__PURE__ */
|
|
3632
|
+
/* @__PURE__ */ React74.createElement(import_react28.Fragment, { key: element.id }, /* @__PURE__ */ React74.createElement(PanelTabContent, null))
|
|
3352
3633
|
);
|
|
3353
3634
|
};
|
|
3354
3635
|
var PanelTabContent = () => {
|
|
3355
|
-
const
|
|
3636
|
+
const editorDefaults = useDefaultPanelSettings();
|
|
3637
|
+
const defaultComponentTab = (0, import_editor_v1_adapters12.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
|
|
3356
3638
|
const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
|
|
3357
3639
|
const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui61.useTabs)(currentTab);
|
|
3358
|
-
return /* @__PURE__ */
|
|
3640
|
+
return /* @__PURE__ */ React74.createElement(ScrollProvider, null, /* @__PURE__ */ React74.createElement(import_ui61.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React74.createElement(import_ui61.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React74.createElement(
|
|
3359
3641
|
import_ui61.Tabs,
|
|
3360
3642
|
{
|
|
3361
3643
|
variant: "fullWidth",
|
|
@@ -3367,9 +3649,9 @@ var PanelTabContent = () => {
|
|
|
3367
3649
|
setCurrentTab(newValue);
|
|
3368
3650
|
}
|
|
3369
3651
|
},
|
|
3370
|
-
/* @__PURE__ */
|
|
3371
|
-
/* @__PURE__ */
|
|
3372
|
-
), /* @__PURE__ */
|
|
3652
|
+
/* @__PURE__ */ React74.createElement(import_ui61.Tab, { label: (0, import_i18n50.__)("General", "elementor"), ...getTabProps("settings") }),
|
|
3653
|
+
/* @__PURE__ */ React74.createElement(import_ui61.Tab, { label: (0, import_i18n50.__)("Style", "elementor"), ...getTabProps("style") })
|
|
3654
|
+
), /* @__PURE__ */ React74.createElement(import_ui61.Divider, null)), /* @__PURE__ */ React74.createElement(import_ui61.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React74.createElement(SettingsTab, null)), /* @__PURE__ */ React74.createElement(import_ui61.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React74.createElement(StyleTab, null))));
|
|
3373
3655
|
};
|
|
3374
3656
|
|
|
3375
3657
|
// src/components/editing-panel.tsx
|
|
@@ -3381,8 +3663,8 @@ var EditingPanel = () => {
|
|
|
3381
3663
|
if (!element || !elementType) {
|
|
3382
3664
|
return null;
|
|
3383
3665
|
}
|
|
3384
|
-
const panelTitle = (0,
|
|
3385
|
-
return /* @__PURE__ */
|
|
3666
|
+
const panelTitle = (0, import_i18n51.__)("Edit %s", "elementor").replace("%s", elementType.title);
|
|
3667
|
+
return /* @__PURE__ */ React75.createElement(import_ui62.ErrorBoundary, { fallback: /* @__PURE__ */ React75.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React75.createElement(import_session5.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React75.createElement(import_editor_ui4.ThemeProvider, null, /* @__PURE__ */ React75.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React75.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React75.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React75.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React75.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React75.createElement(import_editor_controls49.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React75.createElement(import_editor_controls49.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React75.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React75.createElement(EditingPanelTabs, null)))))))));
|
|
3386
3668
|
};
|
|
3387
3669
|
|
|
3388
3670
|
// src/panel.ts
|
|
@@ -3395,11 +3677,11 @@ var { panel, usePanelActions, usePanelStatus } = (0, import_editor_panels2.__cre
|
|
|
3395
3677
|
var import_editor = require("@elementor/editor");
|
|
3396
3678
|
var import_editor_current_user = require("@elementor/editor-current-user");
|
|
3397
3679
|
var import_editor_panels3 = require("@elementor/editor-panels");
|
|
3398
|
-
var
|
|
3680
|
+
var import_editor_v1_adapters14 = require("@elementor/editor-v1-adapters");
|
|
3399
3681
|
|
|
3400
3682
|
// src/hooks/use-open-editor-panel.ts
|
|
3401
|
-
var
|
|
3402
|
-
var
|
|
3683
|
+
var import_react29 = require("react");
|
|
3684
|
+
var import_editor_v1_adapters13 = require("@elementor/editor-v1-adapters");
|
|
3403
3685
|
|
|
3404
3686
|
// src/sync/is-atomic-widget-selected.ts
|
|
3405
3687
|
var import_editor_elements9 = require("@elementor/editor-elements");
|
|
@@ -3415,8 +3697,8 @@ var isAtomicWidgetSelected = () => {
|
|
|
3415
3697
|
// src/hooks/use-open-editor-panel.ts
|
|
3416
3698
|
var useOpenEditorPanel = () => {
|
|
3417
3699
|
const { open } = usePanelActions();
|
|
3418
|
-
(0,
|
|
3419
|
-
return (0,
|
|
3700
|
+
(0, import_react29.useEffect)(() => {
|
|
3701
|
+
return (0, import_editor_v1_adapters13.__privateListenTo)((0, import_editor_v1_adapters13.commandStartEvent)("panel/editor/open"), () => {
|
|
3420
3702
|
if (isAtomicWidgetSelected()) {
|
|
3421
3703
|
open();
|
|
3422
3704
|
}
|
|
@@ -3434,16 +3716,16 @@ var EditingPanelHooks = () => {
|
|
|
3434
3716
|
var import_editor_canvas3 = require("@elementor/editor-canvas");
|
|
3435
3717
|
|
|
3436
3718
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
3437
|
-
var
|
|
3719
|
+
var React79 = __toESM(require("react"));
|
|
3438
3720
|
var import_editor_controls53 = require("@elementor/editor-controls");
|
|
3439
3721
|
var import_icons25 = require("@elementor/icons");
|
|
3440
3722
|
var import_ui65 = require("@elementor/ui");
|
|
3441
|
-
var
|
|
3723
|
+
var import_i18n53 = require("@wordpress/i18n");
|
|
3442
3724
|
|
|
3443
3725
|
// src/components/popover-content.tsx
|
|
3444
|
-
var
|
|
3726
|
+
var React76 = __toESM(require("react"));
|
|
3445
3727
|
var import_ui63 = require("@elementor/ui");
|
|
3446
|
-
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */
|
|
3728
|
+
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React76.createElement(import_ui63.Stack, { alignItems, gap, p }, children);
|
|
3447
3729
|
|
|
3448
3730
|
// src/hooks/use-persist-dynamic-value.ts
|
|
3449
3731
|
var import_session6 = require("@elementor/session");
|
|
@@ -3454,14 +3736,14 @@ var usePersistDynamicValue = (propKey) => {
|
|
|
3454
3736
|
};
|
|
3455
3737
|
|
|
3456
3738
|
// src/dynamics/dynamic-control.tsx
|
|
3457
|
-
var
|
|
3739
|
+
var React77 = __toESM(require("react"));
|
|
3458
3740
|
var import_editor_controls51 = require("@elementor/editor-controls");
|
|
3459
3741
|
|
|
3460
3742
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
3461
|
-
var
|
|
3743
|
+
var import_react31 = require("react");
|
|
3462
3744
|
|
|
3463
3745
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
3464
|
-
var
|
|
3746
|
+
var import_react30 = require("react");
|
|
3465
3747
|
var import_editor_controls50 = require("@elementor/editor-controls");
|
|
3466
3748
|
|
|
3467
3749
|
// src/dynamics/sync/get-elementor-config.ts
|
|
@@ -3483,7 +3765,7 @@ var getAtomicDynamicTags = () => {
|
|
|
3483
3765
|
};
|
|
3484
3766
|
|
|
3485
3767
|
// src/dynamics/utils.ts
|
|
3486
|
-
var
|
|
3768
|
+
var import_editor_props11 = require("@elementor/editor-props");
|
|
3487
3769
|
var import_schema = require("@elementor/schema");
|
|
3488
3770
|
var DYNAMIC_PROP_TYPE_KEY = "dynamic";
|
|
3489
3771
|
var isDynamicPropType = (prop) => prop.key === DYNAMIC_PROP_TYPE_KEY;
|
|
@@ -3492,12 +3774,12 @@ var getDynamicPropType = (propType) => {
|
|
|
3492
3774
|
return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
|
|
3493
3775
|
};
|
|
3494
3776
|
var isDynamicPropValue = (prop) => {
|
|
3495
|
-
return (0,
|
|
3777
|
+
return (0, import_editor_props11.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
|
|
3496
3778
|
};
|
|
3497
3779
|
var supportsDynamic = (propType) => {
|
|
3498
3780
|
return !!getDynamicPropType(propType);
|
|
3499
3781
|
};
|
|
3500
|
-
var dynamicPropTypeUtil = (0,
|
|
3782
|
+
var dynamicPropTypeUtil = (0, import_editor_props11.createPropUtils)(
|
|
3501
3783
|
DYNAMIC_PROP_TYPE_KEY,
|
|
3502
3784
|
import_schema.z.strictObject({
|
|
3503
3785
|
name: import_schema.z.string(),
|
|
@@ -3513,7 +3795,7 @@ var usePropDynamicTags = () => {
|
|
|
3513
3795
|
const propDynamicType = getDynamicPropType(propType);
|
|
3514
3796
|
categories = propDynamicType?.settings.categories || [];
|
|
3515
3797
|
}
|
|
3516
|
-
return (0,
|
|
3798
|
+
return (0, import_react30.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
|
|
3517
3799
|
};
|
|
3518
3800
|
var getDynamicTagsByCategories = (categories) => {
|
|
3519
3801
|
const dynamicTags = getAtomicDynamicTags();
|
|
@@ -3529,7 +3811,7 @@ var getDynamicTagsByCategories = (categories) => {
|
|
|
3529
3811
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
3530
3812
|
var useDynamicTag = (tagName) => {
|
|
3531
3813
|
const dynamicTags = usePropDynamicTags();
|
|
3532
|
-
return (0,
|
|
3814
|
+
return (0, import_react31.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
|
|
3533
3815
|
};
|
|
3534
3816
|
|
|
3535
3817
|
// src/dynamics/dynamic-control.tsx
|
|
@@ -3553,19 +3835,19 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
3553
3835
|
});
|
|
3554
3836
|
};
|
|
3555
3837
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
3556
|
-
return /* @__PURE__ */
|
|
3838
|
+
return /* @__PURE__ */ React77.createElement(import_editor_controls51.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React77.createElement(import_editor_controls51.PropKeyProvider, { bind }, children));
|
|
3557
3839
|
};
|
|
3558
3840
|
|
|
3559
3841
|
// src/dynamics/components/dynamic-selection.tsx
|
|
3560
|
-
var
|
|
3561
|
-
var
|
|
3842
|
+
var React78 = __toESM(require("react"));
|
|
3843
|
+
var import_react32 = require("react");
|
|
3562
3844
|
var import_editor_controls52 = require("@elementor/editor-controls");
|
|
3563
3845
|
var import_icons24 = require("@elementor/icons");
|
|
3564
3846
|
var import_ui64 = require("@elementor/ui");
|
|
3565
|
-
var
|
|
3847
|
+
var import_i18n52 = require("@wordpress/i18n");
|
|
3566
3848
|
var SIZE3 = "tiny";
|
|
3567
3849
|
var DynamicSelection = ({ onSelect }) => {
|
|
3568
|
-
const [searchValue, setSearchValue] = (0,
|
|
3850
|
+
const [searchValue, setSearchValue] = (0, import_react32.useState)("");
|
|
3569
3851
|
const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
|
|
3570
3852
|
const { value: anyValue } = (0, import_editor_controls52.useBoundProp)();
|
|
3571
3853
|
const { bind, value: dynamicValue, setValue } = (0, import_editor_controls52.useBoundProp)(dynamicPropTypeUtil);
|
|
@@ -3583,19 +3865,19 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
3583
3865
|
setValue({ name: value, settings: { label } });
|
|
3584
3866
|
onSelect?.();
|
|
3585
3867
|
};
|
|
3586
|
-
return /* @__PURE__ */
|
|
3868
|
+
return /* @__PURE__ */ React78.createElement(import_ui64.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React78.createElement(NoDynamicTags, null) : /* @__PURE__ */ React78.createElement(import_react32.Fragment, null, /* @__PURE__ */ React78.createElement(import_ui64.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React78.createElement(
|
|
3587
3869
|
import_ui64.TextField,
|
|
3588
3870
|
{
|
|
3589
3871
|
fullWidth: true,
|
|
3590
3872
|
size: SIZE3,
|
|
3591
3873
|
value: searchValue,
|
|
3592
3874
|
onChange: handleSearch,
|
|
3593
|
-
placeholder: (0,
|
|
3875
|
+
placeholder: (0, import_i18n52.__)("Search dynamic tags\u2026", "elementor"),
|
|
3594
3876
|
InputProps: {
|
|
3595
|
-
startAdornment: /* @__PURE__ */
|
|
3877
|
+
startAdornment: /* @__PURE__ */ React78.createElement(import_ui64.InputAdornment, { position: "start" }, /* @__PURE__ */ React78.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
|
|
3596
3878
|
}
|
|
3597
3879
|
}
|
|
3598
|
-
)), /* @__PURE__ */
|
|
3880
|
+
)), /* @__PURE__ */ React78.createElement(import_ui64.Divider, null), /* @__PURE__ */ React78.createElement(import_ui64.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React78.createElement(import_ui64.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React78.createElement(import_react32.Fragment, { key: index }, /* @__PURE__ */ React78.createElement(
|
|
3599
3881
|
import_ui64.MenuSubheader,
|
|
3600
3882
|
{
|
|
3601
3883
|
sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
|
|
@@ -3603,7 +3885,7 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
3603
3885
|
dynamicGroups?.[category]?.title || category
|
|
3604
3886
|
), items3.map(({ value, label: tagLabel }) => {
|
|
3605
3887
|
const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
|
|
3606
|
-
return /* @__PURE__ */
|
|
3888
|
+
return /* @__PURE__ */ React78.createElement(
|
|
3607
3889
|
import_ui64.MenuItem,
|
|
3608
3890
|
{
|
|
3609
3891
|
key: value,
|
|
@@ -3614,9 +3896,9 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
3614
3896
|
},
|
|
3615
3897
|
tagLabel
|
|
3616
3898
|
);
|
|
3617
|
-
})))) : /* @__PURE__ */
|
|
3899
|
+
})))) : /* @__PURE__ */ React78.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
|
|
3618
3900
|
};
|
|
3619
|
-
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */
|
|
3901
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React78.createElement(
|
|
3620
3902
|
import_ui64.Stack,
|
|
3621
3903
|
{
|
|
3622
3904
|
gap: 1,
|
|
@@ -3627,11 +3909,11 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React77.createElem
|
|
|
3627
3909
|
color: "text.secondary",
|
|
3628
3910
|
sx: { pb: 3.5 }
|
|
3629
3911
|
},
|
|
3630
|
-
/* @__PURE__ */
|
|
3631
|
-
/* @__PURE__ */
|
|
3632
|
-
/* @__PURE__ */
|
|
3912
|
+
/* @__PURE__ */ React78.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
|
|
3913
|
+
/* @__PURE__ */ React78.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n52.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React78.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
3914
|
+
/* @__PURE__ */ React78.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n52.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React78.createElement(import_ui64.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n52.__)("Clear & try again", "elementor")))
|
|
3633
3915
|
);
|
|
3634
|
-
var NoDynamicTags = () => /* @__PURE__ */
|
|
3916
|
+
var NoDynamicTags = () => /* @__PURE__ */ React78.createElement(import_ui64.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React78.createElement(import_ui64.Divider, null), /* @__PURE__ */ React78.createElement(
|
|
3635
3917
|
import_ui64.Stack,
|
|
3636
3918
|
{
|
|
3637
3919
|
gap: 1,
|
|
@@ -3642,9 +3924,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React77.createElement(import_ui64.Box,
|
|
|
3642
3924
|
color: "text.secondary",
|
|
3643
3925
|
sx: { pb: 3.5 }
|
|
3644
3926
|
},
|
|
3645
|
-
/* @__PURE__ */
|
|
3646
|
-
/* @__PURE__ */
|
|
3647
|
-
/* @__PURE__ */
|
|
3927
|
+
/* @__PURE__ */ React78.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
|
|
3928
|
+
/* @__PURE__ */ React78.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n52.__)("Streamline your workflow with dynamic tags", "elementor")),
|
|
3929
|
+
/* @__PURE__ */ React78.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n52.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
|
|
3648
3930
|
));
|
|
3649
3931
|
var useFilteredOptions = (searchValue) => {
|
|
3650
3932
|
const dynamicTags = usePropDynamicTags();
|
|
@@ -3677,25 +3959,25 @@ var DynamicSelectionControl = () => {
|
|
|
3677
3959
|
if (!dynamicTag) {
|
|
3678
3960
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
3679
3961
|
}
|
|
3680
|
-
return /* @__PURE__ */
|
|
3962
|
+
return /* @__PURE__ */ React79.createElement(import_ui65.Box, null, /* @__PURE__ */ React79.createElement(
|
|
3681
3963
|
import_ui65.UnstableTag,
|
|
3682
3964
|
{
|
|
3683
3965
|
fullWidth: true,
|
|
3684
3966
|
showActionsOnHover: true,
|
|
3685
3967
|
label: dynamicTag.label,
|
|
3686
|
-
startIcon: /* @__PURE__ */
|
|
3968
|
+
startIcon: /* @__PURE__ */ React79.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4 }),
|
|
3687
3969
|
...(0, import_ui65.bindTrigger)(selectionPopoverState),
|
|
3688
|
-
actions: /* @__PURE__ */
|
|
3970
|
+
actions: /* @__PURE__ */ React79.createElement(React79.Fragment, null, /* @__PURE__ */ React79.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React79.createElement(
|
|
3689
3971
|
import_ui65.IconButton,
|
|
3690
3972
|
{
|
|
3691
3973
|
size: SIZE4,
|
|
3692
3974
|
onClick: removeDynamicTag,
|
|
3693
|
-
"aria-label": (0,
|
|
3975
|
+
"aria-label": (0, import_i18n53.__)("Remove dynamic value", "elementor")
|
|
3694
3976
|
},
|
|
3695
|
-
/* @__PURE__ */
|
|
3977
|
+
/* @__PURE__ */ React79.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
|
|
3696
3978
|
))
|
|
3697
3979
|
}
|
|
3698
|
-
), /* @__PURE__ */
|
|
3980
|
+
), /* @__PURE__ */ React79.createElement(
|
|
3699
3981
|
import_ui65.Popover,
|
|
3700
3982
|
{
|
|
3701
3983
|
disablePortal: true,
|
|
@@ -3703,7 +3985,7 @@ var DynamicSelectionControl = () => {
|
|
|
3703
3985
|
anchorOrigin: { vertical: "bottom", horizontal: "left" },
|
|
3704
3986
|
...(0, import_ui65.bindPopover)(selectionPopoverState)
|
|
3705
3987
|
},
|
|
3706
|
-
/* @__PURE__ */
|
|
3988
|
+
/* @__PURE__ */ React79.createElement(import_ui65.Stack, null, /* @__PURE__ */ React79.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React79.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React79.createElement(import_ui65.Typography, { variant: "subtitle2" }, (0, import_i18n53.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React79.createElement(import_ui65.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React79.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React79.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
3707
3989
|
));
|
|
3708
3990
|
};
|
|
3709
3991
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
@@ -3712,7 +3994,7 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
|
3712
3994
|
if (!hasDynamicSettings) {
|
|
3713
3995
|
return null;
|
|
3714
3996
|
}
|
|
3715
|
-
return /* @__PURE__ */
|
|
3997
|
+
return /* @__PURE__ */ React79.createElement(React79.Fragment, null, /* @__PURE__ */ React79.createElement(import_ui65.IconButton, { size: SIZE4, ...(0, import_ui65.bindTrigger)(popupState), "aria-label": (0, import_i18n53.__)("Settings", "elementor") }, /* @__PURE__ */ React79.createElement(import_icons25.SettingsIcon, { fontSize: SIZE4 })), /* @__PURE__ */ React79.createElement(
|
|
3716
3998
|
import_ui65.Popover,
|
|
3717
3999
|
{
|
|
3718
4000
|
disablePortal: true,
|
|
@@ -3720,7 +4002,7 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
|
3720
4002
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
3721
4003
|
...(0, import_ui65.bindPopover)(popupState)
|
|
3722
4004
|
},
|
|
3723
|
-
/* @__PURE__ */
|
|
4005
|
+
/* @__PURE__ */ React79.createElement(import_ui65.Paper, { component: import_ui65.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React79.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React79.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React79.createElement(import_ui65.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React79.createElement(import_ui65.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: popupState.close }, /* @__PURE__ */ React79.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React79.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
|
|
3724
4006
|
));
|
|
3725
4007
|
};
|
|
3726
4008
|
var DynamicSettings = ({ controls }) => {
|
|
@@ -3729,10 +4011,10 @@ var DynamicSettings = ({ controls }) => {
|
|
|
3729
4011
|
if (!tabs.length) {
|
|
3730
4012
|
return null;
|
|
3731
4013
|
}
|
|
3732
|
-
return /* @__PURE__ */
|
|
3733
|
-
return /* @__PURE__ */
|
|
4014
|
+
return /* @__PURE__ */ React79.createElement(React79.Fragment, null, /* @__PURE__ */ React79.createElement(import_ui65.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React79.createElement(import_ui65.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React79.createElement(import_ui65.Divider, null), tabs.map(({ value }, index) => {
|
|
4015
|
+
return /* @__PURE__ */ React79.createElement(import_ui65.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React79.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
|
|
3734
4016
|
if (item.type === "control") {
|
|
3735
|
-
return /* @__PURE__ */
|
|
4017
|
+
return /* @__PURE__ */ React79.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
3736
4018
|
}
|
|
3737
4019
|
return null;
|
|
3738
4020
|
})));
|
|
@@ -3742,12 +4024,12 @@ var Control3 = ({ control }) => {
|
|
|
3742
4024
|
if (!getControl(control.type)) {
|
|
3743
4025
|
return null;
|
|
3744
4026
|
}
|
|
3745
|
-
return /* @__PURE__ */
|
|
4027
|
+
return /* @__PURE__ */ React79.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React79.createElement(import_ui65.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React79.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React79.createElement(import_editor_controls53.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React79.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React79.createElement(Control, { type: control.type, props: control.props }))));
|
|
3746
4028
|
};
|
|
3747
4029
|
|
|
3748
4030
|
// src/dynamics/dynamic-transformer.ts
|
|
3749
4031
|
var import_editor_canvas2 = require("@elementor/editor-canvas");
|
|
3750
|
-
var
|
|
4032
|
+
var import_editor_props12 = require("@elementor/editor-props");
|
|
3751
4033
|
|
|
3752
4034
|
// src/dynamics/errors.ts
|
|
3753
4035
|
var import_utils8 = require("@elementor/utils");
|
|
@@ -3765,7 +4047,7 @@ var dynamicTransformer = (0, import_editor_canvas2.createTransformer)((value) =>
|
|
|
3765
4047
|
});
|
|
3766
4048
|
function simpleTransform(props) {
|
|
3767
4049
|
const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
|
|
3768
|
-
const value = (0,
|
|
4050
|
+
const value = (0, import_editor_props12.isTransformable)(settingValue) ? settingValue.value : settingValue;
|
|
3769
4051
|
return [settingKey, value];
|
|
3770
4052
|
});
|
|
3771
4053
|
return Object.fromEntries(transformed);
|
|
@@ -3795,18 +4077,18 @@ function getDynamicValue(name, settings) {
|
|
|
3795
4077
|
}
|
|
3796
4078
|
|
|
3797
4079
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
3798
|
-
var
|
|
4080
|
+
var React80 = __toESM(require("react"));
|
|
3799
4081
|
var import_editor_controls54 = require("@elementor/editor-controls");
|
|
3800
4082
|
var import_icons26 = require("@elementor/icons");
|
|
3801
|
-
var
|
|
4083
|
+
var import_i18n54 = require("@wordpress/i18n");
|
|
3802
4084
|
var usePropDynamicAction = () => {
|
|
3803
4085
|
const { propType } = (0, import_editor_controls54.useBoundProp)();
|
|
3804
4086
|
const visible = !!propType && supportsDynamic(propType);
|
|
3805
4087
|
return {
|
|
3806
4088
|
visible,
|
|
3807
4089
|
icon: import_icons26.DatabaseIcon,
|
|
3808
|
-
title: (0,
|
|
3809
|
-
popoverContent: ({ closePopover }) => /* @__PURE__ */
|
|
4090
|
+
title: (0, import_i18n54.__)("Dynamic tags", "elementor"),
|
|
4091
|
+
popoverContent: ({ closePopover }) => /* @__PURE__ */ React80.createElement(DynamicSelection, { onSelect: closePopover })
|
|
3810
4092
|
};
|
|
3811
4093
|
};
|
|
3812
4094
|
|
|
@@ -3840,7 +4122,7 @@ function init2() {
|
|
|
3840
4122
|
init();
|
|
3841
4123
|
}
|
|
3842
4124
|
var blockV1Panel = () => {
|
|
3843
|
-
(0,
|
|
4125
|
+
(0, import_editor_v1_adapters14.blockCommand)({
|
|
3844
4126
|
command: "panel/editor/open",
|
|
3845
4127
|
condition: isAtomicWidgetSelected
|
|
3846
4128
|
});
|