@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.
Files changed (60) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/dist/index.js +603 -455
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +568 -425
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +10 -9
  7. package/src/components/add-or-remove-content.tsx +1 -1
  8. package/src/components/{control-label-with-adornments.tsx → control-label.tsx} +3 -3
  9. package/src/components/css-classes/css-class-item.tsx +18 -7
  10. package/src/components/css-classes/css-class-menu.tsx +55 -9
  11. package/src/components/css-classes/css-class-selector.tsx +9 -8
  12. package/src/components/editing-panel-tabs.tsx +1 -1
  13. package/src/components/editing-panel.tsx +18 -15
  14. package/src/components/multi-combobox.tsx +12 -1
  15. package/src/components/settings-tab.tsx +2 -2
  16. package/src/components/style-indicator.tsx +23 -0
  17. package/src/components/style-sections/border-section/border-color-field.tsx +2 -1
  18. package/src/components/style-sections/border-section/border-radius-field.tsx +4 -5
  19. package/src/components/style-sections/border-section/border-style-field.tsx +2 -1
  20. package/src/components/style-sections/border-section/border-width-field.tsx +2 -3
  21. package/src/components/style-sections/layout-section/align-content-field.tsx +2 -1
  22. package/src/components/style-sections/layout-section/align-items-field.tsx +2 -1
  23. package/src/components/style-sections/layout-section/align-self-child-field.tsx +2 -1
  24. package/src/components/style-sections/layout-section/display-field.tsx +2 -1
  25. package/src/components/style-sections/layout-section/flex-direction-field.tsx +2 -1
  26. package/src/components/style-sections/layout-section/flex-order-field.tsx +20 -24
  27. package/src/components/style-sections/layout-section/flex-size-field.tsx +31 -19
  28. package/src/components/style-sections/layout-section/justify-content-field.tsx +5 -4
  29. package/src/components/style-sections/layout-section/layout-section.tsx +2 -2
  30. package/src/components/style-sections/layout-section/wrap-field.tsx +2 -1
  31. package/src/components/style-sections/position-section/dimensions-field.tsx +2 -1
  32. package/src/components/style-sections/position-section/position-field.tsx +2 -1
  33. package/src/components/style-sections/position-section/z-index-field.tsx +2 -1
  34. package/src/components/style-sections/size-section/overflow-field.tsx +2 -1
  35. package/src/components/style-sections/size-section/size-section.tsx +2 -1
  36. package/src/components/style-sections/typography-section/font-family-field.tsx +2 -1
  37. package/src/components/style-sections/typography-section/font-size-field.tsx +2 -1
  38. package/src/components/style-sections/typography-section/font-style-field.tsx +2 -2
  39. package/src/components/style-sections/typography-section/font-weight-field.tsx +2 -1
  40. package/src/components/style-sections/typography-section/letter-spacing-field.tsx +2 -1
  41. package/src/components/style-sections/typography-section/line-height-field.tsx +2 -1
  42. package/src/components/style-sections/typography-section/text-alignment-field.tsx +7 -7
  43. package/src/components/style-sections/typography-section/text-color-field.tsx +2 -1
  44. package/src/components/style-sections/typography-section/text-decoration-field.tsx +2 -1
  45. package/src/components/style-sections/typography-section/text-direction-field.tsx +2 -1
  46. package/src/components/style-sections/typography-section/text-stroke-field.tsx +9 -9
  47. package/src/components/style-sections/typography-section/transform-field.tsx +2 -1
  48. package/src/components/style-sections/typography-section/word-spacing-field.tsx +2 -1
  49. package/src/contexts/style-context.tsx +1 -1
  50. package/src/controls-registry/control-type-container.tsx +2 -2
  51. package/src/dynamics/components/dynamic-selection-control.tsx +2 -2
  52. package/src/dynamics/components/dynamic-selection.tsx +4 -4
  53. package/src/dynamics/dynamic-transformer.ts +61 -0
  54. package/src/dynamics/errors.ts +6 -0
  55. package/src/dynamics/init.ts +6 -0
  56. package/src/dynamics/types.ts +17 -0
  57. package/src/styles-inheritance/create-snapshots-manager.ts +8 -8
  58. package/src/styles-inheritance/create-styles-inheritance.ts +8 -4
  59. package/src/styles-inheritance/styles-inheritance-indicator.tsx +17 -34
  60. 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 import_ui4 = require("@elementor/ui");
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(import_ui.TextField, { ...params }),
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 import_ui3 = require("@elementor/ui");
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 import_ui2 = require("@elementor/ui");
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
- import_ui2.Menu,
326
+ import_ui3.Menu,
292
327
  {
293
- MenuListProps: { dense: true },
294
- ...(0, import_ui2.bindMenu)(popupState),
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(import_ui2.MenuSubheader, { sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1 } }, (0, import_i18n.__)("Pseudo classes", "elementor")),
308
- /* @__PURE__ */ React5.createElement(StateMenuItem, { key: "normal", state: null, styleId, closeMenu: popupState.close }),
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(StateMenuItem, { key: state, state, styleId, closeMenu: popupState.close });
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
- import_ui2.MenuSubheader,
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(import_ui2.Divider, { key: "provider-actions-divider" }));
403
+ actions.push(/* @__PURE__ */ React5.createElement(import_ui3.Divider, { key: "provider-actions-divider" }));
342
404
  }
343
405
  return actions;
344
406
  }
