@elementor/editor-editing-panel 3.33.0-99 → 3.34.2

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 (69) hide show
  1. package/dist/index.d.mts +419 -88
  2. package/dist/index.d.ts +419 -88
  3. package/dist/index.js +3361 -2421
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +3299 -2347
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +22 -21
  8. package/src/apply-unapply-actions.ts +30 -0
  9. package/src/components/collapsible-content.tsx +1 -0
  10. package/src/components/css-classes/css-class-item.tsx +14 -4
  11. package/src/components/css-classes/css-class-menu.tsx +83 -11
  12. package/src/components/css-classes/css-class-selector.tsx +22 -1
  13. package/src/components/css-classes/use-apply-and-unapply-class.ts +4 -13
  14. package/src/components/custom-css-indicator.tsx +68 -1
  15. package/src/components/editing-panel-tabs.tsx +13 -2
  16. package/src/components/interactions-tab.tsx +15 -0
  17. package/src/components/section-content.tsx +3 -2
  18. package/src/components/section.tsx +2 -1
  19. package/src/components/settings-control.tsx +79 -0
  20. package/src/components/settings-tab.tsx +16 -46
  21. package/src/components/style-sections/border-section/border-section.tsx +6 -4
  22. package/src/components/style-sections/effects-section/blend-mode-field.tsx +44 -0
  23. package/src/components/style-sections/effects-section/effects-section.tsx +4 -1
  24. package/src/components/style-sections/layout-section/flex-size-field.tsx +10 -8
  25. package/src/components/style-sections/typography-section/font-family-field.tsx +5 -1
  26. package/src/components/style-sections/typography-section/font-size-field.tsx +1 -1
  27. package/src/components/style-sections/typography-section/letter-spacing-field.tsx +1 -1
  28. package/src/components/style-sections/typography-section/text-color-field.tsx +1 -1
  29. package/src/components/style-sections/typography-section/word-spacing-field.tsx +1 -1
  30. package/src/components/style-tab-section.tsx +2 -2
  31. package/src/components/style-tab.tsx +12 -17
  32. package/src/components/styles-field-layout.tsx +8 -1
  33. package/src/contexts/interaction-context.tsx +0 -0
  34. package/src/controls-registry/conditional-field.tsx +1 -1
  35. package/src/controls-registry/control-type-container.tsx +17 -5
  36. package/src/controls-registry/controls-registry.tsx +18 -5
  37. package/src/controls-registry/element-controls/get-element-by-type.ts +21 -0
  38. package/src/controls-registry/element-controls/registry.ts +16 -0
  39. package/src/controls-registry/element-controls/tabs-control/tabs-control.tsx +229 -0
  40. package/src/controls-registry/element-controls/tabs-control/use-actions.ts +248 -0
  41. package/src/controls-registry/settings-field.tsx +54 -10
  42. package/src/controls-registry/styles-field.tsx +2 -9
  43. package/src/dynamics/components/dynamic-conditional-control.tsx +62 -0
  44. package/src/dynamics/components/dynamic-selection-control.tsx +81 -25
  45. package/src/dynamics/components/dynamic-selection.tsx +3 -3
  46. package/src/dynamics/dynamic-control.tsx +10 -1
  47. package/src/dynamics/hooks/use-prop-dynamic-tags.ts +24 -6
  48. package/src/field-indicators-registry.ts +37 -0
  49. package/src/hooks/use-computed-style.ts +1 -4
  50. package/src/index.ts +16 -3
  51. package/src/init.ts +7 -0
  52. package/src/reset-style-props.tsx +21 -4
  53. package/src/styles-inheritance/components/infotip/value-component.tsx +2 -0
  54. package/src/styles-inheritance/components/styles-inheritance-indicator.tsx +1 -13
  55. package/src/styles-inheritance/components/styles-inheritance-infotip.tsx +5 -1
  56. package/src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx +18 -2
  57. package/src/styles-inheritance/init-styles-inheritance-transformers.ts +25 -4
  58. package/src/styles-inheritance/init.ts +9 -0
  59. package/src/styles-inheritance/transformers/{background-overlay-transformer.tsx → array-transformer.tsx} +2 -2
  60. package/src/styles-inheritance/transformers/background-color-overlay-transformer.tsx +0 -6
  61. package/src/styles-inheritance/transformers/box-shadow-transformer.tsx +32 -0
  62. package/src/styles-inheritance/transformers/color-transformer.tsx +32 -0
  63. package/src/styles-inheritance/transformers/repeater-to-items-transformer.tsx +27 -0
  64. package/src/utils/is-equal.ts +53 -0
  65. package/src/utils/prop-dependency-utils.ts +107 -19
  66. package/src/utils/tracking/subscribe.ts +7 -0
  67. package/src/components/custom-css-field.tsx +0 -20
  68. package/src/components/custom-css.tsx +0 -36
  69. package/src/components/style-sections/border-section/border-field.tsx +0 -54
