@useinsider/guido 2.0.0-beta.5ccd854 → 2.0.0-beta.689d09e

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 (77) hide show
  1. package/README.md +2 -0
  2. package/dist/@types/config/schemas.js +55 -39
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +15 -17
  5. package/dist/components/organisms/header/LeftSlot.vue.js +12 -12
  6. package/dist/components/organisms/header/LeftSlot.vue2.js +6 -6
  7. package/dist/components/organisms/header/RightSlot.vue2.js +10 -10
  8. package/dist/composables/useConfig.js +29 -27
  9. package/dist/composables/useSave.js +13 -11
  10. package/dist/composables/useStripo.js +42 -40
  11. package/dist/config/migrator/itemsBlockMigrator.js +184 -125
  12. package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
  13. package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
  14. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
  15. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
  16. package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
  17. package/dist/extensions/Blocks/Items/block.js +1 -1
  18. package/dist/extensions/Blocks/Items/controls/button/link.js +22 -29
  19. package/dist/extensions/Blocks/Items/controls/cardComposition.js +59 -36
  20. package/dist/extensions/Blocks/Items/controls/image/link.js +23 -30
  21. package/dist/extensions/Blocks/Items/controls/name/trimming.js +25 -25
  22. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +19 -17
  23. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +31 -29
  24. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +44 -38
  25. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +21 -19
  26. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +1 -1
  27. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +93 -0
  28. package/dist/extensions/Blocks/Items/controls/settingsControl.js +99 -95
  29. package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
  30. package/dist/extensions/Blocks/Items/enums/productEnums.js +43 -45
  31. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +2 -1
  32. package/dist/extensions/Blocks/Items/extension.js +7 -6
  33. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -1
  34. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -1
  35. package/dist/extensions/Blocks/Items/settingsPanel.js +27 -26
  36. package/dist/extensions/Blocks/Items/store/items-block.js +9 -5
  37. package/dist/extensions/Blocks/Items/template.js +285 -221
  38. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +94 -82
  39. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  40. package/dist/extensions/Blocks/common-control.js +45 -57
  41. package/dist/extensions/Blocks/controlFactories.js +139 -118
  42. package/dist/guido.css +1 -1
  43. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +53 -48
  44. package/dist/package.json.js +7 -0
  45. package/dist/services/stripoApi.js +6 -10
  46. package/dist/src/@types/config/index.d.ts +2 -2
  47. package/dist/src/@types/config/schemas.d.ts +30 -0
  48. package/dist/src/@types/config/types.d.ts +7 -1
  49. package/dist/src/composables/useConfig.d.ts +8 -0
  50. package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
  51. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
  52. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  53. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -2
  54. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +9 -0
  55. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -2
  56. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +18 -0
  57. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +1 -0
  58. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +24 -26
  59. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +1 -0
  60. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +2 -0
  61. package/dist/src/extensions/Blocks/Items/template.d.ts +3 -1
  62. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +4 -2
  63. package/dist/src/extensions/Blocks/common-control.d.ts +1 -7
  64. package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
  65. package/dist/src/stores/config.d.ts +164 -1
  66. package/dist/static/styles/components/button.css.js +1 -1
  67. package/dist/stores/config.js +7 -0
  68. package/dist/utils/pairProductVariables.js +61 -58
  69. package/package.json +1 -1
  70. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  71. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  72. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -67
  73. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -46
  74. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  75. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  76. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -50
  77. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
@@ -8,7 +8,5 @@ export declare class ButtonLinkControl extends CommonControl {
8
8
  getTemplate(): string;
9
9
  onRender(): void;
10
10
  onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
- _listenToFormUpdates(): void;
12
- _onLinkChange(value: string): void;
13
11
  _getLink(): string;
14
12
  }
@@ -29,5 +29,14 @@ export declare class ItemsBlockCardCompositionControl extends CommonControl {
29
29
  _onProductQuantityChange(value: boolean): void;
30
30
  _onProductPriceChange(value: boolean): void;
31
31
  _onProductOriginalPriceChange(value: boolean): void;
32
+ /**
33
+ * Updates both price cell widths in vertical layout based on priceOrientation and visibility.
34
+ * - When priceOrientation is 'vertical': both cells are 100% (stacked layout)
35
+ * - When priceOrientation is 'horizontal':
36
+ * - When original price is hidden, price cell expands to 100%
37
+ * - When price is hidden, original price cell expands to 100%
38
+ * - When both are visible, they share 50% each
39
+ */
40
+ _updatePriceCellWidthsForVerticalLayout(): void;
32
41
  _onProductButtonChange(value: boolean): void;
33
42
  }