345
- function StateMenuItem({ state, styleId, closeMenu, ...props }) {
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
- state ? state : "Normal"
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, import_ui3.usePopupState)({ variant: "popover" });
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(import_ui3.UnstableChipGroup, { ref: setChipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React6.createElement(
432
- import_ui3.Chip,
500
+ return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(
501
+ import_ui4.UnstableChipGroup,
433
502
  {
434
- size: CHIP_SIZE,
435
- 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" }),
436
- variant: isActive && !meta.state && !isEditing ? "filled" : "standard",
437
- shape: "rounded",
438
- icon,
439
- color,
440
- onClick: () => {
441
- if (isShowingState) {
442
- setMetaState(null);
443
- return;
444
- }
445
- if (allowRename && isActive) {
446
- openEditMode();
447
- return;
448
- }
449
- onClickActive(id);
450
- },
451
- "aria-pressed": isActive,
452
- sx: {
453
- cursor: isActive && allowRename && !isShowingState ? "text" : "pointer",
454
- "&.Mui-focusVisible": {
455
- boxShadow: "none !important"
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
- ), !isEditing && /* @__PURE__ */ React6.createElement(
460
- import_ui3.Chip,
461
- {
462
- icon: isShowingState ? void 0 : /* @__PURE__ */ React6.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" }),
463
- size: CHIP_SIZE,
464
- label: isShowingState ? /* @__PURE__ */ React6.createElement(import_ui3.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, /* @__PURE__ */ React6.createElement(import_ui3.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React6.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" })) : void 0,
465
- variant: "filled",
466
- shape: "rounded",
467
- color,
468
- ...(0, import_ui3.bindTrigger)(popupState),
469
- "aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor"),
470
- sx: {
471
- paddingRight: 0,
472
- ...!isShowingState ? { paddingLeft: 0 } : {},
473
- ".MuiChip-label": isShowingState ? { paddingRight: 0 } : { padding: 0 }
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
- )), /* @__PURE__ */ React6.createElement(
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.__)("Format is not valid", "elementor");
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.__)("Existing name", "elementor");
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: "primary",
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(import_ui4.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React7.createElement(import_ui4.Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React7.createElement(import_ui4.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n3.__)("CSS classes", "elementor")), /* @__PURE__ */ React7.createElement(import_ui4.Stack, { direction: "row", gap: 1 }, /* @__PURE__ */ React7.createElement(ClassSelectorActionsSlot, null))), /* @__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(import_ui4.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
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 ? "primary" : "global",
661
+ color: isElements ? "accent" : "global",
578
662
  icon: isElements ? /* @__PURE__ */ React7.createElement(import_icons2.MapPinIcon, null) : null,
579
663
  provider: provider.key,
580
- group: provider.labels?.plural
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 new "%s"', "elementor").replace("%s", value),
593
- // translators: %s is the singular label of css class provider (e.g "Global CSS Class").
594
- group: (0, import_i18n3.__)("Create New %s", "elementor").replace("%s", provider.labels?.singular ?? ""),
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 React66 = __toESM(require("react"));
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 import_ui51 = require("@elementor/ui");
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 import_ui5 = require("@elementor/ui");
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, import_ui5.usePopupState)({
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(import_ui5.Tooltip, { placement: "top", title }, /* @__PURE__ */ React8.createElement(import_ui5.IconButton, { "aria-label": title, key: id, size: SIZE, ...(0, import_ui5.bindToggle)(popupState) }, /* @__PURE__ */ React8.createElement(Icon, { fontSize: SIZE }))), /* @__PURE__ */ React8.createElement(
706
- import_ui5.Popover,
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, import_ui5.bindPopover)(popupState)
800
+ ...(0, import_ui6.bindPopover)(popupState)
715
801
  },
716
- /* @__PURE__ */ React8.createElement(import_ui5.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_ui5.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React8.createElement(import_ui5.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React8.createElement(import_icons3.XIcon, { fontSize: SIZE }))),
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 import_ui6 = require("@elementor/ui");
816
+ var import_ui7 = require("@elementor/ui");
731
817
  function EditorPanelErrorFallback() {
732
- return /* @__PURE__ */ React9.createElement(import_ui6.Box, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React9.createElement(import_ui6.Alert, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React9.createElement("strong", null, "Something went wrong")));
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 React65 = __toESM(require("react"));
822
+ var React66 = __toESM(require("react"));
737
823
  var import_react17 = require("react");
738
- var import_ui50 = require("@elementor/ui");
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 import_ui7 = require("@elementor/ui");
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, import_ui7.styled)(import_ui7.Box, {
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 import_ui9 = require("@elementor/ui");
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 import_ui8 = require("@elementor/ui");
842
- var CollapseIcon = (0, import_ui8.styled)(import_icons4.ChevronDownIcon, {
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
- import_ui9.ListItemButton,
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
- import_ui9.ListItemText,
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(import_ui9.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React13.createElement(import_ui9.Stack, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React13.createElement(import_ui9.Divider, null));
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 import_ui10 = require("@elementor/ui");
964
+ var import_ui11 = require("@elementor/ui");
879
965
  function SectionsList(props) {
880
- return /* @__PURE__ */ React14.createElement(import_ui10.List, { disablePadding: true, component: "div", ...props });
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.ControlLabel, null, control.label) : null, /* @__PURE__ */ React15.createElement(Control, { type: control.type, props: control.props })));
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 React64 = __toESM(require("react"));
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 import_editor_props5 = require("@elementor/editor-props");
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 import_ui49 = require("@elementor/ui");
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((styleVariantWithId) => {
1105
+ styles.forEach((styleData) => {
1020
1106
  const {
1021
- styleVariant: { props }
1022
- } = styleVariantWithId;
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
- ...styleVariantWithId,
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.variants.forEach((styleVariant) => {
1062
- const { meta } = styleVariant;
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
- styleId: styleDef.id,
1075
- styleVariant
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 { bind } = (0, import_editor_controls5.useBoundProp)();
1363
+ const { value, path } = (0, import_editor_controls5.useBoundProp)();
1296
1364
  const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
1297
- const [value] = useStylesField(bind);
1365
+ const [bind] = path;
1298
1366
  const inheritanceChain = useStylesInheritanceField(bind);
1299
1367
  if (!inheritanceChain.length) {
1300
1368
  return null;
1301
1369
  }
1302
- const [{ styleId, styleVariant }] = inheritanceChain;
1303
- const { breakpoint, state } = styleVariant.meta;
1304
- if (styleId === currentStyleId && breakpoint === currentStyleMeta.breakpoint && state === currentStyleMeta.state) {
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
- Circle,
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-affects" : "global-affects"
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
- Circle,
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(Circle, { "aria-label": (0, import_i18n5.__)("This has value from another style", "elementor") });
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__ */ React22.createElement(SectionContent, null, /* @__PURE__ */ React22.createElement(
1378
- import_ui14.Stack,
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__ */ React22.createElement(import_editor_controls8.ControlLabel, null, label),
1387
- isAdded ? /* @__PURE__ */ React22.createElement(import_ui14.IconButton, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React22.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React22.createElement(import_ui14.IconButton, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React22.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
1388
- ), /* @__PURE__ */ React22.createElement(import_ui14.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React22.createElement(SectionContent, null, children)));
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 React23 = __toESM(require("react"));
1472
+ var React24 = __toESM(require("react"));
1393
1473
  var import_editor_controls9 = require("@elementor/editor-controls");
1394
- var import_ui15 = require("@elementor/ui");
1474
+ var import_ui16 = require("@elementor/ui");
1395
1475
  var import_i18n6 = require("@wordpress/i18n");
1396
1476
  var BorderColorField = () => {
1397
- return /* @__PURE__ */ React23.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React23.createElement(import_ui15.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React23.createElement(import_ui15.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React23.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n6.__)("Border color", "elementor"))), /* @__PURE__ */ React23.createElement(import_ui15.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React23.createElement(import_editor_controls9.ColorControl, null))));
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 React24 = __toESM(require("react"));
1481
+ var React25 = __toESM(require("react"));
1402
1482
  var import_editor_controls10 = require("@elementor/editor-controls");
1403
- var import_ui16 = require("@elementor/ui");
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__ */ React24.createElement(StylesField, { bind: "border-style" }, /* @__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(import_editor_controls10.ControlLabel, null, (0, import_i18n7.__)("Border type", "elementor"))), /* @__PURE__ */ React24.createElement(import_ui16.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React24.createElement(import_editor_controls10.SelectControl, { options: borderStyles }))));
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 import_ui17 = require("@elementor/ui");
1509
+ var import_ui18 = require("@elementor/ui");
1430
1510
  function useDirection() {
1431
- const theme = (0, import_ui17.useTheme)(), extendedWindow = window;
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(RotatedIcon, { icon: InlineStartIcon, size: "tiny" }),
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(RotatedIcon, { icon: InlineEndIcon, size: "tiny" }),
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(RotatedIcon, { icon: StartStartIcon, size: "tiny" }),
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(RotatedIcon, { icon: StartEndIcon, size: "tiny" }),
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(RotatedIcon, { icon: EndStartIcon, size: "tiny" }),
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(RotatedIcon, { icon: EndEndIcon, size: "tiny" }),
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 React41 = __toESM(require("react"));
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 React31 = __toESM(require("react"));
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 import_ui21 = require("@elementor/ui");
1684
+ var import_ui22 = require("@elementor/ui");
1648
1685
  var import_i18n11 = require("@wordpress/i18n");
1649
- var StartIcon = (0, import_ui21.withDirection)(import_icons8.JustifyTopIcon);
1650
- var EndIcon = (0, import_ui21.withDirection)(import_icons8.JustifyBottomIcon);
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__ */ React31.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
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__ */ React31.createElement(RotatedIcon, { icon: import_icons8.JustifyCenterIcon, size, ...iconProps }),
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__ */ React31.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
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__ */ React31.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceBetweenVerticalIcon, size, ...iconProps }),
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__ */ React31.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceAroundVerticalIcon, size, ...iconProps }),
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__ */ React31.createElement(RotatedIcon, { icon: import_icons8.JustifyDistributeVerticalIcon, size, ...iconProps }),
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__ */ React31.createElement(import_ui21.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui21.ThemeProvider, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React31.createElement(import_ui21.Stack, { gap: 1 }, /* @__PURE__ */ React31.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n11.__)("Align content", "elementor")), /* @__PURE__ */ React31.createElement(import_editor_controls14.ToggleControl, { options, fullWidth: true })))));
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 React32 = __toESM(require("react"));
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 import_ui22 = require("@elementor/ui");
1785
+ var import_ui23 = require("@elementor/ui");
1704
1786
  var import_i18n12 = require("@wordpress/i18n");
1705
- var StartIcon2 = (0, import_ui22.withDirection)(import_icons9.LayoutAlignLeftIcon);
1706
- var EndIcon2 = (0, import_ui22.withDirection)(import_icons9.LayoutAlignRightIcon);
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__ */ React32.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
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__ */ React32.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
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__ */ React32.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
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__ */ React32.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
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__ */ React32.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n12.__)("Align items", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(import_editor_controls15.ToggleControl, { options: options2 }))))));
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 React33 = __toESM(require("react"));
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 import_ui23 = require("@elementor/ui");
1828
+ var import_ui24 = require("@elementor/ui");
1747
1829
  var import_i18n13 = require("@wordpress/i18n");
1748
- var StartIcon3 = (0, import_ui23.withDirection)(import_icons10.LayoutAlignLeftIcon);
1749
- var EndIcon3 = (0, import_ui23.withDirection)(import_icons10.LayoutAlignRightIcon);
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__ */ React33.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
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__ */ React33.createElement(RotatedIcon, { icon: import_icons10.LayoutAlignCenterIcon, size, ...iconProps3 }),
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__ */ React33.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
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__ */ React33.createElement(RotatedIcon, { icon: import_icons10.LayoutDistributeVerticalIcon, size, ...iconProps3 }),
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__ */ React33.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "align-self" }, /* @__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(import_editor_controls16.ControlLabel, null, (0, import_i18n13.__)("Align self", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
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 React34 = __toESM(require("react"));
1868
+ var React35 = __toESM(require("react"));
1787
1869
  var import_editor_controls17 = require("@elementor/editor-controls");
1788
- var import_ui24 = require("@elementor/ui");
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__ */ React34.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React34.createElement(import_ui24.Stack, { gap: 0.75 }, /* @__PURE__ */ React34.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n14.__)("Display", "elementor")), /* @__PURE__ */ React34.createElement(import_editor_controls17.ToggleControl, { options: options13, fullWidth: true })));
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 React35 = __toESM(require("react"));
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 import_ui25 = require("@elementor/ui");
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 StartIcon6 = (0, import_ui25.withDirection)(import_icons11.ArrowRightIcon);
1832
- return /* @__PURE__ */ React35.createElement(StartIcon6, { fontSize: size });
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__ */ React35.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
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 EndIcon6 = (0, import_ui25.withDirection)(import_icons11.ArrowLeftIcon);
1847
- return /* @__PURE__ */ React35.createElement(EndIcon6, { fontSize: size });
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__ */ React35.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
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__ */ React35.createElement(import_ui25.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui25.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n15.__)("Direction", "elementor"))), /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(import_editor_controls18.ToggleControl, { options: options4 }))))));
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 React36 = __toESM(require("react"));
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 import_ui26 = require("@elementor/ui");
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__ */ React36.createElement(import_icons12.ArrowUpSmallIcon, { fontSize: size }),
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__ */ React36.createElement(import_icons12.ArrowDownSmallIcon, { fontSize: size }),
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__ */ React36.createElement(import_icons12.PencilIcon, { fontSize: size }),
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__ */ React36.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React36.createElement(SectionContent, null, /* @__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(import_editor_controls19.ControlLabel, null, (0, import_i18n16.__)("Order", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui26.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React36.createElement(
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__ */ React36.createElement(StylesField, { bind: "order" }, /* @__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(import_editor_controls19.ControlLabel, null, (0, import_i18n16.__)("Custom order", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui26.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React36.createElement(
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 React37 = __toESM(require("react"));
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 import_ui27 = require("@elementor/ui");
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__ */ React37.createElement(import_icons13.ExpandIcon, { fontSize: size }),
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__ */ React37.createElement(import_icons13.ShrinkIcon, { fontSize: size }),
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__ */ React37.createElement(import_icons13.PencilIcon, { fontSize: size }),
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(), [growField, setGrowField] = useStylesField("flex-grow"), [shrinkField, setShrinkField] = useStylesField("flex-shrink"), [basisField, setBasisField] = useStylesField("flex-basis");
1967
- const grow = growField?.value || null, shrink = shrinkField?.value || null, basis = basisField?.value || null;
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
- setGrowField(null);
1974
- setShrinkField(null);
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
- setGrowField({ $$type: "number", value: DEFAULT });
1979
- setShrinkField(null);
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
- setGrowField(null);
1983
- setShrinkField({ $$type: "number", value: DEFAULT });
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__ */ React37.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(import_ui27.ThemeProvider, null, /* @__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(import_editor_controls20.ControlLabel, null, (0, import_i18n17.__)("Size", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React37.createElement(
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__ */ React37.createElement(FlexCustomField, null))));
2087
+ ))), "custom" === activeGroup && /* @__PURE__ */ React38.createElement(FlexCustomField, null))));
1994
2088
  };