package/dist/index.d.mts CHANGED
@@ -1,18 +1,23 @@
1
1
  import * as _elementor_editor_controls from '@elementor/editor-controls';
2
- import { FontCategory, ControlComponent } from '@elementor/editor-controls';
2
+ import { FontCategory, ControlComponent, AdornmentComponent } from '@elementor/editor-controls';
3
3
  export { useBoundProp } from '@elementor/editor-controls';
4
4
  import * as _elementor_locations from '@elementor/locations';
5
- import { StyleDefinition } from '@elementor/editor-styles';
5
+ import { StyleDefinition, StyleDefinitionVariant, StyleDefinitionState, StyleDefinitionID } from '@elementor/editor-styles';
6
6
  import * as react from 'react';
7
- import { FC, PropsWithChildren, ElementType, ComponentType } from 'react';
7
+ import { FC, PropsWithChildren, Dispatch, ElementType as ElementType$1, ComponentType } from 'react';
8
8
  import { PopoverBody as PopoverBody$1 } from '@elementor/editor-ui';
9
+ import { Control, ElementControl, Element, ElementType, ControlLayout } from '@elementor/editor-elements';
10
+ import * as _emotion_styled from '@emotion/styled';
11
+ import * as _mui_system from '@mui/system';
12
+ import { Theme, ChipProps } from '@elementor/ui';
13
+ import { StylesProvider } from '@elementor/editor-styles-repository';
9
14
  import * as _elementor_editor_props from '@elementor/editor-props';
10
15
  import { PropTypeUtil } from '@elementor/editor-props';
11
16
  import * as _elementor_menus from '@elementor/menus';
12
- import { ChipProps, Theme } from '@elementor/ui';
13
- import * as _mui_system from '@mui/system';
17
+ import * as _mui_material from '@mui/material';
14
18
  import * as zod from 'zod';
15
- import { ControlLayout } from '@elementor/editor-elements';
19
+ import * as _elementor_utils from '@elementor/utils';
20
+ import * as _elementor_editor_canvas from '@elementor/editor-canvas';
16
21
 
