@useinsider/guido 1.0.3-beta.c4d9021 → 1.0.3-beta.c600a63

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 (167) hide show
  1. package/README.md +3 -0
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
  4. package/dist/components/organisms/header/RightSlot.vue2.js +13 -13
  5. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
  6. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
  7. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +20 -18
  8. package/dist/composables/useActionsApi.js +1 -1
  9. package/dist/composables/useBlocksConfig.js +1 -2
  10. package/dist/composables/useHtmlCompiler.js +15 -13
  11. package/dist/composables/useHtmlValidator.js +36 -35
  12. package/dist/composables/useStripo.js +32 -28
  13. package/dist/config/compiler/itemsCompilerRules.js +14 -0
  14. package/dist/enums/defaults.js +5 -4
  15. package/dist/enums/extensions/recommendationBlock.js +2 -2
  16. package/dist/enums/onboarding.js +7 -3
  17. package/dist/extensions/Blocks/Checkbox/block.js +5 -2
  18. package/dist/extensions/Blocks/Checkbox/control.js +15 -14
  19. package/dist/extensions/Blocks/Checkbox/template.js +14 -9
  20. package/dist/extensions/Blocks/Items/block.js +67 -0
  21. package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
  22. package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -0
  23. package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
  24. package/dist/extensions/Blocks/Items/controls/index.js +217 -0
  25. package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
  26. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
  27. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
  28. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
  29. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
  30. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +92 -0
  31. package/dist/extensions/Blocks/Items/controls/settingsControl.js +316 -0
  32. package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
  33. package/dist/extensions/Blocks/Items/enums/productEnums.js +274 -0
  34. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +77 -0
  35. package/dist/extensions/Blocks/Items/extension.js +20 -0
  36. package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
  37. package/dist/extensions/Blocks/Items/items.css.js +23 -0
  38. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +62 -0
  39. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +72 -0
  40. package/dist/extensions/Blocks/Items/settingsPanel.js +132 -0
  41. package/dist/extensions/Blocks/Items/store/items-block.js +75 -0
  42. package/dist/extensions/Blocks/Items/template.js +195 -0
  43. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  44. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  45. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +76 -0
  46. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -0
  47. package/dist/extensions/Blocks/RadioButton/block.js +5 -2
  48. package/dist/extensions/Blocks/RadioButton/control.js +18 -17
  49. package/dist/extensions/Blocks/RadioButton/template.js +18 -9
  50. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  51. package/dist/extensions/Blocks/Unsubscribe/block.js +45 -41
  52. package/dist/extensions/Blocks/common-control.js +174 -110
  53. package/dist/extensions/Blocks/controlFactories.js +223 -0
  54. package/dist/guido.css +1 -1
  55. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +213 -168
  56. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  57. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  58. package/dist/node_modules/lodash-es/_Set.js +6 -0
  59. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  60. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  61. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  62. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
  63. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  64. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  65. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  66. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  67. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  68. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  69. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  70. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  71. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  72. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  73. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  74. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  75. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  76. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  77. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  78. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  79. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  80. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  81. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  82. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  83. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  84. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  85. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  86. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  87. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  88. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  89. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  90. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  91. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  92. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  93. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  94. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  95. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  96. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  97. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  98. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  99. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  100. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  101. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  102. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  103. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  104. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  105. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  106. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  107. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  108. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  109. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  110. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  111. package/dist/node_modules/lodash-es/get.js +8 -0
  112. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  113. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  114. package/dist/node_modules/lodash-es/keys.js +9 -0
  115. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  116. package/dist/node_modules/lodash-es/map.js +11 -0
  117. package/dist/node_modules/lodash-es/property.js +10 -0
  118. package/dist/node_modules/lodash-es/range.js +5 -0
  119. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  120. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  121. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  122. package/dist/node_modules/lodash-es/toString.js +7 -0
  123. package/dist/package.json.js +1 -1
  124. package/dist/services/recommendationApi.js +13 -19
  125. package/dist/services/stripoApi.js +31 -26
  126. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -0
  127. package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
  128. package/dist/src/enums/defaults.d.ts +1 -0
  129. package/dist/src/enums/onboarding.d.ts +4 -0
  130. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +1 -0
  131. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  132. package/dist/src/extensions/Blocks/Items/block.d.ts +27 -0
  133. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
  134. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -0
  135. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
  136. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
  137. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
  138. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
  139. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
  140. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
  141. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
  142. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +15 -0
  143. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +48 -0
  144. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +62 -0
  145. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +163 -0
  146. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +50 -0
  147. package/dist/src/extensions/Blocks/Items/extension.d.ts +2 -0
  148. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
  149. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +4 -0
  150. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +43 -0
  151. package/dist/src/extensions/Blocks/Items/template.d.ts +24 -0
  152. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  153. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  154. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +50 -0
  155. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  156. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +1 -0
  157. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  158. package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +3 -4
  159. package/dist/src/extensions/Blocks/common-control.d.ts +44 -7
  160. package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
  161. package/dist/src/stores/onboarding.d.ts +334 -0
  162. package/dist/src/utils/pairProductVariables.d.ts +7 -0
  163. package/dist/static/styles/customEditorStyle.css.js +1 -1
  164. package/dist/stores/onboarding.js +20 -12
  165. package/dist/utils/genericUtil.js +16 -17
  166. package/dist/utils/pairProductVariables.js +136 -0
  167. package/package.json +6 -4