1995
- var FlexCustomField = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "flex-grow" }, /* @__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(import_editor_controls20.ControlLabel, null, (0, import_i18n17.__)("Grow", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React37.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React37.createElement(StylesField, { bind: "flex-shrink" }, /* @__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(import_editor_controls20.ControlLabel, null, (0, import_i18n17.__)("Shrink", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React37.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React37.createElement(StylesField, { bind: "flex-basis" }, /* @__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(import_editor_controls20.ControlLabel, null, (0, import_i18n17.__)("Basis", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React37.createElement(import_editor_controls20.SizeControl, { extendedValues: ["auto"] })))));
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 React38 = __toESM(require("react"));
2111
+ var React39 = __toESM(require("react"));
2018
2112
  var import_editor_controls21 = require("@elementor/editor-controls");
2019
- var import_ui28 = require("@elementor/ui");
2113
+ var import_ui29 = require("@elementor/ui");
2020
2114
  var import_i18n18 = require("@wordpress/i18n");
2021
2115
  var GapControlField = () => {
2022
- return /* @__PURE__ */ React38.createElement(import_ui28.Stack, { gap: 1 }, /* @__PURE__ */ React38.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React38.createElement(import_editor_controls21.GapControl, { label: (0, import_i18n18.__)("Gaps", "elementor") })));
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 React39 = __toESM(require("react"));
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 import_ui29 = require("@elementor/ui");
2123
+ var import_ui30 = require("@elementor/ui");
2030
2124
  var import_i18n19 = require("@wordpress/i18n");
