@useinsider/guido 2.0.0-beta.143201d → 2.0.0-beta.1c331b8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/@types/config/schemas.js +3 -1
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +15 -17
- package/dist/composables/useStripo.js +40 -40
- package/dist/config/migrator/recommendationMigrator.js +2 -2
- package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
- package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
- package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
- package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
- package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +13 -4
- package/dist/extensions/Blocks/Recommendation/block.js +1 -1
- package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
- package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
- package/dist/extensions/Blocks/Recommendation/constants/layout.js +7 -0
- package/dist/extensions/Blocks/Recommendation/constants/selectors.js +11 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
- package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +238 -0
- package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
- package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +104 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +86 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +134 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +54 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +134 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +64 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +124 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +60 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +112 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +76 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +73 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +73 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +73 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +73 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +216 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +40 -43
- package/dist/extensions/Blocks/Recommendation/recommendation.css.js +5 -0
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +128 -72
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +28 -25
- package/dist/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.js +157 -0
- package/dist/extensions/Blocks/Recommendation/templates/horizontal/template.js +72 -0
- package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
- package/dist/extensions/Blocks/Recommendation/templates/utils.js +173 -0
- package/dist/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.js +186 -0
- package/dist/extensions/Blocks/Recommendation/templates/vertical/migration.js +251 -0
- package/dist/extensions/Blocks/Recommendation/templates/vertical/template.js +62 -0
- package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +36 -0
- package/dist/extensions/Blocks/controlFactories.js +162 -117
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +366 -291
- package/dist/package.json.js +1 -1
- package/dist/services/stripoApi.js +6 -10
- package/dist/src/@types/config/schemas.d.ts +4 -0
- package/dist/src/composables/useConfig.d.ts +2 -0
- package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
- package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
- package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
- package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +19 -11
- package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +12 -0
- package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +17 -0
- package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +19 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +95 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +24 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +34 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +17 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +43 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +40 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +81 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +72 -0
- package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +16 -16
- package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.d.ts +8 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/migration.d.ts +25 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/template.d.ts +18 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +39 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +45 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → vertical/migration.d.ts} +11 -4
- package/dist/src/extensions/Blocks/Recommendation/templates/vertical/template.d.ts +33 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
- package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
- package/dist/src/stores/config.d.ts +17 -0
- package/dist/static/styles/components/wide-panel.css.js +0 -4
- package/dist/static/styles/customEditorStyle.css.js +38 -2
- package/package.json +3 -3
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
- package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
- package/dist/extensions/Blocks/Recommendation/control.js +0 -306
- package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
- package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recommendation Block Controls
|
|
3
|
+
*
|
|
4
|
+
* This module exports all controls for the Recommendation extension.
|
|
5
|
+
* Controls are organized by element type for better discoverability.
|
|
6
|
+
* @example
|
|
7
|
+
* // Grouped imports (recommended)
|
|
8
|
+
* import { NameControls, ButtonControls } from './controls';
|
|
9
|
+
* // Or individual imports
|
|
10
|
+
* import { NameAlignControl, ButtonColorControl } from './controls';
|
|
11
|
+
*/
|
|
12
|
+
export { RecommendationBlockControl, CONTROL_BLOCK_ID, AlgorithmControl, ALGORITHM_CONTROL_ID, LocaleControl, LOCALE_CONTROL_ID, CurrencyControl, CURRENCY_CONTROL_ID, ProductLayoutControl, PRODUCT_LAYOUT_CONTROL_ID, FiltersControl, FILTERS_CONTROL_ID, ShuffleControl, SHUFFLE_CONTROL_ID, } from './main';
|
|
13
|
+
export * from './main/utils';
|
|
14
|
+
export { NameControls } from './name';
|
|
15
|
+
export { PriceControls } from './price';
|
|
16
|
+
export { OldPriceControls } from './oldPrice';
|
|
17
|
+
export { OmnibusPriceControls } from './omnibusPrice';
|
|
18
|
+
export { OmnibusDiscountControls } from './omnibusDiscount';
|
|
19
|
+
export { ButtonControls } from './button';
|
|
20
|
+
export { ImageControls } from './image';
|
|
21
|
+
export { SpacingControl, SPACING_CONTROL_ID } from './spacing';
|
|
22
|
+
export { CardBackgroundColorControl, CARD_BACKGROUND_COLOR_CONTROL_ID } from './cardBackground';
|
|
23
|
+
export { LayoutControl, LAYOUT_CONTROL_ID } from './layout';
|
|
24
|
+
export { RecommendationCardCompositionControl, COMPOSITION_CONTROL_BLOCK_ID } from './cardComposition';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Control
|
|
3
|
+
*
|
|
4
|
+
* Manages recommendation block layout orientation
|
|
5
|
+
* Allows switching between vertical (grid) and horizontal (list) layouts
|
|
6
|
+
*/
|
|
7
|
+
import type { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
8
|
+
import { CommonControl } from '../../../common-control';
|
|
9
|
+
import { type Orientation } from '../../templates';
|
|
10
|
+
export declare const LAYOUT_CONTROL_ID = "recommendation-layout-control";
|
|
11
|
+
/**
|
|
12
|
+
* Control for managing recommendation block layout orientation
|
|
13
|
+
* Allows switching between vertical (grid) and horizontal (list) layouts
|
|
14
|
+
*/
|
|
15
|
+
export declare class LayoutControl extends CommonControl {
|
|
16
|
+
private store;
|
|
17
|
+
private isChangingLayout;
|
|
18
|
+
getId(): string;
|
|
19
|
+
getTemplate(): string;
|
|
20
|
+
onRender(): void;
|
|
21
|
+
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
22
|
+
_setFormValues(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Handles layout change
|
|
25
|
+
* Updates the block's data attribute and regenerates product rows
|
|
26
|
+
*/
|
|
27
|
+
_onLayoutChange(layout: Orientation): void;
|
|
28
|
+
/**
|
|
29
|
+
* Regenerates product rows based on the selected layout
|
|
30
|
+
* Special handling: captures and reapplies background color across layout changes
|
|
31
|
+
*/
|
|
32
|
+
_regenerateProductRows(layout: Orientation): void;
|
|
33
|
+
_listenToFormUpdates(): void;
|
|
34
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CommonControl } from '../../../common-control';
|
|
2
|
+
export declare const ALGORITHM_CONTROL_ID = "recommendation-algorithm-control";
|
|
3
|
+
/**
|
|
4
|
+
* Control for selecting recommendation algorithm and manual product IDs
|
|
5
|
+
*/
|
|
6
|
+
export declare class AlgorithmControl extends CommonControl {
|
|
7
|
+
private store;
|
|
8
|
+
getId(): string;
|
|
9
|
+
getTemplate(): string;
|
|
10
|
+
onRender(): void;
|
|
11
|
+
_setFormValues(): void;
|
|
12
|
+
_initializeSelectItems(): void;
|
|
13
|
+
_setProductIdsVisibility(): void;
|
|
14
|
+
_onAlgorithmChange(value: string): void;
|
|
15
|
+
_onProductIdsChange(value: string): void;
|
|
16
|
+
_listenToFormUpdates(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CommonControl } from '../../../common-control';
|
|
2
|
+
export declare const CURRENCY_CONTROL_ID = "recommendation-currency-control";
|
|
3
|
+
/**
|
|
4
|
+
* Control for managing currency display settings in recommendation blocks
|
|
5
|
+
*/
|
|
6
|
+
export declare class CurrencyControl extends CommonControl {
|
|
7
|
+
private store;
|
|
8
|
+
getId(): string;
|
|
9
|
+
getTemplate(): string;
|
|
10
|
+
onRender(): void;
|
|
11
|
+
_setFormValues(): void;
|
|
12
|
+
_initializeSelectItems(): void;
|
|
13
|
+
_onCurrencyChange(value: string): void;
|
|
14
|
+
_onCurrencyConfigChange(item: string, value: string | number): void;
|
|
15
|
+
_listenToFormUpdates(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filters Control
|
|
3
|
+
*
|
|
4
|
+
* Handles the filter selection UI for recommendation products
|
|
5
|
+
* Opens filter selection drawer when button is clicked
|
|
6
|
+
*/
|
|
7
|
+
import { CommonControl } from '../../../common-control';
|
|
8
|
+
export declare const FILTERS_CONTROL_ID = "recommendation-filters-control";
|
|
9
|
+
/**
|
|
10
|
+
* Control for managing recommendation product filters
|
|
11
|
+
*/
|
|
12
|
+
export declare class FiltersControl extends CommonControl {
|
|
13
|
+
private store;
|
|
14
|
+
private addFilterListener;
|
|
15
|
+
private addFilterButton;
|
|
16
|
+
getId(): string;
|
|
17
|
+
getTemplate(): string;
|
|
18
|
+
onRender(): void;
|
|
19
|
+
onDestroy(): void;
|
|
20
|
+
_onFilterSelectClick(): void;
|
|
21
|
+
_setupButtonListener(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CommonControl } from '../../../common-control';
|
|
2
|
+
import { AlgorithmControl, ALGORITHM_CONTROL_ID } from './algorithm';
|
|
3
|
+
import { CurrencyControl, CURRENCY_CONTROL_ID } from './currency';
|
|
4
|
+
import { FiltersControl, FILTERS_CONTROL_ID } from './filters';
|
|
5
|
+
import { LocaleControl, LOCALE_CONTROL_ID } from './locale';
|
|
6
|
+
import { ProductLayoutControl, PRODUCT_LAYOUT_CONTROL_ID } from './productLayout';
|
|
7
|
+
import { ShuffleControl, SHUFFLE_CONTROL_ID } from './shuffle';
|
|
8
|
+
export declare const CONTROL_BLOCK_ID = "ui-elements-recommendation-block";
|
|
9
|
+
export { AlgorithmControl, ALGORITHM_CONTROL_ID, LocaleControl, LOCALE_CONTROL_ID, CurrencyControl, CURRENCY_CONTROL_ID, ProductLayoutControl, PRODUCT_LAYOUT_CONTROL_ID, FiltersControl, FILTERS_CONTROL_ID, ShuffleControl, SHUFFLE_CONTROL_ID, };
|
|
10
|
+
export * from './utils';
|
|
11
|
+
/**
|
|
12
|
+
* Main recommendation block control that composes all sub-controls
|
|
13
|
+
* Registered in the Settings tab of the block's settings panel
|
|
14
|
+
*/
|
|
15
|
+
export declare class RecommendationBlockControl extends CommonControl {
|
|
16
|
+
private store;
|
|
17
|
+
private storeUnsubscription;
|
|
18
|
+
private algorithmControl;
|
|
19
|
+
private localeControl;
|
|
20
|
+
private currencyControl;
|
|
21
|
+
private productLayoutControl;
|
|
22
|
+
private filtersControl;
|
|
23
|
+
private shuffleControl;
|
|
24
|
+
getId(): string;
|
|
25
|
+
getTemplate(): string;
|
|
26
|
+
onRender(): Promise<void>;
|
|
27
|
+
onDestroy(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Initialize all sub-controls with the shared API context
|
|
30
|
+
* Each sub-control manages its own form values and event listeners
|
|
31
|
+
*/
|
|
32
|
+
_initializeSubControls(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Debounced product fetch to prevent rapid API calls during config changes
|
|
35
|
+
*/
|
|
36
|
+
private _debouncedFetchProducts;
|
|
37
|
+
/**
|
|
38
|
+
* Listen to store changes that require product refresh
|
|
39
|
+
* Only triggers for meaningful config changes (size, strategy, filters, etc.)
|
|
40
|
+
* Uses debounce to prevent rapid API calls
|
|
41
|
+
*/
|
|
42
|
+
_listenStateUpdates(): void;
|
|
43
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CommonControl } from '../../../common-control';
|
|
2
|
+
export declare const LOCALE_CONTROL_ID = "recommendation-locale-control";
|
|
3
|
+
/**
|
|
4
|
+
* Control for selecting recommendation content locale/language
|
|
5
|
+
*/
|
|
6
|
+
export declare class LocaleControl extends CommonControl {
|
|
7
|
+
private store;
|
|
8
|
+
getId(): string;
|
|
9
|
+
getTemplate(): string;
|
|
10
|
+
onRender(): void;
|
|
11
|
+
_setFormValues(): void;
|
|
12
|
+
_initializeSelectItems(): void;
|
|
13
|
+
_onLocaleChange(value: string): void;
|
|
14
|
+
_listenToFormUpdates(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Product Layout Control
|
|
3
|
+
*
|
|
4
|
+
* Handles product display configuration:
|
|
5
|
+
* - Number of products to show
|
|
6
|
+
* - Products per row (hidden for horizontal layout)
|
|
7
|
+
* - Triggers product row regeneration on changes
|
|
8
|
+
*/
|
|
9
|
+
import type { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
10
|
+
import { CommonControl } from '../../../common-control';
|
|
11
|
+
export declare const PRODUCT_LAYOUT_CONTROL_ID = "recommendation-product-layout-control";
|
|
12
|
+
/**
|
|
13
|
+
* Control for configuring product count and layout density
|
|
14
|
+
*/
|
|
15
|
+
export declare class ProductLayoutControl extends CommonControl {
|
|
16
|
+
private store;
|
|
17
|
+
private storeUnsubscription;
|
|
18
|
+
getId(): string;
|
|
19
|
+
getTemplate(): string;
|
|
20
|
+
onRender(): void;
|
|
21
|
+
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
22
|
+
onDestroy(): void;
|
|
23
|
+
_setFormValues(): void;
|
|
24
|
+
_initializeCounterValues(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Updates "Products in One Row" visibility based on layout orientation
|
|
27
|
+
* This control is hidden for horizontal layout (products always take full width)
|
|
28
|
+
* Reads from store first (reliable during state transitions), falls back to DOM
|
|
29
|
+
*/
|
|
30
|
+
_updateProductsInRowVisibility(): void;
|
|
31
|
+
_onProductCountChange(value: string): void;
|
|
32
|
+
_onProductsInRowChange(value: number): void;
|
|
33
|
+
_regenerateProductRows(): void;
|
|
34
|
+
_debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
|
|
35
|
+
_listenToFormUpdates(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Subscribe to store changes to update visibility when layout changes
|
|
38
|
+
*/
|
|
39
|
+
_listenStateUpdates(): void;
|
|
40
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CommonControl } from '../../../common-control';
|
|
2
|
+
export declare const SHUFFLE_CONTROL_ID = "recommendation-shuffle-control";
|
|
3
|
+
/**
|
|
4
|
+
* Control for toggling product shuffle/randomization
|
|
5
|
+
*/
|
|
6
|
+
export declare class ShuffleControl extends CommonControl {
|
|
7
|
+
private store;
|
|
8
|
+
getId(): string;
|
|
9
|
+
getTemplate(): string;
|
|
10
|
+
onRender(): void;
|
|
11
|
+
_setFormValues(): void;
|
|
12
|
+
_initializeToggle(): void;
|
|
13
|
+
_onShuffleChange(value: boolean): void;
|
|
14
|
+
_listenToFormUpdates(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for Recommendation block controls
|
|
3
|
+
*
|
|
4
|
+
* Provides common functionality used across multiple controls:
|
|
5
|
+
* - Layout detection from DOM
|
|
6
|
+
* - Card composition retrieval
|
|
7
|
+
* - Product row regeneration
|
|
8
|
+
* - Spacing reapplication
|
|
9
|
+
*/
|
|
10
|
+
import type { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
11
|
+
import { ModificationDescription } from '@stripoinc/ui-editor-extensions';
|
|
12
|
+
import { type Orientation } from '../../templates';
|
|
13
|
+
type DocumentModifier = ReturnType<{
|
|
14
|
+
getDocumentModifier: () => {
|
|
15
|
+
modifyHtml: (node: ImmutableHtmlNode) => {
|
|
16
|
+
setStyle: (prop: string, value: string) => DocumentModifier;
|
|
17
|
+
setInnerHtml: (html: string) => DocumentModifier;
|
|
18
|
+
setAttribute: (name: string, value: string) => DocumentModifier;
|
|
19
|
+
};
|
|
20
|
+
apply: (description: ModificationDescription) => void;
|
|
21
|
+
};
|
|
22
|
+
}['getDocumentModifier']>;
|
|
23
|
+
/**
|
|
24
|
+
* Gets the block element from the current node
|
|
25
|
+
* The currentNode could BE the block element or contain it
|
|
26
|
+
* @param currentNode - The current template node
|
|
27
|
+
* @returns The block element or null if not found
|
|
28
|
+
*/
|
|
29
|
+
export declare function getBlockElement(currentNode: ImmutableHtmlNode | null | undefined): ImmutableHtmlNode | null;
|
|
30
|
+
/**
|
|
31
|
+
* Gets the current layout orientation from the block's data attribute
|
|
32
|
+
* @param currentNode - The current template node
|
|
33
|
+
* @returns The layout value ('vertical' or 'horizontal'), defaults to 'vertical'
|
|
34
|
+
*/
|
|
35
|
+
export declare function getCurrentLayout(currentNode: ImmutableHtmlNode | null | undefined): Orientation;
|
|
36
|
+
/**
|
|
37
|
+
* Gets the current card composition from block data attribute or use default
|
|
38
|
+
* @param currentNode - The current template node
|
|
39
|
+
* @returns Array of card element types in order
|
|
40
|
+
*/
|
|
41
|
+
export declare function getCardComposition(currentNode: ImmutableHtmlNode | null | undefined): string[];
|
|
42
|
+
export interface RegenerateProductRowsOptions {
|
|
43
|
+
currentNode: ImmutableHtmlNode | null | undefined;
|
|
44
|
+
documentModifier: DocumentModifier;
|
|
45
|
+
afterRegenerate?: () => void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Regenerates product rows based on current store configuration
|
|
49
|
+
* Reads products, layout, and composition from store/DOM and rebuilds the HTML
|
|
50
|
+
* @param options - Configuration options for regeneration
|
|
51
|
+
*/
|
|
52
|
+
export declare function regenerateProductRows(options: RegenerateProductRowsOptions): void;
|
|
53
|
+
export interface ReapplySpacingOptions {
|
|
54
|
+
currentNode: ImmutableHtmlNode | null | undefined;
|
|
55
|
+
documentModifier: DocumentModifier;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Reapplies spacing values from data attributes after product regeneration
|
|
59
|
+
* This ensures spacing persists when products are regenerated
|
|
60
|
+
* @param options - Configuration options
|
|
61
|
+
*/
|
|
62
|
+
export declare function reapplySpacing(options: ReapplySpacingOptions): void;
|
|
63
|
+
/**
|
|
64
|
+
* Gets current card background color from existing elements
|
|
65
|
+
* Checks both vertical (.product-card-segment) and horizontal (.product-card-wrapper) selectors
|
|
66
|
+
* @param currentNode - The current template node
|
|
67
|
+
* @returns Background color string or null if not found
|
|
68
|
+
*/
|
|
69
|
+
export declare function getCurrentCardBackgroundColor(currentNode: ImmutableHtmlNode | null | undefined): string | null;
|
|
70
|
+
export interface ApplyCardBackgroundColorOptions {
|
|
71
|
+
currentNode: ImmutableHtmlNode | null | undefined;
|
|
72
|
+
documentModifier: DocumentModifier;
|
|
73
|
+
bgColor: string | null;
|
|
74
|
+
layout: Orientation;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Applies card background color to appropriate elements based on layout
|
|
78
|
+
* @param options - Configuration options
|
|
79
|
+
*/
|
|
80
|
+
export declare function applyCardBackgroundColor(options: ApplyCardBackgroundColorOptions): void;
|
|
81
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Name Element Controls
|
|
3
|
+
*
|
|
4
|
+
* Controls for styling the product name element in recommendation cards.
|
|
5
|
+
*/
|
|
6
|
+
import { NameTextTrimControl } from './textTrim';
|
|
7
|
+
/**
|
|
8
|
+
* Grouped Name Controls
|
|
9
|
+
* Use this object for cleaner imports in extension.ts
|
|
10
|
+
*/
|
|
11
|
+
export declare const NameControls: {
|
|
12
|
+
readonly align: {
|
|
13
|
+
new (): {
|
|
14
|
+
getId(): string;
|
|
15
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
16
|
+
getParentControlId(): string;
|
|
17
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
18
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
19
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
20
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
21
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
readonly color: {
|
|
25
|
+
new (): {
|
|
26
|
+
getId(): string;
|
|
27
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
28
|
+
getParentControlId(): string;
|
|
29
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
30
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
31
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
32
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
33
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
readonly size: {
|
|
37
|
+
new (): {
|
|
38
|
+
getId(): string;
|
|
39
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
40
|
+
getParentControlId(): string;
|
|
41
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
42
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
43
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
44
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
45
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
readonly style: {
|
|
49
|
+
new (): {
|
|
50
|
+
getId(): string;
|
|
51
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
52
|
+
getParentControlId(): string;
|
|
53
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
54
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
55
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
56
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
57
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
readonly fontFamily: {
|
|
61
|
+
new (): {
|
|
62
|
+
getId(): string;
|
|
63
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
64
|
+
getParentControlId(): string;
|
|
65
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
66
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
67
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
68
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
69
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
readonly background: {
|
|
73
|
+
new (): {
|
|
74
|
+
getId(): string;
|
|
75
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
76
|
+
getParentControlId(): string;
|
|
77
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
78
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
79
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
80
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
81
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
readonly paddings: {
|
|
85
|
+
new (): {
|
|
86
|
+
getId(): string;
|
|
87
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
88
|
+
getParentControlId(): string;
|
|
89
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
90
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
91
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
92
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
93
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
readonly textTrim: typeof NameTextTrimControl;
|
|
97
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
import { CommonControl } from '../../../common-control';
|
|
3
|
+
/**
|
|
4
|
+
* Control for enabling/disabling text trimming on product names
|
|
5
|
+
* When enabled, adds a CSS class that applies text-overflow: ellipsis
|
|
6
|
+
*/
|
|
7
|
+
export declare class NameTextTrimControl extends CommonControl {
|
|
8
|
+
getId(): string;
|
|
9
|
+
getTemplate(): string;
|
|
10
|
+
onRender(): void;
|
|
11
|
+
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
12
|
+
_setFormValues(): void;
|
|
13
|
+
_getCurrentTrimState(): boolean;
|
|
14
|
+
_onTextTrimChange(enabled: boolean): void;
|
|
15
|
+
_listenToFormUpdates(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Old Price Element Controls
|
|
3
|
+
*
|
|
4
|
+
* Controls for styling the original/old price element in recommendation cards.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Grouped Old Price Controls
|
|
8
|
+
* Use this object for cleaner imports in extension.ts
|
|
9
|
+
*/
|
|
10
|
+
export declare const OldPriceControls: {
|
|
11
|
+
readonly align: {
|
|
12
|
+
new (): {
|
|
13
|
+
getId(): string;
|
|
14
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
15
|
+
getParentControlId(): string;
|
|
16
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
17
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
18
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
19
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
20
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
readonly color: {
|
|
24
|
+
new (): {
|
|
25
|
+
getId(): string;
|
|
26
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
27
|
+
getParentControlId(): string;
|
|
28
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
29
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
30
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
31
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
32
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
readonly size: {
|
|
36
|
+
new (): {
|
|
37
|
+
getId(): string;
|
|
38
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
39
|
+
getParentControlId(): string;
|
|
40
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
41
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
42
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
43
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
44
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
readonly style: {
|
|
48
|
+
new (): {
|
|
49
|
+
getId(): string;
|
|
50
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
51
|
+
getParentControlId(): string;
|
|
52
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
53
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
54
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
55
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
56
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
readonly fontFamily: {
|
|
60
|
+
new (): {
|
|
61
|
+
getId(): string;
|
|
62
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
63
|
+
getParentControlId(): string;
|
|
64
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
65
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
66
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
67
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
68
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
readonly background: {
|
|
72
|
+
new (): {
|
|
73
|
+
getId(): string;
|
|
74
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
75
|
+
getParentControlId(): string;
|
|
76
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
77
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
78
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
79
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
80
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
readonly paddings: {
|
|
84
|
+
new (): {
|
|
85
|
+
getId(): string;
|
|
86
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
87
|
+
getParentControlId(): string;
|
|
88
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
89
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
90
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
91
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
92
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Omnibus Discount Element Controls
|
|
3
|
+
*
|
|
4
|
+
* Controls for styling the omnibus discount element in recommendation cards.
|
|
5
|
+
* Includes text before/after controls for compliance text.
|
|
6
|
+
*/
|
|
7
|
+
import { OmnibusDiscountTextAfterControl } from './textAfter';
|
|
8
|
+
import { OmnibusDiscountTextBeforeControl } from './textBefore';
|
|
9
|
+
/**
|
|
10
|
+
* Grouped Omnibus Discount Controls
|
|
11
|
+
* Use this object for cleaner imports in extension.ts
|
|
12
|
+
*/
|
|
13
|
+
export declare const OmnibusDiscountControls: {
|
|
14
|
+
readonly align: {
|
|
15
|
+
new (): {
|
|
16
|
+
getId(): string;
|
|
17
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
18
|
+
getParentControlId(): string;
|
|
19
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
20
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
21
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
22
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
23
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
readonly color: {
|
|
27
|
+
new (): {
|
|
28
|
+
getId(): string;
|
|
29
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
30
|
+
getParentControlId(): string;
|
|
31
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
32
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
33
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
34
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
35
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
readonly size: {
|
|
39
|
+
new (): {
|
|
40
|
+
getId(): string;
|
|
41
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
42
|
+
getParentControlId(): string;
|
|
43
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
44
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
45
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
46
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
47
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
readonly style: {
|
|
51
|
+
new (): {
|
|
52
|
+
getId(): string;
|
|
53
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
54
|
+
getParentControlId(): string;
|
|
55
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
56
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
57
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
58
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
59
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
readonly fontFamily: {
|
|
63
|
+
new (): {
|
|
64
|
+
getId(): string;
|
|
65
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
66
|
+
getParentControlId(): string;
|
|
67
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
68
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
69
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
70
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
71
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
readonly background: {
|
|
75
|
+
new (): {
|
|
76
|
+
getId(): string;
|
|
77
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
78
|
+
getParentControlId(): string;
|
|
79
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
80
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
81
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
82
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
83
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
readonly paddings: {
|
|
87
|
+
new (): {
|
|
88
|
+
getId(): string;
|
|
89
|
+
getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
|
|
90
|
+
getParentControlId(): string;
|
|
91
|
+
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
92
|
+
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
93
|
+
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
94
|
+
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
95
|
+
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
readonly textBefore: typeof OmnibusDiscountTextBeforeControl;
|
|
99
|
+
readonly textAfter: typeof OmnibusDiscountTextAfterControl;
|
|
100
|
+
};
|