@elementor/editor-editing-panel 1.23.0 → 1.27.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 +84 -0
- package/dist/index.js +603 -455
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +568 -425
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -9
- package/src/components/add-or-remove-content.tsx +1 -1
- package/src/components/{control-label-with-adornments.tsx → control-label.tsx} +3 -3
- package/src/components/css-classes/css-class-item.tsx +18 -7
- package/src/components/css-classes/css-class-menu.tsx +55 -9
- package/src/components/css-classes/css-class-selector.tsx +9 -8
- package/src/components/editing-panel-tabs.tsx +1 -1
- package/src/components/editing-panel.tsx +18 -15
- package/src/components/multi-combobox.tsx +12 -1
- package/src/components/settings-tab.tsx +2 -2
- package/src/components/style-indicator.tsx +23 -0
- package/src/components/style-sections/border-section/border-color-field.tsx +2 -1
- package/src/components/style-sections/border-section/border-radius-field.tsx +4 -5
- package/src/components/style-sections/border-section/border-style-field.tsx +2 -1
- package/src/components/style-sections/border-section/border-width-field.tsx +2 -3
- package/src/components/style-sections/layout-section/align-content-field.tsx +2 -1
- package/src/components/style-sections/layout-section/align-items-field.tsx +2 -1
- package/src/components/style-sections/layout-section/align-self-child-field.tsx +2 -1
- package/src/components/style-sections/layout-section/display-field.tsx +2 -1
- package/src/components/style-sections/layout-section/flex-direction-field.tsx +2 -1
- package/src/components/style-sections/layout-section/flex-order-field.tsx +20 -24
- package/src/components/style-sections/layout-section/flex-size-field.tsx +31 -19
- package/src/components/style-sections/layout-section/justify-content-field.tsx +5 -4
- package/src/components/style-sections/layout-section/layout-section.tsx +2 -2
- package/src/components/style-sections/layout-section/wrap-field.tsx +2 -1
- package/src/components/style-sections/position-section/dimensions-field.tsx +2 -1
- package/src/components/style-sections/position-section/position-field.tsx +2 -1
- package/src/components/style-sections/position-section/z-index-field.tsx +2 -1
- package/src/components/style-sections/size-section/overflow-field.tsx +2 -1
- package/src/components/style-sections/size-section/size-section.tsx +2 -1
- package/src/components/style-sections/typography-section/font-family-field.tsx +2 -1
- package/src/components/style-sections/typography-section/font-size-field.tsx +2 -1
- package/src/components/style-sections/typography-section/font-style-field.tsx +2 -2
- package/src/components/style-sections/typography-section/font-weight-field.tsx +2 -1
- package/src/components/style-sections/typography-section/letter-spacing-field.tsx +2 -1
- package/src/components/style-sections/typography-section/line-height-field.tsx +2 -1
- package/src/components/style-sections/typography-section/text-alignment-field.tsx +7 -7
- package/src/components/style-sections/typography-section/text-color-field.tsx +2 -1
- package/src/components/style-sections/typography-section/text-decoration-field.tsx +2 -1
- package/src/components/style-sections/typography-section/text-direction-field.tsx +2 -1
- package/src/components/style-sections/typography-section/text-stroke-field.tsx +9 -9
- package/src/components/style-sections/typography-section/transform-field.tsx +2 -1
- package/src/components/style-sections/typography-section/word-spacing-field.tsx +2 -1
- package/src/contexts/style-context.tsx +1 -1
- package/src/controls-registry/control-type-container.tsx +2 -2
- package/src/dynamics/components/dynamic-selection-control.tsx +2 -2
- package/src/dynamics/components/dynamic-selection.tsx +4 -4
- package/src/dynamics/dynamic-transformer.ts +61 -0
- package/src/dynamics/errors.ts +6 -0
- package/src/dynamics/init.ts +6 -0
- package/src/dynamics/types.ts +17 -0
- package/src/styles-inheritance/create-snapshots-manager.ts +8 -8
- package/src/styles-inheritance/create-styles-inheritance.ts +8 -4
- package/src/styles-inheritance/styles-inheritance-indicator.tsx +17 -34
- package/src/styles-inheritance/types.ts +7 -6
package/dist/index.js
CHANGED
|
@@ -50,7 +50,7 @@ var import_editor_props = require("@elementor/editor-props");
|
|
|
50
50
|
var import_editor_styles_repository4 = require("@elementor/editor-styles-repository");
|
|
51
51
|
var import_icons2 = require("@elementor/icons");
|
|
52
52
|
var import_locations = require("@elementor/locations");
|
|
53
|
-
var
|
|
53
|
+
var import_ui5 = require("@elementor/ui");
|
|
54
54
|
var import_i18n3 = require("@wordpress/i18n");
|
|
55
55
|
|
|
56
56
|
// src/contexts/classes-prop-context.tsx
|
|
@@ -157,7 +157,18 @@ function MultiCombobox({
|
|
|
157
157
|
value: selected,
|
|
158
158
|
options: options13,
|
|
159
159
|
renderGroup: (params) => /* @__PURE__ */ React4.createElement(Group, { ...params }),
|
|
160
|
-
renderInput: (params) => /* @__PURE__ */ React4.createElement(
|
|
160
|
+
renderInput: (params) => /* @__PURE__ */ React4.createElement(
|
|
161
|
+
import_ui.TextField,
|
|
162
|
+
{
|
|
163
|
+
...params,
|
|
164
|
+
sx: (theme) => ({
|
|
165
|
+
".MuiAutocomplete-inputRoot.MuiInputBase-adornedStart": {
|
|
166
|
+
paddingLeft: theme.spacing(0.25),
|
|
167
|
+
paddingRight: theme.spacing(0.25)
|
|
168
|
+
}
|
|
169
|
+
})
|
|
170
|
+
}
|
|
171
|
+
),
|
|
161
172
|
onChange: (_, selectedOrInputValue, reason) => {
|
|
162
173
|
const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
|
|
163
174
|
const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
|
|
@@ -249,14 +260,14 @@ var import_react5 = require("react");
|
|
|
249
260
|
var import_editor_styles_repository3 = require("@elementor/editor-styles-repository");
|
|
250
261
|
var import_editor_ui2 = require("@elementor/editor-ui");
|
|
251
262
|
var import_icons = require("@elementor/icons");
|
|
252
|
-
var
|
|
263
|
+
var import_ui4 = require("@elementor/ui");
|
|
253
264
|
var import_i18n2 = require("@wordpress/i18n");
|
|
254
265
|
|
|
255
266
|
// src/components/css-classes/css-class-menu.tsx
|
|
256
267
|
var React5 = __toESM(require("react"));
|
|
257
268
|
var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
|
|
258
269
|
var import_editor_ui = require("@elementor/editor-ui");
|
|
259
|
-
var
|
|
270
|
+
var import_ui3 = require("@elementor/ui");
|
|
260
271
|
var import_i18n = require("@wordpress/i18n");
|
|
261
272
|
|
|
262
273
|
// src/hooks/use-unapply-class.ts
|
|
@@ -281,17 +292,41 @@ var useUnapplyClass = (classId) => {
|
|
|
281
292
|
};
|
|
282
293
|
};
|
|
283
294
|
|
|
295
|
+
// src/components/style-indicator.tsx
|
|
296
|
+
var import_ui2 = require("@elementor/ui");
|
|
297
|
+
var StyleIndicator = (0, import_ui2.styled)("div", {
|
|
298
|
+
shouldForwardProp: (prop) => prop !== "variant"
|
|
299
|
+
})`
|
|
300
|
+
width: 5px;
|
|
301
|
+
height: 5px;
|
|
302
|
+
border-radius: 50%;
|
|
303
|
+
background-color: ${({ theme, variant }) => {
|
|
304
|
+
switch (variant) {
|
|
305
|
+
case "overridden":
|
|
306
|
+
return theme.palette.warning.light;
|
|
307
|
+
case "global":
|
|
308
|
+
return theme.palette.global.dark;
|
|
309
|
+
case "local":
|
|
310
|
+
return theme.palette.accent.main;
|
|
311
|
+
default:
|
|
312
|
+
return theme.palette.text.disabled;
|
|
313
|
+
}
|
|
314
|
+
}};
|
|
315
|
+
`;
|
|
316
|
+
|
|
284
317
|
// src/components/css-classes/css-class-menu.tsx
|
|
285
318
|
var STATES = ["hover", "focus", "active"];
|
|
286
319
|
function CssClassMenu({ styleId, provider, popupState, handleRename, anchorEl }) {
|
|
320
|
+
const styledStates = useStyledStates(styleId);
|
|
321
|
+
const indicatorVariant = provider === import_editor_styles_repository2.ELEMENTS_STYLES_PROVIDER_KEY ? "local" : "global";
|
|
287
322
|
const handleKeyDown = (e) => {
|
|
288
323
|
e.stopPropagation();
|
|
289
324
|
};
|
|
290
325
|
return /* @__PURE__ */ React5.createElement(
|
|
291
|
-
|
|
326
|
+
import_ui3.Menu,
|
|
292
327
|
{
|
|
293
|
-
MenuListProps: { dense: true },
|
|
294
|
-
...(0,
|
|
328
|
+
MenuListProps: { dense: true, sx: { minWidth: "160px" } },
|
|
329
|
+
...(0, import_ui3.bindMenu)(popupState),
|
|
295
330
|
anchorEl,
|
|
296
331
|
anchorOrigin: {
|
|
297
332
|
vertical: "bottom",
|
|
@@ -304,13 +339,40 @@ function CssClassMenu({ styleId, provider, popupState, handleRename, anchorEl })
|
|
|
304
339
|
onKeyDown: handleKeyDown
|
|
305
340
|
},
|
|
306
341
|
getMenuItemsByProvider({ provider, styleId, handleRename, closeMenu: popupState.close }),
|
|
307
|
-
/* @__PURE__ */ React5.createElement(
|
|
308
|
-
/* @__PURE__ */ React5.createElement(
|
|
342
|
+
/* @__PURE__ */ React5.createElement(import_ui3.MenuSubheader, { sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1 } }, (0, import_i18n.__)("States", "elementor")),
|
|
343
|
+
/* @__PURE__ */ React5.createElement(
|
|
344
|
+
StateMenuItem,
|
|
345
|
+
{
|
|
346
|
+
key: "normal",
|
|
347
|
+
state: null,
|
|
348
|
+
styleId,
|
|
349
|
+
closeMenu: popupState.close,
|
|
350
|
+
isStyled: styledStates.normal,
|
|
351
|
+
indicatorVariant
|
|
352
|
+
}
|
|
353
|
+
),
|
|
309
354
|
STATES.map((state) => {
|
|
310
|
-
return /* @__PURE__ */ React5.createElement(
|
|
355
|
+
return /* @__PURE__ */ React5.createElement(
|
|
356
|
+
StateMenuItem,
|
|
357
|
+
{
|
|
358
|
+
key: state,
|
|
359
|
+
state,
|
|
360
|
+
styleId,
|
|
361
|
+
closeMenu: popupState.close,
|
|
362
|
+
isStyled: styledStates[state],
|
|
363
|
+
indicatorVariant
|
|
364
|
+
}
|
|
365
|
+
);
|
|
311
366
|
})
|
|
312
367
|
);
|
|
313
368
|
}
|
|
369
|
+
function useStyledStates(styleId) {
|
|
370
|
+
const { meta } = useStyle();
|
|
371
|
+
const styleDef = import_editor_styles_repository2.stylesRepository.all().find((style) => style.id === styleId);
|
|
372
|
+
return Object.fromEntries(
|
|
373
|
+
styleDef?.variants.filter((variant) => meta.breakpoint === variant.meta.breakpoint).map((variant) => [variant.meta.state ?? "normal", true]) ?? []
|
|
374
|
+
);
|
|
375
|
+
}
|
|
314
376
|
function getMenuItemsByProvider({
|
|
315
377
|
provider,
|
|
316
378
|
styleId,
|
|
@@ -330,19 +392,26 @@ function getMenuItemsByProvider({
|
|
|
330
392
|
if (actions.length) {
|
|
331
393
|
actions.unshift(
|
|
332
394
|
/* @__PURE__ */ React5.createElement(
|
|
333
|
-
|
|
395
|
+
import_ui3.MenuSubheader,
|
|
334
396
|
{
|
|
335
397
|
key: "provider-label",
|
|
336
|
-
sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1 }
|
|
398
|
+
sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1, textTransform: "capitalize" }
|
|
337
399
|
},
|
|
338
400
|
providerInstance?.labels?.singular
|
|
339
401
|
)
|
|
340
402
|
);
|
|
341
|
-
actions.push(/* @__PURE__ */ React5.createElement(
|
|
403
|
+
actions.push(/* @__PURE__ */ React5.createElement(import_ui3.Divider, { key: "provider-actions-divider" }));
|
|
342
404
|
}
|
|
343
405
|
return actions;
|
|
344
406
|
}
|
|
345
|
-
function StateMenuItem({
|
|
407
|
+
function StateMenuItem({
|
|
408
|
+
state,
|
|
409
|
+
styleId,
|
|
410
|
+
closeMenu,
|
|
411
|
+
isStyled = false,
|
|
412
|
+
indicatorVariant,
|
|
413
|
+
...props
|
|
414
|
+
}) {
|
|
346
415
|
const { id: activeId, setId: setActiveId, setMetaState: setActiveMetaState, meta } = useStyle();
|
|
347
416
|
const { state: activeState } = meta;
|
|
348
417
|
const isActive = styleId === activeId;
|
|
@@ -361,7 +430,7 @@ function StateMenuItem({ state, styleId, closeMenu, ...props }) {
|
|
|
361
430
|
closeMenu();
|
|
362
431
|
}
|
|
363
432
|
},
|
|
364
|
-
|
|
433
|
+
/* @__PURE__ */ React5.createElement(import_ui3.Stack, { gap: 0.75, direction: "row", alignItems: "center" }, isStyled && /* @__PURE__ */ React5.createElement(StyleIndicator, { "aria-label": (0, import_i18n.__)("Has style", "elementor"), variant: indicatorVariant }), state ?? "normal")
|
|
365
434
|
);
|
|
366
435
|
}
|
|
367
436
|
function UnapplyClassMenuItem({ styleId, closeMenu, ...props }) {
|
|
@@ -410,7 +479,7 @@ function CssClassItem({
|
|
|
410
479
|
renameLabel
|
|
411
480
|
}) {
|
|
412
481
|
const { meta, setMetaState } = useStyle();
|
|
413
|
-
const popupState = (0,
|
|
482
|
+
const popupState = (0, import_ui4.usePopupState)({ variant: "popover" });
|
|
414
483
|
const [chipRef, setChipRef] = (0, import_react5.useState)(null);
|
|
415
484
|
const { onDelete, ...chipGroupProps } = chipProps;
|
|
416
485
|
const {
|
|
@@ -428,52 +497,67 @@ function CssClassItem({
|
|
|
428
497
|
const providerActions = import_editor_styles_repository3.stylesRepository.getProviderByKey(provider)?.actions;
|
|
429
498
|
const allowRename = Boolean(providerActions?.update);
|
|
430
499
|
const isShowingState = isActive && meta.state;
|
|
431
|
-
return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(
|
|
432
|
-
|
|
500
|
+
return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(
|
|
501
|
+
import_ui4.UnstableChipGroup,
|
|
433
502
|
{
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
503
|
+
ref: setChipRef,
|
|
504
|
+
...chipGroupProps,
|
|
505
|
+
"aria-label": `Edit ${label}`,
|
|
506
|
+
role: "group",
|
|
507
|
+
sx: (theme) => ({
|
|
508
|
+
"&.MuiChipGroup-root.MuiAutocomplete-tag": { margin: theme.spacing(0.125) }
|
|
509
|
+
})
|
|
510
|
+
},
|
|
511
|
+
/* @__PURE__ */ React6.createElement(
|
|
512
|
+
import_ui4.Chip,
|
|
513
|
+
{
|
|
514
|
+
size: CHIP_SIZE,
|
|
515
|
+
label: isEditing ? /* @__PURE__ */ React6.createElement(import_editor_ui2.EditableField, { ref, error, ...getEditableProps() }) : /* @__PURE__ */ React6.createElement(import_editor_ui2.EllipsisWithTooltip, { maxWidth: "10ch", title: label, as: "div" }),
|
|
516
|
+
variant: isActive && !meta.state && !isEditing ? "filled" : "standard",
|
|
517
|
+
shape: "rounded",
|
|
518
|
+
icon,
|
|
519
|
+
color,
|
|
520
|
+
onClick: () => {
|
|
521
|
+
if (isShowingState) {
|
|
522
|
+
setMetaState(null);
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
if (allowRename && isActive) {
|
|
526
|
+
openEditMode();
|
|
527
|
+
return;
|
|
528
|
+
}
|
|
529
|
+
onClickActive(id);
|
|
530
|
+
},
|
|
531
|
+
"aria-pressed": isActive,
|
|
532
|
+
sx: (theme) => ({
|
|
533
|
+
cursor: isActive && allowRename && !isShowingState ? "text" : "pointer",
|
|
534
|
+
borderRadius: `${theme.shape.borderRadius * 0.75}px`,
|
|
535
|
+
"&.Mui-focusVisible": {
|
|
536
|
+
boxShadow: "none !important"
|
|
537
|
+
}
|
|
538
|
+
})
|
|
457
539
|
}
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
540
|
+
),
|
|
541
|
+
!isEditing && /* @__PURE__ */ React6.createElement(
|
|
542
|
+
import_ui4.Chip,
|
|
543
|
+
{
|
|
544
|
+
icon: isShowingState ? void 0 : /* @__PURE__ */ React6.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" }),
|
|
545
|
+
size: CHIP_SIZE,
|
|
546
|
+
label: isShowingState ? /* @__PURE__ */ React6.createElement(import_ui4.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, /* @__PURE__ */ React6.createElement(import_ui4.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React6.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" })) : void 0,
|
|
547
|
+
variant: "filled",
|
|
548
|
+
shape: "rounded",
|
|
549
|
+
color,
|
|
550
|
+
...(0, import_ui4.bindTrigger)(popupState),
|
|
551
|
+
"aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor"),
|
|
552
|
+
sx: (theme) => ({
|
|
553
|
+
borderRadius: `${theme.shape.borderRadius * 0.75}px`,
|
|
554
|
+
paddingRight: 0,
|
|
555
|
+
...!isShowingState ? { paddingLeft: 0 } : {},
|
|
556
|
+
".MuiChip-label": isShowingState ? { paddingRight: 0 } : { padding: 0 }
|
|
557
|
+
})
|
|
474
558
|
}
|
|
475
|
-
|
|
476
|
-
)
|
|
559
|
+
)
|
|
560
|
+
), /* @__PURE__ */ React6.createElement(
|
|
477
561
|
CssClassMenu,
|
|
478
562
|
{
|
|
479
563
|
styleId: id,
|
|
@@ -486,10 +570,10 @@ function CssClassItem({
|
|
|
486
570
|
}
|
|
487
571
|
var validateLabel = (newLabel) => {
|
|
488
572
|
if (!import_editor_styles_repository3.stylesRepository.isLabelValid(newLabel)) {
|
|
489
|
-
return (0, import_i18n2.__)("
|
|
573
|
+
return (0, import_i18n2.__)("Invalid format", "elementor");
|
|
490
574
|
}
|
|
491
575
|
if (import_editor_styles_repository3.stylesRepository.isLabelExist(newLabel)) {
|
|
492
|
-
return (0, import_i18n2.__)("
|
|
576
|
+
return (0, import_i18n2.__)("Name exists", "elementor");
|
|
493
577
|
}
|
|
494
578
|
return null;
|
|
495
579
|
};
|
|
@@ -501,7 +585,7 @@ var EMPTY_OPTION = {
|
|
|
501
585
|
label: (0, import_i18n3.__)("local", "elementor"),
|
|
502
586
|
value: null,
|
|
503
587
|
fixed: true,
|
|
504
|
-
color: "
|
|
588
|
+
color: "accent",
|
|
505
589
|
icon: /* @__PURE__ */ React7.createElement(import_icons2.MapPinIcon, null),
|
|
506
590
|
provider: import_editor_styles_repository4.ELEMENTS_STYLES_PROVIDER_KEY
|
|
507
591
|
};
|
|
@@ -514,7 +598,7 @@ function CssClassSelector() {
|
|
|
514
598
|
const handleApply = useHandleApply(appliedIds, setAppliedIds);
|
|
515
599
|
const applied = useAppliedOptions(options13, appliedIds);
|
|
516
600
|
const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
|
|
517
|
-
return /* @__PURE__ */ React7.createElement(
|
|
601
|
+
return /* @__PURE__ */ React7.createElement(import_ui5.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React7.createElement(import_ui5.Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React7.createElement(import_ui5.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n3.__)("Classes", "elementor")), /* @__PURE__ */ React7.createElement(import_ui5.Stack, { direction: "row", gap: 1 }, /* @__PURE__ */ React7.createElement(ClassSelectorActionsSlot, null))), /* @__PURE__ */ React7.createElement(
|
|
518
602
|
MultiCombobox,
|
|
519
603
|
{
|
|
520
604
|
id: ID,
|
|
@@ -524,7 +608,7 @@ function CssClassSelector() {
|
|
|
524
608
|
onSelect: handleApply,
|
|
525
609
|
limitTags: TAGS_LIMIT,
|
|
526
610
|
actions,
|
|
527
|
-
getLimitTagsText: (more) => /* @__PURE__ */ React7.createElement(
|
|
611
|
+
getLimitTagsText: (more) => /* @__PURE__ */ React7.createElement(import_ui5.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
|
|
528
612
|
renderTags: (values, getTagProps) => values.map((value, index) => {
|
|
529
613
|
const chipProps = getTagProps({ index });
|
|
530
614
|
const isActive = value.value === active?.value;
|
|
@@ -574,10 +658,11 @@ function useOptions() {
|
|
|
574
658
|
label: styleDef.label,
|
|
575
659
|
value: styleDef.id,
|
|
576
660
|
fixed: isElements,
|
|
577
|
-
color: isElements ? "
|
|
661
|
+
color: isElements ? "accent" : "global",
|
|
578
662
|
icon: isElements ? /* @__PURE__ */ React7.createElement(import_icons2.MapPinIcon, null) : null,
|
|
579
663
|
provider: provider.key,
|
|
580
|
-
|
|
664
|
+
// translators: %s is the plural label of the provider (e.g "Existing classes").
|
|
665
|
+
group: (0, import_i18n3.__)("Existing %s", "elementor").replace("%s", provider.labels?.plural ?? "")
|
|
581
666
|
};
|
|
582
667
|
});
|
|
583
668
|
});
|
|
@@ -589,9 +674,9 @@ function useCreateActions({
|
|
|
589
674
|
return (0, import_editor_styles_repository4.useCreateActionsByProvider)().map(([provider, create]) => {
|
|
590
675
|
return {
|
|
591
676
|
// translators: %s is the label of the new class.
|
|
592
|
-
label: (value) => (0, import_i18n3.__)('Create
|
|
593
|
-
// translators: %s is the singular label of css class provider (e.g "
|
|
594
|
-
group: (0, import_i18n3.__)("Create
|
|
677
|
+
label: (value) => (0, import_i18n3.__)('Create "%s"', "elementor").replace("%s", value),
|
|
678
|
+
// translators: %s is the singular label of css class provider (e.g "CSS Class").
|
|
679
|
+
group: (0, import_i18n3.__)("Create a new %s", "elementor").replace("%s", provider.labels?.singular ?? ""),
|
|
595
680
|
condition: (_, inputValue) => isLabelValid(inputValue) && !hasReachedLimit(provider),
|
|
596
681
|
apply: (label) => {
|
|
597
682
|
const createdId = create(label);
|
|
@@ -670,13 +755,14 @@ function useHandleApply(appliedIds, setAppliedIds) {
|
|
|
670
755
|
var import_editor_panels2 = require("@elementor/editor-panels");
|
|
671
756
|
|
|
672
757
|
// src/components/editing-panel.tsx
|
|
673
|
-
var
|
|
758
|
+
var React67 = __toESM(require("react"));
|
|
674
759
|
var import_editor_controls44 = require("@elementor/editor-controls");
|
|
675
760
|
var import_editor_elements8 = require("@elementor/editor-elements");
|
|
676
761
|
var import_editor_panels = require("@elementor/editor-panels");
|
|
762
|
+
var import_editor_ui3 = require("@elementor/editor-ui");
|
|
677
763
|
var import_icons23 = require("@elementor/icons");
|
|
678
764
|
var import_session4 = require("@elementor/session");
|
|
679
|
-
var
|
|
765
|
+
var import_ui52 = require("@elementor/ui");
|
|
680
766
|
var import_i18n45 = require("@wordpress/i18n");
|
|
681
767
|
|
|
682
768
|
// src/controls-actions.ts
|
|
@@ -686,7 +772,7 @@ var import_menus = require("@elementor/menus");
|
|
|
686
772
|
var React8 = __toESM(require("react"));
|
|
687
773
|
var import_react6 = require("react");
|
|
688
774
|
var import_icons3 = require("@elementor/icons");
|
|
689
|
-
var
|
|
775
|
+
var import_ui6 = require("@elementor/ui");
|
|
690
776
|
var SIZE = "tiny";
|
|
691
777
|
function PopoverAction({
|
|
692
778
|
title,
|
|
@@ -695,15 +781,15 @@ function PopoverAction({
|
|
|
695
781
|
popoverContent: PopoverContent2
|
|
696
782
|
}) {
|
|
697
783
|
const id = (0, import_react6.useId)();
|
|
698
|
-
const popupState = (0,
|
|
784
|
+
const popupState = (0, import_ui6.usePopupState)({
|
|
699
785
|
variant: "popover",
|
|
700
786
|
popupId: `elementor-popover-action-${id}`
|
|
701
787
|
});
|
|
702
788
|
if (!visible) {
|
|
703
789
|
return null;
|
|
704
790
|
}
|
|
705
|
-
return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(
|
|
706
|
-
|
|
791
|
+
return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(import_ui6.Tooltip, { placement: "top", title }, /* @__PURE__ */ React8.createElement(import_ui6.IconButton, { "aria-label": title, key: id, size: SIZE, ...(0, import_ui6.bindToggle)(popupState) }, /* @__PURE__ */ React8.createElement(Icon, { fontSize: SIZE }))), /* @__PURE__ */ React8.createElement(
|
|
792
|
+
import_ui6.Popover,
|
|
707
793
|
{
|
|
708
794
|
disablePortal: true,
|
|
709
795
|
disableScrollLock: true,
|
|
@@ -711,9 +797,9 @@ function PopoverAction({
|
|
|
711
797
|
vertical: "bottom",
|
|
712
798
|
horizontal: "center"
|
|
713
799
|
},
|
|
714
|
-
...(0,
|
|
800
|
+
...(0, import_ui6.bindPopover)(popupState)
|
|
715
801
|
},
|
|
716
|
-
/* @__PURE__ */ React8.createElement(
|
|
802
|
+
/* @__PURE__ */ React8.createElement(import_ui6.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React8.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React8.createElement(import_ui6.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React8.createElement(import_ui6.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React8.createElement(import_icons3.XIcon, { fontSize: SIZE }))),
|
|
717
803
|
/* @__PURE__ */ React8.createElement(PopoverContent2, { closePopover: popupState.close })
|
|
718
804
|
));
|
|
719
805
|
}
|
|
@@ -727,15 +813,15 @@ var controlActionsMenu = (0, import_menus.createMenu)({
|
|
|
727
813
|
|
|
728
814
|
// src/components/editing-panel-error-fallback.tsx
|
|
729
815
|
var React9 = __toESM(require("react"));
|
|
730
|
-
var
|
|
816
|
+
var import_ui7 = require("@elementor/ui");
|
|
731
817
|
function EditorPanelErrorFallback() {
|
|
732
|
-
return /* @__PURE__ */ React9.createElement(
|
|
818
|
+
return /* @__PURE__ */ React9.createElement(import_ui7.Box, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React9.createElement(import_ui7.Alert, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React9.createElement("strong", null, "Something went wrong")));
|
|
733
819
|
}
|
|
734
820
|
|
|
735
821
|
// src/components/editing-panel-tabs.tsx
|
|
736
|
-
var
|
|
822
|
+
var React66 = __toESM(require("react"));
|
|
737
823
|
var import_react17 = require("react");
|
|
738
|
-
var
|
|
824
|
+
var import_ui51 = require("@elementor/ui");
|
|
739
825
|
var import_i18n44 = require("@wordpress/i18n");
|
|
740
826
|
|
|
741
827
|
// src/components/settings-tab.tsx
|
|
@@ -775,7 +861,7 @@ var Control = ({ props, type }) => {
|
|
|
775
861
|
|
|
776
862
|
// src/controls-registry/control-type-container.tsx
|
|
777
863
|
var React11 = __toESM(require("react"));
|
|
778
|
-
var
|
|
864
|
+
var import_ui8 = require("@elementor/ui");
|
|
779
865
|
var ControlTypeContainer = ({
|
|
780
866
|
controlType,
|
|
781
867
|
children
|
|
@@ -783,7 +869,7 @@ var ControlTypeContainer = ({
|
|
|
783
869
|
const layout = getLayoutByType(controlType);
|
|
784
870
|
return /* @__PURE__ */ React11.createElement(StyledContainer, { layout }, children);
|
|
785
871
|
};
|
|
786
|
-
var StyledContainer = (0,
|
|
872
|
+
var StyledContainer = (0, import_ui8.styled)(import_ui8.Box, {
|
|
787
873
|
shouldForwardProp: (prop) => !["layout"].includes(prop)
|
|
788
874
|
})(({ layout, theme }) => ({
|
|
789
875
|
display: "grid",
|
|
@@ -793,8 +879,8 @@ var StyledContainer = (0, import_ui7.styled)(import_ui7.Box, {
|
|
|
793
879
|
var getGridLayout = (layout) => ({
|
|
794
880
|
justifyContent: "space-between",
|
|
795
881
|
gridTemplateColumns: {
|
|
796
|
-
full: "1fr",
|
|
797
|
-
"two-columns": "repeat(2, 1fr)"
|
|
882
|
+
full: "minmax(0, 1fr)",
|
|
883
|
+
"two-columns": "repeat(2, minmax(0, 1fr))"
|
|
798
884
|
}[layout]
|
|
799
885
|
});
|
|
800
886
|
|
|
@@ -834,12 +920,12 @@ var SettingsField = ({ bind, children }) => {
|
|
|
834
920
|
// src/components/section.tsx
|
|
835
921
|
var React13 = __toESM(require("react"));
|
|
836
922
|
var import_react7 = require("react");
|
|
837
|
-
var
|
|
923
|
+
var import_ui10 = require("@elementor/ui");
|
|
838
924
|
|
|
839
925
|
// src/components/collapse-icon.tsx
|
|
840
926
|
var import_icons4 = require("@elementor/icons");
|
|
841
|
-
var
|
|
842
|
-
var CollapseIcon = (0,
|
|
927
|
+
var import_ui9 = require("@elementor/ui");
|
|
928
|
+
var CollapseIcon = (0, import_ui9.styled)(import_icons4.ChevronDownIcon, {
|
|
843
929
|
shouldForwardProp: (prop) => prop !== "open"
|
|
844
930
|
})(({ theme, open }) => ({
|
|
845
931
|
transform: open ? "rotate(180deg)" : "rotate(0deg)",
|
|
@@ -855,7 +941,7 @@ function Section({ title, children, defaultExpanded = false }) {
|
|
|
855
941
|
const labelId = `label-${id}`;
|
|
856
942
|
const contentId = `content-${id}`;
|
|
857
943
|
return /* @__PURE__ */ React13.createElement(React13.Fragment, null, /* @__PURE__ */ React13.createElement(
|
|
858
|
-
|
|
944
|
+
import_ui10.ListItemButton,
|
|
859
945
|
{
|
|
860
946
|
id: labelId,
|
|
861
947
|
"aria-controls": contentId,
|
|
@@ -863,21 +949,21 @@ function Section({ title, children, defaultExpanded = false }) {
|
|
|
863
949
|
sx: { "&:hover": { backgroundColor: "transparent" } }
|
|
864
950
|
},
|
|
865
951
|
/* @__PURE__ */ React13.createElement(
|
|
866
|
-
|
|
952
|
+
import_ui10.ListItemText,
|
|
867
953
|
{
|
|
868
954
|
secondary: title,
|
|
869
955
|
secondaryTypographyProps: { color: "text.primary", variant: "caption", fontWeight: "bold" }
|
|
870
956
|
}
|
|
871
957
|
),
|
|
872
958
|
/* @__PURE__ */ React13.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
|
|
873
|
-
), /* @__PURE__ */ React13.createElement(
|
|
959
|
+
), /* @__PURE__ */ React13.createElement(import_ui10.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React13.createElement(import_ui10.Stack, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React13.createElement(import_ui10.Divider, null));
|
|
874
960
|
}
|
|
875
961
|
|
|
876
962
|
// src/components/sections-list.tsx
|
|
877
963
|
var React14 = __toESM(require("react"));
|
|
878
|
-
var
|
|
964
|
+
var import_ui11 = require("@elementor/ui");
|
|
879
965
|
function SectionsList(props) {
|
|
880
|
-
return /* @__PURE__ */ React14.createElement(
|
|
966
|
+
return /* @__PURE__ */ React14.createElement(import_ui11.List, { disablePadding: true, component: "div", ...props });
|
|
881
967
|
}
|
|
882
968
|
|
|
883
969
|
// src/components/settings-tab.tsx
|
|
@@ -902,17 +988,17 @@ var Control2 = ({ control }) => {
|
|
|
902
988
|
if (!getControlByType(control.type)) {
|
|
903
989
|
return null;
|
|
904
990
|
}
|
|
905
|
-
return /* @__PURE__ */ React15.createElement(SettingsField, { bind: control.bind }, /* @__PURE__ */ React15.createElement(ControlTypeContainer, { controlType: control.type }, control.label ? /* @__PURE__ */ React15.createElement(import_editor_controls4.
|
|
991
|
+
return /* @__PURE__ */ React15.createElement(SettingsField, { bind: control.bind }, /* @__PURE__ */ React15.createElement(ControlTypeContainer, { controlType: control.type }, control.label ? /* @__PURE__ */ React15.createElement(import_editor_controls4.ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React15.createElement(Control, { type: control.type, props: control.props })));
|
|
906
992
|
};
|
|
907
993
|
|
|
908
994
|
// src/components/style-tab.tsx
|
|
909
|
-
var
|
|
995
|
+
var React65 = __toESM(require("react"));
|
|
910
996
|
var import_react16 = require("react");
|
|
911
997
|
var import_editor_elements7 = require("@elementor/editor-elements");
|
|
912
|
-
var
|
|
998
|
+
var import_editor_props6 = require("@elementor/editor-props");
|
|
913
999
|
var import_editor_responsive2 = require("@elementor/editor-responsive");
|
|
914
1000
|
var import_session3 = require("@elementor/session");
|
|
915
|
-
var
|
|
1001
|
+
var import_ui50 = require("@elementor/ui");
|
|
916
1002
|
var import_i18n43 = require("@wordpress/i18n");
|
|
917
1003
|
|
|
918
1004
|
// src/contexts/styles-inheritance-context.tsx
|
|
@@ -1016,16 +1102,16 @@ function buildStateSnapshotSlot(styles, parentBreakpoint, currentBreakpoint, sta
|
|
|
1016
1102
|
}
|
|
1017
1103
|
function buildInitialSnapshotFromStyles(styles) {
|
|
1018
1104
|
const snapshot = {};
|
|
1019
|
-
styles.forEach((
|
|
1105
|
+
styles.forEach((styleData) => {
|
|
1020
1106
|
const {
|
|
1021
|
-
|
|
1022
|
-
} =
|
|
1107
|
+
variant: { props }
|
|
1108
|
+
} = styleData;
|
|
1023
1109
|
Object.entries(props).forEach(([key, value]) => {
|
|
1024
1110
|
if (!snapshot[key]) {
|
|
1025
1111
|
snapshot[key] = [];
|
|
1026
1112
|
}
|
|
1027
1113
|
const snapshotPropValue = {
|
|
1028
|
-
...
|
|
1114
|
+
...styleData,
|
|
1029
1115
|
value
|
|
1030
1116
|
};
|
|
1031
1117
|
snapshot[key].push(snapshotPropValue);
|
|
@@ -1058,8 +1144,9 @@ function createStylesInheritance(styleDefs, breakpointsRoot) {
|
|
|
1058
1144
|
function buildStyleVariantsByMetaMapping(styleDefs) {
|
|
1059
1145
|
const breakpointStateSlots = {};
|
|
1060
1146
|
styleDefs.forEach((styleDef) => {
|
|
1061
|
-
styleDef.
|
|
1062
|
-
|
|
1147
|
+
const provider = getProviderByStyleId(styleDef.id)?.key ?? null;
|
|
1148
|
+
styleDef.variants.forEach((variant) => {
|
|
1149
|
+
const { meta } = variant;
|
|
1063
1150
|
const { state, breakpoint } = meta;
|
|
1064
1151
|
const breakpointKey = getBreakpointKey(breakpoint);
|
|
1065
1152
|
const stateKey = getStateKey(state);
|
|
@@ -1071,8 +1158,9 @@ function buildStyleVariantsByMetaMapping(styleDefs) {
|
|
|
1071
1158
|
breakpointNode[stateKey] = [];
|
|
1072
1159
|
}
|
|
1073
1160
|
breakpointNode[stateKey].push({
|
|
1074
|
-
|
|
1075
|
-
|
|
1161
|
+
style: styleDef,
|
|
1162
|
+
variant,
|
|
1163
|
+
provider
|
|
1076
1164
|
});
|
|
1077
1165
|
});
|
|
1078
1166
|
});
|
|
@@ -1270,56 +1358,39 @@ function useStylesField(propName) {
|
|
|
1270
1358
|
var React17 = __toESM(require("react"));
|
|
1271
1359
|
var import_editor_controls5 = require("@elementor/editor-controls");
|
|
1272
1360
|
var import_editor_styles_repository7 = require("@elementor/editor-styles-repository");
|
|
1273
|
-
var import_ui11 = require("@elementor/ui");
|
|
1274
1361
|
var import_i18n5 = require("@wordpress/i18n");
|
|
1275
|
-
var Circle = (0, import_ui11.styled)("div", {
|
|
1276
|
-
shouldForwardProp: (prop) => prop !== "variant"
|
|
1277
|
-
})`
|
|
1278
|
-
width: 5px;
|
|
1279
|
-
height: 5px;
|
|
1280
|
-
border-radius: 50%;
|
|
1281
|
-
background-color: ${({ theme, variant }) => {
|
|
1282
|
-
switch (variant) {
|
|
1283
|
-
case "overridden":
|
|
1284
|
-
return theme.palette.warning.main;
|
|
1285
|
-
case "global-affects":
|
|
1286
|
-
return theme.palette.global.main;
|
|
1287
|
-
case "local-affects":
|
|
1288
|
-
return theme.palette.primary.main;
|
|
1289
|
-
default:
|
|
1290
|
-
return theme.palette.text.secondary;
|
|
1291
|
-
}
|
|
1292
|
-
}};
|
|
1293
|
-
`;
|
|
1294
1362
|
var StylesInheritanceIndicator = () => {
|
|
1295
|
-
const {
|
|
1363
|
+
const { value, path } = (0, import_editor_controls5.useBoundProp)();
|
|
1296
1364
|
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
1297
|
-
const [
|
|
1365
|
+
const [bind] = path;
|
|
1298
1366
|
const inheritanceChain = useStylesInheritanceField(bind);
|
|
1299
1367
|
if (!inheritanceChain.length) {
|
|
1300
1368
|
return null;
|
|
1301
1369
|
}
|
|
1302
|
-
const [{
|
|
1303
|
-
|
|
1304
|
-
|
|
1370
|
+
const [{ style, variant, provider }] = inheritanceChain;
|
|
1371
|
+
if (provider === import_editor_styles_repository7.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
1372
|
+
return null;
|
|
1373
|
+
}
|
|
1374
|
+
const { breakpoint, state } = variant.meta;
|
|
1375
|
+
if (style.id === currentStyleId && breakpoint === currentStyleMeta.breakpoint && state === currentStyleMeta.state) {
|
|
1305
1376
|
return /* @__PURE__ */ React17.createElement(
|
|
1306
|
-
|
|
1377
|
+
StyleIndicator,
|
|
1307
1378
|
{
|
|
1308
1379
|
"aria-label": (0, import_i18n5.__)("This is the final value", "elementor"),
|
|
1309
|
-
variant: currentStyleProvider?.key === import_editor_styles_repository7.ELEMENTS_STYLES_PROVIDER_KEY ? "local
|
|
1380
|
+
variant: currentStyleProvider?.key === import_editor_styles_repository7.ELEMENTS_STYLES_PROVIDER_KEY ? "local" : "global"
|
|
1310
1381
|
}
|
|
1311
1382
|
);
|
|
1312
1383
|
}
|
|
1313
1384
|
if (value !== null && value !== void 0) {
|
|
1314
1385
|
return /* @__PURE__ */ React17.createElement(
|
|
1315
|
-
|
|
1386
|
+
StyleIndicator,
|
|
1316
1387
|
{
|
|
1317
1388
|
"aria-label": (0, import_i18n5.__)("This value is overridden by another style", "elementor"),
|
|
1318
1389
|
variant: "overridden"
|
|
1319
1390
|
}
|
|
1320
1391
|
);
|
|
1321
1392
|
}
|
|
1322
|
-
return /* @__PURE__ */ React17.createElement(
|
|
1393
|
+
return /* @__PURE__ */ React17.createElement(StyleIndicator, { "aria-label": (0, import_i18n5.__)("This has value from another style", "elementor") });
|
|
1323
1394
|
};
|
|
1324
1395
|
|
|
1325
1396
|
// src/controls-registry/styles-field.tsx
|
|
@@ -1368,14 +1439,23 @@ var React27 = __toESM(require("react"));
|
|
|
1368
1439
|
var import_i18n9 = require("@wordpress/i18n");
|
|
1369
1440
|
|
|
1370
1441
|
// src/components/add-or-remove-content.tsx
|
|
1442
|
+
var React23 = __toESM(require("react"));
|
|
1443
|
+
var import_icons5 = require("@elementor/icons");
|
|
1444
|
+
var import_ui15 = require("@elementor/ui");
|
|
1445
|
+
|
|
1446
|
+
// src/components/control-label.tsx
|
|
1371
1447
|
var React22 = __toESM(require("react"));
|
|
1372
1448
|
var import_editor_controls8 = require("@elementor/editor-controls");
|
|
1373
|
-
var import_icons5 = require("@elementor/icons");
|
|
1374
1449
|
var import_ui14 = require("@elementor/ui");
|
|
1450
|
+
var ControlLabel = ({ children }) => {
|
|
1451
|
+
return /* @__PURE__ */ React22.createElement(import_ui14.Stack, { direction: "row", alignItems: "center", justifyItems: "start", gap: 1 }, /* @__PURE__ */ React22.createElement(import_editor_controls8.ControlFormLabel, null, children), /* @__PURE__ */ React22.createElement(import_editor_controls8.ControlAdornments, null));
|
|
1452
|
+
};
|
|
1453
|
+
|
|
1454
|
+
// src/components/add-or-remove-content.tsx
|
|
1375
1455
|
var SIZE2 = "tiny";
|
|
1376
1456
|
var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
1377
|
-
return /* @__PURE__ */
|
|
1378
|
-
|
|
1457
|
+
return /* @__PURE__ */ React23.createElement(SectionContent, null, /* @__PURE__ */ React23.createElement(
|
|
1458
|
+
import_ui15.Stack,
|
|
1379
1459
|
{
|
|
1380
1460
|
direction: "row",
|
|
1381
1461
|
sx: {
|
|
@@ -1383,24 +1463,24 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
|
1383
1463
|
alignItems: "center"
|
|
1384
1464
|
}
|
|
1385
1465
|
},
|
|
1386
|
-
/* @__PURE__ */
|
|
1387
|
-
isAdded ? /* @__PURE__ */
|
|
1388
|
-
), /* @__PURE__ */
|
|
1466
|
+
/* @__PURE__ */ React23.createElement(ControlLabel, null, label),
|
|
1467
|
+
isAdded ? /* @__PURE__ */ React23.createElement(import_ui15.IconButton, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React23.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React23.createElement(import_ui15.IconButton, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React23.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
|
|
1468
|
+
), /* @__PURE__ */ React23.createElement(import_ui15.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React23.createElement(SectionContent, null, children)));
|
|
1389
1469
|
};
|
|
1390
1470
|
|
|
1391
1471
|
// src/components/style-sections/border-section/border-color-field.tsx
|
|
1392
|
-
var
|
|
1472
|
+
var React24 = __toESM(require("react"));
|
|
1393
1473
|
var import_editor_controls9 = require("@elementor/editor-controls");
|
|
1394
|
-
var
|
|
1474
|
+
var import_ui16 = require("@elementor/ui");
|
|
1395
1475
|
var import_i18n6 = require("@wordpress/i18n");
|
|
1396
1476
|
var BorderColorField = () => {
|
|
1397
|
-
return /* @__PURE__ */
|
|
1477
|
+
return /* @__PURE__ */ React24.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React24.createElement(import_ui16.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React24.createElement(import_ui16.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React24.createElement(ControlLabel, null, (0, import_i18n6.__)("Border color", "elementor"))), /* @__PURE__ */ React24.createElement(import_ui16.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React24.createElement(import_editor_controls9.ColorControl, null))));
|
|
1398
1478
|
};
|
|
1399
1479
|
|
|
1400
1480
|
// src/components/style-sections/border-section/border-style-field.tsx
|
|
1401
|
-
var
|
|
1481
|
+
var React25 = __toESM(require("react"));
|
|
1402
1482
|
var import_editor_controls10 = require("@elementor/editor-controls");
|
|
1403
|
-
var
|
|
1483
|
+
var import_ui17 = require("@elementor/ui");
|
|
1404
1484
|
var import_i18n7 = require("@wordpress/i18n");
|
|
1405
1485
|
var borderStyles = [
|
|
1406
1486
|
{ value: "none", label: (0, import_i18n7.__)("None", "elementor") },
|
|
@@ -1414,7 +1494,7 @@ var borderStyles = [
|
|
|
1414
1494
|
{ value: "outset", label: (0, import_i18n7.__)("Outset", "elementor") }
|
|
1415
1495
|
];
|
|
1416
1496
|
var BorderStyleField = () => {
|
|
1417
|
-
return /* @__PURE__ */
|
|
1497
|
+
return /* @__PURE__ */ React25.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React25.createElement(import_ui17.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React25.createElement(import_ui17.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React25.createElement(ControlLabel, null, (0, import_i18n7.__)("Border type", "elementor"))), /* @__PURE__ */ React25.createElement(import_ui17.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React25.createElement(import_editor_controls10.SelectControl, { options: borderStyles }))));
|
|
1418
1498
|
};
|
|
1419
1499
|
|
|
1420
1500
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
@@ -1426,56 +1506,13 @@ var import_ui19 = require("@elementor/ui");
|
|
|
1426
1506
|
var import_i18n8 = require("@wordpress/i18n");
|
|
1427
1507
|
|
|
1428
1508
|
// src/hooks/use-direction.ts
|
|
1429
|
-
var
|
|
1509
|
+
var import_ui18 = require("@elementor/ui");
|
|
1430
1510
|
function useDirection() {
|
|
1431
|
-
const theme = (0,
|
|
1511
|
+
const theme = (0, import_ui18.useTheme)(), extendedWindow = window;
|
|
1432
1512
|
const isUiRtl = "rtl" === theme.direction, isSiteRtl = !!extendedWindow.elementorFrontend?.config?.is_rtl;
|
|
1433
1513
|
return { isSiteRtl, isUiRtl };
|
|
1434
1514
|
}
|
|
1435
1515
|
|
|
1436
|
-
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
1437
|
-
var React25 = __toESM(require("react"));
|
|
1438
|
-
var import_react11 = require("react");
|
|
1439
|
-
var import_ui18 = require("@elementor/ui");
|
|
1440
|
-
var CLOCKWISE_ANGLES = {
|
|
1441
|
-
row: 0,
|
|
1442
|
-
column: 90,
|
|
1443
|
-
"row-reverse": 180,
|
|
1444
|
-
"column-reverse": 270
|
|
1445
|
-
};
|
|
1446
|
-
var COUNTER_CLOCKWISE_ANGLES = {
|
|
1447
|
-
row: 0,
|
|
1448
|
-
column: -90,
|
|
1449
|
-
"row-reverse": -180,
|
|
1450
|
-
"column-reverse": -270
|
|
1451
|
-
};
|
|
1452
|
-
var RotatedIcon = ({
|
|
1453
|
-
icon: Icon,
|
|
1454
|
-
size,
|
|
1455
|
-
isClockwise = true,
|
|
1456
|
-
offset = 0,
|
|
1457
|
-
disableRotationForReversed = false
|
|
1458
|
-
}) => {
|
|
1459
|
-
const rotate = (0, import_react11.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
|
|
1460
|
-
rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
|
|
1461
|
-
return /* @__PURE__ */ React25.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
1462
|
-
};
|
|
1463
|
-
var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
|
|
1464
|
-
const [direction] = useStylesField("flex-direction");
|
|
1465
|
-
const isRtl = "rtl" === (0, import_ui18.useTheme)().direction;
|
|
1466
|
-
const rotationMultiplier = isRtl ? -1 : 1;
|
|
1467
|
-
const angleMap = isClockwise ? CLOCKWISE_ANGLES : COUNTER_CLOCKWISE_ANGLES;
|
|
1468
|
-
const currentDirection = direction?.value || "row";
|
|
1469
|
-
const currentAngle = existingRef ? existingRef.current * rotationMultiplier : angleMap[currentDirection] + offset;
|
|
1470
|
-
const targetAngle = angleMap[currentDirection] + offset;
|
|
1471
|
-
const diffToTargetAngle = (targetAngle - currentAngle + 360) % 360;
|
|
1472
|
-
const formattedDiff = (diffToTargetAngle + 180) % 360 - 180;
|
|
1473
|
-
if (disableRotationForReversed && ["row-reverse", "column-reverse"].includes(currentDirection)) {
|
|
1474
|
-
return 0;
|
|
1475
|
-
}
|
|
1476
|
-
return (currentAngle + formattedDiff) * rotationMultiplier;
|
|
1477
|
-
};
|
|
1478
|
-
|
|
1479
1516
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
1480
1517
|
var InlineStartIcon = (0, import_ui19.withDirection)(import_icons6.SideRightIcon);
|
|
1481
1518
|
var InlineEndIcon = (0, import_ui19.withDirection)(import_icons6.SideLeftIcon);
|
|
@@ -1487,7 +1524,7 @@ var getEdges = (isSiteRtl) => [
|
|
|
1487
1524
|
},
|
|
1488
1525
|
{
|
|
1489
1526
|
label: isSiteRtl ? (0, import_i18n8.__)("Left", "elementor") : (0, import_i18n8.__)("Right", "elementor"),
|
|
1490
|
-
icon: /* @__PURE__ */ React26.createElement(
|
|
1527
|
+
icon: /* @__PURE__ */ React26.createElement(InlineStartIcon, { fontSize: "tiny" }),
|
|
1491
1528
|
bind: "inline-end"
|
|
1492
1529
|
},
|
|
1493
1530
|
{
|
|
@@ -1497,7 +1534,7 @@ var getEdges = (isSiteRtl) => [
|
|
|
1497
1534
|
},
|
|
1498
1535
|
{
|
|
1499
1536
|
label: isSiteRtl ? (0, import_i18n8.__)("Right", "elementor") : (0, import_i18n8.__)("Left", "elementor"),
|
|
1500
|
-
icon: /* @__PURE__ */ React26.createElement(
|
|
1537
|
+
icon: /* @__PURE__ */ React26.createElement(InlineEndIcon, { fontSize: "tiny" }),
|
|
1501
1538
|
bind: "inline-start"
|
|
1502
1539
|
}
|
|
1503
1540
|
];
|
|
@@ -1566,22 +1603,22 @@ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n10.__)("Bottom le
|
|
|
1566
1603
|
var getCorners = (isSiteRtl) => [
|
|
1567
1604
|
{
|
|
1568
1605
|
label: getStartStartLabel(isSiteRtl),
|
|
1569
|
-
icon: /* @__PURE__ */ React28.createElement(
|
|
1606
|
+
icon: /* @__PURE__ */ React28.createElement(StartStartIcon, { fontSize: "tiny" }),
|
|
1570
1607
|
bind: "start-start"
|
|
1571
1608
|
},
|
|
1572
1609
|
{
|
|
1573
1610
|
label: getStartEndLabel(isSiteRtl),
|
|
1574
|
-
icon: /* @__PURE__ */ React28.createElement(
|
|
1611
|
+
icon: /* @__PURE__ */ React28.createElement(StartEndIcon, { fontSize: "tiny" }),
|
|
1575
1612
|
bind: "start-end"
|
|
1576
1613
|
},
|
|
1577
1614
|
{
|
|
1578
1615
|
label: getEndStartLabel(isSiteRtl),
|
|
1579
|
-
icon: /* @__PURE__ */ React28.createElement(
|
|
1616
|
+
icon: /* @__PURE__ */ React28.createElement(EndStartIcon, { fontSize: "tiny" }),
|
|
1580
1617
|
bind: "end-start"
|
|
1581
1618
|
},
|
|
1582
1619
|
{
|
|
1583
1620
|
label: getEndEndLabel(isSiteRtl),
|
|
1584
|
-
icon: /* @__PURE__ */ React28.createElement(
|
|
1621
|
+
icon: /* @__PURE__ */ React28.createElement(EndEndIcon, { fontSize: "tiny" }),
|
|
1585
1622
|
bind: "end-end"
|
|
1586
1623
|
}
|
|
1587
1624
|
];
|
|
@@ -1610,7 +1647,7 @@ var EffectsSection = () => {
|
|
|
1610
1647
|
};
|
|
1611
1648
|
|
|
1612
1649
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
1613
|
-
var
|
|
1650
|
+
var React42 = __toESM(require("react"));
|
|
1614
1651
|
var import_editor_controls24 = require("@elementor/editor-controls");
|
|
1615
1652
|
var import_editor_elements6 = require("@elementor/editor-elements");
|
|
1616
1653
|
var import_i18n21 = require("@wordpress/i18n");
|
|
@@ -1641,13 +1678,58 @@ function useComputedStyle(elementId) {
|
|
|
1641
1678
|
}
|
|
1642
1679
|
|
|
1643
1680
|
// src/components/style-sections/layout-section/align-content-field.tsx
|
|
1644
|
-
var
|
|
1681
|
+
var React32 = __toESM(require("react"));
|
|
1645
1682
|
var import_editor_controls14 = require("@elementor/editor-controls");
|
|
1646
1683
|
var import_icons8 = require("@elementor/icons");
|
|
1647
|
-
var
|
|
1684
|
+
var import_ui22 = require("@elementor/ui");
|
|
1648
1685
|
var import_i18n11 = require("@wordpress/i18n");
|
|
1649
|
-
|
|
1650
|
-
|
|
1686
|
+
|
|
1687
|
+
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
1688
|
+
var React31 = __toESM(require("react"));
|
|
1689
|
+
var import_react11 = require("react");
|
|
1690
|
+
var import_ui21 = require("@elementor/ui");
|
|
1691
|
+
var CLOCKWISE_ANGLES = {
|
|
1692
|
+
row: 0,
|
|
1693
|
+
column: 90,
|
|
1694
|
+
"row-reverse": 180,
|
|
1695
|
+
"column-reverse": 270
|
|
1696
|
+
};
|
|
1697
|
+
var COUNTER_CLOCKWISE_ANGLES = {
|
|
1698
|
+
row: 0,
|
|
1699
|
+
column: -90,
|
|
1700
|
+
"row-reverse": -180,
|
|
1701
|
+
"column-reverse": -270
|
|
1702
|
+
};
|
|
1703
|
+
var RotatedIcon = ({
|
|
1704
|
+
icon: Icon,
|
|
1705
|
+
size,
|
|
1706
|
+
isClockwise = true,
|
|
1707
|
+
offset = 0,
|
|
1708
|
+
disableRotationForReversed = false
|
|
1709
|
+
}) => {
|
|
1710
|
+
const rotate = (0, import_react11.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
|
|
1711
|
+
rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
|
|
1712
|
+
return /* @__PURE__ */ React31.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
1713
|
+
};
|
|
1714
|
+
var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
|
|
1715
|
+
const [direction] = useStylesField("flex-direction");
|
|
1716
|
+
const isRtl = "rtl" === (0, import_ui21.useTheme)().direction;
|
|
1717
|
+
const rotationMultiplier = isRtl ? -1 : 1;
|
|
1718
|
+
const angleMap = isClockwise ? CLOCKWISE_ANGLES : COUNTER_CLOCKWISE_ANGLES;
|
|
1719
|
+
const currentDirection = direction?.value || "row";
|
|
1720
|
+
const currentAngle = existingRef ? existingRef.current * rotationMultiplier : angleMap[currentDirection] + offset;
|
|
1721
|
+
const targetAngle = angleMap[currentDirection] + offset;
|
|
1722
|
+
const diffToTargetAngle = (targetAngle - currentAngle + 360) % 360;
|
|
1723
|
+
const formattedDiff = (diffToTargetAngle + 180) % 360 - 180;
|
|
1724
|
+
if (disableRotationForReversed && ["row-reverse", "column-reverse"].includes(currentDirection)) {
|
|
1725
|
+
return 0;
|
|
1726
|
+
}
|
|
1727
|
+
return (currentAngle + formattedDiff) * rotationMultiplier;
|
|
1728
|
+
};
|
|
1729
|
+
|
|
1730
|
+
// src/components/style-sections/layout-section/align-content-field.tsx
|
|
1731
|
+
var StartIcon = (0, import_ui22.withDirection)(import_icons8.JustifyTopIcon);
|
|
1732
|
+
var EndIcon = (0, import_ui22.withDirection)(import_icons8.JustifyBottomIcon);
|
|
1651
1733
|
var iconProps = {
|
|
1652
1734
|
isClockwise: false,
|
|
1653
1735
|
offset: 0,
|
|
@@ -1657,53 +1739,53 @@ var options = [
|
|
|
1657
1739
|
{
|
|
1658
1740
|
value: "start",
|
|
1659
1741
|
label: (0, import_i18n11.__)("Start", "elementor"),
|
|
1660
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1742
|
+
renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
|
|
1661
1743
|
showTooltip: true
|
|
1662
1744
|
},
|
|
1663
1745
|
{
|
|
1664
1746
|
value: "center",
|
|
1665
1747
|
label: (0, import_i18n11.__)("Center", "elementor"),
|
|
1666
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1748
|
+
renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: import_icons8.JustifyCenterIcon, size, ...iconProps }),
|
|
1667
1749
|
showTooltip: true
|
|
1668
1750
|
},
|
|
1669
1751
|
{
|
|
1670
1752
|
value: "end",
|
|
1671
1753
|
label: (0, import_i18n11.__)("End", "elementor"),
|
|
1672
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1754
|
+
renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
|
|
1673
1755
|
showTooltip: true
|
|
1674
1756
|
},
|
|
1675
1757
|
{
|
|
1676
1758
|
value: "space-between",
|
|
1677
1759
|
label: (0, import_i18n11.__)("Space between", "elementor"),
|
|
1678
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1760
|
+
renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceBetweenVerticalIcon, size, ...iconProps }),
|
|
1679
1761
|
showTooltip: true
|
|
1680
1762
|
},
|
|
1681
1763
|
{
|
|
1682
1764
|
value: "space-around",
|
|
1683
1765
|
label: (0, import_i18n11.__)("Space around", "elementor"),
|
|
1684
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1766
|
+
renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceAroundVerticalIcon, size, ...iconProps }),
|
|
1685
1767
|
showTooltip: true
|
|
1686
1768
|
},
|
|
1687
1769
|
{
|
|
1688
1770
|
value: "space-evenly",
|
|
1689
1771
|
label: (0, import_i18n11.__)("Space evenly", "elementor"),
|
|
1690
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1772
|
+
renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: import_icons8.JustifyDistributeVerticalIcon, size, ...iconProps }),
|
|
1691
1773
|
showTooltip: true
|
|
1692
1774
|
}
|
|
1693
1775
|
];
|
|
1694
1776
|
var AlignContentField = () => {
|
|
1695
1777
|
const { isSiteRtl } = useDirection();
|
|
1696
|
-
return /* @__PURE__ */
|
|
1778
|
+
return /* @__PURE__ */ React32.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React32.createElement(import_ui22.Stack, { gap: 1 }, /* @__PURE__ */ React32.createElement(ControlLabel, null, (0, import_i18n11.__)("Align content", "elementor")), /* @__PURE__ */ React32.createElement(import_editor_controls14.ToggleControl, { options, fullWidth: true })))));
|
|
1697
1779
|
};
|
|
1698
1780
|
|
|
1699
1781
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
1700
|
-
var
|
|
1782
|
+
var React33 = __toESM(require("react"));
|
|
1701
1783
|
var import_editor_controls15 = require("@elementor/editor-controls");
|
|
1702
1784
|
var import_icons9 = require("@elementor/icons");
|
|
1703
|
-
var
|
|
1785
|
+
var import_ui23 = require("@elementor/ui");
|
|
1704
1786
|
var import_i18n12 = require("@wordpress/i18n");
|
|
1705
|
-
var StartIcon2 = (0,
|
|
1706
|
-
var EndIcon2 = (0,
|
|
1787
|
+
var StartIcon2 = (0, import_ui23.withDirection)(import_icons9.LayoutAlignLeftIcon);
|
|
1788
|
+
var EndIcon2 = (0, import_ui23.withDirection)(import_icons9.LayoutAlignRightIcon);
|
|
1707
1789
|
var iconProps2 = {
|
|
1708
1790
|
isClockwise: false,
|
|
1709
1791
|
offset: 90
|
|
@@ -1712,41 +1794,41 @@ var options2 = [
|
|
|
1712
1794
|
{
|
|
1713
1795
|
value: "start",
|
|
1714
1796
|
label: (0, import_i18n12.__)("Start", "elementor"),
|
|
1715
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1797
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
|
|
1716
1798
|
showTooltip: true
|
|
1717
1799
|
},
|
|
1718
1800
|
{
|
|
1719
1801
|
value: "center",
|
|
1720
1802
|
label: (0, import_i18n12.__)("Center", "elementor"),
|
|
1721
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1803
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
|
|
1722
1804
|
showTooltip: true
|
|
1723
1805
|
},
|
|
1724
1806
|
{
|
|
1725
1807
|
value: "end",
|
|
1726
1808
|
label: (0, import_i18n12.__)("End", "elementor"),
|
|
1727
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1809
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
|
|
1728
1810
|
showTooltip: true
|
|
1729
1811
|
},
|
|
1730
1812
|
{
|
|
1731
1813
|
value: "stretch",
|
|
1732
1814
|
label: (0, import_i18n12.__)("Stretch", "elementor"),
|
|
1733
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1815
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
|
|
1734
1816
|
showTooltip: true
|
|
1735
1817
|
}
|
|
1736
1818
|
];
|
|
1737
1819
|
var AlignItemsField = () => {
|
|
1738
1820
|
const { isSiteRtl } = useDirection();
|
|
1739
|
-
return /* @__PURE__ */
|
|
1821
|
+
return /* @__PURE__ */ React33.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel, null, (0, import_i18n12.__)("Align items", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls15.ToggleControl, { options: options2 }))))));
|
|
1740
1822
|
};
|
|
1741
1823
|
|
|
1742
1824
|
// src/components/style-sections/layout-section/align-self-child-field.tsx
|
|
1743
|
-
var
|
|
1825
|
+
var React34 = __toESM(require("react"));
|
|
1744
1826
|
var import_editor_controls16 = require("@elementor/editor-controls");
|
|
1745
1827
|
var import_icons10 = require("@elementor/icons");
|
|
1746
|
-
var
|
|
1828
|
+
var import_ui24 = require("@elementor/ui");
|
|
1747
1829
|
var import_i18n13 = require("@wordpress/i18n");
|
|
1748
|
-
var StartIcon3 = (0,
|
|
1749
|
-
var EndIcon3 = (0,
|
|
1830
|
+
var StartIcon3 = (0, import_ui24.withDirection)(import_icons10.LayoutAlignLeftIcon);
|
|
1831
|
+
var EndIcon3 = (0, import_ui24.withDirection)(import_icons10.LayoutAlignRightIcon);
|
|
1750
1832
|
var iconProps3 = {
|
|
1751
1833
|
isClockwise: false,
|
|
1752
1834
|
offset: 90
|
|
@@ -1755,37 +1837,37 @@ var options3 = [
|
|
|
1755
1837
|
{
|
|
1756
1838
|
value: "start",
|
|
1757
1839
|
label: (0, import_i18n13.__)("Start", "elementor"),
|
|
1758
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1840
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
|
|
1759
1841
|
showTooltip: true
|
|
1760
1842
|
},
|
|
1761
1843
|
{
|
|
1762
1844
|
value: "center",
|
|
1763
1845
|
label: (0, import_i18n13.__)("Center", "elementor"),
|
|
1764
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1846
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons10.LayoutAlignCenterIcon, size, ...iconProps3 }),
|
|
1765
1847
|
showTooltip: true
|
|
1766
1848
|
},
|
|
1767
1849
|
{
|
|
1768
1850
|
value: "end",
|
|
1769
1851
|
label: (0, import_i18n13.__)("End", "elementor"),
|
|
1770
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1852
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
|
|
1771
1853
|
showTooltip: true
|
|
1772
1854
|
},
|
|
1773
1855
|
{
|
|
1774
1856
|
value: "stretch",
|
|
1775
1857
|
label: (0, import_i18n13.__)("Stretch", "elementor"),
|
|
1776
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1858
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons10.LayoutDistributeVerticalIcon, size, ...iconProps3 }),
|
|
1777
1859
|
showTooltip: true
|
|
1778
1860
|
}
|
|
1779
1861
|
];
|
|
1780
1862
|
var AlignSelfChild = () => {
|
|
1781
1863
|
const { isSiteRtl } = useDirection();
|
|
1782
|
-
return /* @__PURE__ */
|
|
1864
|
+
return /* @__PURE__ */ React34.createElement(import_ui24.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(import_ui24.ThemeProvider, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel, null, (0, import_i18n13.__)("Align self", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React34.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
|
|
1783
1865
|
};
|
|
1784
1866
|
|
|
1785
1867
|
// src/components/style-sections/layout-section/display-field.tsx
|
|
1786
|
-
var
|
|
1868
|
+
var React35 = __toESM(require("react"));
|
|
1787
1869
|
var import_editor_controls17 = require("@elementor/editor-controls");
|
|
1788
|
-
var
|
|
1870
|
+
var import_ui25 = require("@elementor/ui");
|
|
1789
1871
|
var import_i18n14 = require("@wordpress/i18n");
|
|
1790
1872
|
var DisplayField = () => {
|
|
1791
1873
|
const options13 = [
|
|
@@ -1814,58 +1896,58 @@ var DisplayField = () => {
|
|
|
1814
1896
|
showTooltip: true
|
|
1815
1897
|
}
|
|
1816
1898
|
];
|
|
1817
|
-
return /* @__PURE__ */
|
|
1899
|
+
return /* @__PURE__ */ React35.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React35.createElement(import_ui25.Stack, { gap: 0.75 }, /* @__PURE__ */ React35.createElement(ControlLabel, null, (0, import_i18n14.__)("Display", "elementor")), /* @__PURE__ */ React35.createElement(import_editor_controls17.ToggleControl, { options: options13, fullWidth: true })));
|
|
1818
1900
|
};
|
|
1819
1901
|
|
|
1820
1902
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
1821
|
-
var
|
|
1903
|
+
var React36 = __toESM(require("react"));
|
|
1822
1904
|
var import_editor_controls18 = require("@elementor/editor-controls");
|
|
1823
1905
|
var import_icons11 = require("@elementor/icons");
|
|
1824
|
-
var
|
|
1906
|
+
var import_ui26 = require("@elementor/ui");
|
|
1825
1907
|
var import_i18n15 = require("@wordpress/i18n");
|
|
1826
1908
|
var options4 = [
|
|
1827
1909
|
{
|
|
1828
1910
|
value: "row",
|
|
1829
1911
|
label: (0, import_i18n15.__)("Row", "elementor"),
|
|
1830
1912
|
renderContent: ({ size }) => {
|
|
1831
|
-
const
|
|
1832
|
-
return /* @__PURE__ */
|
|
1913
|
+
const StartIcon5 = (0, import_ui26.withDirection)(import_icons11.ArrowRightIcon);
|
|
1914
|
+
return /* @__PURE__ */ React36.createElement(StartIcon5, { fontSize: size });
|
|
1833
1915
|
},
|
|
1834
1916
|
showTooltip: true
|
|
1835
1917
|
},
|
|
1836
1918
|
{
|
|
1837
1919
|
value: "column",
|
|
1838
1920
|
label: (0, import_i18n15.__)("Column", "elementor"),
|
|
1839
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1921
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
|
|
1840
1922
|
showTooltip: true
|
|
1841
1923
|
},
|
|
1842
1924
|
{
|
|
1843
1925
|
value: "row-reverse",
|
|
1844
1926
|
label: (0, import_i18n15.__)("Reversed row", "elementor"),
|
|
1845
1927
|
renderContent: ({ size }) => {
|
|
1846
|
-
const
|
|
1847
|
-
return /* @__PURE__ */
|
|
1928
|
+
const EndIcon5 = (0, import_ui26.withDirection)(import_icons11.ArrowLeftIcon);
|
|
1929
|
+
return /* @__PURE__ */ React36.createElement(EndIcon5, { fontSize: size });
|
|
1848
1930
|
},
|
|
1849
1931
|
showTooltip: true
|
|
1850
1932
|
},
|
|
1851
1933
|
{
|
|
1852
1934
|
value: "column-reverse",
|
|
1853
1935
|
label: (0, import_i18n15.__)("Reversed column", "elementor"),
|
|
1854
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1936
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
|
|
1855
1937
|
showTooltip: true
|
|
1856
1938
|
}
|
|
1857
1939
|
];
|
|
1858
1940
|
var FlexDirectionField = () => {
|
|
1859
1941
|
const { isSiteRtl } = useDirection();
|
|
1860
|
-
return /* @__PURE__ */
|
|
1942
|
+
return /* @__PURE__ */ React36.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React36.createElement(import_ui26.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(import_ui26.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(ControlLabel, null, (0, import_i18n15.__)("Direction", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui26.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React36.createElement(import_editor_controls18.ToggleControl, { options: options4 }))))));
|
|
1861
1943
|
};
|
|
1862
1944
|
|
|
1863
1945
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
1864
|
-
var
|
|
1946
|
+
var React37 = __toESM(require("react"));
|
|
1865
1947
|
var import_react12 = require("react");
|
|
1866
1948
|
var import_editor_controls19 = require("@elementor/editor-controls");
|
|
1867
1949
|
var import_icons12 = require("@elementor/icons");
|
|
1868
|
-
var
|
|
1950
|
+
var import_ui27 = require("@elementor/ui");
|
|
1869
1951
|
var import_i18n16 = require("@wordpress/i18n");
|
|
1870
1952
|
var FIRST_DEFAULT_VALUE = -99999;
|
|
1871
1953
|
var LAST_DEFAULT_VALUE = 99999;
|
|
@@ -1880,19 +1962,19 @@ var items = [
|
|
|
1880
1962
|
{
|
|
1881
1963
|
value: FIRST,
|
|
1882
1964
|
label: (0, import_i18n16.__)("First", "elementor"),
|
|
1883
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1965
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons12.ArrowUpSmallIcon, { fontSize: size }),
|
|
1884
1966
|
showTooltip: true
|
|
1885
1967
|
},
|
|
1886
1968
|
{
|
|
1887
1969
|
value: LAST,
|
|
1888
1970
|
label: (0, import_i18n16.__)("Last", "elementor"),
|
|
1889
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1971
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons12.ArrowDownSmallIcon, { fontSize: size }),
|
|
1890
1972
|
showTooltip: true
|
|
1891
1973
|
},
|
|
1892
1974
|
{
|
|
1893
1975
|
value: CUSTOM,
|
|
1894
1976
|
label: (0, import_i18n16.__)("Custom", "elementor"),
|
|
1895
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1977
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons12.PencilIcon, { fontSize: size }),
|
|
1896
1978
|
showTooltip: true
|
|
1897
1979
|
}
|
|
1898
1980
|
];
|
|
@@ -1907,7 +1989,7 @@ var FlexOrderField = () => {
|
|
|
1907
1989
|
}
|
|
1908
1990
|
setOrder({ $$type: "number", value: orderValueMap[group] });
|
|
1909
1991
|
};
|
|
1910
|
-
return /* @__PURE__ */
|
|
1992
|
+
return /* @__PURE__ */ React37.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React37.createElement(SectionContent, null, /* @__PURE__ */ React37.createElement(import_ui27.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n16.__)("Order", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React37.createElement(
|
|
1911
1993
|
import_editor_controls19.ControlToggleButtonGroup,
|
|
1912
1994
|
{
|
|
1913
1995
|
items,
|
|
@@ -1915,7 +1997,7 @@ var FlexOrderField = () => {
|
|
|
1915
1997
|
onChange: handleToggleButtonChange,
|
|
1916
1998
|
exclusive: true
|
|
1917
1999
|
}
|
|
1918
|
-
))), CUSTOM === groupControlValue && /* @__PURE__ */
|
|
2000
|
+
))), CUSTOM === groupControlValue && /* @__PURE__ */ React37.createElement(import_ui27.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n16.__)("Custom order", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React37.createElement(
|
|
1919
2001
|
import_editor_controls19.NumberControl,
|
|
1920
2002
|
{
|
|
1921
2003
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
@@ -1935,54 +2017,66 @@ var getGroupControlValue = (order) => {
|
|
|
1935
2017
|
};
|
|
1936
2018
|
|
|
1937
2019
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
1938
|
-
var
|
|
2020
|
+
var React38 = __toESM(require("react"));
|
|
1939
2021
|
var import_react13 = require("react");
|
|
1940
2022
|
var import_editor_controls20 = require("@elementor/editor-controls");
|
|
2023
|
+
var import_editor_props5 = require("@elementor/editor-props");
|
|
1941
2024
|
var import_icons13 = require("@elementor/icons");
|
|
1942
|
-
var
|
|
2025
|
+
var import_ui28 = require("@elementor/ui");
|
|
1943
2026
|
var import_i18n17 = require("@wordpress/i18n");
|
|
1944
2027
|
var DEFAULT = 1;
|
|
1945
2028
|
var items2 = [
|
|
1946
2029
|
{
|
|
1947
2030
|
value: "flex-grow",
|
|
1948
2031
|
label: (0, import_i18n17.__)("Grow", "elementor"),
|
|
1949
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2032
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(import_icons13.ExpandIcon, { fontSize: size }),
|
|
1950
2033
|
showTooltip: true
|
|
1951
2034
|
},
|
|
1952
2035
|
{
|
|
1953
2036
|
value: "flex-shrink",
|
|
1954
2037
|
label: (0, import_i18n17.__)("Shrink", "elementor"),
|
|
1955
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2038
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(import_icons13.ShrinkIcon, { fontSize: size }),
|
|
1956
2039
|
showTooltip: true
|
|
1957
2040
|
},
|
|
1958
2041
|
{
|
|
1959
2042
|
value: "custom",
|
|
1960
2043
|
label: (0, import_i18n17.__)("Custom", "elementor"),
|
|
1961
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2044
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(import_icons13.PencilIcon, { fontSize: size }),
|
|
1962
2045
|
showTooltip: true
|
|
1963
2046
|
}
|
|
1964
2047
|
];
|
|
1965
2048
|
var FlexSizeField = () => {
|
|
1966
|
-
const { isSiteRtl } = useDirection()
|
|
1967
|
-
const
|
|
2049
|
+
const { isSiteRtl } = useDirection();
|
|
2050
|
+
const [fields, setFields] = useStylesFields(["flex-grow", "flex-shrink", "flex-basis"]);
|
|
2051
|
+
const grow = fields?.["flex-grow"]?.value || null;
|
|
2052
|
+
const shrink = fields?.["flex-shrink"]?.value || null;
|
|
2053
|
+
const basis = fields?.["flex-basis"]?.value || null;
|
|
1968
2054
|
const currentGroup = (0, import_react13.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react13.useState)(currentGroup);
|
|
1969
2055
|
const onChangeGroup = (group = null) => {
|
|
1970
2056
|
setActiveGroup(group);
|
|
1971
|
-
setBasisField(null);
|
|
1972
2057
|
if (!group || group === "custom") {
|
|
1973
|
-
|
|
1974
|
-
|
|
2058
|
+
setFields({
|
|
2059
|
+
"flex-basis": null,
|
|
2060
|
+
"flex-grow": null,
|
|
2061
|
+
"flex-shrink": null
|
|
2062
|
+
});
|
|
1975
2063
|
return;
|
|
1976
2064
|
}
|
|
1977
2065
|
if (group === "flex-grow") {
|
|
1978
|
-
|
|
1979
|
-
|
|
2066
|
+
setFields({
|
|
2067
|
+
"flex-basis": null,
|
|
2068
|
+
"flex-grow": import_editor_props5.numberPropTypeUtil.create(DEFAULT),
|
|
2069
|
+
"flex-shrink": null
|
|
2070
|
+
});
|
|
1980
2071
|
return;
|
|
1981
2072
|
}
|
|
1982
|
-
|
|
1983
|
-
|
|
2073
|
+
setFields({
|
|
2074
|
+
"flex-basis": null,
|
|
2075
|
+
"flex-grow": null,
|
|
2076
|
+
"flex-shrink": import_editor_props5.numberPropTypeUtil.create(DEFAULT)
|
|
2077
|
+
});
|
|
1984
2078
|
};
|
|
1985
|
-
return /* @__PURE__ */
|
|
2079
|
+
return /* @__PURE__ */ React38.createElement(import_ui28.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React38.createElement(import_ui28.ThemeProvider, null, /* @__PURE__ */ React38.createElement(SectionContent, null, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React38.createElement(ControlLabel, null, (0, import_i18n17.__)("Size", "elementor")))), /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React38.createElement(
|
|
1986
2080
|
import_editor_controls20.ControlToggleButtonGroup,
|
|
1987
2081
|
{
|
|
1988
2082
|
value: activeGroup,
|
|
@@ -1990,9 +2084,9 @@ var FlexSizeField = () => {
|
|
|
1990
2084
|
items: items2,
|
|
1991
2085
|
exclusive: true
|
|
1992
2086
|
}
|
|
1993
|
-
))), "custom" === activeGroup && /* @__PURE__ */
|
|
2087
|
+
))), "custom" === activeGroup && /* @__PURE__ */ React38.createElement(FlexCustomField, null))));
|
|
1994
2088
|
};
|
|
1995
|
-
var FlexCustomField = () => /* @__PURE__ */
|
|
2089
|
+
var FlexCustomField = () => /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(ControlLabel, null, (0, import_i18n17.__)("Grow", "elementor"))), /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React38.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React38.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(ControlLabel, null, (0, import_i18n17.__)("Shrink", "elementor"))), /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React38.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React38.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(ControlLabel, null, (0, import_i18n17.__)("Basis", "elementor"))), /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React38.createElement(import_editor_controls20.SizeControl, { extendedValues: ["auto"] })))));
|
|
1996
2090
|
var getActiveGroup = ({
|
|
1997
2091
|
grow,
|
|
1998
2092
|
shrink,
|
|
@@ -2014,98 +2108,98 @@ var getActiveGroup = ({
|
|
|
2014
2108
|
};
|
|
2015
2109
|
|
|
2016
2110
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
2017
|
-
var
|
|
2111
|
+
var React39 = __toESM(require("react"));
|
|
2018
2112
|
var import_editor_controls21 = require("@elementor/editor-controls");
|
|
2019
|
-
var
|
|
2113
|
+
var import_ui29 = require("@elementor/ui");
|
|
2020
2114
|
var import_i18n18 = require("@wordpress/i18n");
|
|
2021
2115
|
var GapControlField = () => {
|
|
2022
|
-
return /* @__PURE__ */
|
|
2116
|
+
return /* @__PURE__ */ React39.createElement(import_ui29.Stack, { gap: 1 }, /* @__PURE__ */ React39.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React39.createElement(import_editor_controls21.GapControl, { label: (0, import_i18n18.__)("Gaps", "elementor") })));
|
|
2023
2117
|
};
|
|
2024
2118
|
|
|
2025
2119
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
2026
|
-
var
|
|
2120
|
+
var React40 = __toESM(require("react"));
|
|
2027
2121
|
var import_editor_controls22 = require("@elementor/editor-controls");
|
|
2028
2122
|
var import_icons14 = require("@elementor/icons");
|
|
2029
|
-
var
|
|
2123
|
+
var import_ui30 = require("@elementor/ui");
|
|
2030
2124
|
var import_i18n19 = require("@wordpress/i18n");
|
|
2031
|
-
var StartIcon4 = (0,
|
|
2032
|
-
var EndIcon4 = (0,
|
|
2125
|
+
var StartIcon4 = (0, import_ui30.withDirection)(import_icons14.JustifyTopIcon);
|
|
2126
|
+
var EndIcon4 = (0, import_ui30.withDirection)(import_icons14.JustifyBottomIcon);
|
|
2033
2127
|
var iconProps4 = {
|
|
2034
2128
|
isClockwise: true,
|
|
2035
2129
|
offset: -90
|
|
2036
2130
|
};
|
|
2037
2131
|
var options5 = [
|
|
2038
2132
|
{
|
|
2039
|
-
value: "start",
|
|
2133
|
+
value: "flex-start",
|
|
2040
2134
|
label: (0, import_i18n19.__)("Start", "elementor"),
|
|
2041
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2135
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
|
|
2042
2136
|
showTooltip: true
|
|
2043
2137
|
},
|
|
2044
2138
|
{
|
|
2045
2139
|
value: "center",
|
|
2046
2140
|
label: (0, import_i18n19.__)("Center", "elementor"),
|
|
2047
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2141
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: import_icons14.JustifyCenterIcon, size, ...iconProps4 }),
|
|
2048
2142
|
showTooltip: true
|
|
2049
2143
|
},
|
|
2050
2144
|
{
|
|
2051
|
-
value: "end",
|
|
2145
|
+
value: "flex-end",
|
|
2052
2146
|
label: (0, import_i18n19.__)("End", "elementor"),
|
|
2053
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2147
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
|
|
2054
2148
|
showTooltip: true
|
|
2055
2149
|
},
|
|
2056
2150
|
{
|
|
2057
2151
|
value: "space-between",
|
|
2058
2152
|
label: (0, import_i18n19.__)("Space between", "elementor"),
|
|
2059
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2153
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceBetweenVerticalIcon, size, ...iconProps4 }),
|
|
2060
2154
|
showTooltip: true
|
|
2061
2155
|
},
|
|
2062
2156
|
{
|
|
2063
2157
|
value: "space-around",
|
|
2064
2158
|
label: (0, import_i18n19.__)("Space around", "elementor"),
|
|
2065
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2159
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceAroundVerticalIcon, size, ...iconProps4 }),
|
|
2066
2160
|
showTooltip: true
|
|
2067
2161
|
},
|
|
2068
2162
|
{
|
|
2069
2163
|
value: "space-evenly",
|
|
2070
2164
|
label: (0, import_i18n19.__)("Space evenly", "elementor"),
|
|
2071
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2165
|
+
renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: import_icons14.JustifyDistributeVerticalIcon, size, ...iconProps4 }),
|
|
2072
2166
|
showTooltip: true
|
|
2073
2167
|
}
|
|
2074
2168
|
];
|
|
2075
2169
|
var JustifyContentField = () => {
|
|
2076
2170
|
const { isSiteRtl } = useDirection();
|
|
2077
|
-
return /* @__PURE__ */
|
|
2171
|
+
return /* @__PURE__ */ React40.createElement(import_ui30.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(import_ui30.ThemeProvider, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React40.createElement(import_ui30.Stack, { gap: 0.75 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n19.__)("Justify content", "elementor")), /* @__PURE__ */ React40.createElement(import_editor_controls22.ToggleControl, { options: options5, fullWidth: true })))));
|
|
2078
2172
|
};
|
|
2079
2173
|
|
|
2080
2174
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
2081
|
-
var
|
|
2175
|
+
var React41 = __toESM(require("react"));
|
|
2082
2176
|
var import_editor_controls23 = require("@elementor/editor-controls");
|
|
2083
2177
|
var import_icons15 = require("@elementor/icons");
|
|
2084
|
-
var
|
|
2178
|
+
var import_ui31 = require("@elementor/ui");
|
|
2085
2179
|
var import_i18n20 = require("@wordpress/i18n");
|
|
2086
2180
|
var options6 = [
|
|
2087
2181
|
{
|
|
2088
2182
|
value: "nowrap",
|
|
2089
2183
|
label: (0, import_i18n20.__)("No wrap", "elementor"),
|
|
2090
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2184
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons15.ArrowRightIcon, { fontSize: size }),
|
|
2091
2185
|
showTooltip: true
|
|
2092
2186
|
},
|
|
2093
2187
|
{
|
|
2094
2188
|
value: "wrap",
|
|
2095
2189
|
label: (0, import_i18n20.__)("Wrap", "elementor"),
|
|
2096
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2190
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons15.ArrowBackIcon, { fontSize: size }),
|
|
2097
2191
|
showTooltip: true
|
|
2098
2192
|
},
|
|
2099
2193
|
{
|
|
2100
2194
|
value: "wrap-reverse",
|
|
2101
2195
|
label: (0, import_i18n20.__)("Reversed wrap", "elementor"),
|
|
2102
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2196
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons15.ArrowForwardIcon, { fontSize: size }),
|
|
2103
2197
|
showTooltip: true
|
|
2104
2198
|
}
|
|
2105
2199
|
];
|
|
2106
2200
|
var WrapField = () => {
|
|
2107
2201
|
const { isSiteRtl } = useDirection();
|
|
2108
|
-
return /* @__PURE__ */
|
|
2202
|
+
return /* @__PURE__ */ React41.createElement(import_ui31.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React41.createElement(import_ui31.ThemeProvider, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React41.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n20.__)("Wrap", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui31.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React41.createElement(import_editor_controls23.ToggleControl, { options: options6 }))))));
|
|
2109
2203
|
};
|
|
2110
2204
|
|
|
2111
2205
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
@@ -2114,46 +2208,46 @@ var LayoutSection = () => {
|
|
|
2114
2208
|
const { element } = useElement();
|
|
2115
2209
|
const parent = (0, import_editor_elements6.useParentElement)(element.id);
|
|
2116
2210
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
2117
|
-
return /* @__PURE__ */
|
|
2211
|
+
return /* @__PURE__ */ React42.createElement(SectionContent, null, /* @__PURE__ */ React42.createElement(DisplayField, null), ("flex" === display?.value || "inline-flex" === display?.value) && /* @__PURE__ */ React42.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React42.createElement(FlexChildFields, null));
|
|
2118
2212
|
};
|
|
2119
2213
|
var FlexFields = () => {
|
|
2120
2214
|
const [flexWrap] = useStylesField("flex-wrap");
|
|
2121
|
-
return /* @__PURE__ */
|
|
2215
|
+
return /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(FlexDirectionField, null), /* @__PURE__ */ React42.createElement(JustifyContentField, null), /* @__PURE__ */ React42.createElement(AlignItemsField, null), /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(GapControlField, null), /* @__PURE__ */ React42.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React42.createElement(AlignContentField, null));
|
|
2122
2216
|
};
|
|
2123
|
-
var FlexChildFields = () => /* @__PURE__ */
|
|
2217
|
+
var FlexChildFields = () => /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(import_editor_controls24.ControlFormLabel, null, (0, import_i18n21.__)("Flex child", "elementor")), /* @__PURE__ */ React42.createElement(AlignSelfChild, null), /* @__PURE__ */ React42.createElement(FlexOrderField, null), /* @__PURE__ */ React42.createElement(FlexSizeField, null));
|
|
2124
2218
|
|
|
2125
2219
|
// src/components/style-sections/position-section/position-section.tsx
|
|
2126
|
-
var
|
|
2220
|
+
var React46 = __toESM(require("react"));
|
|
2127
2221
|
var import_session2 = require("@elementor/session");
|
|
2128
2222
|
|
|
2129
2223
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
2130
|
-
var
|
|
2224
|
+
var React43 = __toESM(require("react"));
|
|
2131
2225
|
var import_editor_controls25 = require("@elementor/editor-controls");
|
|
2132
2226
|
var import_icons16 = require("@elementor/icons");
|
|
2133
|
-
var
|
|
2227
|
+
var import_ui32 = require("@elementor/ui");
|
|
2134
2228
|
var import_i18n22 = require("@wordpress/i18n");
|
|
2135
|
-
var InlineStartIcon2 = (0,
|
|
2136
|
-
var InlineEndIcon2 = (0,
|
|
2229
|
+
var InlineStartIcon2 = (0, import_ui32.withDirection)(import_icons16.SideLeftIcon);
|
|
2230
|
+
var InlineEndIcon2 = (0, import_ui32.withDirection)(import_icons16.SideRightIcon);
|
|
2137
2231
|
var sideIcons = {
|
|
2138
|
-
"inset-block-start": /* @__PURE__ */
|
|
2139
|
-
"inset-block-end": /* @__PURE__ */
|
|
2140
|
-
"inset-inline-start": /* @__PURE__ */
|
|
2141
|
-
"inset-inline-end": /* @__PURE__ */
|
|
2232
|
+
"inset-block-start": /* @__PURE__ */ React43.createElement(import_icons16.SideTopIcon, { fontSize: "tiny" }),
|
|
2233
|
+
"inset-block-end": /* @__PURE__ */ React43.createElement(import_icons16.SideBottomIcon, { fontSize: "tiny" }),
|
|
2234
|
+
"inset-inline-start": /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
|
|
2235
|
+
"inset-inline-end": /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
|
|
2142
2236
|
};
|
|
2143
2237
|
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n22.__)("Right", "elementor") : (0, import_i18n22.__)("Left", "elementor");
|
|
2144
2238
|
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n22.__)("Left", "elementor") : (0, import_i18n22.__)("Right", "elementor");
|
|
2145
2239
|
var DimensionsField = () => {
|
|
2146
2240
|
const { isSiteRtl } = useDirection();
|
|
2147
|
-
return /* @__PURE__ */
|
|
2241
|
+
return /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement(import_ui32.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(DimensionField, { side: "inset-block-start", label: (0, import_i18n22.__)("Top", "elementor") }), /* @__PURE__ */ React43.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React43.createElement(import_ui32.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(DimensionField, { side: "inset-block-end", label: (0, import_i18n22.__)("Bottom", "elementor") }), /* @__PURE__ */ React43.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
|
|
2148
2242
|
};
|
|
2149
2243
|
var DimensionField = ({ side, label }) => {
|
|
2150
|
-
return /* @__PURE__ */
|
|
2244
|
+
return /* @__PURE__ */ React43.createElement(import_ui32.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React43.createElement(import_ui32.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, label)), /* @__PURE__ */ React43.createElement(import_ui32.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(StylesField, { bind: side }, /* @__PURE__ */ React43.createElement(import_editor_controls25.SizeControl, { startIcon: sideIcons[side], extendedValues: ["auto"] }))));
|
|
2151
2245
|
};
|
|
2152
2246
|
|
|
2153
2247
|
// src/components/style-sections/position-section/position-field.tsx
|
|
2154
|
-
var
|
|
2248
|
+
var React44 = __toESM(require("react"));
|
|
2155
2249
|
var import_editor_controls26 = require("@elementor/editor-controls");
|
|
2156
|
-
var
|
|
2250
|
+
var import_ui33 = require("@elementor/ui");
|
|
2157
2251
|
var import_i18n23 = require("@wordpress/i18n");
|
|
2158
2252
|
var positionOptions = [
|
|
2159
2253
|
{ label: (0, import_i18n23.__)("Static", "elementor"), value: "static" },
|
|
@@ -2163,16 +2257,16 @@ var positionOptions = [
|
|
|
2163
2257
|
{ label: (0, import_i18n23.__)("Sticky", "elementor"), value: "sticky" }
|
|
2164
2258
|
];
|
|
2165
2259
|
var PositionField = ({ onChange }) => {
|
|
2166
|
-
return /* @__PURE__ */
|
|
2260
|
+
return /* @__PURE__ */ React44.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React44.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, (0, import_i18n23.__)("Position", "elementor"))), /* @__PURE__ */ React44.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React44.createElement(import_editor_controls26.SelectControl, { options: positionOptions, onChange }))));
|
|
2167
2261
|
};
|
|
2168
2262
|
|
|
2169
2263
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
2170
|
-
var
|
|
2264
|
+
var React45 = __toESM(require("react"));
|
|
2171
2265
|
var import_editor_controls27 = require("@elementor/editor-controls");
|
|
2172
|
-
var
|
|
2266
|
+
var import_ui34 = require("@elementor/ui");
|
|
2173
2267
|
var import_i18n24 = require("@wordpress/i18n");
|
|
2174
2268
|
var ZIndexField = () => {
|
|
2175
|
-
return /* @__PURE__ */
|
|
2269
|
+
return /* @__PURE__ */ React45.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React45.createElement(import_ui34.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, (0, import_i18n24.__)("Z-index", "elementor"))), /* @__PURE__ */ React45.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(import_editor_controls27.NumberControl, null))));
|
|
2176
2270
|
};
|
|
2177
2271
|
|
|
2178
2272
|
// src/components/style-sections/position-section/position-section.tsx
|
|
@@ -2204,7 +2298,7 @@ var PositionSection = () => {
|
|
|
2204
2298
|
}
|
|
2205
2299
|
};
|
|
2206
2300
|
const isNotStatic = positionValue && positionValue?.value !== "static";
|
|
2207
|
-
return /* @__PURE__ */
|
|
2301
|
+
return /* @__PURE__ */ React46.createElement(SectionContent, null, /* @__PURE__ */ React46.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(DimensionsField, null), /* @__PURE__ */ React46.createElement(ZIndexField, null)) : null);
|
|
2208
2302
|
};
|
|
2209
2303
|
var usePersistDimensions = () => {
|
|
2210
2304
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -2214,111 +2308,111 @@ var usePersistDimensions = () => {
|
|
|
2214
2308
|
};
|
|
2215
2309
|
|
|
2216
2310
|
// src/components/style-sections/size-section/size-section.tsx
|
|
2217
|
-
var
|
|
2311
|
+
var React48 = __toESM(require("react"));
|
|
2218
2312
|
var import_editor_controls29 = require("@elementor/editor-controls");
|
|
2219
|
-
var
|
|
2313
|
+
var import_ui36 = require("@elementor/ui");
|
|
2220
2314
|
var import_i18n26 = require("@wordpress/i18n");
|
|
2221
2315
|
|
|
2222
2316
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
2223
|
-
var
|
|
2317
|
+
var React47 = __toESM(require("react"));
|
|
2224
2318
|
var import_editor_controls28 = require("@elementor/editor-controls");
|
|
2225
2319
|
var import_icons17 = require("@elementor/icons");
|
|
2226
|
-
var
|
|
2320
|
+
var import_ui35 = require("@elementor/ui");
|
|
2227
2321
|
var import_i18n25 = require("@wordpress/i18n");
|
|
2228
2322
|
var options7 = [
|
|
2229
2323
|
{
|
|
2230
2324
|
value: "visible",
|
|
2231
2325
|
label: (0, import_i18n25.__)("Visible", "elementor"),
|
|
2232
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2326
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(import_icons17.EyeIcon, { fontSize: size }),
|
|
2233
2327
|
showTooltip: true
|
|
2234
2328
|
},
|
|
2235
2329
|
{
|
|
2236
2330
|
value: "hidden",
|
|
2237
2331
|
label: (0, import_i18n25.__)("Hidden", "elementor"),
|
|
2238
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2332
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(import_icons17.EyeOffIcon, { fontSize: size }),
|
|
2239
2333
|
showTooltip: true
|
|
2240
2334
|
},
|
|
2241
2335
|
{
|
|
2242
2336
|
value: "auto",
|
|
2243
2337
|
label: (0, import_i18n25.__)("Auto", "elementor"),
|
|
2244
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2338
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(import_icons17.LetterAIcon, { fontSize: size }),
|
|
2245
2339
|
showTooltip: true
|
|
2246
2340
|
}
|
|
2247
2341
|
];
|
|
2248
2342
|
var OverflowField = () => {
|
|
2249
|
-
return /* @__PURE__ */
|
|
2343
|
+
return /* @__PURE__ */ React47.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, (0, import_i18n25.__)("Overflow", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React47.createElement(import_editor_controls28.ToggleControl, { options: options7 }))));
|
|
2250
2344
|
};
|
|
2251
2345
|
|
|
2252
2346
|
// src/components/style-sections/size-section/size-section.tsx
|
|
2253
2347
|
var SizeSection = () => {
|
|
2254
|
-
return /* @__PURE__ */
|
|
2348
|
+
return /* @__PURE__ */ React48.createElement(SectionContent, null, /* @__PURE__ */ React48.createElement(import_ui36.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(SizeField, { bind: "width", label: (0, import_i18n26.__)("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React48.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(SizeField, { bind: "height", label: (0, import_i18n26.__)("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React48.createElement(import_ui36.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(
|
|
2255
2349
|
SizeField,
|
|
2256
2350
|
{
|
|
2257
2351
|
bind: "min-width",
|
|
2258
2352
|
label: (0, import_i18n26.__)("Min width", "elementor"),
|
|
2259
2353
|
extendedValues: ["auto"]
|
|
2260
2354
|
}
|
|
2261
|
-
)), /* @__PURE__ */
|
|
2355
|
+
)), /* @__PURE__ */ React48.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(
|
|
2262
2356
|
SizeField,
|
|
2263
2357
|
{
|
|
2264
2358
|
bind: "min-height",
|
|
2265
2359
|
label: (0, import_i18n26.__)("Min height", "elementor"),
|
|
2266
2360
|
extendedValues: ["auto"]
|
|
2267
2361
|
}
|
|
2268
|
-
))), /* @__PURE__ */
|
|
2362
|
+
))), /* @__PURE__ */ React48.createElement(import_ui36.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(SizeField, { bind: "max-width", label: (0, import_i18n26.__)("Max width", "elementor") })), /* @__PURE__ */ React48.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(SizeField, { bind: "max-height", label: (0, import_i18n26.__)("Max height", "elementor") }))), /* @__PURE__ */ React48.createElement(PanelDivider, null), /* @__PURE__ */ React48.createElement(import_ui36.Stack, null, /* @__PURE__ */ React48.createElement(OverflowField, null)));
|
|
2269
2363
|
};
|
|
2270
2364
|
var SizeField = ({ label, bind, extendedValues }) => {
|
|
2271
|
-
return /* @__PURE__ */
|
|
2365
|
+
return /* @__PURE__ */ React48.createElement(StylesField, { bind }, /* @__PURE__ */ React48.createElement(import_ui36.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React48.createElement(import_ui36.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, label)), /* @__PURE__ */ React48.createElement(import_ui36.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React48.createElement(import_editor_controls29.SizeControl, { extendedValues }))));
|
|
2272
2366
|
};
|
|
2273
2367
|
|
|
2274
2368
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
2275
|
-
var
|
|
2369
|
+
var React49 = __toESM(require("react"));
|
|
2276
2370
|
var import_editor_controls30 = require("@elementor/editor-controls");
|
|
2277
2371
|
var import_i18n27 = require("@wordpress/i18n");
|
|
2278
2372
|
var SpacingSection = () => {
|
|
2279
2373
|
const { isSiteRtl } = useDirection();
|
|
2280
|
-
return /* @__PURE__ */
|
|
2374
|
+
return /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React49.createElement(
|
|
2281
2375
|
import_editor_controls30.LinkedDimensionsControl,
|
|
2282
2376
|
{
|
|
2283
2377
|
label: (0, import_i18n27.__)("Margin", "elementor"),
|
|
2284
2378
|
isSiteRtl,
|
|
2285
2379
|
extendedValues: ["auto"]
|
|
2286
2380
|
}
|
|
2287
|
-
)), /* @__PURE__ */
|
|
2381
|
+
)), /* @__PURE__ */ React49.createElement(PanelDivider, null), /* @__PURE__ */ React49.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React49.createElement(import_editor_controls30.LinkedDimensionsControl, { label: (0, import_i18n27.__)("Padding", "elementor"), isSiteRtl })));
|
|
2288
2382
|
};
|
|
2289
2383
|
|
|
2290
2384
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
2291
|
-
var
|
|
2385
|
+
var React64 = __toESM(require("react"));
|
|
2292
2386
|
|
|
2293
2387
|
// src/components/collapsible-content.tsx
|
|
2294
|
-
var
|
|
2388
|
+
var React50 = __toESM(require("react"));
|
|
2295
2389
|
var import_react14 = require("react");
|
|
2296
|
-
var
|
|
2390
|
+
var import_ui37 = require("@elementor/ui");
|
|
2297
2391
|
var import_i18n28 = require("@wordpress/i18n");
|
|
2298
2392
|
var CollapsibleContent = ({ children, defaultOpen = false }) => {
|
|
2299
2393
|
const [open, setOpen] = (0, import_react14.useState)(defaultOpen);
|
|
2300
2394
|
const handleToggle = () => {
|
|
2301
2395
|
setOpen((prevOpen) => !prevOpen);
|
|
2302
2396
|
};
|
|
2303
|
-
return /* @__PURE__ */
|
|
2304
|
-
|
|
2397
|
+
return /* @__PURE__ */ React50.createElement(import_ui37.Stack, null, /* @__PURE__ */ React50.createElement(
|
|
2398
|
+
import_ui37.Button,
|
|
2305
2399
|
{
|
|
2306
2400
|
fullWidth: true,
|
|
2307
2401
|
size: "small",
|
|
2308
2402
|
color: "secondary",
|
|
2309
2403
|
variant: "outlined",
|
|
2310
2404
|
onClick: handleToggle,
|
|
2311
|
-
endIcon: /* @__PURE__ */
|
|
2405
|
+
endIcon: /* @__PURE__ */ React50.createElement(CollapseIcon, { open }),
|
|
2312
2406
|
sx: { my: 0.5 }
|
|
2313
2407
|
},
|
|
2314
2408
|
open ? (0, import_i18n28.__)("Show less", "elementor") : (0, import_i18n28.__)("Show more", "elementor")
|
|
2315
|
-
), /* @__PURE__ */
|
|
2409
|
+
), /* @__PURE__ */ React50.createElement(import_ui37.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
|
|
2316
2410
|
};
|
|
2317
2411
|
|
|
2318
2412
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
2319
|
-
var
|
|
2413
|
+
var React51 = __toESM(require("react"));
|
|
2320
2414
|
var import_editor_controls31 = require("@elementor/editor-controls");
|
|
2321
|
-
var
|
|
2415
|
+
var import_ui38 = require("@elementor/ui");
|
|
2322
2416
|
var import_i18n30 = require("@wordpress/i18n");
|
|
2323
2417
|
|
|
2324
2418
|
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
@@ -2372,44 +2466,44 @@ var FontFamilyField = () => {
|
|
|
2372
2466
|
if (fontFamilies.length === 0) {
|
|
2373
2467
|
return null;
|
|
2374
2468
|
}
|
|
2375
|
-
return /* @__PURE__ */
|
|
2469
|
+
return /* @__PURE__ */ React51.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React51.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel, null, (0, import_i18n30.__)("Font family", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui38.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React51.createElement(import_editor_controls31.FontFamilyControl, { fontFamilies }))));
|
|
2376
2470
|
};
|
|
2377
2471
|
|
|
2378
2472
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
2379
|
-
var
|
|
2473
|
+
var React52 = __toESM(require("react"));
|
|
2380
2474
|
var import_editor_controls32 = require("@elementor/editor-controls");
|
|
2381
|
-
var
|
|
2475
|
+
var import_ui39 = require("@elementor/ui");
|
|
2382
2476
|
var import_i18n31 = require("@wordpress/i18n");
|
|
2383
2477
|
var FontSizeField = () => {
|
|
2384
|
-
return /* @__PURE__ */
|
|
2478
|
+
return /* @__PURE__ */ React52.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React52.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel, null, (0, import_i18n31.__)("Font size", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls32.SizeControl, null))));
|
|
2385
2479
|
};
|
|
2386
2480
|
|
|
2387
2481
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
2388
|
-
var
|
|
2482
|
+
var React53 = __toESM(require("react"));
|
|
2389
2483
|
var import_editor_controls33 = require("@elementor/editor-controls");
|
|
2390
2484
|
var import_icons18 = require("@elementor/icons");
|
|
2391
|
-
var
|
|
2485
|
+
var import_ui40 = require("@elementor/ui");
|
|
2392
2486
|
var import_i18n32 = require("@wordpress/i18n");
|
|
2393
2487
|
var options8 = [
|
|
2394
2488
|
{
|
|
2395
2489
|
value: "normal",
|
|
2396
2490
|
label: (0, import_i18n32.__)("Normal", "elementor"),
|
|
2397
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2491
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.MinusIcon, { fontSize: size }),
|
|
2398
2492
|
showTooltip: true
|
|
2399
2493
|
},
|
|
2400
2494
|
{
|
|
2401
2495
|
value: "italic",
|
|
2402
2496
|
label: (0, import_i18n32.__)("Italic", "elementor"),
|
|
2403
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2497
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.ItalicIcon, { fontSize: size }),
|
|
2404
2498
|
showTooltip: true
|
|
2405
2499
|
}
|
|
2406
2500
|
];
|
|
2407
|
-
var FontStyleField = () => /* @__PURE__ */
|
|
2501
|
+
var FontStyleField = () => /* @__PURE__ */ React53.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React53.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls33.ControlFormLabel, null, (0, import_i18n32.__)("Font style", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui40.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(import_editor_controls33.ToggleControl, { options: options8 }))));
|
|
2408
2502
|
|
|
2409
2503
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
2410
|
-
var
|
|
2504
|
+
var React54 = __toESM(require("react"));
|
|
2411
2505
|
var import_editor_controls34 = require("@elementor/editor-controls");
|
|
2412
|
-
var
|
|
2506
|
+
var import_ui41 = require("@elementor/ui");
|
|
2413
2507
|
var import_i18n33 = require("@wordpress/i18n");
|
|
2414
2508
|
var fontWeightOptions = [
|
|
2415
2509
|
{ value: "100", label: (0, import_i18n33.__)("100 - Thin", "elementor") },
|
|
@@ -2423,135 +2517,135 @@ var fontWeightOptions = [
|
|
|
2423
2517
|
{ value: "900", label: (0, import_i18n33.__)("900 - Black", "elementor") }
|
|
2424
2518
|
];
|
|
2425
2519
|
var FontWeightField = () => {
|
|
2426
|
-
return /* @__PURE__ */
|
|
2520
|
+
return /* @__PURE__ */ React54.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React54.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, (0, import_i18n33.__)("Font weight", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui41.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React54.createElement(import_editor_controls34.SelectControl, { options: fontWeightOptions }))));
|
|
2427
2521
|
};
|
|
2428
2522
|
|
|
2429
2523
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
2430
|
-
var
|
|
2524
|
+
var React55 = __toESM(require("react"));
|
|
2431
2525
|
var import_editor_controls35 = require("@elementor/editor-controls");
|
|
2432
|
-
var
|
|
2526
|
+
var import_ui42 = require("@elementor/ui");
|
|
2433
2527
|
var import_i18n34 = require("@wordpress/i18n");
|
|
2434
2528
|
var LetterSpacingField = () => {
|
|
2435
|
-
return /* @__PURE__ */
|
|
2529
|
+
return /* @__PURE__ */ React55.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React55.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, (0, import_i18n34.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls35.SizeControl, null))));
|
|
2436
2530
|
};
|
|
2437
2531
|
|
|
2438
2532
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
2439
|
-
var
|
|
2533
|
+
var React56 = __toESM(require("react"));
|
|
2440
2534
|
var import_editor_controls36 = require("@elementor/editor-controls");
|
|
2441
|
-
var
|
|
2535
|
+
var import_ui43 = require("@elementor/ui");
|
|
2442
2536
|
var import_i18n35 = require("@wordpress/i18n");
|
|
2443
2537
|
var LineHeightField = () => {
|
|
2444
|
-
return /* @__PURE__ */
|
|
2538
|
+
return /* @__PURE__ */ React56.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React56.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, (0, import_i18n35.__)("Line height", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls36.SizeControl, null))));
|
|
2445
2539
|
};
|
|
2446
2540
|
|
|
2447
2541
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
2448
|
-
var
|
|
2542
|
+
var React57 = __toESM(require("react"));
|
|
2449
2543
|
var import_editor_controls37 = require("@elementor/editor-controls");
|
|
2450
2544
|
var import_icons19 = require("@elementor/icons");
|
|
2451
|
-
var
|
|
2545
|
+
var import_ui44 = require("@elementor/ui");
|
|
2452
2546
|
var import_i18n36 = require("@wordpress/i18n");
|
|
2453
|
-
var
|
|
2454
|
-
var
|
|
2547
|
+
var AlignStartIcon = (0, import_ui44.withDirection)(import_icons19.AlignLeftIcon);
|
|
2548
|
+
var AlignEndIcon = (0, import_ui44.withDirection)(import_icons19.AlignRightIcon);
|
|
2455
2549
|
var options9 = [
|
|
2456
2550
|
{
|
|
2457
2551
|
value: "start",
|
|
2458
2552
|
label: (0, import_i18n36.__)("Start", "elementor"),
|
|
2459
|
-
renderContent: () => /* @__PURE__ */
|
|
2553
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(AlignStartIcon, { fontSize: size }),
|
|
2460
2554
|
showTooltip: true
|
|
2461
2555
|
},
|
|
2462
2556
|
{
|
|
2463
2557
|
value: "center",
|
|
2464
2558
|
label: (0, import_i18n36.__)("Center", "elementor"),
|
|
2465
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2559
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons19.AlignCenterIcon, { fontSize: size }),
|
|
2466
2560
|
showTooltip: true
|
|
2467
2561
|
},
|
|
2468
2562
|
{
|
|
2469
2563
|
value: "end",
|
|
2470
2564
|
label: (0, import_i18n36.__)("End", "elementor"),
|
|
2471
|
-
renderContent: () => /* @__PURE__ */
|
|
2565
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(AlignEndIcon, { fontSize: size }),
|
|
2472
2566
|
showTooltip: true
|
|
2473
2567
|
},
|
|
2474
2568
|
{
|
|
2475
2569
|
value: "justify",
|
|
2476
2570
|
label: (0, import_i18n36.__)("Justify", "elementor"),
|
|
2477
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2571
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons19.AlignJustifiedIcon, { fontSize: size }),
|
|
2478
2572
|
showTooltip: true
|
|
2479
2573
|
}
|
|
2480
2574
|
];
|
|
2481
2575
|
var TextAlignmentField = () => {
|
|
2482
|
-
return /* @__PURE__ */
|
|
2576
|
+
return /* @__PURE__ */ React57.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React57.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, (0, import_i18n36.__)("Text align", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React57.createElement(import_editor_controls37.ToggleControl, { options: options9 }))));
|
|
2483
2577
|
};
|
|
2484
2578
|
|
|
2485
2579
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
2486
|
-
var
|
|
2580
|
+
var React58 = __toESM(require("react"));
|
|
2487
2581
|
var import_editor_controls38 = require("@elementor/editor-controls");
|
|
2488
|
-
var
|
|
2582
|
+
var import_ui45 = require("@elementor/ui");
|
|
2489
2583
|
var import_i18n37 = require("@wordpress/i18n");
|
|
2490
2584
|
var TextColorField = () => {
|
|
2491
|
-
return /* @__PURE__ */
|
|
2585
|
+
return /* @__PURE__ */ React58.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React58.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel, null, (0, import_i18n37.__)("Text color", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(import_editor_controls38.ColorControl, null))));
|
|
2492
2586
|
};
|
|
2493
2587
|
|
|
2494
2588
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
2495
|
-
var
|
|
2589
|
+
var React59 = __toESM(require("react"));
|
|
2496
2590
|
var import_editor_controls39 = require("@elementor/editor-controls");
|
|
2497
2591
|
var import_icons20 = require("@elementor/icons");
|
|
2498
|
-
var
|
|
2592
|
+
var import_ui46 = require("@elementor/ui");
|
|
2499
2593
|
var import_i18n38 = require("@wordpress/i18n");
|
|
2500
2594
|
var options10 = [
|
|
2501
2595
|
{
|
|
2502
2596
|
value: "none",
|
|
2503
2597
|
label: (0, import_i18n38.__)("None", "elementor"),
|
|
2504
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2598
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons20.MinusIcon, { fontSize: size }),
|
|
2505
2599
|
showTooltip: true,
|
|
2506
2600
|
exclusive: true
|
|
2507
2601
|
},
|
|
2508
2602
|
{
|
|
2509
2603
|
value: "underline",
|
|
2510
2604
|
label: (0, import_i18n38.__)("Underline", "elementor"),
|
|
2511
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2605
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons20.UnderlineIcon, { fontSize: size }),
|
|
2512
2606
|
showTooltip: true
|
|
2513
2607
|
},
|
|
2514
2608
|
{
|
|
2515
2609
|
value: "line-through",
|
|
2516
2610
|
label: (0, import_i18n38.__)("Line-through", "elementor"),
|
|
2517
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2611
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons20.StrikethroughIcon, { fontSize: size }),
|
|
2518
2612
|
showTooltip: true
|
|
2519
2613
|
},
|
|
2520
2614
|
{
|
|
2521
2615
|
value: "overline",
|
|
2522
2616
|
label: (0, import_i18n38.__)("Overline", "elementor"),
|
|
2523
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2617
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons20.OverlineIcon, { fontSize: size }),
|
|
2524
2618
|
showTooltip: true
|
|
2525
2619
|
}
|
|
2526
2620
|
];
|
|
2527
|
-
var TextDecorationField = () => /* @__PURE__ */
|
|
2621
|
+
var TextDecorationField = () => /* @__PURE__ */ React59.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React59.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, (0, import_i18n38.__)("Line decoration", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui46.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React59.createElement(import_editor_controls39.ToggleControl, { options: options10, exclusive: false }))));
|
|
2528
2622
|
|
|
2529
2623
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
2530
|
-
var
|
|
2624
|
+
var React60 = __toESM(require("react"));
|
|
2531
2625
|
var import_editor_controls40 = require("@elementor/editor-controls");
|
|
2532
2626
|
var import_icons21 = require("@elementor/icons");
|
|
2533
|
-
var
|
|
2627
|
+
var import_ui47 = require("@elementor/ui");
|
|
2534
2628
|
var import_i18n39 = require("@wordpress/i18n");
|
|
2535
2629
|
var options11 = [
|
|
2536
2630
|
{
|
|
2537
2631
|
value: "ltr",
|
|
2538
2632
|
label: (0, import_i18n39.__)("Left to right", "elementor"),
|
|
2539
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2633
|
+
renderContent: ({ size }) => /* @__PURE__ */ React60.createElement(import_icons21.TextDirectionLtrIcon, { fontSize: size }),
|
|
2540
2634
|
showTooltip: true
|
|
2541
2635
|
},
|
|
2542
2636
|
{
|
|
2543
2637
|
value: "rtl",
|
|
2544
2638
|
label: (0, import_i18n39.__)("Right to left", "elementor"),
|
|
2545
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2639
|
+
renderContent: ({ size }) => /* @__PURE__ */ React60.createElement(import_icons21.TextDirectionRtlIcon, { fontSize: size }),
|
|
2546
2640
|
showTooltip: true
|
|
2547
2641
|
}
|
|
2548
2642
|
];
|
|
2549
2643
|
var TextDirectionField = () => {
|
|
2550
|
-
return /* @__PURE__ */
|
|
2644
|
+
return /* @__PURE__ */ React60.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React60.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(ControlLabel, null, (0, import_i18n39.__)("Direction", "elementor"))), /* @__PURE__ */ React60.createElement(import_ui47.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React60.createElement(import_editor_controls40.ToggleControl, { options: options11 }))));
|
|
2551
2645
|
};
|
|
2552
2646
|
|
|
2553
2647
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
2554
|
-
var
|
|
2648
|
+
var React61 = __toESM(require("react"));
|
|
2555
2649
|
var import_editor_controls41 = require("@elementor/editor-controls");
|
|
2556
2650
|
var import_i18n40 = require("@wordpress/i18n");
|
|
2557
2651
|
var initTextStroke = {
|
|
@@ -2579,7 +2673,7 @@ var TextStrokeField = () => {
|
|
|
2579
2673
|
setTextStroke(null);
|
|
2580
2674
|
};
|
|
2581
2675
|
const hasTextStroke = Boolean(textStroke);
|
|
2582
|
-
return /* @__PURE__ */
|
|
2676
|
+
return /* @__PURE__ */ React61.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React61.createElement(
|
|
2583
2677
|
AddOrRemoveContent,
|
|
2584
2678
|
{
|
|
2585
2679
|
label: (0, import_i18n40.__)("Text stroke", "elementor"),
|
|
@@ -2587,56 +2681,56 @@ var TextStrokeField = () => {
|
|
|
2587
2681
|
onAdd: addTextStroke,
|
|
2588
2682
|
onRemove: removeTextStroke
|
|
2589
2683
|
},
|
|
2590
|
-
/* @__PURE__ */
|
|
2591
|
-
);
|
|
2684
|
+
/* @__PURE__ */ React61.createElement(import_editor_controls41.StrokeControl, null)
|
|
2685
|
+
));
|
|
2592
2686
|
};
|
|
2593
2687
|
|
|
2594
2688
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
2595
|
-
var
|
|
2689
|
+
var React62 = __toESM(require("react"));
|
|
2596
2690
|
var import_editor_controls42 = require("@elementor/editor-controls");
|
|
2597
2691
|
var import_icons22 = require("@elementor/icons");
|
|
2598
|
-
var
|
|
2692
|
+
var import_ui48 = require("@elementor/ui");
|
|
2599
2693
|
var import_i18n41 = require("@wordpress/i18n");
|
|
2600
2694
|
var options12 = [
|
|
2601
2695
|
{
|
|
2602
2696
|
value: "none",
|
|
2603
2697
|
label: (0, import_i18n41.__)("None", "elementor"),
|
|
2604
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2698
|
+
renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(import_icons22.MinusIcon, { fontSize: size }),
|
|
2605
2699
|
showTooltip: true
|
|
2606
2700
|
},
|
|
2607
2701
|
{
|
|
2608
2702
|
value: "capitalize",
|
|
2609
2703
|
label: (0, import_i18n41.__)("Capitalize", "elementor"),
|
|
2610
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2704
|
+
renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(import_icons22.LetterCaseIcon, { fontSize: size }),
|
|
2611
2705
|
showTooltip: true
|
|
2612
2706
|
},
|
|
2613
2707
|
{
|
|
2614
2708
|
value: "uppercase",
|
|
2615
2709
|
label: (0, import_i18n41.__)("Uppercase", "elementor"),
|
|
2616
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2710
|
+
renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(import_icons22.LetterCaseUpperIcon, { fontSize: size }),
|
|
2617
2711
|
showTooltip: true
|
|
2618
2712
|
},
|
|
2619
2713
|
{
|
|
2620
2714
|
value: "lowercase",
|
|
2621
2715
|
label: (0, import_i18n41.__)("Lowercase", "elementor"),
|
|
2622
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2716
|
+
renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
|
|
2623
2717
|
showTooltip: true
|
|
2624
2718
|
}
|
|
2625
2719
|
];
|
|
2626
|
-
var TransformField = () => /* @__PURE__ */
|
|
2720
|
+
var TransformField = () => /* @__PURE__ */ React62.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React62.createElement(import_ui48.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, (0, import_i18n41.__)("Text transform", "elementor"))), /* @__PURE__ */ React62.createElement(import_ui48.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React62.createElement(import_editor_controls42.ToggleControl, { options: options12 }))));
|
|
2627
2721
|
|
|
2628
2722
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
2629
|
-
var
|
|
2723
|
+
var React63 = __toESM(require("react"));
|
|
2630
2724
|
var import_editor_controls43 = require("@elementor/editor-controls");
|
|
2631
|
-
var
|
|
2725
|
+
var import_ui49 = require("@elementor/ui");
|
|
2632
2726
|
var import_i18n42 = require("@wordpress/i18n");
|
|
2633
2727
|
var WordSpacingField = () => {
|
|
2634
|
-
return /* @__PURE__ */
|
|
2728
|
+
return /* @__PURE__ */ React63.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React63.createElement(import_ui49.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, (0, import_i18n42.__)("Word spacing", "elementor"))), /* @__PURE__ */ React63.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(import_editor_controls43.SizeControl, null))));
|
|
2635
2729
|
};
|
|
2636
2730
|
|
|
2637
2731
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
2638
2732
|
var TypographySection = () => {
|
|
2639
|
-
return /* @__PURE__ */
|
|
2733
|
+
return /* @__PURE__ */ React64.createElement(SectionContent, null, /* @__PURE__ */ React64.createElement(FontFamilyField, null), /* @__PURE__ */ React64.createElement(FontWeightField, null), /* @__PURE__ */ React64.createElement(FontSizeField, null), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(TextAlignmentField, null), /* @__PURE__ */ React64.createElement(TextColorField, null), /* @__PURE__ */ React64.createElement(CollapsibleContent, null, /* @__PURE__ */ React64.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React64.createElement(LineHeightField, null), /* @__PURE__ */ React64.createElement(LetterSpacingField, null), /* @__PURE__ */ React64.createElement(WordSpacingField, null), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(TextDecorationField, null), /* @__PURE__ */ React64.createElement(TransformField, null), /* @__PURE__ */ React64.createElement(TextDirectionField, null), /* @__PURE__ */ React64.createElement(FontStyleField, null), /* @__PURE__ */ React64.createElement(TextStrokeField, null))));
|
|
2640
2734
|
};
|
|
2641
2735
|
|
|
2642
2736
|
// src/components/style-tab.tsx
|
|
@@ -2645,7 +2739,7 @@ var StyleTab = () => {
|
|
|
2645
2739
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
2646
2740
|
const [activeStyleState, setActiveStyleState] = (0, import_react16.useState)(null);
|
|
2647
2741
|
const breakpoint = (0, import_editor_responsive2.useActiveBreakpoint)();
|
|
2648
|
-
return /* @__PURE__ */
|
|
2742
|
+
return /* @__PURE__ */ React65.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React65.createElement(
|
|
2649
2743
|
StyleProvider,
|
|
2650
2744
|
{
|
|
2651
2745
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -2656,7 +2750,7 @@ var StyleTab = () => {
|
|
|
2656
2750
|
},
|
|
2657
2751
|
setMetaState: setActiveStyleState
|
|
2658
2752
|
},
|
|
2659
|
-
/* @__PURE__ */
|
|
2753
|
+
/* @__PURE__ */ React65.createElement(import_session3.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React65.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React65.createElement(CssClassSelector, null), /* @__PURE__ */ React65.createElement(import_ui50.Divider, null), /* @__PURE__ */ React65.createElement(SectionsList, null, /* @__PURE__ */ React65.createElement(Section, { title: (0, import_i18n43.__)("Layout", "elementor") }, /* @__PURE__ */ React65.createElement(LayoutSection, null)), /* @__PURE__ */ React65.createElement(Section, { title: (0, import_i18n43.__)("Spacing", "elementor") }, /* @__PURE__ */ React65.createElement(SpacingSection, null)), /* @__PURE__ */ React65.createElement(Section, { title: (0, import_i18n43.__)("Size", "elementor") }, /* @__PURE__ */ React65.createElement(SizeSection, null)), /* @__PURE__ */ React65.createElement(Section, { title: (0, import_i18n43.__)("Position", "elementor") }, /* @__PURE__ */ React65.createElement(PositionSection, null)), /* @__PURE__ */ React65.createElement(Section, { title: (0, import_i18n43.__)("Typography", "elementor") }, /* @__PURE__ */ React65.createElement(TypographySection, null)), /* @__PURE__ */ React65.createElement(Section, { title: (0, import_i18n43.__)("Background", "elementor") }, /* @__PURE__ */ React65.createElement(BackgroundSection, null)), /* @__PURE__ */ React65.createElement(Section, { title: (0, import_i18n43.__)("Border", "elementor") }, /* @__PURE__ */ React65.createElement(BorderSection, null)), /* @__PURE__ */ React65.createElement(Section, { title: (0, import_i18n43.__)("Effects", "elementor") }, /* @__PURE__ */ React65.createElement(EffectsSection, null)))))
|
|
2660
2754
|
));
|
|
2661
2755
|
};
|
|
2662
2756
|
function useActiveStyleDefId(currentClassesProp) {
|
|
@@ -2673,7 +2767,7 @@ function useFirstElementStyleDef(currentClassesProp) {
|
|
|
2673
2767
|
function useCurrentClassesProp() {
|
|
2674
2768
|
const { elementType } = useElement();
|
|
2675
2769
|
const prop = Object.entries(elementType.propsSchema).find(
|
|
2676
|
-
([, propType]) => propType.kind === "plain" && propType.key ===
|
|
2770
|
+
([, propType]) => propType.kind === "plain" && propType.key === import_editor_props6.CLASSES_PROP_KEY
|
|
2677
2771
|
);
|
|
2678
2772
|
if (!prop) {
|
|
2679
2773
|
throw new Error("Element does not have a classes prop");
|
|
@@ -2684,11 +2778,11 @@ function useCurrentClassesProp() {
|
|
|
2684
2778
|
// src/components/editing-panel-tabs.tsx
|
|
2685
2779
|
var EditingPanelTabs = () => {
|
|
2686
2780
|
const { element } = useElement();
|
|
2687
|
-
const { getTabProps, getTabPanelProps, getTabsProps } = (0,
|
|
2781
|
+
const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui51.useTabs)("settings");
|
|
2688
2782
|
return (
|
|
2689
2783
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
2690
2784
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
2691
|
-
/* @__PURE__ */
|
|
2785
|
+
/* @__PURE__ */ React66.createElement(import_react17.Fragment, { key: element.id }, /* @__PURE__ */ React66.createElement(import_ui51.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React66.createElement(import_ui51.Tabs, { variant: "fullWidth", size: "small", sx: { mt: 0.5 }, ...getTabsProps() }, /* @__PURE__ */ React66.createElement(import_ui51.Tab, { label: (0, import_i18n44.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React66.createElement(import_ui51.Tab, { label: (0, import_i18n44.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React66.createElement(import_ui51.Divider, null), /* @__PURE__ */ React66.createElement(import_ui51.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React66.createElement(SettingsTab, null)), /* @__PURE__ */ React66.createElement(import_ui51.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React66.createElement(StyleTab, null))))
|
|
2692
2786
|
);
|
|
2693
2787
|
};
|
|
2694
2788
|
|
|
@@ -2702,7 +2796,7 @@ var EditingPanel = () => {
|
|
|
2702
2796
|
return null;
|
|
2703
2797
|
}
|
|
2704
2798
|
const panelTitle = (0, import_i18n45.__)("Edit %s", "elementor").replace("%s", elementType.title);
|
|
2705
|
-
return /* @__PURE__ */
|
|
2799
|
+
return /* @__PURE__ */ React67.createElement(import_ui52.ErrorBoundary, { fallback: /* @__PURE__ */ React67.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React67.createElement(import_session4.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React67.createElement(import_editor_ui3.ThemeProvider, null, /* @__PURE__ */ React67.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React67.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React67.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React67.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React67.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React67.createElement(import_editor_controls44.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React67.createElement(import_editor_controls44.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React67.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React67.createElement(EditingPanelTabs, null)))))))));
|
|
2706
2800
|
};
|
|
2707
2801
|
|
|
2708
2802
|
// src/panel.ts
|
|
@@ -2750,18 +2844,21 @@ var EditingPanelHooks = () => {
|
|
|
2750
2844
|
return null;
|
|
2751
2845
|
};
|
|
2752
2846
|
|
|
2847
|
+
// src/dynamics/init.ts
|
|
2848
|
+
var import_editor_canvas2 = require("@elementor/editor-canvas");
|
|
2849
|
+
|
|
2753
2850
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
2754
|
-
var
|
|
2851
|
+
var React71 = __toESM(require("react"));
|
|
2755
2852
|
var import_react22 = require("react");
|
|
2756
2853
|
var import_editor_controls48 = require("@elementor/editor-controls");
|
|
2757
2854
|
var import_icons25 = require("@elementor/icons");
|
|
2758
|
-
var
|
|
2855
|
+
var import_ui55 = require("@elementor/ui");
|
|
2759
2856
|
var import_i18n47 = require("@wordpress/i18n");
|
|
2760
2857
|
|
|
2761
2858
|
// src/components/popover-content.tsx
|
|
2762
|
-
var
|
|
2763
|
-
var
|
|
2764
|
-
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */
|
|
2859
|
+
var React68 = __toESM(require("react"));
|
|
2860
|
+
var import_ui53 = require("@elementor/ui");
|
|
2861
|
+
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React68.createElement(import_ui53.Stack, { alignItems, gap, p }, children);
|
|
2765
2862
|
|
|
2766
2863
|
// src/hooks/use-persist-dynamic-value.ts
|
|
2767
2864
|
var import_session5 = require("@elementor/session");
|
|
@@ -2772,7 +2869,7 @@ var usePersistDynamicValue = (propKey) => {
|
|
|
2772
2869
|
};
|
|
2773
2870
|
|
|
2774
2871
|
// src/dynamics/dynamic-control.tsx
|
|
2775
|
-
var
|
|
2872
|
+
var React69 = __toESM(require("react"));
|
|
2776
2873
|
var import_editor_controls46 = require("@elementor/editor-controls");
|
|
2777
2874
|
|
|
2778
2875
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
@@ -2801,7 +2898,7 @@ var getAtomicDynamicTags = () => {
|
|
|
2801
2898
|
};
|
|
2802
2899
|
|
|
2803
2900
|
// src/dynamics/utils.ts
|
|
2804
|
-
var
|
|
2901
|
+
var import_editor_props7 = require("@elementor/editor-props");
|
|
2805
2902
|
var import_schema = require("@elementor/schema");
|
|
2806
2903
|
var DYNAMIC_PROP_TYPE_KEY = "dynamic";
|
|
2807
2904
|
var isDynamicPropType = (prop) => prop.key === DYNAMIC_PROP_TYPE_KEY;
|
|
@@ -2810,12 +2907,12 @@ var getDynamicPropType = (propType) => {
|
|
|
2810
2907
|
return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
|
|
2811
2908
|
};
|
|
2812
2909
|
var isDynamicPropValue = (prop) => {
|
|
2813
|
-
return (0,
|
|
2910
|
+
return (0, import_editor_props7.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
|
|
2814
2911
|
};
|
|
2815
2912
|
var supportsDynamic = (propType) => {
|
|
2816
2913
|
return !!getDynamicPropType(propType);
|
|
2817
2914
|
};
|
|
2818
|
-
var dynamicPropTypeUtil = (0,
|
|
2915
|
+
var dynamicPropTypeUtil = (0, import_editor_props7.createPropUtils)(
|
|
2819
2916
|
DYNAMIC_PROP_TYPE_KEY,
|
|
2820
2917
|
import_schema.z.strictObject({
|
|
2821
2918
|
name: import_schema.z.string(),
|
|
@@ -2871,15 +2968,15 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
2871
2968
|
});
|
|
2872
2969
|
};
|
|
2873
2970
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
2874
|
-
return /* @__PURE__ */
|
|
2971
|
+
return /* @__PURE__ */ React69.createElement(import_editor_controls46.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React69.createElement(import_editor_controls46.PropKeyProvider, { bind }, children));
|
|
2875
2972
|
};
|
|
2876
2973
|
|
|
2877
2974
|
// src/dynamics/components/dynamic-selection.tsx
|
|
2878
|
-
var
|
|
2975
|
+
var React70 = __toESM(require("react"));
|
|
2879
2976
|
var import_react21 = require("react");
|
|
2880
2977
|
var import_editor_controls47 = require("@elementor/editor-controls");
|
|
2881
2978
|
var import_icons24 = require("@elementor/icons");
|
|
2882
|
-
var
|
|
2979
|
+
var import_ui54 = require("@elementor/ui");
|
|
2883
2980
|
var import_i18n46 = require("@wordpress/i18n");
|
|
2884
2981
|
var SIZE3 = "tiny";
|
|
2885
2982
|
var DynamicSelection = ({ onSelect }) => {
|
|
@@ -2894,15 +2991,15 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2894
2991
|
const handleSearch = (event) => {
|
|
2895
2992
|
setSearchValue(event.target.value);
|
|
2896
2993
|
};
|
|
2897
|
-
const handleSetDynamicTag = (value) => {
|
|
2994
|
+
const handleSetDynamicTag = (value, label) => {
|
|
2898
2995
|
if (!isCurrentValueDynamic) {
|
|
2899
2996
|
updatePropValueHistory(anyValue);
|
|
2900
2997
|
}
|
|
2901
|
-
setValue({ name: value, settings: {} });
|
|
2998
|
+
setValue({ name: value, settings: { label } });
|
|
2902
2999
|
onSelect?.();
|
|
2903
3000
|
};
|
|
2904
|
-
return /* @__PURE__ */
|
|
2905
|
-
|
|
3001
|
+
return /* @__PURE__ */ React70.createElement(import_ui54.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React70.createElement(NoDynamicTags, null) : /* @__PURE__ */ React70.createElement(import_react21.Fragment, null, /* @__PURE__ */ React70.createElement(import_ui54.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React70.createElement(
|
|
3002
|
+
import_ui54.TextField,
|
|
2906
3003
|
{
|
|
2907
3004
|
fullWidth: true,
|
|
2908
3005
|
size: SIZE3,
|
|
@@ -2910,32 +3007,32 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2910
3007
|
onChange: handleSearch,
|
|
2911
3008
|
placeholder: (0, import_i18n46.__)("Search dynamic tags\u2026", "elementor"),
|
|
2912
3009
|
InputProps: {
|
|
2913
|
-
startAdornment: /* @__PURE__ */
|
|
3010
|
+
startAdornment: /* @__PURE__ */ React70.createElement(import_ui54.InputAdornment, { position: "start" }, /* @__PURE__ */ React70.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
|
|
2914
3011
|
}
|
|
2915
3012
|
}
|
|
2916
|
-
)), /* @__PURE__ */
|
|
2917
|
-
|
|
3013
|
+
)), /* @__PURE__ */ React70.createElement(import_ui54.Divider, null), /* @__PURE__ */ React70.createElement(import_ui54.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options13.length > 0 ? /* @__PURE__ */ React70.createElement(import_ui54.MenuList, { role: "listbox", tabIndex: 0 }, options13.map(([category, items3], index) => /* @__PURE__ */ React70.createElement(import_react21.Fragment, { key: index }, /* @__PURE__ */ React70.createElement(
|
|
3014
|
+
import_ui54.MenuSubheader,
|
|
2918
3015
|
{
|
|
2919
3016
|
sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
|
|
2920
3017
|
},
|
|
2921
3018
|
dynamicGroups?.[category]?.title || category
|
|
2922
3019
|
), items3.map(({ value, label: tagLabel }) => {
|
|
2923
3020
|
const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
|
|
2924
|
-
return /* @__PURE__ */
|
|
2925
|
-
|
|
3021
|
+
return /* @__PURE__ */ React70.createElement(
|
|
3022
|
+
import_ui54.MenuItem,
|
|
2926
3023
|
{
|
|
2927
3024
|
key: value,
|
|
2928
3025
|
selected: isSelected,
|
|
2929
3026
|
autoFocus: isSelected,
|
|
2930
|
-
sx: { px:
|
|
2931
|
-
onClick: () => handleSetDynamicTag(value)
|
|
3027
|
+
sx: { px: 3.5, typography: "caption" },
|
|
3028
|
+
onClick: () => handleSetDynamicTag(value, tagLabel)
|
|
2932
3029
|
},
|
|
2933
3030
|
tagLabel
|
|
2934
3031
|
);
|
|
2935
|
-
})))) : /* @__PURE__ */
|
|
3032
|
+
})))) : /* @__PURE__ */ React70.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
|
|
2936
3033
|
};
|
|
2937
|
-
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */
|
|
2938
|
-
|
|
3034
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React70.createElement(
|
|
3035
|
+
import_ui54.Stack,
|
|
2939
3036
|
{
|
|
2940
3037
|
gap: 1,
|
|
2941
3038
|
alignItems: "center",
|
|
@@ -2945,12 +3042,12 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React69.createElem
|
|
|
2945
3042
|
color: "text.secondary",
|
|
2946
3043
|
sx: { pb: 3.5 }
|
|
2947
3044
|
},
|
|
2948
|
-
/* @__PURE__ */
|
|
2949
|
-
/* @__PURE__ */
|
|
2950
|
-
/* @__PURE__ */
|
|
3045
|
+
/* @__PURE__ */ React70.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
|
|
3046
|
+
/* @__PURE__ */ React70.createElement(import_ui54.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n46.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React70.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
3047
|
+
/* @__PURE__ */ React70.createElement(import_ui54.Typography, { align: "center", variant: "caption" }, (0, import_i18n46.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React70.createElement(import_ui54.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n46.__)("Clear & try again", "elementor")))
|
|
2951
3048
|
);
|
|
2952
|
-
var NoDynamicTags = () => /* @__PURE__ */
|
|
2953
|
-
|
|
3049
|
+
var NoDynamicTags = () => /* @__PURE__ */ React70.createElement(import_ui54.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React70.createElement(import_ui54.Divider, null), /* @__PURE__ */ React70.createElement(
|
|
3050
|
+
import_ui54.Stack,
|
|
2954
3051
|
{
|
|
2955
3052
|
gap: 1,
|
|
2956
3053
|
alignItems: "center",
|
|
@@ -2960,9 +3057,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React69.createElement(import_ui53.Box,
|
|
|
2960
3057
|
color: "text.secondary",
|
|
2961
3058
|
sx: { pb: 3.5 }
|
|
2962
3059
|
},
|
|
2963
|
-
/* @__PURE__ */
|
|
2964
|
-
/* @__PURE__ */
|
|
2965
|
-
/* @__PURE__ */
|
|
3060
|
+
/* @__PURE__ */ React70.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
|
|
3061
|
+
/* @__PURE__ */ React70.createElement(import_ui54.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n46.__)("Streamline your workflow with dynamic tags", "elementor")),
|
|
3062
|
+
/* @__PURE__ */ React70.createElement(import_ui54.Typography, { align: "center", variant: "caption" }, (0, import_i18n46.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
|
|
2966
3063
|
));
|
|
2967
3064
|
var useFilteredOptions = (searchValue) => {
|
|
2968
3065
|
const dynamicTags = usePropDynamicTags();
|
|
@@ -2988,7 +3085,7 @@ var DynamicSelectionControl = () => {
|
|
|
2988
3085
|
const [propValueFromHistory] = usePersistDynamicValue(bind);
|
|
2989
3086
|
const { name: tagName = "" } = value;
|
|
2990
3087
|
const selectionPopoverId = (0, import_react22.useId)();
|
|
2991
|
-
const selectionPopoverState = (0,
|
|
3088
|
+
const selectionPopoverState = (0, import_ui55.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
|
|
2992
3089
|
const dynamicTag = useDynamicTag(tagName);
|
|
2993
3090
|
const removeDynamicTag = () => {
|
|
2994
3091
|
setAnyValue(propValueFromHistory ?? null);
|
|
@@ -2996,70 +3093,70 @@ var DynamicSelectionControl = () => {
|
|
|
2996
3093
|
if (!dynamicTag) {
|
|
2997
3094
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
2998
3095
|
}
|
|
2999
|
-
return /* @__PURE__ */
|
|
3000
|
-
|
|
3096
|
+
return /* @__PURE__ */ React71.createElement(import_ui55.Box, null, /* @__PURE__ */ React71.createElement(
|
|
3097
|
+
import_ui55.UnstableTag,
|
|
3001
3098
|
{
|
|
3002
3099
|
fullWidth: true,
|
|
3003
3100
|
showActionsOnHover: true,
|
|
3004
3101
|
label: dynamicTag.label,
|
|
3005
|
-
startIcon: /* @__PURE__ */
|
|
3006
|
-
...(0,
|
|
3007
|
-
actions: /* @__PURE__ */
|
|
3008
|
-
|
|
3102
|
+
startIcon: /* @__PURE__ */ React71.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4 }),
|
|
3103
|
+
...(0, import_ui55.bindTrigger)(selectionPopoverState),
|
|
3104
|
+
actions: /* @__PURE__ */ React71.createElement(React71.Fragment, null, /* @__PURE__ */ React71.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React71.createElement(
|
|
3105
|
+
import_ui55.IconButton,
|
|
3009
3106
|
{
|
|
3010
3107
|
size: SIZE4,
|
|
3011
3108
|
onClick: removeDynamicTag,
|
|
3012
3109
|
"aria-label": (0, import_i18n47.__)("Remove dynamic value", "elementor")
|
|
3013
3110
|
},
|
|
3014
|
-
/* @__PURE__ */
|
|
3111
|
+
/* @__PURE__ */ React71.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
|
|
3015
3112
|
))
|
|
3016
3113
|
}
|
|
3017
|
-
), /* @__PURE__ */
|
|
3018
|
-
|
|
3114
|
+
), /* @__PURE__ */ React71.createElement(
|
|
3115
|
+
import_ui55.Popover,
|
|
3019
3116
|
{
|
|
3020
3117
|
disablePortal: true,
|
|
3021
3118
|
disableScrollLock: true,
|
|
3022
3119
|
anchorOrigin: { vertical: "bottom", horizontal: "left" },
|
|
3023
|
-
...(0,
|
|
3120
|
+
...(0, import_ui55.bindPopover)(selectionPopoverState)
|
|
3024
3121
|
},
|
|
3025
|
-
/* @__PURE__ */
|
|
3122
|
+
/* @__PURE__ */ React71.createElement(import_ui55.Stack, null, /* @__PURE__ */ React71.createElement(import_ui55.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React71.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React71.createElement(import_ui55.Typography, { variant: "subtitle2" }, (0, import_i18n47.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React71.createElement(import_ui55.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React71.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React71.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
3026
3123
|
));
|
|
3027
3124
|
};
|
|
3028
3125
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
3029
3126
|
const popupId = (0, import_react22.useId)();
|
|
3030
|
-
const settingsPopupState = (0,
|
|
3127
|
+
const settingsPopupState = (0, import_ui55.usePopupState)({ variant: "popover", popupId });
|
|
3031
3128
|
const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
|
|
3032
3129
|
if (!hasDynamicSettings) {
|
|
3033
3130
|
return null;
|
|
3034
3131
|
}
|
|
3035
|
-
return /* @__PURE__ */
|
|
3036
|
-
|
|
3132
|
+
return /* @__PURE__ */ React71.createElement(React71.Fragment, null, /* @__PURE__ */ React71.createElement(
|
|
3133
|
+
import_ui55.IconButton,
|
|
3037
3134
|
{
|
|
3038
3135
|
size: SIZE4,
|
|
3039
|
-
...(0,
|
|
3136
|
+
...(0, import_ui55.bindTrigger)(settingsPopupState),
|
|
3040
3137
|
"aria-label": (0, import_i18n47.__)("Settings", "elementor")
|
|
3041
3138
|
},
|
|
3042
|
-
/* @__PURE__ */
|
|
3043
|
-
), /* @__PURE__ */
|
|
3044
|
-
|
|
3139
|
+
/* @__PURE__ */ React71.createElement(import_icons25.SettingsIcon, { fontSize: SIZE4 })
|
|
3140
|
+
), /* @__PURE__ */ React71.createElement(
|
|
3141
|
+
import_ui55.Popover,
|
|
3045
3142
|
{
|
|
3046
3143
|
disableScrollLock: true,
|
|
3047
3144
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
3048
|
-
...(0,
|
|
3145
|
+
...(0, import_ui55.bindPopover)(settingsPopupState)
|
|
3049
3146
|
},
|
|
3050
|
-
/* @__PURE__ */
|
|
3147
|
+
/* @__PURE__ */ React71.createElement(import_ui55.Paper, { component: import_ui55.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React71.createElement(import_ui55.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React71.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React71.createElement(import_ui55.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React71.createElement(import_ui55.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React71.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React71.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
|
|
3051
3148
|
));
|
|
3052
3149
|
};
|
|
3053
3150
|
var DynamicSettings = ({ controls }) => {
|
|
3054
3151
|
const tabs = controls.filter(({ type }) => type === "section");
|
|
3055
|
-
const { getTabsProps, getTabProps, getTabPanelProps } = (0,
|
|
3152
|
+
const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui55.useTabs)(0);
|
|
3056
3153
|
if (!tabs.length) {
|
|
3057
3154
|
return null;
|
|
3058
3155
|
}
|
|
3059
|
-
return /* @__PURE__ */
|
|
3060
|
-
return /* @__PURE__ */
|
|
3156
|
+
return /* @__PURE__ */ React71.createElement(React71.Fragment, null, /* @__PURE__ */ React71.createElement(import_ui55.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React71.createElement(import_ui55.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React71.createElement(import_ui55.Divider, null), tabs.map(({ value }, index) => {
|
|
3157
|
+
return /* @__PURE__ */ React71.createElement(import_ui55.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React71.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
|
|
3061
3158
|
if (item.type === "control") {
|
|
3062
|
-
return /* @__PURE__ */
|
|
3159
|
+
return /* @__PURE__ */ React71.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
3063
3160
|
}
|
|
3064
3161
|
return null;
|
|
3065
3162
|
})));
|
|
@@ -3069,11 +3166,60 @@ var Control3 = ({ control }) => {
|
|
|
3069
3166
|
if (!getControlByType(control.type)) {
|
|
3070
3167
|
return null;
|
|
3071
3168
|
}
|
|
3072
|
-
return /* @__PURE__ */
|
|
3169
|
+
return /* @__PURE__ */ React71.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React71.createElement(import_ui55.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React71.createElement(import_ui55.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React71.createElement(import_editor_controls48.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React71.createElement(import_ui55.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React71.createElement(Control, { type: control.type, props: control.props }))));
|
|
3073
3170
|
};
|
|
3074
3171
|
|
|
3172
|
+
// src/dynamics/dynamic-transformer.ts
|
|
3173
|
+
var import_editor_canvas = require("@elementor/editor-canvas");
|
|
3174
|
+
var import_editor_props8 = require("@elementor/editor-props");
|
|
3175
|
+
|
|
3176
|
+
// src/dynamics/errors.ts
|
|
3177
|
+
var import_utils8 = require("@elementor/utils");
|
|
3178
|
+
var DynamicTagsManagerNotFoundError = (0, import_utils8.createError)({
|
|
3179
|
+
code: "dynamic_tags_manager_not_found",
|
|
3180
|
+
message: "Dynamic tags manager not found"
|
|
3181
|
+
});
|
|
3182
|
+
|
|
3183
|
+
// src/dynamics/dynamic-transformer.ts
|
|
3184
|
+
var dynamicTransformer = (0, import_editor_canvas.createTransformer)((value) => {
|
|
3185
|
+
if (!value.name) {
|
|
3186
|
+
return null;
|
|
3187
|
+
}
|
|
3188
|
+
return getDynamicValue(value.name, simpleTransform(value.settings ?? {}));
|
|
3189
|
+
});
|
|
3190
|
+
function simpleTransform(props) {
|
|
3191
|
+
const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
|
|
3192
|
+
const value = (0, import_editor_props8.isTransformable)(settingValue) ? settingValue.value : settingValue;
|
|
3193
|
+
return [settingKey, value];
|
|
3194
|
+
});
|
|
3195
|
+
return Object.fromEntries(transformed);
|
|
3196
|
+
}
|
|
3197
|
+
function getDynamicValue(name, settings) {
|
|
3198
|
+
const extendedWindow = window;
|
|
3199
|
+
const { dynamicTags } = extendedWindow.elementor ?? {};
|
|
3200
|
+
if (!dynamicTags) {
|
|
3201
|
+
throw new DynamicTagsManagerNotFoundError();
|
|
3202
|
+
}
|
|
3203
|
+
const getTagValue = () => {
|
|
3204
|
+
const tag = dynamicTags.createTag("v4-dynamic-tag", name, settings);
|
|
3205
|
+
if (!tag) {
|
|
3206
|
+
return null;
|
|
3207
|
+
}
|
|
3208
|
+
return dynamicTags.loadTagDataFromCache(tag) ?? null;
|
|
3209
|
+
};
|
|
3210
|
+
const tagValue = getTagValue();
|
|
3211
|
+
if (tagValue !== null) {
|
|
3212
|
+
return tagValue;
|
|
3213
|
+
}
|
|
3214
|
+
return new Promise((resolve) => {
|
|
3215
|
+
dynamicTags.refreshCacheFromServer(() => {
|
|
3216
|
+
resolve(getTagValue());
|
|
3217
|
+
});
|
|
3218
|
+
});
|
|
3219
|
+
}
|
|
3220
|
+
|
|
3075
3221
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
3076
|
-
var
|
|
3222
|
+
var React72 = __toESM(require("react"));
|
|
3077
3223
|
var import_editor_controls49 = require("@elementor/editor-controls");
|
|
3078
3224
|
var import_icons26 = require("@elementor/icons");
|
|
3079
3225
|
var import_i18n48 = require("@wordpress/i18n");
|
|
@@ -3084,7 +3230,7 @@ var usePropDynamicAction = () => {
|
|
|
3084
3230
|
visible,
|
|
3085
3231
|
icon: import_icons26.DatabaseIcon,
|
|
3086
3232
|
title: (0, import_i18n48.__)("Dynamic tags", "elementor"),
|
|
3087
|
-
popoverContent: ({ closePopover }) => /* @__PURE__ */
|
|
3233
|
+
popoverContent: ({ closePopover }) => /* @__PURE__ */ React72.createElement(DynamicSelection, { onSelect: closePopover })
|
|
3088
3234
|
};
|
|
3089
3235
|
};
|
|
3090
3236
|
|
|
@@ -3099,6 +3245,8 @@ var init = () => {
|
|
|
3099
3245
|
id: "dynamic-tags",
|
|
3100
3246
|
useProps: usePropDynamicAction
|
|
3101
3247
|
});
|
|
3248
|
+
import_editor_canvas2.styleTransformersRegistry.register("dynamic", dynamicTransformer);
|
|
3249
|
+
import_editor_canvas2.settingsTransformersRegistry.register("dynamic", dynamicTransformer);
|
|
3102
3250
|
};
|
|
3103
3251
|
|
|
3104
3252
|
// src/init.ts
|