2031
- var StartIcon4 = (0, import_ui29.withDirection)(import_icons14.JustifyTopIcon);
2032
- var EndIcon4 = (0, import_ui29.withDirection)(import_icons14.JustifyBottomIcon);
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__ */ React39.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
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__ */ React39.createElement(RotatedIcon, { icon: import_icons14.JustifyCenterIcon, size, ...iconProps4 }),
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__ */ React39.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
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__ */ React39.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceBetweenVerticalIcon, size, ...iconProps4 }),
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__ */ React39.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceAroundVerticalIcon, size, ...iconProps4 }),
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__ */ React39.createElement(RotatedIcon, { icon: import_icons14.JustifyDistributeVerticalIcon, size, ...iconProps4 }),
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__ */ React39.createElement(import_ui29.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React39.createElement(import_ui29.ThemeProvider, null, /* @__PURE__ */ React39.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React39.createElement(import_ui29.Stack, { gap: 0.75 }, /* @__PURE__ */ React39.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n19.__)("Justify content", "elementor")), /* @__PURE__ */ React39.createElement(import_editor_controls22.ToggleControl, { options: options5, fullWidth: true })))));
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 React40 = __toESM(require("react"));
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 import_ui30 = require("@elementor/ui");
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__ */ React40.createElement(import_icons15.ArrowRightIcon, { fontSize: size }),
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__ */ React40.createElement(import_icons15.ArrowBackIcon, { fontSize: size }),
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__ */ React40.createElement(import_icons15.ArrowForwardIcon, { fontSize: size }),
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__ */ React40.createElement(import_ui30.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(import_ui30.ThemeProvider, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React40.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls23.ControlLabel, null, (0, import_i18n20.__)("Wrap", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React40.createElement(import_editor_controls23.ToggleControl, { options: options6 }))))));
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__ */ React41.createElement(SectionContent, null, /* @__PURE__ */ React41.createElement(DisplayField, null), ("flex" === display?.value || "inline-flex" === display?.value) && /* @__PURE__ */ React41.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React41.createElement(FlexChildFields, null));
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__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(FlexDirectionField, null), /* @__PURE__ */ React41.createElement(JustifyContentField, null), /* @__PURE__ */ React41.createElement(AlignItemsField, null), /* @__PURE__ */ React41.createElement(PanelDivider, null), /* @__PURE__ */ React41.createElement(GapControlField, null), /* @__PURE__ */ React41.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React41.createElement(AlignContentField, null));
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__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(PanelDivider, null), /* @__PURE__ */ React41.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n21.__)("Flex child", "elementor")), /* @__PURE__ */ React41.createElement(AlignSelfChild, null), /* @__PURE__ */ React41.createElement(FlexOrderField, null), /* @__PURE__ */ React41.createElement(FlexSizeField, null));
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 React45 = __toESM(require("react"));
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 React42 = __toESM(require("react"));
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 import_ui31 = require("@elementor/ui");
2227
+ var import_ui32 = require("@elementor/ui");
2134
2228
  var import_i18n22 = require("@wordpress/i18n");
