@liquidcommerce/elements-sdk 2.6.0-beta.1 → 2.6.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +1 -0
  2. package/dist/index.esm.js +10477 -10038
  3. package/dist/types/constants/core.constant.d.ts +11 -0
  4. package/dist/types/core/api/api-client.service.d.ts +11 -11
  5. package/dist/types/core/api/auth-client.service.d.ts +3 -14
  6. package/dist/types/core/client/client-action.service.d.ts +18 -11
  7. package/dist/types/core/client/client-config.service.d.ts +1 -0
  8. package/dist/types/core/command/base-command.service.d.ts +2 -2
  9. package/dist/types/core/command/common-command.service.d.ts +2 -1
  10. package/dist/types/core/google-tag-manager.service.d.ts +12 -10
  11. package/dist/types/core/pubsub/interfaces/address.interface.d.ts +3 -12
  12. package/dist/types/core/pubsub/interfaces/cart.interface.d.ts +26 -63
  13. package/dist/types/core/pubsub/interfaces/checkout.interface.d.ts +11 -1
  14. package/dist/types/core/pubsub/interfaces/product.interface.d.ts +16 -81
  15. package/dist/types/core/store/interfaces/address.interface.d.ts +3 -12
  16. package/dist/types/core/store/interfaces/cart.interface.d.ts +16 -54
  17. package/dist/types/core/store/interfaces/checkout.interface.d.ts +2 -2
  18. package/dist/types/core/store/interfaces/core.interface.d.ts +5 -4
  19. package/dist/types/core/store/interfaces/product.interface.d.ts +12 -66
  20. package/dist/types/core/store/store.constant.d.ts +1 -1
  21. package/dist/types/core/telemetry/telemetry.interface.d.ts +0 -1
  22. package/dist/types/elements-base-client.d.ts +1 -1
  23. package/dist/types/enums/cloud.enum.d.ts +20 -0
  24. package/dist/types/enums/core.enum.d.ts +1 -0
  25. package/dist/types/interfaces/api/address.interface.d.ts +28 -0
  26. package/dist/types/interfaces/api/cart.interface.d.ts +91 -0
  27. package/dist/types/interfaces/api/product-list.interface.d.ts +30 -0
  28. package/dist/types/interfaces/api/product.interface.d.ts +106 -0
  29. package/dist/types/interfaces/cloud/checkout.interface.d.ts +14 -10
  30. package/dist/types/interfaces/cloud/index.d.ts +0 -4
  31. package/dist/types/interfaces/cloud/retailer.interface.d.ts +2 -2
  32. package/dist/types/interfaces/configs/configurations.interface.d.ts +5 -5
  33. package/dist/types/interfaces/configs/global.interface.d.ts +1 -0
  34. package/dist/types/interfaces/configs/product.interface.d.ts +1 -0
  35. package/dist/types/modules/address/address.command.d.ts +2 -3
  36. package/dist/types/modules/address/address.interface.d.ts +0 -7
  37. package/dist/types/modules/cart/cart.commands.d.ts +0 -1
  38. package/dist/types/modules/cart/components/cart-body.component.d.ts +2 -1
  39. package/dist/types/modules/cart/components/cart-footer.component.d.ts +0 -1
  40. package/dist/types/modules/cart/components/cart-fulfillment.component.d.ts +0 -2
  41. package/dist/types/modules/product/components/components.d.ts +2 -4
  42. package/dist/types/modules/product/product.commands.d.ts +2 -2
  43. package/dist/types/modules/product-list/components/index.d.ts +2 -0
  44. package/dist/types/modules/product-list/components/product-list-card.component.d.ts +3 -2
  45. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/index.d.ts +6 -0
  46. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-apply-filter-button.component.d.ts +1 -0
  47. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-checkbox-filter.components.d.ts +7 -0
  48. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-delivery-options-filter.components.d.ts +16 -0
  49. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-price-filter.components.d.ts +22 -0
  50. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-search.component.d.ts +16 -0
  51. package/dist/types/modules/product-list/components/product-list-filters-subcomponents/product-list-toggle-filters.components.d.ts +18 -0
  52. package/dist/types/modules/product-list/components/product-list-filters.component.d.ts +27 -5
  53. package/dist/types/modules/product-list/product-list.commands.d.ts +3 -2
  54. package/dist/types/modules/product-list/product-list.component.d.ts +13 -5
  55. package/dist/types/modules/product-list/product-list.interface.d.ts +77 -0
  56. package/dist/types/modules/ui-components/purchase-min-alert/index.d.ts +0 -1
  57. package/dist/types/static/icon/chevron-up.icon.d.ts +2 -0
  58. package/dist/types/static/icon/filter.icon.d.ts +2 -0
  59. package/dist/types/static/icon/index.d.ts +1 -0
  60. package/dist/types/utils/helper.d.ts +2 -1
  61. package/docs/THEMING.md +3 -0
  62. package/package.json +4 -5
  63. package/umd/elements.js +1 -1
  64. package/dist/types/interfaces/cloud/address.interface.d.ts +0 -36
  65. package/dist/types/interfaces/cloud/cart.interface.d.ts +0 -132
  66. package/dist/types/interfaces/cloud/catalog.interface.d.ts +0 -43
  67. package/dist/types/interfaces/cloud/product.interface.d.ts +0 -158
  68. package/dist/types/modules/cart/cart.commands.helper.d.ts +0 -9
  69. package/dist/types/modules/product/utils/helpers.d.ts +0 -3
  70. package/dist/types/modules/product/utils/retailer-hours.d.ts +0 -9
  71. package/dist/types/modules/ui-components/purchase-min-alert/helpers.d.ts +0 -7