@@ -8,7 +8,5 @@ export declare class ImageLinkControl extends CommonControl {
8
8
  getTemplate(): string;
9
9
  onRender(): void;
10
10
  onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
- _listenToFormUpdates(): void;
12
- _onLinkChange(value: string): void;
13
11
  _getLink(): string;
14
12
  }
@@ -0,0 +1,18 @@
1
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ import { CommonControl } from '../../../common-control';
3
+ import { ItemsBlockControlId } from '../../enums/controlEnums';
4
+ export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.PRICE_SINGLE_PRICE;
5
+ export declare class PriceSinglePriceControl extends CommonControl {
6
+ private store;
7
+ getId(): string;
8
+ getTemplate(): string;
9
+ onRender(): void;
10
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
+ /**
12
+ * Syncs single price state from nodeConfig.
13
+ */
14
+ private _syncSinglePriceFromNodeConfig;
15
+ _onSinglePriceChange(value: boolean): void;
16
+ private _updatePriceBlock;
17
+ _getSinglePrice(): string;
18
+ }
@@ -42,6 +42,7 @@ export declare enum ItemsBlockControlId {
42
42
  PRICE_PADDINGS = "items-block-price-paddings-control",
43
43
  PRICE_HIDE_DISCOUNT = "items-block-price-hide-discount-control",
44
44
  PRICE_FORMATTED_PRICE = "items-block-price-formatted-price-control",
45
+ PRICE_SINGLE_PRICE = "items-block-price-single-price-control",
45
46
  PRICE_CURRENCY_SYMBOL = "items-block-price-currency-symbol-control",
46
47
  PRICE_CURRENCY_LOCATION = "items-block-price-currency-location-control",
47
48
  PRICE_ORIENTATION = "items-block-price-orientation-control",
@@ -1,30 +1,4 @@
1
1
  export declare const templateFirstLine = "<td align=\"center\" class=\"ins-product-td items-block items-block-v2\">";
2
- export declare const configAttributes: {
3
- TYPE: string;
4
- ITEMS_INDEX_SELECT_CONTROL_VALUE: string;
5
- ORIENTATION: string;
6
- PRODUCT_NAME_TRIMMING: string;
7
- PRODUCT_PRICE_HIDE_DISCOUNT: string;
8
- PRODUCT_PRICE_FORMATTED: string;
9
- PRODUCT_PRICE_CURRENCY_SYMBOL: string;
10
- PRODUCT_PRICE_CURRENCY_LOCATION: string;
11
- PRODUCT_ORIGINAL_PRICE_CONTROL_ORIENTATION: string;
12
- PRODUCT_BUTTON_LINK: string;
13
- PRODUCT_IMAGE_LINK: string;
14
- PRODUCT_NAME_CONTROL_VALUE: string;
15
- PRODUCT_QUANTITY_CONTROL_VALUE: string;
16
- PRODUCT_PRICE_CONTROL_VALUE: string;
17
- BLOCK_INSTANCE_ID: string;
18
- NAME_CONTROL_ENABLED: string;
19
- QUANTITY_CONTROL_ENABLED: string;
20
- PRICE_CONTROL_OPENED: string;
21
- PRODUCT_IMAGE_VISIBLE: string;
22
- PRODUCT_NAME_VISIBLE: string;
23
- PRODUCT_QUANTITY_VISIBLE: string;
24
- PRODUCT_PRICE_VISIBLE: string;
25
- PRODUCT_ORIGINAL_PRICE_VISIBLE: string;
26
- PRODUCT_BUTTON_VISIBLE: string;
27
- };
28
2
  export declare const productPairs: {
29
3
  PAIRS_FOR_EXTENSION: {
30
4
  imageSrc: {
@@ -79,25 +53,37 @@ export declare const productPairs: {
79
53
  CART_ITEMS: {
80
54
  PRICE: string;
81
55
  PRICE_FORMATTED: string;
56
+ SINGLE_PRICE: string;
57
+ SINGLE_PRICE_FORMATTED: string;
82
58
  CURRENCY: string;
83
59
  DEFAULT_PRICE: string;
84
60
  DEFAULT_PRICE_FORMATTED: string;
61
+ DEFAULT_SINGLE_PRICE: string;
62
+ DEFAULT_SINGLE_PRICE_FORMATTED: string;
85
63
  DEFAULT_CURRENCY: string;
86
64
  };
87
65
  BROWSED_ITEMS: {
88
66
  PRICE: string;
89
67
  PRICE_FORMATTED: string;
68
+ SINGLE_PRICE: string;
69
+ SINGLE_PRICE_FORMATTED: string;
90
70
  CURRENCY: string;
91
71
  DEFAULT_PRICE: string;
92
72
  DEFAULT_PRICE_FORMATTED: string;
73
+ DEFAULT_SINGLE_PRICE: string;
74
+ DEFAULT_SINGLE_PRICE_FORMATTED: string;
93
75
  DEFAULT_CURRENCY: string;
94
76
  };
95
77
  PURCHASED_ITEMS: {
96
78
  PRICE: string;
97
79
  PRICE_FORMATTED: string;
80
+ SINGLE_PRICE: string;
81
+ SINGLE_PRICE_FORMATTED: string;
98
82
  CURRENCY: string;
99
83
  DEFAULT_PRICE: string;
100
84
  DEFAULT_PRICE_FORMATTED: string;
85
+ DEFAULT_SINGLE_PRICE: string;
86
+ DEFAULT_SINGLE_PRICE_FORMATTED: string;
101
87
  DEFAULT_CURRENCY: string;
102
88
  };
103
89
  };
@@ -105,25 +91,37 @@ export declare const productPairs: {
105
91
  CART_ITEMS: {
106
92
  PRICE: string;
107
93
  PRICE_FORMATTED: string;
94
+ SINGLE_PRICE: string;
95
+ SINGLE_PRICE_FORMATTED: string;
108
96
  CURRENCY: string;
109
97
  DEFAULT_PRICE: string;
110
98
  DEFAULT_PRICE_FORMATTED: string;
99
+ DEFAULT_SINGLE_PRICE: string;
100
+ DEFAULT_SINGLE_PRICE_FORMATTED: string;
111
101
  DEFAULT_CURRENCY: string;
112
102
  };
113
103
  BROWSED_ITEMS: {
114
104
  PRICE: string;
115
105
  PRICE_FORMATTED: string;
106
+ SINGLE_PRICE: string;
107
+ SINGLE_PRICE_FORMATTED: string;
116
108
  CURRENCY: string;
117
109
  DEFAULT_PRICE: string;
118
110
  DEFAULT_PRICE_FORMATTED: string;
111
+ DEFAULT_SINGLE_PRICE: string;
112
+ DEFAULT_SINGLE_PRICE_FORMATTED: string;
119
113
  DEFAULT_CURRENCY: string;
120
114
  };
121
115
  PURCHASED_ITEMS: {
122
116
  PRICE: string;
123
117
  PRICE_FORMATTED: string;
118
+ SINGLE_PRICE: string;
119
+ SINGLE_PRICE_FORMATTED: string;
124
120
  CURRENCY: string;
125
121
  DEFAULT_PRICE: string;
126
122
  DEFAULT_PRICE_FORMATTED: string;
123
+ DEFAULT_SINGLE_PRICE: string;
124
+ DEFAULT_SINGLE_PRICE_FORMATTED: string;
127
125
  DEFAULT_CURRENCY: string;
128
126
  };
129
127
  };
@@ -41,6 +41,7 @@ export declare const DefaultConfigValues: {
41
41
  productOriginalPriceVisible: string;
42
42
  productButtonVisible: string;
43
43
  productImageWidth: string;
44
+ productImageHeight: string;
44
45
  };
45
46
  export declare const ItemInCartOptions: {
46
47
  [x: string]: {
@@ -10,6 +10,7 @@ interface ItemsBlockState {
10
10
  currencySymbol: string;
11
11
  currencyLocation: string;
12
12
  formattedPrice: boolean;
13
+ singlePrice: boolean;
13
14
  priceOrientation: 'vertical' | 'horizontal';
14
15
  templateData: {
15
16
  imageSrc: string;
@@ -31,6 +32,7 @@ export declare const useItemsBlockStore: import("pinia").StoreDefinition<"guidoI
31
32
  setCurrencySymbol(currencySymbol: string): void;
32
33
  setCurrencyLocation(currencyLocation: string): void;
33
34
  setFormattedPrice(formattedPrice: boolean): void;
35
+ setSinglePrice(singlePrice: boolean): void;
34
36
  setPriceOrientation(priceOrientation: "vertical" | "horizontal"): void;
35
37
  setTemplateData(templateData: ItemsBlockState["templateData"]): void;
36
38
  updateFromAttributes(attributes: {
@@ -10,8 +10,10 @@ type TemplateParameters = {
10
10
  currencySymbol?: string;
11
11
  currencyLocation?: string;
12
12
  formattedPrice?: boolean;
13
+ /** Whether to show single product price (price divided by quantity) */
14
+ singlePrice?: boolean;
13
15
  migrate?: boolean;
14
- /** Legacy config format (data-* attributes from esd-config-block) */
16
+ /** Legacy config format (data-* attributes for migration) */
15
17
  configBlockAttributes?: Record<string, string>;
16
18
  /** New config format (Stripo V2 nodeConfig from esd-ext-config) */
17
19
  nodeConfig?: Partial<ItemsBlockConfig>;
@@ -2,7 +2,6 @@ import { OrientationType, ProductType } from '@@/Types/extensions/items';
2
2
  import { ImmutableHtmlNode, ImmutableHtmlElementNode, ControlApi, BlockApi } from '@stripoinc/ui-editor-extensions';
3
3
  /**
4
4
  * Typed configuration object for Items Block.
5
- * Replaces the deprecated esd-config-block data-* attributes approach.
6
5
  * Configuration is stored directly on the block node using Stripo V2's getNodeConfig/setNodeConfig API.
7
6
  */
8
7
  export interface ItemsBlockConfig {
@@ -16,6 +15,7 @@ export interface ItemsBlockConfig {
16
15
  nameControlEnabled: boolean;
17
16
  priceHideDiscount: boolean;
18
17
  priceFormatted: boolean;
18
+ priceSinglePrice: boolean;
19
19
  priceCurrencySymbol: string;
20
20
  priceCurrencyLocation: string;
21
21
  priceControlOpened: boolean;
@@ -24,6 +24,8 @@ export interface ItemsBlockConfig {
24
24
  buttonLink: string;
25
25
  imageLink: string;
26
26
  buttonLabel: string;
27
+ /** Whether button should be full width (true = es-fw class) or inline (false = es-il class) */
28
+ buttonFullWidth: boolean;
27
29
  imageVisible: boolean;
28
30
  nameVisible: boolean;
29
31
  quantityVisible: boolean;
@@ -50,7 +52,7 @@ export declare function getItemsBlockContainer(currentNode: ImmutableHtmlNode |
50
52
  /**
51
53
  * Gets the node configuration from the Items block.
52
54
  * Uses Stripo V2's getNodeConfig() API.
53
- * Falls back to migrating from legacy esd-config-block if nodeConfig is empty.
55
+ * Falls back to migrating from legacy config block if nodeConfig is empty.
54
56
  * @param currentNode - The current node from the control
55
57
  * @returns The ItemsBlockConfig object or null if not found
56
58
  */
@@ -61,13 +61,7 @@ export declare abstract class CommonControl extends Control {
61
61
  */
62
62
  protected getItemsBlockContainer(): ImmutableHtmlElementNode | null;
63
63
  /**
64
- * Gets the config block element from the current node (legacy support).
65
- * @deprecated Use getNodeConfig() from nodeConfigUtils instead for Stripo V2
66
- * @returns The config block element or null if not found
67
- */
68
- protected getConfigBlock(): ImmutableHtmlElementNode | null;
69
- /**
70
- * Gets the current block instance ID from the node config (Stripo V2) or legacy config block.
64
+ * Gets the current block instance ID from the node config (Stripo V2).
71
65
  * @returns The block instance ID or null if not found
72
66
  */
73
67
  protected getBlockInstanceId(): string | null;
@@ -12,8 +12,9 @@
12
12
  import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
13
13
  /**
14
14
  * Factory function to create text align controls for different block elements
15
+ * When targetBlockId and containerSelector are not provided, applies directly to root
15
16
  */
16
- export declare function createTextAlignControl(controlId: string, targetBlockId: string, containerSelector: string): {
17
+ export declare function createTextAlignControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
17
18
  new (): {
18
19
  getId(): string;
19
20
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -27,8 +28,9 @@ export declare function createTextAlignControl(controlId: string, targetBlockId:
27
28
  };
28
29
  /**
29
30
  * Factory function to create text color controls for different block elements
31
+ * When targetBlockId and containerSelector are not provided, applies directly to root
30
32
  */
31
- export declare function createTextColorControl(controlId: string, targetBlockId: string, containerSelector?: string): {
33
+ export declare function createTextColorControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
32
34
  new (): {
33
35
  getId(): string;
34
36
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -42,8 +44,9 @@ export declare function createTextColorControl(controlId: string, targetBlockId:
42
44
  };
43
45
  /**
44
46
  * Factory function to create text size controls for different block elements
47
+ * When targetBlockId and containerSelector are not provided, applies directly to root
45
48
  */
46
- export declare function createTextSizeControl(controlId: string, targetBlockId: string, containerSelector?: string): {
49
+ export declare function createTextSizeControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
47
50
  new (): {
48
51
  getId(): string;
49
52
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -57,8 +60,9 @@ export declare function createTextSizeControl(controlId: string, targetBlockId:
57
60
  };
58
61
  /**
59
62
  * Factory function to create text style controls for different block elements
63
+ * When targetBlockId and containerSelector are not provided, applies directly to root
60
64
  */
61
- export declare function createTextStyleControl(controlId: string, targetBlockId: string, containerSelector?: string): {
65
+ export declare function createTextStyleControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
62
66
  new (): {
63
67
  getId(): string;
64
68
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -72,8 +76,9 @@ export declare function createTextStyleControl(controlId: string, targetBlockId:
72
76
  };
73
77
  /**
74
78
  * Factory function to create text font family controls for different block elements
79
+ * When targetBlockId and containerSelector are not provided, applies directly to root
75
80
  */
76
- export declare function createTextFontFamilyControl(controlId: string, targetBlockId: string, containerSelector?: string): {
81
+ export declare function createTextFontFamilyControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
77
82
  new (): {
78
83
  getId(): string;
79
84
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -87,8 +92,9 @@ export declare function createTextFontFamilyControl(controlId: string, targetBlo
87
92
  };
88
93
  /**
89
94
  * Factory function to create text background color controls for different block elements
95
+ * When targetBlockId and containerSelector are not provided, applies directly to root
90
96
  */
91
- export declare function createTextBackgroundColorControl(controlId: string, targetBlockId: string, containerSelector?: string): {
97
+ export declare function createTextBackgroundColorControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
92
98
  new (): {
93
99
  getId(): string;
94
100
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -102,8 +108,25 @@ export declare function createTextBackgroundColorControl(controlId: string, targ
102
108
  };
103
109
  /**
104
110
  * Factory function to create paddings controls for different block elements
111
+ * When targetBlockId and containerSelector are not provided, applies directly to root
105
112
  */
106
- export declare function createPaddingsControl(controlId: string, targetBlockId: string, containerSelector?: string): {
113
+ export declare function createPaddingsControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
114
+ new (): {
115
+ getId(): string;
116
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
117
+ getParentControlId(): string;
118
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
119
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
120
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
121
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
122
+ isVisible(_node: ImmutableHtmlNode): boolean;
123
+ };
124
+ };
125
+ /**
126
+ * Factory function to create text line spacing controls for different block elements
127
+ * When targetBlockId and containerSelector are not provided, applies directly to root
128
+ */
129
+ export declare function createTextLineSpacingControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
107
130
  new (): {
108
131
  getId(): string;
109
132
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];