@@ -1,8 +1,10 @@
1
- import { Control, ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
1
+ import { TextValueObject } from '@@/Types/generic';
2
+ import { Control, ImmutableHtmlElementNode, ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
3
  interface TextInputProps {
3
4
  name: string;
4
5
  placeholder?: string;
5
6
  className?: string;
7
+ disabled?: boolean;
6
8
  }
7
9
  interface LabelProps {
8
10
  text: string;
@@ -17,10 +19,7 @@ interface IconButtonProps {
17
19
  interface SelectProps {
18
20
  name: string;
19
21
  placeholder: string;
20
- options: {
21
- text: string;
22
- value: string;
23
- }[];
22
+ options: TextValueObject[];
24
23
  className?: string;
25
24
  }
26
25
  interface CounterProps {
@@ -29,6 +28,15 @@ interface CounterProps {
29
28
  minValue?: number;
30
29
  step?: number;
31
30
  }
31
+ interface RadioButtonProps {
32
+ name: string;
33
+ buttons: {
34
+ text?: string;
35
+ value: string;
36
+ icon?: string;
37
+ }[];
38
+ id?: string;
39
+ }
32
40
  interface ButtonProps {
33
41
  name: string;
34
42
  label: string;
@@ -40,11 +48,33 @@ interface ButtonProps {
40
48
  */
41
49
  export declare abstract class CommonControl extends Control {
42
50
  currentNode?: ImmutableHtmlNode;
51
+ protected lastBlockInstanceId: string | null;
43
52
  abstract getId(): string;
44
53
  abstract getTemplate(): string;
45
54
  abstract onRender(): Promise<void> | void;
46
55
  getContainer(): ShadowRoot;
47
56
  onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
57
+ onDestroy(): void;
58
+ /**
59
+ * Gets the config block element from the current node.
60
+ * @returns The config block element or null if not found
61
+ */
62
+ protected getConfigBlock(): ImmutableHtmlElementNode | null;
63
+ /**
64
+ * Gets the current block instance ID from the config block.
65
+ * @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
66
+ * @returns The block instance ID or null if not found
67
+ */
68
+ protected getBlockInstanceId(blockInstanceIdAttribute?: string): string | null;
69
+ /**
70
+ * Handles block instance change detection and syncing.
71
+ * This is a helper method for controls that need to sync attributes when switching between block instances.
72
+ * @param syncFunction - Function to call when block instance changes (to sync from attributes)
73
+ * @param updateUI - Function to call to update the UI (called both on change and when same block)
74
+ * @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
75
+ * @returns true if block instance changed, false otherwise
76
+ */
77
+ protected handleBlockInstanceChange(syncFunction: (node: ImmutableHtmlNode) => void, updateUI: () => void, blockInstanceIdAttribute?: string): boolean;
48
78
  _GuLabel({ text, name, position }: LabelProps): string;
49
79
  _GuToggle(name: string): string;
50
80
  _GuSelectItem({ text, value }: {
@@ -52,8 +82,14 @@ export declare abstract class CommonControl extends Control {
52
82
  value: string;
53
83
  }): string;
54
84
  _GuSelect({ name, placeholder, options, className }: SelectProps): string;
55
- _GuTextInput({ name, placeholder, className }: TextInputProps): string;
85
+ _GuTextInput({ name, placeholder, className, disabled }: TextInputProps): string;
56
86
  _GuCounter({ name, maxValue, minValue, step }: CounterProps): string;
87
+ _GuRadioButtonItem({ text, value, icon }: {
88
+ text?: string;
89
+ value: string;
90
+ icon?: string;
91
+ }): string;
92
+ _GuRadioButton({ name, buttons, id }: RadioButtonProps): string;
57
93
  _GuButton({ name, label, id }: ButtonProps): string;
58
94
  /**
59
95
  *
@@ -61,7 +97,8 @@ export declare abstract class CommonControl extends Control {
61
97
  * @returns It returns a button with an icon.
62
98
  */
63
99
  _GuIconButton({ name, icon, className }: IconButtonProps): string;
64
- _GuTwoColumns(children: string[]): string;
100
+ _GuOneColumn(children: string[], className?: string): string;
101
+ _GuTwoColumns(children: string[], className?: string): string;
65
102
  /**
66
103
  * Creates an orderable (sortable) list control
67
104
  * @param name - The control name for value binding
@@ -0,0 +1,312 @@
1
+ /**
2
+ * Reusable Control Factory Functions
3
+ *
4
+ * These factory functions can be used by any extension block to generate
5
+ * controls dynamically, reducing code duplication across the codebase.
6
+ *
7
+ * Note: TypeScript's type inference has limitations with dynamically generated classes.
8
+ * The eslint-disable comment above suppresses warnings that would otherwise require
9
+ * extensive type assertions throughout the file. The generated controls are type-safe
10
+ * at runtime and follow the exact same patterns as manually-written control classes.
11
+ */
12
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
13
+ /**
14
+ * Factory function to create text align controls for different block elements
15
+ */
16
+ export declare function createTextAlignControl(controlId: string, targetBlockId: string, containerSelector: string): {
17
+ new (): {
18
+ getId(): string;
19
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
20
+ getParentControlId(): string;
21
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
22
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
23
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
24
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
25
+ isVisible(_node: ImmutableHtmlNode): boolean;
26
+ };
27
+ };
28
+ /**
29
+ * Factory function to create text color controls for different block elements
30
+ */
31
+ export declare function createTextColorControl(controlId: string, targetBlockId: string, containerSelector?: string): {
32
+ new (): {
33
+ getId(): string;
34
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
35
+ getParentControlId(): string;
36
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
37
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
38
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
39
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
40
+ isVisible(_node: ImmutableHtmlNode): boolean;
41
+ };
42
+ };
43
+ /**
44
+ * Factory function to create text size controls for different block elements
45
+ */
46
+ export declare function createTextSizeControl(controlId: string, targetBlockId: string, containerSelector?: string): {
47
+ new (): {
48
+ getId(): string;
49
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
50
+ getParentControlId(): string;
51
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
52
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
53
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
54
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
55
+ isVisible(_node: ImmutableHtmlNode): boolean;
56
+ };
57
+ };
58
+ /**
59
+ * Factory function to create text style controls for different block elements
60
+ */
61
+ export declare function createTextStyleControl(controlId: string, targetBlockId: string, containerSelector?: string): {
62
+ new (): {
63
+ getId(): string;
64
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
65
+ getParentControlId(): string;
66
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
67
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
68
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
69
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
70
+ isVisible(_node: ImmutableHtmlNode): boolean;
71
+ };
72
+ };
73
+ /**
74
+ * Factory function to create text font family controls for different block elements
75
+ */
76
+ export declare function createTextFontFamilyControl(controlId: string, targetBlockId: string, containerSelector?: string): {
77
+ new (): {
78
+ getId(): string;
79
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
80
+ getParentControlId(): string;
81
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
82
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
83
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
84
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
85
+ isVisible(_node: ImmutableHtmlNode): boolean;
86
+ };
87
+ };
88
+ /**
89
+ * Factory function to create text background color controls for different block elements
90
+ */
91
+ export declare function createTextBackgroundColorControl(controlId: string, targetBlockId: string, containerSelector?: string): {
92
+ new (): {
93
+ getId(): string;
94
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
95
+ getParentControlId(): string;
96
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
97
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
98
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
99
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
100
+ isVisible(_node: ImmutableHtmlNode): boolean;
101
+ };
102
+ };
103
+ /**
104
+ * Factory function to create paddings controls for different block elements
105
+ */
106
+ export declare function createPaddingsControl(controlId: string, targetBlockId: string, containerSelector?: string): {
107
+ new (): {
108
+ getId(): string;
109
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
110
+ getParentControlId(): string;
111
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
112
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
113
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
114
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
115
+ isVisible(_node: ImmutableHtmlNode): boolean;
116
+ };
117
+ };
118
+ /**
119
+ * Factory function to create button align controls for different block elements
120
+ */
121
+ export declare function createButtonAlignControl(controlId: string, targetBlockId: string, containerSelector?: string): {
122
+ new (): {
123
+ getId(): string;
124
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
125
+ getParentControlId(): string;
126
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
127
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
128
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
129
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
130
+ isVisible(_node: ImmutableHtmlNode): boolean;
131
+ };
132
+ };
133
+ /**
134
+ * Factory function to create button color controls for different block elements
135
+ */
136
+ export declare function createButtonColorControl(controlId: string, targetBlockId: string, containerSelector?: string): {
137
+ new (): {
138
+ getId(): string;
139
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
140
+ getParentControlId(): string;
141
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
142
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
143
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
144
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
145
+ isVisible(_node: ImmutableHtmlNode): boolean;
146
+ };
147
+ };
148
+ /**
149
+ * Factory function to create button border controls for different block elements
150
+ */
151
+ export declare function createButtonBorderControl(controlId: string, targetBlockId: string, containerSelector?: string): {
152
+ new (): {
153
+ getId(): string;
154
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
155
+ getParentControlId(): string;
156
+ getLabels(): import("@stripoinc/ui-editor-extensions").ButtonBorderControlLabels | undefined;
157
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
158
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
159
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
160
+ isVisible(_node: ImmutableHtmlNode): boolean;
161
+ };
162
+ };
163
+ /**
164
+ * Factory function to create button border radius controls for different block elements
165
+ */
166
+ export declare function createButtonBorderRadiusControl(controlId: string, targetBlockId: string, containerSelector?: string): {
167
+ new (): {
168
+ getId(): string;
169
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
170
+ getParentControlId(): string;
171
+ getLabels(): import("@stripoinc/ui-editor-extensions").ButtonBorderRadiusControlLabels | undefined;
172
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
173
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
174
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
175
+ isVisible(_node: ImmutableHtmlNode): boolean;
176
+ };
177
+ };
178
+ /**
179
+ * Factory function to create button font family controls for different block elements
180
+ */
181
+ export declare function createButtonFontFamilyControl(controlId: string, targetBlockId: string, containerSelector?: string): {
182
+ new (): {
183
+ getId(): string;
184
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
185
+ getParentControlId(): string;
186
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
187
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
188
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
189
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
190
+ isVisible(_node: ImmutableHtmlNode): boolean;
191
+ };
192
+ };
193
+ /**
194
+ * Factory function to create button margins controls for different block elements
195
+ */
196
+ export declare function createButtonMarginsControl(controlId: string, targetBlockId: string, containerSelector?: string): {
197
+ new (): {
198
+ getId(): string;
199
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
200
+ getParentControlId(): string;
201
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
202
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
203
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
204
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
205
+ isVisible(_node: ImmutableHtmlNode): boolean;
206
+ };
207
+ };
208
+ /**
209
+ * Factory function to create button paddings controls for different block elements
210
+ */
211
+ export declare function createButtonPaddingsControl(controlId: string, targetBlockId: string, containerSelector?: string): {
212
+ new (): {
213
+ getId(): string;
214
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
215
+ getParentControlId(): string;
216
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
217
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
218
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
219
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
220
+ isVisible(_node: ImmutableHtmlNode): boolean;
221
+ };
222
+ };
223
+ /**
224
+ * Factory function to create button text controls for different block elements
225
+ */
226
+ export declare function createButtonTextControl(controlId: string, targetBlockId: string, containerSelector?: string): {
227
+ new (): {
228
+ getId(): string;
229
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
230
+ getParentControlId(): string;
231
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
232
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
233
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
234
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
235
+ isVisible(_node: ImmutableHtmlNode): boolean;
236
+ };
237
+ };
238
+ /**
239
+ * Factory function to create button text size controls for different block elements
240
+ */
241
+ export declare function createButtonTextSizeControl(controlId: string, targetBlockId: string, containerSelector?: string): {
242
+ new (): {
243
+ getId(): string;
244
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
245
+ getParentControlId(): string;
246
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
247
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
248
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
249
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
250
+ isVisible(_node: ImmutableHtmlNode): boolean;
251
+ };
252
+ };
253
+ /**
254
+ * Factory function to create button text style and font color controls for different block elements
255
+ */
256
+ export declare function createButtonTextStyleAndFontColorControl(controlId: string, targetBlockId: string, containerSelector: string): {
257
+ new (): {
258
+ getId(): string;
259
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
260
+ getParentControlId(): string;
261
+ getLabels(): import("@stripoinc/ui-editor-extensions").ButtonTextStyleAndFontColorControlLabels | undefined;
262
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
263
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
264
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
265
+ isVisible(_node: ImmutableHtmlNode): boolean;
266
+ };
267
+ };
268
+ /**
269
+ * Factory function to create button fit to container controls for different block elements
270
+ */
271
+ export declare function createButtonFitToContainerControl(controlId: string, targetBlockId: string, containerSelector: string): {
272
+ new (): {
273
+ getId(): string;
274
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
275
+ getParentControlId(): string;
276
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
277
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
278
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
279
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
280
+ isVisible(_node: ImmutableHtmlNode): boolean;
281
+ };
282
+ };
283
+ /**
284
+ * Factory function to create image size controls for different block elements
285
+ */
286
+ export declare function createImageSizeControl(controlId: string, targetBlockId: string, containerSelector: string): {
287
+ new (): {
288
+ getId(): string;
289
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
290
+ getParentControlId(): string;
291
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
292
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
293
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
294
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
295
+ isVisible(_node: ImmutableHtmlNode): boolean;
296
+ };
297
+ };
298
+ /**
299
+ * Factory function to create image margins controls for different block elements
300
+ */
301
+ export declare function createImageMarginsControl(controlId: string, targetBlockId: string, containerSelector: string): {
302
+ new (): {
303
+ getId(): string;
304
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
305
+ getParentControlId(): string;
306
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
307
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
308
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
309
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
310
+ isVisible(_node: ImmutableHtmlNode): boolean;
311
+ };
312
+ };