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