17
22
  type ValidationResult = {
18
23
  isValid: true;
@@ -31,45 +36,86 @@ declare const injectIntoCssClassConvert: (args: _elementor_locations.InjectArgs<
31
36
 
32
37
  declare const injectIntoClassSelectorActions: (args: _elementor_locations.InjectArgs<object>) => void;
33
38
 
34
- type Props = react.ComponentProps<typeof PopoverBody$1>;
35
- declare const PopoverBody: (props: Props) => react.JSX.Element;
39
+ declare const CustomCssIndicator: () => react.JSX.Element | null;
40
+
41
+ type Props$1 = react.ComponentProps<typeof PopoverBody$1>;
42
+ declare const PopoverBody: (props: Props$1) => react.JSX.Element;
36
43
 
37
44
  type SectionContentProps = PropsWithChildren<{
38
45
  gap?: number;
39
46
  sx?: {
40
47
  pt?: number;
41
48
  };
49
+ 'aria-label'?: string;
42
50
  }>;
43
51
  declare const SectionContent: FC<SectionContentProps>;
44
52
 
45
- declare const CustomCss: () => react.JSX.Element;
53
+ declare const SettingsControl: ({ control: { value, type } }: {
54
+ control: Control | ElementControl;
55
+ }) => react.JSX.Element | null;
56
+
57
+ declare const StyleIndicator: _emotion_styled.StyledComponent<_mui_system.MUIStyledCommonProps<Theme> & ({
58
+ isOverridden?: boolean;
59
+ getColor?: never;
60
+ } | {
61
+ isOverridden?: boolean;
62
+ getColor?: ((theme: Theme) => string) | null;
63
+ }), react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
46
64
 
47
65
  declare const useFontFamilies: () => FontCategory[];
48
66
 
49
- declare const useCustomCss: () => {
50
- customCss: {
51
- raw: string;
52
- } | null;
53
- setCustomCss: (raw: string, { history: { propDisplayName } }: {
54
- history: {
55
- propDisplayName: string;
56
- };
57
- }) => void;
67
+ declare const injectIntoStyleTab: (args: _elementor_locations.InjectArgs<object>) => void;
68
+
69
+ type SectionType = {
70
+ component: () => react.JSX.Element;
71
+ name: string;
72
+ title: string;
58
73
  };
74
+ type Props = {
75
+ section: SectionType;
76
+ fields?: string[];
77
+ unmountOnExit?: boolean;
78
+ };
79
+ declare const StyleTabSection: ({ section, fields, unmountOnExit }: Props) => react.JSX.Element;
80
+
81
+ declare function useClassesProp(): string;
82
+
83
+ type ContextValue$1 = {
84
+ element: Element;
85
+ elementType: ElementType;
86
+ };
87
+ declare function useElement(): ContextValue$1;
59
88
 
60
89
  declare const useSectionWidth: () => number;
61
90
 
91
+ type ContextValue = {
92
+ setId: Dispatch<StyleDefinition['id'] | null>;
93
+ meta: StyleDefinitionVariant['meta'];
94
+ setMetaState: Dispatch<StyleDefinitionState>;
95
+ canEdit?: boolean;
96
+ } & (ContextValueWithProvider | ContextValueWithoutProvider);
97
+ type ContextValueWithProvider = {
98
+ id: StyleDefinitionID;
99
+ provider: StylesProvider;
100
+ };
101
+ type ContextValueWithoutProvider = {
102
+ id: null;
103
+ provider: null;
104
+ };
105
+ declare function useStyle(): ContextValue;
106
+
62
107
  declare const registerControlReplacement: (replacement: {
63
108
  component: react.ComponentType;
64
109
  condition: ({ value }: {
65
110
  value: _elementor_editor_props.PropValue;
111
+ placeholder?: _elementor_editor_props.PropValue;
66
112
  }) => boolean;
67
113
  }) => void;
68
114
 
69
115
  type ActionProps = {
70
116
  title: string;
71
117
  visible?: boolean;
72
- icon: ElementType;
118
+ icon: ElementType$1;
73
119
  onClick: () => void;
74
120
  };
75
121
  declare function Action({ title, visible, icon: Icon, onClick }: ActionProps): react.JSX.Element | null;
@@ -77,7 +123,7 @@ declare function Action({ title, visible, icon: Icon, onClick }: ActionProps): r
77
123
  type PopoverActionProps = {
78
124
  title: string;
79
125
  visible?: boolean;
80
- icon: ElementType;
126
+ icon: ElementType$1;
81
127
  content: ComponentType<{
82
128
  close: () => void;
83
129
  }>;
@@ -89,52 +135,6 @@ declare const controlActionsMenu: _elementor_menus.Menu<{
89
135
  PopoverAction: typeof PopoverAction;
90
136
  }, "default">;
91
137
 
92
- declare function init(): void;
93
-
94
- declare const usePanelActions: () => {
95
- open: () => Promise<void>;
96
- close: () => Promise<void>;
97
- };
98
- declare const usePanelStatus: () => {
99
- isOpen: boolean;
100
- isBlocked: boolean;
101
- };
102
-
103
- type Colors = {
104
- name: ChipProps['color'];
105
- getThemeColor: ((theme: Theme) => string) | null;
106
- };
107
- declare const registerStyleProviderToColors: (provider: string, colors: Colors) => void;
108
-
109
- declare const stylesInheritanceTransformersRegistry: {
110
- register(type: _elementor_editor_props.PropTypeKey, transformer: ((value: any, options: {
111
- key: string;
112
- signal?: AbortSignal;
113
- }) => unknown) & {
114
- __transformer: true;
115
- }): any;
116
- registerFallback(transformer: ((value: any, options: {
117
- key: string;
118
- signal?: AbortSignal;
119
- }) => unknown) & {
120
- __transformer: true;
121
- }): any;
122
- get(type: _elementor_editor_props.PropTypeKey): (((value: any, options: {
123
- key: string;
124
- signal?: AbortSignal;
125
- }) => unknown) & {
126
- __transformer: true;
127
- }) | null;
128
- all(): {
129
- [x: string]: ((value: any, options: {
130
- key: string;
131
- signal?: AbortSignal;
132
- }) => unknown) & {
133
- __transformer: true;
134
- };
135
- };
136
- };
137
-
138
138
  type ControlRegistry = Record<string, {
139
139
  component: ControlComponent;
140
140
  layout: ControlLayout;
@@ -319,13 +319,14 @@ declare const controlTypes: {
319
319
  };
320
320
  };
321
321
  readonly text: {
322
- readonly component: ControlComponent<({ placeholder, error, inputValue, inputDisabled, helperText, sx, }: {
322
+ readonly component: ControlComponent<({ placeholder, error, inputValue, inputDisabled, helperText, sx, ariaLabel, }: {
323
323
  placeholder?: string;
324
324
  error?: boolean;
325
325
  inputValue?: string;
326
326
  inputDisabled?: boolean;
327
327
  helperText?: string;
328
328
  sx?: _mui_system.SxProps;
329
+ ariaLabel?: string;
329
330
  }) => react.JSX.Element>;
330
331
  readonly layout: "full";
331
332
  readonly propTypeUtil: {
@@ -353,8 +354,9 @@ declare const controlTypes: {
353
354
  };
354
355
  };
355
356
  readonly textarea: {
356
- readonly component: ControlComponent<({ placeholder }: {
357
+ readonly component: ControlComponent<({ placeholder, ariaLabel }: {
357
358
  placeholder?: string;
359
+ ariaLabel?: string;
358
360
  }) => react.JSX.Element>;
359
361
  readonly layout: "full";
360
362
  readonly propTypeUtil: {
@@ -382,7 +384,7 @@ declare const controlTypes: {
382
384
  };
383
385
  };
384
386
  readonly size: {
385
- readonly component: ControlComponent<({ variant, defaultUnit, units, placeholder, startIcon, anchorRef, extendedOptions, disableCustom, min, enablePropTypeUnits, id, }: Omit<({
387
+ readonly component: ControlComponent<({ variant, defaultUnit, units, placeholder, startIcon, anchorRef, extendedOptions, disableCustom, min, enablePropTypeUnits, id, ariaLabel, }: Omit<({
386
388
  placeholder?: string;
387
389
  startIcon?: react.ReactNode;
388
390
  extendedOptions?: _elementor_editor_controls.ExtendedOption[];
@@ -391,6 +393,8 @@ declare const controlTypes: {
391
393
  min?: number;
392
394
  enablePropTypeUnits?: boolean;
393
395
  id?: string;
396
+ ariaLabel?: string;
397
+ isRepeaterControl?: boolean;
394
398
  } & {
395
399
  units?: ("em" | "px" | "%" | "rem" | "vw" | "vh")[] | undefined;
396
400
  defaultUnit?: "em" | "px" | "%" | "rem" | "vw" | "vh" | undefined;
@@ -405,6 +409,8 @@ declare const controlTypes: {
405
409
  min?: number;
406
410
  enablePropTypeUnits?: boolean;
407
411
  id?: string;
412
+ ariaLabel?: string;
413
+ isRepeaterControl?: boolean;
408
414
  } & {
409
415
  units?: ("deg" | "rad" | "grad" | "turn")[] | undefined;
410
416
  defaultUnit?: "deg" | "rad" | "grad" | "turn" | undefined;
@@ -419,6 +425,8 @@ declare const controlTypes: {
419
425
  min?: number;
420
426
  enablePropTypeUnits?: boolean;
421
427
  id?: string;
428
+ ariaLabel?: string;
429
+ isRepeaterControl?: boolean;
422
430
  } & {
423
431
  units?: ("s" | "ms")[] | undefined;
424
432
  defaultUnit?: "s" | "ms" | undefined;
@@ -648,13 +656,17 @@ declare const controlTypes: {
648
656
  };
649
657
  };
650
658
  readonly select: {
651
- readonly component: ControlComponent<({ options, onChange }: {
659
+ readonly component: ControlComponent<({ collectionId, options, ...props }: {
652
660
  options: {
653
661
  label: string;
654
662
  value: _elementor_editor_props.StringPropValue["value"];
655
663
  disabled?: boolean;
656
664
  }[];
657
665
  onChange?: (newValue: string | null, previousValue: string | null | undefined) => void;
666
+ MenuProps?: _mui_material.SelectProps["MenuProps"];
667
+ ariaLabel?: string;
668
+ } & {
669
+ collectionId?: "off-canvas";
658
670
  }) => react.JSX.Element>;
659
671
  readonly layout: "two-columns";
660
672
  readonly propTypeUtil: {
@@ -684,13 +696,14 @@ declare const controlTypes: {
684
696
  readonly link: {
685
697
  readonly component: ControlComponent<(props: {
686
698
  queryOptions: {
687
- requestParams: Record<string, unknown>;
688
- endpoint: string;
699
+ params: Record<string, unknown>;
700
+ url: string;
689
701
  };
690
702
  allowCustomValues?: boolean;
691
703
  minInputLength?: number;
692
704
  placeholder?: string;
693
705
  label?: string;
706
+ ariaLabel?: string;
694
707
  } & {
695
708
  context: {
696
709
  elementId: string;
@@ -700,44 +713,35 @@ declare const controlTypes: {
700
713
  readonly propTypeUtil: {
701
714
  extract: (prop: unknown) => {
702
715
  destination?: any;
703
- label?: any;
704
716
  isTargetBlank?: any;
705
717
  } | null;
706
718
  isValid: (prop: unknown) => prop is _elementor_editor_props.TransformablePropValue<"link", {
707
719
  destination?: any;
708
- label?: any;
709
720
  isTargetBlank?: any;
710
721
  }>;
711
722
  create: {
712
723
  (value: {
713
724
  destination?: any;
714
- label?: any;
715
725
  isTargetBlank?: any;
716
726
  }): _elementor_editor_props.TransformablePropValue<"link", {
717
727
  destination?: any;
718
- label?: any;
719
728
  isTargetBlank?: any;
720
729
  }>;
721
730
  (value: {
722
731
  destination?: any;
723
- label?: any;
724
732
  isTargetBlank?: any;
725
733
  }, createOptions?: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"link", {
726
734
  destination?: any;
727
- label?: any;
728
735
  isTargetBlank?: any;
729
736
  }>;
730
737
  (value: (prev?: {
731
738
  destination?: any;
732
- label?: any;
733
739
  isTargetBlank?: any;
734
740
  } | undefined) => {
735
741
  destination?: any;
736
- label?: any;
737
742
  isTargetBlank?: any;
738
743
  }, createOptions: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"link", {
739
744
  destination?: any;
740
- label?: any;
741
745
  isTargetBlank?: any;
742
746
  }>;
743
747
  };
@@ -745,11 +749,9 @@ declare const controlTypes: {
745
749
  $$type: zod.ZodLiteral<"link">;
746
750
  value: zod.ZodType<{
747
751
  destination?: any;
748
- label?: any;
749
752
  isTargetBlank?: any;
750
753
  }, zod.ZodTypeDef, {
751
754
  destination?: any;
752
- label?: any;
753
755
  isTargetBlank?: any;
754
756
  }>;
755
757
  disabled: zod.ZodOptional<zod.ZodBoolean>;
@@ -757,7 +759,6 @@ declare const controlTypes: {
757
759
  $$type: "link";
758
760
  value: {
759
761
  destination?: any;
760
- label?: any;
761
762
  isTargetBlank?: any;
762
763
  };
763
764
  disabled?: boolean | undefined;
@@ -765,7 +766,6 @@ declare const controlTypes: {
765
766
  $$type: "link";
766
767
  value: {
767
768
  destination?: any;
768
- label?: any;
769
769
  isTargetBlank?: any;
770
770
  };
771
771
  disabled?: boolean | undefined;
@@ -773,9 +773,86 @@ declare const controlTypes: {
773
773
  key: "link";
774
774
  };
775
775
  };
776
+ readonly query: {
777
+ readonly component: ControlComponent<(props: {
778
+ queryOptions: {
779
+ params: Record<string, unknown>;
780
+ url: string;
781
+ };
782
+ allowCustomValues?: boolean;
783
+ minInputLength?: number;
784
+ placeholder?: string;
785
+ onSetValue?: (value: any | null) => void;
786
+ ariaLabel?: string;
787
+ }) => react.JSX.Element>;
788
+ readonly layout: "full";
789
+ readonly propTypeUtil: {
790
+ extract: (prop: unknown) => {
791
+ id?: any;
792
+ label?: any;
793
+ } | null;
794
+ isValid: (prop: unknown) => prop is _elementor_editor_props.TransformablePropValue<"query", {
795
+ id?: any;
796
+ label?: any;
797
+ }>;
798
+ create: {
799
+ (value: {
800
+ id?: any;
801
+ label?: any;
802
+ }): _elementor_editor_props.TransformablePropValue<"query", {
803
+ id?: any;
804
+ label?: any;
805
+ }>;
806
+ (value: {
807
+ id?: any;
808
+ label?: any;
809
+ }, createOptions?: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"query", {
810
+ id?: any;
811
+ label?: any;
812
+ }>;
813
+ (value: (prev?: {
814
+ id?: any;
815
+ label?: any;
816
+ } | undefined) => {
817
+ id?: any;
818
+ label?: any;
819
+ }, createOptions: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"query", {
820
+ id?: any;
821
+ label?: any;
822
+ }>;
823
+ };
824
+ schema: zod.ZodObject<{
825
+ $$type: zod.ZodLiteral<"query">;
826
+ value: zod.ZodType<{
827
+ id?: any;
828
+ label?: any;
829
+ }, zod.ZodTypeDef, {
830
+ id?: any;
831
+ label?: any;
832
+ }>;
833
+ disabled: zod.ZodOptional<zod.ZodBoolean>;
834
+ }, "strict", zod.ZodTypeAny, {
835
+ $$type: "query";
836
+ value: {
837
+ id?: any;
838
+ label?: any;
839
+ };
840
+ disabled?: boolean | undefined;
841
+ }, {
842
+ $$type: "query";
843
+ value: {
844
+ id?: any;
845
+ label?: any;
846
+ };
847
+ disabled?: boolean | undefined;
848
+ }>;
849
+ key: "query";
850
+ };
851
+ };
776
852
  readonly url: {
777
- readonly component: ControlComponent<({ placeholder }: {
853
+ readonly component: ControlComponent<({ placeholder, ariaLabel }: {
778
854
  placeholder?: string;
855
+ ariaLabel?: string;
779
856
  }) => react.JSX.Element>;
780
857
  readonly layout: "full";
781
858
  readonly propTypeUtil: {
@@ -872,6 +949,13 @@ declare const controlTypes: {
872
949
  props?: Record<string, unknown>;
873
950
  propTypeUtil: PropTypeUtil<string, any>;
874
951
  label?: string;
952
+ isItemDisabled?: (item: {
953
+ disabled?: boolean;
954
+ } & {
955
+ $$type: string;
956
+ value: _elementor_editor_props.PropValue;
957
+ disabled?: boolean;
958
+ }) => boolean;
875
959
  };
876
960
  showDuplicate?: boolean;
877
961
  showToggle?: boolean;
@@ -897,6 +981,7 @@ declare const controlTypes: {
897
981
  regexKey?: string;
898
982
  regexValue?: string;
899
983
  validationErrorMessage?: string;
984
+ escapeHtml?: boolean;
900
985
  getHelperText?: (key: string, value: string) => {
901
986
  keyHelper?: string;
902
987
  valueHelper?: string;
@@ -966,11 +1051,168 @@ declare const controlTypes: {
966
1051
  key: "key-value";
967
1052
  };
968
1053
  };
1054
+ readonly 'html-tag': {
1055
+ readonly component: ControlComponent<({ options, onChange, fallbackLabels }: {
1056
+ options: {
1057
+ label: string;
1058
+ value: _elementor_editor_props.StringPropValue["value"];
1059
+ disabled?: boolean;
1060
+ }[];
1061
+ onChange?: (newValue: string | null, previousValue: string | null | undefined) => void;
1062
+ fallbackLabels?: Record<string, string>;
1063
+ }) => react.JSX.Element>;
1064
+ readonly layout: "two-columns";
1065
+ readonly propTypeUtil: {
1066
+ extract: (prop: unknown) => string | null;
1067
+ isValid: (prop: unknown) => prop is _elementor_editor_props.TransformablePropValue<"string", string | null>;
1068
+ create: {
1069
+ (value: string | null): _elementor_editor_props.TransformablePropValue<"string", string | null>;
1070
+ (value: string | null, createOptions?: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"string", string | null>;
1071
+ (value: (prev?: string | null | undefined) => string | null, createOptions: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"string", string | null>;
1072
+ };
1073
+ schema: zod.ZodObject<{
1074
+ $$type: zod.ZodLiteral<"string">;
1075
+ value: zod.ZodType<string | null, zod.ZodTypeDef, string | null>;
1076
+ disabled: zod.ZodOptional<zod.ZodBoolean>;
1077
+ }, "strict", zod.ZodTypeAny, {
1078
+ $$type: "string";
1079
+ value: string | null;
1080
+ disabled?: boolean | undefined;
1081
+ }, {
1082
+ $$type: "string";
1083
+ value: string | null;
1084
+ disabled?: boolean | undefined;
1085
+ }>;
1086
+ key: "string";
1087
+ };
1088
+ };
1089
+ readonly toggle: {
1090
+ readonly component: ControlComponent<({ options, fullWidth, size, exclusive, maxItems, convertOptions, }: _elementor_editor_controls.ToggleControlProps<_elementor_editor_props.StringPropValue["value"]>) => react.JSX.Element>;
1091
+ readonly layout: "full";
1092
+ readonly propTypeUtil: {
1093
+ extract: (prop: unknown) => string | null;
1094
+ isValid: (prop: unknown) => prop is _elementor_editor_props.TransformablePropValue<"string", string | null>;
1095
+ create: {
1096
+ (value: string | null): _elementor_editor_props.TransformablePropValue<"string", string | null>;
1097
+ (value: string | null, createOptions?: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"string", string | null>;
1098
+ (value: (prev?: string | null | undefined) => string | null, createOptions: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"string", string | null>;
1099
+ };
1100
+ schema: zod.ZodObject<{
1101
+ $$type: zod.ZodLiteral<"string">;
1102
+ value: zod.ZodType<string | null, zod.ZodTypeDef, string | null>;
1103
+ disabled: zod.ZodOptional<zod.ZodBoolean>;
1104
+ }, "strict", zod.ZodTypeAny, {
1105
+ $$type: "string";
1106
+ value: string | null;
1107
+ disabled?: boolean | undefined;
1108
+ }, {
1109
+ $$type: "string";
1110
+ value: string | null;
1111
+ disabled?: boolean | undefined;
1112
+ }>;
1113
+ key: "string";
1114
+ };
1115
+ };
1116
+ readonly 'date-time': {
1117
+ readonly component: ControlComponent<({ inputDisabled }: {
1118
+ inputDisabled?: boolean;
1119
+ }) => react.JSX.Element>;
1120
+ readonly layout: "full";
1121
+ readonly propTypeUtil: {
1122
+ extract: (prop: unknown) => {
1123
+ date?: any;
1124
+ time?: any;
1125
+ } | null;
1126
+ isValid: (prop: unknown) => prop is _elementor_editor_props.TransformablePropValue<"date-time", {
1127
+ date?: any;
1128
+ time?: any;
1129
+ }>;
1130
+ create: {
1131
+ (value: {
1132
+ date?: any;
1133
+ time?: any;
1134
+ }): _elementor_editor_props.TransformablePropValue<"date-time", {
1135
+ date?: any;
1136
+ time?: any;
1137
+ }>;
1138
+ (value: {
1139
+ date?: any;
1140
+ time?: any;
1141
+ }, createOptions?: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"date-time", {
1142
+ date?: any;
1143
+ time?: any;
1144
+ }>;
1145
+ (value: (prev?: {
1146
+ date?: any;
1147
+ time?: any;
1148
+ } | undefined) => {
1149
+ date?: any;
1150
+ time?: any;
1151
+ }, createOptions: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"date-time", {
1152
+ date?: any;
1153
+ time?: any;
1154
+ }>;
1155
+ };
1156
+ schema: zod.ZodObject<{
1157
+ $$type: zod.ZodLiteral<"date-time">;
1158
+ value: zod.ZodType<{
1159
+ date?: any;
1160
+ time?: any;
1161
+ }, zod.ZodTypeDef, {
1162
+ date?: any;
1163
+ time?: any;
1164
+ }>;
1165
+ disabled: zod.ZodOptional<zod.ZodBoolean>;
1166
+ }, "strict", zod.ZodTypeAny, {
1167
+ $$type: "date-time";
1168
+ value: {
1169
+ date?: any;
1170
+ time?: any;
1171
+ };
1172
+ disabled?: boolean | undefined;
1173
+ }, {
1174
+ $$type: "date-time";
1175
+ value: {
1176
+ date?: any;
1177
+ time?: any;
1178
+ };
1179
+ disabled?: boolean | undefined;
1180
+ }>;
1181
+ key: "date-time";
1182
+ };
1183
+ };
1184
+ readonly 'inline-editing': {
1185
+ readonly component: ControlComponent<() => react.JSX.Element>;
1186
+ readonly layout: "full";
1187
+ readonly propTypeUtil: {
1188
+ extract: (prop: unknown) => string | null;
1189
+ isValid: (prop: unknown) => prop is _elementor_editor_props.TransformablePropValue<"html", string | null>;
1190
+ create: {
1191
+ (value: string | null): _elementor_editor_props.TransformablePropValue<"html", string | null>;
1192
+ (value: string | null, createOptions?: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"html", string | null>;
1193
+ (value: (prev?: string | null | undefined) => string | null, createOptions: _elementor_editor_props.CreateOptions): _elementor_editor_props.TransformablePropValue<"html", string | null>;
1194
+ };
1195
+ schema: zod.ZodObject<{
1196
+ $$type: zod.ZodLiteral<"html">;
1197
+ value: zod.ZodType<string | null, zod.ZodTypeDef, string | null>;
1198
+ disabled: zod.ZodOptional<zod.ZodBoolean>;
1199
+ }, "strict", zod.ZodTypeAny, {
1200
+ $$type: "html";
1201
+ value: string | null;
1202
+ disabled?: boolean | undefined;
1203
+ }, {
1204
+ $$type: "html";
1205
+ value: string | null;
1206
+ disabled?: boolean | undefined;
1207
+ }>;
1208
+ key: "html";
1209
+ };
1210
+ };
969
1211
  };
970
1212
  type ControlType = keyof typeof controlTypes;
971
1213
  declare class ControlsRegistry {
972
1214
  private readonly controlsRegistry;
973
- constructor(controlsRegistry?: ControlRegistry);
1215
+ constructor(controlsRegistry: ControlRegistry);
974
1216
  get(type: ControlType): ControlComponent;
975
1217
  getLayout(type: ControlType): ControlLayout;
976
1218
  getPropTypeUtil(type: ControlType): PropTypeUtil<string, any> | undefined;
@@ -980,4 +1222,93 @@ declare class ControlsRegistry {
980
1222
  }
981
1223
  declare const controlsRegistry: ControlsRegistry;
982
1224
 
983
- export { CustomCss, type PopoverActionProps, PopoverBody, SectionContent, type ValidationEvent, type ValidationResult, controlActionsMenu, controlsRegistry, init, injectIntoClassSelectorActions, injectIntoCssClassConvert, registerControlReplacement, registerStyleProviderToColors, stylesInheritanceTransformersRegistry, useCustomCss, useFontFamilies, usePanelActions, usePanelStatus, useSectionWidth };
1225
+ declare const StylesProviderCannotUpdatePropsError: {
1226
+ new ({ cause, context }?: {
1227
+ cause?: _elementor_utils.ElementorErrorOptions["cause"];
1228
+ context?: {
1229
+ providerKey: string;
1230
+ } | undefined;
1231
+ } | undefined): {
1232
+ readonly context: _elementor_utils.ElementorErrorOptions["context"];
1233
+ readonly code: _elementor_utils.ElementorErrorOptions["code"];
1234
+ name: string;
1235
+ message: string;
1236
+ stack?: string;
1237
+ cause?: unknown;
1238
+ };
1239
+ isError(error: unknown): error is Error;
1240
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
1241
+ prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
1242
+ stackTraceLimit: number;
1243
+ };
1244
+
1245
+ declare const useCustomCss: () => {
1246
+ customCss: {
1247
+ raw: string;
1248
+ } | null;
1249
+ setCustomCss: (raw: string, { history: { propDisplayName } }: {
1250
+ history: {
1251
+ propDisplayName: string;
1252
+ };
1253
+ }) => void;
1254
+ };
1255
+
1256
+ declare const HISTORY_DEBOUNCE_WAIT = 800;
1257
+ type TitleOptions = {
1258
+ provider: StylesProvider | null;
1259
+ styleId: string | null;
1260
+ elementId: string;
1261
+ };
1262
+ type SubtitleOptions = TitleOptions & {
1263
+ propDisplayName: string;
1264
+ };
1265
+ declare const getTitle: ({ provider, styleId, elementId }: TitleOptions) => string;
1266
+ declare const getSubtitle: ({ provider, styleId, propDisplayName, elementId }: SubtitleOptions) => string;
1267
+
1268
+ declare const useStylesRerender: () => void;
1269
+
1270
+ declare function init(): void;
1271
+
1272
+ declare const usePanelActions: () => {
1273
+ open: () => Promise<void>;
1274
+ close: () => Promise<void>;
1275
+ };
1276
+ declare const usePanelStatus: () => {
1277
+ isOpen: boolean;
1278
+ isBlocked: boolean;
1279
+ };
1280
+
1281
+ type Colors = {
1282
+ name: ChipProps['color'];
1283
+ getThemeColor: ((theme: Theme) => string) | null;
1284
+ };
1285
+ declare const registerStyleProviderToColors: (provider: string, colors: Colors) => void;
1286
+
1287
+ declare const stylesInheritanceTransformersRegistry: {
1288
+ register(type: _elementor_editor_props.PropTypeKey, transformer: _elementor_editor_canvas.AnyTransformer): any;
1289
+ registerFallback(transformer: _elementor_editor_canvas.AnyTransformer): any;
1290
+ get(type: _elementor_editor_props.PropTypeKey): _elementor_editor_canvas.AnyTransformer | null;
1291
+ all(): {
1292
+ [x: string]: _elementor_editor_canvas.AnyTransformer;
1293
+ };
1294
+ };
1295
+
1296
+ type FieldType = 'settings' | 'styles';
1297
+ type FieldIndicator = {
1298
+ id: string;
1299
+ indicator: AdornmentComponent;
1300
+ priority: number;
1301
+ };
1302
+ declare const FIELD_TYPE: {
1303
+ SETTINGS: "settings";
1304
+ STYLES: "styles";
1305
+ };
1306
+ declare const registerFieldIndicator: ({ fieldType, id, indicator, priority, }: FieldIndicator & {
1307
+ fieldType: FieldType;
1308
+ }) => void;
1309
+
1310
+ declare function doGetAppliedClasses(elementId: string, classesPropType?: string): string[];
1311
+ declare function doApplyClasses(elementId: string, classIds: StyleDefinitionID[], classesPropType?: string): void;
1312
+ declare function doUnapplyClass(elementId: string, classId: StyleDefinitionID, classesPropType?: string): boolean;
1313
+
1314
+ export { CustomCssIndicator, FIELD_TYPE, HISTORY_DEBOUNCE_WAIT, type PopoverActionProps, PopoverBody, SectionContent, SettingsControl, StyleIndicator, StyleTabSection, StylesProviderCannotUpdatePropsError, type ValidationEvent, type ValidationResult, controlActionsMenu, controlsRegistry, doApplyClasses, doGetAppliedClasses, doUnapplyClass, getSubtitle, getTitle, init, injectIntoClassSelectorActions, injectIntoCssClassConvert, injectIntoStyleTab, registerControlReplacement, registerFieldIndicator, registerStyleProviderToColors, stylesInheritanceTransformersRegistry, useClassesProp, useCustomCss, useElement, useFontFamilies, usePanelActions, usePanelStatus, useSectionWidth, useStyle, useStylesRerender };