@zonos/elements 1.2.3 → 1.2.4-alpha.1
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/cjs/cart-4ddc2af5.js +616 -0
- package/dist/cjs/getBorderRadius-a97a5f75.js +18 -0
- package/dist/cjs/getHasMoreSpaceOnRight-4c94667f.js +10 -0
- package/dist/cjs/{index-9542d2e7.js → index-20cb112f.js} +127 -26
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/isColorVariable-41cacd82.js +16 -0
- package/dist/cjs/{isDarkColor-f3446afd.js → isDarkColor-261fcf3d.js} +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/localization-11360fed.js +3629 -0
- package/dist/cjs/submitGtag-bb093547.js +27 -0
- package/dist/cjs/zonos-address_2.cjs.entry.js +108 -108
- package/dist/cjs/zonos-badge.cjs.entry.js +25 -22
- package/dist/cjs/zonos-banner.cjs.entry.js +65 -53
- package/dist/cjs/zonos-button_2.cjs.entry.js +100 -99
- package/dist/cjs/zonos-card_2.cjs.entry.js +32 -27
- package/dist/cjs/zonos-cart-items_10.cjs.entry.js +422 -419
- package/dist/cjs/zonos-checkout.cjs.entry.js +356 -356
- package/dist/cjs/zonos-component.cjs.entry.js +15 -15
- package/dist/cjs/zonos-controller.cjs.entry.js +231 -193
- package/dist/cjs/zonos-country-flag_4.cjs.entry.js +85 -77
- package/dist/cjs/zonos-elements.cjs.js +3 -3
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +101 -101
- package/dist/cjs/zonos-hello.cjs.entry.js +349 -349
- package/dist/cjs/zonos-icon.cjs.entry.js +22 -20
- package/dist/cjs/zonos-notification.cjs.entry.js +60 -57
- package/dist/cjs/zonos-payment.cjs.entry.js +45 -45
- package/dist/cjs/zonos-shipping-rich-radio.cjs.entry.js +40 -40
- package/dist/cjs/zonos-text.cjs.entry.js +145 -143
- package/dist/cjs/{zonosStore-a430ec5b.js → zonosStore-a0fa5b77.js} +102 -97
- package/dist/collection/__mocks__/vercel-app/loadZonos.js +492 -0
- package/dist/collection/__mocks__/vercel-app/localization.js +1 -0
- package/dist/collection/__mocks__/vercel-app/zonos-hello.entry.js +1 -0
- package/dist/collection/__mocks__/zonos-url/loadZonos.js +492 -0
- package/dist/{esm-es5/localization-f3828793.js → collection/__mocks__/zonos-url/localization.js} +1 -1
- package/dist/collection/__mocks__/zonos-url/zonos-hello.entry.js +1 -0
- package/dist/collection/__tests__/build-utils/urlCheckOne.js +59 -0
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.css +4 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.js +37 -37
- package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.css +4 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.js +44 -44
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.css +4 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.js +164 -164
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.css +4 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.js +149 -149
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.css +4 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-checkout.js +559 -559
- package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.css +4 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.js +153 -153
- package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.css +4 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-review/zonos-review.js +107 -107
- package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.css +4 -1
- package/dist/collection/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.js +164 -164
- package/dist/collection/components/common/countries.js +261 -261
- package/dist/collection/components/common/zonos-badge/zonos-badge.css +4 -1
- package/dist/collection/components/common/zonos-badge/zonos-badge.js +189 -186
- package/dist/collection/components/common/zonos-banner/zonos-banner.css +4 -1
- package/dist/collection/components/common/zonos-banner/zonos-banner.js +140 -128
- package/dist/collection/components/common/zonos-button/zonos-button.css +5 -5
- package/dist/collection/components/common/zonos-button/zonos-button.js +407 -406
- package/dist/collection/components/common/zonos-card/zonos-card.css +4 -1
- package/dist/collection/components/common/zonos-card/zonos-card.js +165 -162
- package/dist/collection/components/common/zonos-collapse/zonos-collapse.css +4 -1
- package/dist/collection/components/common/zonos-collapse/zonos-collapse.js +85 -83
- package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.css +4 -1
- package/dist/collection/components/common/zonos-country-flag/zonos-country-flag.js +101 -96
- package/dist/collection/components/common/zonos-country-select/zonos-country-select.css +4 -1
- package/dist/collection/components/common/zonos-country-select/zonos-country-select.js +73 -70
- package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.css +4 -1
- package/dist/collection/components/common/zonos-custom-message/zonos-custom-message.js +62 -59
- package/dist/collection/components/common/zonos-dialog/zonos-dialog.css +4 -1
- package/dist/collection/components/common/zonos-dialog/zonos-dialog.js +373 -371
- package/dist/collection/components/common/zonos-icon/zonos-icon.css +4 -1
- package/dist/collection/components/common/zonos-icon/zonos-icon.js +123 -121
- package/dist/collection/components/common/zonos-logo/zonos-logo.css +4 -1
- package/dist/collection/components/common/zonos-logo/zonos-logo.js +92 -90
- package/dist/collection/components/common/zonos-notification/zonos-notification.css +4 -1
- package/dist/collection/components/common/zonos-notification/zonos-notification.js +128 -125
- package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.css +4 -1
- package/dist/collection/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.js +168 -168
- package/dist/collection/components/common/zonos-spinner/zonos-spinner.css +4 -1
- package/dist/collection/components/common/zonos-spinner/zonos-spinner.js +71 -71
- package/dist/collection/components/common/zonos-text/zonos-text.css +4 -1
- package/dist/collection/components/common/zonos-text/zonos-text.js +193 -191
- package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.css +4 -1
- package/dist/collection/components/common/zonos-v-stack/zonos-v-stack.js +70 -67
- package/dist/collection/components/component-template/zonos-component/zonos-component.css +4 -1
- package/dist/collection/components/component-template/zonos-component/zonos-component.js +81 -81
- package/dist/collection/components/hello/zonos-hello/zonos-hello.css +4 -2
- package/dist/collection/components/hello/zonos-hello/zonos-hello.js +447 -446
- package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.css +4 -1
- package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.js +70 -70
- package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.css +4 -1
- package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +272 -272
- package/dist/collection/components/main/zonos-controller.css +4 -1
- package/dist/collection/components/main/zonos-controller.js +400 -319
- package/dist/collection/components/store/checkout/cart.js +162 -162
- package/dist/collection/components/store/checkout/stripe.js +264 -264
- package/dist/collection/components/store/hello/localization.js +112 -112
- package/dist/collection/components/store/translationStore/strings.arabic.js +147 -147
- package/dist/collection/components/store/translationStore/strings.base.js +147 -147
- package/dist/collection/components/store/translationStore/strings.chinese.js +147 -147
- package/dist/collection/components/store/translationStore/strings.danish.js +147 -147
- package/dist/collection/components/store/translationStore/strings.dutch.js +147 -147
- package/dist/collection/components/store/translationStore/strings.french.js +147 -147
- package/dist/collection/components/store/translationStore/strings.german.js +147 -147
- package/dist/collection/components/store/translationStore/strings.hebrew.js +147 -147
- package/dist/collection/components/store/translationStore/strings.indonesian.js +147 -147
- package/dist/collection/components/store/translationStore/strings.italian.js +147 -147
- package/dist/collection/components/store/translationStore/strings.japanese.js +147 -147
- package/dist/collection/components/store/translationStore/strings.korean.js +147 -147
- package/dist/collection/components/store/translationStore/strings.norwegian.js +147 -147
- package/dist/collection/components/store/translationStore/strings.polish.js +147 -147
- package/dist/collection/components/store/translationStore/strings.portuguese.js +147 -147
- package/dist/collection/components/store/translationStore/strings.russian.js +147 -147
- package/dist/collection/components/store/translationStore/strings.spanish.js +147 -147
- package/dist/collection/components/store/translationStore/strings.swedish.js +147 -147
- package/dist/collection/components/store/translationStore/strings.turkish.js +147 -147
- package/dist/collection/components/store/translationStore/strings.vietnamese.js +147 -147
- package/dist/collection/components/store/translationStore.js +65 -65
- package/dist/collection/components/store/zonosStore.js +98 -94
- package/dist/collection/components/stripe/zonos-address/zonos-address.css +4 -1
- package/dist/collection/components/stripe/zonos-address/zonos-address.js +142 -142
- package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.css +4 -1
- package/dist/collection/components/stripe/zonos-link-authentication/zonos-link-authentication.js +76 -76
- package/dist/collection/components/stripe/zonos-payment/zonos-payment.css +4 -1
- package/dist/collection/components/stripe/zonos-payment/zonos-payment.js +81 -81
- package/dist/collection/components/utils/addDays.js +5 -5
- package/dist/collection/components/utils/api/calculateLandedCost.js +11 -11
- package/dist/collection/components/utils/api/checkItemRestrictions.js +13 -13
- package/dist/collection/components/utils/api/getCountries.js +11 -11
- package/dist/collection/components/utils/api/getCountryLandedCost.js +11 -11
- package/dist/collection/components/utils/api/getExchangeRate.js +17 -17
- package/dist/collection/components/utils/api/getLocaleMessages.js +9 -9
- package/dist/collection/components/utils/api/getLocalization.js +24 -19
- package/dist/collection/components/utils/api/getShippingZones.js +9 -9
- package/dist/collection/components/utils/api/getZonosSetting.js +7 -7
- package/dist/collection/components/utils/api/prepCalculateLandedCost.js +26 -26
- package/dist/collection/components/utils/checkout/initCheckout.js +16 -16
- package/dist/collection/components/utils/checkout/isCheckoutMobile.js +1 -1
- package/dist/collection/components/utils/darkenColor.js +4 -4
- package/dist/collection/components/utils/formatCurrency.js +8 -8
- package/dist/collection/components/utils/formatDate.js +2 -2
- package/dist/collection/components/utils/getBorderRadius.js +5 -5
- package/dist/collection/components/utils/getButtonTheme.js +8 -8
- package/dist/collection/components/utils/getDaysDifference.js +4 -4
- package/dist/collection/components/utils/handleFetch.js +89 -77
- package/dist/collection/components/utils/hello/currencyConversion/currencyConvert.js +9 -9
- package/dist/collection/components/utils/hello/currencyConversion/currencyConvertAndFormat.js +3 -3
- package/dist/collection/components/utils/hello/currencyConversion/currencyDisplay.js +10 -10
- package/dist/collection/components/utils/hello/currencyConversion/currencyFormat.js +29 -29
- package/dist/collection/components/utils/hello/currencyConversion/defaultCurrencyConverter.js +35 -35
- package/dist/collection/components/utils/hello/currencyConversion/getCurrencyCode.js +6 -6
- package/dist/collection/components/utils/hello/currencyConversion/getCurrencyElements.js +13 -13
- package/dist/collection/components/utils/hello/currencyConversion/getInitialElementAmount.js +12 -12
- package/dist/collection/components/utils/hello/currencyConversion/getLanguageCode.js +6 -6
- package/dist/collection/components/utils/hello/detectItemRestrictions.js +23 -23
- package/dist/collection/components/utils/hello/getCurrentHelloLocalePage.js +17 -17
- package/dist/collection/components/utils/hello/getHasMoreSpaceAbove.js +5 -5
- package/dist/collection/components/utils/hello/getHasMoreSpaceOnRight.js +5 -5
- package/dist/collection/components/utils/hello/getProductsOnPage.js +42 -42
- package/dist/collection/components/utils/hello/getZCountryUrlParam.js +5 -0
- package/dist/collection/components/utils/hello/initHello.js +15 -15
- package/dist/collection/components/utils/hello/setZCountryUrlParam.js +9 -0
- package/dist/collection/components/utils/isColorVariable.js +10 -10
- package/dist/collection/components/utils/isDarkColor.js +1 -1
- package/dist/collection/components/utils/isValidSelector.js +8 -8
- package/dist/collection/components/utils/jsonParse.js +10 -10
- package/dist/collection/components/utils/lightenColor.js +4 -4
- package/dist/collection/components/utils/logging/log.js +22 -22
- package/dist/collection/components/utils/logging/logError.js +2 -2
- package/dist/collection/components/utils/mergeConfig.js +3 -3
- package/dist/collection/components/utils/submitGtag.js +9 -9
- package/dist/collection/environment.js +138 -116
- package/dist/collection/scripts/extractZonosQaUrl.js +26 -0
- package/dist/collection/scripts/loadStripe.js +7 -7
- package/dist/collection/scripts/stripe.js +80 -80
- package/dist/collection/scripts/zonos.js +279 -254
- package/dist/collection/styles/stripe/addressRuleStyle.js +14 -14
- package/dist/collection/styles/stripe/defaultVariable.js +14 -14
- package/dist/collection/types/generated/graphql.customer.types.js +1424 -1424
- package/dist/collection/types/generated/graphql.frontend.types.js +376 -376
- package/dist/collection/types/stripe/Apperance.js +56 -56
- package/dist/collection/types/styles/Color.js +18 -18
- package/dist/collection/types/styles/Text.js +97 -97
- package/dist/collection/utils/format.js +1 -1
- package/dist/collection/utils/generateVercelDeployUrl.js +17 -17
- package/dist/components/cart.js +497 -497
- package/dist/components/formatCurrency.js +8 -8
- package/dist/components/getBorderRadius.js +5 -5
- package/dist/components/isColorVariable.js +10 -10
- package/dist/components/isDarkColor.js +1 -1
- package/dist/components/localization.js +3448 -3426
- package/dist/components/submitGtag.js +9 -9
- package/dist/components/zonos-address.d.ts +2 -2
- package/dist/components/zonos-address2.js +90 -90
- package/dist/components/zonos-badge.d.ts +2 -2
- package/dist/components/zonos-badge2.js +52 -43
- package/dist/components/zonos-banner.d.ts +2 -2
- package/dist/components/zonos-banner2.js +88 -76
- package/dist/components/zonos-button.d.ts +2 -2
- package/dist/components/zonos-button2.js +120 -119
- package/dist/components/zonos-card.d.ts +2 -2
- package/dist/components/zonos-card2.js +48 -39
- package/dist/components/zonos-cart-items.d.ts +2 -2
- package/dist/components/zonos-cart-items2.js +43 -43
- package/dist/components/zonos-cart-subtotal.d.ts +2 -2
- package/dist/components/zonos-cart-subtotal2.js +65 -65
- package/dist/components/zonos-checkout-finish.d.ts +2 -2
- package/dist/components/zonos-checkout-finish2.js +101 -101
- package/dist/components/zonos-checkout-payment.d.ts +2 -2
- package/dist/components/zonos-checkout-payment2.js +82 -82
- package/dist/components/zonos-checkout.d.ts +2 -2
- package/dist/components/zonos-checkout.js +498 -498
- package/dist/components/zonos-collapse.d.ts +2 -2
- package/dist/components/zonos-collapse2.js +48 -46
- package/dist/components/zonos-component.d.ts +2 -2
- package/dist/components/zonos-component.js +32 -32
- package/dist/components/zonos-controller.d.ts +2 -2
- package/dist/components/zonos-controller.js +259 -219
- package/dist/components/zonos-country-flag.d.ts +2 -2
- package/dist/components/zonos-country-flag2.js +41 -36
- package/dist/components/zonos-country-select.d.ts +2 -2
- package/dist/components/zonos-country-select2.js +82 -79
- package/dist/components/zonos-custom-message.d.ts +2 -2
- package/dist/components/zonos-custom-message2.js +44 -41
- package/dist/components/zonos-customer-info.d.ts +2 -2
- package/dist/components/zonos-customer-info2.js +82 -82
- package/dist/components/zonos-dialog.d.ts +2 -2
- package/dist/components/zonos-dialog2.js +105 -103
- package/dist/components/zonos-hello-dialog-footer.d.ts +2 -2
- package/dist/components/zonos-hello-dialog-footer2.js +46 -46
- package/dist/components/zonos-hello-dialog.d.ts +2 -2
- package/dist/components/zonos-hello-dialog2.js +182 -182
- package/dist/components/zonos-hello.d.ts +2 -2
- package/dist/components/zonos-hello.js +437 -437
- package/dist/components/zonos-icon.d.ts +2 -2
- package/dist/components/zonos-icon2.js +40 -38
- package/dist/components/zonos-link-authentication.d.ts +2 -2
- package/dist/components/zonos-link-authentication2.js +60 -60
- package/dist/components/zonos-logo.d.ts +2 -2
- package/dist/components/zonos-logo2.js +37 -35
- package/dist/components/zonos-notification.d.ts +2 -2
- package/dist/components/zonos-notification2.js +82 -79
- package/dist/components/zonos-payment.d.ts +2 -2
- package/dist/components/zonos-payment2.js +64 -64
- package/dist/components/zonos-review.d.ts +2 -2
- package/dist/components/zonos-review2.js +72 -72
- package/dist/components/zonos-shipping-rich-radio.d.ts +2 -2
- package/dist/components/zonos-shipping-rich-radio2.js +62 -62
- package/dist/components/zonos-shipping.d.ts +2 -2
- package/dist/components/zonos-shipping2.js +114 -114
- package/dist/components/zonos-spinner.d.ts +2 -2
- package/dist/components/zonos-spinner2.js +31 -31
- package/dist/components/zonos-text.d.ts +2 -2
- package/dist/components/zonos-text2.js +166 -164
- package/dist/components/zonos-v-stack.d.ts +2 -2
- package/dist/components/zonos-v-stack2.js +29 -26
- package/dist/components/zonosStore.js +101 -97
- package/dist/esm/cart-cd87f476.js +598 -0
- package/dist/esm/getBorderRadius-35e8acce.js +16 -0
- package/dist/esm/getHasMoreSpaceOnRight-70eb913a.js +8 -0
- package/dist/esm/{index-d1aa9293.js → index-3617e24c.js} +127 -26
- package/dist/esm/index.js +6 -6
- package/dist/esm/isColorVariable-91c33804.js +14 -0
- package/dist/esm/{isDarkColor-6fbb9b14.js → isDarkColor-44e9e451.js} +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/localization-f573428e.js +3614 -0
- package/dist/esm/submitGtag-75af52be.js +24 -0
- package/dist/esm/zonos-address_2.entry.js +108 -108
- package/dist/esm/zonos-badge.entry.js +25 -22
- package/dist/esm/zonos-banner.entry.js +65 -53
- package/dist/esm/zonos-button_2.entry.js +100 -99
- package/dist/esm/zonos-card_2.entry.js +32 -27
- package/dist/esm/zonos-cart-items_10.entry.js +422 -419
- package/dist/esm/zonos-checkout.entry.js +356 -356
- package/dist/esm/zonos-component.entry.js +15 -15
- package/dist/esm/zonos-controller.entry.js +231 -193
- package/dist/esm/zonos-country-flag_4.entry.js +85 -77
- package/dist/esm/zonos-elements.js +4 -4
- package/dist/esm/zonos-hello-dialog.entry.js +101 -101
- package/dist/esm/zonos-hello.entry.js +349 -349
- package/dist/esm/zonos-icon.entry.js +22 -20
- package/dist/esm/zonos-notification.entry.js +60 -57
- package/dist/esm/zonos-payment.entry.js +45 -45
- package/dist/esm/zonos-shipping-rich-radio.entry.js +40 -40
- package/dist/esm/zonos-text.entry.js +145 -143
- package/dist/esm/{zonosStore-05a62104.js → zonosStore-e0b7a5cf.js} +102 -98
- package/dist/esm-es5/{cart-17650017.js → cart-cd87f476.js} +1 -1
- package/dist/esm-es5/getBorderRadius-35e8acce.js +1 -0
- package/dist/esm-es5/getHasMoreSpaceOnRight-70eb913a.js +1 -0
- package/dist/esm-es5/index-3617e24c.js +2 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{isDarkColor-6fbb9b14.js → isDarkColor-44e9e451.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/localization-f573428e.js +1 -0
- package/dist/esm-es5/{submitGtag-a901ece5.js → submitGtag-75af52be.js} +1 -1
- package/dist/esm-es5/zonos-address_2.entry.js +1 -1
- package/dist/esm-es5/zonos-badge.entry.js +1 -1
- package/dist/esm-es5/zonos-banner.entry.js +1 -1
- package/dist/esm-es5/zonos-button_2.entry.js +1 -1
- package/dist/esm-es5/zonos-card_2.entry.js +1 -1
- package/dist/esm-es5/zonos-cart-items_10.entry.js +1 -1
- package/dist/esm-es5/zonos-checkout.entry.js +1 -1
- package/dist/esm-es5/zonos-component.entry.js +1 -1
- package/dist/esm-es5/zonos-controller.entry.js +1 -1
- package/dist/esm-es5/zonos-country-flag_4.entry.js +1 -1
- package/dist/esm-es5/zonos-elements.js +1 -1
- package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
- package/dist/esm-es5/zonos-hello.entry.js +1 -1
- package/dist/esm-es5/zonos-icon.entry.js +1 -1
- package/dist/esm-es5/zonos-notification.entry.js +1 -1
- package/dist/esm-es5/zonos-payment.entry.js +1 -1
- package/dist/esm-es5/zonos-shipping-rich-radio.entry.js +1 -1
- package/dist/esm-es5/zonos-text.entry.js +1 -1
- package/dist/esm-es5/zonosStore-e0b7a5cf.js +1 -0
- package/dist/scripts/extractZonosQaUrl.js +30 -0
- package/dist/scripts/loadZonos.js +99 -48
- package/dist/scripts/zonos.js +99 -48
- package/dist/types/__tests__/build-utils/urlCheckOne.d.ts +6 -0
- package/dist/types/components/checkout/zonos-checkout/zonos-cart-items/zonos-cart-items.d.ts +2 -2
- package/dist/types/components/checkout/zonos-checkout/zonos-cart-subtotal/zonos-cart-subtotal.d.ts +1 -1
- package/dist/types/components/checkout/zonos-checkout/zonos-checkout-finish/zonos-checkout-finish.d.ts +28 -28
- package/dist/types/components/checkout/zonos-checkout/zonos-checkout-payment/zonos-checkout-payment.d.ts +31 -31
- package/dist/types/components/checkout/zonos-checkout/zonos-checkout.d.ts +77 -77
- package/dist/types/components/checkout/zonos-checkout/zonos-customer-info/zonos-customer-info.d.ts +31 -31
- package/dist/types/components/checkout/zonos-checkout/zonos-review/zonos-review.d.ts +14 -14
- package/dist/types/components/checkout/zonos-checkout/zonos-shipping/zonos-shipping.d.ts +29 -29
- package/dist/types/components/common/zonos-badge/zonos-badge.d.ts +35 -35
- package/dist/types/components/common/zonos-banner/zonos-banner.d.ts +21 -21
- package/dist/types/components/common/zonos-button/zonos-button.d.ts +92 -92
- package/dist/types/components/common/zonos-card/zonos-card.d.ts +29 -29
- package/dist/types/components/common/zonos-collapse/zonos-collapse.d.ts +14 -14
- package/dist/types/components/common/zonos-country-flag/zonos-country-flag.d.ts +16 -16
- package/dist/types/components/common/zonos-country-select/zonos-country-select.d.ts +9 -9
- package/dist/types/components/common/zonos-custom-message/zonos-custom-message.d.ts +9 -9
- package/dist/types/components/common/zonos-dialog/zonos-dialog.d.ts +75 -75
- package/dist/types/components/common/zonos-icon/zonos-icon.d.ts +27 -27
- package/dist/types/components/common/zonos-logo/zonos-logo.d.ts +13 -13
- package/dist/types/components/common/zonos-notification/zonos-notification.d.ts +28 -28
- package/dist/types/components/common/zonos-shipping-rich-radio/zonos-shipping-rich-radio.d.ts +35 -35
- package/dist/types/components/common/zonos-spinner/zonos-spinner.d.ts +11 -11
- package/dist/types/components/common/zonos-text/zonos-text.d.ts +30 -30
- package/dist/types/components/common/zonos-v-stack/zonos-v-stack.d.ts +10 -10
- package/dist/types/components/component-template/zonos-component/zonos-component.d.ts +14 -14
- package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +68 -68
- package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog-footer/zonos-hello-dialog-footer.d.ts +10 -10
- package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +41 -41
- package/dist/types/components/main/zonos-controller.d.ts +47 -38
- package/dist/types/components/store/checkout/cart.d.ts +64 -64
- package/dist/types/components/store/checkout/stripe.d.ts +43 -43
- package/dist/types/components/store/hello/localization.d.ts +15 -15
- package/dist/types/components/store/translationStore/strings.arabic.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.base.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.chinese.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.danish.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.dutch.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.french.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.german.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.hebrew.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.indonesian.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.italian.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.japanese.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.korean.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.norwegian.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.polish.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.portuguese.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.russian.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.spanish.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.swedish.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.turkish.d.ts +147 -147
- package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +147 -147
- package/dist/types/components/store/translationStore.d.ts +2 -2
- package/dist/types/components/store/zonosStore.d.ts +23 -22
- package/dist/types/components/stripe/zonos-address/zonos-address.d.ts +17 -17
- package/dist/types/components/stripe/zonos-link-authentication/zonos-link-authentication.d.ts +9 -9
- package/dist/types/components/stripe/zonos-payment/zonos-payment.d.ts +10 -10
- package/dist/types/components/utils/addDays.d.ts +6 -6
- package/dist/types/components/utils/api/checkItemRestrictions.d.ts +14 -14
- package/dist/types/components/utils/api/getCountryLandedCost.d.ts +6 -6
- package/dist/types/components/utils/api/getExchangeRate.d.ts +17 -17
- package/dist/types/components/utils/api/getLocaleMessages.d.ts +15 -15
- package/dist/types/components/utils/api/getLocalization.d.ts +2 -2
- package/dist/types/components/utils/api/getZonosSetting.d.ts +4 -4
- package/dist/types/components/utils/changeDeepProperty.d.ts +3 -3
- package/dist/types/components/utils/changeDeepPropertyAtIndex.d.ts +4 -4
- package/dist/types/components/utils/darkenColor.d.ts +2 -2
- package/dist/types/components/utils/formatCurrency.d.ts +3 -3
- package/dist/types/components/utils/formatDate.d.ts +6 -6
- package/dist/types/components/utils/handleFetch.d.ts +7 -7
- package/dist/types/components/utils/hello/detectItemRestrictions.d.ts +10 -10
- package/dist/types/components/utils/hello/getZCountryUrlParam.d.ts +2 -0
- package/dist/types/components/utils/hello/setZCountryUrlParam.d.ts +2 -0
- package/dist/types/components/utils/lightenColor.d.ts +2 -2
- package/dist/types/components/utils/mergeConfig.d.ts +1 -1
- package/dist/types/components/utils/submitGtag.d.ts +3 -3
- package/dist/types/components.d.ts +96 -0
- package/dist/types/environment.d.ts +39 -34
- package/dist/types/scripts/extractZonosQaUrl.d.ts +11 -0
- package/dist/types/scripts/stripe.d.ts +2 -2
- package/dist/types/scripts/zonos.d.ts +50 -40
- package/dist/types/stencil-public-runtime.d.ts +29 -0
- package/dist/types/styles/stripe/addressRuleStyle.d.ts +1 -1
- package/dist/types/styles/stripe/defaultVariable.d.ts +2 -2
- package/dist/types/types/ICountryJson.d.ts +20 -20
- package/dist/types/types/JsonError.d.ts +3 -3
- package/dist/types/types/Translation.d.ts +1 -1
- package/dist/types/types/checkout/CheckoutConfig.d.ts +52 -52
- package/dist/types/types/checkout/api/CalculateLandedCostRequest.d.ts +16 -16
- package/dist/types/types/generated/graphql.customer.types.d.ts +1968 -1968
- package/dist/types/types/generated/graphql.frontend.types.d.ts +449 -449
- package/dist/types/types/hello/HelloConfig.d.ts +20 -20
- package/dist/types/types/hello/Product.d.ts +3 -3
- package/dist/types/types/hello/RestrictedItem.d.ts +1 -1
- package/dist/types/types/online-store/OnlineStoreConfig.d.ts +1 -1
- package/dist/types/types/stripe/Apperance.d.ts +3 -3
- package/dist/types/types/styles/Text.d.ts +90 -90
- package/dist/types/types/utils/deep/IDeepKeyof.d.ts +1 -1
- package/dist/types/types/utils/deep/IDeepKeyofAtIndex.d.ts +2 -2
- package/dist/types/utils/generateVercelDeployUrl.d.ts +2 -2
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/p-0175125e.system.js +1 -0
- package/dist/zonos-elements/p-03923a86.system.entry.js +1 -0
- package/dist/zonos-elements/p-08298e74.entry.js +1 -0
- package/dist/zonos-elements/p-1bddc7ca.system.entry.js +1 -0
- package/dist/zonos-elements/{p-770c959e.js → p-1f8b684a.js} +1 -1
- package/dist/zonos-elements/p-2228b050.entry.js +1 -0
- package/dist/zonos-elements/p-23e7c655.system.js +1 -1
- package/dist/zonos-elements/p-2466df77.entry.js +1 -0
- package/dist/zonos-elements/p-29b993c2.system.entry.js +1 -0
- package/dist/zonos-elements/p-2a32dc0a.system.entry.js +1 -0
- package/dist/zonos-elements/p-2a666084.entry.js +1 -0
- package/dist/zonos-elements/p-2f1e9192.system.entry.js +1 -0
- package/dist/zonos-elements/{p-f7875c40.js → p-39a5e8e0.js} +1 -1
- package/dist/zonos-elements/p-44ddebe4.system.entry.js +1 -0
- package/dist/zonos-elements/p-4e8b5d86.system.entry.js +1 -0
- package/dist/zonos-elements/p-534dcbd4.system.js +1 -0
- package/dist/zonos-elements/p-5a41b5fd.entry.js +1 -0
- package/dist/zonos-elements/p-5d0eceaa.entry.js +1 -0
- package/dist/zonos-elements/{p-a1fa50fb.entry.js → p-62ccb686.entry.js} +1 -1
- package/dist/zonos-elements/p-643eeb24.system.js +1 -0
- package/dist/zonos-elements/p-660a588b.entry.js +1 -0
- package/dist/zonos-elements/p-6affe5cc.entry.js +1 -0
- package/dist/zonos-elements/p-72ea628d.system.js +1 -0
- package/dist/zonos-elements/{p-85ab35c9.system.js → p-754bdfdb.system.js} +1 -1
- package/dist/zonos-elements/{p-164fae93.system.js → p-779621e4.system.js} +1 -1
- package/dist/zonos-elements/{p-08695f4e.js → p-77a7929b.js} +1 -1
- package/dist/zonos-elements/p-7a15d841.entry.js +1 -0
- package/dist/zonos-elements/p-7a81ccb5.system.entry.js +1 -0
- package/dist/zonos-elements/p-80ba24a8.system.js +1 -0
- package/dist/zonos-elements/p-83d100b8.entry.js +1 -0
- package/dist/zonos-elements/{p-bf070bf6.js → p-8bbad467.js} +1 -1
- package/dist/zonos-elements/p-8ebc3ca5.system.entry.js +1 -0
- package/dist/zonos-elements/p-9c78d0ca.entry.js +1 -0
- package/dist/zonos-elements/p-9ef86de7.entry.js +1 -0
- package/dist/zonos-elements/p-ab46cee9.system.entry.js +1 -0
- package/dist/zonos-elements/p-b0268bc5.entry.js +1 -0
- package/dist/zonos-elements/p-b4db1620.entry.js +1 -0
- package/dist/zonos-elements/p-bc7bf53e.system.js +1 -0
- package/dist/zonos-elements/p-bec05c21.system.js +2 -0
- package/dist/zonos-elements/p-bec21999.system.js +1 -0
- package/dist/zonos-elements/{p-8378d94e.js → p-c299049e.js} +1 -1
- package/dist/zonos-elements/p-cd4f8e13.system.entry.js +1 -0
- package/dist/zonos-elements/p-ceb2cd7b.system.entry.js +1 -0
- package/dist/zonos-elements/p-cf4545ed.system.entry.js +1 -0
- package/dist/zonos-elements/p-cf8aaa17.js +2 -0
- package/dist/zonos-elements/p-dc9b318c.system.entry.js +1 -0
- package/dist/zonos-elements/p-dcf64928.system.entry.js +1 -0
- package/dist/zonos-elements/p-e1de2a1f.js +1 -0
- package/dist/zonos-elements/{p-3f3fbcea.entry.js → p-e694312d.entry.js} +1 -1
- package/dist/zonos-elements/p-ec26fe57.entry.js +1 -0
- package/dist/zonos-elements/p-edbea8df.system.js +1 -0
- package/dist/zonos-elements/p-f8198015.system.entry.js +1 -0
- package/dist/zonos-elements/p-fcd4fc66.system.entry.js +1 -0
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/dist/zonos-elements/zonos-elements.js +15 -15
- package/package.json +55 -54
- package/dist/cjs/cart-55512e32.js +0 -616
- package/dist/cjs/getBorderRadius-fdd605c6.js +0 -18
- package/dist/cjs/getHasMoreSpaceOnRight-2855491b.js +0 -10
- package/dist/cjs/isColorVariable-c1ed7303.js +0 -16
- package/dist/cjs/localization-d7fe7290.js +0 -3606
- package/dist/cjs/submitGtag-d65003f9.js +0 -27
- package/dist/collection/components/utils/hello/setZonosCountryUrlParam.js +0 -9
- package/dist/esm/cart-17650017.js +0 -598
- package/dist/esm/getBorderRadius-45764ad7.js +0 -16
- package/dist/esm/getHasMoreSpaceOnRight-feba1ae2.js +0 -8
- package/dist/esm/isColorVariable-4cda28c9.js +0 -14
- package/dist/esm/localization-f3828793.js +0 -3592
- package/dist/esm/submitGtag-a901ece5.js +0 -24
- package/dist/esm-es5/getBorderRadius-45764ad7.js +0 -1
- package/dist/esm-es5/getHasMoreSpaceOnRight-feba1ae2.js +0 -1
- package/dist/esm-es5/index-d1aa9293.js +0 -2
- package/dist/esm-es5/zonosStore-05a62104.js +0 -1
- package/dist/types/components/utils/hello/setZonosCountryUrlParam.d.ts +0 -2
- package/dist/zonos-elements/p-0190f7c4.entry.js +0 -1
- package/dist/zonos-elements/p-0e0b46a5.js +0 -1
- package/dist/zonos-elements/p-0ed3bb9f.system.entry.js +0 -1
- package/dist/zonos-elements/p-15b71f0b.system.entry.js +0 -1
- package/dist/zonos-elements/p-224125da.system.entry.js +0 -1
- package/dist/zonos-elements/p-23204b78.system.entry.js +0 -1
- package/dist/zonos-elements/p-28681677.entry.js +0 -1
- package/dist/zonos-elements/p-2b6325ab.entry.js +0 -1
- package/dist/zonos-elements/p-36425562.system.entry.js +0 -1
- package/dist/zonos-elements/p-3a56c240.entry.js +0 -1
- package/dist/zonos-elements/p-43a25dab.entry.js +0 -1
- package/dist/zonos-elements/p-4a5096d2.system.js +0 -1
- package/dist/zonos-elements/p-64fdb7b6.system.js +0 -1
- package/dist/zonos-elements/p-68d06767.system.js +0 -2
- package/dist/zonos-elements/p-6d82986c.system.entry.js +0 -1
- package/dist/zonos-elements/p-6dcd752e.system.js +0 -1
- package/dist/zonos-elements/p-6e7cd3f7.entry.js +0 -1
- package/dist/zonos-elements/p-7bacecf7.entry.js +0 -1
- package/dist/zonos-elements/p-824395fd.system.entry.js +0 -1
- package/dist/zonos-elements/p-84b00605.system.entry.js +0 -1
- package/dist/zonos-elements/p-8a75b765.system.entry.js +0 -1
- package/dist/zonos-elements/p-8aabbb9b.system.js +0 -1
- package/dist/zonos-elements/p-8b415737.system.entry.js +0 -1
- package/dist/zonos-elements/p-8c867835.system.js +0 -1
- package/dist/zonos-elements/p-9202375f.entry.js +0 -1
- package/dist/zonos-elements/p-9688bb12.entry.js +0 -1
- package/dist/zonos-elements/p-98a6e093.system.entry.js +0 -1
- package/dist/zonos-elements/p-aca66238.system.entry.js +0 -1
- package/dist/zonos-elements/p-b618cf03.entry.js +0 -1
- package/dist/zonos-elements/p-b75ffe64.system.entry.js +0 -1
- package/dist/zonos-elements/p-bc2c42f5.entry.js +0 -1
- package/dist/zonos-elements/p-c8ad044e.system.entry.js +0 -1
- package/dist/zonos-elements/p-cc070c1c.entry.js +0 -1
- package/dist/zonos-elements/p-cc1c785c.system.entry.js +0 -1
- package/dist/zonos-elements/p-cd71e41e.entry.js +0 -1
- package/dist/zonos-elements/p-cf97cc68.system.entry.js +0 -1
- package/dist/zonos-elements/p-d6b8563b.system.entry.js +0 -1
- package/dist/zonos-elements/p-dc8d7000.js +0 -2
- package/dist/zonos-elements/p-e5908de2.entry.js +0 -1
- package/dist/zonos-elements/p-f6add79c.system.js +0 -1
- package/dist/zonos-elements/p-f8491335.system.js +0 -1
- package/dist/zonos-elements/p-f868ed42.entry.js +0 -1
- package/dist/zonos-elements/p-f95ac9ec.system.js +0 -1
- /package/dist/esm-es5/{isColorVariable-4cda28c9.js → isColorVariable-91c33804.js} +0 -0
- /package/dist/zonos-elements/{p-0636859b.js → p-4c414a92.js} +0 -0
- /package/dist/zonos-elements/{p-b6c499d4.js → p-5883217a.js} +0 -0
|
@@ -11,310 +11,310 @@ import { logError } from "../../utils/logging/logError";
|
|
|
11
11
|
import { addressRuleStyle } from "../../../styles/stripe/addressRuleStyle";
|
|
12
12
|
import { defaultVariable } from "../../../styles/stripe/defaultVariable";
|
|
13
13
|
const { onChange, reset, state: stripeStore, } = createStore(() => ({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
clientSecret: sessionStorage.getItem('zonos--client-secret') || null,
|
|
15
|
+
fetchingLandedCostAbordController: null,
|
|
16
|
+
isFetchingLandedCost: false,
|
|
17
|
+
isFetchingSession: false,
|
|
18
|
+
stripe: null,
|
|
19
|
+
stripeAddressElement: null,
|
|
20
|
+
stripeAddressEventData: null,
|
|
21
|
+
stripeAddressUsedWhenFetchingLC: null,
|
|
22
|
+
stripeElements: null,
|
|
23
|
+
stripeElementsOptions: null,
|
|
24
|
+
stripeLinkElement: null,
|
|
25
|
+
stripeLinkEventData: null,
|
|
26
|
+
stripeLinkUsedWhenFetchingLC: null,
|
|
27
|
+
stripePaymentElement: null,
|
|
28
|
+
stripePaymentEventData: null,
|
|
29
29
|
}));
|
|
30
30
|
const getStripeOptions = ({ clientSecret, overrideBorderRaidus, overridePrimaryColor, overrideTheme, }) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
31
|
+
const primaryColor = overridePrimaryColor || zonosStore.appearance.colorPrimary;
|
|
32
|
+
const themeBasedColor = primaryColor && isDarkColor(primaryColor) ? 'night' : 'flat';
|
|
33
|
+
// if overrideTheme is provided, use it. Otherwise, use theme based on primary color
|
|
34
|
+
const theme = overrideTheme === 'DARK' ? 'night' : 'flat';
|
|
35
|
+
return {
|
|
36
|
+
appearance: {
|
|
37
|
+
labels: 'floating',
|
|
38
|
+
rules: Object.assign({}, addressRuleStyle({ theme: 'LIGHT' })),
|
|
39
|
+
// get contrast theme color base on primary color
|
|
40
|
+
theme: overrideTheme ? theme : themeBasedColor,
|
|
41
|
+
variables: Object.assign({}, defaultVariable({
|
|
42
|
+
borderStyle: overrideBorderRaidus,
|
|
43
|
+
theme: 'LIGHT',
|
|
44
|
+
})),
|
|
45
|
+
},
|
|
46
|
+
clientSecret,
|
|
47
|
+
locale: localizationStore.selectedLocale,
|
|
48
|
+
};
|
|
49
49
|
};
|
|
50
50
|
const initStripeElements = async (props) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
if (clientSecret) {
|
|
58
|
-
const stripeOptions = getStripeOptions({
|
|
59
|
-
clientSecret,
|
|
60
|
-
overrideBorderRaidus: props === null || props === void 0 ? void 0 : props.overrideBorderRaidus,
|
|
61
|
-
overridePrimaryColor: props === null || props === void 0 ? void 0 : props.overridePrimaryColor,
|
|
62
|
-
overrideTheme: props === null || props === void 0 ? void 0 : props.overrideTheme,
|
|
63
|
-
});
|
|
64
|
-
// compare with the previous options to see if we need to update
|
|
65
|
-
const isSameOptions = JSON.stringify(stripeOptions) ===
|
|
66
|
-
JSON.stringify(stripeStore.stripeElementsOptions);
|
|
67
|
-
if (!stripeStore.stripeElements) {
|
|
68
|
-
// init stripe elements if it doesn't exist
|
|
69
|
-
stripeStore.stripeElements = (_a = stripeStore.stripe) === null || _a === void 0 ? void 0 : _a.elements(stripeOptions);
|
|
70
|
-
// save stripe elements options for later comparison
|
|
71
|
-
stripeStore.stripeElementsOptions = stripeOptions;
|
|
72
|
-
log('Stripe elements initialized');
|
|
73
|
-
return;
|
|
51
|
+
var _a;
|
|
52
|
+
const clientSecret = stripeStore.clientSecret;
|
|
53
|
+
if (!stripeStore.stripe) {
|
|
54
|
+
log('Skip. Stripe is not initialized');
|
|
55
|
+
return;
|
|
74
56
|
}
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
57
|
+
if (clientSecret) {
|
|
58
|
+
const stripeOptions = getStripeOptions({
|
|
59
|
+
clientSecret,
|
|
60
|
+
overrideBorderRaidus: props === null || props === void 0 ? void 0 : props.overrideBorderRaidus,
|
|
61
|
+
overridePrimaryColor: props === null || props === void 0 ? void 0 : props.overridePrimaryColor,
|
|
62
|
+
overrideTheme: props === null || props === void 0 ? void 0 : props.overrideTheme,
|
|
63
|
+
});
|
|
64
|
+
// compare with the previous options to see if we need to update
|
|
65
|
+
const isSameOptions = JSON.stringify(stripeOptions) ===
|
|
66
|
+
JSON.stringify(stripeStore.stripeElementsOptions);
|
|
67
|
+
if (!stripeStore.stripeElements) {
|
|
68
|
+
// init stripe elements if it doesn't exist
|
|
69
|
+
stripeStore.stripeElements = (_a = stripeStore.stripe) === null || _a === void 0 ? void 0 : _a.elements(stripeOptions);
|
|
70
|
+
// save stripe elements options for later comparison
|
|
71
|
+
stripeStore.stripeElementsOptions = stripeOptions;
|
|
72
|
+
log('Stripe elements initialized');
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (!isSameOptions) {
|
|
76
|
+
// update elements with new option if it already exists
|
|
77
|
+
stripeStore.stripeElements.update(stripeOptions);
|
|
78
|
+
// save stripe elements options for later comparison
|
|
79
|
+
stripeStore.stripeElementsOptions = stripeOptions;
|
|
80
|
+
}
|
|
81
|
+
log('Stripe elements initialized');
|
|
80
82
|
}
|
|
81
|
-
log('Stripe elements initialized');
|
|
82
|
-
}
|
|
83
83
|
};
|
|
84
84
|
const stripeStoreReset = () => {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
85
|
+
// clean clientSecret so that we can start the new one.
|
|
86
|
+
sessionStorage.removeItem('zonos--client-secret');
|
|
87
|
+
// cleanup stripe elements
|
|
88
|
+
reset();
|
|
89
|
+
// set stripe back to window.Zonos.stripe
|
|
90
|
+
stripeStore.stripe = window.Zonos.stripe;
|
|
91
91
|
};
|
|
92
92
|
/**
|
|
93
93
|
* Check if the address and email info used when fetching landed cost with the current email and address info are different
|
|
94
94
|
* Purpose is to resend the request if the info used when fetching landed cost is different from the current info
|
|
95
95
|
*/
|
|
96
96
|
const isPrefetchInfoOutdated = () => {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
97
|
+
var _a, _b, _c, _d;
|
|
98
|
+
const hasAbortController = stripeStore.fetchingLandedCostAbordController;
|
|
99
|
+
if (!hasAbortController) {
|
|
100
|
+
// if there is no abort controller, this is a new request
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
const isLinkDataDirty = JSON.stringify((_a = stripeStore.stripeLinkUsedWhenFetchingLC) === null || _a === void 0 ? void 0 : _a.value) !==
|
|
104
|
+
JSON.stringify((_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.value);
|
|
105
|
+
const isAddressDataDirty = JSON.stringify((_c = stripeStore.stripeAddressUsedWhenFetchingLC) === null || _c === void 0 ? void 0 : _c.value) !==
|
|
106
|
+
JSON.stringify((_d = stripeStore.stripeAddressEventData) === null || _d === void 0 ? void 0 : _d.value);
|
|
107
|
+
return isLinkDataDirty || isAddressDataDirty;
|
|
108
108
|
};
|
|
109
109
|
const stripeStorePrefetchLandedCost = async () => {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
// only fetch if we are not fetching or we need to refetch
|
|
120
|
-
if (stripeAddressReady &&
|
|
121
|
-
stripeLinkReady &&
|
|
122
|
-
(shouldRefetch || !stripeStore.isFetchingLandedCost)) {
|
|
123
|
-
stripeStore.isFetchingLandedCost = true;
|
|
124
|
-
if (stripeStore.stripeAddressEventData) {
|
|
125
|
-
stripeStore.stripeAddressUsedWhenFetchingLC = Object.assign({}, stripeStore.stripeAddressEventData);
|
|
126
|
-
}
|
|
127
|
-
if (stripeStore.stripeLinkEventData) {
|
|
128
|
-
stripeStore.stripeLinkUsedWhenFetchingLC = Object.assign({}, stripeStore.stripeLinkEventData);
|
|
129
|
-
}
|
|
130
|
-
try {
|
|
131
|
-
const abortController = new AbortController();
|
|
132
|
-
stripeStore.fetchingLandedCostAbordController = abortController;
|
|
133
|
-
const { checkoutSessionWorkflow, shipmentRatingCalculateWorkflow } = await calculateLandedCost(abortController);
|
|
134
|
-
// reset abort controller after we are done
|
|
135
|
-
stripeStore.fetchingLandedCostAbordController = null;
|
|
136
|
-
// update cart store with landed cost info
|
|
137
|
-
cartStore.landedCostData =
|
|
138
|
-
(checkoutSessionWorkflow === null || checkoutSessionWorkflow === void 0 ? void 0 : checkoutSessionWorkflow.filter(Boolean)) || null;
|
|
139
|
-
cartStore.shippingData =
|
|
140
|
-
(shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || null;
|
|
141
|
-
// apply new subtotal and total, this is mainly to show items in the presentment currency
|
|
142
|
-
const firstLandedCostData = (_d = cartStore.landedCostData) === null || _d === void 0 ? void 0 : _d.find(Boolean);
|
|
143
|
-
const subtotals = !!firstLandedCostData
|
|
144
|
-
? firstLandedCostData.subtotals
|
|
145
|
-
: null;
|
|
146
|
-
if (subtotals) {
|
|
147
|
-
// prefetch landed cost will not update shipping and taxes since we haven't selected shipping method yet
|
|
148
|
-
cartStoreApplySubtotals({
|
|
149
|
-
exchangeRate: subtotals.exchangeRate,
|
|
150
|
-
items: subtotals.items,
|
|
151
|
-
landedCostTotal: 0,
|
|
152
|
-
presentmentCurrencyCode: subtotals.presentmentCurrencyCode,
|
|
153
|
-
shipping: 0,
|
|
154
|
-
total: subtotals.items,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
110
|
+
var _a, _b, _c, _d;
|
|
111
|
+
const stripeAddressReady = !!((_a = stripeStore.stripeAddressEventData) === null || _a === void 0 ? void 0 : _a.complete);
|
|
112
|
+
const stripeLinkReady = !!((_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.complete);
|
|
113
|
+
const shouldRefetch = isPrefetchInfoOutdated();
|
|
114
|
+
if (shouldRefetch) {
|
|
115
|
+
// if the info used when fetching landed cost is different from the current info, abort the previous request
|
|
116
|
+
(_c = stripeStore.fetchingLandedCostAbordController) === null || _c === void 0 ? void 0 : _c.abort();
|
|
117
|
+
stripeStore.fetchingLandedCostAbordController = null;
|
|
157
118
|
}
|
|
158
|
-
|
|
159
|
-
|
|
119
|
+
// only fetch if we are not fetching or we need to refetch
|
|
120
|
+
if (stripeAddressReady &&
|
|
121
|
+
stripeLinkReady &&
|
|
122
|
+
(shouldRefetch || !stripeStore.isFetchingLandedCost)) {
|
|
123
|
+
stripeStore.isFetchingLandedCost = true;
|
|
124
|
+
if (stripeStore.stripeAddressEventData) {
|
|
125
|
+
stripeStore.stripeAddressUsedWhenFetchingLC = Object.assign({}, stripeStore.stripeAddressEventData);
|
|
126
|
+
}
|
|
127
|
+
if (stripeStore.stripeLinkEventData) {
|
|
128
|
+
stripeStore.stripeLinkUsedWhenFetchingLC = Object.assign({}, stripeStore.stripeLinkEventData);
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
const abortController = new AbortController();
|
|
132
|
+
stripeStore.fetchingLandedCostAbordController = abortController;
|
|
133
|
+
const { checkoutSessionWorkflow, shipmentRatingCalculateWorkflow } = await calculateLandedCost(abortController);
|
|
134
|
+
// reset abort controller after we are done
|
|
135
|
+
stripeStore.fetchingLandedCostAbordController = null;
|
|
136
|
+
// update cart store with landed cost info
|
|
137
|
+
cartStore.landedCostData =
|
|
138
|
+
(checkoutSessionWorkflow === null || checkoutSessionWorkflow === void 0 ? void 0 : checkoutSessionWorkflow.filter(Boolean)) || null;
|
|
139
|
+
cartStore.shippingData =
|
|
140
|
+
(shipmentRatingCalculateWorkflow === null || shipmentRatingCalculateWorkflow === void 0 ? void 0 : shipmentRatingCalculateWorkflow.filter(Boolean)) || null;
|
|
141
|
+
// apply new subtotal and total, this is mainly to show items in the presentment currency
|
|
142
|
+
const firstLandedCostData = (_d = cartStore.landedCostData) === null || _d === void 0 ? void 0 : _d.find(Boolean);
|
|
143
|
+
const subtotals = !!firstLandedCostData
|
|
144
|
+
? firstLandedCostData.subtotals
|
|
145
|
+
: null;
|
|
146
|
+
if (subtotals) {
|
|
147
|
+
// prefetch landed cost will not update shipping and taxes since we haven't selected shipping method yet
|
|
148
|
+
cartStoreApplySubtotals({
|
|
149
|
+
exchangeRate: subtotals.exchangeRate,
|
|
150
|
+
items: subtotals.items,
|
|
151
|
+
landedCostTotal: 0,
|
|
152
|
+
presentmentCurrencyCode: subtotals.presentmentCurrencyCode,
|
|
153
|
+
shipping: 0,
|
|
154
|
+
total: subtotals.items,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
logError(err);
|
|
160
|
+
}
|
|
161
|
+
stripeStore.isFetchingLandedCost = false;
|
|
160
162
|
}
|
|
161
|
-
stripeStore.isFetchingLandedCost = false;
|
|
162
|
-
}
|
|
163
163
|
};
|
|
164
164
|
const getStripeMessageBasedOnStatus = (status) => {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
165
|
+
let messages = [];
|
|
166
|
+
let isError = true;
|
|
167
|
+
// Inspect the PaymentIntent `status` to indicate the status of the payment
|
|
168
|
+
// to your customer.
|
|
169
|
+
//
|
|
170
|
+
// Some payment methods will [immediately succeed or fail][0] upon
|
|
171
|
+
// confirmation, while others will first enter a `processing` state.
|
|
172
|
+
//
|
|
173
|
+
// [0]: https://stripe.com/docs/payments/payment-methods#payment-notification
|
|
174
|
+
switch (status) {
|
|
175
|
+
case 'succeeded': {
|
|
176
|
+
messages = [
|
|
177
|
+
translate('Your payment went through successfully! Thank you for shopping with us! We hope you had an enjoyable experience and your support means the world to us.'),
|
|
178
|
+
'',
|
|
179
|
+
'',
|
|
180
|
+
translate("We've sent an email confirmation of the order details for your review. And our team is carefully preparing your order so it arrives on time."),
|
|
181
|
+
];
|
|
182
|
+
isError = false;
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
case 'requires_capture':
|
|
186
|
+
case 'processing': {
|
|
187
|
+
messages = [
|
|
188
|
+
translate("Payment processing. We'll update you when payment is received."),
|
|
189
|
+
];
|
|
190
|
+
isError = false;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
case 'requires_payment_method': {
|
|
194
|
+
messages = [
|
|
195
|
+
translate('Payment failed. Please try another payment method.'),
|
|
196
|
+
];
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
default: {
|
|
200
|
+
messages = [translate('Something went wrong.')];
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
202
203
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
};
|
|
204
|
+
return {
|
|
205
|
+
isError,
|
|
206
|
+
messages,
|
|
207
|
+
};
|
|
208
208
|
};
|
|
209
209
|
const stripeStoreRetrievePayment = async ({ clientSecret: _clientSecret, storybookForceStatus, }) => {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
210
|
+
if (storybookForceStatus) {
|
|
211
|
+
// return status right away if we are in storybook mode
|
|
212
|
+
const { isError, messages } = getStripeMessageBasedOnStatus(storybookForceStatus);
|
|
213
|
+
return { error: isError, messages };
|
|
214
|
+
}
|
|
215
|
+
const clientSecret = _clientSecret || stripeStore.clientSecret;
|
|
216
|
+
if (!stripeStore.stripe || !clientSecret) {
|
|
217
|
+
logError('Failed to retrieve payment intent. Stripe is not initialized');
|
|
218
|
+
return { error: true, message: [translate('Something went wrong.')] };
|
|
219
|
+
}
|
|
220
|
+
const { paymentIntent } = await stripeStore.stripe.retrievePaymentIntent(clientSecret);
|
|
221
|
+
const status = paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status;
|
|
222
|
+
const { isError, messages } = getStripeMessageBasedOnStatus(status);
|
|
213
223
|
return { error: isError, messages };
|
|
214
|
-
}
|
|
215
|
-
const clientSecret = _clientSecret || stripeStore.clientSecret;
|
|
216
|
-
if (!stripeStore.stripe || !clientSecret) {
|
|
217
|
-
logError('Failed to retrieve payment intent. Stripe is not initialized');
|
|
218
|
-
return { error: true, message: [translate('Something went wrong.')] };
|
|
219
|
-
}
|
|
220
|
-
const { paymentIntent } = await stripeStore.stripe.retrievePaymentIntent(clientSecret);
|
|
221
|
-
const status = paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status;
|
|
222
|
-
const { isError, messages } = getStripeMessageBasedOnStatus(status);
|
|
223
|
-
return { error: isError, messages };
|
|
224
224
|
};
|
|
225
225
|
const stripeStoreConfirmPayment = async () => {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
226
|
+
var _a, _b, _c;
|
|
227
|
+
const stripePaymentReady = !!((_a = stripeStore.stripePaymentEventData) === null || _a === void 0 ? void 0 : _a.complete);
|
|
228
|
+
const stripeElements = stripeStore.stripeElements;
|
|
229
|
+
const stripe = stripeStore.stripe;
|
|
230
|
+
const stripeClientSecret = stripeStore.clientSecret;
|
|
231
|
+
if (stripe && stripeElements && stripePaymentReady && stripeClientSecret) {
|
|
232
|
+
const { error } = await stripe.confirmPayment({
|
|
233
|
+
confirmParams: {
|
|
234
|
+
receipt_email: (_c = (_b = stripeStore.stripeLinkEventData) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.email,
|
|
235
|
+
return_url: window.location.href,
|
|
236
|
+
},
|
|
237
|
+
elements: stripeElements,
|
|
238
|
+
redirect: 'if_required',
|
|
239
|
+
});
|
|
240
|
+
if (error) {
|
|
241
|
+
if (error.type === 'card_error' || error.type === 'validation_error') {
|
|
242
|
+
throw new Error(error.message);
|
|
243
|
+
}
|
|
244
|
+
if (error.type === 'invalid_request_error') {
|
|
245
|
+
if (error.code === 'payment_intent_unexpected_state') {
|
|
246
|
+
// PaymentIntent was canceled or expired, or status is `require_capture`.
|
|
247
|
+
// don't throw error here because we will reset the checkout session last step
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
throw new Error('An unexpected error occurred.');
|
|
249
252
|
}
|
|
250
|
-
}
|
|
251
|
-
throw new Error('An unexpected error occurred.');
|
|
252
253
|
}
|
|
253
|
-
}
|
|
254
254
|
};
|
|
255
255
|
/**
|
|
256
256
|
* Init checkout session
|
|
257
257
|
* @returns {boolean} whether or not the checkout session is successfully created
|
|
258
258
|
*/
|
|
259
259
|
const stripeStoreInitCheckoutSession = async () => {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
260
|
+
var _a;
|
|
261
|
+
const total = cartStore.items.reduce((amount, item) => amount + item.amount * item.quantity, 0);
|
|
262
|
+
if (!total || !localizationStore.targetCurrency) {
|
|
263
|
+
logError('Fail to create checkout session - invalid total or currency');
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
stripeStore.isFetchingSession = true;
|
|
267
|
+
const { errors, json } = await handleFetch(`${process.env.NEXT_PUBLIC_ZONOS_ROUTE_URL}/api/create-checkout-session`, {
|
|
268
|
+
body: {
|
|
269
|
+
currency: ((_a = cartStore.items.find(Boolean)) === null || _a === void 0 ? void 0 : _a.currencyCode) || '',
|
|
270
|
+
itemsAmount: total,
|
|
271
|
+
presentmentCountryCode: localizationStore.selectedCountryCode || null,
|
|
272
|
+
},
|
|
273
|
+
method: 'POST',
|
|
274
|
+
});
|
|
275
|
+
stripeStore.isFetchingSession = false;
|
|
276
|
+
if (errors.length || !json) {
|
|
277
|
+
logError('Error occurs when creating checkout session', JSON.stringify(errors, null, 2));
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
const result = json.checkoutSessionCreate;
|
|
281
|
+
stripeStore.clientSecret = result.clientSecret;
|
|
282
|
+
// update cart store with updated informations
|
|
283
|
+
cartStore.checkoutSessionId = result.id;
|
|
284
|
+
cartStoreApplySubtotals(Object.assign(Object.assign({}, result.subtotals), { landedCostTotal: 0, shipping: 0, total: result.subtotals.items }));
|
|
285
|
+
log('Exchange rate updated for cart items (checkout session create)', 'info', cartStore.exchangeRate);
|
|
286
|
+
log('done-init-checkout-session');
|
|
287
|
+
return true;
|
|
288
288
|
};
|
|
289
289
|
/**
|
|
290
290
|
* Update checkout session. Use for updating amount with landed cost id, or update session when cart items change
|
|
291
291
|
*/
|
|
292
292
|
const stripeStoreUpdateCheckoutSession = async ({ currency, id, itemsAmount, landedCostId, presentmentCountryCode, }) => {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
293
|
+
// No need to set loading state here because this function will be called under the hood to update
|
|
294
|
+
// landed cost id for the section.
|
|
295
|
+
const { errors, json } = await handleFetch(`${process.env.NEXT_PUBLIC_ZONOS_ROUTE_URL}/api/update-checkout-session`, {
|
|
296
|
+
body: {
|
|
297
|
+
currency,
|
|
298
|
+
id,
|
|
299
|
+
itemsAmount,
|
|
300
|
+
landedCostId,
|
|
301
|
+
presentmentCountryCode,
|
|
302
|
+
},
|
|
303
|
+
method: 'POST',
|
|
304
|
+
});
|
|
305
|
+
if (errors.length || !json) {
|
|
306
|
+
logError('Error occurs when updating checkout session', JSON.stringify(errors, null, 2));
|
|
307
|
+
return { errors, json };
|
|
308
|
+
}
|
|
309
|
+
return { errors: [], json };
|
|
310
310
|
};
|
|
311
311
|
onChange('clientSecret', clientSecret => {
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
312
|
+
// update stripe elements when client secret changes
|
|
313
|
+
if (clientSecret && stripeStore.stripe) {
|
|
314
|
+
sessionStorage.setItem('zonos--client-secret', clientSecret);
|
|
315
|
+
}
|
|
316
|
+
if (!clientSecret) {
|
|
317
|
+
sessionStorage.removeItem('zonos--client-secret');
|
|
318
|
+
}
|
|
319
319
|
});
|
|
320
320
|
export { initStripeElements, stripeStore, stripeStoreConfirmPayment, stripeStoreInitCheckoutSession, stripeStorePrefetchLandedCost, stripeStoreReset, stripeStoreRetrievePayment, stripeStoreUpdateCheckoutSession, };
|