2135
- var InlineStartIcon2 = (0, import_ui31.withDirection)(import_icons16.SideLeftIcon);
2136
- var InlineEndIcon2 = (0, import_ui31.withDirection)(import_icons16.SideRightIcon);
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__ */ React42.createElement(import_icons16.SideTopIcon, { fontSize: "tiny" }),
2139
- "inset-block-end": /* @__PURE__ */ React42.createElement(import_icons16.SideBottomIcon, { fontSize: "tiny" }),
2140
- "inset-inline-start": /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
2141
- "inset-inline-end": /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
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__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(import_ui31.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(DimensionField, { side: "inset-block-start", label: (0, import_i18n22.__)("Top", "elementor") }), /* @__PURE__ */ React42.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React42.createElement(import_ui31.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(DimensionField, { side: "inset-block-end", label: (0, import_i18n22.__)("Bottom", "elementor") }), /* @__PURE__ */ React42.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
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__ */ React42.createElement(import_ui31.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React42.createElement(import_ui31.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React42.createElement(import_editor_controls25.ControlLabel, null, label)), /* @__PURE__ */ React42.createElement(import_ui31.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React42.createElement(StylesField, { bind: side }, /* @__PURE__ */ React42.createElement(import_editor_controls25.SizeControl, { startIcon: sideIcons[side], extendedValues: ["auto"] }))));
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 React43 = __toESM(require("react"));
2248
+ var React44 = __toESM(require("react"));
2155
2249
  var import_editor_controls26 = require("@elementor/editor-controls");
2156
- var import_ui32 = require("@elementor/ui");
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__ */ React43.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React43.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n23.__)("Position", "elementor"))), /* @__PURE__ */ React43.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React43.createElement(import_editor_controls26.SelectControl, { options: positionOptions, onChange }))));
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 React44 = __toESM(require("react"));
2264
+ var React45 = __toESM(require("react"));
2171
2265
  var import_editor_controls27 = require("@elementor/editor-controls");
2172
- var import_ui33 = require("@elementor/ui");
2266
+ var import_ui34 = require("@elementor/ui");
2173
2267
  var import_i18n24 = require("@wordpress/i18n");
2174
2268
  var ZIndexField = () => {
2175
- return /* @__PURE__ */ React44.createElement(StylesField, { bind: "z-index" }, /* @__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(import_editor_controls27.ControlLabel, null, (0, import_i18n24.__)("Z-index", "elementor"))), /* @__PURE__ */ React44.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(import_editor_controls27.NumberControl, null))));
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__ */ React45.createElement(SectionContent, null, /* @__PURE__ */ React45.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(DimensionsField, null), /* @__PURE__ */ React45.createElement(ZIndexField, null)) : null);
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 React47 = __toESM(require("react"));
2311
+ var React48 = __toESM(require("react"));
2218
2312
  var import_editor_controls29 = require("@elementor/editor-controls");
2219
- var import_ui35 = require("@elementor/ui");
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 React46 = __toESM(require("react"));
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 import_ui34 = require("@elementor/ui");
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__ */ React46.createElement(import_icons17.EyeIcon, { fontSize: size }),
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__ */ React46.createElement(import_icons17.EyeOffIcon, { fontSize: size }),
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__ */ React46.createElement(import_icons17.LetterAIcon, { fontSize: size }),
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__ */ React46.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React46.createElement(import_ui34.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls28.ControlLabel, null, (0, import_i18n25.__)("Overflow", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui34.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React46.createElement(import_editor_controls28.ToggleControl, { options: options7 }))));
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__ */ React47.createElement(SectionContent, null, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(SizeField, { bind: "width", label: (0, import_i18n26.__)("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(SizeField, { bind: "height", label: (0, import_i18n26.__)("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React47.createElement(import_ui35.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(
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__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(
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__ */ React47.createElement(import_ui35.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(SizeField, { bind: "max-width", label: (0, import_i18n26.__)("Max width", "elementor") })), /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(SizeField, { bind: "max-height", label: (0, import_i18n26.__)("Max height", "elementor") }))), /* @__PURE__ */ React47.createElement(PanelDivider, null), /* @__PURE__ */ React47.createElement(import_ui35.Stack, null, /* @__PURE__ */ React47.createElement(OverflowField, null)));
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__ */ React47.createElement(StylesField, { bind }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React47.createElement(import_editor_controls29.ControlLabel, null, label)), /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React47.createElement(import_editor_controls29.SizeControl, { extendedValues }))));
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 React48 = __toESM(require("react"));
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__ */ React48.createElement(SectionContent, null, /* @__PURE__ */ React48.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React48.createElement(
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__ */ React48.createElement(PanelDivider, null), /* @__PURE__ */ React48.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React48.createElement(import_editor_controls30.LinkedDimensionsControl, { label: (0, import_i18n27.__)("Padding", "elementor"), isSiteRtl })));
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 React63 = __toESM(require("react"));
2385
+ var React64 = __toESM(require("react"));
2292
2386
 
2293
2387
  // src/components/collapsible-content.tsx
2294
- var React49 = __toESM(require("react"));
2388
+ var React50 = __toESM(require("react"));
2295
2389
  var import_react14 = require("react");
2296
- var import_ui36 = require("@elementor/ui");
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__ */ React49.createElement(import_ui36.Stack, null, /* @__PURE__ */ React49.createElement(
2304
- import_ui36.Button,
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__ */ React49.createElement(CollapseIcon, { open }),
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__ */ React49.createElement(import_ui36.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
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 React50 = __toESM(require("react"));
2413
+ var React51 = __toESM(require("react"));
2320
2414
  var import_editor_controls31 = require("@elementor/editor-controls");
2321
- var import_ui37 = require("@elementor/ui");
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__ */ React50.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React50.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n30.__)("Font family", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui37.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React50.createElement(import_editor_controls31.FontFamilyControl, { fontFamilies }))));
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 React51 = __toESM(require("react"));
2473
+ var React52 = __toESM(require("react"));
2380
2474
  var import_editor_controls32 = require("@elementor/editor-controls");
2381
- var import_ui38 = require("@elementor/ui");
2475
+ var import_ui39 = require("@elementor/ui");
2382
2476
  var import_i18n31 = require("@wordpress/i18n");
2383
2477
  var FontSizeField = () => {
2384
- return /* @__PURE__ */ React51.createElement(StylesField, { bind: "font-size" }, /* @__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(import_editor_controls32.ControlLabel, null, (0, import_i18n31.__)("Font size", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls32.SizeControl, null))));
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 React52 = __toESM(require("react"));
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 import_ui39 = require("@elementor/ui");
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__ */ React52.createElement(import_icons18.MinusIcon, { fontSize: size }),
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__ */ React52.createElement(import_icons18.ItalicIcon, { fontSize: size }),
2497
+ renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.ItalicIcon, { fontSize: size }),
2404
2498
  showTooltip: true
2405
2499
  }
2406
2500
  ];
