@ikas/bp-storefront 1.4.0-beta.23 → 1.4.0-beta.230
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/analytics/analytics-functions/addToCart.js +1 -1
- package/dist/analytics/analytics-functions/addToWishlist.js +1 -1
- package/dist/analytics/analytics-functions/completeRegistration.js +1 -1
- package/dist/analytics/analytics-functions/contactForm.js +1 -1
- package/dist/analytics/analytics-functions/createEmailSubscription.js +1 -1
- package/dist/analytics/analytics-functions/customerLogin.js +1 -1
- package/dist/analytics/analytics-functions/customerLogout.js +1 -1
- package/dist/analytics/analytics-functions/customerVisit.js +1 -1
- package/dist/analytics/analytics-functions/pageView.js +1 -1
- package/dist/analytics/analytics-functions/productView.js +1 -1
- package/dist/analytics/analytics-functions/removeFromCart.js +1 -1
- package/dist/analytics/analytics-functions/search.js +1 -1
- package/dist/analytics/analytics-functions/viewBrand.js +1 -1
- package/dist/analytics/analytics-functions/viewCart.js +1 -1
- package/dist/analytics/analytics-functions/viewCategory.js +1 -1
- package/dist/analytics/analytics-functions/viewListing.js +1 -1
- package/dist/analytics/analytics-functions/viewSearchResults.js +1 -1
- package/dist/analytics/analytics-functions/viewStorefrontPopup.js +1 -1
- package/dist/analytics/events.d.ts +8 -0
- package/dist/analytics/events.js +1 -1
- package/dist/analytics/ikas/analytics.js +1 -1
- package/dist/analytics/openai/addToCart.d.ts +2 -0
- package/dist/analytics/openai/addToCart.js +1 -0
- package/dist/analytics/openai/completeRegistration.d.ts +1 -0
- package/dist/analytics/openai/completeRegistration.js +1 -0
- package/dist/analytics/openai/contactForm.d.ts +1 -0
- package/dist/analytics/openai/contactForm.js +1 -0
- package/dist/analytics/openai/initAdvancedMatching.d.ts +12 -0
- package/dist/analytics/openai/initAdvancedMatching.js +1 -0
- package/dist/analytics/openai/pageView.d.ts +1 -0
- package/dist/analytics/openai/pageView.js +1 -0
- package/dist/analytics/openai/productView.d.ts +2 -0
- package/dist/analytics/openai/productView.js +1 -0
- package/dist/analytics/openai/utils.d.ts +26 -0
- package/dist/analytics/openai/utils.js +1 -0
- package/dist/analytics/utils.d.ts +1 -0
- package/dist/analytics/utils.js +1 -1
- package/dist/functions/api/cart/index.d.ts +2 -0
- package/dist/functions/api/cart/index.js +1 -1
- package/dist/functions/api/customer/index.d.ts +12 -2
- package/dist/functions/api/customer/index.js +1 -1
- package/dist/functions/api/loyalty/index.d.ts +2 -1
- package/dist/functions/api/loyalty/index.js +1 -1
- package/dist/functions/api/product/index.js +1 -1
- package/dist/functions/models/attribute-detail/index.d.ts +3 -0
- package/dist/functions/models/attribute-list/index.d.ts +3 -0
- package/dist/functions/models/image/index.d.ts +71 -21
- package/dist/functions/models/image/index.js +1 -1
- package/dist/functions/models/index.d.ts +1 -0
- package/dist/functions/models/order/index.d.ts +139 -4
- package/dist/functions/models/order/index.js +1 -1
- package/dist/functions/models/product/attribute-value/index.d.ts +5 -0
- package/dist/functions/models/product/index.d.ts +22 -0
- package/dist/functions/models/product/index.js +1 -1
- package/dist/functions/models/product/variant/index.d.ts +96 -6
- package/dist/functions/models/product/variant/index.js +1 -1
- package/dist/functions/models/product-list/index.d.ts +21 -0
- package/dist/functions/models/product-list/index.js +1 -1
- package/dist/functions/models/validator/address/index.d.ts +70 -2
- package/dist/functions/models/validator/deactivate-customer/index.d.ts +54 -0
- package/dist/functions/models/validator/deactivate-customer/index.js +1 -0
- package/dist/functions/stores/base/index.d.ts +75 -0
- package/dist/functions/stores/base/index.js +1 -1
- package/dist/functions/stores/cart/index.d.ts +46 -2
- package/dist/functions/stores/cart/index.js +1 -1
- package/dist/functions/stores/customer/index.d.ts +349 -29
- package/dist/functions/stores/customer/index.js +1 -1
- package/dist/i18n/ikas-texts.d.ts +425 -0
- package/dist/i18n/index.d.ts +19 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +1 -1
- package/dist/packages/storefront-api/src/__api/mutations/removeGiftCardFromCart.js +1 -0
- package/dist/packages/storefront-api/src/__api/mutations/unlinkExternalAccount.js +1 -0
- package/dist/packages/storefront-api/src/__api/queries/getExternalAccountLink.js +1 -0
- package/dist/packages/storefront-api/src/__api/queries/getLoyaltyProgram.js +1 -0
- package/dist/packages/storefront-api/src/__api/queries/getMilesSmilesDetails.js +1 -0
- package/dist/packages/storefront-api/src/__api/queries/getRefundableLines.js +1 -0
- package/dist/packages/storefront-api/src/__api/queries/listOrderTransactionsWithPrices.js +1 -0
- package/dist/packages/storefront-api-client/src/utils/api.js +1 -1
- package/dist/packages/storefront-config/src/index.js +1 -1
- package/dist/packages/storefront-config/src/theme-globals.js +1 -0
- package/dist/router/index.d.ts +28 -0
- package/dist/router/index.js +1 -1
- package/dist/storefront-api/src/__api/mutations/removeGiftCardFromCart.d.ts +7 -0
- package/dist/storefront-api/src/__api/mutations/unlinkExternalAccount.d.ts +6 -0
- package/dist/storefront-api/src/__api/queries/getExternalAccountLink.d.ts +6 -0
- package/dist/storefront-api/src/__api/queries/getLoyaltyProgram.d.ts +3 -0
- package/dist/storefront-api/src/__api/queries/getMilesSmilesDetails.d.ts +3 -0
- package/dist/storefront-api/src/__api/queries/getRefundableLines.d.ts +6 -0
- package/dist/storefront-api/src/__api/queries/listOrderTransactionsWithPrices.d.ts +6 -0
- package/dist/storefront-api/src/__api/types/index.d.ts +101 -6
- package/dist/storefront-api-client/src/utils/api.d.ts +7 -0
- package/dist/storefront-config/src/index.d.ts +32 -0
- package/dist/storefront-config/src/theme-globals.d.ts +349 -0
- package/dist/storefront-models/src/index.d.ts +8 -0
- package/dist/storefront-models/src/models/blueprint/prop-value/attribute-list.d.ts +2 -0
- package/dist/storefront-models/src/models/blueprint/prop-value/attribute.d.ts +2 -0
- package/dist/storefront-models/src/models/blueprint/prop-value/color.d.ts +2 -0
- package/dist/storefront-models/src/models/blueprint/prop-value/index.d.ts +1 -0
- package/dist/storefront-models/src/models/blueprint/prop-value/link.d.ts +10 -0
- package/dist/storefront-models/src/models/blueprint/prop-value/variable-binding.d.ts +16 -0
- package/dist/storefront-models/src/models/image/index.d.ts +7 -0
- package/dist/storefront-models/src/models/loyalty-program/customer-info/index.d.ts +2 -0
- package/dist/storefront-models/src/models/loyalty-program/earning-method/index.d.ts +1 -0
- package/dist/storefront-models/src/models/loyalty-program/index.d.ts +1 -0
- package/dist/storefront-models/src/models/loyalty-program/point-history/index.d.ts +1 -0
- package/dist/storefront-models/src/models/order/gift-card-line/index.d.ts +15 -0
- package/dist/storefront-models/src/models/order/index.d.ts +10 -0
- package/dist/storefront-models/src/models/order/line-item/index.d.ts +6 -1
- package/dist/storefront-models/src/models/order/package/index.d.ts +1 -1
- package/dist/storefront-models/src/models/order/refund/reason/index.d.ts +6 -0
- package/dist/storefront-models/src/models/order/refund/reason/translation/index.d.ts +4 -0
- package/dist/storefront-models/src/models/order/refund/refundable-line/index.d.ts +8 -0
- package/dist/storefront-models/src/models/order/refund/refundable-lines/index.d.ts +8 -0
- package/dist/storefront-models/src/models/order/refund/settings/translation/index.d.ts +4 -0
- package/dist/storefront-models/src/models/payment-gateway/index.d.ts +3 -1
- package/dist/storefront-models/src/models/product/attribute/index.d.ts +6 -1
- package/dist/storefront-models/src/models/product/campaign/data/index.d.ts +2 -0
- package/dist/storefront-models/src/models/product/campaign/filter/index.d.ts +1 -1
- package/dist/storefront-models/src/models/product/campaign/product-tiered-discount/index.d.ts +13 -0
- package/dist/storefront-models/src/models/product/image/index.d.ts +5 -0
- package/dist/storefront-models/src/models/product/variant/index.d.ts +17 -0
- package/dist/storefront-models/src/models/storefront/index.d.ts +1 -0
- package/dist/storefront-models/src/models/validator/deactivate-customer/index.d.ts +4 -0
- package/dist/stores/customer/index.d.ts +2 -1
- package/dist/stores/customer/index.js +1 -1
- package/dist/theme/settings/index.d.ts +51 -0
- package/dist/theme/settings/index.js +1 -0
- package/dist/utils/component-renderer.js +1 -1
- package/dist/utils/currency.d.ts +36 -3
- package/dist/utils/helper.d.ts +1 -0
- package/dist/utils/helper.js +1 -1
- package/dist/utils/pay-with-ikas.d.ts +552 -0
- package/dist/utils/pay-with-ikas.js +1 -0
- package/dist/utils/svg.d.ts +15 -0
- package/dist/utils/svg.js +1 -0
- package/package.json +2 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { ListLoyaltyProgramPointHistoryQueryParams, SaveCustomerFormDataInput, UseLoyaltyPointsQueryParams } from "../../../storefront-api/src";
|
|
1
|
+
import type { ExternalAccountLink, ListLoyaltyProgramPointHistoryQueryParams, ListOrderTransactionWithPricesResponse, MilesSmilesDetailsResponse, SaveCustomerFormDataInput, UseLoyaltyPointsQueryParams } from "../../../storefront-api/src";
|
|
2
2
|
import { APIResponse } from "../../../storefront-api-client/src";
|
|
3
|
-
import { AccountInfoForm, AddressForm, ContactForm, CouponCodeForm, ForgotPasswordForm, IkasContactForm, IkasCustomer, IkasCustomerAddress, IkasCustomerAttributeValue, IkasCustomerReviewForm, IkasFavoriteProduct, IkasOrder, IkasOrderTransaction, IkasProduct, IkasProductFile, LoginForm, NewsletterSubscriptionForm, OrderTrackingForm, RecoverPasswordForm, RegisterForm, SmsLoginForm, VerifyPhoneNumberForm } from "../../../storefront-models/src";
|
|
3
|
+
import { AccountInfoForm, AddressForm, ContactForm, CouponCodeForm, DeactivateCustomerForm, ForgotPasswordForm, IkasContactForm, IkasCustomer, IkasCustomerAddress, IkasCustomerAttributeValue, IkasCustomerReviewForm, IkasFavoriteProduct, IkasOrder, IkasOrderTransaction, IkasProduct, IkasProductFile, LoginForm, NewsletterSubscriptionForm, OrderTrackingForm, RecoverPasswordForm, RegisterForm, SmsLoginForm, VerifyPhoneNumberForm } from "../../../storefront-models/src";
|
|
4
4
|
import { IkasCustomerStore } from "../../../stores/customer";
|
|
5
|
-
import { IkasLoginError, IkasRegisterError } from "../../api/customer";
|
|
6
|
-
export type SocialLoginProvider = "facebook" | "google" | "twitch"
|
|
5
|
+
import { IkasLoginError, IkasRefundRequestError, IkasRegisterError } from "../../api/customer";
|
|
6
|
+
export type SocialLoginProvider = "facebook" | "google" | "twitch";
|
|
7
7
|
/**
|
|
8
8
|
* Initialize the customer store by loading tokens, refreshing authentication, and fetching customer data.
|
|
9
9
|
*
|
|
@@ -24,6 +24,42 @@ export type SocialLoginProvider = "facebook" | "google" | "twitch" | "miles_smil
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
export declare function initCustomerStore(customerStore: IkasCustomerStore): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* The already-restored session of another store instance, as plain data. `null` means that
|
|
29
|
+
* instance settled as a guest (or failed) — the seeded store then settles as a guest too.
|
|
30
|
+
*/
|
|
31
|
+
export type CustomerSessionSnapshot = {
|
|
32
|
+
customer: IkasCustomer;
|
|
33
|
+
favoriteProducts?: IkasFavoriteProduct[];
|
|
34
|
+
} | null;
|
|
35
|
+
/**
|
|
36
|
+
* Initialize the customer store from a session another store instance already restored, instead
|
|
37
|
+
* of restoring it again. A page can run two copies of this SDK (a host theme and an embedded
|
|
38
|
+
* component bundle); both share one localStorage session, so letting each copy run
|
|
39
|
+
* `initCustomerStore` duplicates the refresh-token and get-customer requests and double-counts
|
|
40
|
+
* the visit analytics event. The copy that restored the session hands its result over as plain
|
|
41
|
+
* data; this seeds the other copy with no network traffic at all.
|
|
42
|
+
*
|
|
43
|
+
* The token is still read from localStorage rather than taken from the snapshot: the restoring
|
|
44
|
+
* copy's refresh already persisted the rotated token there, and `loadToken` also wires it into
|
|
45
|
+
* this copy's API client config.
|
|
46
|
+
*
|
|
47
|
+
* `requiredCustomerFields` is the version-skew escape hatch. The snapshot's customer was fetched
|
|
48
|
+
* by the OTHER copy's get-customer query, which froze when that copy was built — so a snapshot
|
|
49
|
+
* from a much older copy can lack fields this copy's components rely on. Keys are checked for
|
|
50
|
+
* PRESENCE (`in`), not truthiness: a field the query asked for arrives even when null. When one
|
|
51
|
+
* is missing, this copy runs its own customer fetch — one request, and only against stale peers;
|
|
52
|
+
* an up-to-date peer's snapshot carries every key and stays at zero. If that fetch fails, the
|
|
53
|
+
* partially seeded customer is kept: stale data a page can render beats none.
|
|
54
|
+
*/
|
|
55
|
+
export declare function seedCustomerSession(customerStore: IkasCustomerStore, snapshot: CustomerSessionSnapshot, requiredCustomerFields?: string[]): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Reset this store's session state locally — no network, no analytics, no cart mutation. This is
|
|
58
|
+
* NOT `logout` (which revokes the session and fires the logout side effects); it is for the other
|
|
59
|
+
* SDK copy on the page, whose `logout` already did all of that, to bring this copy in line.
|
|
60
|
+
* Idempotent, and safe to call on a store that never held a session.
|
|
61
|
+
*/
|
|
62
|
+
export declare function clearCustomerSession(customerStore: IkasCustomerStore): void;
|
|
27
63
|
/**
|
|
28
64
|
* Check whether a customer is eligible to create an email subscription.
|
|
29
65
|
*
|
|
@@ -156,6 +192,143 @@ export declare function handleSocialLogin(customerStore: IkasCustomerStore): Pro
|
|
|
156
192
|
* ```
|
|
157
193
|
*/
|
|
158
194
|
export declare function socialLoginToken(customerStore: IkasCustomerStore, token: string): Promise<boolean>;
|
|
195
|
+
/** Provider segment of the customer-service external-account endpoints (`/ms/miles_smiles/bind/*`). */
|
|
196
|
+
export declare const MILES_SMILES_PROVIDER: string;
|
|
197
|
+
/** Synthetic gateway code a Miles&Smiles SALE is written on. Never selectable at checkout. */
|
|
198
|
+
export declare const MILES_SMILES_PAYMENT_GATEWAY_CODE: string;
|
|
199
|
+
/** Synthetic gateway id of the Miles&Smiles SALE. Never send it as `paymentGatewayId`. */
|
|
200
|
+
export declare const MILES_SMILES_PAYMENT_GATEWAY_ID: string;
|
|
201
|
+
/**
|
|
202
|
+
* Start the Turkish Airlines Miles&Smiles account bind flow for the logged-in customer.
|
|
203
|
+
* Opens the THY login page in a popup; once THY confirms, the browser is sent to the
|
|
204
|
+
* ikas bind callback and lands back on `redirect` with `milesSmilesStatus` query params
|
|
205
|
+
* (see handleMilesSmilesBind). Binding is required before miles can be spent at checkout.
|
|
206
|
+
*
|
|
207
|
+
* @ai-category Customer, Miles&Smiles
|
|
208
|
+
* @ai-related handleMilesSmilesBind, getMilesSmilesLink, unlinkMilesSmiles, getMilesSmilesDetails
|
|
209
|
+
*
|
|
210
|
+
* @param customerStore - The customer store instance (customer must be logged in)
|
|
211
|
+
* @param redirect - Relative store path to land on after bind, e.g. "/account" or "/checkout?id=...&step=payment"
|
|
212
|
+
* @returns `isSuccess: true` when the bind hand-off started; otherwise an `errorCode`
|
|
213
|
+
* such as "AUTHORIZATION_REQUIRED" or "MILES_SMILES_LOGIN_CANCELLED_OR_FAILED"
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* import { customerStore, milesSmilesBind } from "@ikas/bp-storefront";
|
|
218
|
+
*
|
|
219
|
+
* async function onLinkClick() {
|
|
220
|
+
* const result = await milesSmilesBind(customerStore, "/account");
|
|
221
|
+
* if (!result.isSuccess) showToast(result.errorCode || "UNEXPECTED_ERROR");
|
|
222
|
+
* }
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
export declare function milesSmilesBind(customerStore: IkasCustomerStore, redirect?: string | null): Promise<MilesSmilesBindResult>;
|
|
226
|
+
/**
|
|
227
|
+
* Read the Miles&Smiles bind result from the current URL after THY redirects back
|
|
228
|
+
* (`?milesSmilesStatus=success` or `?milesSmilesStatus=fail&milesSmilesError=CODE`).
|
|
229
|
+
* Call this on the landing page (account or checkout). The params are removed from the
|
|
230
|
+
* URL so a refresh does not repeat the same message.
|
|
231
|
+
*
|
|
232
|
+
* @ai-category Customer, Miles&Smiles
|
|
233
|
+
* @ai-related milesSmilesBind, getMilesSmilesLink
|
|
234
|
+
*
|
|
235
|
+
* @param clear - Remove the params from the URL with history.replaceState (default: true)
|
|
236
|
+
* @returns The landing result, or null when the URL carries no bind result
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* ```typescript
|
|
240
|
+
* import { handleMilesSmilesBind } from "@ikas/bp-storefront";
|
|
241
|
+
*
|
|
242
|
+
* useEffect(() => {
|
|
243
|
+
* const result = handleMilesSmilesBind();
|
|
244
|
+
* if (result?.status === "success") showToast("Miles&Smiles account linked");
|
|
245
|
+
* if (result?.status === "fail") showToast(result.errorCode || "Bind failed");
|
|
246
|
+
* }, []);
|
|
247
|
+
* ```
|
|
248
|
+
*/
|
|
249
|
+
export declare function handleMilesSmilesBind(clear?: boolean): HandleMilesSmilesBindReturnType | null;
|
|
250
|
+
/**
|
|
251
|
+
* Get the customer's durable Miles&Smiles link (TK membership number and link date).
|
|
252
|
+
* A link does not guarantee a live checkout session; when getMilesSmilesDetails returns
|
|
253
|
+
* MILES_SMILES_LOGIN_REQUIRED, run milesSmilesBind again.
|
|
254
|
+
*
|
|
255
|
+
* @ai-category Customer, Miles&Smiles
|
|
256
|
+
* @ai-related milesSmilesBind, unlinkMilesSmiles
|
|
257
|
+
*
|
|
258
|
+
* @param customerStore - The customer store instance
|
|
259
|
+
* @returns API response whose data is the link, or null when not linked
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* import { customerStore, getMilesSmilesLink } from "@ikas/bp-storefront";
|
|
264
|
+
*
|
|
265
|
+
* const response = await getMilesSmilesLink(customerStore);
|
|
266
|
+
* const tkNumber = response.data?.externalId;
|
|
267
|
+
* ```
|
|
268
|
+
*/
|
|
269
|
+
export declare function getMilesSmilesLink(customerStore: IkasCustomerStore): Promise<APIResponse<ExternalAccountLink | null>>;
|
|
270
|
+
/**
|
|
271
|
+
* Remove the customer's Miles&Smiles link. Also clears the server-side checkout
|
|
272
|
+
* session token, so miles cannot be spent until the customer binds again.
|
|
273
|
+
*
|
|
274
|
+
* @ai-category Customer, Miles&Smiles
|
|
275
|
+
* @ai-related milesSmilesBind, getMilesSmilesLink
|
|
276
|
+
*
|
|
277
|
+
* @param customerStore - The customer store instance
|
|
278
|
+
* @returns API response whose data is true on success
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* ```typescript
|
|
282
|
+
* import { customerStore, unlinkMilesSmiles } from "@ikas/bp-storefront";
|
|
283
|
+
*
|
|
284
|
+
* const response = await unlinkMilesSmiles(customerStore);
|
|
285
|
+
* if (response.isSuccess) showToast("Miles&Smiles link removed");
|
|
286
|
+
* ```
|
|
287
|
+
*/
|
|
288
|
+
export declare function unlinkMilesSmiles(customerStore: IkasCustomerStore): Promise<APIResponse<boolean>>;
|
|
289
|
+
/**
|
|
290
|
+
* Get the Miles&Smiles balance and member details for the payment step.
|
|
291
|
+
* Requires a recent bind; MILES_SMILES_LOGIN_REQUIRED means the short-lived session
|
|
292
|
+
* expired and milesSmilesBind should be run again. MILES_SMILES_NOT_ENABLED and
|
|
293
|
+
* PAYMENT_GATEWAY_NOT_FOUND mean the Miles UI should be hidden.
|
|
294
|
+
*
|
|
295
|
+
* @ai-category Customer, Miles&Smiles
|
|
296
|
+
* @ai-related milesSmilesBind, getMilesSmilesLink
|
|
297
|
+
*
|
|
298
|
+
* @param customerStore - The customer store instance
|
|
299
|
+
* @returns API response whose data holds availableMiles, memberId, firstName and lastName
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```typescript
|
|
303
|
+
* import { customerStore, getMilesSmilesDetails } from "@ikas/bp-storefront";
|
|
304
|
+
*
|
|
305
|
+
* const response = await getMilesSmilesDetails(customerStore);
|
|
306
|
+
* if (response.errorCodes.includes("MILES_SMILES_LOGIN_REQUIRED")) {
|
|
307
|
+
* await milesSmilesBind(customerStore, window.location.pathname + window.location.search);
|
|
308
|
+
* } else if (response.data) {
|
|
309
|
+
* console.log("Available miles:", response.data.availableMiles);
|
|
310
|
+
* }
|
|
311
|
+
* ```
|
|
312
|
+
*/
|
|
313
|
+
export declare function getMilesSmilesDetails(customerStore: IkasCustomerStore): Promise<APIResponse<MilesSmilesDetailsResponse | undefined>>;
|
|
314
|
+
/**
|
|
315
|
+
* Check whether an order transaction is the Miles&Smiles leg of a multi-tender payment.
|
|
316
|
+
* Such rows are written on the synthetic MILES_SMILES gateway and are not refundable from the storefront.
|
|
317
|
+
*
|
|
318
|
+
* @ai-category Customer, Orders, Miles&Smiles
|
|
319
|
+
* @ai-related getOrderTransactions
|
|
320
|
+
*
|
|
321
|
+
* @param transaction - The order transaction to check
|
|
322
|
+
* @returns True when the transaction is a Miles&Smiles SALE
|
|
323
|
+
*
|
|
324
|
+
* @example
|
|
325
|
+
* ```typescript
|
|
326
|
+
* import { isMilesSmilesTransaction } from "@ikas/bp-storefront";
|
|
327
|
+
*
|
|
328
|
+
* const label = isMilesSmilesTransaction(tx) ? "Miles&Smiles" : tx.paymentGatewayName;
|
|
329
|
+
* ```
|
|
330
|
+
*/
|
|
331
|
+
export declare function isMilesSmilesTransaction(transaction: IkasOrderTransaction): boolean;
|
|
159
332
|
/**
|
|
160
333
|
* Delete a customer address from their address list.
|
|
161
334
|
*
|
|
@@ -182,11 +355,43 @@ export declare function socialLoginToken(customerStore: IkasCustomerStore, token
|
|
|
182
355
|
* ```
|
|
183
356
|
*/
|
|
184
357
|
export declare function deleteCustomerAddress(customerStore: IkasCustomerStore, address: IkasCustomerAddress): Promise<boolean>;
|
|
358
|
+
/**
|
|
359
|
+
* Submit a refund request for an order based on the refund quantities set on each line item,
|
|
360
|
+
* along with the selected refund reason id and refund reason note set on the order.
|
|
361
|
+
*
|
|
362
|
+
* @ai-category Customer
|
|
363
|
+
* @ai-related refundOrder, getOrder, setIkasOrderRefundReasonId, setIkasOrderRefundReason
|
|
364
|
+
*
|
|
365
|
+
* @param customerStore - The customer store instance
|
|
366
|
+
* @param order - The order to request a refund for
|
|
367
|
+
* @param email - Optional email address for guest order refunds
|
|
368
|
+
* @returns Object with isSuccess flag, errorCode on failure and the not allowed lines for REFUND_NOT_ALLOWED
|
|
369
|
+
*
|
|
370
|
+
* @example
|
|
371
|
+
* ```typescript
|
|
372
|
+
* import { customerStore, createRefundRequest, getOrder } from "@ikas/bp-storefront";
|
|
373
|
+
*
|
|
374
|
+
* async function handleRefundRequest(orderId: string) {
|
|
375
|
+
* const order = await getOrder(customerStore, orderId);
|
|
376
|
+
* if (!order) return;
|
|
377
|
+
*
|
|
378
|
+
* const result = await createRefundRequest(customerStore, order);
|
|
379
|
+
* if (result.isSuccess) {
|
|
380
|
+
* showToast("Refund request submitted");
|
|
381
|
+
* } else if (result.errorCode === "REFUND_REASON_REQUIRED") {
|
|
382
|
+
* showToast("Please select a refund reason");
|
|
383
|
+
* } else {
|
|
384
|
+
* showToast("Refund request failed");
|
|
385
|
+
* }
|
|
386
|
+
* }
|
|
387
|
+
* ```
|
|
388
|
+
*/
|
|
389
|
+
export declare function createRefundRequest(customerStore: IkasCustomerStore, order: IkasOrder, email?: string | null): Promise<IkasRefundRequestResult>;
|
|
185
390
|
/**
|
|
186
391
|
* Submit a refund request for an order based on the refund quantities set on each line item.
|
|
187
392
|
*
|
|
188
393
|
* @ai-category Customer
|
|
189
|
-
* @ai-related getOrder, getOrders, getOrderRefundSettings
|
|
394
|
+
* @ai-related createRefundRequest, getOrder, getOrders, getOrderRefundSettings
|
|
190
395
|
*
|
|
191
396
|
* @param customerStore - The customer store instance
|
|
192
397
|
* @param order - The order to request a refund for
|
|
@@ -707,6 +912,30 @@ export declare function getOrderByEmail(customerStore: IkasCustomerStore, email:
|
|
|
707
912
|
* ```
|
|
708
913
|
*/
|
|
709
914
|
export declare function getOrderTransactions(customerStore: IkasCustomerStore, params?: GetOrderTransactionParams): Promise<IkasOrderTransaction[]>;
|
|
915
|
+
/**
|
|
916
|
+
* Retrieve an order's payment transactions together with its payment totals
|
|
917
|
+
* (charged, refunded, remaining balance and refundable amounts).
|
|
918
|
+
*
|
|
919
|
+
* @ai-category Customer
|
|
920
|
+
* @ai-related getOrderTransactions, getOrder
|
|
921
|
+
*
|
|
922
|
+
* @param customerStore - The customer store instance
|
|
923
|
+
* @param params - Parameters containing the orderId
|
|
924
|
+
* @returns The order's transactions with price totals, or null if unavailable
|
|
925
|
+
*
|
|
926
|
+
* @example
|
|
927
|
+
* ```typescript
|
|
928
|
+
* import { customerStore, getOrderTransactionsWithPrices } from "@ikas/bp-storefront";
|
|
929
|
+
*
|
|
930
|
+
* async function loadPaymentSummary(orderId: string) {
|
|
931
|
+
* const result = await getOrderTransactionsWithPrices(customerStore, { orderId });
|
|
932
|
+
* if (result) {
|
|
933
|
+
* console.log("Charged:", result.chargedAmount, "Remaining:", result.remainingBalance);
|
|
934
|
+
* }
|
|
935
|
+
* }
|
|
936
|
+
* ```
|
|
937
|
+
*/
|
|
938
|
+
export declare function getOrderTransactionsWithPrices(customerStore: IkasCustomerStore, params: GetOrderTransactionsWithPricesParams): Promise<ListOrderTransactionWithPricesResponse | null>;
|
|
710
939
|
/**
|
|
711
940
|
* Get the list of favorite product IDs for the current customer.
|
|
712
941
|
*
|
|
@@ -908,7 +1137,7 @@ export declare function sendReview(customerStore: IkasCustomerStore, input: Ikas
|
|
|
908
1137
|
* Deactivate (delete) the current customer's account after password verification.
|
|
909
1138
|
*
|
|
910
1139
|
* @ai-category Customer, Account
|
|
911
|
-
* @ai-related hasCustomer, logout
|
|
1140
|
+
* @ai-related hasCustomer, logout, getDeactivateCustomerForm
|
|
912
1141
|
*
|
|
913
1142
|
* @param customerStore - The customer store instance
|
|
914
1143
|
* @param password - The customer's current password for verification
|
|
@@ -1272,10 +1501,33 @@ export type GetOrderTransactionParams = {
|
|
|
1272
1501
|
id?: string;
|
|
1273
1502
|
orderId?: string;
|
|
1274
1503
|
};
|
|
1504
|
+
export type GetOrderTransactionsWithPricesParams = {
|
|
1505
|
+
orderId: string;
|
|
1506
|
+
};
|
|
1275
1507
|
type HandleSocialLoginReturnType = {
|
|
1276
1508
|
status?: "fail" | "success";
|
|
1277
1509
|
message?: string;
|
|
1278
1510
|
};
|
|
1511
|
+
export type MilesSmilesBindResult = {
|
|
1512
|
+
isSuccess: boolean;
|
|
1513
|
+
/** Bind error code, e.g. AUTHORIZATION_REQUIRED, MILES_SMILES_LOGIN_CANCELLED_OR_FAILED, UNEXPECTED_ERROR. */
|
|
1514
|
+
errorCode?: string | null;
|
|
1515
|
+
};
|
|
1516
|
+
export type IkasRefundNotAllowedLine = {
|
|
1517
|
+
orderLineItemId: string;
|
|
1518
|
+
reason: string;
|
|
1519
|
+
};
|
|
1520
|
+
export type IkasRefundRequestResult = {
|
|
1521
|
+
isSuccess: boolean;
|
|
1522
|
+
errorCode?: IkasRefundRequestError;
|
|
1523
|
+
/** Lines that can not be refunded, only set when errorCode is REFUND_NOT_ALLOWED. */
|
|
1524
|
+
lines?: IkasRefundNotAllowedLine[];
|
|
1525
|
+
};
|
|
1526
|
+
export type HandleMilesSmilesBindReturnType = {
|
|
1527
|
+
status: "success" | "fail";
|
|
1528
|
+
/** milesSmilesError from the redirect, e.g. EXTERNAL_ACCOUNT_ALREADY_LINKED. */
|
|
1529
|
+
errorCode: string | null;
|
|
1530
|
+
};
|
|
1279
1531
|
/**
|
|
1280
1532
|
* Get or initialize the account info form with validation for updating customer profile details.
|
|
1281
1533
|
*
|
|
@@ -1421,6 +1673,68 @@ export declare function getCouponCodeForm(customerStore: IkasCustomerStore): Cou
|
|
|
1421
1673
|
* ```
|
|
1422
1674
|
*/
|
|
1423
1675
|
export declare function clearCouponCodeForm(customerStore: IkasCustomerStore): void;
|
|
1676
|
+
/**
|
|
1677
|
+
* Get or initialize the deactivate customer form with validation for deleting the current customer's account.
|
|
1678
|
+
*
|
|
1679
|
+
* @ai-category Customer, Account
|
|
1680
|
+
* @ai-related clearDeactivateCustomerForm, deactivateCustomer
|
|
1681
|
+
*
|
|
1682
|
+
* @param customerStore - The customer store instance
|
|
1683
|
+
* @returns The deactivate customer form object with validated fields
|
|
1684
|
+
*
|
|
1685
|
+
* @example
|
|
1686
|
+
* ```typescript
|
|
1687
|
+
* import {
|
|
1688
|
+
* customerStore,
|
|
1689
|
+
* getDeactivateCustomerForm,
|
|
1690
|
+
* setDeactivateCustomerFormPassword,
|
|
1691
|
+
* submitDeactivateCustomerForm,
|
|
1692
|
+
* logout,
|
|
1693
|
+
* } from "@ikas/bp-storefront";
|
|
1694
|
+
*
|
|
1695
|
+
* function DeleteAccountPage() {
|
|
1696
|
+
* const form = getDeactivateCustomerForm(customerStore);
|
|
1697
|
+
*
|
|
1698
|
+
* const handleSubmit = async () => {
|
|
1699
|
+
* const isSuccess = await submitDeactivateCustomerForm(form);
|
|
1700
|
+
* if (isSuccess) {
|
|
1701
|
+
* await logout(customerStore);
|
|
1702
|
+
* Router.navigateToPage("INDEX");
|
|
1703
|
+
* }
|
|
1704
|
+
* };
|
|
1705
|
+
*
|
|
1706
|
+
* return (
|
|
1707
|
+
* <form>
|
|
1708
|
+
* <input
|
|
1709
|
+
* type="password"
|
|
1710
|
+
* value={form.password.value}
|
|
1711
|
+
* onChange={e => setDeactivateCustomerFormPassword(form, e.target.value)}
|
|
1712
|
+
* />
|
|
1713
|
+
* <button onClick={handleSubmit}>Delete Account</button>
|
|
1714
|
+
* </form>
|
|
1715
|
+
* );
|
|
1716
|
+
* }
|
|
1717
|
+
* ```
|
|
1718
|
+
*/
|
|
1719
|
+
export declare function getDeactivateCustomerForm(customerStore: IkasCustomerStore): DeactivateCustomerForm;
|
|
1720
|
+
/**
|
|
1721
|
+
* Clear the cached deactivate customer form, forcing a fresh form on next retrieval.
|
|
1722
|
+
*
|
|
1723
|
+
* @ai-category Customer, Account
|
|
1724
|
+
* @ai-related getDeactivateCustomerForm
|
|
1725
|
+
*
|
|
1726
|
+
* @param customerStore - The customer store instance
|
|
1727
|
+
*
|
|
1728
|
+
* @example
|
|
1729
|
+
* ```typescript
|
|
1730
|
+
* import { customerStore, clearDeactivateCustomerForm } from "@ikas/bp-storefront";
|
|
1731
|
+
*
|
|
1732
|
+
* function handleDeactivateCustomerReset() {
|
|
1733
|
+
* clearDeactivateCustomerForm(customerStore);
|
|
1734
|
+
* }
|
|
1735
|
+
* ```
|
|
1736
|
+
*/
|
|
1737
|
+
export declare function clearDeactivateCustomerForm(customerStore: IkasCustomerStore): void;
|
|
1424
1738
|
/**
|
|
1425
1739
|
* Get or initialize the forgot password form with validation for requesting a password reset.
|
|
1426
1740
|
*
|
|
@@ -1868,35 +2182,41 @@ export declare function clearRegisterForm(customerStore: IkasCustomerStore): voi
|
|
|
1868
2182
|
/**
|
|
1869
2183
|
* Create and return a new, empty address form with validation, wrapped in MobX observability.
|
|
1870
2184
|
*
|
|
2185
|
+
* Use this to create an address; use `getIkasCustomerAddressForm(address)` to edit an existing
|
|
2186
|
+
* one. It starts `initAddressForm` internally but does not await it, so await `initAddressForm`
|
|
2187
|
+
* yourself when you need to know that the country layout (`addressFormat`) and the country/state/
|
|
2188
|
+
* city lists are ready to render.
|
|
2189
|
+
*
|
|
1871
2190
|
* @ai-category Customer, Address
|
|
1872
|
-
* @ai-related
|
|
2191
|
+
* @ai-related initAddressForm, submitAddressForm, getIkasCustomerAddressForm, deleteCustomerAddress
|
|
1873
2192
|
*
|
|
1874
2193
|
* @param customerStore - The customer store instance
|
|
1875
2194
|
* @returns A new observable address form object with validated fields
|
|
1876
2195
|
*
|
|
1877
2196
|
* @example
|
|
1878
|
-
* ```
|
|
1879
|
-
* import {
|
|
1880
|
-
*
|
|
1881
|
-
*
|
|
1882
|
-
*
|
|
1883
|
-
*
|
|
1884
|
-
*
|
|
1885
|
-
*
|
|
1886
|
-
*
|
|
1887
|
-
*
|
|
1888
|
-
*
|
|
1889
|
-
*
|
|
1890
|
-
*
|
|
1891
|
-
*
|
|
1892
|
-
*
|
|
1893
|
-
*
|
|
1894
|
-
*
|
|
1895
|
-
*
|
|
1896
|
-
*
|
|
1897
|
-
*
|
|
1898
|
-
*
|
|
1899
|
-
*
|
|
2197
|
+
* ```tsx
|
|
2198
|
+
* import {
|
|
2199
|
+
* customerStore,
|
|
2200
|
+
* getEmptyAddressForm,
|
|
2201
|
+
* initAddressForm,
|
|
2202
|
+
* setAddressFormAddressLine1,
|
|
2203
|
+
* submitAddressForm,
|
|
2204
|
+
* } from "@ikas/bp-storefront";
|
|
2205
|
+
*
|
|
2206
|
+
* // Create the form once, then await init before rendering the country-driven layout.
|
|
2207
|
+
* const [form] = useState(() => getEmptyAddressForm(customerStore));
|
|
2208
|
+
* const [isLoading, setIsLoading] = useState(true);
|
|
2209
|
+
* useEffect(() => {
|
|
2210
|
+
* initAddressForm(form).then(() => setIsLoading(false));
|
|
2211
|
+
* }, []);
|
|
2212
|
+
*
|
|
2213
|
+
* // Always go through the setters. Assigning `form.addressLine1.value` directly skips
|
|
2214
|
+
* // re-validation and the dependent-field resets the location setters perform.
|
|
2215
|
+
* setAddressFormAddressLine1(form, "123 Main Street");
|
|
2216
|
+
*
|
|
2217
|
+
* // submitAddressForm validates and saves the address onto the customer itself --
|
|
2218
|
+
* // do not hand-build a customer object and call saveCustomer for this.
|
|
2219
|
+
* const ok = await submitAddressForm(form);
|
|
1900
2220
|
* ```
|
|
1901
2221
|
*/
|
|
1902
2222
|
export declare function getEmptyAddressForm(customerStore: IkasCustomerStore): AddressForm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as t,__assign as e,__generator as r}from'./../../../ext/tslib/tslib.es6.mjs.js';import n from"../../../packages/storefront-api-client/src/config/index.js";import"../../../packages/storefront-api-client/src/utils/api.js";import'./../../../ext/isomorphic-fetch/fetch-npm-node.js';import{IkasStorefrontConfig as i}from"../../../packages/storefront-config/src/index.js";import{makeAutoObservable as o,observable as s}from'./../../../ext/mobx/dist/mobx.esm.js';import{Router as a}from"../../../router/index.js";import{baseStore as c}from"../../../stores/base/index.js";import{cartStore as u}from"../../../stores/cart/index.js";import{isServer as d,cloneDeep as l}from"../../../utils/helper.js";import'./../../../ext/lodash/sortBy.js';import"../../../stores/customer/index.js";import"../../../i18n/index.js";import'./../../../ext/lodash/_isFlattenable.js';import{removeCart as m,getCart as f}from"../cart/index.js";import{isCustomerSubscribed as p}from"../../models/customer/index.js";import{initAddressForm as v}from"../../models/validator/address/index.js";import{getOrderLineItemRefundQuantity as h}from"../../models/order/line-item/index.js";import"../../models/product-list/index.js";import{initAccountInfoForm as _}from"../../models/validator/account-info/index.js";import{initContactForm as w}from"../../models/validator/contact-form/index.js";import{initCouponCodeForm as g}from"../../models/validator/coupon-code-form/index.js";import{initForgotPasswordForm as b}from"../../models/validator/forgot-password/index.js";import{initLoginForm as I}from"../../models/validator/login/index.js";import{initNewsletterSubscriptionForm as S}from"../../models/validator/newsletter-subscription/index.js";import{initOrderTrackingForm as y}from"../../models/validator/order-tracking/index.js";import{initRecoverPasswordForm as k}from"../../models/validator/recover-password/index.js";import{initRegisterForm as x}from"../../models/validator/register/index.js";import{initSmsLoginForm as T}from"../../models/validator/sms-login/index.js";import{initVerifyPhoneNumberForm as j}from"../../models/validator/verify-phone-number/index.js";var E="customerToken",F="customerTokenExpiry",P="customerEmailSubscription",C="lastViewedProducts",L="customerConsent";function N(e){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return function(t){if(d())return;var e=localStorage.getItem(E),r=localStorage.getItem(F);e&&r?xt(t,e,parseInt(r)):Tt(t)}(e),Nt(e),function(t){if(d())return;t._customerConsentGranted=!!window.localStorage.getItem(L)}(e),[4,kt(e)];case 1:return t.sent(),[4,St(e)];case 2:return t.sent(),e._initialized=!0,[4,ct(e)];case 3:return t.sent(),e.customer?[4,import("../../../analytics/analytics-functions/customerVisit.js")]:[3,5];case 4:(0,t.sent().anl_customerVisit)(),t.label=5;case 5:return[2]}})})}function O(t){return!!t.customer&&(!(p(t.customer)||d()||t._visitorSubscribedEmail)&&!window.localStorage.getItem(P))}function R(t){return e(e({},t.customer),{consentGranted:t._customerConsentGranted})}function A(e,n){return t(this,void 0,void 0,function(){var t,e,o,s,c,u;return r(this,function(r){switch(r.label){case 0:return"undefined"==typeof window?[2]:(t=new URLSearchParams(window.location.search).get("redirect")||"",e="".concat(import.meta.env.VITE_BASE_URL,"/ms/").concat(n,"/login/authenticate?redirect=").concat(t),[4,fetch(e,{headers:{"x-api-key":i.apiKey||"","x-sfid":i.storefrontId||"","x-sfrid":i.storefrontRoutingId||""}})]);case 1:return[4,r.sent().json()];case 2:return o=r.sent(),"miles_smiles"===n?(s=function(t){try{return new URL(t).searchParams.get("redirectUrl")}catch(t){return null}},c=function(t){try{var e=s(t);return e?new URL(e).searchParams.get("transactionId"):null}catch(t){return null}},u=function(t){var e=s(o.redirectUrl)||"",r=document.createElement("form");r.method="POST",r.action=e,r.style.display="none";for(var n=0,i=[["transactionId",t.transactionId],["token",t.token],["memberId",t.memberId],["shortTokenExpireMinute",null!=t.shortTokenExpireMinute?String(t.shortTokenExpireMinute):""],["longToken",t.longToken||""],["longTokenExpireMinute",null!=t.longTokenExpireMinute?String(t.longTokenExpireMinute):""]];n<i.length;n++){var a=i[n],c=a[0],u=a[1],d=document.createElement("input");d.type="hidden",d.name=c,d.value=u,r.appendChild(d)}document.body.appendChild(r),r.submit()},window.addEventListener("message",function(t){var e;try{e="string"==typeof t.data?JSON.parse(t.data):t.data}catch(t){return}if(e&&!0===e.isSuccess){var r={transactionId:c(o.redirectUrl),token:e.token,memberId:e.ffid||e.memberId||e.memberID,shortTokenExpireMinute:e.tokenExpireMinute,longToken:e.longToken,longTokenExpireMinute:e.longTokenExpireMinute};r.memberId&&r.token?u(r):console.error("Missing token or memberId")}}),window.open(o.redirectUrl,"mslogin","width=480,height=720"),[2]):(a.navigate(o.redirectUrl),[2])}})})}function V(e){return t(this,void 0,void 0,function(){var t,n,i,o,s;return r(this,function(r){switch(r.label){case 0:return t={status:"fail"},n=new URLSearchParams(window.location.search),i=n.get("socialLoginStatus"),o=n.get("socialLoginToken"),"success"===i&&o?[4,U(e,o)]:[3,2];case 1:return r.sent()?(t.status="success",[2,t]):[2,t];case 2:return s=n.get("socialLoginError"),t.message=s||void 0,[2,t]}})})}function U(e,n){return t(this,void 0,void 0,function(){var t,i,o;return r(this,function(r){switch(r.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiSocialLogin)({code:n})];case 2:return(null==(t=r.sent())?void 0:t.isSuccess)&&(null===(o=t.data)||void 0===o?void 0:o.customer)?(xt(e,t.data.token,t.data.tokenExpiry),yt(e,t.data.customer),[4,import("../../../analytics/analytics-functions/customerLogin.js")]):[2,!1];case 3:return i=r.sent().anl_customerLogin,e.customer&&i(),[2,!0]}})})}function D(e,n){return t(this,void 0,void 0,function(){var t,i;return r(this,function(r){switch(r.label){case 0:return(t=l(e.customer))&&t.addresses?-1===(i=t.addresses.findIndex(function(t){return t.id===n.id}))?[2,!1]:(t.addresses.splice(i,1),[4,$(e,t)]):[2,!1];case 1:return[2,r.sent()]}})})}function M(e,n,i){return t(this,void 0,void 0,function(){var t,e,o;return r(this,function(r){switch(r.label){case 0:r.label=1;case 1:return r.trys.push([1,4,,5]),t=[],n.orderLineItems.map(function(e){var r=h(e);r&&(null==t||t.push({orderLineItemId:e.id,quantity:r}))}),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiCreateOrderRefundRequest)({input:{email:i,orderId:n.id,orderLineItems:t}})];case 3:return(e=r.sent()).isSuccess&&e.data?(Object.entries(e.data).forEach(function(t){var e=t[0],r=t[1];n[e]=r}),[2,!0]):[3,5];case 4:return o=r.sent(),console.error(o),[3,5];case 5:return[2,!1]}})})}function B(e,n,i,o){return t(this,void 0,void 0,function(){var t,s;return r(this,function(r){switch(r.label){case 0:return[4,Pt(e)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiLogin)({email:n,password:i,phone:o,captchaToken:e._captchaToken})];case 3:return t=r.sent(),Et(e),t&&t.isSuccess&&t.data?(s=t.data,xt(e,s.token,s.tokenExpiry),s.customer&&yt(e,s.customer),e.customer?[4,import("../../../analytics/analytics-functions/customerLogin.js")]:[3,5]):[3,6];case 4:(0,r.sent().anl_customerLogin)(),r.label=5;case 5:return At(e),[2,{isSuccess:!0,errorCodes:[],otpSend:s.otpSend,flowId:s.flowId}];case 6:return[2,{isSuccess:!1,errorCodes:t.errorCodes.map(function(t){return["CUSTOMER_ACCOUNT_DISABLED","EMAIL_IS_NOT_VERIFIED","CUSTOMER_NOT_FOUND","B2B_CUSTOMER_ACCOUNT_DISABLED","PHONE_IS_NOT_VERIFIED","WRONG_PASSWORD"].includes(t)?t:"UNKOWN"})}]}})})}function G(e){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return jt(e),m(u),[4,import("../../../analytics/analytics-functions/customerLogout.js")];case 1:return(0,t.sent().anl_customerLogout)(),[2]}})})}function W(e,n,i,o,s,a,c,u,d){return t(this,void 0,void 0,function(){var t,l;return r(this,function(r){switch(r.label){case 0:return[4,Pt(e)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiRegister)({email:o,password:s,firstName:n,lastName:i,isAcceptMarketing:a,attributes:c,captchaToken:e._captchaToken,phone:u,flowId:d})];case 3:return t=r.sent(),Et(e),t&&t.isSuccess&&(null===(l=t.data)||void 0===l?void 0:l.customer)?(xt(e,t.data.token,t.data.tokenExpiry),yt(e,t.data.customer),At(e),[4,import("../../../analytics/analytics-functions/completeRegistration.js")]):[3,5];case 4:return(0,r.sent().anl_completeRegistration)(R(e)),[2,{isSuccess:!0,errorCodes:[]}];case 5:return[2,{isSuccess:!1,errorCodes:t.errorCodes.map(function(t){return["EMAIL_IS_NOT_VERIFIED","CUSTOMER_EMAIL_ALREADY_EXISTS","B2B_CUSTOMER_ACCOUNT_DISABLED","PHONE_IS_NOT_VERIFIED"].includes(t)?t:"UNKOWN"})}]}})})}function q(e){return t(this,void 0,void 0,function(){var t,n,i;return r(this,function(r){switch(r.label){case 0:return t=new URLSearchParams(window.location.search),(n=t.get("token"))?[4,Pt(e)]:[3,4];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiActivateCustomer)({token:n,captchaToken:e._captchaToken})];case 3:return i=r.sent(),Et(e),[2,i.isSuccess];case 4:return[2,!1]}})})}function K(e,n){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return n?[4,Pt(e)]:[3,4];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiResendCustomerActivationMail)({email:n,captchaToken:e._captchaToken})];case 3:return t=r.sent(),Et(e),[2,t.isSuccess];case 4:return[2,!1]}})})}function z(e,n,i){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return n?[4,Pt(e)]:[3,4];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiValidateCustomerPhoneVerificationCode)({verificationCode:n,otpInfo:i,captchaToken:e._captchaToken})];case 3:return t=r.sent(),Et(e),[2,!(!t.isSuccess||!t.data)&&t.data];case 4:return[2,!1]}})})}function H(n,i,o){return t(this,void 0,void 0,function(){var t,s,a,c,u;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,7,,8]),[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiValidateOTPCode)({verificationCode:i,otpInfo:o,captchaToken:n._captchaToken})];case 2:return t=r.sent(),Et(n),t&&t.isSuccess&&(null===(s=t.data)||void 0===s?void 0:s.customer)?(xt(n,t.data.token,t.data.tokenExpiry),yt(n,t.data.customer),At(n),[4,import("../../../analytics/analytics-functions/completeRegistration.js")]):[3,4];case 3:return(0,r.sent().anl_completeRegistration)(R(n)),[2,{isSuccess:!0,errorCodes:[]}];case 4:return t&&t.isSuccess&&((null===(a=t.data)||void 0===a?void 0:a.otpSend)||(null===(c=t.data)||void 0===c?void 0:c.flowId))?[2,{isSuccess:!0,otpSend:!0,flowId:null===(u=t.data)||void 0===u?void 0:u.flowId,errorCodes:[]}]:t.errorCodes.some(function(t){return"B2B_CUSTOMER_ACCOUNT_DISABLED"===t})?[4,import("../../../analytics/analytics-functions/completeRegistration.js")]:[3,6];case 5:(0,r.sent().anl_completeRegistration)(e(e({},R(n)),{notificationsAccepted:null}),!0),r.label=6;case 6:return[2,{isSuccess:!1,errorCodes:t.errorCodes.map(function(t){return["EMAIL_IS_NOT_VERIFIED","CUSTOMER_EMAIL_ALREADY_EXISTS","B2B_CUSTOMER_ACCOUNT_DISABLED","PHONE_IS_NOT_VERIFIED"].includes(t)?t:"UNKOWN"})}];case 7:return r.sent(),[2,{isSuccess:!1,errorCodes:[]}];case 8:return[2]}})})}function J(e){return t(this,void 0,void 0,function(){var t;return r(this,function(e){switch(e.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,e.sent().apiResendCustomerPhoneVerificationCode)()];case 2:return[2,!(!(t=e.sent()).isSuccess||!t.data)&&t.data]}})})}function X(n,i){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return[4,import("../../../analytics/analytics-functions/contactForm.js")];case 1:return(0,r.sent().anl_contactForm)(i),[4,Pt(n)];case 2:return r.sent(),[4,import("../../api/customer/index.js")];case 3:return[4,(0,r.sent().apiSendContactFormToMerchant)(e(e({},i),{captchaToken:n._captchaToken}))];case 4:return t=r.sent(),Et(n),[2,t.isSuccess]}})})}function Y(e,n){return t(this,void 0,void 0,function(){var t,i;return r(this,function(r){switch(r.label){case 0:return[4,Pt(e)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiCheckEmail)({email:n,captchaToken:e._captchaToken})];case 3:return t=r.sent(),Et(e),[2,!!t.isSuccess&&!!(null===(i=t.data)||void 0===i?void 0:i.exists)]}})})}function Q(e,n){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return[4,Pt(e)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiForgotPassword)({email:n,captchaToken:e._captchaToken})];case 3:return t=r.sent(),Et(e),[2,!!t.isSuccess&&t.data]}})})}function Z(e,n,i,o){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return[4,Pt(e)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiRecoverPassword)({password:n,passwordAgain:i,token:o,captchaToken:e._captchaToken})];case 3:return t=r.sent(),Et(e),[2,t.isSuccess]}})})}function $(e,n){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiSaveCustomer)({input:Dt(n)})];case 2:return(t=r.sent()).isSuccess&&t.data?(yt(e,t.data),[2,!0]):[2,!1]}})})}function tt(e){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return[4,ht(e)];case 1:return t.sent(),e.customer?[4,import("../../api/customer/index.js")]:[2,[]];case 2:return[4,(0,t.sent().apiGetOrders)({})];case 3:return[2,t.sent().data||[]]}})})}function et(e,n){return t(this,void 0,void 0,function(){var o,s,a,c,u,d,l,m=this;return r(this,function(f){switch(f.label){case 0:return[4,ht(e)];case 1:return f.sent(),e.customer?(o=n,!i.isPreview||o&&"orders"!==o?[3,3]:[4,tt(e)]):[2,null];case 2:(s=f.sent()).length&&(o=s[0].id),f.label=3;case 3:return[4,Promise.all([t(m,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[2,(0,t.sent().apiGetOrders)({orderId:o})]}})}),It(e),nt(e,{orderId:o})])];case 4:return a=f.sent(),c=a[0],u=a[2],c.isSuccess&&(null===(l=c.data)||void 0===l?void 0:l.length)?((d=c.data[0]).transactions=u,[2,d]):[2,null]}})})}function rt(e,n,i){return t(this,void 0,void 0,function(){var t,o,s,a;return r(this,function(r){switch(r.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiGetOrderByEmail)({email:n,orderNumber:i})];case 2:return(t=r.sent()).isSuccess&&t.data?(o=t.data,[4,Promise.all([It(e),nt(e,{orderId:o.id})])]):[2,null];case 3:return s=r.sent(),a=s[1],o.transactions=a,[2,o]}})})}function nt(e){return t(this,arguments,void 0,function(t,e){var n;return void 0===e&&(e={}),r(this,function(t){switch(t.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return n=t.sent().apiListOrderTransactions,e.orderId||e.checkoutId||e.id?[4,n({checkoutId:{eq:e.checkoutId},id:{eq:e.checkoutId},orderId:{eq:e.orderId}})]:[2,[]];case 2:return[2,t.sent().data||[]]}})})}function it(e){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return e.customer?[4,import("../../api/customer/index.js")]:[2,[]];case 1:return[4,(0,t.sent().apiListFavoriteProducts)()];case 2:return[2,t.sent().data||[]]}})})}function ot(e){return t(this,void 0,void 0,function(){var t,n,o,a,c;return r(this,function(r){switch(r.label){case 0:return[4,ct(e)];case 1:return 0===(t=r.sent()).length?[2,[]]:[4,import("../../api/product/index.js")];case 2:return[4,(0,r.sent().apiSearchProducts)({input:{productIdList:t.map(function(t){return t.productId}),priceListId:i.priceListId,salesChannelId:i.salesChannelId,perPage:100}})];case 3:return n=r.sent(),null===(a=null===(o=n.data)||void 0===o?void 0:o.data)||void 0===a||a.forEach(function(t){t.selectedVariantValues=t.variants[0].variantValues}),[2,s((null===(c=null==n?void 0:n.data)||void 0===c?void 0:c.data)||[])]}})})}function st(e,n){return t(this,void 0,void 0,function(){var t,i;return r(this,function(r){switch(r.label){case 0:if(!(null===(i=e.customer)||void 0===i?void 0:i.id))throw Error("Unauthorized");return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiSaveFavoriteProduct)({isFavorite:!0,productId:n})];case 2:return t=r.sent(),[4,import("../../../analytics/analytics-functions/addToWishlist.js")];case 3:return(0,r.sent().anl_addToWishlist)(n),t.isSuccess?[4,ct(e,!0)]:[3,5];case 4:r.sent(),r.label=5;case 5:return[2,t.data||!1]}})})}function at(e,n){return t(this,void 0,void 0,function(){var t,i;return r(this,function(r){switch(r.label){case 0:if(!(null===(i=e.customer)||void 0===i?void 0:i.id))throw Error("Unauthorized");return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiSaveFavoriteProduct)({isFavorite:!1,productId:n})];case 2:return t=r.sent(),[4,import("../../../analytics/analytics-functions/addToWishlist.js")];case 3:return(0,r.sent().anl_addToWishlist)(n,!0),t.isSuccess?[4,ct(e,!0)]:[3,5];case 4:r.sent(),r.label=5;case 5:return[2,t.data||!1]}})})}function ct(e){return t(this,arguments,void 0,function(t,e){var n;return void 0===e&&(e=!1),r(this,function(r){switch(r.label){case 0:return[4,ht(t)];case 1:return r.sent(),t.customer?t._isFavoriteProductsLoaded&&!e?[3,3]:[4,it(t)]:[2,[]];case 2:n=r.sent(),t._favoriteProducts=n,t._isFavoriteProductsLoaded=!0,r.label=3;case 3:return[2,t._favoriteProducts]}})})}function ut(e,n){return t(this,void 0,void 0,function(){return r(this,function(t){return[2,e._favoriteProducts.some(function(t){return t.productId===n})]})})}function dt(e,n){return t(this,void 0,void 0,function(){var t,i;return r(this,function(r){switch(r.label){case 0:return[4,Pt(e)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiSubscribeToMarketingNotifications)({input:{email:n,captchaToken:e._captchaToken}})];case 3:return(t=r.sent()).isSuccess?(i=e.customer,window.localStorage.setItem(P,"true"),i?i.subscriptionStatus:e._visitorSubscribedEmail=!0,[4,import("../../../analytics/analytics-functions/createEmailSubscription.js")]):[3,5];case 4:(0,r.sent().anl_createEmailSubscription)(n),r.label=5;case 5:return[2,t]}})})}function lt(n,i){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return[4,Pt(n)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiSaveCustomerFormData)({input:e(e({},i),{captchaToken:n._captchaToken})})];case 3:return(t=r.sent()).isSuccess?(window.localStorage.setItem(P,"true"),n.customer?n.customer.subscriptionStatus:n._visitorSubscribedEmail=!0,[4,import("../../../analytics/analytics-functions/createEmailSubscription.js")]):[3,5];case 4:(0,r.sent().anl_createEmailSubscription)(i.email),r.label=5;case 5:return[2,t.isSuccess]}})})}function mt(n,o){return t(this,void 0,void 0,function(){var t,s,a,c,u;return r(this,function(r){switch(r.label){case 0:if(t=i.customerReviewSettings,s=i.salesChannelId,a=i.getCurrentLocale(),!t)return[2];if(!(c=null===(u=n.customer)||void 0===u?void 0:u.id)&&t.customerLoginRequired)throw Error("Unauthorized");return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiCreateCustomerReview)({input:e(e({},o),{customerId:t.customerLoginRequired?c:void 0,salesChannelId:s||"",locale:a})})];case 2:return[2,r.sent().data]}})})}function ft(e,n){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return e.customer?[4,import("../../api/customer/index.js")]:[3,3];case 1:return[4,(0,t.sent().apiDeactivateCustomer)({password:n})];case 2:return[2,t.sent()];case 3:return[2]}})})}function pt(e){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return e.customer?[4,import("../../api/customer/index.js")]:[3,3];case 1:return[4,(0,t.sent().apiExportCustomerPersonalData)()];case 2:return[2,t.sent()];case 3:return[2]}})})}function vt(t){!function(t){if(d())return;t._customerConsentGranted=!0,window.localStorage.setItem(L,"true")}(t)}function ht(e){return t(this,void 0,void 0,function(){return r(this,function(t){return d()?[2]:[2,new Promise(function(t){var r=setInterval(function(){e._initialized&&(clearInterval(r),t(null))},100)})]})})}function _t(t){return new Promise(function(e){var r=setInterval(function(){t._captchaToken&&(clearInterval(r),e(null))},100)})}function wt(e){return t(this,void 0,void 0,function(){var t,n;return r(this,function(r){switch(r.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiListCustomerAttribute)()];case 2:return t=r.sent(),e.customer&&(null===(n=e.customer.attributes)||void 0===n||n.forEach(function(e){var r,n,i;e.customerAttribute=(null===(r=t.data)||void 0===r?void 0:r.find(function(t){return t.id===e.customerAttributeId}))||null,e.customerAttributeOptionId&&(e.customerAttributeOption=(null===(i=null===(n=e.customerAttribute)||void 0===n?void 0:n.options)||void 0===i?void 0:i.find(function(t){return t.id===e.customerAttributeOptionId}))||null)})),[2,t.data||[]]}})})}function gt(e,n){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return n.length?[4,import("../../api/checkout/index.js")]:[2,[]];case 1:return[4,(0,t.sent().apiListProductFile)({id:{in:n}})];case 2:return[2,t.sent().data||[]]}})})}function bt(e,n,i){return t(this,void 0,void 0,function(){var t,e,o,s,a;return r(this,function(r){switch(r.label){case 0:r.label=1;case 1:return r.trys.push([1,5,,6]),(t=n.orderLineItems.find(function(t){return t.variant.id===i.variantId}))?[4,import("../../api/customer/index.js")]:[3,4];case 2:return[4,(0,r.sent().apiGetDigitalProductFileDownloadUrl)(n.id,t.id)];case 3:e=r.sent(),(o=e.data)&&((s=document.createElement("a")).href=o,s.download=decodeURIComponent(i.name.split("/")[i.name.split("/").length-1])||"",s.click(),s.remove()),r.label=4;case 4:return[3,6];case 5:return a=r.sent(),console.error(a),[3,6];case 6:return[2]}})})}function It(e){return t(this,void 0,void 0,function(){var t,n;return r(this,function(r){switch(r.label){case 0:return e._refundSettings?[3,3]:[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiListOrderRefundSettings)({})];case 2:(t=r.sent()).isSuccess&&(null===(n=t.data)||void 0===n?void 0:n.length)&&(e._refundSettings=t.data[0]),r.label=3;case 3:return[2]}})})}function St(e){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return d()||!e._token?[2]:[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiGetCustomer)()];case 2:return(t=r.sent()).data&&yt(e,t.data),[2]}})})}function yt(t,e){t.customer=e}function kt(e){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return e._token?[4,import("../../api/customer/index.js")]:[2];case 1:return[4,(0,r.sent().apiRefreshToken)({token:e._token})];case 2:if((t=r.sent()).isSuccess&&t.data)xt(e,t.data.token,t.data.tokenExpiry);else{if(t.isCancelled||t.isNetworkError)return[2];console.log("refreshToken error",t),e._token=null,e._tokenExpiry=null,jt(e)}return[2]}})})}function xt(t,e,r){d()||(t._token=e,t._tokenExpiry=r,localStorage.setItem(E,e),localStorage.setItem(F,r+""),i.init({customerToken:e}),n.TOKEN=e)}function Tt(t){localStorage.removeItem(E),localStorage.removeItem(F),t._token=null,t._tokenExpiry=null}function jt(t){Tt(t),t.customer=null,t._favoriteProducts=[],t._isFavoriteProductsLoaded=!1,i.init({customerToken:""}),n.TOKEN="",Et(t)}function Et(t){t._captchaToken=null}function Ft(t,e){t._captchaToken=e}function Pt(e){return t(this,void 0,void 0,function(){var t;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),i.isCaptchaRequired()?(window.grecaptcha.execute(),[4,_t(e)]):[3,2];case 1:r.sent(),window.grecaptcha.reset(),r.label=2;case 2:return[3,4];case 3:return t=r.sent(),console.log("Get captcha error",t),[3,4];case 4:return[2]}})})}function Ct(t,e){t._savedLastViewedProducts=l(t._lastViewedProducts),t._savedLastViewedProductsResponse=e}function Lt(e){return t(this,void 0,void 0,function(){var t,n;return r(this,function(r){switch(r.label){case 0:return e.customer?[4,import("../../api/customer/index.js")]:[3,3];case 1:return[4,(0,r.sent().apiGetLastViewedProducts)({customerId:e.customer.id})];case 2:return t=r.sent(),e._lastViewedProducts=(null===(n=l(t.data))||void 0===n?void 0:n.reverse())||[],[3,4];case 3:Nt(e),r.label=4;case 4:return[2,e._lastViewedProducts]}})})}function Nt(t){d()||(t._lastViewedProducts=Ot(),t._lastViewedProducts=l(t._lastViewedProducts).reverse())}function Ot(){if(d())return[];try{var t=window.localStorage.getItem(C);if(t)return JSON.parse(t)}catch(t){console.error(t)}return[]}function Rt(e,n,i){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return e.customer?e._lastViewedProducts.find(function(t){return t.productId===n})?[2]:[4,import("../../api/customer/index.js")]:[3,3];case 1:return[4,(0,t.sent().apiSaveLastViewedProducts)({input:{customerId:e.customer.id,products:[{productId:n,variantId:i}]}})];case 2:return t.sent()&&e._lastViewedProducts.push({productId:n,variantId:i}),[3,4];case 3:e._lastViewedProducts=Ot(),e._lastViewedProducts=e._lastViewedProducts.filter(function(t){return t.productId!==n}),e._lastViewedProducts.push({productId:n,variantId:i}),e._lastViewedProducts=e._lastViewedProducts.slice(-20),function(t){d()||window.localStorage.setItem(C,JSON.stringify(t._lastViewedProducts))}(e),t.label=4;case 4:return[2]}})})}function At(e){return t(this,void 0,void 0,function(){var t,n;return r(this,function(r){switch(r.label){case 0:if(d())return[2];r.label=1;case 1:return r.trys.push([1,5,,6]),(t=Ot()).length?[4,import("../../api/customer/index.js")]:[3,4];case 2:return[4,(0,r.sent().apiSaveLastViewedProducts)({input:{customerId:e.customer.id,products:t}})];case 3:r.sent()&&(d()||window.localStorage.removeItem(C)),r.label=4;case 4:return[3,6];case 5:return n=r.sent(),console.error(n),[3,6];case 6:return[2]}})})}function Vt(t){return t._customerConsentGranted}function Ut(t){d()||window.localStorage.removeItem(L)}function Dt(t){var e;return{addresses:null===(e=t.addresses)||void 0===e?void 0:e.map(function(t){return{addressLine1:t.addressLine1,addressLine2:t.addressLine2,city:t.city,company:t.company,country:t.country,createdAt:t.createdAt,deleted:t.deleted,district:t.district,firstName:t.firstName,id:t.id,identityNumber:t.identityNumber,isDefault:t.isDefault,lastName:t.lastName,phone:t.phone,postalCode:t.postalCode,region:t.region,state:t.state,taxNumber:t.taxNumber,taxOffice:t.taxOffice,title:t.title,updatedAt:t.updatedAt}}),attributes:t.attributes,birthDate:t.birthDate,firstName:t.firstName,gender:t.gender,lastName:t.lastName,phone:t.phone,phoneSubscriptionStatus:t.phoneSubscriptionStatus,smsSubscriptionStatus:t.smsSubscriptionStatus,subscriptionStatus:t.subscriptionStatus}}function Mt(e){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return[4,import("../../api/loyalty/index.js")];case 1:return[4,(0,t.sent().apiListEarningMethods)()];case 2:return[2,t.sent().data]}})})}function Bt(e){return t(this,void 0,void 0,function(){var t,n;return r(this,function(r){switch(r.label){case 0:return[4,ht(e)];case 1:return r.sent(),(t=null===(n=u.cart)||void 0===n?void 0:n.id)?[4,import("../../api/loyalty/index.js")]:[2,[]];case 2:return[4,(0,r.sent().apiListSpendingMethodsByCartId)({cartId:t})];case 3:return[2,r.sent().data]}})})}function Gt(e){return t(this,void 0,void 0,function(){var t,n,i,o,s,a,c;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,6,,7]),[4,ht(e)];case 1:return r.sent(),t=null===(o=u.cart)||void 0===o?void 0:o.id,n=null===(c=null===(a=null===(s=u.cart)||void 0===s?void 0:s.loyaltyLines)||void 0===a?void 0:a[0])||void 0===c?void 0:c.loyaltySpendingMethodId,t&&n?[4,import("../../api/loyalty/index.js")]:[2];case 2:return[4,(0,r.sent().apiRemoveLoyaltyPointsFromCart)({cartId:t,loyaltySpendingMethodId:n})];case 3:return r.sent().isSuccess?[4,f()]:[3,5];case 4:r.sent(),r.label=5;case 5:return[3,7];case 6:return i=r.sent(),console.error(i),[3,7];case 7:return[2]}})})}function Wt(e){return t(this,void 0,void 0,function(){var t,n;return r(this,function(r){switch(r.label){case 0:return[4,ht(e)];case 1:return r.sent(),Ht(e)?(t=null===(n=u.cart)||void 0===n?void 0:n.id,[4,import("../../api/loyalty/index.js")]):[2,null];case 2:return[4,(0,r.sent().apiGetLoyaltyCustomerInfo)({cartId:t})];case 3:return[2,r.sent().data||null]}})})}function qt(e){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return[4,import("../../api/loyalty/index.js")];case 1:return[4,(0,t.sent().apiListLoyaltyProgramTiers)()];case 2:return[2,t.sent().data]}})})}function Kt(e,n){return t(this,void 0,void 0,function(){return r(this,function(t){switch(t.label){case 0:return[4,import("../../api/loyalty/index.js")];case 1:return[4,(0,t.sent().apiListLoyaltyProgramPointHistory)(n)];case 2:return[2,t.sent().data]}})})}function zt(n,i){return t(this,void 0,void 0,function(){var t,n;return r(this,function(r){switch(r.label){case 0:return(t=null===(n=u.cart)||void 0===n?void 0:n.id)?[4,import("../../api/loyalty/index.js")]:[2,null];case 1:return[4,(0,r.sent().apiUseLoyaltyPoints)({input:e(e({},i.input),{cartId:t})})];case 2:return[2,r.sent().data||null]}})})}function Ht(t){return!!t.customer}function Jt(t){return t._accountInfoForm||(t._accountInfoForm={},_(t._accountInfoForm)),t._accountInfoForm}function Xt(t){t._accountInfoForm=null}function Yt(t){return t._contactForm||(t._contactForm={},w(t._contactForm)),t._contactForm}function Qt(t){t._contactForm=null}function Zt(t){return t._couponCodeForm||(t._couponCodeForm={},g(t._couponCodeForm)),t._couponCodeForm}function $t(t){t._couponCodeForm=null}function te(t){return t._forgotPasswordForm||(t._forgotPasswordForm={},b(t._forgotPasswordForm)),t._forgotPasswordForm}function ee(t){t._forgotPasswordForm=null}function re(t){return t._loginForm||(t._loginForm={},I(t._loginForm)),t._loginForm}function ne(t){return t._smsLoginForm||(t._smsLoginForm={},T(t._smsLoginForm)),t._smsLoginForm}function ie(t){return t._verifyPhoneNumberForm||(t._verifyPhoneNumberForm={},j(t._verifyPhoneNumberForm)),t._verifyPhoneNumberForm}function oe(t){t._loginForm=null}function se(t){return t._newsletterSubscriptionForm||(t._newsletterSubscriptionForm={},S(t._newsletterSubscriptionForm)),t._newsletterSubscriptionForm}function ae(t){t._newsletterSubscriptionForm=null}function ce(t){return t._orderTrackingForm||(t._orderTrackingForm={},y(t._orderTrackingForm)),t._orderTrackingForm}function ue(t){t._orderTrackingForm=null}function de(t){return t._recoverPasswordForm||(t._recoverPasswordForm={},k(t._recoverPasswordForm)),t._recoverPasswordForm}function le(t){t._recoverPasswordForm=null}function me(t){return t._registerForm||(t._registerForm={},x(t._registerForm)),t._registerForm}function fe(t){t._registerForm=null}function pe(t){var e={};return v(e),o(e)}function ve(e){return t(this,void 0,void 0,function(){var t,n;return r(this,function(r){switch(r.label){case 0:return"ORDER_DETAIL"!==c.currentPageType||"undefined"==typeof window?[3,4]:(t=a.getCurrentPath().split("/").pop(),!i.isPreview||t&&"orders"!==t?[3,2]:[4,tt(e)]);case 1:(n=r.sent()).length&&(t=n[0].id),r.label=2;case 2:return t?[4,et(e,t)]:[3,4];case 3:return[2,r.sent()];case 4:return[2]}})})}function he(t){try{window.openIkasStorefrontWidget()}catch(t){console.error("Failed to open ikas storefront widget",t)}}function _e(t){try{window.closeIkasStorefrontWidget()}catch(t){console.error("Failed to close ikas storefront widget",t)}}export{q as activateCustomer,st as addProductToFavorites,O as canCustomerCreateEmailSubscription,Y as checkEmail,Xt as clearAccountInfoForm,Qt as clearContactForm,$t as clearCouponCodeForm,ee as clearForgotPasswordForm,oe as clearLoginForm,ae as clearNewsletterSubscriptionForm,ue as clearOrderTrackingForm,le as clearRecoverPasswordForm,fe as clearRegisterForm,_e as closeIkasStorefrontWidget,dt as createEmailSubscription,Wt as cs_getLoyaltyCustomerInfo,Mt as cs_listEarningMethods,Kt as cs_listLoyaltyProgramPointHistory,qt as cs_listLoyaltyProgramTiers,Bt as cs_listSpendingMethodsByCartId,Gt as cs_removeLoyaltyPointsFromCart,zt as cs_useLoyaltyPoints,B as customerLogin,Rt as customerStore_onProductView,R as customerToAnalyticsCustomer,ft as deactivateCustomer,D as deleteCustomerAddress,pt as exportCustomerPersonalData,Q as forgotPassword,Jt as getAccountInfoForm,Yt as getContactForm,Zt as getCouponCodeForm,wt as getCustomerAttributes,Vt as getCustomerConsentGranted,bt as getDigitalProductFileDownloadUrl,pe as getEmptyAddressForm,ot as getFavoriteProducts,it as getFavoriteProductsIds,te as getForgotPasswordForm,Lt as getLastViewedProducts,re as getLoginForm,se as getNewsletterSubscriptionForm,et as getOrder,rt as getOrderByEmail,ve as getOrderDetailsOfPage,gt as getOrderProductFiles,It as getOrderRefundSettings,ce as getOrderTrackingForm,nt as getOrderTransactions,tt as getOrders,de as getRecoverPasswordForm,me as getRegisterForm,ne as getSmsLoginForm,ie as getVerifyPhoneNumberForm,vt as handleCustomerConsentGrant,V as handleSocialLogin,Ht as hasCustomer,N as initCustomerStore,ut as isFavoriteProduct,G as logout,he as openIkasStorefrontWidget,Z as recoverPassword,M as refundOrder,W as register,Ut as removeCustomerConsent,at as removeProductFromFavorites,K as resendCustomerActivationMail,J as resendCustomerPhoneVerificationCode,X as saveContactForm,$ as saveCustomer,lt as saveCustomerFormData,mt as sendReview,Ft as setCaptchaToken,Ct as setSavedLastViewedProductsResponse,A as socialLogin,U as socialLoginToken,z as validateCustomerPhoneVerificationCode,H as validateOTPCode,_t as waitForCaptchaTokenInit,ht as waitForCustomerStoreInit};
|
|
1
|
+
import{__awaiter as e,__assign as t,__generator as r}from'./../../../ext/tslib/tslib.es6.mjs.js';import n from"../../../packages/storefront-api-client/src/config/index.js";import"../../../packages/storefront-api-client/src/utils/api.js";import'./../../../ext/isomorphic-fetch/fetch-npm-node.js';import{IkasStorefrontConfig as i}from"../../../packages/storefront-config/src/index.js";import{makeAutoObservable as s,observable as o}from'./../../../ext/mobx/dist/mobx.esm.js';import{Router as a}from"../../../router/index.js";import{baseStore as c}from"../../../stores/base/index.js";import{cartStore as u}from"../../../stores/cart/index.js";import{isServer as d,cloneDeep as l}from"../../../utils/helper.js";import'./../../../ext/lodash/sortBy.js';import"../../../stores/customer/index.js";import"../../../i18n/index.js";import'./../../../ext/lodash/_isFlattenable.js';import{removeCart as m,getCart as f}from"../cart/index.js";import{isCustomerSubscribed as p}from"../../models/customer/index.js";import{initAddressForm as v}from"../../models/validator/address/index.js";import{getIkasOrderRefundReasonId as h,getIkasOrderRefundReason as _,applyIkasOrderRefundableLines as w}from"../../models/order/index.js";import{getOrderLineItemRefundQuantity as S}from"../../models/order/line-item/index.js";import"../../models/product-list/index.js";import{initAccountInfoForm as I}from"../../models/validator/account-info/index.js";import{initContactForm as b}from"../../models/validator/contact-form/index.js";import{initCouponCodeForm as g}from"../../models/validator/coupon-code-form/index.js";import{initDeactivateCustomerForm as E}from"../../models/validator/deactivate-customer/index.js";import{initForgotPasswordForm as y}from"../../models/validator/forgot-password/index.js";import{initLoginForm as x}from"../../models/validator/login/index.js";import{initNewsletterSubscriptionForm as k}from"../../models/validator/newsletter-subscription/index.js";import{initOrderTrackingForm as C}from"../../models/validator/order-tracking/index.js";import{initRecoverPasswordForm as L}from"../../models/validator/recover-password/index.js";import{initRegisterForm as T}from"../../models/validator/register/index.js";import{initSmsLoginForm as j}from"../../models/validator/sms-login/index.js";import{initVerifyPhoneNumberForm as P}from"../../models/validator/verify-phone-number/index.js";var F="customerToken",R="customerTokenExpiry",N="customerEmailSubscription",O="lastViewedProducts",A="customerConsent";function D(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return He(t),rt(t),ot(t),[4,Ke(t)];case 1:return e.sent(),[4,qe(t)];case 2:return e.sent(),t._initialized=!0,[4,Te(t)];case 3:return e.sent(),t.customer?[4,import("../../../analytics/analytics-functions/customerVisit.js")]:[3,5];case 4:(0,e.sent().anl_customerVisit)(),e.label=5;case 5:return[2]}})})}function U(t,n){return e(this,arguments,void 0,function(e,t,n){var i,s;return void 0===n&&(n=[]),r(this,function(r){switch(r.label){case 0:if(He(e),rt(e),ot(e),!(null==t?void 0:t.customer)||!e._token)return[3,4];if(ze(e,t.customer),e._favoriteProducts=t.favoriteProducts||[],e._isFavoriteProductsLoaded=!0,!(i=n.filter(function(e){return!(e in t.customer)})).length)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,qe(e)];case 2:return r.sent(),[3,4];case 3:return s=r.sent(),console.error("[seedCustomerSession] snapshot lacks [".concat(i.join(", "),"] and the fallback fetch failed — ")+"keeping the partial customer:",s),[3,4];case 4:return e._initialized=!0,[2]}})})}function M(e){Je(e)}function V(e){return!!e.customer&&(!(p(e.customer)||d()||e._visitorSubscribedEmail)&&!window.localStorage.getItem(N))}function G(e){return t(t({},e.customer),{consentGranted:e._customerConsentGranted})}function B(t,n){return e(this,void 0,void 0,function(){var e,t,s;return r(this,function(r){switch(r.label){case 0:return"undefined"==typeof window?[2]:(e=new URLSearchParams(window.location.search).get("redirect")||"",t="".concat(import.meta.env.VITE_BASE_URL,"/ms/").concat(n,"/login/authenticate?redirect=").concat(e),[4,fetch(t,{headers:{"x-api-key":i.apiKey||"","x-sfid":i.storefrontId||"","x-sfrid":i.storefrontRoutingId||""}})]);case 1:return[4,r.sent().json()];case 2:return s=r.sent(),a.navigate(s.redirectUrl),[2]}})})}function W(t){return e(this,void 0,void 0,function(){var e,n,i,s,o;return r(this,function(r){switch(r.label){case 0:return e={status:"fail"},n=new URLSearchParams(window.location.search),i=n.get("socialLoginStatus"),s=n.get("socialLoginToken"),"success"===i&&s?[4,q(t,s)]:[3,2];case 1:return r.sent()?(e.status="success",[2,e]):[2,e];case 2:return o=n.get("socialLoginError"),e.message=o||void 0,[2,e]}})})}function q(t,n){return e(this,void 0,void 0,function(){var e,i,s;return r(this,function(r){switch(r.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiSocialLogin)({code:n})];case 2:return(null==(e=r.sent())?void 0:e.isSuccess)&&(null===(s=e.data)||void 0===s?void 0:s.customer)?(Xe(t,e.data.token,e.data.tokenExpiry),ze(t,e.data.customer),[4,import("../../../analytics/analytics-functions/customerLogin.js")]):[2,!1];case 3:return i=r.sent().anl_customerLogin,t.customer&&i(),[2,!0]}})})}var z="miles_smiles",K="MILES_SMILES",X="c8e4b1a0-5d3f-4a9e-8b2c-1f6d9e0a7c31",H="milesSmilesStatus",Q="milesSmilesError";function J(e){try{return new URL(e).searchParams.get(Q)}catch(e){return null}}function Y(e){var t=function(e){try{return new URL(e).searchParams.get("redirectUrl")}catch(e){return null}}(e);if(!t)return window.location.href=e,Promise.resolve({isSuccess:!0});var r=function(e){try{return new URL(e).searchParams.get("transactionId")}catch(e){return null}}(t);return new Promise(function(n){var i,s=!1,o=function(e){s||(s=!0,window.removeEventListener("message",a),i&&window.clearInterval(i),n(e))},a=function(e){var n;try{n="string"==typeof e.data?JSON.parse(e.data):e.data}catch(e){return}if(n&&!0===n.isSuccess){var i={transactionId:r,token:n.token,memberId:n.ffid||n.memberId||n.memberID,shortTokenExpireMinute:n.tokenExpireMinute,longToken:n.longToken,longTokenExpireMinute:n.longTokenExpireMinute};if(!i.memberId||!i.token)return console.error("Miles&Smiles: missing token or memberId in popup message"),void o({isSuccess:!1,errorCode:"MILES_SMILES_LOGIN_CANCELLED_OR_FAILED"});!function(e,t){var r=document.createElement("form");r.method="POST",r.action=e,r.style.display="none";for(var n=0,i=[["transactionId",t.transactionId||""],["token",t.token||""],["memberId",t.memberId||""],["shortTokenExpireMinute",null!=t.shortTokenExpireMinute?String(t.shortTokenExpireMinute):""],["longToken",t.longToken||""],["longTokenExpireMinute",null!=t.longTokenExpireMinute?String(t.longTokenExpireMinute):""]];n<i.length;n++){var s=i[n],o=s[0],a=s[1],c=document.createElement("input");c.type="hidden",c.name=o,c.value=a,r.appendChild(c)}document.body.appendChild(r),r.submit()}(t,i);try{null==c||c.close()}catch(e){}o({isSuccess:!0})}};window.addEventListener("message",a);var c=window.open(e,"mslogin","width=480,height=720");if(!c)return window.removeEventListener("message",a),window.location.href=e,void n({isSuccess:!0});i=window.setInterval(function(){c.closed&&o({isSuccess:!1,errorCode:"MILES_SMILES_LOGIN_CANCELLED_OR_FAILED"})},500)})}function Z(t,n){return e(this,void 0,void 0,function(){var e,s,o,a,c;return r(this,function(r){switch(r.label){case 0:if(d())return[2,{isSuccess:!1,errorCode:"UNEXPECTED_ERROR"}];if(!t.customer||!t._token)return[2,{isSuccess:!1,errorCode:"AUTHORIZATION_REQUIRED"}];e=function(e){return!!e&&e.startsWith("/")&&!e.startsWith("//")&&!e.includes("://")&&!e.includes("@")}(n)?n:"",s="".concat(import.meta.env.VITE_BASE_URL,"/ms/").concat(z,"/bind/authenticate?redirect=").concat(encodeURIComponent(e)),r.label=1;case 1:return r.trys.push([1,4,,5]),[4,fetch(s,{headers:{authorization:"Bearer ".concat(t._token),"x-api-key":i.apiKey||"","x-sfid":i.storefrontId||"","x-sfrid":i.storefrontRoutingId||""}})];case 2:return(a=r.sent()).redirected&&a.url?(window.location.href=a.url,[2,{isSuccess:!1,errorCode:J(a.url)}]):a.ok?[4,a.json()]:[2,{isSuccess:!1,errorCode:"UNEXPECTED_ERROR"}];case 3:return c=r.sent(),o=null==c?void 0:c.redirectUrl,[3,5];case 4:return r.sent(),[2,{isSuccess:!1,errorCode:"UNEXPECTED_ERROR"}];case 5:return o?[2,Y(o)]:[2,{isSuccess:!1,errorCode:"UNEXPECTED_ERROR"}]}})})}function $(e){if(void 0===e&&(e=!0),d())return null;var t=new URL(window.location.href),r=t.searchParams.get(H);if("success"!==r&&"fail"!==r)return null;var n=t.searchParams.get(Q);return e&&(t.searchParams.delete(H),t.searchParams.delete(Q),window.history.replaceState(window.history.state,"",t.pathname+t.search+t.hash)),{status:r,errorCode:n}}function ee(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[2,(0,e.sent().apiGetExternalAccountLink)({provider:z})]}})})}function te(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[2,(0,e.sent().apiUnlinkExternalAccount)({provider:z})]}})})}function re(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[2,(0,e.sent().apiGetMilesSmilesDetails)()]}})})}function ne(e){return e.paymentGatewayCode===K||e.paymentGatewayId===X}function ie(t,n){return e(this,void 0,void 0,function(){var e,i;return r(this,function(r){switch(r.label){case 0:return(e=l(t.customer))&&e.addresses?-1===(i=e.addresses.findIndex(function(e){return e.id===n.id}))?[2,!1]:(e.addresses.splice(i,1),[4,Se(t,e)]):[2,!1];case 1:return[2,r.sent()]}})})}function se(t,n,i){return e(this,void 0,void 0,function(){var e,t,s,o,a,c,u;return r(this,function(r){switch(r.label){case 0:r.label=1;case 1:return r.trys.push([1,4,,5]),e=[],n.orderLineItems.forEach(function(t){var r=S(t);r&&e.push({orderLineItemId:t.id,quantity:r})}),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiCreateOrderRefundRequest)({input:{email:i,orderId:n.id,orderLineItems:e,refundReasonId:h(n),reason:_(n)}})];case 3:return(t=r.sent()).isSuccess&&t.data?(Object.entries(t.data).forEach(function(e){var t=e[0],r=e[1];n[t]=r}),[2,{isSuccess:!0}]):"REFUND_NOT_ALLOWED"===(s=t.errorCodes[0])?[2,{isSuccess:!1,errorCode:"REFUND_NOT_ALLOWED",lines:(null===(u=null===(c=null===(a=t.graphQLErrors)||void 0===a?void 0:a[0])||void 0===c?void 0:c.extensions)||void 0===u?void 0:u.lines)||[]}]:"REFUND_REASON_REQUIRED"===s?[2,{isSuccess:!1,errorCode:"REFUND_REASON_REQUIRED"}]:[3,5];case 4:return o=r.sent(),console.error(o),[3,5];case 5:return[2,{isSuccess:!1,errorCode:"UNKNOWN"}]}})})}function oe(t,n,i){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,se(0,n,i)];case 1:return[2,e.sent().isSuccess]}})})}function ae(t,n,i,s){return e(this,void 0,void 0,function(){var e,o;return r(this,function(r){switch(r.label){case 0:return[4,$e(t)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiLogin)({email:n,password:i,phone:s,captchaToken:t._captchaToken})];case 3:return e=r.sent(),Ye(t),e&&e.isSuccess&&e.data?(o=e.data,Xe(t,o.token,o.tokenExpiry),o.customer&&ze(t,o.customer),t.customer?[4,import("../../../analytics/analytics-functions/customerLogin.js")]:[3,5]):[3,6];case 4:(0,r.sent().anl_customerLogin)(),r.label=5;case 5:return st(t),[2,{isSuccess:!0,errorCodes:[],otpSend:o.otpSend,flowId:o.flowId}];case 6:return[2,{isSuccess:!1,errorCodes:e.errorCodes.map(function(e){return["CUSTOMER_ACCOUNT_DISABLED","EMAIL_IS_NOT_VERIFIED","CUSTOMER_NOT_FOUND","B2B_CUSTOMER_ACCOUNT_DISABLED","PHONE_IS_NOT_VERIFIED","WRONG_PASSWORD"].includes(e)?e:"UNKOWN"})}]}})})}function ce(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return Je(t),m(u),[4,import("../../../analytics/analytics-functions/customerLogout.js")];case 1:return(0,e.sent().anl_customerLogout)(),[2]}})})}function ue(t,n,i,s,o,a,c,u,d){return e(this,void 0,void 0,function(){var e,l;return r(this,function(r){switch(r.label){case 0:return[4,$e(t)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiRegister)({email:s,password:o,firstName:n,lastName:i,isAcceptMarketing:a,attributes:c,captchaToken:t._captchaToken,phone:u,flowId:d})];case 3:return e=r.sent(),Ye(t),e&&e.isSuccess&&(null===(l=e.data)||void 0===l?void 0:l.customer)?(Xe(t,e.data.token,e.data.tokenExpiry),ze(t,e.data.customer),st(t),[4,import("../../../analytics/analytics-functions/completeRegistration.js")]):[3,5];case 4:return(0,r.sent().anl_completeRegistration)(G(t)),[2,{isSuccess:!0,errorCodes:[]}];case 5:return[2,{isSuccess:!1,errorCodes:e.errorCodes.map(function(e){return["EMAIL_IS_NOT_VERIFIED","CUSTOMER_EMAIL_ALREADY_EXISTS","B2B_CUSTOMER_ACCOUNT_DISABLED","PHONE_IS_NOT_VERIFIED"].includes(e)?e:"UNKOWN"})}]}})})}function de(t){return e(this,void 0,void 0,function(){var e,n,i;return r(this,function(r){switch(r.label){case 0:return e=new URLSearchParams(window.location.search),(n=e.get("token"))?[4,$e(t)]:[3,4];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiActivateCustomer)({token:n,captchaToken:t._captchaToken})];case 3:return i=r.sent(),Ye(t),[2,i.isSuccess];case 4:return[2,!1]}})})}function le(t,n){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return n?[4,$e(t)]:[3,4];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiResendCustomerActivationMail)({email:n,captchaToken:t._captchaToken})];case 3:return e=r.sent(),Ye(t),[2,e.isSuccess];case 4:return[2,!1]}})})}function me(t,n,i){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return n?[4,$e(t)]:[3,4];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiValidateCustomerPhoneVerificationCode)({verificationCode:n,otpInfo:i,captchaToken:t._captchaToken})];case 3:return e=r.sent(),Ye(t),[2,!(!e.isSuccess||!e.data)&&e.data];case 4:return[2,!1]}})})}function fe(n,i,s){return e(this,void 0,void 0,function(){var e,o,a,c,u;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,7,,8]),[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiValidateOTPCode)({verificationCode:i,otpInfo:s,captchaToken:n._captchaToken})];case 2:return e=r.sent(),Ye(n),e&&e.isSuccess&&(null===(o=e.data)||void 0===o?void 0:o.customer)?(Xe(n,e.data.token,e.data.tokenExpiry),ze(n,e.data.customer),st(n),[4,import("../../../analytics/analytics-functions/completeRegistration.js")]):[3,4];case 3:return(0,r.sent().anl_completeRegistration)(G(n)),[2,{isSuccess:!0,errorCodes:[]}];case 4:return e&&e.isSuccess&&((null===(a=e.data)||void 0===a?void 0:a.otpSend)||(null===(c=e.data)||void 0===c?void 0:c.flowId))?[2,{isSuccess:!0,otpSend:!0,flowId:null===(u=e.data)||void 0===u?void 0:u.flowId,errorCodes:[]}]:e.errorCodes.some(function(e){return"B2B_CUSTOMER_ACCOUNT_DISABLED"===e})?[4,import("../../../analytics/analytics-functions/completeRegistration.js")]:[3,6];case 5:(0,r.sent().anl_completeRegistration)(t(t({},G(n)),{notificationsAccepted:null}),!0),r.label=6;case 6:return[2,{isSuccess:!1,errorCodes:e.errorCodes.map(function(e){return["EMAIL_IS_NOT_VERIFIED","CUSTOMER_EMAIL_ALREADY_EXISTS","B2B_CUSTOMER_ACCOUNT_DISABLED","PHONE_IS_NOT_VERIFIED"].includes(e)?e:"UNKOWN"})}];case 7:return r.sent(),[2,{isSuccess:!1,errorCodes:[]}];case 8:return[2]}})})}function pe(t){return e(this,void 0,void 0,function(){var e;return r(this,function(t){switch(t.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,t.sent().apiResendCustomerPhoneVerificationCode)()];case 2:return[2,!(!(e=t.sent()).isSuccess||!e.data)&&e.data]}})})}function ve(n,i){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return[4,import("../../../analytics/analytics-functions/contactForm.js")];case 1:return(0,r.sent().anl_contactForm)(i),[4,$e(n)];case 2:return r.sent(),[4,import("../../api/customer/index.js")];case 3:return[4,(0,r.sent().apiSendContactFormToMerchant)(t(t({},i),{captchaToken:n._captchaToken}))];case 4:return e=r.sent(),Ye(n),[2,e.isSuccess]}})})}function he(t,n){return e(this,void 0,void 0,function(){var e,i;return r(this,function(r){switch(r.label){case 0:return[4,$e(t)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiCheckEmail)({email:n,captchaToken:t._captchaToken})];case 3:return e=r.sent(),Ye(t),[2,!!e.isSuccess&&!!(null===(i=e.data)||void 0===i?void 0:i.exists)]}})})}function _e(t,n){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return[4,$e(t)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiForgotPassword)({email:n,captchaToken:t._captchaToken})];case 3:return e=r.sent(),Ye(t),[2,!!e.isSuccess&&e.data]}})})}function we(t,n,i,s){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return[4,$e(t)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiRecoverPassword)({password:n,passwordAgain:i,token:s,captchaToken:t._captchaToken})];case 3:return e=r.sent(),Ye(t),[2,e.isSuccess]}})})}function Se(t,n){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiSaveCustomer)({input:ut(n)})];case 2:return(e=r.sent()).isSuccess&&e.data?(ze(t,e.data),[2,!0]):[2,!1]}})})}function Ie(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,De(t)];case 1:return e.sent(),t.customer?[4,import("../../api/customer/index.js")]:[2,[]];case 2:return[4,(0,e.sent().apiGetOrders)({})];case 3:return[2,e.sent().data||[]]}})})}function be(t,n){return e(this,void 0,void 0,function(){var s,o,a,c,u,d,l,m,f=this;return r(this,function(p){switch(p.label){case 0:return[4,De(t)];case 1:return p.sent(),t.customer?(s=n,!i.isPreview||s&&"orders"!==s?[3,3]:[4,Ie(t)]):[2,null];case 2:(o=p.sent()).length&&(s=o[0].id),p.label=3;case 3:return[4,Promise.all([e(f,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[2,(0,e.sent().apiGetOrders)({orderId:s})]}})}),Be(t),Ee(t,{orderId:s}),We(s)])];case 4:return a=p.sent(),c=a[0],u=a[2],d=a[3],c.isSuccess&&(null===(m=c.data)||void 0===m?void 0:m.length)?((l=c.data[0]).transactions=u,w(l,d),[2,l]):[2,null]}})})}function ge(t,n,i){return e(this,void 0,void 0,function(){var e,s,o,a,c;return r(this,function(r){switch(r.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiGetOrderByEmail)({email:n,orderNumber:i})];case 2:return(e=r.sent()).isSuccess&&e.data?(s=e.data,[4,Promise.all([Be(t),Ee(t,{orderId:s.id}),We(s.id,n)])]):[2,null];case 3:return o=r.sent(),a=o[1],c=o[2],s.transactions=a,w(s,c),[2,s]}})})}function Ee(t){return e(this,arguments,void 0,function(e,t){var n;return void 0===t&&(t={}),r(this,function(e){switch(e.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return n=e.sent().apiListOrderTransactions,t.orderId||t.checkoutId||t.id?[4,n({checkoutId:{eq:t.checkoutId},id:{eq:t.checkoutId},orderId:{eq:t.orderId}})]:[2,[]];case 2:return[2,e.sent().data||[]]}})})}function ye(t,n){return e(this,void 0,void 0,function(){var e;return r(this,function(t){switch(t.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return e=t.sent().apiListOrderTransactionsWithPrices,n.orderId?[4,e({input:{orderId:n.orderId}})]:[2,null];case 2:return[2,t.sent().data||null]}})})}function xe(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return t.customer?[4,import("../../api/customer/index.js")]:[2,[]];case 1:return[4,(0,e.sent().apiListFavoriteProducts)()];case 2:return[2,e.sent().data||[]]}})})}function ke(t){return e(this,void 0,void 0,function(){var e,n,s,a,c;return r(this,function(r){switch(r.label){case 0:return[4,Te(t)];case 1:return 0===(e=r.sent()).length?[2,[]]:[4,import("../../api/product/index.js")];case 2:return[4,(0,r.sent().apiSearchProducts)({input:{productIdList:e.map(function(e){return e.productId}),priceListId:i.priceListId,salesChannelId:i.salesChannelId,perPage:100}})];case 3:return n=r.sent(),null===(a=null===(s=n.data)||void 0===s?void 0:s.data)||void 0===a||a.forEach(function(e){e.selectedVariantValues=e.variants[0].variantValues}),[2,o((null===(c=null==n?void 0:n.data)||void 0===c?void 0:c.data)||[])]}})})}function Ce(t,n){return e(this,void 0,void 0,function(){var e,i;return r(this,function(r){switch(r.label){case 0:if(!(null===(i=t.customer)||void 0===i?void 0:i.id))throw Error("Unauthorized");return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiSaveFavoriteProduct)({isFavorite:!0,productId:n})];case 2:return e=r.sent(),[4,import("../../../analytics/analytics-functions/addToWishlist.js")];case 3:return(0,r.sent().anl_addToWishlist)(n),e.isSuccess?[4,Te(t,!0)]:[3,5];case 4:r.sent(),r.label=5;case 5:return[2,e.data||!1]}})})}function Le(t,n){return e(this,void 0,void 0,function(){var e,i;return r(this,function(r){switch(r.label){case 0:if(!(null===(i=t.customer)||void 0===i?void 0:i.id))throw Error("Unauthorized");return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiSaveFavoriteProduct)({isFavorite:!1,productId:n})];case 2:return e=r.sent(),[4,import("../../../analytics/analytics-functions/addToWishlist.js")];case 3:return(0,r.sent().anl_addToWishlist)(n,!0),e.isSuccess?[4,Te(t,!0)]:[3,5];case 4:r.sent(),r.label=5;case 5:return[2,e.data||!1]}})})}function Te(t){return e(this,arguments,void 0,function(e,t){var n;return void 0===t&&(t=!1),r(this,function(r){switch(r.label){case 0:return[4,De(e)];case 1:return r.sent(),e.customer?e._isFavoriteProductsLoaded&&!t?[3,3]:[4,xe(e)]:[2,[]];case 2:n=r.sent(),e._favoriteProducts=n,e._isFavoriteProductsLoaded=!0,r.label=3;case 3:return[2,e._favoriteProducts]}})})}function je(t,n){return e(this,void 0,void 0,function(){return r(this,function(e){return[2,t._favoriteProducts.some(function(e){return e.productId===n})]})})}function Pe(t,n){return e(this,void 0,void 0,function(){var e,i;return r(this,function(r){switch(r.label){case 0:return[4,$e(t)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiSubscribeToMarketingNotifications)({input:{email:n,captchaToken:t._captchaToken}})];case 3:return(e=r.sent()).isSuccess?(i=t.customer,window.localStorage.setItem(N,"true"),i?i.subscriptionStatus:t._visitorSubscribedEmail=!0,[4,import("../../../analytics/analytics-functions/createEmailSubscription.js")]):[3,5];case 4:(0,r.sent().anl_createEmailSubscription)(n),r.label=5;case 5:return[2,e]}})})}function Fe(n,i){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return[4,$e(n)];case 1:return r.sent(),[4,import("../../api/customer/index.js")];case 2:return[4,(0,r.sent().apiSaveCustomerFormData)({input:t(t({},i),{captchaToken:n._captchaToken})})];case 3:return(e=r.sent()).isSuccess?(window.localStorage.setItem(N,"true"),n.customer?n.customer.subscriptionStatus:n._visitorSubscribedEmail=!0,[4,import("../../../analytics/analytics-functions/createEmailSubscription.js")]):[3,5];case 4:(0,r.sent().anl_createEmailSubscription)(i.email),r.label=5;case 5:return[2,e.isSuccess]}})})}function Re(n,s){return e(this,void 0,void 0,function(){var e,o,a,c,u;return r(this,function(r){switch(r.label){case 0:if(e=i.customerReviewSettings,o=i.salesChannelId,a=i.getCurrentLocale(),!e)return[2];if(!(c=null===(u=n.customer)||void 0===u?void 0:u.id)&&e.customerLoginRequired)throw Error("Unauthorized");return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiCreateCustomerReview)({input:t(t({},s),{customerId:e.customerLoginRequired?c:void 0,salesChannelId:o||"",locale:a})})];case 2:return[2,r.sent().data]}})})}function Ne(t,n){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return t.customer?[4,import("../../api/customer/index.js")]:[3,3];case 1:return[4,(0,e.sent().apiDeactivateCustomer)({password:n})];case 2:return[2,e.sent()];case 3:return[2]}})})}function Oe(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return t.customer?[4,import("../../api/customer/index.js")]:[3,3];case 1:return[4,(0,e.sent().apiExportCustomerPersonalData)()];case 2:return[2,e.sent()];case 3:return[2]}})})}function Ae(e){!function(e){if(d())return;e._customerConsentGranted=!0,window.localStorage.setItem(A,"true")}(e)}function De(t){return e(this,void 0,void 0,function(){return r(this,function(e){return d()||t._initialized?[2]:[2,new Promise(function(e){var r=setInterval(function(){t._initialized&&(clearInterval(r),e(null))},100)})]})})}function Ue(e){return new Promise(function(t){var r=setInterval(function(){e._captchaToken&&(clearInterval(r),t(null))},100)})}function Me(t){return e(this,void 0,void 0,function(){var e,n;return r(this,function(r){switch(r.label){case 0:return[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiListCustomerAttribute)()];case 2:return e=r.sent(),t.customer&&(null===(n=t.customer.attributes)||void 0===n||n.forEach(function(t){var r,n,i;t.customerAttribute=(null===(r=e.data)||void 0===r?void 0:r.find(function(e){return e.id===t.customerAttributeId}))||null,t.customerAttributeOptionId&&(t.customerAttributeOption=(null===(i=null===(n=t.customerAttribute)||void 0===n?void 0:n.options)||void 0===i?void 0:i.find(function(e){return e.id===t.customerAttributeOptionId}))||null)})),[2,e.data||[]]}})})}function Ve(t,n){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return n.length?[4,import("../../api/checkout/index.js")]:[2,[]];case 1:return[4,(0,e.sent().apiListProductFile)({id:{in:n}})];case 2:return[2,e.sent().data||[]]}})})}function Ge(t,n,i){return e(this,void 0,void 0,function(){var e,t,s,o,a;return r(this,function(r){switch(r.label){case 0:r.label=1;case 1:return r.trys.push([1,5,,6]),(e=n.orderLineItems.find(function(e){return e.variant.id===i.variantId}))?[4,import("../../api/customer/index.js")]:[3,4];case 2:return[4,(0,r.sent().apiGetDigitalProductFileDownloadUrl)(n.id,e.id)];case 3:t=r.sent(),(s=t.data)&&((o=document.createElement("a")).href=s,o.download=decodeURIComponent(i.name.split("/")[i.name.split("/").length-1])||"",o.click(),o.remove()),r.label=4;case 4:return[3,6];case 5:return a=r.sent(),console.error(a),[3,6];case 6:return[2]}})})}function Be(t){return e(this,void 0,void 0,function(){var e,n;return r(this,function(r){switch(r.label){case 0:return t._refundSettings?[3,3]:[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiListOrderRefundSettings)({})];case 2:(e=r.sent()).isSuccess&&(null===(n=e.data)||void 0===n?void 0:n.length)&&(t._refundSettings=e.data[0]),r.label=3;case 3:return[2]}})})}function We(t,n){return e(this,void 0,void 0,function(){var e,i;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiGetRefundableLines)({input:{orderId:t,email:n||null}})];case 2:return(e=r.sent()).isSuccess&&e.data?[2,e.data]:[3,4];case 3:return i=r.sent(),console.error(i),[3,4];case 4:return[2,{orderLineItems:[],refundReasons:[],translations:[]}]}})})}function qe(t){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return d()||!t._token?[2]:[4,import("../../api/customer/index.js")];case 1:return[4,(0,r.sent().apiGetCustomer)()];case 2:return(e=r.sent()).data&&ze(t,e.data),[2]}})})}function ze(e,t){e.customer=t}function Ke(t){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return t._token?[4,import("../../api/customer/index.js")]:[2];case 1:return[4,(0,r.sent().apiRefreshToken)({token:t._token})];case 2:if((e=r.sent()).isSuccess&&e.data)Xe(t,e.data.token,e.data.tokenExpiry);else{if(e.isCancelled||e.isNetworkError)return[2];console.log("refreshToken error",e),t._token=null,t._tokenExpiry=null,Je(t)}return[2]}})})}function Xe(e,t,r){d()||(e._token=t,e._tokenExpiry=r,localStorage.setItem(F,t),localStorage.setItem(R,r+""),i.init({customerToken:t}),n.TOKEN=t)}function He(e){if(!d()){var t=localStorage.getItem(F),r=localStorage.getItem(R);t&&r?Xe(e,t,parseInt(r)):Qe(e)}}function Qe(e){localStorage.removeItem(F),localStorage.removeItem(R),e._token=null,e._tokenExpiry=null}function Je(e){Qe(e),e.customer=null,e._favoriteProducts=[],e._isFavoriteProductsLoaded=!1,i.init({customerToken:""}),n.TOKEN="",Ye(e)}function Ye(e){e._captchaToken=null}function Ze(e,t){e._captchaToken=t}function $e(t){return e(this,void 0,void 0,function(){var e;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),i.isCaptchaRequired()?(window.grecaptcha.execute(),[4,Ue(t)]):[3,2];case 1:r.sent(),window.grecaptcha.reset(),r.label=2;case 2:return[3,4];case 3:return e=r.sent(),console.log("Get captcha error",e),[3,4];case 4:return[2]}})})}function et(e,t){e._savedLastViewedProducts=l(e._lastViewedProducts),e._savedLastViewedProductsResponse=t}function tt(t){return e(this,void 0,void 0,function(){var e,n;return r(this,function(r){switch(r.label){case 0:return t.customer?[4,import("../../api/customer/index.js")]:[3,3];case 1:return[4,(0,r.sent().apiGetLastViewedProducts)({customerId:t.customer.id})];case 2:return e=r.sent(),t._lastViewedProducts=(null===(n=l(e.data))||void 0===n?void 0:n.reverse())||[],[3,4];case 3:rt(t),r.label=4;case 4:return[2,t._lastViewedProducts]}})})}function rt(e){d()||(e._lastViewedProducts=nt(),e._lastViewedProducts=l(e._lastViewedProducts).reverse())}function nt(){if(d())return[];try{var e=window.localStorage.getItem(O);if(e)return JSON.parse(e)}catch(e){console.error(e)}return[]}function it(t,n,i){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return t.customer?t._lastViewedProducts.find(function(e){return e.productId===n})?[2]:[4,import("../../api/customer/index.js")]:[3,3];case 1:return[4,(0,e.sent().apiSaveLastViewedProducts)({input:{customerId:t.customer.id,products:[{productId:n,variantId:i}]}})];case 2:return e.sent()&&t._lastViewedProducts.push({productId:n,variantId:i}),[3,4];case 3:t._lastViewedProducts=nt(),t._lastViewedProducts=t._lastViewedProducts.filter(function(e){return e.productId!==n}),t._lastViewedProducts.push({productId:n,variantId:i}),t._lastViewedProducts=t._lastViewedProducts.slice(-20),function(e){d()||window.localStorage.setItem(O,JSON.stringify(e._lastViewedProducts))}(t),e.label=4;case 4:return[2]}})})}function st(t){return e(this,void 0,void 0,function(){var e,n;return r(this,function(r){switch(r.label){case 0:if(d())return[2];r.label=1;case 1:return r.trys.push([1,5,,6]),(e=nt()).length?[4,import("../../api/customer/index.js")]:[3,4];case 2:return[4,(0,r.sent().apiSaveLastViewedProducts)({input:{customerId:t.customer.id,products:e}})];case 3:r.sent()&&(d()||window.localStorage.removeItem(O)),r.label=4;case 4:return[3,6];case 5:return n=r.sent(),console.error(n),[3,6];case 6:return[2]}})})}function ot(e){d()||(e._customerConsentGranted=!!window.localStorage.getItem(A))}function at(e){return e._customerConsentGranted}function ct(e){d()||window.localStorage.removeItem(A)}function ut(e){var t;return{addresses:null===(t=e.addresses)||void 0===t?void 0:t.map(function(e){return{addressLine1:e.addressLine1,addressLine2:e.addressLine2,city:e.city,company:e.company,country:e.country,createdAt:e.createdAt,deleted:e.deleted,district:e.district,firstName:e.firstName,id:e.id,identityNumber:e.identityNumber,isDefault:e.isDefault,lastName:e.lastName,phone:e.phone,postalCode:e.postalCode,region:e.region,state:e.state,taxNumber:e.taxNumber,taxOffice:e.taxOffice,title:e.title,updatedAt:e.updatedAt}}),attributes:e.attributes,birthDate:e.birthDate,firstName:e.firstName,gender:e.gender,lastName:e.lastName,phone:e.phone,phoneSubscriptionStatus:e.phoneSubscriptionStatus,smsSubscriptionStatus:e.smsSubscriptionStatus,subscriptionStatus:e.subscriptionStatus}}function dt(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,import("../../api/loyalty/index.js")];case 1:return[4,(0,e.sent().apiListEarningMethods)()];case 2:return[2,e.sent().data]}})})}function lt(t){return e(this,void 0,void 0,function(){var e,n;return r(this,function(r){switch(r.label){case 0:return[4,De(t)];case 1:return r.sent(),(e=null===(n=u.cart)||void 0===n?void 0:n.id)?[4,import("../../api/loyalty/index.js")]:[2,[]];case 2:return[4,(0,r.sent().apiListSpendingMethodsByCartId)({cartId:e})];case 3:return[2,r.sent().data]}})})}function mt(t){return e(this,void 0,void 0,function(){var e,n,i,s,o,a,c;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,6,,7]),[4,De(t)];case 1:return r.sent(),e=null===(s=u.cart)||void 0===s?void 0:s.id,n=null===(c=null===(a=null===(o=u.cart)||void 0===o?void 0:o.loyaltyLines)||void 0===a?void 0:a[0])||void 0===c?void 0:c.loyaltySpendingMethodId,e&&n?[4,import("../../api/loyalty/index.js")]:[2];case 2:return[4,(0,r.sent().apiRemoveLoyaltyPointsFromCart)({cartId:e,loyaltySpendingMethodId:n})];case 3:return r.sent().isSuccess?[4,f()]:[3,5];case 4:r.sent(),r.label=5;case 5:return[3,7];case 6:return i=r.sent(),console.error(i),[3,7];case 7:return[2]}})})}function ft(t){return e(this,void 0,void 0,function(){var e,n;return r(this,function(r){switch(r.label){case 0:return[4,De(t)];case 1:return r.sent(),_t(t)?(e=null===(n=u.cart)||void 0===n?void 0:n.id,[4,import("../../api/loyalty/index.js")]):[2,null];case 2:return[4,(0,r.sent().apiGetLoyaltyCustomerInfo)({cartId:e})];case 3:return[2,r.sent().data||null]}})})}function pt(t){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,import("../../api/loyalty/index.js")];case 1:return[4,(0,e.sent().apiListLoyaltyProgramTiers)()];case 2:return[2,e.sent().data]}})})}function vt(t,n){return e(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return[4,import("../../api/loyalty/index.js")];case 1:return[4,(0,e.sent().apiListLoyaltyProgramPointHistory)(n)];case 2:return[2,e.sent().data]}})})}function ht(n,i){return e(this,void 0,void 0,function(){var e,n;return r(this,function(r){switch(r.label){case 0:return(e=null===(n=u.cart)||void 0===n?void 0:n.id)?[4,import("../../api/loyalty/index.js")]:[2,null];case 1:return[4,(0,r.sent().apiUseLoyaltyPoints)({input:t(t({},i.input),{cartId:e})})];case 2:return[2,r.sent().data||null]}})})}function _t(e){return!!e.customer}function wt(e){return e._accountInfoForm||(e._accountInfoForm={},I(e._accountInfoForm)),e._accountInfoForm}function St(e){e._accountInfoForm=null}function It(e){return e._contactForm||(e._contactForm={},b(e._contactForm)),e._contactForm}function bt(e){e._contactForm=null}function gt(e){return e._couponCodeForm||(e._couponCodeForm={},g(e._couponCodeForm)),e._couponCodeForm}function Et(e){e._couponCodeForm=null}function yt(e){return e._deactivateCustomerForm||(e._deactivateCustomerForm={},E(e._deactivateCustomerForm)),e._deactivateCustomerForm}function xt(e){e._deactivateCustomerForm=null}function kt(e){return e._forgotPasswordForm||(e._forgotPasswordForm={},y(e._forgotPasswordForm)),e._forgotPasswordForm}function Ct(e){e._forgotPasswordForm=null}function Lt(e){return e._loginForm||(e._loginForm={},x(e._loginForm)),e._loginForm}function Tt(e){return e._smsLoginForm||(e._smsLoginForm={},j(e._smsLoginForm)),e._smsLoginForm}function jt(e){return e._verifyPhoneNumberForm||(e._verifyPhoneNumberForm={},P(e._verifyPhoneNumberForm)),e._verifyPhoneNumberForm}function Pt(e){e._loginForm=null}function Ft(e){return e._newsletterSubscriptionForm||(e._newsletterSubscriptionForm={},k(e._newsletterSubscriptionForm)),e._newsletterSubscriptionForm}function Rt(e){e._newsletterSubscriptionForm=null}function Nt(e){return e._orderTrackingForm||(e._orderTrackingForm={},C(e._orderTrackingForm)),e._orderTrackingForm}function Ot(e){e._orderTrackingForm=null}function At(e){return e._recoverPasswordForm||(e._recoverPasswordForm={},L(e._recoverPasswordForm)),e._recoverPasswordForm}function Dt(e){e._recoverPasswordForm=null}function Ut(e){return e._registerForm||(e._registerForm={},T(e._registerForm)),e._registerForm}function Mt(e){e._registerForm=null}function Vt(e){var t={};return v(t),s(t)}function Gt(t){return e(this,void 0,void 0,function(){var e,n;return r(this,function(r){switch(r.label){case 0:return"ORDER_DETAIL"!==c.currentPageType||"undefined"==typeof window?[3,4]:(e=a.getCurrentPath().split("/").pop(),!i.isPreview||e&&"orders"!==e?[3,2]:[4,Ie(t)]);case 1:(n=r.sent()).length&&(e=n[0].id),r.label=2;case 2:return e?[4,be(t,e)]:[3,4];case 3:return[2,r.sent()];case 4:return[2]}})})}function Bt(e){try{window.openIkasStorefrontWidget()}catch(e){console.error("Failed to open ikas storefront widget",e)}}function Wt(e){try{window.closeIkasStorefrontWidget()}catch(e){console.error("Failed to close ikas storefront widget",e)}}export{K as MILES_SMILES_PAYMENT_GATEWAY_CODE,X as MILES_SMILES_PAYMENT_GATEWAY_ID,z as MILES_SMILES_PROVIDER,de as activateCustomer,Ce as addProductToFavorites,V as canCustomerCreateEmailSubscription,he as checkEmail,St as clearAccountInfoForm,bt as clearContactForm,Et as clearCouponCodeForm,M as clearCustomerSession,xt as clearDeactivateCustomerForm,Ct as clearForgotPasswordForm,Pt as clearLoginForm,Rt as clearNewsletterSubscriptionForm,Ot as clearOrderTrackingForm,Dt as clearRecoverPasswordForm,Mt as clearRegisterForm,Wt as closeIkasStorefrontWidget,Pe as createEmailSubscription,se as createRefundRequest,ft as cs_getLoyaltyCustomerInfo,dt as cs_listEarningMethods,vt as cs_listLoyaltyProgramPointHistory,pt as cs_listLoyaltyProgramTiers,lt as cs_listSpendingMethodsByCartId,mt as cs_removeLoyaltyPointsFromCart,ht as cs_useLoyaltyPoints,ae as customerLogin,it as customerStore_onProductView,G as customerToAnalyticsCustomer,Ne as deactivateCustomer,ie as deleteCustomerAddress,Oe as exportCustomerPersonalData,_e as forgotPassword,wt as getAccountInfoForm,It as getContactForm,gt as getCouponCodeForm,Me as getCustomerAttributes,at as getCustomerConsentGranted,yt as getDeactivateCustomerForm,Ge as getDigitalProductFileDownloadUrl,Vt as getEmptyAddressForm,ke as getFavoriteProducts,xe as getFavoriteProductsIds,kt as getForgotPasswordForm,tt as getLastViewedProducts,Lt as getLoginForm,re as getMilesSmilesDetails,ee as getMilesSmilesLink,Ft as getNewsletterSubscriptionForm,be as getOrder,ge as getOrderByEmail,Gt as getOrderDetailsOfPage,Ve as getOrderProductFiles,Be as getOrderRefundSettings,Nt as getOrderTrackingForm,Ee as getOrderTransactions,ye as getOrderTransactionsWithPrices,Ie as getOrders,At as getRecoverPasswordForm,Ut as getRegisterForm,Tt as getSmsLoginForm,jt as getVerifyPhoneNumberForm,Ae as handleCustomerConsentGrant,$ as handleMilesSmilesBind,W as handleSocialLogin,_t as hasCustomer,D as initCustomerStore,je as isFavoriteProduct,ne as isMilesSmilesTransaction,ce as logout,Z as milesSmilesBind,Bt as openIkasStorefrontWidget,we as recoverPassword,oe as refundOrder,ue as register,ct as removeCustomerConsent,Le as removeProductFromFavorites,le as resendCustomerActivationMail,pe as resendCustomerPhoneVerificationCode,ve as saveContactForm,Se as saveCustomer,Fe as saveCustomerFormData,U as seedCustomerSession,Re as sendReview,Ze as setCaptchaToken,et as setSavedLastViewedProductsResponse,B as socialLogin,q as socialLoginToken,te as unlinkMilesSmiles,me as validateCustomerPhoneVerificationCode,fe as validateOTPCode,Ue as waitForCaptchaTokenInit,De as waitForCustomerStoreInit};
|