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