@liquidcommerce/elements-sdk 2.6.0-beta.43 → 2.6.0-beta.45
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/index.checkout.esm.js +6613 -6574
- package/dist/index.esm.js +11549 -11207
- package/dist/ssr-stub.esm.js +2 -0
- package/dist/types/clients/base.d.ts +2 -2
- package/dist/types/core/store/interfaces/product-list.interface.d.ts +10 -8
- package/dist/types/enums/core.enum.d.ts +2 -0
- package/dist/types/modules/address/address-input.component.d.ts +0 -11
- package/dist/types/modules/product-list/components/index.d.ts +2 -0
- package/dist/types/modules/product-list/components/product-list-engraving.component.d.ts +6 -4
- package/dist/types/modules/product-list/components/product-list-product-engraving-lines.component.d.ts +21 -0
- package/dist/types/modules/product-list/components/product-list-product-pre-cart.component.d.ts +20 -4
- package/dist/types/modules/product-list/components/product-list-retailers-content.component.d.ts +22 -0
- package/dist/types/modules/product-list/components/product-list-retailers.component.d.ts +5 -9
- package/dist/types/modules/product-list/product-list.commands.d.ts +1 -0
- package/dist/types/modules/ui-components/engraving/engraving-form.component.d.ts +1 -10
- package/dist/types/modules/ui-components/engraving/engraving-view.component.d.ts +6 -1
- package/package.json +1 -1
package/dist/ssr-stub.esm.js
CHANGED
|
@@ -182,6 +182,8 @@ const COMPONENT_TYPE = {
|
|
|
182
182
|
PRODUCT_LIST_RETAILERS: 'product-list-retailers',
|
|
183
183
|
PRODUCT_LIST_ENGRAVING_FORM: 'product-list-engraving-form',
|
|
184
184
|
PRODUCT_LIST_PRODUCT_PRE_CART: 'product-list-product-pre-cart',
|
|
185
|
+
PRODUCT_LIST_RETAILERS_CONTENT: 'product-list-retailers-content',
|
|
186
|
+
PRODUCT_LIST_PRODUCT_ENGRAVING_LINES: 'product-list-product-engraving-lines',
|
|
185
187
|
CART: 'cart',
|
|
186
188
|
CART_RETAILER: 'cart-retailer',
|
|
187
189
|
CART_ITEM: 'cart-item',
|
|
@@ -35,8 +35,8 @@ export declare abstract class ElementsBaseClient {
|
|
|
35
35
|
protected readonly logger: ReturnType<typeof LoggerFactory.get>;
|
|
36
36
|
protected clientPrepared: boolean;
|
|
37
37
|
protected componentFactoryInitialized: boolean;
|
|
38
|
-
protected
|
|
39
|
-
protected
|
|
38
|
+
protected cartDrawerElement: HTMLElement | null;
|
|
39
|
+
protected modalElement: HTMLElement | null;
|
|
40
40
|
protected injectedComponents: Map<string, IInjectedComponent>;
|
|
41
41
|
constructor(clientConfigs: IClientConfigs);
|
|
42
42
|
prepare(): Promise<void>;
|
|
@@ -22,6 +22,15 @@ export interface IProductList extends IProduct {
|
|
|
22
22
|
export interface IProductListProduct extends Omit<IProduct, 'sizes'> {
|
|
23
23
|
sizes: Record<string, IProductSizeStore>;
|
|
24
24
|
}
|
|
25
|
+
export interface IUserProducts {
|
|
26
|
+
[productId: string]: {
|
|
27
|
+
selectedSizeId: string;
|
|
28
|
+
selectedFulfillmentType: FulfillmentType;
|
|
29
|
+
selectedFulfillment: IProductFulfillmentStore | null;
|
|
30
|
+
selectedQuantity: number;
|
|
31
|
+
engravingLines?: string[];
|
|
32
|
+
};
|
|
33
|
+
}
|
|
25
34
|
export interface IProductListStore {
|
|
26
35
|
products: IProductListProduct[];
|
|
27
36
|
retailers: Record<string, IRetailer>;
|
|
@@ -33,13 +42,6 @@ export interface IProductListStore {
|
|
|
33
42
|
rows: number;
|
|
34
43
|
columns: number;
|
|
35
44
|
};
|
|
36
|
-
userProducts:
|
|
37
|
-
[productId: string]: {
|
|
38
|
-
selectedSizeId: string;
|
|
39
|
-
selectedFulfillmentType: FulfillmentType;
|
|
40
|
-
selectedFulfillment: IProductFulfillmentStore | null;
|
|
41
|
-
selectedQuantity: number;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
45
|
+
userProducts: IUserProducts;
|
|
44
46
|
loading: boolean;
|
|
45
47
|
}
|
|
@@ -101,6 +101,8 @@ export declare const COMPONENT_TYPE: {
|
|
|
101
101
|
readonly PRODUCT_LIST_RETAILERS: "product-list-retailers";
|
|
102
102
|
readonly PRODUCT_LIST_ENGRAVING_FORM: "product-list-engraving-form";
|
|
103
103
|
readonly PRODUCT_LIST_PRODUCT_PRE_CART: "product-list-product-pre-cart";
|
|
104
|
+
readonly PRODUCT_LIST_RETAILERS_CONTENT: "product-list-retailers-content";
|
|
105
|
+
readonly PRODUCT_LIST_PRODUCT_ENGRAVING_LINES: "product-list-product-engraving-lines";
|
|
104
106
|
readonly CART: "cart";
|
|
105
107
|
readonly CART_RETAILER: "cart-retailer";
|
|
106
108
|
readonly CART_ITEM: "cart-item";
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import type { IProductListProduct } from 'core/store/interfaces/product-list.interface';
|
|
2
|
-
import { type NavigationSourceType } from 'enums';
|
|
3
|
-
import type { IFulfillment } from 'interfaces/api/product.interface';
|
|
4
|
-
import type { IProductListComponent } from 'interfaces/configs';
|
|
5
1
|
import { BaseComponent } from '@/core/base-component.service';
|
|
6
2
|
import type { IAddressComponent } from '@/interfaces/configs';
|
|
7
3
|
import type { IAddressOptions } from './address.interface';
|
|
@@ -9,12 +5,6 @@ export interface IAddressInputComponentParams {
|
|
|
9
5
|
productId?: string;
|
|
10
6
|
isIndependentComponent?: boolean;
|
|
11
7
|
options?: IAddressOptions;
|
|
12
|
-
navigationSource?: NavigationSourceType;
|
|
13
|
-
product?: IProductListProduct;
|
|
14
|
-
shippingFulfillment?: IFulfillment | null;
|
|
15
|
-
onDemandFulfillment?: IFulfillment | null;
|
|
16
|
-
showCollections?: boolean;
|
|
17
|
-
config?: IProductListComponent;
|
|
18
8
|
}
|
|
19
9
|
export declare class AddressInputComponent extends BaseComponent<IAddressInputComponentParams, IAddressComponent> {
|
|
20
10
|
private suggestions;
|
|
@@ -34,7 +24,6 @@ export declare class AddressInputComponent extends BaseComponent<IAddressInputCo
|
|
|
34
24
|
private closeDrawer;
|
|
35
25
|
private handleCancel;
|
|
36
26
|
private handleCheckAvailability;
|
|
37
|
-
private reopenAddToCartDrawer;
|
|
38
27
|
private handleSuggestionClick;
|
|
39
28
|
private handleDocumentClick;
|
|
40
29
|
private searchAddresses;
|
|
@@ -4,6 +4,8 @@ export * from './filter-components/product-list-apply-filter-button';
|
|
|
4
4
|
export * from './product-list-card-loading.component';
|
|
5
5
|
export * from './product-list-engraving.component';
|
|
6
6
|
export * from './product-list-filters.component';
|
|
7
|
+
export * from './product-list-product-engraving-lines.component';
|
|
7
8
|
export * from './product-list-product-pre-cart.component';
|
|
8
9
|
export * from './product-list-retailers.component';
|
|
10
|
+
export * from './product-list-retailers-content.component';
|
|
9
11
|
export * from './product-list-search.component';
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { BaseComponent } from 'core/base-component.service';
|
|
2
|
+
import type { IProductListComponent } from 'interfaces/configs';
|
|
2
3
|
import type { IEngravingFormComponentParams } from 'modules/ui-components/engraving';
|
|
3
|
-
export declare class ProductListEngravingComponent extends BaseComponent<IEngravingFormComponentParams> {
|
|
4
|
+
export declare class ProductListEngravingComponent extends BaseComponent<IEngravingFormComponentParams, IProductListComponent> {
|
|
5
|
+
private resizeHandler;
|
|
6
|
+
protected afterRender?(): void;
|
|
7
|
+
private handleResize;
|
|
8
|
+
protected disconnected?(): void;
|
|
4
9
|
protected template(): HTMLElement[];
|
|
5
10
|
private createHeader;
|
|
6
11
|
private handleClose;
|
|
7
|
-
private handleEngravingComplete;
|
|
8
|
-
private handleEngravingCancel;
|
|
9
|
-
private reopenAddToCartDrawer;
|
|
10
12
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseComponent } from 'core/base-component.service';
|
|
2
|
+
import type { IProductListComponent } from 'interfaces/configs';
|
|
3
|
+
export interface IProductListProductEngravingLinesComponentParams {
|
|
4
|
+
identifier: string;
|
|
5
|
+
lines: string[];
|
|
6
|
+
maxLines: number;
|
|
7
|
+
maxCharsPerLine: number;
|
|
8
|
+
location?: string;
|
|
9
|
+
fee: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class ProductListProductEngravingLinesComponent extends BaseComponent<IProductListProductEngravingLinesComponentParams, IProductListComponent> {
|
|
12
|
+
private engravingLines;
|
|
13
|
+
private addEngravingButton;
|
|
14
|
+
constructor();
|
|
15
|
+
protected disconnected?(): void;
|
|
16
|
+
template(): HTMLElement;
|
|
17
|
+
private engravingLinesSection;
|
|
18
|
+
private actionButtonsSection;
|
|
19
|
+
private calculateTotalPrice;
|
|
20
|
+
private addToCartButtonText;
|
|
21
|
+
}
|
package/dist/types/modules/product-list/components/product-list-product-pre-cart.component.d.ts
CHANGED
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
import { BaseComponent } from 'core/base-component.service';
|
|
2
2
|
import type { IProductListProduct } from 'core/store/interfaces/product-list.interface';
|
|
3
|
-
import { type DisplayModeType } from 'enums';
|
|
4
3
|
import type { IFulfillment } from 'interfaces/api/product.interface';
|
|
5
4
|
import type { IProductListComponent } from 'interfaces/configs';
|
|
6
5
|
export interface IProductListProductPreCartComponentParams {
|
|
7
|
-
displayMode: DisplayModeType;
|
|
8
6
|
product: IProductListProduct;
|
|
9
7
|
shippingFulfillment: IFulfillment | null;
|
|
10
8
|
onDemandFulfillment: IFulfillment | null;
|
|
11
|
-
config: IProductListComponent;
|
|
12
9
|
}
|
|
13
10
|
export declare class ProductListProductPreCartComponent extends BaseComponent<IProductListProductPreCartComponentParams, IProductListComponent> {
|
|
14
11
|
private selectedSize;
|
|
12
|
+
private showRetailersContent;
|
|
13
|
+
private showEngravingForm;
|
|
14
|
+
private isInitialRender;
|
|
15
|
+
private priceElement;
|
|
16
|
+
private resizeHandler;
|
|
15
17
|
constructor();
|
|
18
|
+
protected afterRender?(): void;
|
|
19
|
+
private handleRetailersBack;
|
|
20
|
+
private handleEngravingBack;
|
|
21
|
+
private handleEngravingEdit;
|
|
22
|
+
private handleResize;
|
|
23
|
+
protected disconnected?(): void;
|
|
24
|
+
onStoreWatch(): void;
|
|
25
|
+
private updatePriceDisplay;
|
|
26
|
+
private getEngravingFee;
|
|
27
|
+
private formatPrice;
|
|
16
28
|
protected template(): HTMLElement[];
|
|
29
|
+
private createRetailersContent;
|
|
30
|
+
private createEngravingFormContent;
|
|
31
|
+
private renderPreCartContent;
|
|
32
|
+
private createDeliversToSectionWrapper;
|
|
33
|
+
private createShippingFromSectionWrapper;
|
|
17
34
|
private createCartHeader;
|
|
18
35
|
private createImageSection;
|
|
19
36
|
private createPricePersonalizationSection;
|
|
20
37
|
private createDeliversToSection;
|
|
21
38
|
private createSizesSection;
|
|
22
|
-
private handleDeliveryOptionsClick;
|
|
23
39
|
private createFulfillmentSectionWrapper;
|
|
24
40
|
createFulfillmentTextSection(selectedFulfillmentType: string, selectedFulfillmentRetailerName: string): HTMLElement;
|
|
25
41
|
private createAddToCartSection;
|
package/dist/types/modules/product-list/components/product-list-retailers-content.component.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IProductListProduct } from 'core/store/interfaces/product-list.interface';
|
|
2
|
+
import { type NavigationSourceType } from 'enums';
|
|
3
|
+
import type { IFulfillment } from 'interfaces/api/product.interface';
|
|
4
|
+
import type { IProductListComponent } from 'interfaces/configs';
|
|
5
|
+
import { BaseComponent } from '@/core/base-component.service';
|
|
6
|
+
export interface IProductListRetailersContentParams {
|
|
7
|
+
product?: IProductListProduct;
|
|
8
|
+
productId: string;
|
|
9
|
+
navigationSource?: NavigationSourceType;
|
|
10
|
+
shippingFulfillment?: IFulfillment | null;
|
|
11
|
+
onDemandFulfillment?: IFulfillment | null;
|
|
12
|
+
}
|
|
13
|
+
export declare class ProductListRetailersContentComponent extends BaseComponent<IProductListRetailersContentParams, IProductListComponent> {
|
|
14
|
+
get hostClasses(): string[];
|
|
15
|
+
constructor();
|
|
16
|
+
private getProductId;
|
|
17
|
+
protected template(): HTMLElement[];
|
|
18
|
+
private extractFulfillments;
|
|
19
|
+
private onFulfillmentTabClick;
|
|
20
|
+
private onRetailerCardClick;
|
|
21
|
+
private createNoAvailabilityMessage;
|
|
22
|
+
}
|
|
@@ -1,26 +1,22 @@
|
|
|
1
1
|
import type { IProductListProduct } from 'core/store/interfaces/product-list.interface';
|
|
2
|
-
import { type
|
|
2
|
+
import { type NavigationSourceType } from 'enums';
|
|
3
3
|
import type { IFulfillment } from 'interfaces/api/product.interface';
|
|
4
4
|
import type { IProductListComponent } from 'interfaces/configs';
|
|
5
5
|
import { BaseComponent } from '@/core/base-component.service';
|
|
6
6
|
export interface IProductListRetailersParams {
|
|
7
7
|
product?: IProductListProduct;
|
|
8
8
|
productId: string;
|
|
9
|
-
config?: IProductListComponent;
|
|
10
|
-
displayMode?: DisplayModeType;
|
|
11
9
|
navigationSource?: NavigationSourceType;
|
|
12
10
|
shippingFulfillment?: IFulfillment | null;
|
|
13
11
|
onDemandFulfillment?: IFulfillment | null;
|
|
14
12
|
}
|
|
15
13
|
export declare class ProductListRetailersComponent extends BaseComponent<IProductListRetailersParams, IProductListComponent> {
|
|
14
|
+
private resizeHandler;
|
|
16
15
|
get hostClasses(): string[];
|
|
17
16
|
constructor();
|
|
18
|
-
|
|
17
|
+
protected afterRender?(): void;
|
|
18
|
+
private handleResize;
|
|
19
|
+
protected disconnected?(): void;
|
|
19
20
|
protected template(): HTMLElement[];
|
|
20
|
-
private extractFulfillments;
|
|
21
|
-
private onFulfillmentTabClick;
|
|
22
|
-
private onRetailerCardClick;
|
|
23
|
-
private reopenAddToCartDrawer;
|
|
24
21
|
private createHeader;
|
|
25
|
-
private createNoAvailabilityMessage;
|
|
26
22
|
}
|
|
@@ -72,5 +72,6 @@ export declare class ProductListCommands extends BaseCommand {
|
|
|
72
72
|
state?: string;
|
|
73
73
|
}): IProductAvailabilityData;
|
|
74
74
|
isPresaleActive(sizeAttributes: IProductSizeAttributes): boolean;
|
|
75
|
+
saveEngravingLines: (productId: string, engravingLines: string[]) => void;
|
|
75
76
|
}
|
|
76
77
|
export {};
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import type { IProductListProduct } from 'core/store/interfaces/product-list.interface';
|
|
2
|
-
import type { IFulfillment } from 'interfaces/api/product.interface';
|
|
3
1
|
import { BaseComponent } from '@/core/base-component.service';
|
|
4
|
-
import { type DisplayModeType
|
|
5
|
-
import type { IProductListComponent } from '@/interfaces/configs';
|
|
2
|
+
import { type DisplayModeType } from '@/enums';
|
|
6
3
|
export interface IEngravingFormComponentParams {
|
|
7
4
|
identifier: string;
|
|
8
5
|
context: 'product' | 'cart' | 'product-list';
|
|
@@ -12,12 +9,6 @@ export interface IEngravingFormComponentParams {
|
|
|
12
9
|
fee: number;
|
|
13
10
|
location?: string;
|
|
14
11
|
displayMode?: DisplayModeType;
|
|
15
|
-
navigationSource?: NavigationSourceType;
|
|
16
|
-
product?: IProductListProduct;
|
|
17
|
-
shippingFulfillment?: IFulfillment | null;
|
|
18
|
-
onDemandFulfillment?: IFulfillment | null;
|
|
19
|
-
showCollections?: boolean;
|
|
20
|
-
config?: IProductListComponent;
|
|
21
12
|
}
|
|
22
13
|
export declare class EngravingFormComponent extends BaseComponent<IEngravingFormComponentParams, null> {
|
|
23
14
|
get hostClasses(): string[];
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import type { IUserProducts } from 'core/store/interfaces/product-list.interface';
|
|
1
2
|
import { BaseComponent } from '@/core/base-component.service';
|
|
2
3
|
import type { IProductComponent } from '@/interfaces/configs';
|
|
3
4
|
export interface IEngravingViewComponentParams {
|
|
4
5
|
identifier: string;
|
|
5
|
-
context: 'cart' | 'checkout';
|
|
6
|
+
context: 'cart' | 'checkout' | 'product-list';
|
|
7
|
+
configs?: IUserProducts;
|
|
8
|
+
productListMaxLines?: number;
|
|
9
|
+
productListMaxCharsPerLine?: number;
|
|
10
|
+
productListLocation?: string;
|
|
6
11
|
}
|
|
7
12
|
export declare class EngravingViewComponent extends BaseComponent<IEngravingViewComponentParams, IProductComponent> {
|
|
8
13
|
get hostClasses(): string[];
|
package/package.json
CHANGED