@liquidcommerce/elements-sdk 2.6.0-beta.5 → 2.6.0-beta.51
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 +83 -2519
- package/dist/index.checkout.esm.js +15981 -0
- package/dist/index.esm.js +16550 -14599
- package/dist/ssr-stub.checkout.esm.js +18 -0
- package/dist/ssr-stub.esm.js +270 -0
- package/dist/types/auto-initialize/checkout.d.ts +2 -0
- package/dist/types/auto-initialize/shared-utils.d.ts +29 -0
- package/dist/types/{elements-base-client.d.ts → clients/base.d.ts} +15 -2
- package/dist/types/clients/builder.d.ts +3 -0
- package/dist/types/clients/checkout.d.ts +5 -0
- package/dist/types/{elements-client-helper.d.ts → clients/helpers.d.ts} +1 -1
- package/dist/types/clients/main.d.ts +3 -0
- package/dist/types/constants/core.constant.d.ts +2 -6
- package/dist/types/core/api/api-client.service.d.ts +19 -20
- package/dist/types/core/api/api-result.d.ts +19 -0
- package/dist/types/core/api/auth-client.service.d.ts +40 -13
- package/dist/types/core/api/http-client.service.d.ts +0 -1
- package/dist/types/core/base-component.service.d.ts +2 -1
- package/dist/types/core/client/actions/base-action.service.d.ts +15 -0
- package/dist/types/core/client/actions/client-address-action.service.d.ts +18 -0
- package/dist/types/core/client/actions/client-cart-action.service.d.ts +37 -0
- package/dist/types/core/client/actions/client-checkout-action.service.d.ts +50 -0
- package/dist/types/core/client/actions/client-product-action.service.d.ts +12 -0
- package/dist/types/core/client/client-action.service.d.ts +6 -70
- package/dist/types/core/client/client-config.service.d.ts +5 -2
- package/dist/types/core/command/common-command.service.d.ts +2 -1
- package/dist/types/core/google-tag-manager.service.d.ts +4 -1
- package/dist/types/core/logger/logger.service.d.ts +1 -1
- package/dist/types/core/pubsub/interfaces/cart.interface.d.ts +27 -64
- package/dist/types/core/pubsub/interfaces/checkout.interface.d.ts +45 -50
- package/dist/types/core/pubsub/interfaces/core.interface.d.ts +9 -4
- package/dist/types/core/pubsub/interfaces/product.interface.d.ts +16 -75
- package/dist/types/core/pubsub/pubsub.service.d.ts +1 -2
- package/dist/types/core/singleton-manager.service.d.ts +12 -8
- package/dist/types/core/store/interfaces/cart.interface.d.ts +16 -56
- package/dist/types/core/store/interfaces/checkout.interface.d.ts +17 -108
- package/dist/types/core/store/interfaces/core.interface.d.ts +14 -3
- package/dist/types/core/store/interfaces/metadata.interface.d.ts +11 -0
- package/dist/types/core/store/interfaces/product-list.interface.d.ts +29 -0
- package/dist/types/core/store/interfaces/product.interface.d.ts +1 -0
- package/dist/types/core/store/store.constant.d.ts +5 -0
- package/dist/types/core/store/store.service.d.ts +1 -0
- package/dist/types/core/telemetry/telemetry.service.d.ts +1 -0
- package/dist/types/enums/core.enum.d.ts +39 -1
- package/dist/types/enums/index.d.ts +0 -1
- package/dist/types/index.checkout.d.ts +8 -0
- package/dist/types/index.checkout.umd.d.ts +4 -0
- package/dist/types/index.d.ts +6 -3
- package/dist/types/interfaces/api/cart.interface.d.ts +95 -0
- package/dist/types/interfaces/api/checkout.interface.d.ts +217 -0
- package/dist/types/interfaces/api/product-list.interface.d.ts +39 -0
- package/dist/types/interfaces/api/product.interface.d.ts +2 -3
- package/dist/types/interfaces/client.interface.d.ts +72 -0
- package/dist/types/interfaces/component.interface.d.ts +7 -0
- package/dist/types/interfaces/config.interface.d.ts +41 -0
- package/dist/types/interfaces/configs/address.interface.d.ts +1 -1
- package/dist/types/interfaces/configs/cart.interface.d.ts +1 -1
- package/dist/types/interfaces/configs/checkout.interface.d.ts +2 -1
- package/dist/types/interfaces/configs/global.interface.d.ts +5 -3
- package/dist/types/interfaces/configs/index.d.ts +1 -0
- package/dist/types/interfaces/configs/product-list.interface.d.ts +42 -0
- package/dist/types/interfaces/configs/product.interface.d.ts +2 -1
- package/dist/types/interfaces/injection.interface.d.ts +47 -0
- package/dist/types/modules/address/address.command.d.ts +2 -1
- package/dist/types/modules/address/styles/register-styles.d.ts +1 -0
- package/dist/types/modules/cart/cart.commands.d.ts +4 -5
- package/dist/types/modules/cart/components/cart-body.component.d.ts +2 -1
- package/dist/types/modules/cart/components/cart-footer.component.d.ts +0 -1
- package/dist/types/modules/cart/components/cart-fulfillment.component.d.ts +0 -2
- package/dist/types/modules/cart/styles/register-styles.d.ts +1 -0
- package/dist/types/modules/checkout/checkout.commands.d.ts +22 -9
- package/dist/types/modules/checkout/checkout.component.d.ts +2 -0
- package/dist/types/modules/checkout/components/checkout-billing.component.d.ts +2 -2
- package/dist/types/modules/checkout/components/checkout-completed.component.d.ts +3 -0
- package/dist/types/modules/checkout/components/checkout-header.component.d.ts +1 -0
- package/dist/types/modules/checkout/components/checkout-items.component.d.ts +4 -3
- package/dist/types/modules/checkout/components/checkout-presale-countdown.component.d.ts +14 -1
- package/dist/types/modules/checkout/components/checkout-presale-expired.component.d.ts +7 -1
- package/dist/types/modules/checkout/components/checkout-stripe-form.component.d.ts +2 -1
- package/dist/types/modules/checkout/components/checkout-tips.component.d.ts +2 -2
- package/dist/types/modules/checkout/components/promo-pc-gc.component.d.ts +0 -2
- package/dist/types/modules/checkout/constant.d.ts +3 -0
- package/dist/types/modules/checkout/styles/register-styles.d.ts +1 -0
- package/dist/types/modules/product/components/product-image-carousel.component.d.ts +3 -0
- package/dist/types/modules/product/components/product-retailers-carousel.component.d.ts +3 -0
- package/dist/types/modules/product/components/product-retailers-popup-list.component.d.ts +5 -2
- package/dist/types/modules/product/product.commands.d.ts +2 -3
- package/dist/types/modules/product/styles/register-styles.d.ts +1 -0
- package/dist/types/modules/product-list/components/card-components/index.d.ts +5 -0
- package/dist/types/modules/product-list/components/card-components/product-badge.d.ts +9 -0
- package/dist/types/modules/product-list/components/card-components/product-button.d.ts +9 -0
- package/dist/types/modules/product-list/components/card-components/product-price-and-personalization.d.ts +13 -0
- package/dist/types/modules/product-list/components/card-components/product-quantity-selector.d.ts +9 -0
- package/dist/types/modules/product-list/components/card-components/product-sizes-list.d.ts +13 -0
- package/dist/types/modules/product-list/components/filter-components/index.d.ts +7 -0
- package/dist/types/modules/product-list/components/filter-components/product-list-apply-filter-button.d.ts +1 -0
- package/dist/types/modules/product-list/components/filter-components/product-list-chip.d.ts +5 -0
- package/dist/types/modules/product-list/components/filter-components/product-list-filters-chips.d.ts +13 -0
- package/dist/types/modules/product-list/components/filter-components/product-list-fulfillment-filter.d.ts +14 -0
- package/dist/types/modules/product-list/components/{product-list-filters-subcomponents/product-list-price-filter.components.d.ts → filter-components/product-list-price-filter.d.ts} +1 -1
- package/dist/types/modules/product-list/components/filter-components/product-list-toggle-filters.d.ts +7 -0
- package/dist/types/modules/product-list/components/index.d.ts +7 -3
- package/dist/types/modules/product-list/components/product-list-card-loading.component.d.ts +2 -1
- package/dist/types/modules/product-list/components/product-list-engraving.component.d.ts +12 -0
- package/dist/types/modules/product-list/components/product-list-filters.component.d.ts +57 -37
- package/dist/types/modules/product-list/components/product-list-product-engraving-lines.component.d.ts +22 -0
- package/dist/types/modules/product-list/components/product-list-product-pre-cart.component.d.ts +46 -0
- package/dist/types/modules/product-list/components/{product-list-filters-subcomponents/product-list-search.component.d.ts → product-list-search.component.d.ts} +11 -4
- package/dist/types/modules/product-list/product-list-card.component.d.ts +34 -0
- package/dist/types/modules/product-list/product-list-filter.utils.d.ts +8 -0
- package/dist/types/modules/product-list/product-list.commands.d.ts +22 -8
- package/dist/types/modules/product-list/product-list.component.d.ts +10 -46
- package/dist/types/modules/product-list/product-list.constants.d.ts +38 -0
- package/dist/types/modules/product-list/product-list.interface.d.ts +12 -36
- package/dist/types/modules/product-list/styles/product-list-card.style.d.ts +1 -0
- package/dist/types/modules/product-list/styles/product-list-filters.style.d.ts +1 -0
- package/dist/types/modules/product-list/styles/register-styles.d.ts +1 -0
- package/dist/types/modules/theme-provider/constants/component-groupings.d.ts +1 -0
- package/dist/types/modules/theme-provider/constants/css-variable-mappings.d.ts +1 -1
- package/dist/types/modules/theme-provider/services/style-registry.service.d.ts +16 -0
- package/dist/types/modules/theme-provider/services/stylesheet-generator.service.d.ts +0 -1
- package/dist/types/modules/theme-provider/styles/register-styles.d.ts +1 -0
- package/dist/types/modules/theme-provider/theme-provider.service.d.ts +2 -1
- package/dist/types/modules/ui-components/drawer/drawer.component.d.ts +1 -0
- package/dist/types/modules/ui-components/engraving/engraving-form.component.d.ts +6 -1
- package/dist/types/modules/ui-components/engraving/engraving-view.component.d.ts +5 -1
- package/dist/types/modules/ui-components/input/index.d.ts +0 -1
- package/dist/types/modules/ui-components/input/input.component.d.ts +8 -1
- package/dist/types/modules/ui-components/lce-element/lce-element.component.d.ts +2 -1
- package/dist/types/modules/ui-components/promo-code-ticker/promo-code-ticker.component.d.ts +1 -1
- package/dist/types/modules/ui-components/purchase-min-alert/index.d.ts +0 -1
- package/dist/types/modules/ui-components/ui.commands.d.ts +5 -1
- package/dist/types/ssr/stub.checkout.d.ts +6 -0
- package/dist/types/ssr/stub.d.ts +10 -0
- package/dist/types/static/icon/check.icon.d.ts +2 -0
- package/dist/types/static/icon/index.d.ts +1 -0
- package/dist/types/utils/dom-compat.d.ts +2 -0
- package/dist/types/utils/format.d.ts +0 -14
- package/dist/types/utils/product-selection.d.ts +16 -0
- package/dist/types/utils/product.d.ts +10 -0
- package/docs/v1/README.md +210 -0
- package/docs/v1/api/actions/address-actions.md +281 -0
- package/docs/v1/api/actions/cart-actions.md +337 -0
- package/docs/v1/api/actions/checkout-actions.md +387 -0
- package/docs/v1/api/actions/product-actions.md +115 -0
- package/docs/v1/api/client.md +482 -0
- package/docs/v1/api/configuration.md +1 -0
- package/docs/v1/api/injection-methods.md +247 -0
- package/docs/v1/api/typescript-types.md +1 -0
- package/docs/v1/api/ui-helpers.md +200 -0
- package/docs/v1/examples/advanced-patterns.md +96 -0
- package/docs/v1/examples/checkout-flow.md +91 -0
- package/docs/v1/examples/custom-theming.md +63 -0
- package/docs/v1/examples/multi-product-page.md +90 -0
- package/docs/v1/examples/simple-product-page.md +89 -0
- package/docs/v1/getting-started/concepts.md +507 -0
- package/docs/v1/getting-started/installation.md +328 -0
- package/docs/v1/getting-started/quick-start.md +405 -0
- package/docs/v1/guides/address-component.md +431 -0
- package/docs/v1/guides/best-practices.md +324 -0
- package/docs/v1/guides/cart-component.md +737 -0
- package/docs/v1/guides/checkout-component.md +672 -0
- package/docs/v1/guides/events.md +926 -0
- package/docs/v1/guides/product-component.md +686 -0
- package/docs/v1/guides/product-list-component.md +598 -0
- package/docs/v1/guides/theming.md +216 -0
- package/docs/v1/integration/angular.md +39 -0
- package/docs/v1/integration/laravel.md +41 -0
- package/docs/v1/integration/nextjs.md +69 -0
- package/docs/v1/integration/proxy-setup.md +89 -0
- package/docs/v1/integration/react.md +64 -0
- package/docs/v1/integration/vanilla-js.md +84 -0
- package/docs/v1/integration/vue.md +58 -0
- package/docs/v1/reference/browser-support.md +44 -0
- package/docs/v1/reference/error-handling.md +70 -0
- package/docs/v1/reference/performance.md +54 -0
- package/docs/v1/reference/troubleshooting.md +72 -0
- package/package.json +28 -17
- package/dist/types/elements-builder-client.d.ts +0 -2
- package/dist/types/elements-client.d.ts +0 -2
- package/dist/types/enums/cloud.enum.d.ts +0 -403
- package/dist/types/interfaces/cloud/cart.interface.d.ts +0 -132
- package/dist/types/interfaces/cloud/catalog.interface.d.ts +0 -43
- package/dist/types/interfaces/cloud/checkout.interface.d.ts +0 -211
- package/dist/types/interfaces/cloud/core.interface.d.ts +0 -22
- package/dist/types/interfaces/cloud/index.d.ts +0 -5
- package/dist/types/interfaces/cloud/retailer.interface.d.ts +0 -67
- package/dist/types/interfaces/cloud/user.interface.d.ts +0 -100
- package/dist/types/interfaces/core.interface.d.ts +0 -111
- package/dist/types/modules/cart/cart.commands.helper.d.ts +0 -9
- package/dist/types/modules/checkout/components/checkout.type.d.ts +0 -4
- package/dist/types/modules/product-list/components/product-list-card.component.d.ts +0 -37
- package/dist/types/modules/product-list/components/product-list-filters-subcomponents/index.d.ts +0 -6
- package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-apply-filter-button.component.d.ts +0 -1
- package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-delivery-options-filter.components.d.ts +0 -16
- package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-toggle-filters.components.d.ts +0 -18
- package/dist/types/modules/theme-provider/styles/address/index.d.ts +0 -1
- package/dist/types/modules/theme-provider/styles/cart/index.d.ts +0 -1
- package/dist/types/modules/theme-provider/styles/checkout/index.d.ts +0 -1
- package/dist/types/modules/theme-provider/styles/product/index.d.ts +0 -3
- package/dist/types/modules/theme-provider/styles/product-list/index.d.ts +0 -1
- package/dist/types/modules/theme-provider/styles/ui/index.d.ts +0 -3
- package/dist/types/modules/ui-components/input/birthdate-input.component.d.ts +0 -53
- package/dist/types/modules/ui-components/purchase-min-alert/helpers.d.ts +0 -7
- package/dist/types/utils/helper.d.ts +0 -27
- package/docs/ACTIONS.md +0 -1300
- package/docs/BROWSER_SUPPORT.md +0 -279
- package/docs/CONFIGURATION.md +0 -853
- package/docs/DOCUMENTATION_INDEX.md +0 -311
- package/docs/EVENTS.md +0 -798
- package/docs/PROXY.md +0 -228
- package/docs/THEMING.md +0 -592
- package/docs/TROUBLESHOOTING.md +0 -793
- package/umd/elements.js +0 -1
- /package/dist/types/{auto-initialize.d.ts → auto-initialize/main.d.ts} +0 -0
- /package/dist/types/modules/{theme-provider/styles/address → address/styles}/address.style.d.ts +0 -0
- /package/dist/types/modules/{theme-provider/styles/cart → cart/styles}/cart.style.d.ts +0 -0
- /package/dist/types/modules/{theme-provider/styles/checkout → checkout/styles}/checkout.style.d.ts +0 -0
- /package/dist/types/modules/{theme-provider/styles/product → product/styles}/image-carousel.style.d.ts +0 -0
- /package/dist/types/modules/{theme-provider/styles/product → product/styles}/product.style.d.ts +0 -0
- /package/dist/types/modules/{theme-provider/styles/product → product/styles}/retailers.style.d.ts +0 -0
- /package/dist/types/modules/product-list/components/{product-list-filters-subcomponents/product-list-checkbox-filter.components.d.ts → filter-components/product-list-checkbox-filter.d.ts} +0 -0
- /package/dist/types/modules/{theme-provider/styles/product-list → product-list/styles}/product-list.style.d.ts +0 -0
- /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/drawer.style.d.ts +0 -0
- /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/loading.style.d.ts +0 -0
- /package/dist/types/modules/{theme-provider/styles/ui → ui-components/styles}/promo-code-ticker.style.d.ts +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { IBaseCartEventData } from '@/core/pubsub/interfaces/cart.interface';
|
|
2
|
+
import { type FulfillmentType } from '@/enums';
|
|
3
|
+
import { BaseActionService } from './base-action.service';
|
|
4
|
+
export interface IAddProductParams {
|
|
5
|
+
identifier: string;
|
|
6
|
+
fulfillmentType: FulfillmentType;
|
|
7
|
+
quantity: number;
|
|
8
|
+
}
|
|
9
|
+
export interface ICartActions {
|
|
10
|
+
openCart: () => void;
|
|
11
|
+
closeCart: () => void;
|
|
12
|
+
toggleCart: () => void;
|
|
13
|
+
addProduct: (params: IAddProductParams[], openCart?: boolean) => Promise<void>;
|
|
14
|
+
applyPromoCode: (promoCode: string) => Promise<void>;
|
|
15
|
+
removePromoCode: () => Promise<void>;
|
|
16
|
+
resetCart: () => Promise<void>;
|
|
17
|
+
getDetails: () => IBaseCartEventData;
|
|
18
|
+
}
|
|
19
|
+
export declare class ClientCartActionService extends BaseActionService {
|
|
20
|
+
private readonly command;
|
|
21
|
+
private pendingCartParams;
|
|
22
|
+
private pendingCartOpenFlag;
|
|
23
|
+
constructor();
|
|
24
|
+
static getInstance(): ClientCartActionService;
|
|
25
|
+
get actions(): ICartActions;
|
|
26
|
+
private setupAddressUpdateListener;
|
|
27
|
+
private retryPendingCartOperation;
|
|
28
|
+
private clearPendingCartOperation;
|
|
29
|
+
private openCart;
|
|
30
|
+
private closeCart;
|
|
31
|
+
private toggleCart;
|
|
32
|
+
private addProduct;
|
|
33
|
+
private applyPromoCode;
|
|
34
|
+
private removePromoCode;
|
|
35
|
+
private resetCart;
|
|
36
|
+
private getDetails;
|
|
37
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ICheckoutDetailsEventData } from '@/core/pubsub/interfaces/checkout.interface';
|
|
2
|
+
import type { BillingFieldName, CustomerFieldName, GiftFieldName } from '@/modules/checkout/constant';
|
|
3
|
+
import { BaseActionService } from './base-action.service';
|
|
4
|
+
import type { IAddProductParams } from './client-cart-action.service';
|
|
5
|
+
export interface ICheckoutActions {
|
|
6
|
+
openCheckout: () => void;
|
|
7
|
+
closeCheckout: () => void;
|
|
8
|
+
toggleCheckout: () => void;
|
|
9
|
+
exitCheckout: () => void;
|
|
10
|
+
addProduct: (params: IAddProductParams[], openCheckout?: boolean) => Promise<void>;
|
|
11
|
+
applyPromoCode: (promoCode: string) => Promise<void>;
|
|
12
|
+
removePromoCode: () => Promise<void>;
|
|
13
|
+
applyGiftCard: (code: string) => Promise<void>;
|
|
14
|
+
removeGiftCard: (code: string) => Promise<void>;
|
|
15
|
+
toggleIsGift: (active?: boolean) => Promise<void>;
|
|
16
|
+
toggleBillingSameAsShipping: (active?: boolean) => Promise<void>;
|
|
17
|
+
toggleMarketingPreferences: (field: 'canEmail' | 'canSms', active: boolean) => Promise<void>;
|
|
18
|
+
updateCustomerInfo: (params: Record<CustomerFieldName, string>) => void;
|
|
19
|
+
updateBillingInfo: (params: Record<BillingFieldName, string>) => void;
|
|
20
|
+
updateGiftInfo: (params: Record<GiftFieldName, string>) => void;
|
|
21
|
+
getDetails: () => ICheckoutDetailsEventData;
|
|
22
|
+
}
|
|
23
|
+
export declare class ClientCheckoutActionService extends BaseActionService {
|
|
24
|
+
private readonly command;
|
|
25
|
+
private readonly allowedCustomerFields;
|
|
26
|
+
private readonly allowedBillingFields;
|
|
27
|
+
private readonly allowedGiftFields;
|
|
28
|
+
private cartActionsAddProduct;
|
|
29
|
+
constructor();
|
|
30
|
+
static getInstance(): ClientCheckoutActionService;
|
|
31
|
+
setCartActionsAddProduct(addProductFn: (params: IAddProductParams[]) => Promise<void>): void;
|
|
32
|
+
get actions(): ICheckoutActions;
|
|
33
|
+
private normalizeCheckoutFieldValue;
|
|
34
|
+
private openCheckout;
|
|
35
|
+
private closeCheckout;
|
|
36
|
+
private toggleCheckout;
|
|
37
|
+
private exitCheckout;
|
|
38
|
+
private addProduct;
|
|
39
|
+
private applyPromoCode;
|
|
40
|
+
private removePromoCode;
|
|
41
|
+
private applyGiftCard;
|
|
42
|
+
private removeGiftCard;
|
|
43
|
+
private toggleIsGift;
|
|
44
|
+
private toggleBillingSameAsShipping;
|
|
45
|
+
private toggleMarketingPreferences;
|
|
46
|
+
private updateCustomerInfo;
|
|
47
|
+
private updateBillingInfo;
|
|
48
|
+
private updateGiftInfo;
|
|
49
|
+
private getDetails;
|
|
50
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IBaseProductEventData } from '@/core/pubsub/interfaces/product.interface';
|
|
2
|
+
import { BaseActionService } from './base-action.service';
|
|
3
|
+
export interface IProductActions {
|
|
4
|
+
getDetails: (identifier: string) => IBaseProductEventData;
|
|
5
|
+
}
|
|
6
|
+
export declare class ClientProductActionService extends BaseActionService {
|
|
7
|
+
private readonly command;
|
|
8
|
+
constructor();
|
|
9
|
+
static getInstance(): ClientProductActionService;
|
|
10
|
+
get actions(): IProductActions;
|
|
11
|
+
private getDetails;
|
|
12
|
+
}
|
|
@@ -1,74 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ICheckoutDetailsEventData } from '@/core/pubsub/interfaces/checkout.interface';
|
|
3
|
-
import type { IBaseProductEventData } from '@/core/pubsub/interfaces/product.interface';
|
|
4
|
-
import { type FulfillmentType } from '@/enums';
|
|
5
|
-
import type { IAddressAddress, IAddressCoordinates, IAddressData } from '@/interfaces/api/address.interface';
|
|
6
|
-
import type { BillingFieldName, CustomerFieldName, GiftFieldName } from '@/modules/checkout/components/checkout.type';
|
|
7
|
-
export interface IProductActions {
|
|
8
|
-
getDetails: (identifier: string) => IBaseProductEventData;
|
|
9
|
-
}
|
|
10
|
-
export interface IAddressActions {
|
|
11
|
-
setAddressByPlacesId: (placesId: string) => Promise<void>;
|
|
12
|
-
setAddressManually: (address: IAddressAddress, coordinates: IAddressCoordinates) => Promise<void>;
|
|
13
|
-
clear: () => Promise<void>;
|
|
14
|
-
getDetails: () => IAddressData | null;
|
|
15
|
-
}
|
|
16
|
-
export interface IAddProductParams {
|
|
17
|
-
identifier: string;
|
|
18
|
-
fulfillmentType: FulfillmentType;
|
|
19
|
-
quantity: number;
|
|
20
|
-
}
|
|
21
|
-
export interface ICartActions {
|
|
22
|
-
openCart: () => void;
|
|
23
|
-
closeCart: () => void;
|
|
24
|
-
toggleCart: () => void;
|
|
25
|
-
addProduct: (params: IAddProductParams[], openCart?: boolean) => Promise<void>;
|
|
26
|
-
applyPromoCode: (promoCode: string) => Promise<void>;
|
|
27
|
-
removePromoCode: () => Promise<void>;
|
|
28
|
-
resetCart: () => Promise<void>;
|
|
29
|
-
getDetails: () => IBaseCartEventData;
|
|
30
|
-
}
|
|
31
|
-
export interface ICheckoutActions {
|
|
32
|
-
openCheckout: () => void;
|
|
33
|
-
closeCheckout: () => void;
|
|
34
|
-
toggleCheckout: () => void;
|
|
35
|
-
addProduct: (params: IAddProductParams[], openCheckout?: boolean) => Promise<void>;
|
|
36
|
-
addPresaleProduct: (params: IAddProductParams) => Promise<void>;
|
|
37
|
-
applyPromoCode: (promoCode: string) => Promise<void>;
|
|
38
|
-
removePromoCode: () => Promise<void>;
|
|
39
|
-
applyGiftCard: (code: string) => Promise<void>;
|
|
40
|
-
removeGiftCard: (code: string) => Promise<void>;
|
|
41
|
-
toggleIsGift: (active?: boolean) => Promise<void>;
|
|
42
|
-
toggleBillingSameAsShipping: (active?: boolean) => Promise<void>;
|
|
43
|
-
toggleMarketingPreferences: (field: 'canEmail' | 'canSms', active: boolean) => Promise<void>;
|
|
44
|
-
updateCustomerInfo: (params: Record<CustomerFieldName, string>) => void;
|
|
45
|
-
updateBillingInfo: (params: Record<BillingFieldName, string>) => void;
|
|
46
|
-
updateGiftInfo: (params: Record<GiftFieldName, string>) => void;
|
|
47
|
-
getDetails: () => ICheckoutDetailsEventData;
|
|
48
|
-
}
|
|
1
|
+
import type { ILiquidCommerceElementsActions } from '@/interfaces/client.interface';
|
|
49
2
|
export declare class ClientActionService {
|
|
50
|
-
private readonly
|
|
51
|
-
private readonly
|
|
52
|
-
private readonly
|
|
53
|
-
private readonly
|
|
54
|
-
private readonly themeProvider;
|
|
55
|
-
private readonly logger;
|
|
56
|
-
private pendingCartParams;
|
|
57
|
-
private pendingCartOpenFlag;
|
|
3
|
+
private readonly productActionService;
|
|
4
|
+
private readonly addressActionService;
|
|
5
|
+
private readonly cartActionService;
|
|
6
|
+
private readonly checkoutActionService;
|
|
58
7
|
constructor();
|
|
59
8
|
static getInstance(): ClientActionService;
|
|
60
|
-
|
|
61
|
-
private retryPendingCartOperation;
|
|
62
|
-
private clearPendingCartOperation;
|
|
63
|
-
private getLocation;
|
|
64
|
-
private productActions;
|
|
65
|
-
private addressActions;
|
|
66
|
-
private cartActions;
|
|
67
|
-
private checkoutActions;
|
|
68
|
-
actions: {
|
|
69
|
-
product: IProductActions;
|
|
70
|
-
address: IAddressActions;
|
|
71
|
-
cart: ICartActions;
|
|
72
|
-
checkout: ICheckoutActions;
|
|
73
|
-
};
|
|
9
|
+
get actions(): ILiquidCommerceElementsActions;
|
|
74
10
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type DebugMode, type ElementsEnv } from '@/enums';
|
|
2
|
+
import type { IClientCustomThemeConfig, IElementsProxyConfig, ILiquidCommerceElementsCheckoutConfig } from '@/interfaces/config.interface';
|
|
2
3
|
import type { IPromoTicker } from '@/interfaces/configs';
|
|
3
|
-
import type { IClientCustomThemeConfig, IElementsProxyConfig } from '@/interfaces/core.interface';
|
|
4
4
|
export type DeviceType = 'desktop' | 'tablet' | 'mobile';
|
|
5
5
|
export interface IClientConfigs {
|
|
6
6
|
apiKey: string;
|
|
@@ -22,6 +22,8 @@ export interface IClientConfigs {
|
|
|
22
22
|
paymentMethodId?: string;
|
|
23
23
|
openShadowDom?: boolean;
|
|
24
24
|
hasCustomApiUrl?: boolean;
|
|
25
|
+
mockMode?: boolean;
|
|
26
|
+
checkout: ILiquidCommerceElementsCheckoutConfig | null;
|
|
25
27
|
}
|
|
26
28
|
export interface IClientConfigInput {
|
|
27
29
|
env?: ElementsEnv;
|
|
@@ -34,7 +36,9 @@ export interface IClientConfigInput {
|
|
|
34
36
|
customApiUrl?: string;
|
|
35
37
|
paymentMethodId?: string;
|
|
36
38
|
openShadowDom?: boolean;
|
|
39
|
+
mockMode?: boolean;
|
|
37
40
|
};
|
|
41
|
+
checkout?: ILiquidCommerceElementsCheckoutConfig;
|
|
38
42
|
}
|
|
39
43
|
export declare class ClientConfigService {
|
|
40
44
|
private config;
|
|
@@ -52,7 +56,6 @@ export declare class ClientConfigService {
|
|
|
52
56
|
debuggingDisabled(): boolean;
|
|
53
57
|
hasCustomTheme(): boolean;
|
|
54
58
|
isMobile(): boolean;
|
|
55
|
-
isLocalStorageAvailable(): boolean;
|
|
56
59
|
getProxyConfig(): IElementsProxyConfig | null;
|
|
57
60
|
private validateInputs;
|
|
58
61
|
private buildConfiguration;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { ICart } from '@/interfaces/
|
|
1
|
+
import type { ICart } from '@/interfaces/api/cart.interface';
|
|
2
2
|
import { BaseCommand } from './base-command.service';
|
|
3
3
|
export declare class CommonCommands extends BaseCommand {
|
|
4
4
|
static getInstance(): CommonCommands;
|
|
5
5
|
syncCartFromResponse(cartApi: ICart, publishEvent?: boolean): void;
|
|
6
|
+
private buildCartLoadedEventData;
|
|
6
7
|
loadCart(): Promise<void>;
|
|
7
8
|
}
|
|
@@ -6,6 +6,7 @@ declare global {
|
|
|
6
6
|
}
|
|
7
7
|
interface GTMConfig {
|
|
8
8
|
partnerName: string;
|
|
9
|
+
partnerCode: string;
|
|
9
10
|
partnerGTMId?: string;
|
|
10
11
|
enablePartnerGTM: boolean;
|
|
11
12
|
enableLiquidCommerceGTM: boolean;
|
|
@@ -32,6 +33,7 @@ interface BaseItem {
|
|
|
32
33
|
quantity?: number;
|
|
33
34
|
item_type?: string;
|
|
34
35
|
item_subtype?: string;
|
|
36
|
+
item_image?: string;
|
|
35
37
|
upc?: string;
|
|
36
38
|
grouping_id?: string;
|
|
37
39
|
product_id?: string;
|
|
@@ -47,6 +49,7 @@ interface PurchaseData {
|
|
|
47
49
|
}
|
|
48
50
|
export declare class GoogleTagManagerService {
|
|
49
51
|
private partnerName?;
|
|
52
|
+
private partnerCode?;
|
|
50
53
|
private partnerGTMId?;
|
|
51
54
|
private liquidCommerceGTMId?;
|
|
52
55
|
private enablePartnerGTM;
|
|
@@ -91,7 +94,7 @@ export declare class GoogleTagManagerService {
|
|
|
91
94
|
net_total?: number;
|
|
92
95
|
}): void;
|
|
93
96
|
promoCodeAttempt(code: string): void;
|
|
94
|
-
promoCodeApplied(code: string,
|
|
97
|
+
promoCodeApplied(code: string, discount?: number): void;
|
|
95
98
|
promoCodeFailed(code: string, reason?: string): void;
|
|
96
99
|
giftCardAttempt(code: string): void;
|
|
97
100
|
giftCardApplied(code: string, appliedAmount?: number): void;
|
|
@@ -13,6 +13,6 @@ export declare class LoggerService {
|
|
|
13
13
|
debug(message: string, data?: Record<string, any>): void;
|
|
14
14
|
info(message: string, data?: Record<string, any>): void;
|
|
15
15
|
warn(message: string, data?: Record<string, any>): void;
|
|
16
|
-
error(message: string,
|
|
16
|
+
error(message: string, errorOrData?: Error | Record<string, any>): void;
|
|
17
17
|
private sendToTelemetry;
|
|
18
18
|
}
|
|
@@ -1,67 +1,23 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
id: string;
|
|
4
|
-
variantId: string;
|
|
5
|
-
liquidId: string;
|
|
6
|
-
retailerId: string;
|
|
7
|
-
partNumber: string;
|
|
8
|
-
fulfillmentId: string;
|
|
9
|
-
upc: string;
|
|
10
|
-
sku: string;
|
|
11
|
-
salsifyGrouping: string;
|
|
12
|
-
catPath: string;
|
|
13
|
-
volume: string;
|
|
14
|
-
uom: string;
|
|
15
|
-
pack: boolean;
|
|
16
|
-
packDesc: string;
|
|
17
|
-
container: string;
|
|
18
|
-
containerType: string;
|
|
19
|
-
name: string;
|
|
20
|
-
brand: string;
|
|
21
|
-
size: string;
|
|
22
|
-
price: number;
|
|
23
|
-
quantity: number;
|
|
24
|
-
maxQuantity: number;
|
|
25
|
-
unitPrice: number;
|
|
26
|
-
mainImage: string;
|
|
27
|
-
attributes: ICartItemAttributes;
|
|
28
|
-
}
|
|
1
|
+
import type { IAddressAddress, IAddressCoordinates } from '@/interfaces/api/address.interface';
|
|
2
|
+
import type { ICartItem, ICartRetailer } from '@/interfaces/api/cart.interface';
|
|
29
3
|
export interface IBaseCartEventData {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
4
|
+
cartId: string;
|
|
5
|
+
promoCodeDiscount: number | null;
|
|
6
|
+
subtotal: number;
|
|
7
|
+
itemCount: number;
|
|
8
|
+
items: Record<string, ICartItem>;
|
|
9
|
+
retailers: Record<string, ICartRetailer>;
|
|
33
10
|
location: {
|
|
34
11
|
placesId: string;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
state: string;
|
|
40
|
-
zip: string;
|
|
41
|
-
country: string;
|
|
42
|
-
};
|
|
43
|
-
coordinates: {
|
|
44
|
-
latitude: number;
|
|
45
|
-
longitude: number;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
amounts: {
|
|
49
|
-
deliveryFee: number;
|
|
50
|
-
discounts: number;
|
|
51
|
-
engravingFee: number;
|
|
52
|
-
giftCardTotal: number;
|
|
53
|
-
platformFee: number;
|
|
54
|
-
shippingFee: number;
|
|
55
|
-
subtotal: number;
|
|
56
|
-
total: number;
|
|
57
|
-
};
|
|
58
|
-
itemCount: number;
|
|
59
|
-
updatedAt: string;
|
|
60
|
-
createdAt: string;
|
|
12
|
+
formattedAddress: string;
|
|
13
|
+
address: IAddressAddress;
|
|
14
|
+
coordinates: IAddressCoordinates;
|
|
15
|
+
} | null;
|
|
61
16
|
}
|
|
62
17
|
export interface ICartLoadedEventData extends IBaseCartEventData {
|
|
63
18
|
}
|
|
64
19
|
export interface ICartFailedEventData {
|
|
20
|
+
cartId: string;
|
|
65
21
|
message: string;
|
|
66
22
|
}
|
|
67
23
|
export interface ICartUpdatedEventData {
|
|
@@ -69,38 +25,45 @@ export interface ICartUpdatedEventData {
|
|
|
69
25
|
current: IBaseCartEventData;
|
|
70
26
|
}
|
|
71
27
|
export interface ICartItemAddedEventData {
|
|
72
|
-
|
|
73
|
-
|
|
28
|
+
cartId: string;
|
|
29
|
+
itemId: string;
|
|
74
30
|
fulfillmentId: string;
|
|
75
31
|
partNumber: string;
|
|
76
32
|
quantity: number;
|
|
77
33
|
engravingLines?: string[];
|
|
78
34
|
}
|
|
79
35
|
export interface ICartItemRemovedEventData {
|
|
80
|
-
|
|
36
|
+
cartId: string;
|
|
37
|
+
itemId: string;
|
|
81
38
|
}
|
|
82
39
|
export interface ICartItemQuantityChangedEventData {
|
|
83
|
-
|
|
40
|
+
cartId: string;
|
|
41
|
+
itemId: string;
|
|
84
42
|
quantity: number;
|
|
85
43
|
previousQuantity: number;
|
|
86
44
|
}
|
|
87
45
|
export interface ICartItemEngravingUpdatedEventData {
|
|
88
|
-
|
|
46
|
+
cartId: string;
|
|
47
|
+
itemId: string;
|
|
89
48
|
engravingLines: string[];
|
|
90
49
|
previousEngravingLines: string[];
|
|
91
50
|
}
|
|
92
51
|
export interface ICartPromoCodeEventData {
|
|
93
|
-
|
|
94
|
-
|
|
52
|
+
cartId: string;
|
|
53
|
+
discount?: number;
|
|
54
|
+
newSubtotal?: number;
|
|
95
55
|
}
|
|
96
56
|
export interface ICartPromoCodeFailedEventData {
|
|
57
|
+
cartId: string;
|
|
97
58
|
error: string;
|
|
98
59
|
}
|
|
99
60
|
export interface ICartProductAddEventData {
|
|
61
|
+
cartId: string;
|
|
100
62
|
itemsAdded: number;
|
|
101
63
|
identifiers: string[];
|
|
102
64
|
}
|
|
103
65
|
export interface ICartProductAddFailedEventData {
|
|
66
|
+
cartId: string;
|
|
104
67
|
identifiers: string[];
|
|
105
68
|
error: string;
|
|
106
69
|
}
|
|
@@ -1,24 +1,56 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ICheckoutAmounts, ICheckoutItem } from '@/interfaces/api/checkout.interface';
|
|
2
2
|
export interface IBaseCheckoutEventData {
|
|
3
|
+
token: string;
|
|
3
4
|
cartId: string;
|
|
5
|
+
isGift: boolean;
|
|
6
|
+
billingSameAsShipping: boolean;
|
|
7
|
+
marketingPreferences: {
|
|
8
|
+
canEmail: boolean;
|
|
9
|
+
canSms: boolean;
|
|
10
|
+
};
|
|
11
|
+
hasPromoCode: boolean;
|
|
12
|
+
hasGiftCards: boolean;
|
|
13
|
+
amounts: ICheckoutAmounts;
|
|
14
|
+
itemCount: number;
|
|
15
|
+
items: Record<string, ICheckoutItem>;
|
|
4
16
|
}
|
|
5
17
|
export interface ICheckoutLoadedEventData extends IBaseCheckoutEventData {
|
|
6
18
|
}
|
|
19
|
+
export interface ICheckoutDetailsEventData extends IBaseCheckoutEventData {
|
|
20
|
+
}
|
|
21
|
+
export interface ICheckoutCustomerInformationUpdatedEventData {
|
|
22
|
+
cartId: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ICheckoutGiftInformationUpdatedEventData {
|
|
25
|
+
cartId: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ICheckoutBillingInformationUpdatedEventData {
|
|
28
|
+
cartId: string;
|
|
29
|
+
}
|
|
7
30
|
export interface ICheckoutTipUpdatedEventData {
|
|
31
|
+
cartId: string;
|
|
8
32
|
deliveryTips: Array<{
|
|
9
|
-
fulfillmentId
|
|
10
|
-
|
|
33
|
+
fulfillmentId: string;
|
|
34
|
+
tip: number;
|
|
35
|
+
}>;
|
|
36
|
+
previousDeliveryTips: Array<{
|
|
37
|
+
fulfillmentId: string;
|
|
38
|
+
tip: number;
|
|
11
39
|
}>;
|
|
12
40
|
}
|
|
13
41
|
export interface ICheckoutFailedEventData {
|
|
14
42
|
message: string;
|
|
15
43
|
}
|
|
16
44
|
export interface ICheckoutToggleEventData {
|
|
45
|
+
cartId: string;
|
|
17
46
|
isActive: boolean;
|
|
47
|
+
previousIsActive: boolean;
|
|
18
48
|
}
|
|
19
49
|
export interface ICheckoutMarketingPreferencesToggleEventData {
|
|
50
|
+
cartId: string;
|
|
20
51
|
fieldName: 'canEmail' | 'canSms';
|
|
21
52
|
isActive: boolean;
|
|
53
|
+
previousIsActive: boolean;
|
|
22
54
|
}
|
|
23
55
|
export interface ICheckoutSubmitStartedEventData {
|
|
24
56
|
started: boolean;
|
|
@@ -31,84 +63,47 @@ export interface ICheckoutSubmitFailedEventData {
|
|
|
31
63
|
message: string;
|
|
32
64
|
}
|
|
33
65
|
export interface ICheckoutItemQuantityChangedEventData {
|
|
66
|
+
cartId: string;
|
|
34
67
|
cartItemId: string;
|
|
35
68
|
quantity: number;
|
|
36
69
|
previousQuantity: number;
|
|
37
70
|
}
|
|
38
71
|
export interface ICheckoutItemRemovedEventData {
|
|
72
|
+
cartId: string;
|
|
39
73
|
cartItemId: string;
|
|
40
74
|
}
|
|
41
75
|
export interface ICheckoutItemEngravingUpdatedEventData {
|
|
76
|
+
cartId: string;
|
|
42
77
|
cartItemId: string;
|
|
43
78
|
engravingLines: string[];
|
|
44
79
|
previousEngravingLines: string[];
|
|
45
80
|
}
|
|
46
81
|
export interface ICheckoutPromoCodeEventData {
|
|
47
|
-
|
|
82
|
+
cartId: string;
|
|
83
|
+
discount?: number;
|
|
48
84
|
newTotal?: number;
|
|
49
85
|
}
|
|
50
86
|
export interface ICheckoutPromoCodeFailedEventData {
|
|
87
|
+
cartId: string;
|
|
51
88
|
error: string;
|
|
52
89
|
}
|
|
53
90
|
export interface ICheckoutGiftCardEventData {
|
|
91
|
+
cartId: string;
|
|
54
92
|
newTotal?: number;
|
|
55
93
|
}
|
|
56
94
|
export interface ICheckoutGiftCardFailedEventData {
|
|
95
|
+
cartId: string;
|
|
57
96
|
error: string;
|
|
58
97
|
}
|
|
59
98
|
export interface ICheckoutProductAddEventData {
|
|
99
|
+
cartId: string;
|
|
60
100
|
itemsAdded: number;
|
|
61
101
|
identifiers: string[];
|
|
62
102
|
isPresale?: boolean;
|
|
63
103
|
}
|
|
64
104
|
export interface ICheckoutProductAddFailedEventData {
|
|
105
|
+
cartId: string;
|
|
65
106
|
identifiers: string[];
|
|
66
107
|
error: string;
|
|
67
108
|
isPresale?: boolean;
|
|
68
109
|
}
|
|
69
|
-
export interface ICheckoutItemEventData {
|
|
70
|
-
liquidId: string;
|
|
71
|
-
variantId: string;
|
|
72
|
-
cartItemId: string;
|
|
73
|
-
retailerId: string;
|
|
74
|
-
fulfillmentId: string;
|
|
75
|
-
salsifyGrouping: string;
|
|
76
|
-
name: string;
|
|
77
|
-
catPath: string;
|
|
78
|
-
volume: string;
|
|
79
|
-
uom: string;
|
|
80
|
-
proof: string;
|
|
81
|
-
abv: string;
|
|
82
|
-
containerType: string;
|
|
83
|
-
container: string;
|
|
84
|
-
size: string;
|
|
85
|
-
pack: boolean;
|
|
86
|
-
packDesc: string;
|
|
87
|
-
mainImage: string;
|
|
88
|
-
brand: string;
|
|
89
|
-
partNumber: string;
|
|
90
|
-
upc: string;
|
|
91
|
-
sku: string;
|
|
92
|
-
price: number;
|
|
93
|
-
unitPrice: number;
|
|
94
|
-
quantity: number;
|
|
95
|
-
unitTax: number;
|
|
96
|
-
bottleDeposits: number;
|
|
97
|
-
attributes: ICartItemAttributes;
|
|
98
|
-
retailerName: string;
|
|
99
|
-
expectationDetail: string;
|
|
100
|
-
}
|
|
101
|
-
export interface ICheckoutDetailsEventData {
|
|
102
|
-
cartId: string;
|
|
103
|
-
isGift: boolean;
|
|
104
|
-
billingSameAsShipping: boolean;
|
|
105
|
-
marketingPreferences: {
|
|
106
|
-
canEmail: boolean;
|
|
107
|
-
canSms: boolean;
|
|
108
|
-
};
|
|
109
|
-
hasPromoCode: boolean;
|
|
110
|
-
hasGiftCards: boolean;
|
|
111
|
-
amounts: ICheckoutTotalAmounts;
|
|
112
|
-
itemCount: number;
|
|
113
|
-
items: Record<string, ICheckoutItemEventData>;
|
|
114
|
-
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IAddressActionEventData } from '@/core/pubsub/interfaces/address.interface';
|
|
2
2
|
import type { ICartFailedEventData, ICartItemAddedEventData, ICartItemEngravingUpdatedEventData, ICartItemQuantityChangedEventData, ICartItemRemovedEventData, ICartLoadedEventData, ICartProductAddEventData, ICartProductAddFailedEventData, ICartPromoCodeEventData, ICartPromoCodeFailedEventData, ICartUpdatedEventData } from '@/core/pubsub/interfaces/cart.interface';
|
|
3
|
-
import type { ICheckoutFailedEventData, ICheckoutGiftCardEventData, ICheckoutGiftCardFailedEventData, ICheckoutItemEngravingUpdatedEventData, ICheckoutItemQuantityChangedEventData, ICheckoutItemRemovedEventData, ICheckoutLoadedEventData, ICheckoutMarketingPreferencesToggleEventData, ICheckoutProductAddEventData, ICheckoutProductAddFailedEventData, ICheckoutPromoCodeEventData, ICheckoutPromoCodeFailedEventData, ICheckoutSubmitCompletedEventData, ICheckoutSubmitFailedEventData, ICheckoutSubmitStartedEventData, ICheckoutTipUpdatedEventData, ICheckoutToggleEventData } from '@/core/pubsub/interfaces/checkout.interface';
|
|
3
|
+
import type { ICheckoutBillingInformationUpdatedEventData, ICheckoutCustomerInformationUpdatedEventData, ICheckoutFailedEventData, ICheckoutGiftCardEventData, ICheckoutGiftCardFailedEventData, ICheckoutGiftInformationUpdatedEventData, ICheckoutItemEngravingUpdatedEventData, ICheckoutItemQuantityChangedEventData, ICheckoutItemRemovedEventData, ICheckoutLoadedEventData, ICheckoutMarketingPreferencesToggleEventData, ICheckoutProductAddEventData, ICheckoutProductAddFailedEventData, ICheckoutPromoCodeEventData, ICheckoutPromoCodeFailedEventData, ICheckoutSubmitCompletedEventData, ICheckoutSubmitFailedEventData, ICheckoutSubmitStartedEventData, ICheckoutTipUpdatedEventData, ICheckoutToggleEventData } from '@/core/pubsub/interfaces/checkout.interface';
|
|
4
4
|
import type { IProductAddToCartEventData, IProductFulfillmentChangedEventData, IProductFulfillmentTypeChangedEventData, IProductLoadedEventData, IProductQuantityChangedEventData, IProductSizeChangedEventData } from '@/core/pubsub/interfaces/product.interface';
|
|
5
5
|
import { ELEMENTS_ACTIONS_EVENT } from '@/enums';
|
|
6
6
|
export interface IElementsClientIsReadyEventData {
|
|
@@ -16,6 +16,10 @@ export interface IEventMetadata {
|
|
|
16
16
|
originalEvent: string;
|
|
17
17
|
actionNamespace?: 'address' | 'product' | 'cart' | 'checkout' | 'other';
|
|
18
18
|
timestamp: number;
|
|
19
|
+
sdkVersion: string;
|
|
20
|
+
env: string;
|
|
21
|
+
tenantName: string;
|
|
22
|
+
tenantCode: string;
|
|
19
23
|
}
|
|
20
24
|
export interface IEnhancedEventData<T> {
|
|
21
25
|
data: T;
|
|
@@ -49,6 +53,7 @@ export interface IElementsActionsEventsMap {
|
|
|
49
53
|
[ELEMENTS_ACTIONS_EVENT.CART_PROMO_CODE_FAILED]: ICartPromoCodeFailedEventData;
|
|
50
54
|
[ELEMENTS_ACTIONS_EVENT.CART_PRODUCT_ADD_SUCCESS]: ICartProductAddEventData;
|
|
51
55
|
[ELEMENTS_ACTIONS_EVENT.CART_PRODUCT_ADD_FAILED]: ICartProductAddFailedEventData;
|
|
56
|
+
[ELEMENTS_ACTIONS_EVENT.INTERNAL_CART_TO_CHECKOUT]: object;
|
|
52
57
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_OPENED]: boolean;
|
|
53
58
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_CLOSED]: boolean;
|
|
54
59
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_LOADED]: ICheckoutLoadedEventData;
|
|
@@ -56,9 +61,9 @@ export interface IElementsActionsEventsMap {
|
|
|
56
61
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_IS_GIFT_TOGGLED]: ICheckoutToggleEventData;
|
|
57
62
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_BILLING_SAME_AS_SHIPPING_TOGGLED]: ICheckoutToggleEventData;
|
|
58
63
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_MARKETING_PREFERENCES_TOGGLED]: ICheckoutMarketingPreferencesToggleEventData;
|
|
59
|
-
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_CUSTOMER_INFORMATION_UPDATED]:
|
|
60
|
-
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_GIFT_INFORMATION_UPDATED]:
|
|
61
|
-
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_BILLING_INFORMATION_UPDATED]:
|
|
64
|
+
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_CUSTOMER_INFORMATION_UPDATED]: ICheckoutCustomerInformationUpdatedEventData;
|
|
65
|
+
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_GIFT_INFORMATION_UPDATED]: ICheckoutGiftInformationUpdatedEventData;
|
|
66
|
+
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_BILLING_INFORMATION_UPDATED]: ICheckoutBillingInformationUpdatedEventData;
|
|
62
67
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_ITEM_REMOVED]: ICheckoutItemRemovedEventData;
|
|
63
68
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_ITEM_QUANTITY_INCREASE]: ICheckoutItemQuantityChangedEventData;
|
|
64
69
|
[ELEMENTS_ACTIONS_EVENT.CHECKOUT_ITEM_QUANTITY_DECREASE]: ICheckoutItemQuantityChangedEventData;
|