@@ -1,36 +0,0 @@
1
- import type { ICoreParams } from './core.interface';
2
- export interface IAddress {
3
- id?: string;
4
- one: string;
5
- two: string;
6
- city: string;
7
- state: string;
8
- zip: string;
9
- country?: string;
10
- }
11
- export interface ICoords {
12
- lat: number;
13
- long: number;
14
- }
15
- export interface ILoc {
16
- address?: IAddress;
17
- coords?: ICoords;
18
- }
19
- export interface ILocBase extends ICoreParams {
20
- loc?: ILoc;
21
- }
22
- export interface IAddressAutocompleteParams extends ICoreParams {
23
- input: string;
24
- }
25
- export interface IAddressAutocompleteResult {
26
- id: string;
27
- description: string;
28
- }
29
- export interface IAddressDetailsParams extends ICoreParams {
30
- id: string;
31
- }
32
- export interface IAddressDetailsResult {
33
- formattedAddress: string;
34
- coords: ICoords;
35
- address: Omit<IAddress, 'id'>;
36
- }
@@ -1,132 +0,0 @@
1
- import type { CartEventEnum } from '@/enums';
2
- import type { ILoc, ILocBase } from './address.interface';
3
- import type { IProduct, IProductPresale } from './product.interface';
4
- import type { IRetailer } from './retailer.interface';
5
- export interface ICartItemEngraving {
6
- isEngravable: boolean;
7
- hasEngraving: boolean;
8
- fee: number;
9
- maxCharsPerLine: number;
10
- maxLines: number;
11
- location: string;
12
- lines: string[];
13
- }
14
- export interface ICartItemGiftCart {
15
- sender: string;
16
- message: string;
17
- recipients: string[];
18
- sendDate: string;
19
- }
20
- export interface ICartItemAttributes {
21
- engraving: ICartItemEngraving;
22
- presale: IProductPresale;
23
- giftCard: ICartItemGiftCart;
24
- }
25
- export interface ICartItem extends Partial<Omit<IProduct, 'attributes'>> {
26
- id: string;
27
- retailerId: string;
28
- fulfillmentId: string;
29
- variantId: string;
30
- liquidId: string;
31
- salsifyGrouping: string;
32
- salsifyPid?: string;
33
- partNumber: string;
34
- upc: string;
35
- sku: string;
36
- name: string;
37
- brand: string;
38
- size: string;
39
- volume: string;
40
- uom: string;
41
- abv: string;
42
- proof: string;
43
- catPath: string;
44
- pack: boolean;
45
- packDesc: string;
46
- container: string;
47
- containerType: string;
48
- quantity: number;
49
- maxQuantity: number;
50
- unitPrice: number;
51
- price: number;
52
- scheduledFor: string | Date;
53
- availableAt: string | Date;
54
- images: string[];
55
- mainImage: string;
56
- attributes: ICartItemAttributes;
57
- }
58
- export interface ICartAttributesPromoCode {
59
- value: string;
60
- discount: number;
61
- freeDelivery: boolean;
62
- freeServiceFee: boolean;
63
- freeShipping: boolean;
64
- }
65
- export interface ICartAttributesAmountsFees {
66
- shipping: number;
67
- onDemand: number;
68
- }
69
- export interface ICartAttributesAmountsDiscounts {
70
- shipping: number;
71
- onDemand: number;
72
- engraving: number;
73
- service: number;
74
- products: number;
75
- }
76
- export interface ICartAttributesAmounts {
77
- fees: ICartAttributesAmountsFees;
78
- discounts: ICartAttributesAmountsDiscounts;
79
- }
80
- export interface ICartAttributes {
81
- promoCode: ICartAttributesPromoCode;
82
- amounts: ICartAttributesAmounts;
83
- }
84
- export interface ICartRetailer extends IRetailer {
85
- platformFee: number;
86
- engravingFee: number;
87
- deliveryFee: number;
88
- shippingFee: number;
89
- subtotal: number;
90
- total: number;
91
- }
92
- export interface ICartEvent {
93
- type: CartEventEnum;
94
- message: string;
95
- items?: Array<Partial<ICartItem>>;
96
- }
97
- export interface ICart {
98
- id: string;
99
- quantity: number;
100
- platformFee: number;
101
- deliveryFee: number;
102
- engravingFee: number;
103
- shippingFee: number;
104
- discounts: number;
105
- giftCardTotal: number;
106
- subtotal: number;
107
- total: number;
108
- isPresaleLocked: boolean;
109
- presaleExpiresAt: string | null;
110
- createdAt: string | Date;
111
- updatedAt: string | Date;
112
- items: ICartItem[];
113
- loc: ILoc;
114
- retailers: ICartRetailer[];
115
- attributes: ICartAttributes;
116
- events: ICartEvent[];
117
- }
118
- export interface ICartUpdateItem {
119
- id?: string;
120
- upc?: string;
121
- partNumber: string;
122
- sku?: string;
123
- quantity: number;
124
- fulfillmentId: string;
125
- engravingLines?: string[];
126
- scheduledFor?: string | Date;
127
- }
128
- export interface ICartUpdateParams extends ILocBase {
129
- id: string;
130
- items: ICartUpdateItem[];
131
- promoCode?: string;
132
- }
@@ -1,43 +0,0 @@
1
- import type { IProduct } from '@/interfaces/cloud/product.interface';
2
- import type { ILocBase } from './address.interface';
3
- import type { IRetailer } from './retailer.interface';
4
- export declare enum ENUM_NAVIGATION_ORDER_DIRECTION_TYPE {
5
- ASC = "asc",
6
- DESC = "desc"
7
- }
8
- export declare enum ENUM_ORDER_BY {
9
- PRICE = "price"
10
- }
11
- export interface ICatalogParams extends ILocBase {
12
- search?: string;
13
- pageToken?: string;
14
- entity?: string;
15
- page?: number;
16
- perPage?: number;
17
- visitorId?: string;
18
- retailers?: string[];
19
- orderBy?: ENUM_ORDER_BY;
20
- orderDirection?: ENUM_NAVIGATION_ORDER_DIRECTION_TYPE;
21
- filters?: Array<Record<any, any>>;
22
- }
23
- export interface ICatalog {
24
- retailers?: IRetailer[];
25
- products?: IProduct[];
26
- navigation?: INavigationSchema;
27
- }
28
- export interface ICursorSchema {
29
- nextPageToken: string;
30
- previousPageToken: string;
31
- }
32
- export interface INavigationSchema {
33
- id: string;
34
- correctedQuery: string;
35
- attributionToken: string;
36
- currentPage: number;
37
- totalPages: number;
38
- totalCount: number;
39
- availableOrderBy: ENUM_ORDER_BY[];
40
- availableOrderDirection: ENUM_NAVIGATION_ORDER_DIRECTION_TYPE[];
41
- cursor: ICursorSchema;
42
- filters: any[];
43
- }
@@ -1,158 +0,0 @@
1
- import type { FulfillmentType } from '@/enums';
2
- import type { ILocBase } from './address.interface';
3
- import type { IRetailer } from './retailer.interface';
4
- export interface IAvailabilityParams extends ILocBase {
5
- upcs?: string[];
6
- grouping?: string[];
7
- ids?: string[];
8
- shouldShowOffHours?: boolean;
9
- }
10
- export interface IAvailabilityResponse {
11
- products: IProduct[];
12
- retailers: IRetailer[];
13
- }
14
- export interface IAttributesImage {
15
- backOfBottle: string;
16
- frontOfBottle: string;
17
- lifestyle: string[];
18
- }
19
- export interface IAttributesAward {
20
- image: string;
21
- statement: string;
22
- title: string;
23
- }
24
- export interface IAttributesRecipeIngredient {
25
- name: string;
26
- amount: string;
27
- }
28
- export interface IAttributesRecipe {
29
- image: string;
30
- ingredients: IAttributesRecipeIngredient[];
31
- steps: string[];
32
- title: string;
33
- }
34
- export interface IAttributesVideo {
35
- link: string;
36
- image: string;
37
- title: string;
38
- }
39
- export interface IAttributesTastingNote {
40
- statement: string;
41
- image: string;
42
- title: string;
43
- }
44
- export interface IAttributesPersonalization {
45
- type: string;
46
- engravingMaxLines: number;
47
- engravingMaxCharsPerLine: number;
48
- location: string[];
49
- width: number;
50
- height: number;
51
- image: string;
52
- fee: number;
53
- availableFrom: Date;
54
- availableTo: Date;
55
- }
56
- export interface IAttributes {
57
- brandOrigin: string;
58
- originStatement: string;
59
- ownershipType: string[];
60
- tags: string[];
61
- images: IAttributesImage;
62
- awards: IAttributesAward[];
63
- recipes: IAttributesRecipe[];
64
- video: IAttributesVideo[];
65
- tastingNotes: IAttributesTastingNote[];
66
- personalizations: IAttributesPersonalization[];
67
- }
68
- export interface IProductFulfillmentTypes {
69
- shipping: string;
70
- onDemand: string;
71
- }
72
- export interface IProductVariant {
73
- partNumber: string;
74
- retailerId: string;
75
- price: number;
76
- modalities?: FulfillmentType[];
77
- salePrice: number;
78
- isEngravable: boolean;
79
- stock: number;
80
- fulfillments: string[];
81
- fulfillmentTypes: IProductFulfillmentTypes;
82
- }
83
- export interface IProductSizeEngraving {
84
- status: boolean;
85
- validated?: boolean;
86
- maxLines: number;
87
- maxCharsPerLine: number;
88
- fee: number;
89
- location: string;
90
- }
91
- export interface IProductSizeAttributes {
92
- engraving?: IProductSizeEngraving;
93
- presale?: IProductPresale;
94
- maxQuantityPerOrder?: number;
95
- }
96
- export interface IProductSize {
97
- id: string;
98
- salsifyPid?: string;
99
- upc: string;
100
- size: string;
101
- volume: string;
102
- uom: string;
103
- image: string;
104
- pack: boolean;
105
- packDesc: string;
106
- container: string;
107
- maxQuantityPerOrder: number;
108
- containerType: string;
109
- attributes: IProductSizeAttributes;
110
- variants: IProductVariant[];
111
- }
112
- export interface IProductPriceInfo {
113
- currency: string;
114
- minimum: number;
115
- average: number;
116
- maximum: number;
117
- }
118
- export interface IProduct {
119
- id?: string;
120
- name: string;
121
- brand: string;
122
- catPath: string;
123
- category: string;
124
- classification: string;
125
- type: string;
126
- salsifyGrouping: string;
127
- subType: string;
128
- region: string;
129
- country: string;
130
- material: string;
131
- abv: string;
132
- proof: string;
133
- age: string;
134
- color: string;
135
- flavor: string;
136
- variety: string;
137
- appellation: string;
138
- vintage: string;
139
- description: string;
140
- htmlDescription: string;
141
- tastingNotes: string;
142
- images: string[];
143
- sizes: IProductSize[];
144
- attributes?: Partial<IAttributes>;
145
- priceInfo: IProductPriceInfo | null;
146
- }
147
- export interface IProductData {
148
- products: IProduct[];
149
- retailers: IRetailer[];
150
- }
151
- export interface IProductPresale {
152
- canPurchaseOn: null | string;
153
- estimatedShipBy: null | string;
154
- isActive: boolean;
155
- language: string;
156
- presaleLimit: number;
157
- price: number;
158
- }
@@ -1,9 +0,0 @@
1
- import type { IBaseCartEventData } from '@/core/pubsub/interfaces/cart.interface';
2
- import type { IAddressStore } from '@/core/store/interfaces/address.interface';
3
- import type { ICartItemStore, ICartStore, ICartTotalsStore, IRetailerFulfillmentStore, IRetailerStore } from '@/core/store/interfaces/cart.interface';
4
- import type { ICart, ICartItem, ICartRetailer, IRetailerFulfillments } from '@/interfaces/cloud';
5
- export declare function buildCartItemStore(apiItem: ICartItem): ICartItemStore;
6
- export declare function buildCartTotals(cart: ICart): ICartTotalsStore;
7
- export declare function buildRetailerStore(retailer: ICartRetailer): IRetailerStore;
8
- export declare function buildFulfillmentStore(fulfillment: IRetailerFulfillments, retailer: ICartRetailer): IRetailerFulfillmentStore;
9
- export declare function cartDataForEventFromStore(cartStore: ICartStore, addressStore: IAddressStore): IBaseCartEventData;
@@ -1,3 +0,0 @@
1
- import type { IProductFulfillmentStore } from '@/core/store/interfaces/product.interface';
2
- import { type FulfillmentType } from '@/enums';
3
- export declare function fulfillmentAddress(address: IProductFulfillmentStore['retailerAddress'], selectedFulfillmentType: FulfillmentType): string;
@@ -1,9 +0,0 @@
1
- import type { IProductFulfillmentStore } from '@/core/store/interfaces/product.interface';
2
- export interface RetailerStatus {
3
- message: string | null;
4
- isOpen: boolean;
5
- openTime?: string;
6
- closeTime?: string;
7
- isClosed: boolean;
8
- }
9
- export declare function getRetailerOffHours(fulfillment: IProductFulfillmentStore): RetailerStatus;
@@ -1,7 +0,0 @@
1
- import type { IRetailerFulfillmentStore } from '@/core/store/interfaces/cart.interface';
2
- export declare const shouldShowMinimumPurchaseAlert: (fulfillment: IRetailerFulfillmentStore | undefined, isPack?: boolean) => boolean;
3
- export declare const getMinimumPurchaseMessage: (fulfillment: IRetailerFulfillmentStore | undefined, isPack?: boolean) => {
4
- message: string;
5
- type: "warning" | "info";
6
- };
7
- export declare const hasUnmetMinimum: (fulfillment: IRetailerFulfillmentStore | undefined, isPack?: boolean) => boolean;