2407
- var FontStyleField = () => /* @__PURE__ */ React52.createElement(StylesField, { bind: "font-style" }, /* @__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(import_editor_controls33.ControlLabel, null, (0, import_i18n32.__)("Font style", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui39.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React52.createElement(import_editor_controls33.ToggleControl, { options: options8 }))));
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 React53 = __toESM(require("react"));
2504
+ var React54 = __toESM(require("react"));
2411
2505
  var import_editor_controls34 = require("@elementor/editor-controls");
2412
- var import_ui40 = require("@elementor/ui");
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__ */ React53.createElement(StylesField, { bind: "font-weight" }, /* @__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_controls34.ControlLabel, null, (0, import_i18n33.__)("Font weight", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui40.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React53.createElement(import_editor_controls34.SelectControl, { options: fontWeightOptions }))));
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 React54 = __toESM(require("react"));
2524
+ var React55 = __toESM(require("react"));
2431
2525
  var import_editor_controls35 = require("@elementor/editor-controls");
2432
- var import_ui41 = require("@elementor/ui");
2526
+ var import_ui42 = require("@elementor/ui");
2433
2527
  var import_i18n34 = require("@wordpress/i18n");
2434
2528
  var LetterSpacingField = () => {
2435
- return /* @__PURE__ */ React54.createElement(StylesField, { bind: "letter-spacing" }, /* @__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(import_editor_controls35.ControlLabel, null, (0, import_i18n34.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(import_editor_controls35.SizeControl, null))));
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 React55 = __toESM(require("react"));
2533
+ var React56 = __toESM(require("react"));
2440
2534
  var import_editor_controls36 = require("@elementor/editor-controls");
2441
- var import_ui42 = require("@elementor/ui");
2535
+ var import_ui43 = require("@elementor/ui");
2442
2536
  var import_i18n35 = require("@wordpress/i18n");
2443
2537
  var LineHeightField = () => {
2444
- return /* @__PURE__ */ React55.createElement(StylesField, { bind: "line-height" }, /* @__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(import_editor_controls36.ControlLabel, null, (0, import_i18n35.__)("Line height", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls36.SizeControl, null))));
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 React56 = __toESM(require("react"));
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 import_ui43 = require("@elementor/ui");
2545
+ var import_ui44 = require("@elementor/ui");
2452
2546
  var import_i18n36 = require("@wordpress/i18n");
2453
- var StartIcon5 = (0, import_ui43.withDirection)(import_icons19.AlignLeftIcon);
2454
- var EndIcon5 = (0, import_ui43.withDirection)(import_icons19.AlignRightIcon);
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__ */ React56.createElement(RotatedIcon, { icon: StartIcon5, size: "tiny" }),
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__ */ React56.createElement(import_icons19.AlignCenterIcon, { fontSize: size }),
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__ */ React56.createElement(RotatedIcon, { icon: EndIcon5, size: "tiny" }),
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__ */ React56.createElement(import_icons19.AlignJustifiedIcon, { fontSize: size }),
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__ */ React56.createElement(StylesField, { bind: "text-align" }, /* @__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(import_editor_controls37.ControlLabel, null, (0, import_i18n36.__)("Alignment", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui43.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(import_editor_controls37.ToggleControl, { options: options9 }))));
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 React57 = __toESM(require("react"));
2580
+ var React58 = __toESM(require("react"));
2487
2581
  var import_editor_controls38 = require("@elementor/editor-controls");
2488
- var import_ui44 = require("@elementor/ui");
2582
+ var import_ui45 = require("@elementor/ui");
2489
2583
  var import_i18n37 = require("@wordpress/i18n");
2490
2584
  var TextColorField = () => {
2491
- return /* @__PURE__ */ React57.createElement(StylesField, { bind: "color" }, /* @__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(import_editor_controls38.ControlLabel, null, (0, import_i18n37.__)("Text color", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls38.ColorControl, null))));
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 React58 = __toESM(require("react"));
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 import_ui45 = require("@elementor/ui");
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__ */ React58.createElement(import_icons20.MinusIcon, { fontSize: size }),
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__ */ React58.createElement(import_icons20.UnderlineIcon, { fontSize: size }),
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__ */ React58.createElement(import_icons20.StrikethroughIcon, { fontSize: size }),
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__ */ React58.createElement(import_icons20.OverlineIcon, { fontSize: size }),
2617
+ renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons20.OverlineIcon, { fontSize: size }),
2524
2618
  showTooltip: true
2525
2619
  }
2526
2620
  ];
2527
- var TextDecorationField = () => /* @__PURE__ */ React58.createElement(StylesField, { bind: "text-decoration" }, /* @__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(import_editor_controls39.ControlLabel, null, (0, import_i18n38.__)("Line decoration", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React58.createElement(import_editor_controls39.ToggleControl, { options: options10, exclusive: false }))));
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 React59 = __toESM(require("react"));
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 import_ui46 = require("@elementor/ui");
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__ */ React59.createElement(import_icons21.TextDirectionLtrIcon, { fontSize: size }),
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__ */ React59.createElement(import_icons21.TextDirectionRtlIcon, { fontSize: size }),
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__ */ React59.createElement(StylesField, { bind: "direction" }, /* @__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(import_editor_controls40.ControlLabel, null, (0, import_i18n39.__)("Direction", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui46.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React59.createElement(import_editor_controls40.ToggleControl, { options: options11 }))));
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 React60 = __toESM(require("react"));
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__ */ React60.createElement(
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__ */ React60.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React60.createElement(import_editor_controls41.StrokeControl, null))
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 React61 = __toESM(require("react"));
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 import_ui47 = require("@elementor/ui");
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__ */ React61.createElement(import_icons22.MinusIcon, { fontSize: size }),
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__ */ React61.createElement(import_icons22.LetterCaseIcon, { fontSize: size }),
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__ */ React61.createElement(import_icons22.LetterCaseUpperIcon, { fontSize: size }),
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__ */ React61.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
2716
+ renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
2623
2717
  showTooltip: true
2624
2718
  }
2625
2719
  ];
2626
- var TransformField = () => /* @__PURE__ */ React61.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React61.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(import_editor_controls42.ControlLabel, null, (0, import_i18n41.__)("Text transform", "elementor"))), /* @__PURE__ */ React61.createElement(import_ui47.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React61.createElement(import_editor_controls42.ToggleControl, { options: options12 }))));
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 React62 = __toESM(require("react"));
2723
+ var React63 = __toESM(require("react"));
2630
2724
  var import_editor_controls43 = require("@elementor/editor-controls");
