@useinsider/guido 2.1.0-beta.411f2a9 → 2.1.0-beta.425dfd0
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/dist/config/migrator/itemsBlockMigrator.js +123 -140
- package/dist/extensions/Blocks/Items/block.js +28 -19
- package/dist/extensions/Blocks/Items/controls/button/link.js +31 -19
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +81 -97
- package/dist/extensions/Blocks/Items/controls/image/link.js +31 -19
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +40 -28
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +46 -34
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +50 -45
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +51 -40
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +35 -23
- package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +57 -45
- package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +62 -42
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +191 -184
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +2 -0
- package/dist/extensions/Blocks/Items/extension.js +9 -8
- package/dist/extensions/Blocks/Items/store/items-block.js +79 -0
- package/dist/extensions/Blocks/Items/template.js +175 -181
- package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +3 -3
- package/dist/extensions/Blocks/common-control.js +92 -91
- package/dist/src/extensions/Blocks/Items/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +5 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +12 -10
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +45 -0
- package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +1 -2
- package/dist/src/extensions/Blocks/common-control.d.ts +5 -4
- package/package.json +1 -1
|
@@ -3,10 +3,12 @@ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
|
3
3
|
import { CommonControl } from '../../common-control';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = "ui-elements-items-block";
|
|
5
5
|
export declare class ItemsBlockControl extends CommonControl {
|
|
6
|
+
private store;
|
|
6
7
|
getId(): string;
|
|
7
8
|
getTemplate(): string;
|
|
8
9
|
onRender(): void;
|
|
9
10
|
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
11
|
+
onDestroy(): void;
|
|
10
12
|
_getItemsType(): string;
|
|
11
13
|
_getOrientation(): string;
|
|
12
14
|
_getItemInCart(): string;
|
|
@@ -16,7 +18,7 @@ export declare class ItemsBlockControl extends CommonControl {
|
|
|
16
18
|
_initializeSelectItems(): void;
|
|
17
19
|
_listenToFormUpdates(): void;
|
|
18
20
|
_renderTemplate(): void;
|
|
19
|
-
_getTemplateData(
|
|
21
|
+
_getTemplateData(): {
|
|
20
22
|
imageSrc: string;
|
|
21
23
|
name: string;
|
|
22
24
|
price: string;
|
|
@@ -24,15 +26,15 @@ export declare class ItemsBlockControl extends CommonControl {
|
|
|
24
26
|
quantity: string;
|
|
25
27
|
button: string;
|
|
26
28
|
};
|
|
27
|
-
_updateImageSrc(imageSrc: string
|
|
28
|
-
_updateName(name: string
|
|
29
|
-
_updatePrice(price: string
|
|
30
|
-
_updateOriginalPrice(originalPrice: string
|
|
31
|
-
_updateQuantity(quantity: string
|
|
32
|
-
_reOrderTemplate(
|
|
33
|
-
_updateDataTypeAttributes(itemsType: ProductType
|
|
34
|
-
_updateDataNumberAttributes(itemId: string
|
|
35
|
-
_reFillTemplate(
|
|
29
|
+
_updateImageSrc(imageSrc: string): void;
|
|
30
|
+
_updateName(name: string): void;
|
|
31
|
+
_updatePrice(price: string): void;
|
|
32
|
+
_updateOriginalPrice(originalPrice: string): void;
|
|
33
|
+
_updateQuantity(quantity: string): void;
|
|
34
|
+
_reOrderTemplate(): void;
|
|
35
|
+
_updateDataTypeAttributes(itemsType: ProductType): void;
|
|
36
|
+
_updateDataNumberAttributes(itemId: string): void;
|
|
37
|
+
_reFillTemplate(): void;
|
|
36
38
|
_recalculateTrimming(): void;
|
|
37
39
|
private _getParagraphFromBlock;
|
|
38
40
|
private _escapeRegex;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { OrientationType, ProductType } from '@@/Types/extensions/items';
|
|
2
|
+
interface ItemsBlockState {
|
|
3
|
+
itemsType: ProductType;
|
|
4
|
+
itemIds: string;
|
|
5
|
+
imageLink: string;
|
|
6
|
+
buttonLink: string;
|
|
7
|
+
orientation: OrientationType;
|
|
8
|
+
nameTrimming: boolean;
|
|
9
|
+
hideDiscount: boolean;
|
|
10
|
+
currencySymbol: string;
|
|
11
|
+
currencyLocation: string;
|
|
12
|
+
formattedPrice: boolean;
|
|
13
|
+
singlePrice: boolean;
|
|
14
|
+
priceOrientation: 'vertical' | 'horizontal';
|
|
15
|
+
templateData: {
|
|
16
|
+
imageSrc: string;
|
|
17
|
+
name: string;
|
|
18
|
+
price: string;
|
|
19
|
+
originalPrice: string;
|
|
20
|
+
quantity: string;
|
|
21
|
+
button: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare const useItemsBlockStore: import("pinia").StoreDefinition<"guidoItemsBlock", ItemsBlockState, {}, {
|
|
25
|
+
setItemsType(itemsType: ProductType): void;
|
|
26
|
+
setItemIds(itemIds: string): void;
|
|
27
|
+
setImageLink(imageLink: string): void;
|
|
28
|
+
setButtonLink(buttonLink: string): void;
|
|
29
|
+
setOrientation(orientation: OrientationType): void;
|
|
30
|
+
setNameTrimming(nameTrimming: boolean): void;
|
|
31
|
+
setHideDiscount(hideDiscount: boolean): void;
|
|
32
|
+
setCurrencySymbol(currencySymbol: string): void;
|
|
33
|
+
setCurrencyLocation(currencyLocation: string): void;
|
|
34
|
+
setFormattedPrice(formattedPrice: boolean): void;
|
|
35
|
+
setSinglePrice(singlePrice: boolean): void;
|
|
36
|
+
setPriceOrientation(priceOrientation: "vertical" | "horizontal"): void;
|
|
37
|
+
setTemplateData(templateData: ItemsBlockState["templateData"]): void;
|
|
38
|
+
updateFromAttributes(attributes: {
|
|
39
|
+
itemsType?: string;
|
|
40
|
+
itemIds?: string;
|
|
41
|
+
orientation?: string;
|
|
42
|
+
}): void;
|
|
43
|
+
reset(): void;
|
|
44
|
+
}>;
|
|
45
|
+
export {};
|
|
@@ -66,9 +66,8 @@ export declare function getItemsBlockConfig(currentNode: ImmutableHtmlNode | und
|
|
|
66
66
|
* @param currentNode - The current node from the control
|
|
67
67
|
* @param api - The API object (ControlApi or BlockApi)
|
|
68
68
|
* @param config - The configuration to set (partial update supported)
|
|
69
|
-
* @param modifier - Optional document modifier for batching updates
|
|
70
69
|
*/
|
|
71
|
-
export declare function setItemsBlockConfig(currentNode: ImmutableHtmlNode | undefined, api: ControlApi | BlockApi, config: Partial<ItemsBlockConfig
|
|
70
|
+
export declare function setItemsBlockConfig(currentNode: ImmutableHtmlNode | undefined, api: ControlApi | BlockApi, config: Partial<ItemsBlockConfig>): void;
|
|
72
71
|
/**
|
|
73
72
|
* Gets the block instance ID from the node config.
|
|
74
73
|
* @param currentNode - The current node from the control
|
|
@@ -66,13 +66,14 @@ export declare abstract class CommonControl extends Control {
|
|
|
66
66
|
*/
|
|
67
67
|
protected getBlockInstanceId(): string | null;
|
|
68
68
|
/**
|
|
69
|
-
* Handles block instance change detection and
|
|
70
|
-
* This is a helper method for controls that need to
|
|
69
|
+
* Handles block instance change detection and syncing.
|
|
70
|
+
* This is a helper method for controls that need to sync config when switching between block instances.
|
|
71
71
|
* Uses Stripo V2 nodeConfig API for block instance tracking.
|
|
72
|
-
* @param
|
|
72
|
+
* @param syncFunction - Function to call when block instance changes (to sync from node config)
|
|
73
|
+
* @param updateUI - Function to call to update the UI (called both on change and when same block)
|
|
73
74
|
* @returns true if block instance changed, false otherwise
|
|
74
75
|
*/
|
|
75
|
-
protected handleBlockInstanceChange(updateUI: () => void): boolean;
|
|
76
|
+
protected handleBlockInstanceChange(syncFunction: (node: ImmutableHtmlNode) => void, updateUI: () => void): boolean;
|
|
76
77
|
_GuLabel({ text, name }: LabelProps): string;
|
|
77
78
|
_GuToggle(name: string): string;
|
|
78
79
|
_GuSelectItem({ text, value }: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "2.1.0-beta.
|
|
3
|
+
"version": "2.1.0-beta.425dfd0",
|
|
4
4
|
"description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
|
|
5
5
|
"main": "./dist/guido.umd.cjs",
|
|
6
6
|
"module": "./dist/library.js",
|