@dropins/storefront-checkout 0.1.0-alpha33 → 0.1.0-alpha35
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/__generated__/types.d.ts +16556 -0
- package/api/errors/errors.d.ts +27 -0
- package/api/errors/index.d.ts +2 -0
- package/api/estimateShippingMethods/estimateShippingMethods.d.ts +13 -0
- package/api/estimateShippingMethods/fixtures.d.ts +8 -0
- package/api/estimateShippingMethods/graphql/estimateShippingMethods.graphql.d.ts +2 -0
- package/api/estimateShippingMethods/graphql/index.d.ts +2 -0
- package/api/estimateShippingMethods/index.d.ts +2 -0
- package/api/fetch-graphql/fetch-graphql.d.ts +8 -0
- package/api/fetch-graphql/index.d.ts +2 -0
- package/api/fetchAddressFormFields/fetchAddressFormFields.d.ts +4 -0
- package/api/fetchAddressFormFields/fixtures.d.ts +5 -0
- package/api/fetchAddressFormFields/graphql/fetchAddressFormFields.graphql.d.ts +2 -0
- package/api/fetchAddressFormFields/index.d.ts +3 -0
- package/api/getCart/fixtures.d.ts +12 -0
- package/api/getCart/getCart.d.ts +2 -0
- package/api/getCart/graphql/getCart.graphql.d.ts +4 -0
- package/api/getCart/graphql/index.d.ts +2 -0
- package/api/getCart/index.d.ts +2 -0
- package/api/getCountries/fixtures.d.ts +6 -0
- package/api/getCountries/getCountries.d.ts +4 -0
- package/api/getCountries/graphql/getCountries.graphql.d.ts +2 -0
- package/api/getCountries/index.d.ts +2 -0
- package/api/getCustomer/getCustomer.d.ts +4 -0
- package/api/getCustomer/graphql/getCustomer.graphql.d.ts +2 -0
- package/api/getCustomer/graphql/index.d.ts +2 -0
- package/api/getCustomer/index.d.ts +2 -0
- package/api/getRegions/fixtures.d.ts +5 -0
- package/api/getRegions/getRegions.d.ts +5 -0
- package/api/getRegions/graphql/getRegions.graphql.d.ts +2 -0
- package/api/getRegions/index.d.ts +2 -0
- package/api/getStoreConfig/getStoreConfig.d.ts +4 -0
- package/api/getStoreConfig/graphql/getStoreConfig.graphql.d.ts +2 -0
- package/api/getStoreConfig/index.d.ts +2 -0
- package/api/index.d.ts +19 -0
- package/api/initialize/index.d.ts +2 -0
- package/api/initialize/initialize.d.ts +10 -0
- package/api/isEmailAvailable/graphql/isEmailAvailable.graphql.d.ts +2 -0
- package/api/isEmailAvailable/index.d.ts +2 -0
- package/api/isEmailAvailable/isEmailAvailable.d.ts +4 -0
- package/api/placeOrder/fixtures.d.ts +6 -0
- package/api/placeOrder/graphql/index.d.ts +2 -0
- package/api/placeOrder/graphql/placeOrder.graphql.d.ts +2 -0
- package/api/placeOrder/index.d.ts +2 -0
- package/api/placeOrder/placeOrder.d.ts +2 -0
- package/api/redirect/index.d.ts +2 -0
- package/api/redirect/redirect.d.ts +2 -0
- package/api/setBillingAddress/graphql/setBillingAddress.graphql.d.ts +2 -0
- package/api/setBillingAddress/index.d.ts +2 -0
- package/api/setBillingAddress/setBillingAddress.d.ts +13 -0
- package/api/setGuestEmailOnCart/graphql/setGuestEmailOnCart.graphql.d.ts +2 -0
- package/api/setGuestEmailOnCart/index.d.ts +2 -0
- package/api/setGuestEmailOnCart/setGuestEmailOnCart.d.ts +2 -0
- package/api/setPaymentMethod/graphql/setPaymentMethod.graphql.d.ts +2 -0
- package/api/setPaymentMethod/index.d.ts +2 -0
- package/api/setPaymentMethod/setPaymentMethod.d.ts +2 -0
- package/api/setShippingAddress/graphql/setShippingAddress.graphql.d.ts +2 -0
- package/api/setShippingAddress/index.d.ts +2 -0
- package/api/setShippingAddress/setShippingAddress.d.ts +30 -0
- package/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql.d.ts +2 -0
- package/api/setShippingMethods/index.d.ts +2 -0
- package/api/setShippingMethods/setShippingMethods.d.ts +2 -0
- package/api/utils/dispatchApiCall.d.ts +41 -0
- package/api/utils/enqueueRequest.d.ts +2 -0
- package/api/utils/filterControlledErrors.d.ts +18 -0
- package/api.d.ts +1 -0
- package/api.js +1 -2
- package/chunks/BillToShippingAddress2.js +1 -2
- package/chunks/BillingForm.js +1 -2
- package/chunks/ErrorBanner.js +1 -2
- package/chunks/LoginForm.js +1 -2
- package/chunks/MergedCartBanner.js +1 -0
- package/chunks/PlaceOrder.js +1 -2
- package/chunks/ShippingForm.js +1 -2
- package/chunks/ShippingMethods.js +1 -2
- package/chunks/ToggleButton.js +1 -2
- package/chunks/ToggleButton2.js +1 -0
- package/chunks/address-form-fields.js +43 -0
- package/chunks/constants.js +0 -1
- package/chunks/constants2.js +1 -2
- package/chunks/constants3.js +1 -2
- package/chunks/getCart.graphql.js +10 -173
- package/chunks/getStoreConfig.js +4 -14
- package/chunks/initialize.js +1 -2
- package/chunks/placeOrder2.js +57 -70
- package/chunks/setBillingAddress.js +3 -6
- package/chunks/setGuestEmailOnCart.js +4 -7
- package/chunks/setPaymentMethod.js +3 -6
- package/chunks/setShippingAddress.js +4 -7
- package/chunks/setShippingMethods.js +4 -7
- package/chunks/transform-shipping-methods.js +1 -2
- package/components/AddressForm/AddressForm.d.ts +21 -0
- package/components/AddressForm/constants.d.ts +4 -0
- package/components/AddressForm/index.d.ts +7 -0
- package/components/AddressForm/useAddressBackup.d.ts +8 -0
- package/components/AddressForm/useAddressForm.d.ts +38 -0
- package/components/AddressForm/useCheckoutAddressEventEmitter.d.ts +9 -0
- package/components/AddressForm/usePreselectedFields.d.ts +9 -0
- package/components/AddressForm/utils.d.ts +13 -0
- package/components/BillToShippingAddress/BillToShippingAddress.d.ts +8 -0
- package/components/BillToShippingAddress/BillToShippingAddressSkeleton.d.ts +4 -0
- package/components/BillToShippingAddress/index.d.ts +4 -0
- package/components/Checkout/Checkout.d.ts +25 -0
- package/components/Checkout/index.d.ts +3 -0
- package/components/EmptyCart/EmptyCart.d.ts +9 -0
- package/components/EmptyCart/index.d.ts +3 -0
- package/components/FieldsForm/FieldsForm.d.ts +13 -0
- package/components/FieldsForm/FieldsFormSkeleton.d.ts +4 -0
- package/components/FieldsForm/fieldFactory.d.ts +9 -0
- package/components/FieldsForm/fixtures.d.ts +5 -0
- package/components/FieldsForm/index.d.ts +6 -0
- package/components/FieldsForm/validation.d.ts +18 -0
- package/components/Heading/Heading.d.ts +8 -0
- package/components/Heading/index.d.ts +3 -0
- package/components/LoginForm/Email.d.ts +13 -0
- package/components/LoginForm/LoginForm.d.ts +17 -0
- package/components/LoginForm/LoginFormSkeleton.d.ts +4 -0
- package/components/LoginForm/SignIn.d.ts +9 -0
- package/components/LoginForm/SignOut.d.ts +8 -0
- package/components/LoginForm/index.d.ts +6 -0
- package/components/OutOfStock/OutOfStock.d.ts +9 -0
- package/components/OutOfStock/index.d.ts +3 -0
- package/components/OverlayLoader/OverlayLoader.d.ts +6 -0
- package/components/OverlayLoader/index.d.ts +2 -0
- package/components/PaymentMethods/PaymentMethods.d.ts +13 -0
- package/components/PaymentMethods/PaymentMethodsSkeleton.d.ts +4 -0
- package/components/PaymentMethods/index.d.ts +4 -0
- package/components/PlaceOrder/PlaceOrder.d.ts +9 -0
- package/components/PlaceOrder/PlaceOrderSkeleton.d.ts +4 -0
- package/components/PlaceOrder/index.d.ts +3 -0
- package/components/ServerError/ServerError.d.ts +10 -0
- package/components/ServerError/index.d.ts +3 -0
- package/components/ShippingMethods/ShippingMethods.d.ts +12 -0
- package/components/ShippingMethods/ShippingMethodsSkeleton.d.ts +4 -0
- package/components/ShippingMethods/index.d.ts +4 -0
- package/components/ToggleButton/ToggleButton.d.ts +14 -0
- package/components/ToggleButton/assets/icons/index.d.ts +2 -0
- package/components/ToggleButton/assets/images/index.d.ts +2 -0
- package/components/ToggleButton/index.d.ts +3 -0
- package/components/index.d.ts +15 -0
- package/containers/BillToShippingAddress/BillToShippingAddress.d.ts +10 -0
- package/containers/BillToShippingAddress/constants.d.ts +2 -0
- package/containers/BillToShippingAddress/index.d.ts +4 -0
- package/containers/BillToShippingAddress.d.ts +3 -0
- package/containers/BillToShippingAddress.js +1 -2
- package/containers/BillingForm/BillingForm.d.ts +7 -0
- package/containers/BillingForm/constants.d.ts +2 -0
- package/containers/BillingForm/index.d.ts +4 -0
- package/containers/BillingForm.d.ts +3 -0
- package/containers/BillingForm.js +1 -2
- package/containers/Checkout/Checkout.d.ts +35 -0
- package/containers/Checkout/constants.d.ts +2 -0
- package/containers/Checkout/index.d.ts +4 -0
- package/containers/Checkout.d.ts +3 -0
- package/containers/Checkout.js +1 -2
- package/containers/ErrorBanner/ErrorBanner.d.ts +5 -0
- package/containers/ErrorBanner/index.d.ts +3 -0
- package/containers/ErrorBanner.d.ts +3 -0
- package/containers/ErrorBanner.js +0 -1
- package/containers/LoginForm/LoginForm.d.ts +10 -0
- package/containers/LoginForm/constants.d.ts +2 -0
- package/containers/LoginForm/index.d.ts +4 -0
- package/containers/LoginForm.d.ts +3 -0
- package/containers/LoginForm.js +1 -2
- package/containers/MergedCartBanner/MergedCartBanner.d.ts +5 -0
- package/containers/MergedCartBanner/index.d.ts +3 -0
- package/containers/MergedCartBanner.d.ts +3 -0
- package/containers/MergedCartBanner.js +1 -0
- package/containers/PaymentMethods/PaymentMethods.d.ts +23 -0
- package/containers/PaymentMethods/defaultHandlers.d.ts +11 -0
- package/containers/PaymentMethods/index.d.ts +3 -0
- package/containers/PaymentMethods.d.ts +3 -0
- package/containers/PaymentMethods.js +1 -2
- package/containers/PlaceOrder/PlaceOrder.d.ts +9 -0
- package/containers/PlaceOrder/index.d.ts +3 -0
- package/containers/PlaceOrder.d.ts +3 -0
- package/containers/PlaceOrder.js +1 -2
- package/containers/ShippingForm/ShippingForm.d.ts +9 -0
- package/containers/ShippingForm/constants.d.ts +2 -0
- package/containers/ShippingForm/index.d.ts +4 -0
- package/containers/ShippingForm.d.ts +3 -0
- package/containers/ShippingForm.js +1 -2
- package/containers/ShippingMethods/ShippingMethods.d.ts +9 -0
- package/containers/ShippingMethods/hooks/useShippingEstimateEventEmitter.d.ts +3 -0
- package/containers/ShippingMethods/index.d.ts +3 -0
- package/containers/ShippingMethods.d.ts +3 -0
- package/containers/ShippingMethods.js +1 -2
- package/containers/index.d.ts +11 -0
- package/context/address-form-fields.d.ts +13 -0
- package/context/checkout.d.ts +44 -0
- package/context/countries.d.ts +13 -0
- package/context/index.d.ts +6 -0
- package/context/services.d.ts +13 -0
- package/context/store.d.ts +12 -0
- package/data/models/acdl.d.ts +99 -0
- package/data/models/address-form-fields.d.ts +52 -0
- package/data/models/address.d.ts +21 -0
- package/data/models/cart.d.ts +14 -0
- package/data/models/country.d.ts +5 -0
- package/data/models/custom-attribute.d.ts +5 -0
- package/data/models/customer.d.ts +25 -0
- package/data/models/email-availability.d.ts +2 -0
- package/data/models/index.d.ts +14 -0
- package/data/models/order.d.ts +46 -0
- package/data/models/payment-method.d.ts +5 -0
- package/data/models/price.d.ts +5 -0
- package/data/models/region.d.ts +6 -0
- package/data/models/shipping-estimate.d.ts +17 -0
- package/data/models/shipping-method.d.ts +19 -0
- package/data/models/store-config.d.ts +9 -0
- package/data/transforms/index.d.ts +12 -0
- package/data/transforms/transform-acdl.d.ts +6 -0
- package/data/transforms/transform-address-form-fields.d.ts +66 -0
- package/data/transforms/transform-address.d.ts +79 -0
- package/data/transforms/transform-cart.d.ts +7 -0
- package/data/transforms/transform-countries.d.ts +5 -0
- package/data/transforms/transform-customer.d.ts +14 -0
- package/data/transforms/transform-email-availability.d.ts +6 -0
- package/data/transforms/transform-order.d.ts +7 -0
- package/data/transforms/transform-payment-methods.d.ts +9 -0
- package/data/transforms/transform-regions.d.ts +8 -0
- package/data/transforms/transform-shipping-estimate.d.ts +5 -0
- package/data/transforms/transform-shipping-methods.d.ts +14 -0
- package/data/transforms/transform-store-config.d.ts +5 -0
- package/hooks/useAuthentication/index.d.ts +2 -0
- package/hooks/useAuthentication/useAuthentication.d.ts +2 -0
- package/hooks/useLockScroll/index.d.ts +2 -0
- package/hooks/useLockScroll/useLockScroll.d.ts +5 -0
- package/hooks/useValidity/index.d.ts +2 -0
- package/hooks/useValidity/useValidity.d.ts +19 -0
- package/i18n/en_US.json.d.ts +86 -0
- package/lib/acdl.d.ts +18 -0
- package/lib/fetch-error.d.ts +7 -0
- package/lib/index.d.ts +4 -0
- package/lib/localStorage.d.ts +10 -0
- package/lib/network-error.d.ts +6 -0
- package/lib/redirect.d.ts +2 -0
- package/lib/state.d.ts +7 -0
- package/msw/browser.d.ts +2 -0
- package/msw/fixtures/fragments/american-regions.d.ts +4 -0
- package/msw/fixtures/fragments/available-shipping-methods.d.ts +23 -0
- package/msw/fixtures/fragments/billing-address.d.ts +36 -0
- package/msw/fixtures/fragments/cart.d.ts +112 -0
- package/msw/fixtures/fragments/countries.d.ts +4 -0
- package/msw/fixtures/fragments/form-fields.d.ts +4 -0
- package/msw/fixtures/fragments/index.d.ts +8 -0
- package/msw/fixtures/fragments/shipping-address.d.ts +42 -0
- package/msw/fixtures/index.d.ts +4 -0
- package/msw/fixtures/mutations/estimate-shipping-methods.d.ts +4 -0
- package/msw/fixtures/mutations/index.d.ts +8 -0
- package/msw/fixtures/mutations/place-order.d.ts +4 -0
- package/msw/fixtures/mutations/set-billing-address.d.ts +5 -0
- package/msw/fixtures/mutations/set-guest-email.d.ts +4 -0
- package/msw/fixtures/mutations/set-payment-method.d.ts +4 -0
- package/msw/fixtures/mutations/set-shipping-address.d.ts +4 -0
- package/msw/fixtures/mutations/set-shipping-methods.d.ts +4 -0
- package/msw/fixtures/queries/fetch-address-form-fields.d.ts +4 -0
- package/msw/fixtures/queries/get-cart.d.ts +4 -0
- package/msw/fixtures/queries/get-countries.d.ts +4 -0
- package/msw/fixtures/queries/get-customer-cart-stock-status.d.ts +4 -0
- package/msw/fixtures/queries/get-customer.d.ts +5 -0
- package/msw/fixtures/queries/get-regions.d.ts +4 -0
- package/msw/fixtures/queries/get-stock-status.d.ts +4 -0
- package/msw/fixtures/queries/get-store-config.d.ts +4 -0
- package/msw/fixtures/queries/index.d.ts +10 -0
- package/msw/fixtures/queries/is-email-available.d.ts +4 -0
- package/msw/handlers.d.ts +4 -0
- package/msw/server.d.ts +2 -0
- package/package.json +1 -1
- package/render/Provider.d.ts +10 -0
- package/render/index.d.ts +2 -0
- package/render/render.d.ts +6 -0
- package/render.d.ts +1 -0
- package/render.js +3 -4
- package/services/backup.d.ts +17 -0
- package/services/index.d.ts +2 -0
- package/signals/AuthenticationSignal.d.ts +2 -0
- package/signals/CartSignal.d.ts +7 -0
- package/signals/CustomerSignal.d.ts +7 -0
- package/signals/EstimateShippingMethodsSignal.d.ts +7 -0
- package/signals/IsBillToShippingSignal.d.ts +6 -0
- package/signals/RegionsSignal.d.ts +12 -0
- package/signals/SelectedShippingMethodSignal.d.ts +4 -0
- package/signals/index.d.ts +8 -0
- package/tests/constants.d.ts +3 -0
- package/tests/index.d.ts +2 -0
- package/tests/integration/utils/index.d.ts +3 -0
- package/tests/integration/utils/setup.d.ts +5 -0
- package/tests/integration/utils/user-actions.d.ts +2 -0
- package/tests/mocks/svg.d.ts +4 -0
- package/tests/render.d.ts +4 -0
- package/tests/utils/expectError.d.ts +9 -0
- package/tests/utils/index.d.ts +3 -0
- package/tests/utils/mockEvents.d.ts +5 -0
- package/utils/autocompleteFieldCodes/autocompleteFieldCodes.d.ts +18 -0
- package/utils/autocompleteFieldCodes/index.d.ts +2 -0
- package/utils/getMultilineValues/getMultilineValues.d.ts +3 -0
- package/utils/getMultilineValues/index.d.ts +2 -0
- package/utils/index.d.ts +7 -0
- package/utils/isEmpty/index.d.ts +2 -0
- package/utils/isEmpty/isEmpty.d.ts +2 -0
- package/utils/isNullish/index.d.ts +2 -0
- package/utils/isNullish/isNullish.d.ts +2 -0
- package/utils/parseRegionId/index.d.ts +2 -0
- package/utils/parseRegionId/parseRegionId.d.ts +2 -0
- package/utils/processFormFields/index.d.ts +2 -0
- package/utils/processFormFields/processFormFields.d.ts +21 -0
- package/utils/refetchEstimatedShippingMethods/index.d.ts +2 -0
- package/utils/refetchEstimatedShippingMethods/refetchEstimatedShippingMethods.d.ts +4 -0
- package/utils/shippingMethods/index.d.ts +2 -0
- package/utils/shippingMethods/isEqual.d.ts +4 -0
- package/api.js.map +0 -1
- package/chunks/BillToShippingAddress2.js.map +0 -1
- package/chunks/BillingForm.js.map +0 -1
- package/chunks/CartSummary.js +0 -2
- package/chunks/CartSummary.js.map +0 -1
- package/chunks/ErrorBanner.js.map +0 -1
- package/chunks/LoginForm.js.map +0 -1
- package/chunks/OrderSummary.js +0 -2
- package/chunks/OrderSummary.js.map +0 -1
- package/chunks/PaymentMethods.js +0 -2
- package/chunks/PaymentMethods.js.map +0 -1
- package/chunks/PlaceOrder.js.map +0 -1
- package/chunks/SelectedShippingMethodSignal.js +0 -2
- package/chunks/SelectedShippingMethodSignal.js.map +0 -1
- package/chunks/ShippingForm.js.map +0 -1
- package/chunks/ShippingMethods.js.map +0 -1
- package/chunks/ToggleButton.js.map +0 -1
- package/chunks/cart-item.js +0 -2
- package/chunks/cart-item.js.map +0 -1
- package/chunks/constants.js.map +0 -1
- package/chunks/constants2.js.map +0 -1
- package/chunks/constants3.js.map +0 -1
- package/chunks/getCart.graphql.js.map +0 -1
- package/chunks/getMultilineValues.js +0 -44
- package/chunks/getMultilineValues.js.map +0 -1
- package/chunks/getStoreConfig.js.map +0 -1
- package/chunks/initialize.js.map +0 -1
- package/chunks/placeOrder2.js.map +0 -1
- package/chunks/setBillingAddress.js.map +0 -1
- package/chunks/setGuestEmailOnCart.js.map +0 -1
- package/chunks/setPaymentMethod.js.map +0 -1
- package/chunks/setShippingAddress.js.map +0 -1
- package/chunks/setShippingMethods.js.map +0 -1
- package/chunks/transform-shipping-methods.js.map +0 -1
- package/containers/BillToShippingAddress.js.map +0 -1
- package/containers/BillingForm.js.map +0 -1
- package/containers/CartSummary.js +0 -2
- package/containers/CartSummary.js.map +0 -1
- package/containers/Checkout.js.map +0 -1
- package/containers/ErrorBanner.js.map +0 -1
- package/containers/LoginForm.js.map +0 -1
- package/containers/OrderSummary.js +0 -2
- package/containers/OrderSummary.js.map +0 -1
- package/containers/PaymentMethods.js.map +0 -1
- package/containers/PlaceOrder.js.map +0 -1
- package/containers/ShippingForm.js.map +0 -1
- package/containers/ShippingMethods.js.map +0 -1
- package/render.js.map +0 -1
package/chunks/initialize.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sources":["../../src/api/initialize/initialize.ts"],"sourcesContent":["import { Lang } from '@adobe/elsie/i18n';\nimport { Initializer } from '@adobe/elsie/lib';\n\nexport type ConfigProps = {\n guestViewCookieExpirationDays?: number;\n langDefinitions?: Lang;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (_config) => {\n const config = { guestViewCookieExpirationDays: 30, ..._config };\n initialize.config.setConfig(config);\n },\n\n listeners: () => [],\n});\n\nexport const config = initialize.config;\n"],"names":["initialize","Initializer","init","_config","config","guestViewCookieExpirationDays","setConfig","listeners"],"mappings":"oDAQaA,MAAAA,EAAa,IAAIC,EAAyB,CACrDC,KAAM,MAAOC,GAAY,CACvB,MAAMC,EAAS,CAAEC,8BAA+B,GAAI,GAAGF,CAAAA,EAC5CC,EAAAA,OAAOE,UAAUF,CAAM,CACpC,EAEAG,UAAWA,IAAM,CAAA,CACnB,CAAC,EAEYH,EAASJ,EAAWI"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"placeOrder2.js","sources":["../../src/data/transforms/transform-customer.ts","../../src/api/getCart/getCart.ts","../../src/api/getCustomer/graphql/getCustomer.graphql.ts","../../src/api/getCustomer/getCustomer.ts","../../src/api/getStockStatus/graphql/getStockStatus.graphql.ts","../../src/api/getStockStatus/getStockStatus.ts","../../src/api/placeOrder/graphql/placeOrder.graphql.ts","../../src/utils/storefrontEvents/completeCheckout.ts","../../src/api/placeOrder/placeOrder.ts"],"sourcesContent":["import { GetCustomerQuery } from '@/checkout/__generated__/types';\nimport {\n Customer as CustomerModel,\n CustomerAddress as CustomerAddressModel,\n CustomAttribute as CustomAttributeModel,\n} from '@/checkout/data/models';\n\ntype Customer = GetCustomerQuery['customer'];\ntype NonNullableCustomer = NonNullable<Customer>;\ntype CustomAttributesV2 = CustomerAddress['custom_attributesV2'];\ntype CustomerAddresses = NonNullableCustomer['addresses'];\ntype CustomerAddress = NonNullable<NonNullable<CustomerAddresses>[number]>;\n\nconst isValidCustomAttribute = (attribute: any): boolean => {\n if (!attribute) return false;\n return 'code' in attribute && 'value' in attribute;\n};\n\nexport const transformCustomAttributesV2 = (\n data: CustomAttributesV2\n): CustomAttributeModel[] => {\n return data.filter(isValidCustomAttribute).map((attribute) => {\n const { code, value } = attribute as { code: string; value: string };\n return { code, value };\n });\n};\n\nconst transformCustomerAddress = (\n data: CustomerAddress\n): CustomerAddressModel => {\n const street = data.street!.filter(Boolean) as string[];\n const regionId = data.region?.region_id;\n const hasRegionId = regionId && regionId > 0;\n\n return {\n id: String(data.id),\n firstName: data.firstname!,\n lastName: data.lastname!,\n company: data.company || undefined,\n city: data.city!,\n street,\n postCode: data.postcode || undefined,\n vatId: data.vat_id || undefined,\n telephone: data.telephone || undefined,\n region: {\n id: hasRegionId? regionId : undefined,\n code: data.region?.region_code!,\n name: data.region?.region!,\n },\n country: {\n value: data.country_code!,\n label: data.country_code!,\n },\n customAttributes: transformCustomAttributesV2(data.custom_attributesV2),\n };\n};\n\nconst transformCustomerAddresses = (\n data: CustomerAddresses\n): CustomerAddressModel[] => {\n if (!data) return [];\n\n const customerAddresses = data.filter(Boolean) as CustomerAddress[];\n return customerAddresses.map(transformCustomerAddress);\n};\n\nconst transformDefaultAddress = (\n type: 'default_billing' | 'default_shipping',\n data: CustomerAddresses\n): CustomerAddressModel | undefined => {\n if (!data) return;\n\n const address = data.find((address) => address?.[type] === true);\n\n if (!address) return;\n\n return transformCustomerAddress(address);\n};\n\nconst transformCustomer = (data: Customer): CustomerModel | undefined => {\n if (!data) return;\n\n const addresses = data.addresses;\n\n return {\n firstName: data.firstname || '',\n lastName: data.lastname || '',\n email: data.email || '',\n addresses: transformCustomerAddresses(addresses),\n defaultBillingAddress: transformDefaultAddress(\n 'default_billing',\n addresses\n ),\n defaultShippingAddress: transformDefaultAddress(\n 'default_shipping',\n addresses\n ),\n };\n};\n\nexport { transformCustomer };\n","import {\n getCartQuery,\n getCustomerCartQuery,\n} from '@/checkout/api/getCart/graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/transform-cart';\n\nexport const getCart = async (cartId?: string) => {\n return await dispatchApiCall({\n type: 'query',\n query: cartId ? getCartQuery : getCustomerCartQuery,\n options: {\n method: 'POST',\n cache: 'no-cache',\n ...(cartId ? { variables: { cartId } } : {}),\n },\n path: 'cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n","export const getCustomerQuery = /* GraphQL */ `\n query getCustomer {\n customer {\n firstname\n lastname\n email\n addresses {\n id\n default_shipping\n default_billing\n city\n country_code\n firstname\n lastname\n company\n postcode\n vat_id\n region {\n region\n region_id\n region_code\n }\n street\n telephone\n custom_attributesV2 {\n ... on AttributeValue {\n code\n value\n }\n }\n }\n }\n }\n`;\n","import { getCustomerQuery } from '@/checkout/api/getCustomer/graphql/getCustomer.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { Customer } from '@/checkout/data/models';\nimport { transformCustomer } from '@/checkout/data/transforms';\n\nexport const getCustomer = async (): Promise<Customer | null | undefined> => {\n return await dispatchApiCall({\n type: 'query',\n query: getCustomerQuery,\n options: { method: 'POST', cache: 'no-cache' },\n path: 'customer',\n signalType: 'customer',\n transformer: transformCustomer,\n });\n};\n","export const CART_STOCK_STATUS_FRAGMENT = /* GraphQL */ `\n fragment CartStockStatus on Cart {\n id\n items {\n __typename\n uid\n product {\n uid\n name\n sku\n stock_status\n only_x_left_in_stock\n ... on ConfigurableProduct {\n variants {\n attributes {\n uid\n }\n product {\n uid\n stock_status\n }\n }\n }\n ... on BundleProduct {\n items {\n uid\n options {\n uid\n product {\n uid\n }\n }\n }\n }\n }\n quantity\n ... on ConfigurableCartItem {\n configurable_options {\n configurable_product_option_uid\n option_label\n configurable_product_option_value_uid\n value_label\n }\n }\n ... on BundleCartItem {\n bundle_options {\n uid\n values {\n uid\n }\n }\n }\n }\n }\n`;\n\nexport const getCartStockStatusQuery = /* GraphQL */ `\n query getCartStockStatus($cartId: String!) {\n cart(cart_id: $cartId) {\n ...CartStockStatus\n }\n }\n ${CART_STOCK_STATUS_FRAGMENT}\n`;\n\nexport const getCustomerCartStockStatusQuery = /* GraphQL */ `\n query getCustomerCartStockStatus {\n cart: customerCart {\n ...CartStockStatus\n }\n }\n ${CART_STOCK_STATUS_FRAGMENT}\n`;\n","import {\n BundleCartItem,\n BundleProduct,\n Cart,\n ConfigurableCartItem,\n ConfigurableProduct,\n DownloadableCartItem,\n GiftCardCartItem,\n ProductInterface,\n ProductStockStatus,\n SimpleCartItem,\n VirtualCartItem,\n} from '@/checkout/__generated__/types';\nimport { fetchGraphQl } from '@/checkout/api';\nimport { FetchError } from '@/checkout/api/errors';\nimport { handleNetworkError } from '@/checkout/lib/network-error';\nimport {\n getCartStockStatusQuery,\n getCustomerCartStockStatusQuery,\n} from '@/checkout/api/getStockStatus/graphql/getStockStatus.graphql';\n\ninterface StockChecker {\n (item: CartItem): boolean;\n}\n\ntype StockStatusOutput = {\n cart: Pick<Cart, 'id' | 'items'>;\n};\n\ntype CartItem =\n | BundleCartItem\n | ConfigurableCartItem\n | DownloadableCartItem\n | GiftCardCartItem\n | SimpleCartItem\n | VirtualCartItem;\n\nconst isProductInStock = (product: ProductInterface): boolean => {\n return product.stock_status === ProductStockStatus.InStock;\n};\n\nconst simpleStockChecker: StockChecker = (item) => {\n return isProductInStock(item.product);\n};\n\nconst configStockChecker: StockChecker = (item) => {\n const { configurable_options: options } = item as ConfigurableCartItem;\n const { variants } = item.product as ConfigurableProduct;\n\n if (!variants || !options) return false;\n\n const selectedOptions = options.map(\n (option) => option?.configurable_product_option_value_uid\n );\n\n const selectedVariant = variants.find((variant) => {\n if (!variant || !variant.attributes) return false;\n\n return variant.attributes.every(\n (attribute) => attribute && selectedOptions.includes(attribute.uid)\n );\n });\n\n // if no matching variant is found, we assume the product is out of stock\n if (!selectedVariant) return false;\n\n const { product: variantProduct } = selectedVariant;\n\n if (!variantProduct) return false;\n\n return isProductInStock(variantProduct);\n};\n\nconst bundleStockChecker: StockChecker = (item) => {\n const { product } = item as BundleCartItem;\n\n if (!isProductInStock(product)) return false;\n\n // if any of the items inside the bundle is ouf of stock, it will not be part of this list\n const { bundle_options: options } = item as BundleCartItem;\n const { items: bundle } = product as BundleProduct;\n\n return bundle?.length === options?.length;\n};\n\nconst getStockChecker = (type?: string): StockChecker => {\n switch (type) {\n case 'ConfigurableCartItem':\n return configStockChecker;\n case 'BundleCartItem':\n return bundleStockChecker;\n default:\n return simpleStockChecker;\n }\n};\n\nconst isOutOfStock = (item: CartItem) => {\n const checker = getStockChecker(item.__typename);\n return checker(item) === false;\n};\n\nexport const getStockStatus = async (\n cartId?: string\n): Promise<ProductStockStatus> => {\n const { data, errors } = await fetchGraphQl<StockStatusOutput>(\n cartId ? getCartStockStatusQuery : getCustomerCartStockStatusQuery,\n {\n method: 'GET',\n cache: 'no-cache',\n ...(cartId ? { variables: { cartId } } : {}),\n }\n ).catch(handleNetworkError);\n\n if (errors) throw new FetchError(errors);\n\n const cartItems = data?.cart?.items;\n\n if (!cartItems || !cartItems.length) return ProductStockStatus.InStock;\n\n const outOfStock = cartItems.filter((item) => {\n if (!item) return false;\n return isOutOfStock(item as CartItem);\n });\n\n return outOfStock.length > 0\n ? ProductStockStatus.OutOfStock\n : ProductStockStatus.InStock;\n};\n","export const placeOrderMutation = /* GraphQL */ `\n mutation placeOrder($cartId: String!) {\n placeOrder(input: { cart_id: $cartId }) {\n orderV2 {\n number\n token\n }\n }\n }\n`;\n","import { cartSignal } from '@/checkout/signals';\nimport { CartTaxItem } from '@/checkout/__generated__/types';\nimport {\n ConfigurableOption,\n Order,\n ShoppingCart,\n ShoppingCartItem,\n} from '@/checkout/types/CompleteCheckoutContextSchemas';\nimport { Cart } from '@/checkout/data/models/cart';\nimport { Item, ItemKind } from '@/checkout/data/models/cart-item';\nimport { ShippingMethod } from '@/checkout/data/models';\n\nfunction mapConfigurableOptions(\n options: Record<string, string>\n): ConfigurableOption[] | undefined {\n const result: ConfigurableOption[] = [];\n\n for (const key in options) {\n if (options[key] === null) continue;\n\n result.push({\n optionLabel: key,\n valueLabel: options[key],\n });\n }\n\n return result;\n}\n\nfunction mapCartItems(items: Item[]): ShoppingCartItem[] {\n return items.map((item: Item): ShoppingCartItem => {\n const { uid, name, sku, price, quantity } = item;\n\n let cartItem: ShoppingCartItem = {\n /* We don't know if Checkout drop-in can apply Manufacturer’s Suggested Retail Price */\n canApplyMsrp: true,\n formattedPrice: '',\n id: uid,\n prices: {\n price: {\n value: price.value ?? 0,\n currency: price.currency ?? '',\n },\n },\n product: {\n /* productId not exposed by core GraphQL as number (uid is string) */\n productId: 0,\n name,\n sku,\n productType: item.kind,\n canonicalUrl: item.url || '',\n mainImageUrl: item?.image?.src || '',\n },\n quantity,\n };\n\n if (item.kind === ItemKind.Configurable) {\n cartItem.configurableOptions =\n // @ts-ignore\n mapConfigurableOptions(item.configurableOptions);\n }\n\n return cartItem;\n }, []);\n}\n\n/**\n * This function builds the ShoppingCart context.\n * It maps the shopping cart data collected during the checkout process to the\n * specific schema format defined by the Adobe Commerce Events SDK.\n *\n * @param {Cart} cart The cart data collected during the checkout process.\n * @returns {ShoppingCart} The ShoppingCart data formated.\n */\nfunction buildShoppingCartContext(cart: Cart): ShoppingCart {\n const { id, items, prices, totalQty } = cart;\n const hasItems = !!items?.length;\n\n let shoppingCartContext: ShoppingCart = {\n id,\n prices: {\n subtotalExcludingTax: {\n value: prices?.subtotal_excluding_tax?.value ?? 0,\n currency: prices?.subtotal_excluding_tax?.currency ?? '',\n },\n subtotalIncludingTax: {\n value: prices?.subtotal_including_tax?.value ?? 0,\n currency: prices?.subtotal_including_tax?.currency ?? '',\n },\n },\n totalQuantity: totalQty,\n possibleOnepageCheckout: true,\n };\n\n if (hasItems) {\n shoppingCartContext.items = mapCartItems(items);\n }\n\n return shoppingCartContext;\n}\n\nfunction calculateTaxes(taxes: (CartTaxItem | null)[]): number {\n const totalTaxAmount = taxes.reduce(\n (total, tax) => total + tax!.amount.value!,\n 0\n );\n\n return totalTaxAmount;\n}\n\nfunction buildShippingMethod(method: ShippingMethod) {\n return {\n shippingMethod: `${method.carrier.code}_${method.code}`,\n shippingAmount: method.amount.value ?? 0,\n };\n}\n\n/**\n * This function builds the Order context.\n * It maps the order data collected during the checkout process to the specific\n * schema format defined by the Adobe Commerce Events SDK.\n *\n * @param {string} orderId The order ID generated when placed the order.\n * @param {Cart} cart The cart data collected during the checkout process.\n * @returns {Order} The Order data formated.\n */\nfunction buildOrderContext(orderId: string, cart: Cart): Order {\n const { coupons, email, prices, selectedPaymentMethod, shippingAddresses } =\n cart;\n const hasAddresses = !!shippingAddresses?.length;\n\n let orderContext: Order = {\n appliedCouponCode: coupons[0]?.code ?? '',\n email: email ?? '',\n grandTotal: prices?.grand_total?.value ?? 0,\n orderId,\n orderType: 'checkout',\n otherTax: 0,\n paymentMethodCode: selectedPaymentMethod?.code ?? '',\n paymentMethodName: selectedPaymentMethod?.title ?? '',\n payments: [\n /* By now the Checkout drop-in is only supporting one payment method */\n {\n paymentMethodCode: selectedPaymentMethod?.code ?? '',\n paymentMethodName: selectedPaymentMethod?.title ?? '',\n total: prices?.grand_total?.value ?? 0,\n },\n ],\n salesTax: calculateTaxes(prices?.applied_taxes ?? []),\n subtotalExcludingTax: prices?.subtotal_excluding_tax?.value ?? 0,\n subtotalIncludingTax: prices?.subtotal_including_tax?.value ?? 0,\n };\n\n if (hasAddresses) {\n const firstAddress = shippingAddresses[0];\n const selectedShippingMethod = firstAddress?.selectedShippingMethod;\n\n if (selectedShippingMethod) {\n orderContext.shipping = buildShippingMethod(selectedShippingMethod);\n }\n }\n\n return orderContext;\n}\n\n/**\n * This function sets both ShoppingCart and Order contexts to the ACDL before\n * firing the \"place-order\" event.\n * This code has been extracted from the ContextManager class (included into\n * the Adobe Commerce Events SDK package) and adapted in order to use directly\n * the ACDL own API methods.\n *\n * Code based on:\n * ContextManager.ts::setShoppingCart(context: ShoppingCart): void\n * ContextManager.ts::setOrder(context: Order): void\n *\n * @param {string} orderId The order ID generated when placed the order.\n * @returns {void}\n *\n * ContextManager class @see https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/ContextManager.ts\n */\nfunction setContext(orderId: string): void {\n const { data } = cartSignal.value;\n\n const shoppingCartContext = buildShoppingCartContext(data!);\n const orderContext = buildOrderContext(orderId, data!);\n\n window.adobeDataLayer = window.adobeDataLayer || [];\n\n // First of all it deletes the previously added data layer context entries\n window.adobeDataLayer.push(\n { shoppingCartContext: null },\n { orderContext: null }\n );\n\n // and finally it adds the specific data layer context entries for that request\n window.adobeDataLayer.push({ shoppingCartContext }, { orderContext });\n}\n\n/**\n * This function publishes the \"place-order\" event pushing it to the ACDL (a\n * plain JavaScript Array that serves as a queue).\n * This code has been extracted from the PublishManager class (included into\n * the Adobe Commerce Events SDK package) and adapted in order to use directly\n * the ACDL own API methods.\n *\n * Code based on:\n * PublishManager.ts::placeOrder(context?: CustomContext): void\n *\n * @returns {void}\n *\n * PublishManager class @see https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/PublishManager.ts\n */\nfunction publishPlaceOrderEvent(): void {\n window.adobeDataLayer = window.adobeDataLayer || [];\n\n /*global AdobeClientDataLayer */\n /*eslint no-undef: \"error\"*/\n window.adobeDataLayer.push((acdl: AdobeClientDataLayer) => {\n const state = acdl.getState() || {};\n\n acdl.push({\n event: 'place-order',\n eventInfo: {\n ...state,\n },\n });\n });\n}\n\n/**\n * \"completeCheckout\" is a Commerce event available when it's installed the\n * Data Connection extension. The data this event collects is sent to the Adobe\n * Experience Platform edge.\n *\n * This is a Storefront event that collects anonymized behavioral data from the\n * shoppers as they browse the site. The data this event collects can be used\n * to create promotions and campaigns targeted to a specific set of shoppers.\n * Storefront event data includes simple and configurable products only.\n *\n * \"completeCheckout\" is triggered when the shopper places an order.\n *\n * The code access directly the Adobe Client Data Layer (ACDL) package instead\n * of using the Adobe Commerce Events SDK package, because the ACDL reduces the\n * effort to instrument websites by providing a standardized method to expose\n * and access any kind of data for any script. It consists of a JavaScript\n * client-side event-driven data store that can be used on web pages:\n *\n * - to collect data about what the visitors experience on the web page\n * - to communicate this data to digital analytics and reporting servers\n *\n * @param {string} orderId The order ID generated when placed the order.\n * @returns {void}\n *\n * Data Connection Events documentation @see https://experienceleague.adobe.com/docs/commerce-merchant-services/data-connection/event-forwarding/events.html?lang=en#completecheckout\n * Adobe Commerce Events SDK GitHub repo @see https://github.com/adobe/commerce-events\n * Adobe Client Data Layer documentation @see https://github.com/adobe/adobe-client-data-layer/wiki\n * Adobe Client Data Layer GitHub repo @see https://github.com/adobe/adobe-client-data-layer\n */\nexport function completeCheckout(orderId: string): void {\n setContext(orderId);\n publishPlaceOrderEvent();\n}\n","import { PlaceOrderMutation } from '@/checkout/__generated__/types';\nimport {\n FetchError,\n MissingCart,\n UnexpectedError,\n} from '@/checkout/api/errors';\nimport { fetchGraphQl } from '@/checkout/api/fetch-graphql';\nimport { placeOrderMutation } from '@/checkout/api/placeOrder/graphql';\nimport { handleNetworkError } from '@/checkout/lib/network-error';\nimport { completeCheckout } from '@/checkout/utils/storefrontEvents';\nimport { events } from '@adobe/event-bus';\nimport { FetchQueryError } from '@adobe/fetch-graphql';\n\nfunction handleErrors(errors: FetchQueryError) {\n const isFetchError = errors.every((error) => error.extensions?.category);\n\n if (isFetchError) throw new FetchError(errors);\n\n throw new UnexpectedError(errors[0].message);\n}\n\nexport const placeOrder = async (cartId: string) => {\n if (!cartId) throw new MissingCart();\n\n const { data, errors } = await fetchGraphQl<PlaceOrderMutation>(\n placeOrderMutation,\n {\n variables: { cartId },\n }\n ).catch(handleNetworkError)\n\n if (errors) handleErrors(errors);\n\n const order = data.placeOrder!.orderV2;\n\n completeCheckout(order!.number);\n\n // Emit the order to the checkout/order event\n events.emit('checkout/order', order); \n // Reset the cart after the order is placed\n events.emit('cart/reset', undefined); \n};\n"],"names":["isValidCustomAttribute","attribute","transformCustomAttributesV2","data","filter","map","code","value","transformCustomerAddress","street","Boolean","regionId","region","region_id","hasRegionId","id","String","firstName","firstname","lastName","lastname","company","undefined","city","postCode","postcode","vatId","vat_id","telephone","region_code","name","country","country_code","label","customAttributes","custom_attributesV2","transformCustomerAddresses","transformDefaultAddress","type","address","find","transformCustomer","addresses","email","defaultBillingAddress","defaultShippingAddress","getCart","cartId","dispatchApiCall","query","getCartQuery","getCustomerCartQuery","options","method","cache","variables","path","signalType","transformer","transformCart","getCustomerQuery","getCustomer","CART_STOCK_STATUS_FRAGMENT","getCartStockStatusQuery","getCustomerCartStockStatusQuery","isProductInStock","product","stock_status","ProductStockStatus","InStock","simpleStockChecker","item","configStockChecker","configurable_options","variants","selectedOptions","option","configurable_product_option_value_uid","selectedVariant","variant","attributes","every","includes","uid","variantProduct","bundleStockChecker","bundle_options","items","bundle","length","getStockChecker","isOutOfStock","__typename","getStockStatus","errors","fetchGraphQl","catch","handleNetworkError","FetchError","cartItems","cart","OutOfStock","placeOrderMutation","mapConfigurableOptions","result","key","push","optionLabel","valueLabel","mapCartItems","sku","price","quantity","cartItem","canApplyMsrp","formattedPrice","prices","currency","productId","productType","kind","canonicalUrl","url","mainImageUrl","image","src","ItemKind","Configurable","configurableOptions","buildShoppingCartContext","totalQty","hasItems","shoppingCartContext","subtotalExcludingTax","subtotal_excluding_tax","subtotalIncludingTax","subtotal_including_tax","totalQuantity","possibleOnepageCheckout","calculateTaxes","taxes","totalTaxAmount","reduce","total","tax","amount","buildShippingMethod","shippingMethod","carrier","shippingAmount","buildOrderContext","orderId","coupons","selectedPaymentMethod","shippingAddresses","hasAddresses","orderContext","appliedCouponCode","grandTotal","grand_total","orderType","otherTax","paymentMethodCode","paymentMethodName","title","payments","salesTax","applied_taxes","firstAddress","selectedShippingMethod","shipping","setContext","cartSignal","adobeDataLayer","window","publishPlaceOrderEvent","acdl","state","getState","event","eventInfo","completeCheckout","handleErrors","isFetchError","error","extensions","category","UnexpectedError","message","placeOrder","MissingCart","order","orderV2","number","emit"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setBillingAddress.js","sources":["../../src/api/setBillingAddress/graphql/setBillingAddress.graphql.ts","../../src/api/setBillingAddress/setBillingAddress.ts"],"sourcesContent":["import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setBillingAddressMutation = /* GraphQL */ `\n mutation setBillingAddress($cartId: String!, $input: BillingAddressInput!) {\n setBillingAddressOnCart(\n input: { cart_id: $cartId, billing_address: $input }\n ) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import { MissingBillingAddress, MissingCart } from '@/checkout/api/errors';\nimport { setBillingAddressMutation } from '@/checkout/api/setBillingAddress/graphql/setBillingAddress.graphql';\nimport { AddressInput } from '@/checkout/api/setShippingAddress';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/index';\n\nexport interface BillingAddressInput {\n address?: AddressInput;\n customer_address_id?: number;\n same_as_shipping?: boolean;\n use_for_shipping?: boolean;\n}\n\nexport const setBillingAddress = async ({\n signal,\n cartId,\n input,\n}: {\n signal?: AbortSignal;\n cartId: string;\n input: BillingAddressInput;\n}) => {\n const { address, same_as_shipping } = input;\n\n if (!cartId) throw new MissingCart();\n if (!same_as_shipping && !address) throw new MissingBillingAddress();\n\n return await dispatchApiCall({\n type: 'mutation',\n query: setBillingAddressMutation,\n options: { signal, variables: { cartId, input } },\n path: 'setBillingAddressOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["setBillingAddressMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","setBillingAddress","signal","cartId","input","address","same_as_shipping","MissingCart","MissingBillingAddress","dispatchApiCall","type","query","options","variables","path","signalType","transformer","transformCart"],"mappings":"qJAKaA,MAAAA,EAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYnDC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECLZC,EAAoB,MAAO,CACtCC,OAAAA,EACAC,OAAAA,EACAC,MAAAA,CAKF,IAAM,CACE,KAAA,CAAEC,QAAAA,EAASC,iBAAAA,CAAqBF,EAAAA,EAEtC,GAAI,CAACD,EAAQ,MAAM,IAAII,EACnB,GAAA,CAACD,GAAoB,CAACD,EAAS,MAAM,IAAIG,EAE7C,OAAO,MAAMC,EAAgB,CAC3BC,KAAM,WACNC,MAAOb,EACPc,QAAS,CAAEV,OAAAA,EAAQW,UAAW,CAAEV,OAAAA,EAAQC,MAAAA,CAAM,CAAE,EAChDU,KAAM,+BACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setGuestEmailOnCart.js","sources":["../../src/data/transforms/transform-email-availability.ts","../../src/api/isEmailAvailable/graphql/isEmailAvailable.graphql.ts","../../src/api/isEmailAvailable/isEmailAvailable.ts","../../src/api/setGuestEmailOnCart/graphql/setGuestEmailOnCart.graphql.ts","../../src/api/setGuestEmailOnCart/setGuestEmailOnCart.ts"],"sourcesContent":["import { IsEmailAvailableQuery } from '@/checkout/__generated__/types';\nimport { EmailAvailability } from '@/checkout/data/models';\n\nconst transformEmailAvailability = (\n data: IsEmailAvailableQuery['isEmailAvailable']\n): EmailAvailability => {\n return Boolean(data?.is_email_available);\n};\n\nexport { transformEmailAvailability };\n","export const isEmailAvailableQuery = /* GraphQL */`\n query isEmailAvailable($email: String!) {\n isEmailAvailable(email: $email) {\n is_email_available\n }\n }\n`;\n","import { IsEmailAvailableQuery } from '@/checkout/__generated__/types';\nimport { fetchGraphQl } from '@/checkout/api';\nimport { MissingEmail } from '@/checkout/api/errors';\nimport { isEmailAvailableQuery } from '@/checkout/api/isEmailAvailable/graphql/isEmailAvailable.graphql';\nimport { EmailAvailability } from '@/checkout/data/models/email-availability';\nimport { transformEmailAvailability } from '@/checkout/data/transforms/transform-email-availability';\nimport { handleFetchErrors } from '@/checkout/lib/fetch-error';\nimport { handleNetworkError } from '@/checkout/lib/network-error';\n\nexport const isEmailAvailable = async (\n email: string\n): Promise<EmailAvailability> => {\n if (!email) throw new MissingEmail();\n\n const { data, errors } = await fetchGraphQl<IsEmailAvailableQuery>(\n isEmailAvailableQuery,\n {\n method: 'GET',\n cache: 'no-cache',\n variables: { email },\n }\n ).catch(handleNetworkError);\n\n if (errors) handleFetchErrors(errors);\n\n return transformEmailAvailability(data.isEmailAvailable);\n};\n","import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setGuestEmailMutation = /* GraphQL */ `\n mutation setGuestEmail($cartId: String!, $email: String!) {\n setGuestEmailOnCart(input: { cart_id: $cartId, email: $email }) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import { MissingCart } from '@/checkout/api/errors';\nimport { setGuestEmailMutation } from '@/checkout/api/setGuestEmailOnCart/graphql/setGuestEmailOnCart.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/index';\n\nexport type SetGuestEmailOnCartInput = {\n cartId: string;\n email: string;\n};\n\nexport const setGuestEmailOnCart = async ({\n cartId,\n email,\n}: SetGuestEmailOnCartInput) => {\n if (!cartId) throw new MissingCart();\n\n return await dispatchApiCall({\n type: 'mutation',\n query: setGuestEmailMutation,\n options: { variables: { cartId, email } },\n path: 'setGuestEmailOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["transformEmailAvailability","data","Boolean","is_email_available","isEmailAvailableQuery","isEmailAvailable","email","MissingEmail","errors","fetchGraphQl","method","cache","variables","catch","handleNetworkError","handleFetchErrors","setGuestEmailMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","setGuestEmailOnCart","cartId","MissingCart","dispatchApiCall","type","query","options","path","signalType","transformer","transformCart"],"mappings":"8MAGA,MAAMA,EACJC,GAEOC,GAAQD,GAAAA,MAAAA,EAAME,oBCNVC,EAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECSrCC,EAAmB,MAC9BC,GAC+B,CAC/B,GAAI,CAACA,EAAO,MAAM,IAAIC,EAEhB,KAAA,CAAEN,KAAAA,EAAMO,OAAAA,CAAAA,EAAW,MAAMC,EAC7BL,EACA,CACEM,OAAQ,MACRC,MAAO,WACPC,UAAW,CAAEN,MAAAA,CAAM,CAAA,CAEvB,EAAEO,MAAMC,CAAkB,EAEtBN,OAAAA,GAAQO,EAAkBP,CAAM,EAE7BR,EAA2BC,EAAKI,gBAAgB,CACzD,ECrBaW,EAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAU/CC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECNZC,EAAsB,MAAO,CACxCC,OAAAA,EACAd,MAAAA,CACwB,IAAM,CAC9B,GAAI,CAACc,EAAQ,MAAM,IAAIC,EAEvB,OAAO,MAAMC,EAAgB,CAC3BC,KAAM,WACNC,MAAOR,EACPS,QAAS,CAAEb,UAAW,CAAEQ,OAAAA,EAAQd,MAAAA,CAAM,CAAE,EACxCoB,KAAM,2BACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setPaymentMethod.js","sources":["../../src/api/setPaymentMethod/graphql/setPaymentMethod.graphql.ts","../../src/api/setPaymentMethod/setPaymentMethod.ts"],"sourcesContent":["import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setPaymentMethodMutation = /* GraphQL */ `\n mutation setPaymentMethod($cartId: String!, $paymentMethod: String!) {\n setPaymentMethodOnCart(\n input: { cart_id: $cartId, payment_method: { code: $paymentMethod } }\n ) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import { MissingCart, MissingPaymentMethod } from '@/checkout/api/errors';\nimport { setPaymentMethodMutation } from '@/checkout/api/setPaymentMethod/graphql/setPaymentMethod.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/index';\n\nexport const setPaymentMethod = async ({\n cartId,\n paymentMethod,\n}: {\n cartId: string;\n paymentMethod: string;\n}) => {\n if (!cartId) throw new MissingCart();\n if (!paymentMethod) throw new MissingPaymentMethod();\n\n return await dispatchApiCall({\n type: 'mutation',\n query: setPaymentMethodMutation,\n options: { variables: { cartId, paymentMethod } },\n path: 'setPaymentMethodOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["setPaymentMethodMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","setPaymentMethod","cartId","paymentMethod","MissingCart","MissingPaymentMethod","dispatchApiCall","type","query","options","variables","path","signalType","transformer","transformCart"],"mappings":"qJAKaA,MAAAA,EAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYlDC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECbZC,EAAmB,MAAO,CACrCC,OAAAA,EACAC,cAAAA,CAIF,IAAM,CACJ,GAAI,CAACD,EAAQ,MAAM,IAAIE,EACvB,GAAI,CAACD,EAAe,MAAM,IAAIE,EAE9B,OAAO,MAAMC,EAAgB,CAC3BC,KAAM,WACNC,MAAOV,EACPW,QAAS,CAAEC,UAAW,CAAER,OAAAA,EAAQC,cAAAA,CAAc,CAAE,EAChDQ,KAAM,8BACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setShippingAddress.js","sources":["../../src/utils/parseRegionId/parseRegionId.ts","../../src/api/setShippingAddress/graphql/setShippingAddress.graphql.ts","../../src/api/setShippingAddress/setShippingAddress.ts"],"sourcesContent":["const NUMERIC_ID_REGEX = /^\\d+$/;\n\nexport const parseRegionId = (regionId: string) => {\n const isId = NUMERIC_ID_REGEX.test(regionId);\n if (!isId) return;\n return parseInt(regionId, 10);\n}\n","import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setShippingAddressMutation = /* GraphQL */ `\n mutation setShippingAddress($cartId: String!, $address: CartAddressInput!) {\n setShippingAddressesOnCart(\n input: { cart_id: $cartId, shipping_addresses: [{ address: $address }] }\n ) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import {\n MULTILINE_CUSTOM_ATTR_SPLIT,\n MULTILINE_SUFFIX,\n} from '@/checkout/components/AddressForm/constants';\nimport { getMultilineValues, parseRegionId } from '@/checkout/utils';\nimport { setShippingAddressMutation } from './graphql/setShippingAddress.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms';\nimport { AddressFormFieldCode } from '@/checkout/data/models';\n\nexport const STANDARD_ATTRIBUTES = [\n 'city',\n 'company',\n 'country_code',\n 'firstname',\n 'lastname',\n 'postcode',\n 'region',\n 'region_id',\n 'save_in_address_book',\n 'street',\n 'telephone',\n 'vat_id',\n];\n\nexport interface AddressInput {\n city: string;\n company?: string;\n country_code: string;\n custom_attributes?: {\n attribute_code: string;\n value?: string;\n selected_options?: { uid: string; value: string }[];\n }[];\n firstname: string;\n lastname: string;\n postcode?: string;\n region?: string;\n region_id?: number;\n save_in_address_book?: boolean;\n street: string[];\n telephone?: string;\n vat_id?: string;\n}\n\nexport interface setShippingAddressParams {\n cartId: string;\n address: AddressInput;\n signal?: AbortSignal;\n}\n\n/*\n Region and Region_id are mutually exclusive.\n If region_id is set, region is ignored.\n\n Region could be required for some countries, but not for others. It is required if the country_id is in\n the store configuration \"countries_with_required_region\"\n\n If region is optional and the store configuration \"display_state_if_optional\" is set to true, the region field\n will be displayed as a text input if there is no country.available_regions is empty. If it is set to false,\n the region field will be hidden.\n*/\n\nexport const prepareAddress = (formFields: Record<string, any>) => {\n const address: AddressInput = {\n city: formFields[AddressFormFieldCode.City],\n company: formFields[AddressFormFieldCode.Company],\n country_code: formFields[AddressFormFieldCode.Country],\n firstname: formFields[AddressFormFieldCode.FirstName],\n lastname: formFields[AddressFormFieldCode.LastName],\n postcode: formFields[AddressFormFieldCode.PostCode],\n save_in_address_book: true,\n street: getMultilineValues(AddressFormFieldCode.Street, formFields),\n telephone: formFields[AddressFormFieldCode.Telephone],\n vat_id: formFields[AddressFormFieldCode.Vat],\n };\n\n const region = formFields[AddressFormFieldCode.Region];\n const regionId = parseRegionId(region);\n\n if (!regionId) {\n address.region = region;\n } else {\n address.region_id = regionId;\n }\n\n const custom_attributes = Object.keys(formFields)\n .filter((key) => !key.startsWith('street'))\n .filter((key) => !STANDARD_ATTRIBUTES.includes(key))\n .filter((key) => key !== 'country_id')\n .map((key) => {\n const [code, multiline] = key.split(MULTILINE_SUFFIX);\n if (!multiline) return { attribute_code: code, value: formFields[key] };\n const value = getMultilineValues(code, formFields).join(\n MULTILINE_CUSTOM_ATTR_SPLIT\n );\n return { attribute_code: code, value };\n });\n\n // it is possible to have duplicated multiline custom attributes\n const without_duplicates = custom_attributes.filter(\n (item, index, self) =>\n index === self.findIndex((t) => t.attribute_code === item.attribute_code)\n );\n\n if (without_duplicates.length > 0) {\n address.custom_attributes = without_duplicates;\n }\n\n return address;\n};\n\nexport const setShippingAddress = async ({\n signal,\n cartId,\n address,\n}: setShippingAddressParams) => {\n return await dispatchApiCall({\n type: 'mutation',\n query: setShippingAddressMutation,\n options: { signal, variables: { cartId, address } },\n path: 'setShippingAddressesOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["NUMERIC_ID_REGEX","parseRegionId","regionId","test","parseInt","setShippingAddressMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","STANDARD_ATTRIBUTES","prepareAddress","formFields","address","city","AddressFormFieldCode","City","company","Company","country_code","Country","firstname","FirstName","lastname","LastName","postcode","PostCode","save_in_address_book","street","getMultilineValues","Street","telephone","Telephone","vat_id","Vat","region","Region","region_id","without_duplicates","Object","keys","filter","key","startsWith","includes","map","code","multiline","split","MULTILINE_SUFFIX","attribute_code","value","join","MULTILINE_CUSTOM_ATTR_SPLIT","item","index","self","findIndex","t","length","custom_attributes","setShippingAddress","signal","cartId","dispatchApiCall","type","query","options","variables","path","signalType","transformer","transformCart"],"mappings":"4OAAA,MAAMA,EAAmB,QAEZC,EAAiBC,GAAsB,CAElD,GADaF,EAAiBG,KAAKD,CAAQ,EAEpCE,OAAAA,SAASF,EAAU,EAAE,CAC9B,ECDaG,EAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYpDC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECRZC,EAAsB,CACjC,OACA,UACA,eACA,YACA,WACA,WACA,SACA,YACA,uBACA,SACA,YACA,QAAQ,EAyCGC,EAAkBC,GAAoC,CACjE,MAAMC,EAAwB,CAC5BC,KAAMF,EAAWG,EAAqBC,IAAI,EAC1CC,QAASL,EAAWG,EAAqBG,OAAO,EAChDC,aAAcP,EAAWG,EAAqBK,OAAO,EACrDC,UAAWT,EAAWG,EAAqBO,SAAS,EACpDC,SAAUX,EAAWG,EAAqBS,QAAQ,EAClDC,SAAUb,EAAWG,EAAqBW,QAAQ,EAClDC,qBAAsB,GACtBC,OAAQC,EAAmBd,EAAqBe,OAAQlB,CAAU,EAClEmB,UAAWnB,EAAWG,EAAqBiB,SAAS,EACpDC,OAAQrB,EAAWG,EAAqBmB,GAAG,CAAA,EAGvCC,EAASvB,EAAWG,EAAqBqB,MAAM,EAC/ChC,EAAWD,EAAcgC,CAAM,EAEhC/B,EAGHS,EAAQwB,UAAYjC,EAFpBS,EAAQsB,OAASA,EAmBnB,MAAMG,EAdoBC,OAAOC,KAAK5B,CAAU,EAC7C6B,OAAQC,GAAQ,CAACA,EAAIC,WAAW,QAAQ,CAAC,EACzCF,OAAQC,GAAQ,CAAChC,EAAoBkC,SAASF,CAAG,CAAC,EAClDD,OAAQC,GAAQA,IAAQ,YAAY,EACpCG,IAAaH,GAAA,CACZ,KAAM,CAACI,EAAMC,CAAS,EAAIL,EAAIM,MAAMC,CAAgB,EACpD,GAAI,CAACF,EAAkB,MAAA,CAAEG,eAAgBJ,EAAMK,MAAOvC,EAAW8B,CAAG,CAAA,EACpE,MAAMS,EAAQtB,EAAmBiB,EAAMlC,CAAU,EAAEwC,KACjDC,CACF,EACO,MAAA,CAAEH,eAAgBJ,EAAMK,MAAAA,CAAAA,CAAM,CACtC,EAG0CV,OAC3C,CAACa,EAAMC,EAAOC,IACZD,IAAUC,EAAKC,UAAiBC,GAAAA,EAAER,iBAAmBI,EAAKJ,cAAc,CAC5E,EAEIZ,OAAAA,EAAmBqB,OAAS,IAC9B9C,EAAQ+C,kBAAoBtB,GAGvBzB,CACT,EAEagD,EAAqB,MAAO,CACvCC,OAAAA,EACAC,OAAAA,EACAlD,QAAAA,CACwB,IACjB,MAAMmD,EAAgB,CAC3BC,KAAM,WACNC,MAAO3D,EACP4D,QAAS,CAAEL,OAAAA,EAAQM,UAAW,CAAEL,OAAAA,EAAQlD,QAAAA,CAAQ,CAAE,EAClDwD,KAAM,kCACNC,WAAY,OACZC,YAAaC,CAAAA,CACd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setShippingMethods.js","sources":["../../src/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql.ts","../../src/api/setShippingMethods/setShippingMethods.ts"],"sourcesContent":["import {\n CART_DATA_FRAGMENT,\n CART_SUMMARY_FRAGMENT,\n} from '@/checkout/api/getCart/graphql/getCart.graphql';\n\nexport const setShippingMethodsMutation = /* GraphQL */ `\n mutation setShippingMethods(\n $cartId: String!\n $shippingMethods: [ShippingMethodInput]!\n ) {\n setShippingMethodsOnCart(\n input: { cart_id: $cartId, shipping_methods: $shippingMethods }\n ) {\n cart {\n id\n ...CartData\n ...CartSummaryItems\n }\n }\n }\n ${CART_DATA_FRAGMENT}\n ${CART_SUMMARY_FRAGMENT}\n`;\n","import { SetShippingMethodsOnCartInput } from '@/checkout/__generated__/types';\nimport { MissingCart } from '@/checkout/api';\nimport { setShippingMethodsMutation } from '@/checkout/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql';\nimport { dispatchApiCall } from '@/checkout/api/utils/dispatchApiCall';\nimport { transformCart } from '@/checkout/data/transforms/index';\n\nexport type SetShippingMethodsOnCartInputs = {\n cartId: string;\n shippingMethods: SetShippingMethodsOnCartInput['shipping_methods'];\n};\n\nexport const setShippingMethodsOnCart = async ({\n cartId,\n shippingMethods,\n}: SetShippingMethodsOnCartInputs) => {\n if (!cartId) throw new MissingCart();\n\n return dispatchApiCall({\n type: 'mutation',\n query: setShippingMethodsMutation,\n options: { variables: { cartId, shippingMethods } },\n path: 'setShippingMethodsOnCart.cart',\n signalType: 'cart',\n transformer: transformCart,\n });\n};\n"],"names":["setShippingMethodsMutation","CART_DATA_FRAGMENT","CART_SUMMARY_FRAGMENT","setShippingMethodsOnCart","cartId","shippingMethods","MissingCart","dispatchApiCall","type","query","options","variables","path","signalType","transformer","transformCart"],"mappings":"kLAKaA,MAAAA,EAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAepDC,CAAkB;AAAA,IAClBC,CAAqB;AAAA,ECVZC,EAA2B,MAAO,CAC7CC,OAAAA,EACAC,gBAAAA,CAC8B,IAAM,CACpC,GAAI,CAACD,EAAQ,MAAM,IAAIE,EAEvB,OAAOC,EAAgB,CACrBC,KAAM,WACNC,MAAOT,EACPU,QAAS,CAAEC,UAAW,CAAEP,OAAAA,EAAQC,gBAAAA,CAAgB,CAAE,EAClDO,KAAM,gCACNC,WAAY,OACZC,YAAaC,CAAAA,CACd,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform-shipping-methods.js","sources":["../../src/api/errors/errors.ts","../../src/signals/EstimateShippingMethodsSignal.ts","../../src/signals/RegionsSignal.ts","../../src/api/utils/enqueueRequest.ts","../../src/api/utils/filterControlledErrors.ts","../../src/api/utils/dispatchApiCall.ts","../../src/data/transforms/transform-shipping-methods.ts"],"sourcesContent":["import { FetchQueryError } from '@adobe/fetch-graphql';\n\nexport class FetchError extends Error {\n constructor(reasons: FetchQueryError) {\n super(reasons.map((e: any) => e.message).join(' '));\n this.name = 'FetchError';\n }\n}\n\nexport class InvalidArgument extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidArgument';\n }\n}\n\nexport class UnexpectedError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'UnexpectedError';\n }\n}\n\nexport class MissingCart extends InvalidArgument {\n constructor() {\n super('Cart ID is required');\n }\n}\nexport class MissingEmail extends InvalidArgument {\n constructor() {\n super('Email is required');\n }\n}\n\nexport class MissingPaymentMethod extends InvalidArgument {\n constructor() {\n super('Payment method code is required');\n }\n}\n\nexport class MissingBillingAddress extends InvalidArgument {\n constructor() {\n super('Billing address is required');\n }\n}\n\nexport class MissingCountry extends InvalidArgument {\n constructor() {\n super('Country Code is required');\n }\n}\n","import { signal } from '@preact/signals';\nimport { ShippingMethod } from '@/checkout/data/models';\n\nexport const estimateShippingMethodsSignal = signal<{\n pending: boolean;\n data?: ShippingMethod[];\n}>({ pending: false, data: undefined });\n","import { AddressFormType } from '@/checkout/data/models';\nimport { Region as RegionModel } from '@/checkout/data/models/region';\nimport { signal } from '@preact/signals';\n\nexport const regionsSignal = signal<{\n addressType?: AddressFormType;\n country?: string;\n selectedRegion?: string;\n selectedRegionId?: string;\n pending: boolean;\n data?: RegionModel[];\n}>({ pending: false, data: undefined });\n","const requestsQueue: (() => Promise<any>)[] = [];\n\nexport function enqueueRequest<T>(requestFn: () => Promise<T>): Promise<T> {\n return new Promise((resolve, reject) => {\n requestsQueue.push(requestFn);\n\n const waitForTurnAndSendRequest = () => {\n if (requestsQueue[0] === requestFn) {\n requestFn()\n .then(resolve)\n .catch(reject)\n .finally(() => requestsQueue.shift());\n } else {\n setTimeout(waitForTurnAndSendRequest, 100);\n }\n };\n\n waitForTurnAndSendRequest();\n });\n}\n","import { FetchQueryError } from '@adobe/fetch-graphql';\n\ntype ErrorPath = (string | number)[];\n\nexport type ErrorWithPath = FetchQueryError[number] & {\n path?: ErrorPath;\n};\n\nconst controlledErrorProps: string[] = ['sender_email', 'recipient_email'];\n\n/**\n * Filters out errors with known paths from a list of errors generated by a GraphQL query.\n *\n * Known issue: The query does not differentiate between physical and virtual gift cards, leading\n * to errors for physical ones as they don't have 'sender_email' and 'recipient_email' properties.\n *\n * @param {ErrorWithPath[]} errors - Array of errors to be filtered.\n * @return {ErrorWithPath[]} Uncontrolled (unexpected) errors not matching predefined paths.\n */\n\nexport function filterControlledErrors(errors: ErrorWithPath[]) {\n return errors.filter(\n (error) =>\n !error.path ||\n !controlledErrorProps.some((controlledErrorProp) => {\n return error.path?.at(-1) === controlledErrorProp;\n })\n );\n}\n","import { FetchError, fetchGraphQl } from '@/checkout/api';\nimport { handleNetworkError } from '@/checkout/lib/network-error';\nimport {\n cartSignal,\n regionsSignal,\n estimateShippingMethodsSignal,\n customerSignal,\n} from '@/checkout/signals';\n\nimport { FetchOptions, FetchQueryError } from '@adobe/fetch-graphql';\nimport { enqueueRequest } from '@/checkout/api/utils/enqueueRequest';\nimport { filterControlledErrors } from '@/checkout/api/utils/filterControlledErrors';\n\nconst signalTypes = {\n cart: cartSignal,\n regions: regionsSignal,\n estimateShippingMethods: estimateShippingMethodsSignal,\n customer: customerSignal,\n};\n\ntype SignalTypesType = typeof signalTypes;\ntype SignalTypesKeys = keyof SignalTypesType;\ntype SignalDataMap = {\n [K in SignalTypesKeys]: SignalTypesType[K]['value']['data'];\n};\ntype DispatchApiCallParams<T extends SignalTypesKeys> = {\n type: 'query' | 'mutation';\n query: string;\n options?: FetchOptions;\n path: string;\n signalType: T;\n transformer?: (data: any) => SignalDataMap[T];\n};\n\nexport function getValueAtPath(obj: any, path: string) {\n return path\n .split('.')\n .reduce(\n (acc, part) => (acc && acc[part] !== undefined ? acc[part] : undefined),\n obj\n );\n}\n\nconst latestCall: Record<SignalTypesKeys, Symbol | null> = {\n cart: null,\n customer: null,\n estimateShippingMethods: null,\n regions: null,\n};\n\nasync function dispatchApiCall<T extends SignalTypesKeys>(\n params: DispatchApiCallParams<T>\n): Promise<SignalDataMap[T]> {\n const { query, options, path, signalType, type, transformer } = params;\n const signal = signalTypes[signalType];\n const currentCall = Symbol();\n\n latestCall[signalType] = currentCall;\n\n signal.value = { ...signal.value, pending: true };\n\n try {\n const { data, errors } = await (type === 'mutation'\n ? enqueueRequest(() =>\n fetchGraphQl(query, options).catch(handleNetworkError)\n )\n : fetchGraphQl(query, {\n method: 'GET',\n cache: 'no-cache',\n ...options,\n }).catch(handleNetworkError));\n\n if (errors) {\n const uncontrolledErrors = filterControlledErrors(errors);\n\n if (uncontrolledErrors.length > 0) {\n throw new FetchError(uncontrolledErrors as FetchQueryError);\n }\n }\n\n let result = getValueAtPath(data, path);\n if (result === undefined) throw new Error(`No data found at path: ${path}`);\n if (transformer) result = transformer(result);\n\n signal.value = { ...signal.value, data: result };\n\n // to avoid flickering of the pending state when there are multiple sequential calls\n setTimeout(() => {\n signal.value = {\n ...signal.value,\n pending:\n latestCall[signalType] === currentCall ? false : signal.value.pending,\n };\n }, 0);\n\n return result;\n } catch (error: any) {\n if (error.name === 'AbortError') return;\n signal.value = { ...signal.value, pending: false };\n throw error;\n }\n}\n\nexport { dispatchApiCall };\n","import { ShippingMethod } from '@/checkout/data/models/shipping-method';\nimport { GetCartQuery } from '@/checkout/__generated__/types';\nimport { isNullish } from '@/checkout/utils/isNullish';\n\ntype Cart = NonNullable<GetCartQuery['cart']>;\ntype ShippingAddresses = Cart['shipping_addresses'];\ntype ShippingAddress = NonNullable<NonNullable<ShippingAddresses>[number]>;\ntype AvailableShippingMethods = ShippingAddress['available_shipping_methods'];\ntype AvailableShippingMethod = NonNullable<AvailableShippingMethods>[number];\ntype SelectedShippingMethod = ShippingAddress['selected_shipping_method'];\n\ntype FilteredShippingMethod = Omit<\n NonNullable<AvailableShippingMethod>,\n 'method_code' | 'method_title' | 'amount'\n> & {\n method_code: string;\n method_title: string;\n amount: {\n value: number;\n currency: string;\n };\n};\n\nconst byPrice = (a: ShippingMethod, b: ShippingMethod) =>\n a.amount.value - b.amount.value;\n\nconst isValid = (method: AvailableShippingMethod | SelectedShippingMethod) => {\n if (!method) return false;\n if (!method.method_code || !method.method_title) return false;\n if (isNullish(method.amount.value) || !method.amount.currency) return false;\n return true;\n};\n\nconst buildShippingMethod = (data: FilteredShippingMethod): ShippingMethod => {\n return {\n amount: {\n value: data.amount.value,\n currency: data.amount.currency,\n },\n title: data.method_title,\n code: data.method_code,\n carrier: {\n code: data.carrier_code,\n title: data.carrier_title,\n },\n value: `${data.carrier_code} - ${data.method_code}`,\n };\n};\n\nexport const transformSelectedShippingMethod = (\n data: SelectedShippingMethod\n): ShippingMethod | undefined => {\n if (!isValid(data)) return;\n return buildShippingMethod(data as FilteredShippingMethod);\n};\n\nexport const transformAvailableShippingMethod = (\n data: AvailableShippingMethod\n): ShippingMethod | undefined => {\n if (!isValid(data)) return;\n return buildShippingMethod(data as FilteredShippingMethod);\n};\n\nexport const transformShippingMethods = (\n data: AvailableShippingMethods\n): ShippingMethod[] | undefined => {\n if (!data) return;\n\n return data\n .filter(isValid)\n .map((method) => buildShippingMethod(method as FilteredShippingMethod))\n .sort(byPrice);\n};\n"],"names":["FetchError","Error","constructor","reasons","map","e","message","join","name","InvalidArgument","UnexpectedError","MissingCart","MissingEmail","MissingPaymentMethod","MissingBillingAddress","MissingCountry","estimateShippingMethodsSignal","signal","pending","data","undefined","regionsSignal","requestsQueue","enqueueRequest","requestFn","Promise","resolve","reject","push","waitForTurnAndSendRequest","then","catch","finally","shift","setTimeout","controlledErrorProps","filterControlledErrors","errors","filter","error","path","some","controlledErrorProp","at","signalTypes","cart","cartSignal","regions","estimateShippingMethods","customer","customerSignal","getValueAtPath","obj","split","reduce","acc","part","latestCall","dispatchApiCall","params","query","options","signalType","type","transformer","currentCall","Symbol","value","fetchGraphQl","handleNetworkError","method","cache","uncontrolledErrors","length","result","byPrice","a","b","amount","isValid","method_code","method_title","isNullish","currency","buildShippingMethod","title","code","carrier","carrier_code","carrier_title","transformSelectedShippingMethod","transformShippingMethods","sort"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BillToShippingAddress.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BillingForm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{C as b,C as c,u as g}from"../chunks/CartSummary.js";import"@dropins/tools/lib.js";import"../chunks/ToggleButton.js";import"@dropins/tools/event-bus.js";import"../chunks/getStoreConfig.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/getMultilineValues.js";import"../chunks/transform-shipping-methods.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/cart-item.js";export{b as CartSummary,c as default,g as useCartSummary};
|
|
2
|
-
//# sourceMappingURL=CartSummary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CartSummary.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","sources":["../../node_modules/@adobe/elsie/src/icons/Cart.svg","../../node_modules/@adobe/elsie/src/icons/OrderError.svg","../../src/components/EmptyCart/EmptyCart.tsx","../../src/components/OutOfStock/OutOfStock.tsx","../../src/components/ServerError/ServerError.tsx","../../src/containers/Checkout/constants.ts","../../src/hooks/useAuthentication/useAuthentication.tsx","../../src/containers/Checkout/Checkout.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgCart = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_102_196)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M18.3601 18.16H6.5601L4.8801 3H2.3501M19.6701 19.59C19.6701 20.3687 19.0388 21 18.2601 21C17.4814 21 16.8501 20.3687 16.8501 19.59C16.8501 18.8113 17.4814 18.18 18.2601 18.18C19.0388 18.18 19.6701 18.8113 19.6701 19.59ZM7.42986 19.59C7.42986 20.3687 6.79858 21 6.01986 21C5.24114 21 4.60986 20.3687 4.60986 19.59C4.60986 18.8113 5.24114 18.18 6.01986 18.18C6.79858 18.18 7.42986 18.8113 7.42986 19.59Z\", stroke: \"currentColor\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M5.25 6.37L20.89 8.06L20.14 14.8H6.19\", stroke: \"currentColor\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_102_196\" }, /* @__PURE__ */ React.createElement(\"rect\", { vectorEffect: \"non-scaling-stroke\", width: 19.29, height: 19.5, fill: \"white\", transform: \"translate(2.3501 2.25)\" }))));\nexport default SvgCart;\n","import * as React from \"react\";\nconst SvgOrderError = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_4797_15331)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M10.25 20.91L1.5 17.55V6.51996L10.25 9.92996V20.91Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.24023 4.64001L14.9902 8.06001V11.42\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"error-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M19 13.31L15.5 19.37H22.5L19 13.31Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"error-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M19.0202 17.11H18.9802L18.9502 15.56H19.0502L19.0202 17.11ZM18.9602 18.29V18.06H19.0502V18.29H18.9602Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M19 12.16V6.51996L10.25 9.92996V20.91L14.27 19.37L14.4 19.32\", stroke: \"currentColor\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M1.5 6.51999L10.25 3.04999L19 6.51999L10.25 9.92999L1.5 6.51999Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_4797_15331\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 22, height: 18.86, fill: \"white\", transform: \"translate(1 2.54999)\" }))));\nexport default SvgOrderError;\n","import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/EmptyCart/EmptyCart.css';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { Cart } from '@adobe/elsie/icons';\nimport { useText } from '@adobe/elsie/i18n';\n\nexport interface EmptyCartProps extends HTMLAttributes<HTMLDivElement> {\n title?: string;\n routeHome?: () => string;\n}\n\nexport const EmptyCart: FunctionComponent<EmptyCartProps> = ({\n className,\n title,\n routeHome,\n ...props\n}) => {\n const translations = useText({\n Title: 'Checkout.EmptyCart.title',\n Button: 'Checkout.EmptyCart.button',\n });\n\n return (\n <IllustratedMessage\n {...props}\n data-testid=\"checkout-empty-cart\"\n className={classes(['checkout-empty-cart', className])}\n heading={title ?? translations.Title}\n icon={\n <Icon\n className={classes(['checkout-empty-cart__icon'])}\n source={Cart}\n />\n }\n action={\n routeHome?.() ? (\n <Button\n className=\"checkout-empty-cart__button\"\n size=\"medium\"\n variant=\"primary\"\n key=\"routeHome\"\n type=\"submit\"\n href={routeHome?.()}\n >\n {translations.Button}\n </Button>\n ) : undefined\n }\n />\n );\n};\n","import { FunctionComponent, JSX } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/OutOfStock/OutOfStock.css';\nimport { Text, useText } from '@adobe/elsie/i18n';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { OrderError } from '@adobe/elsie/icons';\n\nexport interface OutOfStockProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'icon'> {\n icon?: FunctionComponent<JSX.SVGAttributes<SVGElement>>;\n routeCart?: () => string;\n}\n\nexport const OutOfStock: FunctionComponent<OutOfStockProps> = ({\n className,\n icon,\n routeCart,\n ...props\n}) => {\n const translations = useText({\n Title: 'Checkout.OutOfStock.title',\n Message: 'Checkout.OutOfStock.message',\n });\n\n return (\n <div\n {...props}\n className={classes(['checkout-out-of-stock', className])}\n data-testid=\"checkout-out-of-stock\"\n >\n <IllustratedMessage\n heading={translations.Title}\n message={<p>{translations.Message}</p>}\n icon={\n <Icon\n source={icon ?? OrderError}\n className={classes(['checkout-out-of-stock__icon'])}\n />\n }\n />\n\n {routeCart?.() && (\n <Button\n className=\"checkout-out-of-stock__button\"\n size=\"medium\"\n variant=\"primary\"\n key=\"routeCart\"\n type=\"submit\"\n href={routeCart?.()}\n >\n <Text id=\"Checkout.OutOfStock.button\" />\n </Button>\n )}\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/ServerError/ServerError.css';\nimport { MarkupText, useText } from '@adobe/elsie/i18n';\nimport { Button, Icon, IllustratedMessage } from '@adobe/elsie/components';\nimport { OrderError } from '@adobe/elsie/icons';\n\nexport interface ServerErrorProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'icon'> {\n errorMessage: string;\n contactSupport?: string;\n onClick?: (e: any) => void;\n}\n\nexport const ServerError: FunctionComponent<ServerErrorProps> = ({\n className,\n errorMessage,\n contactSupport,\n ...props\n}) => {\n const { onClick } = props;\n\n const translations = useText({\n Title: 'Checkout.ServerError.title',\n Message: 'Checkout.ServerError.message',\n ContactSupport: 'Checkout.ServerError.contactSupport',\n Button: 'Checkout.ServerError.button',\n });\n\n return (\n <IllustratedMessage\n aria-invalid=\"true\"\n aria-describedby=\"checkout-server-error__message\"\n aria-live=\"polite\"\n className={classes(['checkout-server-error', className])}\n data-testid=\"checkout-server-error\"\n heading={errorMessage ?? translations.Title}\n message={\n <p id={classes(['checkout-server-error__message'])}>\n {translations.Message}\n <br />\n <MarkupText id=\"\">\n {contactSupport ?? translations.ContactSupport}\n </MarkupText>\n </p>\n }\n icon={\n <Icon\n className={classes(['checkout-server-error__icon'])}\n source={OrderError}\n />\n }\n action={\n <Button\n className={classes(['checkout-server-error__button'])}\n onClick={onClick}\n >\n {translations.Button}\n </Button>\n }\n />\n );\n};\n","export const OUT_OF_STOCK = 'OUT_OF_STOCK';\n","import { useEffect } from 'preact/hooks';\nimport { events } from '@adobe/event-bus';\nimport { isAuthenticatedSignal } from '@/checkout/signals/AuthenticationSignal';\nimport { CheckoutEvent, useCheckoutState } from '@/checkout/context/checkout';\n\nexport function useAuthentication() {\n const { dispatch } = useCheckoutState();\n\n useEffect(() => {\n const onAuthenticated = events.on(\n 'authenticated',\n (isAuthenticated) => {\n isAuthenticatedSignal.value = isAuthenticated;\n\n if (isAuthenticated)\n dispatch({ type: CheckoutEvent.USER_AUTHENTICATED });\n else dispatch({ type: CheckoutEvent.USER_UNAUTHENTICATED });\n },\n { eager: true }\n );\n\n return () => {\n onAuthenticated?.off();\n };\n }, [dispatch]);\n}\n","import { ProductStockStatus } from '@/checkout/__generated__/types';\nimport {\n getCart,\n getCustomer,\n getStockStatus,\n placeOrder,\n UnexpectedError,\n} from '@/checkout/api';\nimport {\n Checkout as CheckoutComponent,\n EmptyCart,\n OutOfStock,\n ServerError,\n} from '@/checkout/components';\nimport {\n BillingForm,\n BillToShippingAddress,\n CartSummary,\n ErrorBanner,\n LoginForm as Login,\n OrderSummary,\n PaymentMethods,\n PlaceOrder,\n ShippingForm,\n ShippingMethods,\n} from '@/checkout/containers';\nimport { PaymentMethodSlotContext } from '@/checkout/containers/PaymentMethods';\nimport {\n CheckoutEvent,\n CheckoutState,\n useCheckoutState,\n} from '@/checkout/context/checkout';\nimport { useAuthentication } from '@/checkout/hooks/useAuthentication';\nimport { cartSignal, isBillToShippingSignal } from '@/checkout/signals';\nimport { isAuthenticatedSignal } from '@/checkout/signals/AuthenticationSignal';\nimport { useText } from '@adobe/elsie/i18n';\nimport { classes, Slot, SlotProps } from '@adobe/elsie/lib';\nimport { events } from '@adobe/event-bus';\nimport {\n HTMLAttributes,\n useCallback,\n useEffect,\n useState,\n} from 'preact/compat';\nimport { Divider } from '@adobe/elsie/components';\n\nexport type PreselectedAddressFields = {\n countryCode?: string;\n region?: string;\n postCode?: string;\n};\n\nexport type PreselectedShippingMethod = {\n carrierCode: string;\n methodCode: string;\n};\n\nexport type PreselectedCartData = {\n address?: PreselectedAddressFields;\n shippingMethod?: PreselectedShippingMethod;\n};\n\nexport interface CheckoutProps extends HTMLAttributes<HTMLDivElement> {\n routeHome?: () => string;\n routeCart?: () => string;\n slots?: {\n BillingForm?: SlotProps;\n BillToShipping?: SlotProps;\n CartSummary?: SlotProps;\n Login?: SlotProps;\n OrderSummary?: SlotProps;\n PaymentMethods?: SlotProps<PaymentMethodSlotContext>;\n PlaceOrder?: SlotProps;\n ShippingForm?: SlotProps;\n ShippingMethods?: SlotProps;\n };\n preselectedCartData?: PreselectedCartData;\n onSignInClick?: () => void;\n onSignOutClick?: () => void;\n}\n\nexport const Checkout = (props: CheckoutProps) => {\n const {\n className,\n slots,\n routeHome,\n routeCart,\n preselectedCartData,\n onSignInClick,\n onSignOutClick,\n ...restProps\n } = props;\n const { state, dispatch } = useCheckoutState();\n\n const [serverError, setServerError] = useState('');\n const hasErrors = serverError !== '';\n\n const [handlePlaceOrder, setHandlePlaceOrder] =\n useState<() => Promise<void> | undefined>();\n\n const [hasOutOfStock, setHasOutOfStock] = useState(false);\n\n const cart = cartSignal.value.data;\n const isVirtual = Boolean(cart?.virtual);\n\n const translations = useText({\n CheckoutUnexpectedError: 'Checkout.ServerError.unexpected',\n });\n\n const defaultPlaceOrderHandler = useCallback(async () => {\n if (!cart) return;\n await placeOrder(cart.id);\n cartSignal.value = { pending: false };\n dispatch({ type: CheckoutEvent.ORDER_PLACED });\n }, [cart, dispatch]);\n\n const onPlaceOrder = (fn: () => Promise<void>) => {\n setHandlePlaceOrder(() => fn);\n };\n\n const dismissError = async () => {\n setServerError('');\n if (!cart) return;\n\n if (isAuthenticatedSignal.value) {\n await loadCustomerData();\n } else {\n await loadGuestData(cart.id);\n }\n };\n\n const handleServerError = (error: any) => {\n setServerError(\n error instanceof TypeError || error instanceof UnexpectedError\n ? translations.CheckoutUnexpectedError\n : error.message\n );\n };\n\n const loadGuestData = useCallback(\n async (cartId: string) => {\n const cart = await getCart(cartId);\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: cart });\n },\n [dispatch]\n );\n\n const loadCustomerData = useCallback(async () => {\n const cart = await getCart();\n await getCustomer();\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: cart });\n }, [dispatch]);\n\n const checkStockStatus = async (cartId?: string) => {\n const result = await getStockStatus(cartId);\n setHasOutOfStock(result === ProductStockStatus.OutOfStock);\n };\n\n useAuthentication();\n\n useEffect(() => {\n const onCartData = events.on(\n 'cart/data',\n (cart) => {\n if (isAuthenticatedSignal.value) {\n loadCustomerData();\n checkStockStatus();\n return;\n }\n\n if (cart && cart.id) {\n cartSignal.value = { ...cartSignal.value, pending: true };\n loadGuestData(cart.id);\n checkStockStatus(cart.id);\n return;\n }\n\n cartSignal.value = { data: null, pending: false };\n dispatch({ type: CheckoutEvent.CART_UPDATED, payload: null });\n },\n { eager: true }\n );\n\n return () => {\n onCartData?.off();\n };\n }, [dispatch, loadCustomerData, loadGuestData]);\n\n if (state === CheckoutState.COMPLETE) {\n return null;\n }\n\n if (state === CheckoutState.EMPTY) {\n return <EmptyCart routeHome={routeHome} />;\n }\n\n if (hasErrors) {\n return <ServerError errorMessage={serverError} onClick={dismissError} />;\n }\n\n const renderMain = () => {\n if (hasOutOfStock) {\n return (\n <CheckoutComponent.Main\n outOfStock={<OutOfStock routeCart={routeCart} />}\n />\n );\n }\n\n const billingAddressVisibilityToggle = isBillToShippingSignal.value.checked\n ? 'checkout-billing-form__hidden'\n : 'checkout-billing-form__visible';\n\n return (\n <CheckoutComponent.Main\n sections={{\n billingAddress: (\n <>\n <Slot\n name=\"BillingForm\"\n className={billingAddressVisibilityToggle}\n slot={slots?.BillingForm}\n >\n <BillingForm />\n </Slot>\n <Divider\n className={classes([\n `${billingAddressVisibilityToggle}`,\n 'checkout-billing-form__divider',\n ])}\n variant=\"primary\"\n />\n </>\n ),\n billToShippingAddress: isVirtual ? undefined : (\n <Slot name=\"BillToShipping\" slot={slots?.BillToShipping}>\n <BillToShippingAddress />\n </Slot>\n ),\n login: (\n <Slot name=\"Login\" slot={slots?.Login}>\n <Login\n onSignInClick={onSignInClick}\n onSignOutClick={() => {\n dispatch({ type: CheckoutEvent.USER_SIGN_OUT });\n onSignOutClick?.();\n }}\n />\n </Slot>\n ),\n paymentMethods: (\n <PaymentMethods\n isShippingInfoRequired={!isVirtual}\n onPlaceOrder={onPlaceOrder}\n handleServerError={handleServerError}\n paymentMethodsSlot={slots?.PaymentMethods}\n />\n ),\n placeOrder: (\n <PlaceOrder\n onClick={handlePlaceOrder ?? defaultPlaceOrderHandler}\n handleServerError={handleServerError}\n />\n ),\n shippingAddress: isVirtual ? undefined : (\n <Slot name=\"ShippingForm\" slot={slots?.ShippingForm}>\n <ShippingForm preselectedFields={preselectedCartData?.address} />\n </Slot>\n ),\n shippingMethods: isVirtual ? undefined : (\n <Slot name=\"ShippingMethods\" slot={slots?.ShippingMethods}>\n <ShippingMethods\n preSelectedMethod={preselectedCartData?.shippingMethod}\n />\n </Slot>\n ),\n }}\n />\n );\n };\n\n const renderAside = () => {\n return (\n <CheckoutComponent.Aside\n sections={{\n cartSummary: (\n <Slot name=\"CartSummary\" slot={slots?.CartSummary}>\n <CartSummary routeCart={routeCart} />\n </Slot>\n ),\n orderSummary: (\n <Slot name=\"OrderSummary\" slot={slots?.OrderSummary}>\n <OrderSummary />\n </Slot>\n ),\n }}\n />\n );\n };\n\n return (\n <CheckoutComponent\n className={className}\n banner={<ErrorBanner />}\n isLoading={state === CheckoutState.LOADING}\n {...restProps}\n >\n {renderAside()}\n {renderMain()}\n </CheckoutComponent>\n );\n};\n"],"names":["SvgCart","props","React","SvgOrderError","EmptyCart","className","title","routeHome","translations","useText","Title","Button","_jsx","IllustratedMessage","classes","heading","icon","Icon","source","Cart","action","size","variant","type","href","children","undefined","OutOfStock","routeCart","Message","_jsxs","message","OrderError","Text","id","ServerError","errorMessage","contactSupport","onClick","ContactSupport","MarkupText","OUT_OF_STOCK","useAuthentication","dispatch","useCheckoutState","useEffect","onAuthenticated","events","on","isAuthenticated","isAuthenticatedSignal","value","CheckoutEvent","USER_AUTHENTICATED","USER_UNAUTHENTICATED","eager","off","Checkout","slots","preselectedCartData","onSignInClick","onSignOutClick","restProps","state","serverError","setServerError","useState","hasErrors","handlePlaceOrder","setHandlePlaceOrder","hasOutOfStock","setHasOutOfStock","cart","cartSignal","data","isVirtual","Boolean","virtual","CheckoutUnexpectedError","defaultPlaceOrderHandler","useCallback","placeOrder","pending","ORDER_PLACED","onPlaceOrder","fn","dismissError","loadCustomerData","loadGuestData","handleServerError","error","TypeError","UnexpectedError","cartId","getCart","CART_UPDATED","payload","getCustomer","checkStockStatus","result","getStockStatus","ProductStockStatus","onCartData","CheckoutState","COMPLETE","EMPTY","renderMain","CheckoutComponent","Main","outOfStock","billingAddressVisibilityToggle","isBillToShippingSignal","checked","sections","billingAddress","_Fragment","Slot","name","slot","BillingForm","Divider","billToShippingAddress","BillToShipping","BillToShippingAddress","login","Login","USER_SIGN_OUT","paymentMethods","PaymentMethods","isShippingInfoRequired","paymentMethodsSlot","PlaceOrder","shippingAddress","ShippingForm","preselectedFields","address","shippingMethods","ShippingMethods","preSelectedMethod","shippingMethod","renderAside","Aside","cartSummary","CartSummary","orderSummary","OrderSummary","banner","ErrorBanner","isLoading","LOADING"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBanner.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoginForm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{O as b,O as c,u as g}from"../chunks/OrderSummary.js";import"../chunks/ToggleButton.js";import"@dropins/tools/event-bus.js";import"../chunks/getStoreConfig.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact-jsx-runtime.js";import"../chunks/getMultilineValues.js";import"../chunks/transform-shipping-methods.js";import"@dropins/tools/lib.js";import"@dropins/tools/i18n.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact-compat.js";import"../chunks/SelectedShippingMethodSignal.js";export{b as OrderSummary,c as default,g as useOrderSummary};
|
|
2
|
-
//# sourceMappingURL=OrderSummary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderSummary.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethods.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlaceOrder.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShippingForm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShippingMethods.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/render.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sources":["../src/lib/localStorage.ts","../src/services/backup.ts","../node_modules/deepmerge/dist/cjs.js","../src/render/Provider.tsx","../src/render/render.tsx"],"sourcesContent":["import { Repository } from '@/checkout/services/backup';\n\nexport class LocalStorage implements Repository {\n isAvailable(): boolean {\n return !!window.localStorage;\n }\n\n getKeys(): string[] {\n if (!this.isAvailable()) return [];\n return Object.keys(window.localStorage);\n }\n\n setItem(key: string, value: string): void {\n if (!this.isAvailable()) return;\n window.localStorage.setItem(key, value);\n }\n\n getItem(key: string): string | null {\n if (!this.isAvailable()) return null;\n return window.localStorage.getItem(key);\n }\n\n removeItem(key: string): void {\n if (!this.isAvailable()) return;\n window.localStorage.removeItem(key);\n }\n}\n","export interface Repository {\n getKeys(): string[];\n getItem(key: string): string | null;\n setItem(key: string, value: string): void;\n removeItem(key: string): void;\n}\n\nexport class BackupService {\n private namespace: string;\n private repository: Repository;\n\n constructor(namespace: string, repository: Repository) {\n this.namespace = namespace;\n this.repository = repository;\n }\n\n private namespaced(key: string): string {\n return `${this.namespace}:${key}`;\n }\n\n public backup<T>(key: string, value: T): void {\n return this.repository.setItem(this.namespaced(key), JSON.stringify(value));\n }\n\n public restore<T>(key: string): T | null {\n const value = this.repository.getItem(this.namespaced(key));\n if (!value) return null;\n return JSON.parse(value);\n }\n\n public remove(key: string): void {\n return this.repository.removeItem(this.namespaced(key));\n }\n\n public clear(): void {\n this.repository\n .getKeys()\n .filter((key) => key.startsWith(this.namespace))\n .forEach((key) => {\n this.repository.removeItem(key);\n });\n }\n}\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import { config } from '@/checkout/api';\nimport {\n AddressFormFieldsProvider,\n CheckoutStateProvider,\n CountriesProvider,\n ServicesProvider,\n StoreProvider,\n} from '@/checkout/context';\nimport { LocalStorage } from '@/checkout/lib';\nimport { BackupService } from '@/checkout/services';\nimport { UIProvider } from '@adobe/elsie/components';\nimport { Lang } from '@adobe/elsie/i18n';\nimport { deepmerge } from '@adobe/elsie/lib/deepmerge';\nimport { events } from '@adobe/event-bus';\nimport { FunctionComponent } from 'preact';\nimport { useEffect, useMemo, useState } from 'preact/hooks';\n\nimport en_US from '../i18n/en_US.json';\n\n// Langs\nconst langDefinitions = {\n default: en_US,\n};\n\ninterface IntlProviderProps {\n children?: any;\n}\n\nexport const IntlProvider: FunctionComponent<IntlProviderProps> = ({\n children,\n}) => {\n const [locale, setLang] = useState<Lang>();\n\n const userLangDefinitions = config.getConfig()?.langDefinitions;\n\n useEffect(() => {\n const localeEvent = events.on(\n 'locale',\n (payload) => {\n if (payload !== locale) setLang(payload as Lang);\n },\n { eager: true }\n );\n return () => {\n localeEvent?.off();\n };\n }, [locale]);\n\n // Merge language definitions with user language definitions\n const definitions = deepmerge(langDefinitions, userLangDefinitions ?? {});\n\n return (\n <UIProvider lang={locale} langDefinitions={definitions}>\n {children}\n </UIProvider>\n );\n};\n\nexport const DataProvider: FunctionComponent<IntlProviderProps> = ({\n children,\n}) => {\n const backupService = useMemo(() => {\n return new BackupService('DROPIN__CHECKOUT', new LocalStorage());\n }, []);\n\n return (\n <ServicesProvider services={{ backupService }}>\n <StoreProvider>\n <AddressFormFieldsProvider>\n <CountriesProvider>\n <CheckoutStateProvider>{children}</CheckoutStateProvider>\n </CountriesProvider>\n </AddressFormFieldsProvider>\n </StoreProvider>\n </ServicesProvider>\n );\n};\n\nexport const Provider: FunctionComponent<IntlProviderProps> = ({\n children,\n}) => {\n return (\n <DataProvider>\n <IntlProvider>{children}</IntlProvider>\n </DataProvider>\n );\n};\n","if (process.env.NODE_ENV === 'development') {\n // Must use require here as import statements are only allowed to exist at top-level.\n require('preact/debug');\n}\n\nimport { Render } from '@adobe/elsie/lib';\nimport { Provider } from './Provider';\nexport { Provider };\nexport const render = new Render(<Provider />);\n"],"names":["LocalStorage","isAvailable","window","localStorage","getKeys","Object","keys","setItem","key","value","getItem","removeItem","BackupService","constructor","namespace","repository","namespaced","backup","JSON","stringify","restore","parse","remove","clear","filter","startsWith","forEach","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","val","cloneUnlessOtherwiseSpecified","options","deepmerge","defaultArrayMerge","target","source","element","getMergeFunction","customMerge","getEnumerableOwnPropertySymbols","symbol","propertyIsOnObject","object","property","propertyIsUnsafe","mergeObject","destination","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","array","prev","next","deepmerge_1","cjs","langDefinitions","default","en_US","IntlProvider","children","locale","setLang","useState","userLangDefinitions","config","getConfig","useEffect","localeEvent","events","on","payload","eager","off","definitions","_jsx","UIProvider","lang","DataProvider","backupService","useMemo","ServicesProvider","services","StoreProvider","AddressFormFieldsProvider","CountriesProvider","CheckoutStateProvider","Provider","render","Render"],"mappings":"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","x_google_ignoreList":[2]}
|