2631
- var import_ui48 = require("@elementor/ui");
2725
+ var import_ui49 = require("@elementor/ui");
2632
2726
  var import_i18n42 = require("@wordpress/i18n");
2633
2727
  var WordSpacingField = () => {
2634
- return /* @__PURE__ */ React62.createElement(StylesField, { bind: "word-spacing" }, /* @__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(import_editor_controls43.ControlLabel, null, (0, import_i18n42.__)("Word spacing", "elementor"))), /* @__PURE__ */ React62.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(import_editor_controls43.SizeControl, null))));
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__ */ React63.createElement(SectionContent, null, /* @__PURE__ */ React63.createElement(FontFamilyField, null), /* @__PURE__ */ React63.createElement(FontWeightField, null), /* @__PURE__ */ React63.createElement(FontSizeField, null), /* @__PURE__ */ React63.createElement(PanelDivider, null), /* @__PURE__ */ React63.createElement(TextAlignmentField, null), /* @__PURE__ */ React63.createElement(TextColorField, null), /* @__PURE__ */ React63.createElement(CollapsibleContent, null, /* @__PURE__ */ React63.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React63.createElement(LineHeightField, null), /* @__PURE__ */ React63.createElement(LetterSpacingField, null), /* @__PURE__ */ React63.createElement(WordSpacingField, null), /* @__PURE__ */ React63.createElement(PanelDivider, null), /* @__PURE__ */ React63.createElement(TextDecorationField, null), /* @__PURE__ */ React63.createElement(TransformField, null), /* @__PURE__ */ React63.createElement(TextDirectionField, null), /* @__PURE__ */ React63.createElement(FontStyleField, null), /* @__PURE__ */ React63.createElement(TextStrokeField, null))));
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__ */ React64.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React64.createElement(
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__ */ React64.createElement(import_session3.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React64.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React64.createElement(CssClassSelector, null), /* @__PURE__ */ React64.createElement(import_ui49.Divider, null), /* @__PURE__ */ React64.createElement(SectionsList, null, /* @__PURE__ */ React64.createElement(Section, { title: (0, import_i18n43.__)("Layout", "elementor") }, /* @__PURE__ */ React64.createElement(LayoutSection, null)), /* @__PURE__ */ React64.createElement(Section, { title: (0, import_i18n43.__)("Spacing", "elementor") }, /* @__PURE__ */ React64.createElement(SpacingSection, null)), /* @__PURE__ */ React64.createElement(Section, { title: (0, import_i18n43.__)("Size", "elementor") }, /* @__PURE__ */ React64.createElement(SizeSection, null)), /* @__PURE__ */ React64.createElement(Section, { title: (0, import_i18n43.__)("Position", "elementor") }, /* @__PURE__ */ React64.createElement(PositionSection, null)), /* @__PURE__ */ React64.createElement(Section, { title: (0, import_i18n43.__)("Typography", "elementor") }, /* @__PURE__ */ React64.createElement(TypographySection, null)), /* @__PURE__ */ React64.createElement(Section, { title: (0, import_i18n43.__)("Background", "elementor") }, /* @__PURE__ */ React64.createElement(BackgroundSection, null)), /* @__PURE__ */ React64.createElement(Section, { title: (0, import_i18n43.__)("Border", "elementor") }, /* @__PURE__ */ React64.createElement(BorderSection, null)), /* @__PURE__ */ React64.createElement(Section, { title: (0, import_i18n43.__)("Effects", "elementor") }, /* @__PURE__ */ React64.createElement(EffectsSection, null)))))
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 === import_editor_props5.CLASSES_PROP_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, import_ui50.useTabs)("settings");
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__ */ React65.createElement(import_react17.Fragment, { key: element.id }, /* @__PURE__ */ React65.createElement(import_ui50.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React65.createElement(import_ui50.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React65.createElement(import_ui50.Tab, { label: (0, import_i18n44.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React65.createElement(import_ui50.Tab, { label: (0, import_i18n44.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React65.createElement(import_ui50.Divider, null), /* @__PURE__ */ React65.createElement(import_ui50.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React65.createElement(SettingsTab, null)), /* @__PURE__ */ React65.createElement(import_ui50.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React65.createElement(StyleTab, null))))
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__ */ React66.createElement(import_ui51.ErrorBoundary, { fallback: /* @__PURE__ */ React66.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React66.createElement(import_session4.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React66.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React66.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React66.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React66.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React66.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React66.createElement(import_editor_controls44.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React66.createElement(import_editor_controls44.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React66.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React66.createElement(EditingPanelTabs, null))))))));
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 React70 = __toESM(require("react"));
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 import_ui54 = require("@elementor/ui");
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 React67 = __toESM(require("react"));
2763
- var import_ui52 = require("@elementor/ui");
2764
- var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React67.createElement(import_ui52.Stack, { alignItems, gap, p }, children);
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 React68 = __toESM(require("react"));
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 import_editor_props6 = require("@elementor/editor-props");
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, import_editor_props6.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
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, import_editor_props6.createPropUtils)(
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__ */ React68.createElement(import_editor_controls46.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React68.createElement(import_editor_controls46.PropKeyProvider, { bind }, children));
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 React69 = __toESM(require("react"));
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 import_ui53 = require("@elementor/ui");
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__ */ React69.createElement(import_ui53.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React69.createElement(NoDynamicTags, null) : /* @__PURE__ */ React69.createElement(import_react21.Fragment, null, /* @__PURE__ */ React69.createElement(import_ui53.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React69.createElement(
2905
- import_ui53.TextField,
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__ */ React69.createElement(import_ui53.InputAdornment, { position: "start" }, /* @__PURE__ */ React69.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
3010
+ startAdornment: /* @__PURE__ */ React70.createElement(import_ui54.InputAdornment, { position: "start" }, /* @__PURE__ */ React70.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
2914
3011
  }
2915
3012
  }
2916
- )), /* @__PURE__ */ React69.createElement(import_ui53.Divider, null), /* @__PURE__ */ React69.createElement(import_ui53.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options13.length > 0 ? /* @__PURE__ */ React69.createElement(import_ui53.MenuList, { role: "listbox", tabIndex: 0 }, options13.map(([category, items3], index) => /* @__PURE__ */ React69.createElement(import_react21.Fragment, { key: index }, /* @__PURE__ */ React69.createElement(
2917
- import_ui53.MenuSubheader,
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__ */ React69.createElement(
2925
- import_ui53.MenuItem,
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: 1.5, typography: "caption" },
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__ */ React69.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
3032
+ })))) : /* @__PURE__ */ React70.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
2936
3033
  };
2937
- var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React69.createElement(
2938
- import_ui53.Stack,
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__ */ React69.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
2949
- /* @__PURE__ */ React69.createElement(import_ui53.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n46.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React69.createElement("br", null), "\u201C", searchValue, "\u201D."),
2950
- /* @__PURE__ */ React69.createElement(import_ui53.Typography, { align: "center", variant: "caption" }, (0, import_i18n46.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React69.createElement(import_ui53.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n46.__)("Clear & try again", "elementor")))
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__ */ React69.createElement(import_ui53.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React69.createElement(import_ui53.Divider, null), /* @__PURE__ */ React69.createElement(
2953
- import_ui53.Stack,
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__ */ React69.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
2964
- /* @__PURE__ */ React69.createElement(import_ui53.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n46.__)("Streamline your workflow with dynamic tags", "elementor")),
2965
- /* @__PURE__ */ React69.createElement(import_ui53.Typography, { align: "center", variant: "caption" }, (0, import_i18n46.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
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, import_ui54.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
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__ */ React70.createElement(import_ui54.Box, null, /* @__PURE__ */ React70.createElement(
3000
- import_ui54.UnstableTag,
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__ */ React70.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4 }),
3006
- ...(0, import_ui54.bindTrigger)(selectionPopoverState),
3007
- actions: /* @__PURE__ */ React70.createElement(React70.Fragment, null, /* @__PURE__ */ React70.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React70.createElement(
3008
- import_ui54.IconButton,
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__ */ React70.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
3111
+ /* @__PURE__ */ React71.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
3015
3112
  ))
3016
3113
  }
3017
- ), /* @__PURE__ */ React70.createElement(
3018
- import_ui54.Popover,
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, import_ui54.bindPopover)(selectionPopoverState)
3120
+ ...(0, import_ui55.bindPopover)(selectionPopoverState)
3024
3121
  },
3025
- /* @__PURE__ */ React70.createElement(import_ui54.Stack, null, /* @__PURE__ */ React70.createElement(import_ui54.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React70.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React70.createElement(import_ui54.Typography, { variant: "subtitle2" }, (0, import_i18n47.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React70.createElement(import_ui54.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React70.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React70.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
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, import_ui54.usePopupState)({ variant: "popover", popupId });
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__ */ React70.createElement(React70.Fragment, null, /* @__PURE__ */ React70.createElement(
3036
- import_ui54.IconButton,
3132
+ return /* @__PURE__ */ React71.createElement(React71.Fragment, null, /* @__PURE__ */ React71.createElement(
3133
+ import_ui55.IconButton,
3037
3134
  {
3038
3135
  size: SIZE4,
3039
- ...(0, import_ui54.bindTrigger)(settingsPopupState),
3136
+ ...(0, import_ui55.bindTrigger)(settingsPopupState),
3040
3137
  "aria-label": (0, import_i18n47.__)("Settings", "elementor")
3041
3138
  },
3042
- /* @__PURE__ */ React70.createElement(import_icons25.SettingsIcon, { fontSize: SIZE4 })
3043
- ), /* @__PURE__ */ React70.createElement(
3044
- import_ui54.Popover,
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, import_ui54.bindPopover)(settingsPopupState)
3145
+ ...(0, import_ui55.bindPopover)(settingsPopupState)
3049
3146
  },
3050
- /* @__PURE__ */ React70.createElement(import_ui54.Paper, { component: import_ui54.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React70.createElement(import_ui54.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React70.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React70.createElement(import_ui54.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React70.createElement(import_ui54.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React70.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React70.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
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, import_ui54.useTabs)(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__ */ React70.createElement(React70.Fragment, null, /* @__PURE__ */ React70.createElement(import_ui54.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React70.createElement(import_ui54.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React70.createElement(import_ui54.Divider, null), tabs.map(({ value }, index) => {
3060
- return /* @__PURE__ */ React70.createElement(import_ui54.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React70.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
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__ */ React70.createElement(Control3, { key: item.value.bind, control: item.value });
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__ */ React70.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React70.createElement(import_ui54.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React70.createElement(import_ui54.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React70.createElement(import_editor_controls48.ControlLabel, null, control.label)) : null, /* @__PURE__ */ React70.createElement(import_ui54.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React70.createElement(Control, { type: control.type, props: control.props }))));
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 React71 = __toESM(require("react"));
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__ */ React71.createElement(DynamicSelection, { onSelect: closePopover })
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